github.com/Finschia/finschia-sdk@v0.49.1/proto/cosmos/base/snapshots/v1beta1/snapshot.proto (about) 1 syntax = "proto3"; 2 package cosmos.base.snapshots.v1beta1; 3 4 import "gogoproto/gogo.proto"; 5 6 option go_package = "github.com/Finschia/finschia-sdk/snapshots/types"; 7 8 // Snapshot contains Tendermint state sync snapshot info. 9 message Snapshot { 10 uint64 height = 1; 11 uint32 format = 2; 12 uint32 chunks = 3; 13 bytes hash = 4; 14 Metadata metadata = 5 [(gogoproto.nullable) = false]; 15 } 16 17 // Metadata contains SDK-specific snapshot metadata. 18 message Metadata { 19 repeated bytes chunk_hashes = 1; // SHA-256 chunk hashes 20 } 21 22 // SnapshotItem is an item contained in a rootmulti.Store snapshot. 23 message SnapshotItem { 24 // item is the specific type of snapshot item. 25 oneof item { 26 SnapshotStoreItem store = 1; 27 SnapshotIAVLItem iavl = 2 [(gogoproto.customname) = "IAVL"]; 28 SnapshotExtensionMeta extension = 3; 29 SnapshotExtensionPayload extension_payload = 4; 30 } 31 } 32 33 // SnapshotStoreItem contains metadata about a snapshotted store. 34 message SnapshotStoreItem { 35 string name = 1; 36 } 37 38 // SnapshotIAVLItem is an exported IAVL node. 39 message SnapshotIAVLItem { 40 bytes key = 1; 41 bytes value = 2; 42 // version is block height 43 int64 version = 3; 44 // height is depth of the tree. 45 int32 height = 4; 46 } 47 48 // SnapshotExtensionMeta contains metadata about an external snapshotter. 49 message SnapshotExtensionMeta { 50 string name = 1; 51 uint32 format = 2; 52 } 53 54 // SnapshotExtensionPayload contains payloads of an external snapshotter. 55 message SnapshotExtensionPayload { 56 bytes payload = 1; 57 }