Expand description
Common primitives for subspace domain runtime.
Modules§
- Opaque types.
Structs§
- A fully Ethereum-compatible
AccountId
. Conforms to H160 address and ECDSA key standards. Alternative to H256->H160 mapping. - An AccountId20 to MultiAccount converter.
- An AccountId32 to MultiAccount converter.
Enums§
- MultiAccountId used by all the domains to describe their account type.
Constants§
- Fully qualified method name of check_extrinsics_and_do_pre_dispatch runtime api. Used to call state machine. Change it when the runtime api’s name is changed in the interface.
- Default version of the Extension used to construct the inherited implication for legacy transactions.
- Custom error when balance overflow occurs.
- Custom error when a user tries to create a contract, but their account is not on the allow list.
- Custom error when nonce overflow occurs.
- Computed as ED = Account data size * Price per byte, where Price per byte = Min Number of validators * Storage duration (years) * Storage cost per year Account data size (80 bytes) Min Number of redundant validators (10) - For a stable and redundant blockchain we need at least a certain number of full nodes/collators. Storage duration (1 year) - It is theoretically unlimited, accounts will stay around while the chain is alive. Storage cost per year of (12 * 1e-9 * 0.1 ) - SSD storage on cloud hosting costs about 0.1 USD per Gb per month
- Dispatch ratio for domains
- Slot duration that is same as consensus chain runtime.
Traits§
- Extracts the signer from an unchecked extrinsic.
- Extensible conversion trait. Generic over both source and destination types.
Functions§
- Maximum block length for all dispatches. This is set to 3.75 MiB since consensus chain supports on 3.75 MiB for normal
- The maximum domain block weight with 3.25 MiB as proof size Consensus allows 3.75 MiB but Fraud proof can carry extra size along with proof size So we set the proof size to 3.25 MiB
Type Aliases§
- Some way of identifying an account on the chain. We intentionally make it equivalent to the public key of our transaction signing scheme.
- The address format for describing accounts.
- Balance of an account.
- An index to a block.
- The EVM chain Id type
- Some way of identifying an account on the EVM chain. We intentionally make it equivalent to the public key of the EVM transaction signing scheme.
- Alias to 512-bit hash when used in the context of a transaction signature on the EVM chain.
- A hash of some data used by the chain.
- Index of a transaction in the chain.
- Alias to 512-bit hash when used in the context of a transaction signature on the chain.