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

* feat: Add everything

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

79 lines
1.9 KiB
Protocol Buffer
Executable File

syntax = "proto3";
package dex.v1;
option go_package = "github.com/sonr-io/sonr/x/dex/types";
import "gogoproto/gogo.proto";
import "dex/v1/ica.proto";
// GenesisState defines the DEX module's genesis state
message GenesisState {
// Module parameters
Params params = 1 [(gogoproto.nullable) = false];
// IBC port ID for the module
string port_id = 2;
// Registered DEX accounts
repeated InterchainDEXAccount accounts = 3;
// Account sequence counter
uint64 account_sequence = 4;
}
// Params defines the parameters for the DEX module
message Params {
option (gogoproto.goproto_getters) = false;
// Enable/disable the module
bool enabled = 1;
// Maximum accounts per DID
uint32 max_accounts_per_did = 2;
// Default timeout for ICA operations (in seconds)
uint64 default_timeout_seconds = 3;
// Allowed DEX connections
repeated string allowed_connections = 4;
// Minimum swap amount (in base denom)
string min_swap_amount = 5;
// Maximum daily volume per DID (in USD equivalent)
string max_daily_volume = 6;
// Rate limit parameters
RateLimitParams rate_limits = 7 [(gogoproto.nullable) = false];
// Fee parameters
FeeParams fees = 8 [(gogoproto.nullable) = false];
}
// RateLimitParams defines rate limiting parameters
message RateLimitParams {
// Maximum operations per block
uint32 max_ops_per_block = 1;
// Maximum operations per DID per day
uint32 max_ops_per_did_per_day = 2;
// Cooldown period between operations (in blocks)
uint32 cooldown_blocks = 3;
}
// FeeParams defines fee parameters for DEX operations
message FeeParams {
// Platform fee for swaps (basis points, e.g., 30 = 0.3%)
uint32 swap_fee_bps = 1;
// Platform fee for liquidity operations
uint32 liquidity_fee_bps = 2;
// Platform fee for orders
uint32 order_fee_bps = 3;
// Fee collector address
string fee_collector = 4;
}