Releases: cosmos/relayer
v2.6.0-rc.1
What's Changed
Features
- implement support for Osmosis EIP-1559 by @jtieri in #1412
- add the ability to query the hash associated with an IBC denom trace by @jtieri in #1436
- multiple balance query by @neitdung in #1461
- redundant rpcs by @joelsmith-2019 in #1467
- add default entrypoint for the container image by @onur-ozkan in #1473
- disables debug server by default by @AntiTyping in #1496
- add separate flag for metrics by @AntiTyping in #1504
Fixes
- displays correct chain info when query IBC header fails by @AntiTyping in #1423
- wallet balance metric occasionally reporting false 0 amounts by @boojamya in #1433
- skip to current height after hitting stuck packet end height by @boojamya in #1442
- update query path for getAnchor in Penumbra provider by @jtieri in #1443
- perform upper and lower bounds check on unbonding value before casting from uint64 to int64 by @jtieri in #1444
- avoid counterparty recv packet message get removed before open channel by @mmsqe in #1455
- fetch gas-prices from the chain config if provided by @freak12techno in #1508
- MsgChannelCloseConfim to MsgChannelCloseConfirm by @shubh7791 in #1509
Chores
- update CODEOWNERS file by @jtieri in #1415
- change version in README.MD from 2.4.0 to 2.5.2 by @Sr20dem in #1424
- add chain and client ids to incomplete flush log output by @jtieri in #1428
- broken links & spelling by @Reecepbcups in #1431
- update dependency versions by @jtieri in #1435
- update Penumbra proto generated code and fix import paths by @jtieri in #1437
- update github action versions for codeql-analysis.yml by @jtieri in #1460
- update CODEOWNERS to reference entire strangelove_relayer_maintain team by @jtieri in #1463
- update Penumbra protos by @jtieri in #1466
- update penumbra protos to v0.78 by @jtieri in #1474
- fix comment by @hattizai in #1476
- simplify error by @cuiweixie in #1480
- return err directly by @cuiweixie in #1481
- add
help
target to display the usage of all targets by @Halimao in #1484 - fix some comments by @tongjicoder in #1485
- use
errors.New
to replacefmt.Errorf
with no parameters by @yukionfire in #1483 - update our CODE_OF_CONDUCT.md by @jtieri in #1498
- alternate consensus engines by @Reecepbcups in #1490
New Contributors
- @neitdung made their first contribution in #1461
- @hattizai made their first contribution in #1476
- @cuiweixie made their first contribution in #1480
- @joelsmith-2019 made their first contribution in #1467
- @Halimao made their first contribution in #1484
- @tongjicoder made their first contribution in #1485
- @onur-ozkan made their first contribution in #1473
- @yukionfire made their first contribution in #1483
- @freak12techno made their first contribution in #1508
- @shubh7791 made their first contribution in #1509
Full Changelog: v2.5.2...v2.6.0-rc.1
v2.5.2
Patch Release 🔨
Highlights :
- Adds better handling of
MsgUpdateClient
Changelog
- 250cb55 chore: update deps and e2e tests (#1409)
- 5b42d82 build(deps): bump github.com/cometbft/cometbft in /interchaintest (#1386)
- 2cc152b Update Fixed Validation of
VoteExtensionsEnableHeight
can cause chain halt in Go cosmos cometbft (#1398) - f6f622e fix: only send client updates when necessary and when msg is properly constructed (#1407)
New Contributors
- @lamrecognitions made their first contribution in #1398
Full Changelog: v2.5.1...v2.5.2
v2.5.1
Patch Release 🔨
This patch:
- Fixes account types tied to injective by @AntiTyping in #1397
- Improves the way the relayer handles timeouts on paginated query requests by @jtieri in #1395
Changelog
- 11b7de3 fix(injective): replace x/auth/types with /types (#1397)
- 5896675 fix: use context timeout per paginated query (#1395)
- c9528bb build(deps): bump github.com/moby/moby in /interchaintest (#1394)
New Contributors
- @AntiTyping made their first contribution in #1397
Full Changelog: v2.5.0...v2.5.1
v2.5.0
The long-awaited v2.5.0
release comes with quite a few new notable features, a handful of enhancements, and a long list of fixes and performance tweaks. Core dependencies have been upgraded to ensure rly
now supports the CometBFT v0.38.x, Cosmos SDK v0.50.x, and ibc-go v8.0.x lines.
Highlighted Features
External feegrants
You can now use feegrant enabled addresses associated with private keys that the relayer operator does not actually have control of. This means that the grantees are authorized externally, i.e. someone else controls the granter's private key.
Previously, the feegrant feature only supported addresses associated with private keys the relayer operator controlled and had configured via the relayer.
See: (#1338)
CometBFT client wrapper
With the introduction of CometBFT v0.38.0 we were originally maintaining a fork of CometBFT to account for breaking changes to the API exposed via the RPC client, notably the BlockResults
call. This approach was both brittle and problematic due to duplicate proto types being registered.
We have now introduced cometbft-client as a dependency in the relayer. The new dependency serves as a slimmed-down version of CometBFT which only includes the packages and source code files necessary to utilize the RPC client. This allows us to avoid maintaining an entire fork of the repo, while also having fine-grained control over breaking changes introduced in CometBFT moving forward to ensure backwards compatibility with older versions.
Configurable limits on receiver and ICS-20 memo fields
Users can now configure a max size limit on both the receiver and ICS-20 memo fields via the new config fields MaxReceiverSize
& ICS20MemoLimit
respectively.
This allows relayer operators to ignore ICS-20 packets with receiver or memo fields whose size is greater than these configured values.
See: (#1377)
Ability to fine-tune client creation parameters
A few new flags have been added to enable a greater level of configuration when initializing new IBC light clients via the rly tx clients
and rly tx client
commands.
-
--max-clock-drift
sets theMaxClockDrift
value; if not set, the default value of 10 minutes is used. -
--client-tp-percentage
, overrides the current trusting period value utilized by the relayer when creating a new client, which is currently 85% of a chain's unbonding period. If a user specifies a custom trusting period with the existingclient-tp
flag this value is ignored. -
--client-unbonding-period
enables setting a custom unbonding period when creating a new client. This is useful because, in order to substitute an expired client with a new one, the new client must match the expired client's state (which includes the unbonding period). Failure to ensure these values match results in an error in ibc-go.
See: (#1369), (#1365) & (#1313)
Stuck packet flushing
Adds the new flags --stuck-packet-chain-id
, --stuck-packet-height-start
, and --stuck-packet-height-end
to the rly tx start
and rly tx flush
commands. These new flags are used for starting up the CosmosChainProcessor
by querying a specific range for a chain ID before jumping to current and relaying anything that needs to be handled by the queried range.
This is useful if stuck packets have been identified between a particular range of block heights. Without this feature, operators would normally have to start the relayer with a large initial block history via the --block-history
flag, this can be incredibly resource and time-intensive for larger values.
Note: This is for advanced usage only and should only be used for mitigation scenarios, as the relayer will not have a full picture of what happened between --stuck-packet-height-end
and the current chain tip. This could lead to failures if packets were already handled since the stuck packet height range.
See: (#1296)
Additional Features
- Add Prometheus metrics for unrelayed-packets and unrelayed-acknowledgments. (#1356)
- Add the ability to configure log level in global config. (#1324)
- Setup keys for all configured chains with a single mnemonic with the
--restore-all
flag inrly keys restore
. (#1190) - Edit configured RPC endpoints for a chain using the
rly chains set-rpc
command. (#1292)
Enhancements
- Ensure that ✘ is displayed for clients if they are expired in
rly path list
. (#1352) - Make tx broadcast errors more verbose. (#1344)
- Add unbonding period to client expiration query. (#1327)
Fixes
- Retry to send packets if 5 blocks have passed since last broadcast attempt completed vs. since last broadcast attempt occurred. (#1393)
- Fix flush race which caused acknowledgements to not be fully cleared from the caches when giving up on sending a packet message after max retries. (#1363)
- Register concrete type for type URL of EthAccount. (#1390)
- Update penumbra protos and fix tx.go, query.go with new apis. (#1379)
- Add handling for MsgTimeout in Penumbra ChainProvider. (#1378)
- Ensure gas simulation returns proper gas amount for feegrants. (#1364)
- Fix Prometheus metric
cosmos_relayer_observed_packets
observing packets on irrelevant channels. (#1345) - Properly pipe memo from cli to broadcast tx logic for MsgTransfer and MsgRegisterCounterpartyPayee. (#1362)
- Update penumbra protos & make adjustments to account for CometBFT upgrade. (#1360)
- Use ibc-data prefix in QueryTendermintProof in Penumbra ChainProvider. (#1361)
- Fix getAnchor function in Penumbra ChainProvider so it doesn't query out of range heights. (#1358)
- Update Penumbra proof spec to new multistore format. (#1355)
- Add
_total
suffix to counter metrics. (#1347) - Use the ChainProvider's
InterfaceRegistry
instead of creating a new default one. (#1346) - Fix
cosmos_relayer_tx_failure
metric counting the same error multiple times. (#1343) - Cleanup cached
MsgChannelCloseInit
msgs afterMsgChannelCloseConfirm
is observed. (#1326) - Add does not exist check for
loadConfigFile
error. (#1325) - Add missing
MsgChannelCloseConfirm
msg type when parsing from events. (#1196) - Fix issue with packets being relayed even when estimated gas is higher than configured max gas limit. (#1302)
- Properly set max gas limit when configured value is greater than zero. (#1303)
Other
- Update security procedures for Hacker One Program. (#1382)
- Add ICS-29 guide to
docs/
. (#1375) - Update relayer troubleshooting doc. (#1350)
- Clean up docs and fix typos. (#1319)
- Remove problematic self hosted GitHub runners. (#1306)
Changelog
- d821ab7 retry only if processing completed for a packet (#1393)
- 4c41650 build(deps): bump github.com/opencontainers/runc in /interchaintest (#1392)
- be5a4cf ci: bump goreleaser-cross version (#1391)
- a9ce8d6 Problem: no concrete type registered for type URL of EthAccount (#1390)
- f76614d update penumbra protos and fix tx.go, query.go with new apis (#1379)
- 287354b Fix flush race (#1363)
- ef1578e refactor: encapsulate slim client in wrapper (#1388)
- 7cb083c External feegrants (#1338)
- 5ab55c0 feat: add configurable limits for receiver and ICS-20 memo fields (#1377)
- 1ef7db5 feat: introduce cometbft client wrapper to eliminate forked repo (#1384)
- 9bd144e Update Security Procedures for Hacker One Program (#1382)
- 4ad5ab2 fix: add handling for MsgTimeout in Penumbra ChainProvider (#1378)
- caf9d52 When creating a client, make
max-clock-drift
configurable (#1369) - 3b05fdb add ICS-29 guide to path docs (#1375)
- 71acbb8 build(deps): bump github.com/containerd/containerd in /interchaintest (#1372)
- c98f389 build(deps): bump github.com/dvsekhvalnov/jose2go in /interchaintest (#1371)
- 820caf5 build(deps): bump github.com/dvsekhvalnov/jose2go from 1.5.0 to 1.6.0 (#1370)
- c017b8c build(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 (#1366)
- 3655821 build(deps): bump golang.org/x/crypto in /interchaintest (#1367)
- 56a534c Link custom client trusting period ratio (#1365)
- ba17805 Add Prometheus metrics for
unrelayed-packets
andunrelayed-acknoledgments
(#1356) - f52b342 Update troubleshoot doc (#1350)
- 523748e Problem: simulate gas is less than required with feegrants (#1364)
- cfe8b93 fix: Observed Packet Metric (#1345)
- 654ea9f fix: pipe memo from cli to broadcast tx logic for
MsgTransfer
andMsgRegisterCounterpartyPayee
(#1362) - 912472c fix: update penumbra protos & make adjustments to account for cometbft upgrade (#1360)
- 8669bf0 penumbra: use ibc-data prefix in QueryTendermintProof (#1361)
- cf2754a penumbra provider: fix getAnchor: don't query out of range heights (#1358)
- dd40ff2 penumbra: update proof spec to new multistore format (#1355)
- 7f03bc7 rename metric (#1347)
- 1c18c2b Ensure that ✘ is displayed for clients if they are expired (#1352)
- c6e5bdb fix: Use the provider IR instead of creating a new one (#1346)
- 7efcd30 verbose tx error (#1344)
- 34d3d4f fix:
cosmos_relayer_tx_failure
metric redundant count (#1343) - be8ebe0 Auto add issues to Strangelove project board (#1337)
- d0b2700 deps: bump version numbers for handful of deps (#1334)
- 7e02760 Add Unbonding Period to
clients-expiration
query. (#1327) - c0783eb upgrade deps for cometbft v0.38.0, ibc-go v0.8.0, sdk v0.50.0 and handle breaking changes (#1312)
- 27cf122 fix: cleanup close init after close confirmed (#1326)
- 2c60f6c feat: add log-level in global config (#1324)
- 9b80dd0 fix: add not exist check for loadConfigFile error (#1325)
- 26aa983 Create new client with custom unbonding period (#1313)
- e4e9f27 docs: fix typos (#1319)
- d0deac5 Harry/wallet init (#1190)
- cc75c04 fix: add missing msg type when parse from event (#1196)
- cb4708b edit rpc endp...
v2.5.0-rc.1
The long-awaited v2.5.0
release comes with quite a few new notable features, a handful of enhancements, and a long list of fixes and performance tweaks. Core dependencies have been upgraded to ensure rly
now supports the CometBFT v0.38.x, Cosmos SDK v0.50.x, and ibc-go v8.0.x lines.
Highlighted Features
External feegrants
You can now use feegrant enabled addresses associated with private keys that the relayer operator does not actually have control of. This means that the grantees are authorized externally, i.e. someone else controls the granter's private key.
Previously, the feegrant feature only supported addresses associated with private keys the relayer operator controlled and had configured via the relayer.
See: (#1338)
CometBFT client wrapper
With the introduction of CometBFT v0.38.0 we were originally maintaining a fork of CometBFT to account for breaking changes to the API exposed via the RPC client, notably the BlockResults
call. This approach was both brittle and problematic due to duplicate proto types being registered.
We have now introduced cometbft-client as a dependency in the relayer. The new dependency serves as a slimmed-down version of CometBFT which only includes the packages and source code files necessary to utilize the RPC client. This allows us to avoid maintaining an entire fork of the repo, while also having fine-grained control over breaking changes introduced in CometBFT moving forward to ensure backwards compatibility with older versions.
Configurable limits on receiver and ICS-20 memo fields
Users can now configure a max size limit on both the receiver and ICS-20 memo fields via the new config fields MaxReceiverSize
& ICS20MemoLimit
respectively.
This allows relayer operators to ignore ICS-20 packets with receiver or memo fields whose size is greater than these configured values.
See: (#1377)
Ability to fine-tune client creation parameters
A few new flags have been added to enable a greater level of configuration when initializing new IBC light clients via the rly tx clients
and rly tx client
commands.
-
--max-clock-drift
sets theMaxClockDrift
value; if not set, the default value of 10 minutes is used. -
--client-tp-percentage
, overrides the current trusting period value utilized by the relayer when creating a new client, which is currently 85% of a chain's unbonding period. If a user specifies a custom trusting period with the existingclient-tp
flag this value is ignored. -
--client-unbonding-period
enables setting a custom unbonding period when creating a new client. This is useful because, in order to substitute an expired client with a new one, the new client must match the expired client's state (which includes the unbonding period). Failure to ensure these values match results in an error in ibc-go.
See: (#1369), (#1365) & (#1313)
Stuck packet flushing
Adds the new flags --stuck-packet-chain-id
, --stuck-packet-height-start
, and --stuck-packet-height-end
to the rly tx start
and rly tx flush
commands. These new flags are used for starting up the CosmosChainProcessor
by querying a specific range for a chain ID before jumping to current and relaying anything that needs to be handled by the queried range.
This is useful if stuck packets have been identified between a particular range of block heights. Without this feature, operators would normally have to start the relayer with a large initial block history via the --block-history
flag, this can be incredibly resource and time-intensive for larger values.
Note: This is for advanced usage only and should only be used for mitigation scenarios, as the relayer will not have a full picture of what happened between --stuck-packet-height-end
and the current chain tip. This could lead to failures if packets were already handled since the stuck packet height range.
See: (#1296)
Additional Features
- Add Prometheus metrics for unrelayed-packets and unrelayed-acknowledgments. (#1356)
- Add the ability to configure log level in global config. (#1324)
- Setup keys for all configured chains with a single mnemonic with the
--restore-all
flag inrly keys restore
. (#1190) - Edit configured RPC endpoints for a chain using the
rly chains set-rpc
command. (#1292)
Enhancements
- Ensure that ✘ is displayed for clients if they are expired in
rly path list
. (#1352) - Make tx broadcast errors more verbose. (#1344)
- Add unbonding period to client expiration query. (#1327)
Fixes
- Fix flush race which caused acknowledgements to not be fully cleared from the caches when giving up on sending a packet message after max retries. (#1363)
- Register concrete type for type URL of EthAccount. (#1390)
- Update penumbra protos and fix tx.go, query.go with new apis. (#1379)
- Add handling for MsgTimeout in Penumbra ChainProvider. (#1378)
- Ensure gas simulation returns proper gas amount for feegrants. (#1364)
- Fix Prometheus metric
cosmos_relayer_observed_packets
observing packets on irrelevant channels. (#1345) - Properly pipe memo from cli to broadcast tx logic for MsgTransfer and MsgRegisterCounterpartyPayee. (#1362)
- Update penumbra protos & make adjustments to account for CometBFT upgrade. (#1360)
- Use ibc-data prefix in QueryTendermintProof in Penumbra ChainProvider. (#1361)
- Fix getAnchor function in Penumbra ChainProvider so it doesn't query out of range heights. (#1358)
- Update Penumbra proof spec to new multistore format. (#1355)
- Add
_total
suffix to counter metrics. (#1347) - Use the ChainProvider's
InterfaceRegistry
instead of creating a new default one. (#1346) - Fix
cosmos_relayer_tx_failure
metric counting the same error multiple times. (#1343) - Cleanup cached
MsgChannelCloseInit
msgs afterMsgChannelCloseConfirm
is observed. (#1326) - Add does not exist check for
loadConfigFile
error. (#1325) - Add missing
MsgChannelCloseConfirm
msg type when parsing from events. (#1196) - Fix issue with packets being relayed even when estimated gas is higher than configured max gas limit. (#1302)
- Properly set max gas limit when configured value is greater than zero. (#1303)
Other
- Update security procedures for Hacker One Program. (#1382)
- Add ICS-29 guide to
docs/
. (#1375) - Update relayer troubleshooting doc. (#1350)
- Clean up docs and fix typos. (#1319)
- Remove problematic self hosted GitHub runners. (#1306)
Changelog
- be5a4cf ci: bump goreleaser-cross version (#1391)
- a9ce8d6 Problem: no concrete type registered for type URL of EthAccount (#1390)
- f76614d update penumbra protos and fix tx.go, query.go with new apis (#1379)
- 287354b Fix flush race (#1363)
- ef1578e refactor: encapsulate slim client in wrapper (#1388)
- 7cb083c External feegrants (#1338)
- 5ab55c0 feat: add configurable limits for receiver and ICS-20 memo fields (#1377)
- 1ef7db5 feat: introduce cometbft client wrapper to eliminate forked repo (#1384)
- 9bd144e Update Security Procedures for Hacker One Program (#1382)
- 4ad5ab2 fix: add handling for MsgTimeout in Penumbra ChainProvider (#1378)
- caf9d52 When creating a client, make
max-clock-drift
configurable (#1369) - 3b05fdb add ICS-29 guide to path docs (#1375)
- 71acbb8 build(deps): bump github.com/containerd/containerd in /interchaintest (#1372)
- c98f389 build(deps): bump github.com/dvsekhvalnov/jose2go in /interchaintest (#1371)
- 820caf5 build(deps): bump github.com/dvsekhvalnov/jose2go from 1.5.0 to 1.6.0 (#1370)
- c017b8c build(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 (#1366)
- 3655821 build(deps): bump golang.org/x/crypto in /interchaintest (#1367)
- 56a534c Link custom client trusting period ratio (#1365)
- ba17805 Add Prometheus metrics for
unrelayed-packets
andunrelayed-acknoledgments
(#1356) - f52b342 Update troubleshoot doc (#1350)
- 523748e Problem: simulate gas is less than required with feegrants (#1364)
- cfe8b93 fix: Observed Packet Metric (#1345)
- 654ea9f fix: pipe memo from cli to broadcast tx logic for
MsgTransfer
andMsgRegisterCounterpartyPayee
(#1362) - 912472c fix: update penumbra protos & make adjustments to account for cometbft upgrade (#1360)
- 8669bf0 penumbra: use ibc-data prefix in QueryTendermintProof (#1361)
- cf2754a penumbra provider: fix getAnchor: don't query out of range heights (#1358)
- dd40ff2 penumbra: update proof spec to new multistore format (#1355)
- 7f03bc7 rename metric (#1347)
- 1c18c2b Ensure that ✘ is displayed for clients if they are expired (#1352)
- c6e5bdb fix: Use the provider IR instead of creating a new one (#1346)
- 7efcd30 verbose tx error (#1344)
- 34d3d4f fix:
cosmos_relayer_tx_failure
metric redundant count (#1343) - be8ebe0 Auto add issues to Strangelove project board (#1337)
- d0b2700 deps: bump version numbers for handful of deps (#1334)
- 7e02760 Add Unbonding Period to
clients-expiration
query. (#1327) - c0783eb upgrade deps for cometbft v0.38.0, ibc-go v0.8.0, sdk v0.50.0 and handle breaking changes (#1312)
- 27cf122 fix: cleanup close init after close confirmed (#1326)
- 2c60f6c feat: add log-level in global config (#1324)
- 9b80dd0 fix: add not exist check for loadConfigFile error (#1325)
- 26aa983 Create new client with custom unbonding period (#1313)
- e4e9f27 docs: fix typos (#1319)
- d0deac5 Harry/wallet init (#1190)
- cc75c04 fix: add missing msg type when parse from event (#1196)
- cb4708b edit rpc endpoints using command (#1292)
- 200d0fb Remove self hosted runners (#1306)
- 6bd9c02 Stuck packet (#1296)
- 892e52c Problem: packet get relayed even estimated gas is higher than max gas (#1302)
- a3cb991 Problem: estimate less gas when miss max gas on txf when simualte runTx (#1303)
v2.4.2
Patch Release 🔨
This Patch:
- Adds support to create new clients with chains using the Liquid Staking Module
- Adds
--testnet
flag for adding testnet chains and fetching testnet paths from the chain registry - Standardizes json output for some query commands
rly paths fetch
now has the ability to fetch specific paths instead of all available paths- Adds ability to update chain key with the command line instead of manually editing the config (
rly keys use
)
BREAKING PROMETHEUS METRIC CHANGE:
3415e6a rename path to path_name for consistency (#1262)
ALL CHANGES:
- chore: update penumbra protos by @conorsch in #1260
- Change 2.3.0 to 2.4.0 by @Sr20dem in #1253
- rename path to path_name for consistency by @danbryan in #1262
- Use unique names for relayer images & cleanup when purpose served by @vimystic in #1269
- use ibc-go capability module by @faddat in #1277
- fix: use resp.Events to parse events instead of logs by @colin-axner in #1271
- chore: upgrade sdk and ibc by @faddat in #1280
- Add use command to "rly keys" by @vimystic in #1282
- Update README.md with an update to leverage 'rly key use' in step 5 by @vimystic in #1289
- Ability to fetch specific chain paths only by @Reecepbcups in #1291
- faddat/upgrade go by @faddat in #1279
- Split scenarios test by @vimystic in #1294
- Add verbosity and timeout for scenarios tests in workflow by @vimystic in #1295
- Add output flag for query sub commands results printed to console. by @vimystic in #1281
- Add ability to fetch testnet chains and paths + force-add ability by @boojamya in #1285
- Update interchaintest workflow actions by @boojamya in #1298
- Query param prop directly by @vimystic in #1264
New Contributors
- @Sr20dem made their first contribution in #1253
- @danbryan made their first contribution in #1262
- @vimystic made their first contribution in #1269
- @Reecepbcups made their first contribution in #1291
Full Changelog: v2.4.1...v2.4.2
v2.4.1
Patch Release 🔨
This patch:
- fixes a bech32 caching issue when running certain commands.
- Adds a simple way to remove a feegrant configuration with the
--delete
flag - fixes freegranting issues that appeared when no transaction fee was necessary
Changelog
- fix for feegrants by @KyleMoser in #1256
Full Changelog: v2.4.0...v2.4.1
v2.4.0
Highlighted Features 🔱
-
Feegrant Support by @KyleMoser in #1140
- See:
rly chains configure feegrant
- Easily configure round-robin feegranted accounts to send TXs.
- Used to avoid sequencing errors
- Use Cases:
- relaying multiple paths on the same chain with same wallet
- relaying with
broadcast-mode
set tosingle
- See:
-
Support localhost ibc by @jtieri in #1191
- More inforamation on local host is available here
-
More exported Prometheus metrics by @boojamya
See: Relayer Prometheus docs
Additional Metrics:- Add wallet address to wallet balance metric #1206
- Time remaining until light client expiration + client trusting period #1235
- Add configured gas prices to wallet balance metric #1236
- Exports block query errors to prometheus metrics (counter) #1239
- Export TX failures to prometheus metrics (counter) #1240
- Export Client Trusting Period as separate metric #1246
-
Add sr25519 support by @agouin in #1120
- Adds support for Sei chain
Features
- allow register with extra_codecs by @mmsqe in #1175
- Harry/fee middleware by @Cosmos-Harry in #1174
- feat: add max-gas-amount parameter in chain configs by @mmsqe in #1178
- Make min query loop duration configurable by @agouin in #1164
- feat: add extension_options parameter in chain configs by @mmsqe in #1179
Enhancements
- chore: add path name to logs in message processor by @jtieri in #1171
- Harry/rly tx channel by @Cosmos-Harry in #1183
- Harry/rly tx transfer by @Cosmos-Harry in #1184
- Better Error Messaging when failing to query the Block Height by @keefertaylor in #1189
- Harry/rly address by @Cosmos-Harry in #1204
- use the name given by the user to generate the fetch URL by @murataniloener in #1233
- fix: Suppressing scary SDK error on redundant packets by @joeabbey in #1214
- Add extra client info when querying client expiration by @boojamya in #1247
Fixes
- Fix multiple conn open init by @agouin in #1173
- fix: nil receiver initiate for path by @mmsqe in #1177
- fix: add missing stop relayer to avoid log after test complete by @mmsqe in #1229
- fix: avoid invalid Bech32 prefix in scenario test by @mmsqe in #1226
- fix: wait more blks for ack in fee middleware test by @mmsqe in #1222
- fix: flag accessed but not defined: flush-interval by @mindcarver in #1238
- fix: reduce get bech32 prefix when get signer by @mmsqe in #1231
- catch error if type is missing by @murataniloener in #1234
Other
- penumbra provider: update generated protos by @avahowell in #1168
- penumbra: update protos by @conorsch in #1170
- dep: bump sdk from v0.47.0 to v0.47.2 by @mmsqe in #1180
- penumbra: update protos by @conorsch in #1181
- Problem: fixes in ibc-go v7.0.1 are not included by @mmsqe in #1205
- deps: update to ibc-go v7.1.0-rc0 by @jtieri in #1207
- chore: replace gogo/protobuf to cosmos/gogoproto by @mmsqe in #1208
- dep: bump cometbft and ibc-go by @mmsqe in #1221
- penumbra provider: update proof spec by @avahowell in #1232
- penumbra provider: update protos by @avahowell in #1245
- separate feegrant test to avoid no space left on device by @mmsqe in #1250
- chore: update penumbra protos to v0.57.0 by @conorsch in #1249
- Update setup-go action by @boojamya in #1251
Changelog
- a63cd79 update setup-go action (#1251)
- 2138221 fix: reduce get bech32 prefix when get signer (#1231)
- d878a55 chore: update penumbra protos to v0.57.0 (#1249)
- ab1c4fc next seq ack handling (#1244)
- 1301e1d Add extra client info when querying client expiration (#1247)
- f054ac4 separate feegrant test to avoid no space left on device (#1250)
- 5236f6f Export Client Trusting Period to Prometheus metrics (#1246)
- cdd7661 feegrant PR (#1140)
- 993c21b use the name given by the user to generate the fetch URL (#1233)
- 3c78287 Export TX failures to prometheus metrics (counter) (#1240)
- 107d3f5 Exports block query errors to prometheus metrics (counter) (#1239)
- 55084bd Export configured gas prices to prometheus wallet balance metric (#1236)
- 22bce42 Export client expiration metric to prometheus (#1235)
- 7ae1596 catch error if type is missing (#1234)
- 73d338a fix: Suppressing scary SDK error on redundant packets (#1214)
- af73416 penumbra provider: update protos (#1245)
- 4a3237d fix: flag accessed but not defined: flush-interval (#1238)
- 91f9105 penumbra provider: update proof spec (#1232)
- 1bfe06c wait more blks for ack (#1222)
- ea035d5 fix: avoid invalid Bech32 prefix in scenario test (#1226)
- d0a4010 add missing stop relayer to avoid log after test complete (#1229)
- 253a641 dep: bump cometbft and ibc-go (#1221)
- b4653dd feat: support localhost ibc (#1191)
- 049b5b4 feat: add extension_options parameter in chain configs (#1179)
- 4ec767a chore: replace gogo/protobuf to cosmos/gogoproto (#1208)
- 0981e67 Export wallet address for Prometheus metrics (#1206)
- e95dd80 deps: update to ibc-go v7.1.0-rc0 (#1207)
- de95076 Harry/rly address (#1204)
- 736e48b Problem: fixes in ibc-go v7.0.1 are not included (#1205)
- 23d1e5c Neutron launch fixes and optimizations (#1185)
- debdee7 penumbra: update protos (#1181)
- d5e3882 Better Error Messaging when failing to query the Block Height (#1189)
- af8d0f7 Harry/rly tx transfer (#1184)
- 45f478b Harry/rly tx channel (#1183)
- 04e7f3a dep: bump sdk from v0.47.0 to v0.47.2 (#1180)
- d36dd5d feat: add max-gas-amount parameter in chain configs (#1178)
- 1ee79e5 fix: nil receiver initiate for path (#1177)
- 3a14f8c Harry/fee middleware (#1174)
- 591c136 allow register with extra_codecs (#1175)
- 4aa0d3c Fix multiple conn open init (#1173)
- e594d2a chore: add path name to logs in message processor (#1171)
- 314056b penumbra: update protos (#1170)
- deef5eb Add sr25519 support (#1120)
- 26aa346 penumbra provider: update generated protos (#1168)
- ba8f442 Make min query loop duration configurable (#1164)
- d619c89 Fix QueryConnectionsUsingClient for cosmos (#1162)
- f9aaf3d Bump github.com/opencontainers/runc in /interchaintest (#1153)
- 2cf2952 bump version in docs (#1158)
- deab34e Bump github.com/docker/docker in /interchaintest (#1160)
- d7219fc Make ICA waits more explicit (#1157)
- d57648a --time-threshold example use cases (#1155)
- c687408 Penumbra support v2 (#1144)
- 8dcf4c1 Lock config file for all write operations (#1156)
New Contributors
- @conorsch made their first contribution in #1170
- @mmsqe made their first contribution in #1175
- @keefertaylor made their first contribution in #1189
- @mindcarver made their first contribution in #1238
- @murataniloener made their first contribution in #1234
- @KyleMoser made their first contribution in #1140
Full Changelog: v2.3.1...v2.4.0
v2.3.1
Patch Release 🔨
This patch addresses an issue where the relayer could occasionally open multiple connections on a single client when performing rly transact link
or rly transact connection
.
Changelog
Full Changelog: v2.3.0...v2.3.1
v2.3.0
Highlights 🔱
Features
- Added
clients-expiration
query #1027 - Added 'extra-codecs' support #1048
- Added support for custom chain commitment prefix #1036
- Move to
cometbft v0.37.0
and update tosdk 0.47.0
, andibc-go v7
#1068, #1119 - Bump to Go 1.20 #1132
- Coin-type improvements #1073
- Broadcast multiple tx per block from the same wallet #1084
- Remove
lens
as dependency #1097, #1109 - Better channels query #1106
- Add
flush
command #1103
Fixes
- Fix GH rate limit issue when adding chain data #1013
- Fix rec packets query #1035
- Separate recv_packet from write_acknowledgement events #1038
- Fix ordered channel timeouts #1045
- Fix consumer chain unbonding period query #1044
- Fixes NewRegistry Registered Metrics #1031
- Fixes AMD64/Aarch64 Dockerfile compatabliity #1051
- Fix Ordered channel closure packet queue #1045
- Fix link-then-start command flags #1167
- Fix trusting period query for ics chains #1072
- Make file fixes #1065, #1070, #1071
- Allow client IDs, conn IDs, and chain IDs to be updated #1077
- ICQ compatibility #1076
- injective compatibility #1079
- Better pagination #1087
- Timeout fixes #1088
- Pre-filter flush channels #1146
- Improve epoch handling #1154
- Lock config file for all write operations #1156
- Make ICA waits more explicit #1157
- Fix QueryConnectionsUsingClient for cosmos chains #1162
All Changes
- feat: add new clients-expiration query returning time before expiration by @glebiller in #1027
- Avoid hitting GH rate limit and clean up logs by @boojamya in #1013
- Add docs for auto update client by @boojamya in #1025
- Bump github.com/moby/moby from 20.10.17+incompatible to 20.10.18+incompatible in /ibctest by @dependabot in #990
- fix query recv packet by @ItsFunny in #1035
- feat: enable gha caching for docker build by @pratikbin in #1034
- recv_packet/write_acknowledgement separation by @agouin in #1038
- Fix ordered channel timeouts by @agouin in #1045
- fix consumer chain unbonding period query by @agouin in #1044
- fix: Serve NewRegistry Registered Metrics by @joeabbey in #1031
- Adding 'extra-codecs' support to relayer by @joeabbey in #1048
- AMD64/Aarch64 compatible Dockerfile by @joeabbey in #1051
- Pipe in LDFLAGS env var to enable fully static bin by @agouin in #1053
- Remove IBC-Go versioning table on home readme by @boojamya in #1047
- [fix] Ordered channel closure packet queue by @agouin in #1050
- feat: add support for custom chain commitment prefix by @avahowell in #1036
- Attempting to use goreleaser-cross by @joeabbey in #1061
- Add commit var and update to go 1.19 by @agouin in #1064
- Fix make install for arm64 by @boojamya in #1065
- Fix link-then-start command to have correct flags by @nik-suri in #1067
- fix: get-gaia command in Makefile used repo variable as branch by @MalteHerrmann in #1070
- fix: make build-gaia command installs relayer instead of Gaia by @MalteHerrmann in #1071
- Fix trusting period query for ics chains by @agouin in #1072
- Allow client IDs, conn IDs, and chain IDs to be updated for paths by @agouin in #1077
- Stride ICQ by @agouin in #1076
- Bump github.com/containerd/containerd from 1.6.8 to 1.6.12 in /ibctest by @dependabot in #1078
- tm v0.37.0-rc2, sdk 0.47.0-rc1, and ibc-go v7 by @agouin in #1068
- fix injective by @agouin in #1079
- Slip44 by @Cosmos-Harry in #1073
- Adding Pagination to Queries by @joeabbey in #1087
- Fix timeouts by @agouin in #1088
- broadcast multiple tx per block from the same wallet by @agouin in #1084
- migrate to flock for config lock by @agouin in #1104
- Bring in key management, tx broadcasting, and configuration logic from lens by @jtieri in #1097
- Add the ability to interact with the cosmos chain registry by @jtieri in #1109
- channels query extended info by @agouin in #1106
- Bump github.com/hashicorp/go-getter from 1.6.2 to 1.7.0 in /interchaintest by @dependabot in #1094
- Flush command and PathProcessor periodic flush by @agouin in #1103
- Bump github.com/containerd/containerd from 1.6.12 to 1.6.18 in /interchaintest by @dependabot in #1093
- Bump github.com/hashicorp/go-getter from 1.6.2 to 1.7.0 by @dependabot in #1095
- Bump golang.org/x/net from 0.4.0 to 0.7.0 by @dependabot in #1100
- fix: resolve resource leaks by @jtieri in #1114
- Fix api listen port config var by @agouin in #1110
- chore: register solomachine codec types by @jtieri in #1118
- Migrate to cometbft by @agouin in #1119
- Consolidate tx broadcast methods by @agouin in #1117
- feat: implement misbehaviour detection by @jtieri in #1121
- Flush query should include begin and end block events by @agouin in #1125
- pre_init messages by @agouin in #1131
- fix default coin type by @agouin in #1134
- build: bump to Go 1.20 + bump deps by @jtieri in #1132
- fix acks flush by @agouin in #1139
- Fix ordered channel closure by @agouin in #1142
- Fix flush termination condition by @agouin in #1141
- bump to ictest main sha by @agouin in #1143
- Pre-filter flush channels by @agouin in #1146
- Add channel close correlation by @agouin in #1145
- Fix flush on ordered channels by @agouin in #1150
- CosmosChainProcessor - skip blocks after max retries by @agouin in #1154
- Lock config file for all write operations by @agouin in #1156
- Add
--time-threshold
flag example use case by @boojamya in #1155 - Make ICA waits more explicit by @agouin in #1157
- Bump github.com/docker/docker from 20.10.19+incompatible to 20.10.24+incompatible in /interchaintest by @dependabot in #1160
- bump version in docs by @agouin in #1158
- Bump github.com/opencontainers/runc from 1.1.3 to 1.1.5 in /interchaintest by @dependabot in #1153
- Fix QueryConnectionsUsingClient for cosmos by @agouin in #1162
New Contributors
- @glebiller made their first contribution in #1027
- @dependabot made their first contribution in #990
- @avahowell made their first contribution in #1036
- @nik-suri made their first contribution in #1067
- @MalteHerrmann made their first contribution in #1070
- @Cosmos-Harry made their first contribution in #1073
- @hdevalence made their first contribution in #1144
Full Changelog: v2.2.0...v2.3.0