pub trait OffchainWorker<BlockNumber> {
    // Provided method
    fn offchain_worker(_n: BlockNumber) { ... }
}
Expand description

Off-chain computation trait.

Implementing this trait on a module allows you to perform long-running tasks that make (by default) validators generate transactions that feed results of those long-running computations back on chain.

NOTE: This function runs off-chain, so it can access the block state, but cannot preform any alterations. More specifically alterations are not forbidden, but they are not persisted in any way after the worker has finished.

Provided Methods§

fn offchain_worker(_n: BlockNumber)

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§

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, TupleElement84: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0> OffchainWorker<BlockNumber> for (TupleElement0,)where TupleElement0: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, TupleElement84: OffchainWorker<BlockNumber>, TupleElement85: OffchainWorker<BlockNumber>, TupleElement86: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89, TupleElement90, TupleElement91, TupleElement92, TupleElement93, TupleElement94, TupleElement95> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89, TupleElement90, TupleElement91, TupleElement92, TupleElement93, TupleElement94, TupleElement95)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, TupleElement84: OffchainWorker<BlockNumber>, TupleElement85: OffchainWorker<BlockNumber>, TupleElement86: OffchainWorker<BlockNumber>, TupleElement87: OffchainWorker<BlockNumber>, TupleElement88: OffchainWorker<BlockNumber>, TupleElement89: OffchainWorker<BlockNumber>, TupleElement90: OffchainWorker<BlockNumber>, TupleElement91: OffchainWorker<BlockNumber>, TupleElement92: OffchainWorker<BlockNumber>, TupleElement93: OffchainWorker<BlockNumber>, TupleElement94: OffchainWorker<BlockNumber>, TupleElement95: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89, TupleElement90, TupleElement91> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89, TupleElement90, TupleElement91)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, TupleElement84: OffchainWorker<BlockNumber>, TupleElement85: OffchainWorker<BlockNumber>, TupleElement86: OffchainWorker<BlockNumber>, TupleElement87: OffchainWorker<BlockNumber>, TupleElement88: OffchainWorker<BlockNumber>, TupleElement89: OffchainWorker<BlockNumber>, TupleElement90: OffchainWorker<BlockNumber>, TupleElement91: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14)where 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)where 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66> 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, TupleElement64, TupleElement65, TupleElement66)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12)where 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2)where TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89, TupleElement90, TupleElement91, TupleElement92, TupleElement93, TupleElement94> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89, TupleElement90, TupleElement91, TupleElement92, TupleElement93, TupleElement94)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, TupleElement84: OffchainWorker<BlockNumber>, TupleElement85: OffchainWorker<BlockNumber>, TupleElement86: OffchainWorker<BlockNumber>, TupleElement87: OffchainWorker<BlockNumber>, TupleElement88: OffchainWorker<BlockNumber>, TupleElement89: OffchainWorker<BlockNumber>, TupleElement90: OffchainWorker<BlockNumber>, TupleElement91: OffchainWorker<BlockNumber>, TupleElement92: OffchainWorker<BlockNumber>, TupleElement93: OffchainWorker<BlockNumber>, TupleElement94: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)where TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, TupleElement84: OffchainWorker<BlockNumber>, TupleElement85: OffchainWorker<BlockNumber>, TupleElement86: OffchainWorker<BlockNumber>, TupleElement87: OffchainWorker<BlockNumber>, TupleElement88: OffchainWorker<BlockNumber>, TupleElement89: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89, TupleElement90, TupleElement91, TupleElement92> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89, TupleElement90, TupleElement91, TupleElement92)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, TupleElement84: OffchainWorker<BlockNumber>, TupleElement85: OffchainWorker<BlockNumber>, TupleElement86: OffchainWorker<BlockNumber>, TupleElement87: OffchainWorker<BlockNumber>, TupleElement88: OffchainWorker<BlockNumber>, TupleElement89: OffchainWorker<BlockNumber>, TupleElement90: OffchainWorker<BlockNumber>, TupleElement91: OffchainWorker<BlockNumber>, TupleElement92: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89, TupleElement90> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89, TupleElement90)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, TupleElement84: OffchainWorker<BlockNumber>, TupleElement85: OffchainWorker<BlockNumber>, TupleElement86: OffchainWorker<BlockNumber>, TupleElement87: OffchainWorker<BlockNumber>, TupleElement88: OffchainWorker<BlockNumber>, TupleElement89: OffchainWorker<BlockNumber>, TupleElement90: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65> 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, TupleElement64, TupleElement65)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15)where 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber> OffchainWorker<BlockNumber> for ()where BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)where 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)where TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19)where 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)where TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, TupleElement84: OffchainWorker<BlockNumber>, TupleElement85: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16)where 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)where 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)where TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)where TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, TupleElement2: OffchainWorker<BlockNumber>, TupleElement3: OffchainWorker<BlockNumber>, TupleElement4: OffchainWorker<BlockNumber>, TupleElement5: OffchainWorker<BlockNumber>, TupleElement6: OffchainWorker<BlockNumber>, TupleElement7: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)where 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13)where 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89, TupleElement90, TupleElement91, TupleElement92, TupleElement93> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88, TupleElement89, TupleElement90, TupleElement91, TupleElement92, TupleElement93)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, TupleElement84: OffchainWorker<BlockNumber>, TupleElement85: OffchainWorker<BlockNumber>, TupleElement86: OffchainWorker<BlockNumber>, TupleElement87: OffchainWorker<BlockNumber>, TupleElement88: OffchainWorker<BlockNumber>, TupleElement89: OffchainWorker<BlockNumber>, TupleElement90: OffchainWorker<BlockNumber>, TupleElement91: OffchainWorker<BlockNumber>, TupleElement92: OffchainWorker<BlockNumber>, TupleElement93: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18)where 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1)where TupleElement0: OffchainWorker<BlockNumber>, TupleElement1: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, TupleElement84: OffchainWorker<BlockNumber>, TupleElement85: OffchainWorker<BlockNumber>, TupleElement86: OffchainWorker<BlockNumber>, TupleElement87: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64> 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, TupleElement64)where 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>, TupleElement64: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74, TupleElement75, TupleElement76, TupleElement77, TupleElement78, TupleElement79, TupleElement80, TupleElement81, TupleElement82, TupleElement83, TupleElement84, TupleElement85, TupleElement86, TupleElement87, TupleElement88)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, TupleElement75: OffchainWorker<BlockNumber>, TupleElement76: OffchainWorker<BlockNumber>, TupleElement77: OffchainWorker<BlockNumber>, TupleElement78: OffchainWorker<BlockNumber>, TupleElement79: OffchainWorker<BlockNumber>, TupleElement80: OffchainWorker<BlockNumber>, TupleElement81: OffchainWorker<BlockNumber>, TupleElement82: OffchainWorker<BlockNumber>, TupleElement83: OffchainWorker<BlockNumber>, TupleElement84: OffchainWorker<BlockNumber>, TupleElement85: OffchainWorker<BlockNumber>, TupleElement86: OffchainWorker<BlockNumber>, TupleElement87: OffchainWorker<BlockNumber>, TupleElement88: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17> OffchainWorker<BlockNumber> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17)where 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>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74> 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, TupleElement64, TupleElement65, TupleElement66, TupleElement67, TupleElement68, TupleElement69, TupleElement70, TupleElement71, TupleElement72, TupleElement73, TupleElement74)where 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>, TupleElement64: OffchainWorker<BlockNumber>, TupleElement65: OffchainWorker<BlockNumber>, TupleElement66: OffchainWorker<BlockNumber>, TupleElement67: OffchainWorker<BlockNumber>, TupleElement68: OffchainWorker<BlockNumber>, TupleElement69: OffchainWorker<BlockNumber>, TupleElement70: OffchainWorker<BlockNumber>, TupleElement71: OffchainWorker<BlockNumber>, TupleElement72: OffchainWorker<BlockNumber>, TupleElement73: OffchainWorker<BlockNumber>, TupleElement74: OffchainWorker<BlockNumber>, BlockNumber: Clone,

§

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.

§

impl<BlockNumber, 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> 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 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>, BlockNumber: Clone,

§

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.

Implementors§

§

impl<T> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>where T: Config,