syntax = "proto3";
package oracle.v1;

import "amino/amino.proto";
import "gogoproto/gogo.proto";

option go_package = "github.com/onsonr/sonr/x/oracle/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) = "oracle/params";
  option (gogoproto.equal) = true;
  option (gogoproto.goproto_stringer) = false;

  Assets assets = 1;
}

message Assets {
  option (amino.name) = "oracle/assets";
  option (gogoproto.equal) = true;

  repeated AssetInfo assets = 1;
}

// AssetInfo defines the asset info
message AssetInfo {
  option (amino.name) = "oracle/asset_info";
  option (gogoproto.equal) = true;

  // 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
  string asset_type = 4;

  // The name of the asset
  string name = 5;

  // The icon url
  string icon_url = 6;
}
