diff --git a/README.md b/README.md index ffadd3a..1dc3e18 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ In the Block SDK, each lane has its own set of rules and transaction flow manage A block with separate `lanes` can be used for: -1. **MEV mitigation**: a top of block lane could be designed to create an in-protocol top-of-block auction (as we are doing with POB) to recapture MEV in a transparent and governable way. +1. **MEV mitigation**: a top of block lane could be designed to create an in-protocol top-of-block auction (as we are doing with the Block SDK) to recapture MEV in a transparent and governable way. 2. **Free/reduced fee txs**: transactions with certain properties (e.g. from trusted accounts or performing encouraged actions) could leverage a free lane to reward behavior. 3. **Dedicated oracle space** Oracles could be included before other kinds of transactions to ensure that price updates occur first, and are not able to be sandwiched or manipulated. 4. **Orderflow auctions**: an OFA lane could be constructed such that order flow providers can have their submitted transactions bundled with specific backrunners, to guarantee MEV rewards are attributed back to users. Imagine MEV-share but in protocol. diff --git a/SPEC.md b/SPEC.md index 198b975..1ef7e46 100644 --- a/SPEC.md +++ b/SPEC.md @@ -1,6 +1,8 @@ # POB Specification +> **Note**: This specification is a work in progress and is subject to change. + ## Abstract The `x/builder` module is a Cosmos SDK module that allows Cosmos chains to host diff --git a/block/mempool.go b/block/mempool.go index 44bac25..61290c6 100644 --- a/block/mempool.go +++ b/block/mempool.go @@ -40,7 +40,7 @@ type ( } ) -// NewLanedMempool returns a new Blockbuster mempool. The block mempool is +// NewLanedMempool returns a new Block SDK mempool. The laned mempool is // comprised of a registry of lanes. Each lane is responsible for selecting // transactions according to its own selection logic. The lanes are ordered // according to their priority. The first lane in the registry has the highest diff --git a/lanes/free/README.md b/lanes/free/README.md index 42816a5..eef9d3a 100644 --- a/lanes/free/README.md +++ b/lanes/free/README.md @@ -71,7 +71,7 @@ func NewApp() { // visit the README in block-sdk/block/base. // // MEV lane hosts an action at the top of the block. - mevConfig := constructor.LaneConfig{ + mevConfig := base.LaneConfig{ Logger: app.Logger(), TxEncoder: app.txConfig.TxEncoder(), TxDecoder: app.txConfig.TxDecoder(), @@ -84,7 +84,7 @@ func NewApp() { ) // Free lane allows transactions to be included in the next block for free. - freeConfig := constructor.LaneConfig{ + freeConfig := base.LaneConfig{ Logger: app.Logger(), TxEncoder: app.txConfig.TxEncoder(), TxDecoder: app.txConfig.TxDecoder(), @@ -93,12 +93,12 @@ func NewApp() { } freeLane := free.NewFreeLane( freeConfig, - constructor.DefaultTxPriority(), + base.DefaultTxPriority(), free.DefaultMatchHandler(), ) // Default lane accepts all other transactions. - defaultConfig := constructor.LaneConfig{ + defaultConfig := base.LaneConfig{ Logger: app.Logger(), TxEncoder: app.txConfig.TxEncoder(), TxDecoder: app.txConfig.TxDecoder(), diff --git a/lanes/mev/README.md b/lanes/mev/README.md index 11c9a66..d8e74c1 100644 --- a/lanes/mev/README.md +++ b/lanes/mev/README.md @@ -107,7 +107,7 @@ $ go install github.com/skip-mev/block-sdk } ``` - c. Instantiate the blockbuster mempool with the application's desired lanes. + c. Instantiate the Block SDK mempool with the application's desired lanes. ```go // 1. Create the lanes. @@ -121,7 +121,7 @@ $ go install github.com/skip-mev/block-sdk // visit the README in block-sdk/block/base. // // MEV lane hosts an auction at the top of the block. - mevConfig := constructor.LaneConfig{ + mevConfig := base.LaneConfig{ Logger: app.Logger(), TxEncoder: app.txConfig.TxEncoder(), TxDecoder: app.txConfig.TxDecoder(), @@ -134,7 +134,7 @@ $ go install github.com/skip-mev/block-sdk ) // Free lane allows transactions to be included in the next block for free. - freeConfig := constructor.LaneConfig{ + freeConfig := base.LaneConfig{ Logger: app.Logger(), TxEncoder: app.txConfig.TxEncoder(), TxDecoder: app.txConfig.TxDecoder(), @@ -143,12 +143,12 @@ $ go install github.com/skip-mev/block-sdk } freeLane := free.NewFreeLane( freeConfig, - constructor.DefaultTxPriority(), + base.DefaultTxPriority(), free.DefaultMatchHandler(), ) // Standard lane accepts all other transactions. - defaultConfig := constructor.LaneConfig{ + defaultConfig := base.LaneConfig{ Logger: app.Logger(), TxEncoder: app.txConfig.TxEncoder(), TxDecoder: app.txConfig.TxDecoder(), @@ -168,7 +168,7 @@ $ go install github.com/skip-mev/block-sdk ``` d. Instantiate the antehandler chain for the application with awareness of the - blockbuster mempool. This will allow the application to verify the validity + LanedMempool. This will allow the application to verify the validity of a transaction respecting the desired logic of a given lane. In this walkthrough, we want the `FeeDecorator` to be ignored for all transactions that should belong to the free lane. Additionally, we want to add the `x/builder` @@ -178,9 +178,9 @@ $ go install github.com/skip-mev/block-sdk ```go import ( ... - "github.com/skip-mev/pob/blockbuster" - "github.com/skip-mev/pob/blockbuster/utils" - builderante "github.com/skip-mev/pob/x/builder/ante" + "github.com/skip-mev/block-sdk/block" + "github.com/skip-mev/block-sdk/block/utils" + builderante "github.com/skip-mev/block-sdk/x/builder/ante" ... )