You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Description
+ fixing `x/bank/migrations/v44.migrateDenomMetadata` - we could potentially put a wrong data in a new key if the old keys have variable length.
+ linting the code
Putting in the same PR because i found the issue when running a linter.
Depends on: cosmos#10112
---
### Author Checklist
*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*
I have...
- [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [x] added `!` to the type prefix if API or client breaking change
- [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [x] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed
### Reviewers Checklist
*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*
I have...
- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
Copy file name to clipboardexpand all lines: CONTRIBUTING.md
+13-9
Original file line number
Diff line number
Diff line change
@@ -23,11 +23,13 @@ discussion or proposing code changes. To ensure a smooth workflow for all
23
23
contributors, the general procedure for contributing has been established:
24
24
25
25
1. Start by browsing [new issues](https://github.com/cosmos/cosmos-sdk/issues) and [discussions](https://github.com/cosmos/cosmos-sdk/discussions). If you are looking for something interesting or if you have something in your mind, there is a chance it was has been discussed.
26
-
- Looking for a good place to start contributing? How about checking out some [good first issues](https://github.com/cosmos/cosmos-sdk/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)?
26
+
27
+
- Looking for a good place to start contributing? How about checking out some [good first issues](https://github.com/cosmos/cosmos-sdk/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)?
28
+
27
29
2. Determine whether a GitHub issue or discussion is more appropriate for your needs:
28
-
1. If want to propose something new that requires specification or an additional design, or you would like to change a process, start with a [new discussion](https://github.com/cosmos/cosmos-sdk/discussions/new). With discussions, we can better handle the design process using discussion threads. A discussion usually leads to one or more issues.
29
-
2. If the issue you want addressed is a specific proposal or a bug, then open a [new issue](https://github.com/cosmos/cosmos-sdk/issues/new/choose).
30
-
3. Review existing [issues](https://github.com/cosmos/cosmos-sdk/issues) to find an issue you'd like to help with.
30
+
1. If want to propose something new that requires specification or an additional design, or you would like to change a process, start with a [new discussion](https://github.com/cosmos/cosmos-sdk/discussions/new). With discussions, we can better handle the design process using discussion threads. A discussion usually leads to one or more issues.
31
+
2. If the issue you want addressed is a specific proposal or a bug, then open a [new issue](https://github.com/cosmos/cosmos-sdk/issues/new/choose).
32
+
3. Review existing [issues](https://github.com/cosmos/cosmos-sdk/issues) to find an issue you'd like to help with.
31
33
3. Participate in thoughtful discussion on that issue.
32
34
4. If you would like to contribute:
33
35
1. Ensure that the proposal has been accepted.
@@ -38,7 +40,7 @@ contributors, the general procedure for contributing has been established:
38
40
to begin work.
39
41
5. To submit your work as a contribution to the repository follow standard GitHub best practices. See [pull request guideline](#pull-requests) below.
40
42
41
-
**Note:** For very small or blatantly obvious problems such as typos, you are
43
+
**Note:** For very small or blatantly obvious problems such as typos, you are
42
44
not required to an open issue to submit a PR, but be aware that for more complex
43
45
problems/features, if a PR is opened before an adequate design discussion has
44
46
taken place in a GitHub issue, that PR runs a high likelihood of being rejected.
@@ -52,14 +54,14 @@ The developers are organized in working groups which are listed on a ["Working G
52
54
The important development announcements are shared on [Discord](https://discord.com/invite/cosmosnetwork) in the \#dev-announcements channel.
53
55
54
56
To synchronize we have few major meetings:
57
+
55
58
+ Architecture calls: bi-weekly on Fridays at 14:00 UTC (alternating with the grooming meeting below).
56
59
+ Grooming / Planning: bi-weekly on Fridays at 14:00 UTC (alternating with the architecture meeting above).
57
60
+ Cosmos Community SDK Development Call on the last Wednesday of every month at 17:00 UTC.
58
61
+ Cosmos Roadmap Prioritization every 4 weeks on Tuesday at 15:00 UTC (limited participation).
59
62
60
63
If you would like to join one of those calls, then please contact us on [Discord](https://discord.com/invite/cosmosnetwork) or reach out directly to Cory Levinson from Regen Network ([email protected]).
61
64
62
-
63
65
## Architecture Decision Records (ADR)
64
66
65
67
When proposing an architecture decision for the Cosmos SDK, please start by opening an [issue](https://github.com/cosmos/cosmos-sdk/issues/new/choose) or a [discussion](https://github.com/cosmos/cosmos-sdk/discussions/new) with a summary of the proposal. Once the proposal has been discussed and there is rough alignment on a high-level approach to the design, the [ADR creation process](https://github.com/cosmos/cosmos-sdk/blob/master/docs/architecture/PROCESS.md) can begin. We are following this process to ensure all involved parties are in agreement before any party begins coding the proposed implementation. If you would like to see examples of how these are written, please refer to the current [ADRs](https://github.com/cosmos/cosmos-sdk/tree/master/docs/architecture).
@@ -70,11 +72,11 @@ When proposing an architecture decision for the Cosmos SDK, please start by open
70
72
-`master` must never fail `make lint test test-race`.
71
73
- No `--force` onto `master` (except when reverting a broken commit, which should seldom happen).
72
74
- Create a branch to start a wok:
73
-
- Fork the repo (core developers must create a branch directly in the Cosmos SDK repo),
75
+
- Fork the repo (core developers must create a branch directly in the Cosmos SDK repo),
74
76
branch from the HEAD of `master`, make some commits, and submit a PR to `master`.
75
-
- For core developers working within the `cosmos-sdk` repo, follow branch name conventions to ensure a clear
77
+
- For core developers working within the `cosmos-sdk` repo, follow branch name conventions to ensure a clear
76
78
ownership of branches: `{moniker}/{issue#}-branch-name`.
77
-
- See [Branching Model](#branching-model-and-release) for more details.
79
+
- See [Branching Model](#branching-model-and-release) for more details.
78
80
- Be sure to run `make format` before every commit. The easiest way
79
81
to do this is have your editor run it for you upon saving a file (most of the editors
80
82
will do it anyway using a pre-configured setup of the programming language mode).
@@ -92,10 +94,12 @@ Tests can be executed by running `make test` at the top level of the Cosmos SDK
92
94
### Pull Requests
93
95
94
96
Before submitting a pull request:
97
+
95
98
- merge the latest master `git merge origin/master`,
96
99
- run `make lint test` to ensure that all checks and tests pass.
97
100
98
101
Then:
102
+
99
103
1. If you have something to show, **start with a `Draft` PR**. It's good to have early validation of your work and we highly recommend this practice. A Draft PR also indicates to the community that the work is in progress.
100
104
Draft PRs also helps the core team provide early feedback and ensure the work is in the right direction.
101
105
2. When the code is complete, change your PR from `Draft` to `Ready for Review`.
Copy file name to clipboardexpand all lines: RELEASE_PROCESS.md
+15-14
Original file line number
Diff line number
Diff line change
@@ -7,33 +7,35 @@ This document outlines the process for releasing a new version of Cosmos SDK, wh
7
7
A _major release_ is an increment of the first number (eg: `v1.2` → `v2.0.0`) or the _point number_ (eg: `v1.1 → v1.2.0`, also called _point release_). Each major release opens a _stable release series_ and receives updates outlined in the [Major Release Maintenance](#major-release-maintenance)_section.
8
8
9
9
Before making a new _major_ release we do beta and release candidate releases. For example, for release 1.0.0:
- Release a first beta version on the `master` branch and freeze `master` from receiving any new features. After beta is released, we focus on releasing the release candidate:
15
-
- finish audits and reviews
16
-
- kick off a large round of simulation testing (e.g. 400 seeds for 2k blocks)
17
-
- perform functional tests
18
-
- add more tests
19
-
- release new beta version as the bugs are discovered and fixed.
16
+
- finish audits and reviews
17
+
- kick off a large round of simulation testing (e.g. 400 seeds for 2k blocks)
18
+
- perform functional tests
19
+
- add more tests
20
+
- release new beta version as the bugs are discovered and fixed.
20
21
- After the team feels that the `master` works fine we create a `release/vY` branch (going forward known a release branch), where `Y` is the version number, with the patch part substituted to `x` (eg: 0.42.x, 1.0.x). Ensure the release branch is protected so that pushes against the release branch are permitted only by the release manager or release coordinator.
21
22
-**PRs targeting this branch can be merged _only_ when exceptional circumstances arise**
22
23
- update the GitHub mergify integration by adding instructions for automatically backporting commits from `master` to the `release/vY` using the `backport/Y` label.
23
24
- In the release branch, prepare a new version section in the `CHANGELOG.md`
24
25
- All links must be link-ified: `$ python ./scripts/linkify_changelog.py CHANGELOG.md`
25
26
- Copy the entries into a `RELEASE_CHANGELOG.md`, this is needed so the bot knows which entries to add to the release page on GitHub.
26
27
- Create a new annotated git tag for a release candidate (eg: `git tag -a v1.1.0-rc1`) in the release branch.
27
-
- from this point we unfreeze master.
28
-
- the SDK teams collaborate and do their best to run testnets in order to validate the release.
29
-
- when bugs are found, create a PR for `master`, and backport fixes to the release branch.
30
-
- create new release candidate tags after bugs are fixed.
28
+
- from this point we unfreeze master.
29
+
- the SDK teams collaborate and do their best to run testnets in order to validate the release.
30
+
- when bugs are found, create a PR for `master`, and backport fixes to the release branch.
31
+
- create new release candidate tags after bugs are fixed.
31
32
- After the team feels the release branch is stable and everything works, create a full release:
32
-
- update `CHANGELOG.md`.
33
-
- create a new annotated git tag (eg `git -a v1.1.0`) in the release branch.
34
-
- Create a GitHub release.
33
+
- update `CHANGELOG.md`.
34
+
- create a new annotated git tag (eg `git -a v1.1.0`) in the release branch.
35
+
- Create a GitHub release.
35
36
36
37
Following _semver_ philosophy, point releases after `v1.0`:
38
+
37
39
- must not break API
38
40
- can break consensus
39
41
@@ -54,11 +56,11 @@ Lastly, it is core team's responsibility to ensure that the PR meets all the SRU
54
56
Point Release must follow the [Stable Release Policy](#stable-release-policy).
55
57
56
58
After the release branch has all commits required for the next patch release:
59
+
57
60
- update `CHANGELOG.md`.
58
61
- create a new annotated git tag (eg `git -a v1.1.0`) in the release branch.
59
62
- Create a GitHub release.
60
63
61
-
62
64
## Major Release Maintenance
63
65
64
66
Major Release series continue to receive bug fixes (released as a Patch Release) until they reach **End Of Life**.
@@ -70,7 +72,6 @@ Only the following major release series have a stable release status:
70
72
***0.42 «Stargate»** will be supported until 6 months after **0.43.0** is published. A fairly strict **bugfix-only** rule applies to pull requests that are requested to be included into a stable point-release.
Copy file name to clipboardexpand all lines: contrib/rosetta/README.md
+1
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,7 @@ Contains the required files to set up rosetta cli and make it work against its w
20
20
Contains the files for a deterministic network, with fixed keys and some actions on there, to test parsing of msgs and historical balances. This image is used to run a simapp node and to run the rosetta server.
21
21
22
22
## Rosetta-cli
23
+
23
24
The docker image for ./rosetta-cli/Dockerfile is on [docker hub](https://hub.docker.com/r/tendermintdev/rosetta-cli). Whenever rosetta-cli releases a new version, rosetta-cli/Dockerfile should be updated to reflect the new version and pushed to docker hub.
### Command Line Arguments And Environment Variables
59
61
60
62
The first argument passed to `cosmovisor` is the action for `cosmovisor` to take. Options are:
63
+
61
64
*`help`, `--help`, or `-h` - Output `cosmovisor` help information and check your `cosmovisor` configuration.
62
65
*`run` - Run the configured binary using the rest of the provided arguments.
63
66
*`version`, or `--version` - Output the `cosmovisor` version and also run the binary with the `version` argument.
@@ -124,12 +127,14 @@ The `DAEMON` specific code and operations (e.g. tendermint config, the applicati
124
127
125
128
`cosmovisor` is polling the `$DAEMON_HOME/data/upgrade-info.json` file for new upgrade instructions. The file is created by the x/upgrade module in `BeginBlocker` when an upgrade is detected and the blockchain reaches the upgrade height.
126
129
The following heuristic is applied to detect the upgrade:
130
+
127
131
+ When starting, `cosmovisor` doesn't know much about currently running upgrade, except the binary which is `current/bin/`. It tries to read the `current/update-info.json` file to get information about the current upgrade name.
128
132
+ If neither `cosmovisor/current/upgrade-info.json` nor `data/upgrade-info.json` exist, then `cosmovisor` will wait for `data/upgrade-info.json` file to trigger an upgrade.
129
133
+ If `cosmovisor/current/upgrade-info.json` doesn't exist but `data/upgrade-info.json` exists, then `cosmovisor` assumes that whatever is in `data/upgrade-info.json` is a valid upgrade request. In this case `cosmovisor` tries immediately to make an upgrade according to the `name` attribute in `data/upgrade-info.json`.
130
134
+ Otherwise, `cosmovisor` waits for changes in `upgrade-info.json`. As soon as a new upgrade name is recorded in the file, `cosmovisor` will trigger an upgrade mechanism.
131
135
132
136
When the upgrade mechanism is triggered, `cosmovisor` will:
137
+
133
138
1. if `DAEMON_ALLOW_DOWNLOAD_BINARIES` is enabled, start by auto-downloading a new binary into `cosmovisor/<name>/bin` (where `<name>` is the `upgrade-info.json:name` attribute);
134
139
2. update the `current` symbolic link to point to the new directory and save `data/upgrade-info.json` to `cosmovisor/current/upgrade-info.json`.
0 commit comments