The system service charged with approving every transaction on a virtual chain (eg. checking subscription).
Implemented on the Native
processor.
- This is a system contract that runs under
System
permissions.
Internal
(caller must be the same service).ReadWrite
(potentially changes state).
- Empty.
External
(caller can be anyone).ReadOnly
(does not change state).
- Get the virtual chain by calling
Environment.GetVirtualChain
. - Read the subscription data from Ethereum by calling
Ethereum.CallContract
.- Optimization: Maintain a cached value of the subscription status, refresh it every 1000 blocks.
- Check if the subscription is valid.