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: update 02-client-refactor branch with latest main #1286

Merged
merged 91 commits into from
Apr 26, 2022
Merged
Show file tree
Hide file tree
Changes from 90 commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
8f62a47
refactor: allow the mock module to be used multiple times as base ibc…
colin-axner Feb 10, 2022
843b459
feat: adding Pack/Unpack acknowledgement helper fns (#895)
seantking Feb 10, 2022
fb2f041
imp: support custom keys for testing (#893)
fedekunze Feb 10, 2022
c27d5b5
chore: add ParsePacketFromEvents testing helper function (#904)
colin-axner Feb 14, 2022
afa2d90
fix: correctly claim capability for mock module, handle genesis expor…
colin-axner Feb 15, 2022
d31f92d
docs: update migration docs for upgrade proposal in relation to ICS27…
colin-axner Feb 15, 2022
f442721
chore(ica): add trail of bits audit report (#903)
Feb 16, 2022
20dd5ca
testing: adding multiple sender accounts for testing purposes (#935)
seantking Feb 17, 2022
98f4d3a
Create test chain with multiple validators (#942)
AdityaSripal Feb 17, 2022
52e3ae5
add changelog entry for SDK bump
Feb 18, 2022
d48f576
fix: classify client states without consensus states as expired (#941)
timlind Feb 22, 2022
01cd4ad
chore: fix broken link (#972)
colin-axner Feb 22, 2022
9fcf254
add backport actions for v1.3.x and v2.1.x (#958)
Feb 22, 2022
08d38d4
Revert "feat: adding Pack/Unpack acknowledgement helper fns (#895)" (…
colin-axner Feb 23, 2022
ef34765
chore: update migration docs (#985)
colin-axner Feb 23, 2022
556cc01
chore: fix mispelled words (#991)
seantking Feb 24, 2022
04ab3cb
fix: remove go mod tidy from proto-gen script (#989)
seantking Feb 24, 2022
4545154
bug: support base denoms with slashes (#978)
Feb 28, 2022
9d8be7c
upgrade ics23 to v0.7 (#948)
Feb 28, 2022
6d6888b
ibctesting: make `testing.T` public (#1020)
fedekunze Feb 28, 2022
e1be19b
add changelog entry for #941
Mar 1, 2022
f994d1e
fix package import (#1007)
Mar 1, 2022
147e0f1
feat: Add a function to initialize the ICS27 module via an upgrade pr…
colin-axner Mar 1, 2022
f71a505
docs: add missing args to NewKeeper in integration docs (#1038)
daeMOn63 Mar 3, 2022
a55ca88
small fixes for v2 to v3 migration (#1016)
Mar 4, 2022
029c6e9
add missing slash
Mar 4, 2022
7ae90c2
build(deps): bump actions/checkout from 2.4.0 to 3 (#1045)
dependabot[bot] Mar 7, 2022
fc452ac
call packet.GetSequence() rather than passing the func as argument (#…
Mar 7, 2022
13df199
Add counterpartyChannelID param to IBCModule.OnChanOpenAck (#1086)
catShaark Mar 9, 2022
90a7e5f
fix mirgation docs (#1091)
colin-axner Mar 9, 2022
a7563c9
fix: handle testing update client errors (#1094)
fedekunze Mar 9, 2022
f0b94df
replace channel keeper with IBC keeper in AnteDecorator (#950)
Mar 10, 2022
d40f1da
add backport rules for v1.4.x and v2.2.x (#1085)
Mar 10, 2022
c32e4be
ibctesting: custom voting power reduction for testing (#939)
fedekunze Mar 11, 2022
3f8858a
build(deps): bump github.com/spf13/cobra from 1.3.0 to 1.4.0 (#1105)
dependabot[bot] Mar 14, 2022
e0ae0cd
build(deps): bump google.golang.org/grpc from 1.44.0 to 1.45.0 (#1098)
dependabot[bot] Mar 14, 2022
0a81a52
fix: adjust InitModule to account for empty controller and host keepe…
colin-axner Mar 15, 2022
13bc4a0
Merge pull request from GHSA-j658-c98j-fww4
crodriguezvega Mar 15, 2022
4fe874e
fixes for the documentation about handling ack for SDK <= 0.45 (#1122)
Mar 15, 2022
9e2cbc2
Allow testing to update ValidatorSet (#1003)
AdityaSripal Mar 16, 2022
c0675ee
imp: create codeql-analysis action (#1128)
fedekunze Mar 16, 2022
f83aa82
update changelog (#1131)
Mar 16, 2022
fb7a230
build(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.1 (#1…
dependabot[bot] Mar 17, 2022
dbd2df2
call packet.GetSequence() rather than passing the func as argument (#…
Mar 17, 2022
5cf580c
fix: prefix ResponseResultType enum for proto linting (#1143)
damiannolan Mar 21, 2022
163fbc4
build(deps): bump actions/cache from 2.1.7 to 3 (#1150)
dependabot[bot] Mar 21, 2022
40f9da1
fixes for go-releaser configuration (#1148)
Mar 21, 2022
a776e47
add banner image (#1158)
Mar 22, 2022
1994802
Add alpha, beta, and rc release definitions (#1151)
colin-axner Mar 22, 2022
f4a5dcb
build(deps): bump google.golang.org/protobuf from 1.27.1 to 1.28.0 (#…
dependabot[bot] Mar 22, 2022
1468382
fix typos in the controller params (#1172)
Mar 28, 2022
46b2720
add versions for new releases (#1175)
Mar 28, 2022
b132515
fix: link checker reporting broken milestone link (#1200)
damiannolan Mar 30, 2022
92cedb1
update roadmap for q2 2022 and deleted history roadmap (don't think w…
crodriguezvega Mar 31, 2022
ccc4cb8
requirements document for ICA (#1173)
Mar 31, 2022
ffa9896
imp: improve Logger performance (#1160)
fedekunze Apr 5, 2022
4271027
ICS 29: Fee Middleware (#276)
AdityaSripal Apr 6, 2022
7447b60
build(deps): bump codecov/codecov-action from 2.1.0 to 3 (#1222)
dependabot[bot] Apr 6, 2022
76e0c24
ics29: feat: CLI query commands for packets (#1229)
seantking Apr 7, 2022
35427da
add check for blocked addr for forward relayer distribution (#1231)
seantking Apr 7, 2022
89c8cf8
feat: ics29 counterparty address grpc query and CLI (#1224)
damiannolan Apr 7, 2022
8451c63
chore: fix go ctx arg naming in ics29 grpc queries (#1226)
damiannolan Apr 7, 2022
0be0d79
chore: ics29 module housekeeping cleanup (#1227)
damiannolan Apr 7, 2022
f4675d3
feat: ics29 fee enabled channel queries (#1225)
damiannolan Apr 7, 2022
311379f
chore: cleanup OnAcknowledgement and OnTimeout code ics29 (#1228)
damiannolan Apr 7, 2022
c5897ae
add changelog entry for #276 (#1233)
Apr 8, 2022
b71bbf2
feat: adding CLI for getting incentivized packets on a specific chann…
seantking Apr 8, 2022
c7209a5
chore: ics29 cleanup, addressing nits (#1236)
damiannolan Apr 11, 2022
d43fd0a
refactor: moving fn definition to bottom of file and switching params…
seantking Apr 11, 2022
a6342fd
feat: allow ability to lock fee module in presence of severe bug (#…
colin-axner Apr 11, 2022
aee7763
build(deps): bump actions/download-artifact from 2 to 3 (#1241)
dependabot[bot] Apr 12, 2022
8c264a8
build(deps): bump actions/upload-artifact from 2 to 3 (#1240)
dependabot[bot] Apr 12, 2022
caeb122
build(deps): bump actions/setup-go from 2 to 3 (#1242)
dependabot[bot] Apr 12, 2022
1d3c146
build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.1 to 0.45.3 …
dependabot[bot] Apr 12, 2022
960a49e
chore(ics29): refund fees on distribution failure (#1245)
damiannolan Apr 12, 2022
e59a6d2
refactor: Fix RefundFeesOnChannel (#1244)
colin-axner Apr 13, 2022
f636ee3
deprecate GetTransferAccount (#1250)
Apr 13, 2022
31d5776
docs: replace links in apps with correct ones (#1255)
Apr 14, 2022
4872c4b
update godoc of `RegisterInterchainAccount` (#1256)
Apr 14, 2022
eaff98b
isolate packet fee distribution for on acknowledgement and on timeout…
colin-axner Apr 14, 2022
2120d2e
Update supported release lines (#1263)
Apr 14, 2022
63c5341
ics29: gracefully handle escrow out of balance edge case during fee d…
colin-axner Apr 14, 2022
2ab4359
build(deps): bump github.com/spf13/viper from 1.10.1 to 1.11.0 (#1264)
dependabot[bot] Apr 14, 2022
acb0e9f
chore(ics29): make EscrowPacketFee private (#1252)
damiannolan Apr 14, 2022
23fccc5
add missing changelog entry for bump of sdk 0.45.3 (#1272)
Apr 19, 2022
86638c2
feat: Add GetAppVersion to ICS4Wrapper (#1022)
colin-axner Apr 20, 2022
16921d9
make URI path for getting all incentivized packets for channel consis…
Apr 21, 2022
a187803
chore : add selected channel version to MsgChanOpenInitResponse and M…
vuong177 Apr 21, 2022
763bdf8
Merge branch 'main' into damian/02-client-merge-main
damiannolan Apr 22, 2022
cecf046
fixing workflow/test.yml merge
damiannolan Apr 22, 2022
f96c3e0
Merge branch '02-client-refactor' into damian/02-client-merge-main
damiannolan Apr 26, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ name: Release
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+-?[a-z0-9]*' # Push events to matching v*, i.e. v1.0.0, v20.15.10, v3.0.0-alpha1
- 'v[0-9]+.[0-9]+.[0-9]+' # Push events to matching v*, i.e. v1.0.0, v20.15.10
- 'v[0-9]+.[0-9]+.[0-9]+-?[a-z0-9]+' # Push events to matching v*-[alpha/beta/rc], i.e. v3.0.0-alpha1, v3.0.0-beta1, v3.0.0-rc0

jobs:
goreleaser:
Expand All @@ -14,7 +15,7 @@ jobs:
with:
fetch-depth: 0

- uses: actions/setup-go@v2
- uses: actions/setup-go@v3
with:
go-version: '1.17'

Expand Down
30 changes: 15 additions & 15 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ jobs:
install-tparse:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v2.1.5
- uses: actions/setup-go@v3
with:
go-version: 1.17
- name: Display go version
run: go version
- name: install tparse
run: |
export GO111MODULE="on" && go get github.com/mfridman/tparse@v0.8.3
- uses: actions/cache@v2.1.7
- uses: actions/cache@v3
with:
path: ~/go/bin
key: ${{ runner.os }}-go-tparse-binary
Expand All @@ -38,7 +38,7 @@ jobs:
go-arch: ["amd64", "arm", "arm64"]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v2.1.5
- uses: actions/setup-go@v3
with:
go-version: 1.17
- uses: technote-space/get-diff-action@v6.0.1
Expand All @@ -60,19 +60,19 @@ jobs:
- name: Split pkgs into 4 files
run: split -d -n l/4 pkgs.txt pkgs.txt.part.
# cache multiple
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: "${{ github.sha }}-00"
path: ./pkgs.txt.part.00
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: "${{ github.sha }}-01"
path: ./pkgs.txt.part.01
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: "${{ github.sha }}-02"
path: ./pkgs.txt.part.02
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: "${{ github.sha }}-03"
path: ./pkgs.txt.part.03
Expand All @@ -86,7 +86,7 @@ jobs:
part: ["00", "01", "02", "03"]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v2.1.5
- uses: actions/setup-go@v3
with:
go-version: 1.17
- uses: technote-space/get-diff-action@v6.0.1
Expand All @@ -95,15 +95,15 @@ jobs:
**/**.go
go.mod
go.sum
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: "${{ github.sha }}-${{ matrix.part }}"
if: env.GIT_DIFF
- name: test & coverage report creation
run: |
cat pkgs.txt.part.${{ matrix.part }} | xargs go test -race -mod=readonly -timeout 30m -coverprofile=${{ matrix.part }}profile.out -covermode=atomic -tags='ledger test_ledger_mock'
if: env.GIT_DIFF
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: "${{ github.sha }}-${{ matrix.part }}-coverage"
path: ./${{ matrix.part }}profile.out
Expand All @@ -119,19 +119,19 @@ jobs:
**/**.go
go.mod
go.sum
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: "${{ github.sha }}-00-coverage"
if: env.GIT_DIFF
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: "${{ github.sha }}-01-coverage"
if: env.GIT_DIFF
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: "${{ github.sha }}-02-coverage"
if: env.GIT_DIFF
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: "${{ github.sha }}-03-coverage"
if: env.GIT_DIFF
Expand All @@ -150,7 +150,7 @@ jobs:
sed -i.bak "/$(echo $filename | sed 's/\//\\\//g')/d" coverage.txt
done
if: env.GIT_DIFF
- uses: codecov/codecov-action@v2.1.0
- uses: codecov/codecov-action@v3
with:
file: ./coverage.txt
if: env.GIT_DIFF
3 changes: 2 additions & 1 deletion .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ checksum:

release:
mode: keep-existing
prerelease: auto

archives:
- name_template: "{{ .ProjectName }}_simd_v{{ .Version }}_{{ .Os }}_{{ .Arch }}"
Expand All @@ -32,4 +33,4 @@ archives:
- README.md
- RELEASES.md
- SECURITY.md
- CHANGELOG.md
- CHANGELOG.md
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,20 @@ Ref: https://keepachangelog.com/en/1.0.0/

### Dependencies

* [\#1247](https://github.com/cosmos/ibc-go/pull/1247) Bump SDK version to v0.45.3 and Tendermint to version 0.34.19

### API Breaking

* (transfer) [\#1250](https://github.com/cosmos/ibc-go/pull/1250) Deprecate `GetTransferAccount` since the `transfer` module account is never used.

### State Machine Breaking

### Improvements

* (middleware) [\#1022](https://github.com/cosmos/ibc-go/pull/1022) Add `GetAppVersion` to the ICS4Wrapper interface. This function should be used by IBC applications to obtain their own version since the version set in the channel structure may be wrapped many times by middleware.
* (modules/core/04-channel) [\#1160](https://github.com/cosmos/ibc-go/pull/1160) Improve `uint64 -> string` performance in `Logger`.
* (modules/core/04-channel) [\#1232](https://github.com/cosmos/ibc-go/pull/1232) Updating params on `NewPacketId` and moving to bottom of file.
* (modules/core/04-channel) [\#1279](https://github.com/cosmos/ibc-go/pull/1279) Add selected channel version to MsgChanOpenInitResponse and MsgChanOpenTryResponse. Emit channel version during OpenInit/OpenTry
* (modules/core/02-client) [\#1188](https://github.com/cosmos/ibc-go/pull/1188/files) Routing `MsgSubmitMisbehaviour` to `UpdateClient` keeper function. Deprecating `SubmitMisbehaviour` endpoint.
* (modules/core/02-client) [\#1208](https://github.com/cosmos/ibc-go/pull/1208) Replace `CheckHeaderAndUpdateState` usage in 02-client with calls to `VerifyClientMessage`, `CheckForMisbehaviour`, `UpdateStateOnMisbehaviour` and `UpdateState`.
* (modules/light-clients/09-localhost) [\#1187](https://github.com/cosmos/ibc-go/pull/1187/) Removing localhost light client implementation as it is not functional.
Expand All @@ -57,9 +66,16 @@ Ref: https://keepachangelog.com/en/1.0.0/

### Features

* [\#276](https://github.com/cosmos/ibc-go/pull/276) Adding the Fee Middleware module v1
* (apps/29-fee) [\#1229](https://github.com/cosmos/ibc-go/pull/1229) Adding CLI commands for getting all unrelayed incentivized packets and packet by packet-id.
* (apps/29-fee) [\#1224](https://github.com/cosmos/ibc-go/pull/1224) Adding Query/CounterpartyAddress and CLI to ICS29 fee middleware
* (apps/29-fee) [\#1225](https://github.com/cosmos/ibc-go/pull/1225) Adding Query/FeeEnabledChannel and Query/FeeEnabledChannels with CLIs to ICS29 fee middleware.
* (modules/apps/29-fee) [\#1230](https://github.com/cosmos/ibc-go/pull/1230) Adding CLI command for getting incentivized packets for a specific channel-id.

### Bug Fixes

* (modules/core/04-channel) [\#1130](https://github.com/cosmos/ibc-go/pull/1130) Call `packet.GetSequence()` rather than passing func in `WriteAcknowledgement` log output
* (apps/29-fee) [\#1278](https://github.com/cosmos/ibc-go/pull/1278) The URI path for the query to get all incentivized packets for a specifc channel did not follow the same format as the rest of queries.

## [v3.0.0](https://github.com/cosmos/ibc-go/releases/tag/v3.0.0) - 2022-03-15

Expand Down
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# ibc-go
<div align="center">
<h1>ibc-go</h1>
</div>

![banner](docs/ibc-go-image.png)

<div align="center">
<a href="https://github.com/cosmos/ibc-go/releases/latest">
<img alt="Version" src="https://img.shields.io/github/tag/cosmos/ibc-go.svg" />
Expand Down
40 changes: 37 additions & 3 deletions RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,38 @@ To summarize: **All our ibc-go releases allow chains to communicate successfully

We ensure all major releases are supported by relayers ([hermes](https://github.com/informalsystems/ibc-rs), [rly](https://github.com/strangelove-ventures/relayer) and [ts-relayer](https://github.com/confio/ts-relayer) at the moment) which can relay between the new major release and older releases. We have no plans of upgrading to an IBC protocol specification v2.0, as this would be very disruptive to the ecosystem.

## Release cycle

IBC-Go follows a traditional release cycle involving an alpha, beta, and rc (release candidate) releases before finalizing a new version. As ibc-go works in a non-traditional area, we apply our own interpretation to each release type. We reserve the right to make both go API breaking changes and state machine breaking changes throughout the entire release cycle. The stable release guarentees do not go into affect until a final release is performed.

It is never advisable to use a non-final release in production.

### Alpha

Alpha releases are intended to make available new features as soon as they are functional. No correctness guarentees are made and alpha releases **may** contain serious security vulnerabilities, bugs, and lack of user tooling, so long as they don't affect the core functionality.

Initial users of alpha releases are expected to be advanced, patient, and capable of handling unusual errors. Very basic integration testing will be performed by the ibc-go development team before alpha releases.

An internal audit is typically performed before the alpha release allowing the development team to guage the maturity and stability of changes included in the next release.

### Beta

Beta releases are intended to signal design stability. While the go API is still subject to change, the core design of the new features should not be. Developers integrating the new features should expect to handle breaking changes when upgrading to RC's.

Beta releases should not be made with known bugs or security vulnerabilities. Beta releases should focus on ironing out remaining bugs and filling out the UX functionality required by a final release. Beta releases should have a clearly defined scope of the features that will be included in the release. Only highly requested feature additions should be acted upon in this phase.

When the development team has determined a release is ready to enter the RC phase, a final security audit should be performed. The security audit should be limited to looking for bugs and security vulnerabilities. Code improvements may be noted, but they should not be acted upon unless highly desirable.

### RC

RC's are release candidates. Final releases should contain little to no changes in comparison to the latest RC. Changes included in between RC releases should be limited to:
- Improved testing
- UX additions
- Bug fixes
- Highly requested changes by the community

A release should not be finalized until the development team and the external community have done sufficient integration tests on the targeted release.

## Stable Release Policy

The beginning of a new major release series is marked by the release of a new major version. A major release series is comprised of all minor and patch releases made under the same major version number. The series continues to receive bug fixes (released as minor or patch releases) until it reaches end of life. The date when a major release series reaches end of life is determined by one of the two following methods:
Expand All @@ -33,9 +65,11 @@ Only the following major release series have a stable release status:

|Release|End of Life Date|
|-------|-------|
|`v1.1.x`|July 01, 2022|
|`v1.2.x`|July 01, 2022|
|`v2.0.x`|February 01, 2023|
|`v1.3.x`|July 01, 2022|
|`v1.4.x`|July 01, 2022|
|`v2.1.x`|February 01, 2023|
|`v2.2.x`|February 01, 2023|
|`v3.0.x`|March 15, 2023|

**Note**: The v1 major release series will reach end of life 6 months after merging this policy. v2 will reach end of life one year after merging this policy.

Expand Down
22 changes: 21 additions & 1 deletion docs/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,30 @@ module.exports = {
"label": "v1.2.0",
"key": "v1.2.0"
},
{
"label": "v1.3.0",
"key": "v1.3.0"
},
{
"label": "v1.4.0",
"key": "v1.4.0"
},
{
"label": "v2.0.0",
"key": "v2.0.0"
}
} ,
{
"label": "v2.1.0",
"key": "v2.1.0"
},
{
"label": "v2.2.0",
"key": "v2.2.0"
},
{
"label": "v3.0.0",
"key": "v3.0.0"
}
],
topbar: {
banner: true
Expand Down
Loading