Open stranger80 opened 2 months ago
type ContractRangeStreamingResult struct {
ContractsRoot *felt.Felt
ClassesRoot *felt.Felt
Range []*spec.ContractState
RangeProof *spec.PatriciaRangeProof
}
type StorageRangeRequest struct {
StateRoot *felt.Felt
ChunkPerProof uint64 // Missing in spec
Queries []*spec.StorageRangeQuery
}
type StorageRangeStreamingResult struct {
ContractsRoot *felt.Felt
ClassesRoot *felt.Felt
Range []*spec.ContractStoredValue
RangeProof *spec.PatriciaRangeProof
}
type ClassRangeStreamingResult struct {
ContractsRoot *felt.Felt
ClassesRoot *felt.Felt
Range []*spec.Class
RangeProof *spec.PatriciaRangeProof
}
type SnapServer interface {
GetContractRange(request *spec.ContractRangeRequest) (chan *ContractRangeStreamingResult, error)
GetStorageRange(request *StorageRangeRequest) (chan *StorageRangeStreamingResult, error)
GetClassRange(request *spec.ClassRangeRequest) (chan *ClassRangeStreamingResult, error)
}
PR on missed data https://github.com/starknet-io/starknet-p2p-specs/pull/32/files
Changed the snap server interface.
type ContractRangeStreamingResult struct {
ContractsRoot *felt.Felt
ClassesRoot *felt.Felt
Range []*spec.ContractState
RangeProof *spec.PatriciaRangeProof
}
type StorageRangeRequest struct {
StateRoot *felt.Felt
ChunkPerProof uint64 // Missing in spec
Queries []*spec.StorageRangeQuery
}
type StorageRangeStreamingResult struct {
ContractsRoot *felt.Felt
ClassesRoot *felt.Felt
Range []*spec.ContractStoredValue
RangeProof *spec.PatriciaRangeProof
}
type ClassRangeStreamingResult struct {
ContractsRoot *felt.Felt
ClassesRoot *felt.Felt
Range *spec.Classes
RangeProof *spec.PatriciaRangeProof
}
type SnapServer interface {
GetContractRange(ctx context.Context, request *spec.ContractRangeRequest) iter.Seq2[*ContractRangeStreamingResult, error]
GetStorageRange(ctx context.Context, request *StorageRangeRequest) iter.Seq2[*StorageRangeStreamingResult, error]
GetClassRange(ctx context.Context, request *spec.ClassRangeRequest) iter.Seq2[*ClassRangeStreamingResult, error]
GetClasses(ctx context.Context, classHashes []*felt.Felt) ([]*spec.Class, error)
}
Tasks: