2022-08-25 16:51:14 -07:00
|
|
|
syntax = "proto3";
|
2022-09-05 16:03:12 -07:00
|
|
|
package colinear.colinearcore;
|
2022-08-25 16:51:14 -07:00
|
|
|
|
|
|
|
import "gogoproto/gogo.proto";
|
|
|
|
|
2022-09-06 15:18:09 -07:00
|
|
|
option go_package = "colinear/x/colinearcore/types";
|
2022-08-25 16:51:14 -07:00
|
|
|
|
|
|
|
// Params defines the parameters for the module.
|
|
|
|
message Params {
|
|
|
|
option (gogoproto.goproto_stringer) = false;
|
2022-09-21 17:16:09 -07:00
|
|
|
// hardware options
|
|
|
|
map<string, uint32> gpuModels = 1; // maps GPU model to puzzle difficulty
|
|
|
|
|
|
|
|
// gas config
|
|
|
|
uint32 auctionGas = 2;
|
|
|
|
|
|
|
|
// auction config
|
|
|
|
uint32 auctionTime = 3;
|
|
|
|
uint32 minLeasePeriod = 4;
|
|
|
|
uint32 maxLeasePeriod = 5;
|
|
|
|
repeated string allowedAuctionDenoms = 6;
|
|
|
|
|
|
|
|
// Maximum number of verified providers; this is to prevent buffer overflow
|
|
|
|
// attacks since provider list is not committed to chain state and costs 0 gas
|
|
|
|
uint32 maxVerifiedProviders = 7;
|
|
|
|
|
|
|
|
// Minimum required staked CLR to be a provider (i.e. to bid)
|
|
|
|
// 500 CLR
|
|
|
|
uint32 providerMinLockedUClr = 8;
|
2022-08-25 16:51:14 -07:00
|
|
|
|
2022-09-21 17:16:09 -07:00
|
|
|
// Amount slashed when a provider is offline during an audit
|
|
|
|
// 100 CLR
|
|
|
|
uint32 providerLockedSlashUClr = 9;
|
|
|
|
|
|
|
|
// Blocks between provider audits
|
|
|
|
// 400 blocks ~400-1200min
|
|
|
|
uint32 providerAuditFrequency = 10;
|
|
|
|
// Blocks before an audit ping must be returned
|
|
|
|
// 3 blocks ~4-12sec
|
|
|
|
uint32 providerAuditLength = 11;
|
|
|
|
|
2022-08-25 16:51:14 -07:00
|
|
|
}
|