Files
sonr/proto/dwn/v1/genesis.proto
Prad NukalaandGitHub 13e6c3e84d Master (#1262)
* clear

* feat: Add everything

* fix: Commenht
2025-10-03 14:45:52 -04:00

74 lines
1.9 KiB
Protocol Buffer

syntax = "proto3";
package dwn.v1;
import "amino/amino.proto";
import "dwn/v1/state.proto";
import "gogoproto/gogo.proto";
option go_package = "github.com/sonr-io/sonr/x/dwn/types";
// GenesisState defines the module genesis state
message GenesisState {
// Params defines all the parameters of the module.
Params params = 1 [(gogoproto.nullable) = false];
// DWN Records
repeated DWNRecord records = 2 [(gogoproto.nullable) = false];
// DWN Protocols
repeated DWNProtocol protocols = 3 [(gogoproto.nullable) = false];
// DWN Permissions
repeated DWNPermission permissions = 4 [(gogoproto.nullable) = false];
// Vaults
repeated VaultState vaults = 5 [(gogoproto.nullable) = false];
}
// Params defines the set of module parameters.
message Params {
option (amino.name) = "dwn/params";
option (gogoproto.equal) = true;
option (gogoproto.goproto_stringer) = false;
// Maximum size for DWN record data in bytes
uint64 max_record_size = 1;
// Maximum number of protocols per DWN
uint32 max_protocols_per_dwn = 2;
// Maximum number of permissions per DWN
uint32 max_permissions_per_dwn = 3;
// Enable vault creation
bool vault_creation_enabled = 4;
// Minimum vault refresh interval in blocks
uint64 min_vault_refresh_interval = 5;
// Encryption configuration
bool encryption_enabled = 6;
// Key rotation interval in days
uint32 key_rotation_days = 7;
// Minimum validators required for key generation (percentage of active set)
uint32 min_validators_for_key_gen = 8;
// Protocols that require encryption
repeated string encrypted_protocols = 9;
// Schemas that require encryption
repeated string encrypted_schemas = 10;
// Enable single-node fallback for development
bool single_node_fallback = 11;
}
message IPFSStatus {
string peer_id = 1;
string peer_name = 2;
string peer_type = 3;
string version = 4;
}