Skip to content

Releases: regen-network/regen-ledger

v6.0.0-rc1

27 Dec 18:10
3feca2b
Compare
Choose a tag to compare
v6.0.0-rc1 Pre-release
Pre-release

Changelog

  • 3feca2b feat: upgrade Cosmos SDK to v0.47 (#2162)
  • 3d818cf chore: version bump for ledger-cosmos-go (#2191)
  • 0cda6aa feat(x/data)!: support public resolvers for IPFS support (#2098)
  • 5fb7e60 feat(x/ecocredit/marketplace): implement buyer and seller fees (#2154)
  • 3b21ecd feat(x/ecocredit): independent project API (#2150)
  • 45044a3 feat(x/ecocredit/marketplace): marketplace fee API (#2151)
  • 1636a79 chore: update deps (#2155)
  • 6893915 build(deps): Bump github.com/dvsekhvalnov/jose2go from 1.5.0 to 1.6.0 (#2128)
  • 820e9a0 chore: add missing CHANGELOG entries and fix proto-gen (#2149)
  • 02817c7 chore(setup): upgrade go to 1.21 (#2147)
  • 07b923f build(deps): Bump golang.org/x/crypto from 0.7.0 to 0.17.0 in /types (#2116)
  • e5ed937 build(deps): Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /x/data (#2115)
  • 5b3d656 build(deps): Bump golang.org/x/crypto from 0.9.0 to 0.17.0 in /x/ecocredit (#2117)
  • d4006b7 build(deps): Bump golang.org/x/crypto from 0.9.0 to 0.17.0 in /x/intertx (#2130)
  • 3c62b20 build(deps-dev): Bump dotenv from 16.3.1 to 16.4.1 in /docs (#2144)
  • 404412b build(deps): Bump github.com/regen-network/gocuke from 0.6.3 to 1.1.0 in /x/data (#2135)
  • 53ed6d2 feat(x/data)!: enable off-chain coordination of supported algorithms (#2102)
  • 35b8b47 feat(x/ecocredit): add BurnRegen method (#2107)
  • 0936200 chore(ci): bump golang-ci linter (#2148)
  • b0683a7 build(deps): Bump golang.org/x/crypto from 0.14.0 to 0.17.0 (#2114)
  • 54cb6bb feat: add pruning subcommand (#2124)
  • 5d4fd33 build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0 (#2061)
  • 6068be9 feat(docs): add sitemap (#2066)
  • bb2149a build(deps): Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 in /x/ecocredit (#2058)
  • 408e69f build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#2057)
  • b424741 build(deps): Bump postcss from 8.4.24 to 8.4.31 in /docs (#2054)
  • 8091a19 build(deps): Bump golang.org/x/crypto from 0.13.0 to 0.14.0 in /x/data (#2053)
  • 75ca41b docs: add regen faucet page link (#2052)
  • 57b7599 build(deps): Bump github.com/rs/zerolog from 1.30.0 to 1.31.0 (#2050)
  • be9ac96 build(deps): Bump google.golang.org/grpc from 1.58.1 to 1.58.2 (#2048)
  • 1f77104 build(deps): Bump gotest.tools/v3 from 3.5.0 to 3.5.1 (#2045)
  • b906871 build(deps): Bump google.golang.org/grpc from 1.58.0 to 1.58.1 (#2040)
  • d06be67 build(deps): Bump docker/setup-qemu-action from 2 to 3 (#2038)
  • b37776a build(deps): Bump docker/setup-buildx-action from 2 to 3 (#2037)
  • 7b03f8c build(deps): Bump google.golang.org/grpc from 1.57.0 to 1.58.0 (#2036)
  • 21734c1 build(deps): Bump golang.org/x/crypto from 0.12.0 to 0.13.0 in /x/data (#2032)
  • 6fd8cbe build(deps): Bump actions/checkout from 3 to 4 (#2031)
  • d62f099 build(deps-dev): Bump @vuepress/plugin-google-analytics from 2.0.0-beta.66 to 2.0.0-beta.67 in /docs (#2030)
  • 791d6d0 build(deps-dev): Bump vuepress-vite from 2.0.0-beta.66 to 2.0.0-beta.67 in /docs (#2029)
  • b16e8d6 docs: add note about credit type to credit class tutorial (#2026)
  • 69d2817 docs: update governance proposal tutorial (#1991)
  • 1833261 build(deps): Bump cosmossdk.io/math from 1.0.1 to 1.1.2 (#2024)
  • 43a7241 build(deps): Bump github.com/cosmos/gogoproto from 1.4.10 to 1.4.11 (#2017)
  • d4a7538 build(deps): Bump pgregory.net/rapid from 1.0.1 to 1.1.0 (#2015)
  • 094ebba build(deps): Bump golang.org/x/crypto from 0.11.0 to 0.12.0 in /x/data (#2013)
  • 2f73607 build(deps): Bump pgregory.net/rapid from 1.0.0 to 1.0.1 (#2012)
  • 1888a20 docs: update company title from inc to pbc (#2009)
  • f9da345 build(deps): Bump github.com/rs/zerolog from 1.29.1 to 1.30.0 (#2007)
  • 873e80c build(deps): Bump github.com/regen-network/gocuke from 0.6.2 to 0.6.3 (#2004)
  • 2f91831 build(deps): Bump google.golang.org/grpc from 1.56.2 to 1.57.0 (#1998)
  • ff0344c build(deps): Bump cosmossdk.io/errors from 1.0.0-beta.7 to 1.0.0 (#1992)
  • 0a2de30 build(deps-dev): Bump @vuepress/plugin-google-analytics from 2.0.0-beta.64 to 2.0.0-beta.66 in /docs (#1996)
  • d711e50 build(deps-dev): Bump vuepress-vite from 2.0.0-beta.64 to 2.0.0-beta.66 in /docs (#1995)
  • 491bf2c build(deps): Bump google.golang.org/grpc from 1.56.1 to 1.56.2 (#1988)
  • f8c5745 build(deps): Bump google.golang.org/grpc from 1.56.1 to 1.56.2 in /x/data (#1985)
  • 763d14b docs: add copy to clip for code snippets (#1981)
  • 9797e46 build(deps): Bump golang.org/x/crypto from 0.10.0 to 0.11.0 in /x/data (#1982)
  • fbc88ae docs: add note about json-ld filepath (#1983)
  • 9c55344 build(deps-dev): Bump @vuepress/plugin-google-analytics from 2.0.0-beta.63 to 2.0.0-beta.64 in /docs (#1979)
  • 201cc24 build(deps-dev): Bump vuepress-vite from 2.0.0-beta.63 to 2.0.0-beta.64 in /docs (#1978)
  • 4b53e6f docs: add and update introduction and get started (#1976)
  • c4b5e6a docs: credit class, project, and batch tutorial (#1965)
  • 4b2b250 build(deps): Bump gotest.tools/v3 from 3.4.0 to 3.5.0 (#1973)
  • 993df5b docs: add update for min-gas-prices in local-testnet tutorial (#1970)
  • d0de612 build(deps): Bump google.golang.org/protobuf from 1.30.0 to 1.31.0 (#1969)
  • 00ffb37 build(deps): Bump google.golang.org/grpc from 1.56.0 to 1.56.1 (#1963)
  • ea32d99 docs: upgrade vuepress to v2 (#1958)
  • 316306e build(deps): Bump google.golang.org/grpc from 1.55.0 to 1.56.0 (#1956)
  • 0fd3288 build(deps): Bump golang.org/x/crypto from 0.9.0 to 0.10.0 in /x/data (#1949)
  • ad33351 build(deps): Bump pgregory.net/rapid from 0.7.1 to 1.0.0 (#1948)
  • 10a3ab0 build(deps-dev): Bump dotenv from 16.1.4 to 16.3.1 in /docs (#1955)
  • da64bc8 build(deps): Bump pgregory.net/rapid from 0.6.2 to 0.7.1 (#1947)
  • 52dcf62 build(deps): Bump pgregory.net/rapid from 0.6.1 to 0.6.2 (#1941)
  • c85380b chore: v5.1.2 release updates (#1942)
  • ee896b7 build(deps-dev): Bump dotenv from 16.1.3 to 16.1.4 in /docs (#1939)
  • b465860 build(deps): Bump pgregory.net/rapid from 0.6.0 to 0.6.1 (#1937)
  • 9e984a9 build(deps-dev): Bump dotenv from 16.1.1 to 16.1.3 in /docs (#1936)
  • 018826c docs: update faucet info (#1934)
  • 362e134 docs: bump version in v5.1 upgrade guide (#1931)
  • 2240baf build(deps-dev): Bump dotenv from 16.0.3 to 16.1.1 in /docs (#1932)
  • 0276b18 build(deps): Bump github.com/spf13/viper from 1.15.0 to 1.16.0 (#1930)
  • a76dc77 build(deps): Bump pgregory.net/rapid from 0.5.7 to 0.6.0 (#1927)
  • d5bcd98 build(deps): Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 (#1924)
  • 02a09fc build(deps): Bump github.com/cosmos/ibc-go/v5 from 5.3.0 to 5.3.1 (#1920)
  • 6bf89fe build(deps): Bump github.com/thanhpk/randstr from 1.0.5 to 1.0.6 in /x/ecocredit (#1919)
  • 0eded9f build(deps): Bump github.com/stretchr/testify from 1.8.2 to 1.8.3 (#1915)
  • 5cb1d66 build(deps): Bump github.com/spf13/cast from 1.5.0 to 1.5.1 (#1909)
  • f48819f build(deps): Bump cosmossdk.io/math from 1.0.0 to 1.0.1 (#1911)
  • 219de6f build(deps): Bump github.com/cosmos/gogoproto from 1.4.9 to 1.4.10 (#1908)
  • 49d6a6d build(deps): Bump golang.org/x/crypto from 0.8.0 to 0.9.0 in /x/data (#1906)
  • a632b31 build(deps): Bump github.com/cosmos/ibc-go/v5 from 5.2.0 to 5.3.0 (#1898)
  • 2b197f8 build(deps): Bump google.golang.org/grpc from 1.54.0 to 1.55.0 (#1903)
  • b266b68 build(deps): Bump github.com/cosmos/gogoproto from 1.4.8 to 1.4.9 (#1897)
  • 589b43c docs: add last 2 upgrades to upgrade readme (#1894)
  • 565ffde build(deps): Bump pgregory.net/rapid from 0.5.5 to 0.5.7 (#1892)
  • e429d92 build(deps): Bump github.com/cosmos/gogoproto from 1.4.7 to 1.4.8 (#1891)
  • 6887141 build(deps): Bump github.com/rs/zerolog from 1.29.0 to 1.29.1 (#1887)
  • f14e2b8 build(deps): Bump golang.org/x/crypto from 0.7.0 to 0.8.0 in /x/data (#1885)
  • ef068c5 build(deps): Bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#1880)
  • 9f71828 build(deps): Bump github.com/thanhpk/randstr from 1.0.4 to 1.0.5 in /x/ecocredit (#1878)
  • e756cce docs: fix upgrade and migration guide (#1877)
  • 555a79c build(deps): Bump github.com/cosmos/gogoproto from 1.4.6 to 1.4.7 (#1876)
  • 633f232 docs: update proto revision comments (#1871)
  • 4672ec6 docs: add v5.1 developer migration guide (#1870)
  • 891bda4 docs: add v5.1 validator upgrade guide (#1869)
  • b18ac9b docs: update release date in changelog (#1872)
  • ce80e15 feat(x/ecocredit): update basket date criteria via governance (#1864)
  • 7cba83a chore: add missing items to changelog (#1859)
  • 360f8d9 fix: register ibc client update proposal handlers (#1857)
  • c37168c build(deps): Bump cosmossdk.io/math from 1.0.0-rc.0 to 1.0.0 (#1853)
  • a3d3276 build: bump sdk to v0.46.11-regen-1 and replace tendermint (#1851)
  • a1eddf1 feat: add ecocredit basket migration (#1842)
  • 2caf7db build(deps): Bump google.golang.org/grpc from 1.53.0 to 1.54.0 (#1846)
  • fce5ae8 fix(x/ecocredit): basket date criteria and create basket cmd (#1841)
  • a76941f feat: add ecocredit batch metadata migration (#1812)
  • 61091a3 feat(x/ecocredit): add batch denom to event bridge (#1837)
  • 5c132ff style: fix lint errors using latest golangci (#1838)
  • 7673be6 build(deps): Bump google.golang.org/protobuf from 1.29.1 to 1.30.0 (#1836)
  • 251b872 build(deps): Bump actions/setup-go from 3 to 4 (#1835)
  • 6e16b09 build(deps): Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 (#1830)
  • d50ff1a build(deps): Bump cosmossdk.io/math from 1.0.0-beta.6 to 1.0.0-rc.0 (#1824)
  • 7365cb1 build(deps): Bump github.com/cosmos/cosmos-proto from 1.0.0-beta.2 to 1.0.0-beta.3 (#1821)
  • 78a474e build(deps): Bump github.com/golang/protobuf from 1.5.2 to 1.5.3 (#1817)
  • 6b08fab build(deps): Bump google.golang.org/protobuf from 1.28.1 to 1.29.0 in /api (#1820)
  • 59a0eac build(deps): Bump google.golang.org/protobuf from 1.28.2-0.20220831092852-f930b1dc76e8 to 1.29.0 (#1815)
  • bb92f01 ci: add backport for v5.1.x release branch (#1814)
  • 7404e1b test: fix cmd test temp directory (#1813)
  • 161bcd2 build(deps): Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#1807)
  • 5d4a747 build(deps): Bump golang.org/x/crypto from 0...
Read more

v5.1.4

10 Apr 14:45
7ca7808
Compare
Choose a tag to compare

What's Changed

  • feat(x/data/v2/client)!: add generate-iri command by @aaronc in #2190

Full Changelog: v5.1.3...v5.1.4

v5.1.3

03 Apr 18:03
67240f6
Compare
Choose a tag to compare

Changelog

v5.1.2

08 Jun 22:26
647f539
Compare
Choose a tag to compare

This release includes an upstream security fix. Validators should update as soon as possible.

Changelog

  • #1942 Update all modules to cosmos-sdk v0.46.13-regen-1
  • #1942 Update all modules to cometbft v0.34.28

v5.1.1

26 May 19:37
9b76dab
Compare
Choose a tag to compare

This release includes an upstream security fix. Validators should update as soon as possible.

Changelog

  • #1918 Update all modules to ibc-go v5.2.1

v5.1.0

28 Mar 19:42
c08da23
Compare
Choose a tag to compare

This upgrade includes a few fixes, improvements, and migrations related to the ecocredit module as well as an update to the latest patch release of Cosmos SDK (v0.46.11).

Cosmos SDK Update

Regen Ledger v5.0 included an update to the latest version of Cosmos SDK (v0.46.7) using a forked version of Cosmos SDK that adds amino support for the new gov and group modules (a fix that was officially made available in v0.47).

Since the release of Regen Ledger v5.0, several patch releases have been made available. In particular, the v0.46.8 patch release included improvements to the store and therefore a coordinated upgrade is recommended.

At the time of the proposed upgrade, Cosmos SDK will be updated to the latest patch release (v0.46.11) using a forked version with amino support for the gov and group modules.

Credit Batch Metadata

The schema for metadata referenced within a credit batch has been updated. This is part of a larger effort to provide a consistent standard for all credit batches issued through Regen Registry and to clearly distinguish between data that needs to be anchored on chain and data that is specific to our web application.

Updating to the new schema requires updating the metadata field within each credit batch. Credit batches on Regen Ledger are sealed by default and cannot be updated via state transition functions. This means that an on-chain governance process is required to update the metadata of credits that have already been issued.

At the time of the proposed upgrade, the metadata field within each credit batch will be updated to a new IRI referencing the data stored using the updated schema. The state migration for these changes can be viewed here.

Basket Fixes / NCT Basket

In preparation for the launch of the NCT liquidity pool on Osmosis, the NCT basket was created on Regen Mainnet. At the time of creation, an issue was discovered with setting date criteria using the “years in the past” option. This option sets a requirement on what credits can be put into the basket based on the year of the credit batch start date (i.e. 10 years in the past would mean only credits with a batch start date year of 2013 or later). This option was ignored during basket creation and a fix has been added to prevent this from happening in the future.

In addition, a user error was made at the time of creation and the disable auto-retire option was not set. The default setting when creating a basket is for all credits to be retired when credits are taken from the basket. The intention of the NCT basket is to enable NCT eligible credits to move freely between Polygon (Toucan contracts) and Regen.

At the time of the proposed upgrade, the NCT basket will be updated to include a date criteria with years in the past set to 10 years (according to the NCT standard) and the disable auto-retire option will be set to true (allowing credits to be taken from the basket in a tradable state). The state migration for these changes can be viewed here.

In addition, there have been some discussions about updating the NCT standard (specifically the date criteria). As a result, we have included a new governance message that will allow the date criteria of a basket to be updated through a network-wide governance vote.

Updated Bridge Events

The Toucan-Regen bridge is undergoing a final round of audits and testing. During this process, a few opportunities to simplify event processing were discovered and therefore new event properties have been added to the bridge events within the ecocredit module. The launch of the bridge is not dependent upon these changes.

Changelog

For a full list of changes since Regen Ledger v5.0, please see CHANGELOG.md.

Validator Upgrade Guide

An upgrade guide for validators and node operators is available at Upgrade Guide v5.1.

v5.1.0-rc2

28 Mar 17:21
445b6d5
Compare
Choose a tag to compare
v5.1.0-rc2 Pre-release
Pre-release

The second release candidate (RC2) for Regen Ledger v5.1.0.

The following changes have been made since the first release candidate:

x/ecocredit

  • #1864 Add MsgUpdateDateCriteria to basket submodule

v5.1.0-rc1

25 Mar 00:12
48210fd
Compare
Choose a tag to compare
v5.1.0-rc1 Pre-release
Pre-release

The first release candidate (RC1) for Regen Ledger v5.1.0.

This upgrade includes a few fixes, improvements, and migrations related to the ecocredit module as well as an update to the latest patch release of Cosmos SDK (v0.46.11).

Cosmos SDK Update

Regen Ledger v5.0 included an update to the latest version of Cosmos SDK (v0.46.7) using a forked version of Cosmos SDK that adds amino support for the new gov and group modules (a fix that was officially made available in v0.47).

Since the release of Regen Ledger v5.0, several patch releases have been made available. In particular, the v0.46.8 patch release included improvements to the store and therefore a coordinated upgrade is recommended.

At the time of the proposed upgrade, Cosmos SDK will be updated to the latest patch release (v0.46.11) using a forked version with amino support for the gov and group modules.

Credit Batch Metadata

The schema for metadata referenced within a credit batch has been updated. This is part of a larger effort to provide a consistent standard for all credit batches issued through Regen Registry and to clearly distinguish between data that needs to be anchored on chain and data that is specific to our web application.

Updating to the new schema requires updating the metadata field within each credit batch. Credit batches on Regen Ledger are sealed by default and cannot be updated via state transition functions. This means that an on-chain governance process is required to update the metadata of credits that have already been issued.

At the time of the proposed upgrade, the metadata field within each credit batch will be updated to a new IRI referencing the data stored using the updated schema. The state migration for these changes can be viewed here.

Basket Fixes / NCT Basket

In preparation for the launch of the NCT liquidity pool on Osmosis, the NCT basket was created on Regen Mainnet. At the time of creation, an issue was discovered with setting date criteria using the “years in the past” option. This option sets a requirement on what credits can be put into the basket based on the year of the credit batch start date (i.e. 10 years in the past would mean only credits with a batch start date year of 2013 or later). This option was ignored during basket creation and a fix has been added to prevent this from happening in the future.

In addition, a user error was made at the time of creation and the disable auto-retire option was not set. The default setting when creating a basket is for all credits to be retired when credits are taken from the basket. The intention of the NCT basket is to enable NCT eligible credits to move freely between Polygon (Toucan contracts) and Regen.

At the time of the proposed upgrade, the NCT basket will be updated to include a date criteria with years in the past set to 10 years (according to the NCT standard) and the disable auto-retire option will be set to true (allowing credits to be taken from the basket in a tradable state). The state migration for these changes can be viewed here.

Updated Bridge Events

The Toucan-Regen bridge is undergoing a final round of audits and testing. During this process, a few opportunities to simplify event processing were discovered and therefore new event properties have been added to the bridge events within the ecocredit module. The launch of the bridge is not dependent upon these changes.

Changelog

For a full list of changes since Regen Ledger v5.0, please see CHANGELOG.md.

Validator Upgrade Guide

An upgrade guide for validators will be made available when the official release has been tagged.

v5.0.0

05 Jan 19:43
7f03242
Compare
Choose a tag to compare

New Features

The new features made available in Regen Ledger v5.0 are as follows:

DAO support via Group Accounts

Regen Ledger now includes the group module made available in Cosmos SDK v0.46. The group module started out as a custom module built within the Regen Ledger repository and has since been added to Cosmos SDK as a core module refined and maintained by the Cosmos SDK core developers. The group module enables the creation and management of on-chain multisig accounts and voting for message execution based on configurable decision policies.

What does this mean within the context of Regen Ledger functionality? All entities on a Regen Ledger chain can now be managed by a group account. For example, the role of the credit class admin can be assigned to a group account and the group can create and update decision policies for the execution of messages that are restricted to the role of the credit class admin. This example can be reapplied to all on-chain entities. In the ecocredit module, a group account could be assigned the role of credit class creator, credit class issuer, project admin, and/or basket curator, and in the data module, a group account could be assigned the role of resolver manager.

The group module also enables any individual or group of individuals to create and manage a group account independent of the predefined roles for on-chain entities. A prime example being community staking DAOs, which can now be managed by group accounts, therefore enabling the creation and management of decision policies around the execution of messages on behalf of a community staking DAO and the updating of members within the community staking DAO. Another use case of the group module is two-factor authentication whereby an individual uses a group account as their primary account that requires them to sign-off on the execution of messages using multiple devices (an account on each device).

For more information about the group module, check out the group module documentation.

Message-Based Governance Proposals

Regen Ledger now includes the latest version of the gov module (v1) made available in Cosmos SDK v0.46. The previous version of the gov module (v1beta1) is still wired up in the application for backwards compatibility and to support application modules that have not yet been updated to utilize the latest version. The main feature in the latest version is message-based governance proposals. In combination with the authz module and the group module, message-based governance proposals unlock new opportunities for governance.

Governance proposals have historically been used for updating a specific set of governance parameters defined within each application module. Message-based governance proposals are similar in that they update governance parameters but those parameters are now more loosely defined, i.e. governance parameters are simply state and no longer need to be defined specifically as a governance parameter. Messages that update such state are implemented with restrictions on which account can call the message (similar to how a credit class admin is the only account with permission to update a credit class) but the account in this case is the gov module account.

With message-based governance proposals, any message can be submitted within the proposal to be executed on behalf of the gov module. Using the authz module alongside message-based governance proposals, it's now possible for a governance proposal to be submitted that would authorize another account to execute a specific message on behalf of the gov module account. The other account could be a group account representing a group of individuals that have expertise related to the state being managed. For example, a community staking DAO made up of a group of scientists could be granted authorization to add credit types and credit types could then be added via the voting process of the group.

All governance parameters within the ecocredit module have been updated to support message-based governance proposals. The data module does not include any governance parameters. All other application modules that are imported and have not yet been updated to support message-based governance proposals continue to work the same with what are now called "legacy" proposals.

For more information about the gov module, check out the gov module documentation.

Interchain Accounts

Two new modules have been added to support interchain accounts. Interchain accounts enables cross-chain account management built on IBC. One of the modules is an application module built and maintained by the IBC team within the ibc-go repository (the ica module) and the other is an application module built and maintained by the RND team within the regen-ledger repository (the intertx module).

Interchain accounts are accounts controlled programmatically by counterparty chains via IBC packets. Unlike a traditional account, an interchain account does not have a private key and therefore does not sign transactions. The account is registered on a "host chain" via a "controller chain" and the controller chain sends instructions (IBC packets with Cosmos SDK messages) to the host chain that the interchain account then executes.

The ica module has two submodules (host and controller). The host submodule enables a Regen Ledger chain to act as a "host chain" and the controller submodule enables a Regen Ledger chain to act as a "controller chain". The host and controller submodules will not be enabled following the upgrade of an existing Regen Ledger chain and therefore each will require an on-chain governance proposal to enable. Which messages allowed to be executed by interchain accounts will also need to be added to an allowed_messages parameter in the host submodule with subsequent governance proposals.

The intertx module includes functionality to support the controller submodule, enabling the registration of interchain accounts and submitting transactions to be executed on a host chain.

For more information about interchain accounts, check out the interchain accounts documentation.

Relayer Incentivization

The fee module is a self-contained middleware module that extends the base IBC application module. The fee module was designed as an incentivization mechanism to help cover the operational costs of running a relayer (i.e. running full nodes to query transaction proofs and paying for transaction fees associated with IBC packets).

There are three fees within the fee model, one for receiving the packet, one for acknowledging the packet, and one for timeouts. The fees are held in escrow until the packet is either successful or times out. In the case of a successful packet, the timeout fee will be reimbursed, and in the case of an unsuccessful packet, the receiving and acknowledging fee will be reimbursed.

The first version of the fee module only supports incentivization of new channels and existing channels will need to wait for additional functionality to support upgradeability. Using the fee middleware with IBC transactions is optional and acts more like a "tip". End users can manually incentivize IBC packets using the CLI and client developers can leverage the gRPC endpoints to integrate relayer fees within their application.

For more information about fee middleware, check out the fee middleware documentation.

Additional Changes

SDK Module Manager

Regen Ledger has historically been using a custom module manager within the application wiring. Regen Ledger v5.0 migrates from the custom module manager to the latest version of the Cosmos SDK module manager and updates the ecocredit module and data module accordingly.

gRPC Error Codes

A community member reported that the gRPC error codes for queries were not being reported correctly, in some cases the error code was Unknown and in other cases the error code did not match the standard gRPC error codes. Not all projects building on Regen Ledger will use the error messages provided by Regen Ledger and may choose to create their own error messages based on the error codes returned. To ensure we are providing a good developer experience, we have fixed and updated gRPC error codes to return the expected gRPC error codes.

Experimental Build

Following Regen Ledger v4.0, and now with Regen Ledger v5.0, all experimental features that were being developed within the Regen Ledger codebase have been stablilized and included in the stable application build. The experimental application build option has therefore been removed. We will consider a separate release that includes CosmWasm that will be used to reboot Hambach Testnet if developers are wanting to experiment with the latest features alongside CosmWasm contracts, otherwise Hambach Testnet will continue running with support for CosmWasm contracts on the experimental build of Regen Ledger v4.0.

Changelog

For a full list of changes since Regen Ledger v4.1, please see CHANGELOG.md.

Validator Upgrade Guide

An upgrade guide for validators and node operators is available at Upgrade Guide v5.0.

Developer Migration Guide

A migration guide for application developers is available at Migration Guide v5.0.

v5.0.0-rc5

05 Jan 02:20
5256f2f
Compare
Choose a tag to compare
v5.0.0-rc5 Pre-release
Pre-release

Changelog