diff --git a/README.md b/README.md
index 02f12fd6173d..650b00c2628f 100644
--- a/README.md
+++ b/README.md
@@ -1,81 +1,45 @@
-
+# cosmos-sdk
-
-
Cosmos SDK
-
+This repo is a fork of [cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) with a few modifications.
-![banner](docs/cosmos-sdk-image.jpg)
+## Modifications
-
-
+Larger modifications include:
-The Cosmos SDK is a framework for building blockchain applications. [Tendermint Core (BFT Consensus)](https://github.com/tendermint/tendermint) and the Cosmos SDK are written in the Golang programming language. Cosmos SDK is used to build [Gaia](https://github.com/cosmos/gaia), the first implementation of the Cosmos Hub.
+1. Early adoption of `PrepareProposal` and `ProcessProposal`. This was added to the fork because at the time of development, a Cosmos SDK release was not available with these ABCI methods. Ref: https://github.com/celestiaorg/cosmos-sdk/commit/233a229cabf0599aed91b6b6697c268753731b2c
+1. The addition of `chainID` to baseapp so that a branch of state can be used in PrepareProposal and ProcessProposal. Ref: https://github.com/celestiaorg/cosmos-sdk/pull/326
+1. The consensus params version is overriden to the `AppVersion` to enable EndBlocker to update the `AppVersion`. Ref: https://github.com/celestiaorg/cosmos-sdk/pull/321
-**WARNING**: The Cosmos SDK has mostly stabilized, but we are still making some
-breaking changes.
+Smaller modifications include:
-**Note**: Requires [Go 1.19+](https://go.dev/dl)
+1. The addition of a `SetTxDecoder` on tx config so that celestia-app can override the default tx decoder with one that supports decoding `BlobTx`s. Ref: https://github.com/celestiaorg/cosmos-sdk/pull/311
+1. The addition of a `start_time` to the vesting module's `MsgCreateVestingAccount` so that vesting accounts can be created with a delayed start time. Ref: https://github.com/celestiaorg/cosmos-sdk/pull/342
+1. Allow celestia-app to override the default consensus params via the `init` command. Ref: https://github.com/celestiaorg/cosmos-sdk/pull/317
-## Quick Start
+Modifications that make it easier to maintain this fork:
-To learn how the Cosmos SDK works from a high-level perspective, see the Cosmos SDK [High-Level Intro](./docs/intro/overview.md).
+1. Modify CODEOWNERS to Celestia maintainers
+1. Modify Github CI workflows to include `release/**` branches
+1. Modify Github CI workflows to not run some workflows
+1. Delete cosmovisor
-If you want to get started quickly and learn how to build on top of Cosmos SDK, visit [Cosmos SDK Tutorials](https://tutorials.cosmos.network). You can also fork the tutorial's repository to get started building your own Cosmos SDK application.
+Modifications that may be revertable:
-For more information, see the [Cosmos SDK Documentation](./docs/).
+1. Override the default keyringBackend from `os` to `test`. Maybe move to celestia-app
+1. Increase `DefaultGasLimit` from 200000 to 210000.
+1. Remove `Evidence` from grpc/tmservice/types.pb.go.
+1. Override simapp test helpers `DefaultGenTxGas` from 10000000 to 2600000.
+1. Disable staticcheck golangci lint after fixing lint errors.
+1. In auth/tx/query.go disable the prove flag when querying transactions
+1. In server/util.go remove `conf.Consensus.TimeoutCommit = 5 * time.Second`
-## Contributing
-
-See [CONTRIBUTING.md](./CONTRIBUTING.md) for details how to contribute and participate in our [dev calls](./CONTRIBUTING.md#teams-dev-calls).
-If you want to follow the updates or learn more about the latest design then join our [Discord](https://discord.com/invite/cosmosnetwork).
-
-## Tools and Frameworks
-
-The Cosmos ecosystem is vast. We will only make a few notable mentions here.
-
-+ [Tools](https://v1.cosmos.network/tools): notable frameworks and modules.
-+ [CosmJS](https://github.com/cosmos/cosmjs): the Swiss Army knife to power JavaScript based client solutions.
+## Branches
-### Cosmos Hub Mainnet
+1. [v0.46.x-celestia](https://github.com/celestiaorg/cosmos-sdk/tree/release/v0.46.x-celestia) is based on the `v0.46.x` release branch from upstream
-The Cosmos Hub application, `gaia`, has moved to its own [cosmos/gaia repository](https://github.com/cosmos/gaia). Go there to join the Cosmos Hub mainnet and more.
-
-### Inter-Blockchain Communication (IBC)
-
-The IBC module for the Cosmos SDK has moved to its own [cosmos/ibc-go repository](https://github.com/cosmos/ibc-go). Go there to build and integrate with the IBC module.
-
-### Ignite CLI
-
-Ignite CLI is the all-in-one platform to build, launch, and maintain any crypto application on a sovereign and secured blockchain. If you are building a new app or a new module, use [Ignite CLI](https://github.com/ignite-hq/cli) to get started and speed up development.
+## Contributing
-## Disambiguation
+This repo intends on preserving the minimal possible diff with [cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) to make fetching upstream changes easy. If the proposed contribution is
-This Cosmos SDK project is not related to the [React-Cosmos](https://github.com/react-cosmos/react-cosmos) project (yet). Many thanks to Evan Coury and Ovidiu (@skidding) for this Github organization name. As per our agreement, this disambiguation notice will stay here.
+* specific to Celestia: consider if [celestia-app](https://github.com/celestiaorg/celestia-app) is a better target
+* not specific to Celestia: consider making the contribution upstream in [cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk)
diff --git a/baseapp/abci.go b/baseapp/abci.go
index 00d908f05808..4c2a06564b28 100644
--- a/baseapp/abci.go
+++ b/baseapp/abci.go
@@ -296,19 +296,17 @@ func (app *BaseApp) DeliverTx(req abci.RequestDeliverTx) (res abci.ResponseDeliv
}
}
-// PreprocessTxs fullfills the celestia-core version of the ACBI interface. It
+// PrepareProposal fullfills the celestia-core version of the ABCI interface. It
// allows for arbitrary processing steps before transaction data is included in
// the block.
func (app *BaseApp) PrepareProposal(req abci.RequestPrepareProposal) abci.ResponsePrepareProposal {
- // TODO(evan): fully implement
- // pass through txs w/o processing for now
return abci.ResponsePrepareProposal{
BlockData: req.BlockData,
}
}
// ProcessProposal fulfills the celestia-core version of the ABCI++ interface.
-// It allows for arbitrary processing to occur after receiving a proposal block
+// It allows for arbitrary processing to occur after receiving a proposal block.
func (app *BaseApp) ProcessProposal(req abci.RequestProcessProposal) abci.ResponseProcessProposal {
return abci.ResponseProcessProposal{
Result: abci.ResponseProcessProposal_ACCEPT,