serai/docs/protocol/Constants.md
Luke Parker 9f143a9742
Replace "coin" with "network"
The Processor's coins folder referred to the networks it could process, as did
its Coin trait. This, and other similar cases throughout the codebase, have now
been corrected.

Also corrects dated documentation for a key pair is confirmed under the
validator-sets pallet.
2023-07-30 16:11:30 -04:00

1.8 KiB

Constants

Types

These are the list of types used to represent various properties within the protocol.

Alias Type
SeraiAddress sr25519::Public (unchecked [u8; 32] wrapper)
Amount u64
NetworkId u16
Coin u32
Network Vec
Session u32
Validator Set (Session, NetworkId)
Key BoundedVec<u8, 96>
KeyPair (SeraiAddress, Key)
ExternalAddress BoundedVec<u8, 128>
Data BoundedVec<u8, 512>

Networks

Every network connected to Serai operates over a specific curve. The processor generates a distinct set of keys per network. Beyond the key-generation itself being isolated, the generated keys are further bound to their respective networks via an additive offset created by hashing the network's name (among other properties). The network's key is used for all coins on that network.

Network Curve ID
Serai Ristretto 0
Bitcoin Secp256k1 1
Ethereum Secp256k1 2
Monero Ed25519 3

Coins

Coins exist over a network and have a distinct integer ID.

Coin Network ID
Serai Serai 0
Bitcoin Bitcoin 1
Ether Ethereum 2
DAI Ethereum 3
Monero Monero 4