Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: upgrade v0.45.4 #128

Merged
merged 48 commits into from
Apr 27, 2022
Merged

chore: upgrade v0.45.4 #128

merged 48 commits into from
Apr 27, 2022

Conversation

daeMOn63
Copy link
Contributor

@daeMOn63 daeMOn63 commented Apr 26, 2022

brings in v0.45.2, 0.45.3 and 0.45.4 of cosmos-sdk from upsteam

mergify bot and others added 30 commits April 26, 2022 09:57
…ort #11117) (#11139)

* fix: add concurrency fence on traceContext to avoid data races (#11117)

See #11114 for more info.

## Description

Closes: #11114
* feat: add get all versions (#11124)

* add get all versions

* add changelog entry

(cherry picked from commit d624a65)

# Conflicts:
#	CHANGELOG.md

* fix conflicts and remove interface break

Co-authored-by: Marko <[email protected]>
Update types/errors/abci.go

Co-authored-by: Amaury <[email protected]>

Co-authored-by: Amaury <[email protected]>
* disable url parameter in swagger-ui page (#11202)

Closes: #11201
Solution:
- update swagger-ui to recent release
- add option `queryConfigEnabled: false`

(cherry picked from commit cb6fea9)

# Conflicts:
#	client/docs/statik/statik.go
#	client/docs/swagger-ui/swagger-ui-bundle.js
#	client/docs/swagger-ui/swagger-ui-bundle.js.map
#	client/docs/swagger-ui/swagger-ui-es-bundle-core.js
#	client/docs/swagger-ui/swagger-ui-es-bundle-core.js.map
#	client/docs/swagger-ui/swagger-ui-es-bundle.js
#	client/docs/swagger-ui/swagger-ui-es-bundle.js.map
#	client/docs/swagger-ui/swagger-ui-standalone-preset.js
#	client/docs/swagger-ui/swagger-ui-standalone-preset.js.map
#	client/docs/swagger-ui/swagger-ui.js
#	client/docs/swagger-ui/swagger-ui.js.map

* fix conflicts

* override swagger-ui after resolve conflicts

Co-authored-by: yihuang <[email protected]>
Co-authored-by: marbar3778 <[email protected]>
* feat: Allow to restrict MintCoins from app.go (#10771)

## Description

Closes: cosmos/cosmos-sdk#10386

This PR adds feature to the bank module so that other modules using bankKeeper would be able to call the keeper with restricted permissions when minting coins. `WithMintCoinsRestriction` would be able to get called within app.go when setting keeper components for each individual keeper, taking a function that would validate minting denom as an argument.

The example below demonstrates adding bank module with restricted permissions.
```
	app.DistrKeeper = distrkeeper.NewKeeper(
		appCodec, keys[distrtypes.StoreKey], app.GetSubspace(distrtypes.ModuleName), app.AccountKeeper, app.BankKeeper.WithMintCoinsRestriction(DistributionMintingRestriction),
		&stakingKeeper, authtypes.FeeCollectorName, app.ModuleAccountAddrs(),
	)
```
while there would be a seperate function that would restrict and validate allowed denoms as such.

```

func DistributionMintingRestriction(ctx sdk.Context, coins sdk.Coins) errors {
  for _, coin := range coins {
    if coin.Denom != ctx.NativeStakingDenom {
       return errors.New(fmt.Sprintf("Distribution can only print denom %s, tried minting %s", ctx.NativeStakingDenom, coin.Denom))
     }
  }
}
```

The sdk's simapp currently does not have any keepers that are to be changed with this implementation added, thus remaining unchanged in `app.go`.
* refactor: prune everything (#11177)

(cherry picked from commit 75bcf47)

# Conflicts:
#	CHANGELOG.md
#	server/config/toml.go
#	server/start.go
#	store/rootmulti/store.go
#	store/types/pruning.go
#	store/v2/multi/store_test.go

* updates

* updates

* updates

* updates

* updates

Co-authored-by: Aleksandr Bezobchuk <[email protected]>
Co-authored-by: Aleksandr Bezobchuk <[email protected]>
* feat: min and max operators on coins (#11200)

## Description

Closes: #10995

Adds `Min()` and `Max()` operations on `sdk.Coins` for per-denom minimum and maximum.

Replaced an example of manual low-level construction of `Coins` with higher-level operators.
Upcoming enhancements to vesting accounts make heavy use of this pattern.
…ort #11117) (#11139)

* fix: add concurrency fence on traceContext to avoid data races (#11117)

See #11114 for more info.

## Description

Closes: #11114
* feat: add get all versions (#11124)

* add get all versions

* add changelog entry

(cherry picked from commit d624a65)

# Conflicts:
#	CHANGELOG.md

* fix conflicts and remove interface break

Co-authored-by: Marko <[email protected]>
Update types/errors/abci.go

Co-authored-by: Amaury <[email protected]>

Co-authored-by: Amaury <[email protected]>
* feat: Allow to restrict MintCoins from app.go (#10771)

## Description

Closes: cosmos/cosmos-sdk#10386

This PR adds feature to the bank module so that other modules using bankKeeper would be able to call the keeper with restricted permissions when minting coins. `WithMintCoinsRestriction` would be able to get called within app.go when setting keeper components for each individual keeper, taking a function that would validate minting denom as an argument.

The example below demonstrates adding bank module with restricted permissions.
```
	app.DistrKeeper = distrkeeper.NewKeeper(
		appCodec, keys[distrtypes.StoreKey], app.GetSubspace(distrtypes.ModuleName), app.AccountKeeper, app.BankKeeper.WithMintCoinsRestriction(DistributionMintingRestriction),
		&stakingKeeper, authtypes.FeeCollectorName, app.ModuleAccountAddrs(),
	)
```
while there would be a seperate function that would restrict and validate allowed denoms as such.

```

func DistributionMintingRestriction(ctx sdk.Context, coins sdk.Coins) errors {
  for _, coin := range coins {
    if coin.Denom != ctx.NativeStakingDenom {
       return errors.New(fmt.Sprintf("Distribution can only print denom %s, tried minting %s", ctx.NativeStakingDenom, coin.Denom))
     }
  }
}
```

The sdk's simapp currently does not have any keepers that are to be changed with this implementation added, thus remaining unchanged in `app.go`.
* refactor: prune everything (#11177)

(cherry picked from commit 75bcf47)

# Conflicts:
#	CHANGELOG.md
#	server/config/toml.go
#	server/start.go
#	store/rootmulti/store.go
#	store/types/pruning.go
#	store/v2/multi/store_test.go

* updates

* updates

* updates

* updates

* updates

Co-authored-by: Aleksandr Bezobchuk <[email protected]>
Co-authored-by: Aleksandr Bezobchuk <[email protected]>
* feat: min and max operators on coins (#11200)

## Description

Closes: #10995

Adds `Min()` and `Max()` operations on `sdk.Coins` for per-denom minimum and maximum.

Replaced an example of manual low-level construction of `Coins` with higher-level operators.
Upcoming enhancements to vesting accounts make heavy use of this pattern.
…11248)

* feat: include transactions in QueryBlockByHeight  (#10880)

## Description

Closes: #3729

- adds a new query to the tx service in Auth, which gets block information + decoded txs
- added a new function to get the protoBlock from the node.
…#11266)

* fix: reject query with block height in the future (#11222)

## Description

Closes: #11220

Should be good to backport to older versions.
* fix: x/authz allow insufficient funds error (#11252)

## Description

Allow insufficient funds error for authz simulation

Closes: #XXXX
…ckport #10961) (#11267)

* feat!: Add hooks to allow app modules to add things to state-sync (#10961)

## Description

Closes: #7340

- Support registering multiple snapshotters in snapshot manager.
- Append the extension snapshotters to existing snapshot stream.

~TODO: testing.~
- existing tests are fixed
Closes: #10281

fix tendermint rollback

changelog

update tendermint to recent v0.35.x branch

(cherry picked from commit 8296ad9)

# Conflicts:
#	CHANGELOG.md
#	go.mod
#	go.sum

Co-authored-by: yihuang <[email protected]>
…332) (#11335)

* Use correct bit length constant for sdk.Dec (#11332)

Co-authored-by: Marko <[email protected]>
(cherry picked from commit 3d3cf25)

# Conflicts:
#	go.sum

* fix conflicts

Co-authored-by: Julien Robert <[email protected]>
Co-authored-by: marbar3778 <[email protected]>
…1288)

* fix: remove hardcoded pubkey from tx simulation (#11282)

## Description

Closes: #11283
* fix: cgosecp256k1 verification (#11298)

## Description

Closes: #10747

- update secp256k1 cgo fork,
- debug verify bytes

```
benchmark                     old ns/op     new ns/op     delta
BenchmarkKeyGeneration-10     407           413           +1.35%
BenchmarkSigning-10           95099         36754         -61.35%
BenchmarkVerification-10      215551        48053         -77.71%

benchmark                     old allocs     new allocs     delta
BenchmarkKeyGeneration-10     2              2              +0.00%
BenchmarkSigning-10           83             4              -95.18%
BenchmarkVerification-10      74             1              -98.65%

benchmark                     old bytes     new bytes     delta
BenchmarkKeyGeneration-10     96            96            +0.00%
BenchmarkSigning-10           5283          196           -96.29%
BenchmarkVerification-10      3537          32            -99.10%
```
…ess (backport #11197) (#11348)

* fix: multisig works with only multisig name as argument, not its address (#11197)

## Description

Closes: #11196
ref: https://github.com/terra-money/core/issues/570

multisig flag now works with both address and name as arguments for signing
* feat: add grants by grantee authz query (#10944)

(cherry picked from commit fa8099d)

# Conflicts:
#	CHANGELOG.md
#	api/cosmos/app/module/v1alpha1/module.pulsar.go
#	api/cosmos/app/v1alpha1/config.pulsar.go
#	api/cosmos/app/v1alpha1/module.pulsar.go
#	api/cosmos/app/v1alpha1/query.pulsar.go
#	api/cosmos/authz/v1beta1/authz.pulsar.go
#	api/cosmos/authz/v1beta1/genesis.pulsar.go
#	api/cosmos/authz/v1beta1/query.pulsar.go
#	api/cosmos/authz/v1beta1/query_grpc.pb.go
#	api/cosmos/base/query/v1beta1/pagination.pulsar.go
#	api/cosmos/tx/signing/v1beta1/signing.pulsar.go
#	proto/cosmos/authz/v1beta1/genesis.proto
#	proto/cosmos/authz/v1beta1/query.proto
#	x/authz/authz.pb.go
#	x/authz/client/cli/query.go
#	x/authz/client/rest/grpc_query_test.go
#	x/authz/genesis.pb.go
#	x/authz/keeper/grpc_query.go
#	x/authz/keeper/grpc_query_test.go
#	x/authz/query.pb.go
#	x/authz/query.pb.gw.go

* fix conflicts

* remove doc

* remove scalar

* Apply suggestions from code review

Co-authored-by: Amaury <[email protected]>

* fix conflicts

* remove go-eth dep

Co-authored-by: Callum Waters <[email protected]>
Co-authored-by: marbar3778 <[email protected]>
Co-authored-by: Amaury <[email protected]>
* feat: EIP191 sign mode (#11533)

## Description

Adds [EIP-191](https://eips.ethereum.org/EIPS/eip-191) as a supported sign mode.

Ref: cosmos/cosmos-sdk#10553 (comment)
* chore: v0.45.2 Release Notes

* update changelog
…gov proposal (backport #11551) (#11574)

* feat: `ScheduleUpgradeNoHeightValidation` for automated upgrades w/o gov proposal (#11551)

## Description

Implements a `ScheduleUpgradeNoHeightValidation` function for chains to schedule an automated upgrade (using the `x/upgrade` module) without having to go through a governance proposal.

This is beneficial to coordinate upgrades without having to manually download the new version, do the migration and restart the chain.

This is the procedure Evmos used for its automated upgrade.
daeMOn63 and others added 14 commits April 26, 2022 10:26
* feat: add (re)delegation getters (#11596)

### Description

This PR adds general helper functions to the `x/staking` module that are used in the Evmos `x/vesting` module and originated from Agoric's custom staking module implementation https://github.com/agoric-labs/cosmos-sdk/blob/4085-true-vesting/x/staking/keeper/delegation.go.

- `GetDelegatorUnbonding`
- `GetDelegatorBonded`
- `IterateDelegatorUnbondingDelegations`
- `IterateDelegatorDelegations`
- `IterateDelegatorRedelegations`

(cherry picked from commit b8270fc)

# Conflicts:
#	CHANGELOG.md
#	x/staking/keeper/delegation.go

* fix RemoveDelegation method conflict

* fix CHANGELOG conflict

* add new PR in CHANGELOG

Co-authored-by: Daniel Burckhardt <[email protected]>
* feat: add vesting util functions (#11652)

* feat: add vesting util functions

* changelog

* revert string deletion

* fix build

* Update x/auth/vesting/types/period.go

Co-authored-by: Aleksandr Bezobchuk <[email protected]>

Co-authored-by: Aleksandr Bezobchuk <[email protected]>
Co-authored-by: Marko <[email protected]>
(cherry picked from commit c676952)

# Conflicts:
#	CHANGELOG.md
#	x/auth/vesting/types/period.go

* changelog

* Update x/auth/vesting/types/period.go

Co-authored-by: Federico Kunze Küllmer <[email protected]>
Co-authored-by: Federico Kunze Küllmer <[email protected]>
…simapp README (#11718) (#11719)

* Fix simapp README

* Revised review content

Co-authored-by: Julien Robert <[email protected]>
(cherry picked from commit d5e0b86)

Co-authored-by: Takahiko Tominaga <[email protected]>
@daeMOn63 daeMOn63 changed the title Upgrade v0.45.4 chore: upgrade v0.45.4 Apr 26, 2022
@daeMOn63 daeMOn63 merged commit 61366e1 into master Apr 27, 2022
@daeMOn63 daeMOn63 deleted the upgrade_v0.45.4 branch April 27, 2022 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants