feat: x/blocksdk inital proto (#183)

* module proto

* lane proto

* proto-gen

* proto-format

* regenerate

* update desc
This commit is contained in:
Alex Johnson
2023-11-02 14:42:58 -04:00
committed by GitHub
parent f539698cee
commit d451d7a167
5 changed files with 1775 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
syntax = "proto3";
package sdk.blocksdk.module.v1;
import "cosmos/app/v1alpha1/module.proto";
// Module is the config object of the x/blocksdk module.
message Module {
option (cosmos.app.v1alpha1.module) = {
go_import : "github.com/skip-mev/block-sdk/x/blocksdk"
};
// Authority defines the custom module authority. If not set, defaults to the
// governance module.
string authority = 1;
}
+36
View File
@@ -0,0 +1,36 @@
syntax = "proto3";
package sdk.blocksdk.v1;
import "gogoproto/gogo.proto";
import "amino/amino.proto";
import "cosmos_proto/cosmos.proto";
option go_package = "github.com/skip-mev/block-sdk/x/blocksdk/types";
// Lane defines a block-sdk lane and its associated parameters. Only the
// parameters that are critical to consensus are stored on-chain in this object.
// The other associated configuration for a lane can be set and stored locally,
// per-validator.
message Lane {
// id is the unique identifier of a Lane. Maps to a block-sdk laneName.
string id = 1;
// max_block_space defines the relative percentage of block space that can be
// used by this lane. NOTE: If this is set to zero, then there is no limit
// on the number of transactions that can be included in the block for this
// lane (up to maxTxBytes as provided by the request). This is useful for the
// default lane.
string max_block_space = 2 [
(cosmos_proto.scalar) = "cosmos.Dec",
(gogoproto.customtype) = "cosmossdk.io/math.LegacyDec",
(amino.dont_omitempty) = true,
(gogoproto.nullable) = false
];
// order is the priority ordering of the Lane when processed in PrepareProposal
// and ProcessProposal. Lane orders should be set in order of priority starting from 0,
// monotonically increasing and non-overlapping. A lane with a lower order value
// will have a higher priority over a lane with a higher order value. For example,
// if LaneA has priority of 0 and LaneB has a priority of 1, LaneA has priority over LaneB.
uint64 order = 3;
}