syntax = "proto3"; package did.v1; import "amino/amino.proto"; import "did/v1/constants.proto"; import "gogoproto/gogo.proto"; option go_package = "github.com/onsonr/sonr/x/did/types"; // GenesisState defines the module genesis state message GenesisState { // Params defines all the parameters of the module. Params params = 1 [(gogoproto.nullable) = false]; } // Params defines the set of module parameters. message Params { option (amino.name) = "did/params"; option (gogoproto.equal) = true; option (gogoproto.goproto_stringer) = false; // Whitelisted Assets repeated AssetInfo whitelisted_assets = 1; // Whitelisted Blockchains repeated ChainInfo whitelisted_chains = 2; // Whitelisted Key Types repeated KeyInfo allowed_public_keys = 3; // OpenIDConfig defines the base openid configuration across all did services OpenIDConfig openid_config = 4; } // AssetInfo defines the asset info message AssetInfo { // The coin type index for bip44 path int64 index = 1; // The hrp for bech32 address string hrp = 2; // The coin symbol string symbol = 3; // The coin name AssetType asset_type = 4; // The name of the asset string name = 5; // The Method of the did namespace string method = 6; // The icon url string icon_url = 7; } // ChainInfo defines the chain info message ChainInfo { string id = 1; string chain_id = 2; string name = 3; string symbol = 4; repeated ValidatorInfo validators = 5; } // KeyInfo defines information for accepted PubKey types message KeyInfo { KeyRole role = 1; KeyAlgorithm algorithm = 2; // e.g., "ES256", "EdDSA", "ES256K" KeyEncoding encoding = 3; // e.g., "hex", "base64", "multibase" KeyCurve curve = 4; // e.g., "P256", "P384", "P521", "X25519", "X448", "Ed25519", "Ed448", "secp256k1" KeyType type = 5; // e.g., "Octet", "Elliptic", "RSA", "Symmetric", "HMAC" } // OpenIDConfig defines the base openid configuration across all did services message OpenIDConfig { string issuer = 1; string authorization_endpoint = 2; string token_endpoint = 3; string userinfo_endpoint = 4; repeated string scopes_supported = 5; repeated string response_types_supported = 6; repeated string response_modes_supported = 7; repeated string grant_types_supported = 8; repeated string acr_values_supported = 9; repeated string subject_types_supported = 10; } // ValidatorInfo defines information for accepted Validator nodes message ValidatorInfo { string moniker = 1; repeated Endpoint grpc_endpoints = 2; repeated Endpoint rest_endpoints = 3; ExplorerInfo explorer = 4; FeeInfo fee_info = 5; IBCChannel ibc_channel = 6; // Endpoint defines an endpoint message Endpoint { string url = 1; bool is_primary = 2; } // ExplorerInfo defines the explorer info message ExplorerInfo { string name = 1; string url = 2; } // FeeInfo defines a fee info message FeeInfo { string base_denom = 1; repeated string fee_rates = 2; int32 init_gas_limit = 3; bool is_simulable = 4; double gas_multiply = 5; } // IBCChannel defines the IBC channel info message IBCChannel { string id = 1; string port = 2; } }