Skip to content

Releases: regen-network/regen-ledger

v5.0.0-rc4

03 Jan 23:24
fc542f6
Compare
Choose a tag to compare
v5.0.0-rc4 Pre-release
Pre-release

Changelog

v5.0.0-rc1

30 Nov 03:34
3490f97
Compare
Choose a tag to compare
v5.0.0-rc1 Pre-release
Pre-release

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

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 will be made available when the official release has been tagged.

Developer Migration Guide

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

v4.1.5

22 Nov 22:34
a0e3d2f
Compare
Choose a tag to compare

x/ecocredit

Added

  • #1626 Add owner to EventBridge

v5.0.0-beta1

08 Nov 04:00
76a51ed
Compare
Choose a tag to compare
v5.0.0-beta1 Pre-release
Pre-release

Changelog

  • 76a51ed docs: opening a new terminal isn't necessary (#1592)
  • 7c9e329 fix(types): dec from string must be finite (#1590)
  • e06a36b fix(ecocredit): return grpc errors in basket and marketplace queries (#1588)
  • 22beb86 feat: add intertx module (#1477)
  • 01e2a6a build(deps): Bump github.com/cosmos/cosmos-sdk from 0.46.3 to 0.46.4 (#1584)
  • f1f02bf fix(ecocredit): return gRPC errors for base queries (#1583)
  • f1cbc55 fix(x/data): return grpc error codes for queries (#1579)
  • 323a953 refactor(x/ecocredit): update credit to basket conversion and docs (#1559)
  • c8d12d3 build(deps): Bump github.com/cosmos/ibc-go/v5 from 5.0.0 to 5.0.1 (#1581)
  • ec3729a build: add replace directive for confio/ics23/go (#1578)
  • e6184f2 build: set up command completions for goreleaser (#1563)
  • 091085d build(deps): Bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (#1573)
  • c6e7f55 build(deps): Bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#1569)
  • 281b77c build(deps): Bump github.com/cosmos/cosmos-sdk from 0.46.2 to 0.46.3 (#1565)
  • e9e35a0 docs: update base proto tx docs (#1556)
  • 37dbe9f feat(app)!: use built-in cobra completion (#1546)
  • 2587eb3 docs(x/ecocredit): update client docs (#1558)
  • 1cca864 docs: update marketplace proto (#1560)
  • ac275f1 test(x/data): add sign bytes unit tests (#1562)
  • 4105ac3 build(deps): Bump github.com/tendermint/tendermint from 0.34.21 to 0.34.22 (#1561)
  • 98e6571 refactor(x/ecocredit): remove deprecated params keeper (#1543)
  • a128c39 test(x/ecocredit): add marketplace sign bytes unit tests (#1537)
  • fd1c49d test(x/ecocredit): add basket sign bytes unit tests (#1528)
  • a2454c5 test(x/ecocredit): add base v1 sign bytes unit tests (#1516)
  • 8bafe87 chore: cleanup (#1527)
  • 0491f56 Fix: typos (#1547)
  • 1d63106 build(deps): Bump google.golang.org/grpc from 1.49.0 to 1.50.1 in /api (#1554)
  • be242a6 build(deps): Bump google.golang.org/grpc from 1.49.0 to 1.50.1 (#1552)
  • 8300694 build(deps): Bump amannn/action-semantic-pull-request from 4 to 5.0.1 (#1548)
  • f1b3bdb build(deps): Bump github.com/cosmos/cosmos-proto from 1.0.0-alpha7 to 1.0.0-alpha8 in /api (#1545)
  • 90c66cf build(deps): Bump github.com/spf13/cobra from 1.5.0 to 1.6.0 (#1538)
  • d6368a1 build(deps): Bump gotest.tools/v3 from 3.3.0 to 3.4.0 (#1536)
  • c3c73bd docs: fix images on Baskets RFC (#1544)
  • 887b825 fix: create basket simulation (#1505)
  • cae3e43 build(deps): Bump github.com/cosmos/cosmos-sdk from 0.46.1 to 0.46.2 (#1522)
  • 88764e6 chore: add mergify config for backport/v4.1.x label (#1513)
  • 43e4f43 Fix links to validator upgrade overview (#1518)
  • b48ff8f build(deps-dev): Bump dotenv from 16.0.2 to 16.0.3 in /docs (#1511)
  • 2268920 docs: Update v4.1-upgrade.md (#1514)
  • fdd97e0 docs: added 4.1 upgrade doc (#1510)
  • b6f14c1 build(deps): Bump github.com/cosmos/ibc-go/v5 from 5.0.0-rc2 to 5.0.0 (#1506)
  • dc344a0 fix: register MsgBridge in codec (#1507)
  • ea2dd1b feat(app): better upgrade management (#1488)
  • cb2b624 build(deps): Bump pgregory.net/rapid from 0.5.2 to 0.5.3 (#1498)
  • a9e57a3 docs: add currency allowlist proposal tutorial (#1407)
  • 1a0a12d build(deps): Bump github.com/cosmos/ibc-go/v5 from 5.0.0-rc1 to 5.0.0-rc2 (#1496)
  • 713a0fe chore: move images to root and clean up localnet (#1495)
  • c9a461f refactor(x/ecocredit): convert class fee argument to optional flag (#1475)
  • f4f3106 feat(x/ecocredit): add update basket curator (#1484)
  • cb09a89 build(deps): Bump github.com/cosmos/gogoproto from 1.4.1 to 1.4.2 (#1491)
  • 16c2938 chore: Run buf mod update (#1479)
  • e522b4e build(api): bump api dependencies and add dependabot check (#1490)
  • 5c80df5 refactor(x/ecocredit): clean up legacy params (#1476)
  • ec9f38b refactor(x/ecocredit): split simulation operations into separate files (#1471)
  • b66707b build(deps): Bump github.com/google/go-cmp in /x/ecocredit (#1485)
  • 8cc0ac0 feat: Added supprt for ledger nano s+ (#1486)
  • 6823489 fix: Fix GetSignBytes with correct codec (#1480)
  • 00829da style: update githooks and fix formatting errors (#1469)
  • cff14b5 docs(x/ecocredit): fix update-sell-orders proto comment (#1473)
  • c746909 feat(x/ecocredit): state validation for new params (#1467)
  • cad5068 refactor(x/ecocredit): update to single class fee param (#1466)
  • 34a8615 refactor(x/ecocredit): update to single basket fee param (#1465)
  • 2da88f6 feat(x/ecocredit)!: gov approved bridge chains (#1462)
  • 674b624 feat(x/ecocredit): add params simulations (#1426)
  • c39d0f4 refactor(x/ecocredit): rename class creator allowlist messages (#1463)
  • 6d96e5f docs: add proto doc files and clean up comments (#1461)
  • cb9db1e feat(app)!: enable ICA Host module (#1441)
  • d2bc473 chore: fix import-export sim job (#1455)
  • 877b3c5 refactor(x/ecocredit): rename ecocredit core functionality to base (#1447)
  • e484d6e refactor(x/ecocredit): migrate abci to module and clean up module (#1452)
  • 4ef8001 feat(x/ecocredit): query balances by batch denom (#1450)
  • 25fecb4 refactor(types): cleanup and organize types package (#1451)
  • 91e79f8 ci: fix sims nightly and tests nightly (#1446)
  • 07cc14f feat(x/ecocredit): query all balances cmd (#1443)
  • c3ce116 build(deps-dev): Bump dotenv from 16.0.1 to 16.0.2 in /docs (#1445)
  • b749f82 build(deps): Bump gotest.tools/v3 from 3.2.0 to 3.3.0 in /types (#1444)
  • cc628d0 build(deps): Bump pgregory.net/rapid from 0.4.8 to 0.5.2 (#1436)
  • 3e948cb refactor(x/ecocredit)!: update base submodule architecture (#1429)
  • ac52762 feat(x/ecocredit): add query methods for orm params (#1423)
  • a83f474 refactor(x/ecocredit)!: update basket submodule architecture (#1428)
  • 2ac14ac refactor(x/ecocredit)!: update marketplace submodule architecture (#1427)
  • 0e5aeb8 refactor: use cosmossdk.io/errors for Wrap, Wrapf, and Register calls (#1434)
  • ee60aa1 build(deps): Bump github.com/cosmos/ibc-go/v5 (#1437)
  • a6796a8 build(deps): Bump actions/download-artifact from 2 to 3 (#1439)
  • 7652f47 feat(types): add default page limit (#1433)
  • 9c6ecef feat(x/ecocredit): query all credit holders (#1416)
  • b86c330 feat(ecocredit): add core state params migrations (#1417)
  • fbde113 ci: add lint pr workflow and set permissions (#1418)
  • d72523b ci: update test make commands and workflows (#1415)
  • e95bdef build(deps): Bump github.com/rs/zerolog from 1.27.0 to 1.28.0 in /types (#1425)
  • 550ef9c ci: update sim make commands and workflow (#1419)
  • afa26b8 test(x/data): add event tests (#1414)
  • b58cb0f feat(x/data): add basic validation for genesis state (#1395)
  • 8855cba fix(x/ecocredit): replace blank event values with actual values (#1411)
  • cf16e04 feat(x/ecocredit): add event for removing allowed denom in marketplace (#1412)
  • 356ec9c test: add tests for marketplace events (#1410)
  • 494d801 feat(x/ecocredit): add basket state migration (#1397)
  • 900d0f1 feat(x/ecocredit): add basket fees query (#1391)
  • 4951cc3 feat(x/ecocredit)!: migrate core params to ORM (#1354)
  • d146ffd test(x/ecocredit): add tests for basket events (#1408)
  • dfec263 test(x/ecocredit/core): add event checks to feature tests (#1394)
  • 80930d8 refactor(x/ecocredit): consistent validation errors (#1393)
  • 082b1ab build(deps): Bump github.com/cosmos/cosmos-sdk from 0.46.0 to 0.46.1 in /types (#1404)
  • 563aa39 build(deps): Bump google.golang.org/grpc from 1.48.0 to 1.49.0 in /types (#1399)
  • 4883e84 build(deps): Bump github.com/cosmos/ibc-go/v5 (#1398)
  • f09ed5b style: fix lint errors using latest golanci (#1403)
  • 9c1314e refactor(x/ecocredit): update basket validation functions (#1392)
  • 3341e41 feat(x/ecocredit): basket and marketplace state validation (#1390)
  • 5f0185e refactor: use sdk modules (#1357)
  • e6889fd build(deps): Bump cosmossdk.io/math from 1.0.0-beta.2 to 1.0.0-beta.3 in /types (#1389)
  • 256e45e style: update golangci config and fix lint errors (#1384)
  • 971b3cd feat(x/ecocredit): add and update core state validation (#1362)
  • 762f195 build(deps): Bump github.com/tendermint/tendermint (#1385)
  • 7d245cd build(deps-dev): Bump dotenv from 16.0.0 to 16.0.1 in /docs (#1375)
  • bd21733 build(deps): Bump cosmossdk.io/math from 1.0.0-beta.2 to 1.0.0-beta.3 in /x/ecocredit (#1378)
  • 9cdba63 build(deps): Bump gotest.tools/v3 from 3.2.0 to 3.3.0 in /x/ecocredit (#1380)
  • 4c6b477 build(deps): Bump gotest.tools/v3 from 3.2.0 to 3.3.0 in /x/data (#1376)
  • c4c65ee build(deps): Bump google.golang.org/protobuf from 1.28.0 to 1.28.1 in /types (#1377)
  • 4f8ac09 build(deps): Bump google.golang.org/protobuf in /x/data (#1373)
  • 46fa323 ci: update workflows to check all gomod and gosum (#1382)
  • 3918391 build(deps): Bump pgregory.net/rapid from 0.4.7 to 0.4.8 in /types (#1367)
  • dac49c0 feat(x/ecocredit): migrate basket params to orm (#1349)
  • b9ca66c fix(x/data,x/ecocredit): update orm error conditions (#1383)
  • 335aa93 build(deps): Bump github.com/cosmos/cosmos-sdk/orm in /x/ecocredit (#1381)
  • 6d1910b build(deps): Bump github.com/cosmos/cosmos-sdk/orm in /types (#1369)
  • 0020385 build(deps): Bump github.com/cosmos/cosmos-sdk/orm in /x/data (#1368)
  • 981371d build(deps): Bump codecov/codecov-action from 1 to 3 (#1366)
  • 8dfca89 ci: add dependabot configuration for gomod and npm (#1365)
  • 05c29d1 fix(x/ecocredit): register ecocredit v1alpha1 messages (#1360)
  • 32a4045 chore: rename master branch to main (#1361)
  • 7c5841f ci: improve and clean up github workflows (#1355)
  • 2dccef4 feat(x/ecocredit): add remove allowed denom gov message (#1346)
  • 8b33730 feat: add cosmos.msg.v1.signer option to all proto tx messages (#1353)
  • 2e5a24b docs: update readme content and style (#1351)
  • a0a367a docs: clean up specs and add ADR template (#1319)
  • 52fa7cb refactor: move cmd to root and client to app (#1350)
  • 9aef28b chore: remove experimental and data v1alpha1 (#1348)
  • d68aa03 feat(x/ecocredit)!: migrate add-allow-denom proposal to msg based proposal (#1342)
  • 073b1e4 feat(app)!: add group module (#1340)
  • 4790f83 feat(x/ecocre...
Read more

v4.1.4

14 Oct 19:27
c11a317
Compare
Choose a tag to compare

Contains Dragonberry patch

v4.1.4-rc.1

14 Oct 18:30
c11a317
Compare
Choose a tag to compare
v4.1.4-rc.1 Pre-release
Pre-release

Changelog

v4.1.3

07 Oct 19:03
1d4e554
Compare
Choose a tag to compare

Changelog

v4.1.2

30 Sep 03:42
5dc0dd2
Compare
Choose a tag to compare

Changelog

  • 5dc0dd2 chore(x/ecocredit): bump ecocredit version to v2.3.0 (#1509)

v4.1.1

29 Sep 18:05
62391a6
Compare
Choose a tag to compare

Changelog

  • 62391a6 fix: Add amino codec for MsgBridge (release/v4.1.x) (#1508)

v4.1.0-rc1

29 Sep 04:21
a760065
Compare
Choose a tag to compare
v4.1.0-rc1 Pre-release
Pre-release

Changelog

  • a760065 chore: Bump ecocredit to v2.2.0, update changelog for v4.1 (#1503)