Skip to content

Commit d7363a4

Browse files
authored
Merge branch 'main' into jonas/aggregation
2 parents 1a81626 + f17cb96 commit d7363a4

17 files changed

Lines changed: 339 additions & 97 deletions

File tree

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# https://help.github.com/articles/about-codeowners
2+
3+
* @mbreithecker @yjamin @troykessler

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,21 @@
1414

1515
An '!' indicates a state machine breaking change.
1616

17+
## Unreleased
18+
19+
### Features
20+
21+
- ! [#135](https://github.com/bcp-innovations/hyperlane-cosmos/pull/135) Allow authority to create native synthetic tokens.
22+
23+
### Bug Fixes
24+
25+
- ! [#148](https://github.com/bcp-innovations/hyperlane-cosmos/pull/148) Fix Amino name typos in warp.
26+
- ! [#153](https://github.com/bcp-innovations/hyperlane-cosmos/pull/153) Fix SetDomain for RoutingISM.
27+
- ! [#123](https://github.com/bcp-innovations/hyperlane-cosmos/pull/123) Fix Amino name typos in core.
28+
- ! [#143](https://github.com/bcp-innovations/hyperlane-cosmos/pull/143) Allow IGP to charge zero fees.
29+
- ! [#151](https://github.com/bcp-innovations/hyperlane-cosmos/pull/151) Support 32 byte addresses in remote recv collateral.
30+
- ! [#141](https://github.com/bcp-innovations/hyperlane-cosmos/pull/141) Corrected coin comparison.
31+
1732
## [v1.0.1](https://github.com/bcp-innovations/hyperlane-cosmos/releases/tag/v1.0.1) - 2025-06-05
1833

1934
### Improvements

CONTRIBUTING.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Cosmos-SDK principles and design architectures.
1313

1414
## Creating a Pull Request
1515

16-
- Check out the latest state from main and always keep the PR in sync with main.
16+
- Check out the latest state from `main` and always keep the PR in sync with `main`.
1717
- Use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#specification).
1818
- Only one feature per pull request.
1919
- Write an entry for the Changelog.
@@ -23,7 +23,7 @@ Cosmos-SDK principles and design architectures.
2323
## Coding Guidelines
2424

2525
- Write readable and maintainable code. `Premature Optimization Is the Root of All Evil`.
26-
Concentrate on clean interfaces first and only optimize for performance if it is needed.
26+
Concentrate on clean interfaces first and only optimize for performance if it is necessary.
2727
- The keeper directory is structured the following:
2828
- `msg_server_*`-files are the entry point for message handling. This file
2929
should be very clean to read and outsource most of the part to the logic files.
@@ -32,6 +32,10 @@ Cosmos-SDK principles and design architectures.
3232
- `query_server_*`-files are the entry point for query handling. This file
3333
should be very clean to read. Most queries can make use of the pagination
3434
provided in `./util`.
35+
- AI Usage: AI can significantly speed up development, but you are responsible
36+
for the code you submit. Before opening a PR, thoroughly review all changes.
37+
Do not submit PRs containing code you haven’t personally reviewed,
38+
as this creates an unnecessary burden for reviewers.
3539

3640
## Code Structure
3741

proto/hyperlane/core/interchain_security/v1/tx.proto

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ message MsgCreateMessageIdMultisigIsmResponse {
8888
];
8989
}
9090

91-
// MsgCreateMultisigIsm ...
91+
// MsgCreateMerkleRootMultisigIsm ...
9292
message MsgCreateMerkleRootMultisigIsm {
9393
option (cosmos.msg.v1.signer) = "creator";
9494
option (amino.name) = "hyperlane/v1/MsgCreateMerkleRootMultisigIsm";
@@ -104,7 +104,7 @@ message MsgCreateMerkleRootMultisigIsm {
104104
uint32 threshold = 3;
105105
}
106106

107-
// MsgCreateMultisigIsmResponse ...
107+
// MsgCreateMerkleRootMultisigIsmResponse ...
108108
message MsgCreateMerkleRootMultisigIsmResponse {
109109
string id = 1 [
110110
(gogoproto.customtype) =
@@ -183,8 +183,7 @@ message MsgCreateRoutingIsmResponse {
183183
// MsgSetRoutingIsmDomain ...
184184
message MsgSetRoutingIsmDomain {
185185
option (cosmos.msg.v1.signer) = "owner";
186-
option (amino.name) =
187-
"hyperlane/v1/MsgCreateRoMsgSetRoutingIsmDomainutingIsm";
186+
option (amino.name) = "hyperlane/v1/MsgSetRoutingIsmDomain";
188187

189188
// ism_id ...
190189
string ism_id = 1 [

proto/hyperlane/core/post_dispatch/v1/tx.proto

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ service Msg {
4141
// MsgCreateIgp ...
4242
message MsgCreateIgp {
4343
option (cosmos.msg.v1.signer) = "owner";
44-
option (amino.name) = "hyperlane/v1/MsgCreateInterchainGasPaymaster";
44+
option (amino.name) = "hyperlane/v1/MsgCreateIgp";
4545

4646
// owner is the message sender.
4747
string owner = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ];
@@ -81,7 +81,7 @@ message MsgSetIgpOwner {
8181
bool renounce_ownership = 4;
8282
}
8383

84-
// MsgCreateIgpResponse ...
84+
// MsgSetIgpOwnerResponse ...
8585
message MsgSetIgpOwnerResponse {}
8686

8787
// MsgSetDestinationGasConfig ...
@@ -164,7 +164,7 @@ message MsgClaim {
164164
// MsgClaimResponse ...
165165
message MsgClaimResponse {}
166166

167-
// MsgMerkleTreeHook ...
167+
// MsgCreateMerkleTreeHook ...
168168
message MsgCreateMerkleTreeHook {
169169
option (cosmos.msg.v1.signer) = "owner";
170170
option (amino.name) = "hyperlane/v1/MsgCreateMerkleTreeHook";
@@ -188,16 +188,16 @@ message MsgCreateMerkleTreeHookResponse {
188188
];
189189
}
190190

191-
// MsgMerkleTreeHook ...
191+
// MsgCreateNoopHook ...
192192
message MsgCreateNoopHook {
193193
option (cosmos.msg.v1.signer) = "owner";
194-
option (amino.name) = "hyperlane/v1/MsgCreateMerkleTreeHook";
194+
option (amino.name) = "hyperlane/v1/MsgCreateNoopHook";
195195

196196
// sender ...
197197
string owner = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ];
198198
}
199199

200-
// MsgCreateMerkleTreeHookResponse ...
200+
// MsgCreateNoopHookResponse ...
201201
message MsgCreateNoopHookResponse {
202202
string id = 1 [
203203
(gogoproto.customtype) =

x/core/01_interchain_security/keeper/msg_server_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -929,7 +929,7 @@ var _ = Describe("msg_server.go", Ordered, func() {
929929
Expect(ism.Id.String()).To(Equal(routingIsm.Id.String()))
930930
Expect(ism.Routes).To(HaveLen(1))
931931
Expect(ism.Routes[0].Domain).To(Equal(uint32(1337)))
932-
Expect(ism.Routes[0].Ism.String()).To(Equal(noopIsmId.String()))
932+
Expect(ism.Routes[0].Ism.String()).To(Equal(routingIsm.Id.String()))
933933
})
934934

935935
It("RemoveRoutingIsmDomain (invalid) on non routing ism", func() {

x/core/01_interchain_security/module.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) {
3535
cdc.RegisterConcrete(&types.MsgCreateMerkleRootMultisigIsm{}, "hyperlane/v1/MsgCreateMerkleRootMultisigIsm", nil)
3636
cdc.RegisterConcrete(&types.MsgCreateNoopIsm{}, "hyperlane/v1/MsgCreateNoopIsm", nil)
3737
cdc.RegisterConcrete(&types.MsgCreateRoutingIsm{}, "hyperlane/v1/MsgCreateRoutingIsm", nil)
38-
cdc.RegisterConcrete(&types.MsgSetRoutingIsmDomain{}, "hyperlane/v1/MsgCreateRoMsgSetRoutingIsmDomainutingIsm", nil)
38+
cdc.RegisterConcrete(&types.MsgSetRoutingIsmDomain{}, "hyperlane/v1/MsgSetRoutingIsmDomain", nil)
3939
cdc.RegisterConcrete(&types.MsgRemoveRoutingIsmDomain{}, "hyperlane/v1/MsgRemoveRoutingIsmDomain", nil)
4040
cdc.RegisterConcrete(&types.MsgUpdateRoutingIsmOwner{}, "hyperlane/v1/MsgUpdateRoutingIsmOwner", nil)
4141
}

x/core/01_interchain_security/types/routing_ism.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ func (m *RoutingISM) RemoveDomain(domainId uint32) bool {
5050

5151
// SetDomain adds/sets a domain to the routing ISM.
5252
func (m *RoutingISM) SetDomain(newRoute Route) {
53-
for _, route := range m.Routes {
53+
for i := range m.Routes {
54+
route := &m.Routes[i]
5455
if newRoute.Domain == route.Domain {
5556
route.Ism = newRoute.Ism
5657
return

x/core/01_interchain_security/types/tx.pb.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x/core/02_post_dispatch/keeper/hook_igp.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func (i InterchainGasPaymasterHookHandler) PayForGas(ctx context.Context, hookId
5252
return sdk.NewCoins(), err
5353
}
5454

55-
if requiredPayment.IsAllGT(maxFee) {
55+
if !maxFee.IsAllGTE(requiredPayment) {
5656
return sdk.NewCoins(), fmt.Errorf("required payment exceeds max hyperlane fee: %v", requiredPayment)
5757
}
5858

@@ -69,7 +69,8 @@ func (i InterchainGasPaymasterHookHandler) PayForGasWithoutQuote(ctx context.Con
6969
}
7070

7171
if amount.IsZero() {
72-
return fmt.Errorf("amount must be greater than zero")
72+
// Nothing to charge
73+
return nil
7374
}
7475

7576
senderAcc, err := sdk.AccAddressFromBech32(sender)

0 commit comments

Comments
 (0)