Versions in this module Expand all Collapse all v0 v0.2.0 May 11, 2026 Changes in this version + const CrdsBloomP + const MaxBloomSize + const PacketSize + const PingSize + func BloomMaskBits(numItems, maxItems float64) uint32 + func BloomMaxItems(m, p, k float64) float64 + func BloomNumBits(n, p float64) float64 + func BloomNumKeys(m, n float64) float64 + func DeserializeInstruction(deserializer serde.Deserializer) (solana.CompiledInstruction, error) + func DeserializeTxMessage(deserializer serde.Deserializer) (solana.Message, error) + func FNV1a(slice []byte, hash uint64) uint64 + func HashPingToken(token [32]byte) [32]byte + type Addr struct + func DeserializeAddr(deserializer serde.Deserializer) (sa Addr, err error) + func (a Addr) Serialize(serializer serde.Serializer) error + type BitVecU64 struct + Bits BitVecU64Inner + Len uint64 + func BincodeDeserializeBitVecU64(input []byte) (BitVecU64, error) + func DeserializeBitVecU64(deserializer serde.Deserializer) (BitVecU64, error) + func MakeBitVecU64(bits []uint64, len int) BitVecU64 + func (bv *BitVecU64) Get(pos uint64) bool + func (bv *BitVecU64) Set(pos uint64, b bool) + func (obj *BitVecU64) BincodeSerialize() ([]byte, error) + func (obj *BitVecU64) Serialize(serializer serde.Serializer) error + type BitVecU64Inner struct + Value *[]uint64 + func BincodeDeserializeBitVecU64Inner(input []byte) (BitVecU64Inner, error) + func DeserializeBitVecU64Inner(deserializer serde.Deserializer) (BitVecU64Inner, error) + func (obj *BitVecU64Inner) BincodeSerialize() ([]byte, error) + func (obj *BitVecU64Inner) Serialize(serializer serde.Serializer) error + type BitVecU8 struct + Bits BitVecU8Inner + Len uint64 + func BincodeDeserializeBitVecU8(input []byte) (BitVecU8, error) + func DeserializeBitVecU8(deserializer serde.Deserializer) (BitVecU8, error) + func MakeBitVecU8(bits []byte, len int) BitVecU8 + func (bv *BitVecU8) Get(pos uint64) bool + func (bv *BitVecU8) Set(pos uint64, b bool) + func (obj *BitVecU8) BincodeSerialize() ([]byte, error) + func (obj *BitVecU8) Serialize(serializer serde.Serializer) error + type BitVecU8Inner struct + Value *[]uint8 + func BincodeDeserializeBitVecU8Inner(input []byte) (BitVecU8Inner, error) + func DeserializeBitVecU8Inner(deserializer serde.Deserializer) (BitVecU8Inner, error) + func (obj *BitVecU8Inner) BincodeSerialize() ([]byte, error) + func (obj *BitVecU8Inner) Serialize(serializer serde.Serializer) error + type Bloom struct + Bits BitVecU64 + Keys []uint64 + NumBitsSet uint64 + func BincodeDeserializeBloom(input []byte) (Bloom, error) + func DeserializeBloom(deserializer serde.Deserializer) (Bloom, error) + func NewBloom(numBits uint64, keys []uint64) *Bloom + func NewBloomRandom(numItems uint64, falseRate float64, maxBits uint64) *Bloom + func (b *Bloom) Add(key *Hash) + func (b *Bloom) Clear() + func (b *Bloom) Contains(key *Hash) bool + func (b *Bloom) Pos(key *Hash, k uint64) uint64 + func (obj *Bloom) BincodeSerialize() ([]byte, error) + func (obj *Bloom) Serialize(serializer serde.Serializer) error + type CompressedSlots interface + BincodeSerialize func() ([]byte, error) + Serialize func(serializer serde.Serializer) error + func BincodeDeserializeCompressedSlots(input []byte) (CompressedSlots, error) + func DeserializeCompressedSlots(deserializer serde.Deserializer) (CompressedSlots, error) + type CompressedSlots__Flate2 struct + Value SlotsFlate2 + func (obj *CompressedSlots__Flate2) BincodeSerialize() ([]byte, error) + func (obj *CompressedSlots__Flate2) Serialize(serializer serde.Serializer) error + type CompressedSlots__Uncompressed struct + Value SlotsUncompressed + func (obj *CompressedSlots__Uncompressed) BincodeSerialize() ([]byte, error) + func (obj *CompressedSlots__Uncompressed) Serialize(serializer serde.Serializer) error + type ContactInfo struct + Gossip SocketAddr + Id Pubkey + Repair SocketAddr + Rpc SocketAddr + RpcPubsub SocketAddr + ServeRepair SocketAddr + ShredVersion uint16 + Tpu SocketAddr + TpuForwards SocketAddr + TpuVote SocketAddr + Tvu SocketAddr + TvuForwards SocketAddr + Wallclock uint64 + func BincodeDeserializeContactInfo(input []byte) (ContactInfo, error) + func DeserializeContactInfo(deserializer serde.Deserializer) (ContactInfo, error) + func (obj *ContactInfo) BincodeSerialize() ([]byte, error) + func (obj *ContactInfo) Serialize(serializer serde.Serializer) error + type CrdsData interface + BincodeSerialize func() ([]byte, error) + Pubkey func() *Pubkey + Serialize func(serializer serde.Serializer) error + func BincodeDeserializeCrdsData(input []byte) (CrdsData, error) + func DeserializeCrdsData(deserializer serde.Deserializer) (CrdsData, error) + type CrdsData__AccountsHashes struct + Value SnapshotHashes + func (obj *CrdsData__AccountsHashes) BincodeSerialize() ([]byte, error) + func (obj *CrdsData__AccountsHashes) Pubkey() *Pubkey + func (obj *CrdsData__AccountsHashes) Serialize(serializer serde.Serializer) error + type CrdsData__ContactInfo struct + Value ContactInfo + func (obj *CrdsData__ContactInfo) BincodeSerialize() ([]byte, error) + func (obj *CrdsData__ContactInfo) Pubkey() *Pubkey + func (obj *CrdsData__ContactInfo) Serialize(serializer serde.Serializer) error + type CrdsData__DuplicateShred struct + Field0 uint16 + Field1 DuplicateShred + func (obj *CrdsData__DuplicateShred) BincodeSerialize() ([]byte, error) + func (obj *CrdsData__DuplicateShred) Pubkey() *Pubkey + func (obj *CrdsData__DuplicateShred) Serialize(serializer serde.Serializer) error + type CrdsData__EpochSlots struct + Field0 uint8 + Field1 EpochSlots + func (obj *CrdsData__EpochSlots) BincodeSerialize() ([]byte, error) + func (obj *CrdsData__EpochSlots) Pubkey() *Pubkey + func (obj *CrdsData__EpochSlots) Serialize(serializer serde.Serializer) error + type CrdsData__IncrementalSnapshotHashes struct + Value IncrementalSnapshotHashes + func (obj *CrdsData__IncrementalSnapshotHashes) BincodeSerialize() ([]byte, error) + func (obj *CrdsData__IncrementalSnapshotHashes) Pubkey() *Pubkey + func (obj *CrdsData__IncrementalSnapshotHashes) Serialize(serializer serde.Serializer) error + type CrdsData__LegacyVersion struct + Commit *uint32 + From Pubkey + Major uint16 + Minor uint16 + Patch uint16 + Wallclock uint64 + func (obj *CrdsData__LegacyVersion) BincodeSerialize() ([]byte, error) + func (obj *CrdsData__LegacyVersion) Pubkey() *Pubkey + func (obj *CrdsData__LegacyVersion) Serialize(serializer serde.Serializer) error + type CrdsData__LowestSlot struct + Field0 uint8 + Field1 LowestSlot + func (obj *CrdsData__LowestSlot) BincodeSerialize() ([]byte, error) + func (obj *CrdsData__LowestSlot) Pubkey() *Pubkey + func (obj *CrdsData__LowestSlot) Serialize(serializer serde.Serializer) error + type CrdsData__NodeInstance struct + From Pubkey + Timestamp uint64 + Token uint64 + Wallclock uint64 + func (obj *CrdsData__NodeInstance) BincodeSerialize() ([]byte, error) + func (obj *CrdsData__NodeInstance) Pubkey() *Pubkey + func (obj *CrdsData__NodeInstance) Serialize(serializer serde.Serializer) error + type CrdsData__SnapshotHashes struct + Value SnapshotHashes + func (obj *CrdsData__SnapshotHashes) BincodeSerialize() ([]byte, error) + func (obj *CrdsData__SnapshotHashes) Pubkey() *Pubkey + func (obj *CrdsData__SnapshotHashes) Serialize(serializer serde.Serializer) error + type CrdsData__Version struct + Commit *uint32 + FeatureSet uint32 + From Pubkey + Major uint16 + Minor uint16 + Patch uint16 + Wallclock uint64 + func (obj *CrdsData__Version) BincodeSerialize() ([]byte, error) + func (obj *CrdsData__Version) Pubkey() *Pubkey + func (obj *CrdsData__Version) Serialize(serializer serde.Serializer) error + type CrdsData__Vote struct + Field0 uint8 + Field1 Vote + func (obj *CrdsData__Vote) BincodeSerialize() ([]byte, error) + func (obj *CrdsData__Vote) Pubkey() *Pubkey + func (obj *CrdsData__Vote) Serialize(serializer serde.Serializer) error + type CrdsFilter struct + Filter Bloom + Mask uint64 + MaskBits uint32 + func BincodeDeserializeCrdsFilter(input []byte) (CrdsFilter, error) + func DeserializeCrdsFilter(deserializer serde.Deserializer) (CrdsFilter, error) + func (f *CrdsFilter) Contains(item *Hash) bool + func (f *CrdsFilter) TestMask(item *Hash) bool + func (obj *CrdsFilter) BincodeSerialize() ([]byte, error) + func (obj *CrdsFilter) Serialize(serializer serde.Serializer) error + type CrdsFilterSet []CrdsFilter + func NewCrdsFilterSet(numItems, maxBytes uint64) CrdsFilterSet + func (c CrdsFilterSet) Add(h Hash) + type CrdsValue struct + Data CrdsData + Signature Signature + func BincodeDeserializeCrdsValue(input []byte) (CrdsValue, error) + func DeserializeCrdsValue(deserializer serde.Deserializer) (CrdsValue, error) + func (c *CrdsValue) Sign(identity ed25519.PrivateKey) error + func (c *CrdsValue) VerifySignature() bool + func (obj *CrdsValue) BincodeSerialize() ([]byte, error) + func (obj *CrdsValue) Serialize(serializer serde.Serializer) error + type Driver struct + func NewDriver(handler *Handler, so *net.UDPConn) *Driver + func (c *Driver) Run(ctx context.Context) error + type DuplicateShred struct + Chunk []uint8 + ChunkIndex uint8 + From Pubkey + NumChunks uint8 + ShredIndex uint32 + ShredType uint8 + Slot uint64 + Wallclock uint64 + func BincodeDeserializeDuplicateShred(input []byte) (DuplicateShred, error) + func DeserializeDuplicateShred(deserializer serde.Deserializer) (DuplicateShred, error) + func (obj *DuplicateShred) BincodeSerialize() ([]byte, error) + func (obj *DuplicateShred) Serialize(serializer serde.Serializer) error + type EpochSlots struct + From Pubkey + Slots []CompressedSlots + Wallclock uint64 + func BincodeDeserializeEpochSlots(input []byte) (EpochSlots, error) + func DeserializeEpochSlots(deserializer serde.Deserializer) (EpochSlots, error) + func (obj *EpochSlots) BincodeSerialize() ([]byte, error) + func (obj *EpochSlots) Serialize(serializer serde.Serializer) error + type Handler struct + func (h *Handler) Close() + func (h *Handler) HandlePacket(packet []byte, from netip.AddrPort) + type Hash [32]uint8 + func BincodeDeserializeHash(input []byte) (Hash, error) + func DeserializeHash(deserializer serde.Deserializer) (Hash, error) + func (h Hash) MarshalText() ([]byte, error) + func (obj *Hash) BincodeSerialize() ([]byte, error) + func (obj *Hash) Serialize(serializer serde.Serializer) error + type IncrementalSnapshotHashes struct + Base SlotHash + From Pubkey + Hashes []SlotHash + Wallclock uint64 + func BincodeDeserializeIncrementalSnapshotHashes(input []byte) (IncrementalSnapshotHashes, error) + func DeserializeIncrementalSnapshotHashes(deserializer serde.Deserializer) (IncrementalSnapshotHashes, error) + func (obj *IncrementalSnapshotHashes) BincodeSerialize() ([]byte, error) + func (obj *IncrementalSnapshotHashes) Serialize(serializer serde.Serializer) error + type LowestSlot struct + From Pubkey + Lowest uint64 + Root uint64 + Slots []uint64 + Stash []struct{} + Wallclock uint64 + func BincodeDeserializeLowestSlot(input []byte) (LowestSlot, error) + func DeserializeLowestSlot(deserializer serde.Deserializer) (LowestSlot, error) + func (obj *LowestSlot) BincodeSerialize() ([]byte, error) + func (obj *LowestSlot) Serialize(serializer serde.Serializer) error + type Message interface + BincodeSerialize func() ([]byte, error) + Serialize func(serializer serde.Serializer) error + func BincodeDeserializeMessage(input []byte) (Message, error) + func DeserializeMessage(deserializer serde.Deserializer) (Message, error) + type Message__Ping struct + Value Ping + func (obj *Message__Ping) BincodeSerialize() ([]byte, error) + func (obj *Message__Ping) Serialize(serializer serde.Serializer) error + type Message__Pong struct + Value Ping + func (obj *Message__Pong) BincodeSerialize() ([]byte, error) + func (obj *Message__Pong) Serialize(serializer serde.Serializer) error + type Message__PruneMessage struct + Data PruneData + Pubkey Pubkey + func (obj *Message__PruneMessage) BincodeSerialize() ([]byte, error) + func (obj *Message__PruneMessage) Serialize(serializer serde.Serializer) error + type Message__PullRequest struct + Filter CrdsFilter + Value CrdsValue + func (obj *Message__PullRequest) BincodeSerialize() ([]byte, error) + func (obj *Message__PullRequest) Serialize(serializer serde.Serializer) error + type Message__PullResponse struct + Pubkey Pubkey + Values []CrdsValue + func (obj *Message__PullResponse) BincodeSerialize() ([]byte, error) + func (obj *Message__PullResponse) Serialize(serializer serde.Serializer) error + type Message__PushMessage struct + Pubkey Pubkey + Values []CrdsValue + func (obj *Message__PushMessage) BincodeSerialize() ([]byte, error) + func (obj *Message__PushMessage) Serialize(serializer serde.Serializer) error + type Ping struct + From Pubkey + Signature Signature + Token Hash + func BincodeDeserializePing(input []byte) (Ping, error) + func DeserializePing(deserializer serde.Deserializer) (Ping, error) + func NewPing(token [32]byte, key ed25519.PrivateKey) (p Ping) + func NewPingRandom(key ed25519.PrivateKey) Ping + func (obj *Ping) BincodeSerialize() ([]byte, error) + func (obj *Ping) Serialize(serializer serde.Serializer) error + func (p *Ping) Verify() bool + type PingClient struct + NumInvalid atomic.Uint64 + NumMartian atomic.Uint64 + NumOK atomic.Uint64 + NumSendFail atomic.Uint64 + NumSent atomic.Uint64 + NumTimeout atomic.Uint64 + func NewPingClient(identity ed25519.PrivateKey, so udpSender) *PingClient + func (p *PingClient) Close() + func (p *PingClient) HandlePong(msg *Message__Pong, from netip.AddrPort) + func (p *PingClient) Ping(ctx context.Context, target netip.AddrPort) (pong Ping, responder netip.AddrPort, err error) + type PingServer struct + NumInvalid atomic.Uint64 + NumOK atomic.Uint64 + NumSendFail atomic.Uint64 + func NewPingServer(identity ed25519.PrivateKey, so udpSender) *PingServer + func (p *PingServer) HandlePing(ping *Message__Ping, from netip.AddrPort) + type PruneData struct + Destination Pubkey + Prunes []Pubkey + Pubkey Pubkey + Signature Signature + Wallclock uint64 + func BincodeDeserializePruneData(input []byte) (PruneData, error) + func DeserializePruneData(deserializer serde.Deserializer) (PruneData, error) + func (obj *PruneData) BincodeSerialize() ([]byte, error) + func (obj *PruneData) Serialize(serializer serde.Serializer) error + type Pubkey [32]uint8 + func BincodeDeserializePubkey(input []byte) (Pubkey, error) + func DeserializePubkey(deserializer serde.Deserializer) (Pubkey, error) + func (obj *Pubkey) BincodeSerialize() ([]byte, error) + func (obj *Pubkey) Serialize(serializer serde.Serializer) error + func (p Pubkey) MarshalText() ([]byte, error) + type PullClient struct + func NewPullClient(identity ed25519.PrivateKey, so udpSender) *PullClient + func (p *PullClient) HandlePullResponse(msg *Message__PullResponse, _ netip.AddrPort) + func (p *PullClient) Pull(target netip.AddrPort) error + type RawAddr interface + BincodeSerialize func() ([]byte, error) + Serialize func(serializer serde.Serializer) error + func BincodeDeserializeRawAddr(input []byte) (RawAddr, error) + func DeserializeRawAddr(deserializer serde.Deserializer) (RawAddr, error) + type RawAddr__V4 [4]uint8 + func (obj *RawAddr__V4) BincodeSerialize() ([]byte, error) + func (obj *RawAddr__V4) Serialize(serializer serde.Serializer) error + type RawAddr__V6 [16]uint8 + func (obj *RawAddr__V6) BincodeSerialize() ([]byte, error) + func (obj *RawAddr__V6) Serialize(serializer serde.Serializer) error + type RawSocketAddr struct + Addr Addr + Port uint16 + func BincodeDeserializeRawSocketAddr(input []byte) (RawSocketAddr, error) + func DeserializeRawSocketAddr(deserializer serde.Deserializer) (RawSocketAddr, error) + func (obj *RawSocketAddr) BincodeSerialize() ([]byte, error) + func (obj *RawSocketAddr) Serialize(serializer serde.Serializer) error + type Signature [64]uint8 + func BincodeDeserializeSignature(input []byte) (Signature, error) + func DeserializeSignature(deserializer serde.Deserializer) (Signature, error) + func (obj *Signature) BincodeSerialize() ([]byte, error) + func (obj *Signature) Serialize(serializer serde.Serializer) error + func (s Signature) MarshalText() ([]byte, error) + type SlotHash struct + Hash Hash + Slot uint64 + func BincodeDeserializeSlotHash(input []byte) (SlotHash, error) + func DeserializeSlotHash(deserializer serde.Deserializer) (SlotHash, error) + func (obj *SlotHash) BincodeSerialize() ([]byte, error) + func (obj *SlotHash) Serialize(serializer serde.Serializer) error + type SlotsFlate2 struct + Compressed []uint8 + FirstSlot uint64 + Num uint64 + func BincodeDeserializeSlotsFlate2(input []byte) (SlotsFlate2, error) + func DeserializeSlotsFlate2(deserializer serde.Deserializer) (SlotsFlate2, error) + func (obj *SlotsFlate2) BincodeSerialize() ([]byte, error) + func (obj *SlotsFlate2) Serialize(serializer serde.Serializer) error + type SlotsUncompressed struct + FirstSlot uint64 + Num uint64 + Slots BitVecU8 + func BincodeDeserializeSlotsUncompressed(input []byte) (SlotsUncompressed, error) + func DeserializeSlotsUncompressed(deserializer serde.Deserializer) (SlotsUncompressed, error) + func (obj *SlotsUncompressed) BincodeSerialize() ([]byte, error) + func (obj *SlotsUncompressed) Serialize(serializer serde.Serializer) error + type SnapshotHashes struct + From Pubkey + Hashes []SlotHash + Wallclock uint64 + func BincodeDeserializeSnapshotHashes(input []byte) (SnapshotHashes, error) + func DeserializeSnapshotHashes(deserializer serde.Deserializer) (SnapshotHashes, error) + func (obj *SnapshotHashes) BincodeSerialize() ([]byte, error) + func (obj *SnapshotHashes) Serialize(serializer serde.Serializer) error + type SocketAddr struct + func DeserializeSocketAddr(deserializer serde.Deserializer) (sa SocketAddr, err error) + func (sa SocketAddr) Serialize(serializer serde.Serializer) error + type Transaction solana.Transaction + func DeserializeTransaction(deserializer serde.Deserializer) (Transaction, error) + func (obj *Transaction) Serialize(serializer serde.Serializer) error + type Vote struct + From Pubkey + Slot *uint64 + Transaction Transaction + Wallclock uint64 + func BincodeDeserializeVote(input []byte) (Vote, error) + func DeserializeVote(deserializer serde.Deserializer) (Vote, error) + func (obj *Vote) BincodeSerialize() ([]byte, error) + func (obj *Vote) Serialize(serializer serde.Serializer) error v0.1.0-alpha.1 Jan 15, 2026