@chainsafe/eth2.0-ssz-types
Version:
SSZ types required for eth2.0
64 lines (63 loc) • 2.13 kB
TypeScript
import { AnyContainerType, AnySSZType } from "@chainsafe/ssz";
export interface IBeaconSSZTypes {
bool: AnySSZType;
bytes4: AnySSZType;
bytes8: AnySSZType;
bytes32: AnySSZType;
bytes48: AnySSZType;
bytes96: AnySSZType;
uint8: AnySSZType;
uint16: AnySSZType;
uint24: AnySSZType;
number64: AnySSZType;
uint64: AnySSZType;
uint256: AnySSZType;
Slot: AnySSZType;
Epoch: AnySSZType;
Shard: AnySSZType;
ValidatorIndex: AnySSZType;
Gwei: AnySSZType;
Hash: AnySSZType;
Version: AnySSZType;
BLSPubkey: AnySSZType;
BLSSignature: AnySSZType;
Fork: AnyContainerType;
Checkpoint: AnyContainerType;
Validator: AnyContainerType;
Crosslink: AnyContainerType;
AttestationData: AnyContainerType;
AttestationDataAndCustodyBit: AnyContainerType;
IndexedAttestation: AnyContainerType;
PendingAttestation: AnyContainerType;
Eth1Data: AnyContainerType;
HistoricalBatch: AnyContainerType;
DepositData: AnyContainerType;
CompactCommittee: AnyContainerType;
BeaconBlockHeader: AnyContainerType;
FFGData: AnyContainerType;
MerkleTree: AnyContainerType;
ProposerSlashing: AnyContainerType;
AttesterSlashing: AnyContainerType;
Attestation: AnyContainerType;
Deposit: AnyContainerType;
VoluntaryExit: AnyContainerType;
Transfer: AnyContainerType;
BeaconBlockBody: AnyContainerType;
BeaconBlock: AnyContainerType;
BeaconState: AnyContainerType;
BlockRootSlot: AnyContainerType;
WireRequest: AnyContainerType;
WireResponse: AnyContainerType;
Hello: AnyContainerType;
Goodbye: AnyContainerType;
Status: AnyContainerType;
BeaconBlockRootsRequest: AnyContainerType;
BeaconBlockRootsResponse: AnyContainerType;
BeaconBlockHeadersRequest: AnyContainerType;
BeaconBlockHeadersResponse: AnyContainerType;
BeaconBlockBodiesRequest: AnyContainerType;
BeaconBlockBodiesResponse: AnyContainerType;
BeaconStatesRequest: AnyContainerType;
BeaconStatesResponse: AnyContainerType;
}
export declare const typeNames: (keyof IBeaconSSZTypes)[];