Skip to content

Commit efa8c9d

Browse files
authored
Merge branch 'main' into ibc-tutorial
2 parents b3d6f6d + c1db132 commit efa8c9d

File tree

252 files changed

+17920
-7919
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

252 files changed

+17920
-7919
lines changed

.github/workflows/gen-docs-migration.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
name: Generate Migration Docs
22
on:
33
release:
4-
types: [ published ]
4+
types: [published]
5+
workflow_dispatch:
56

67
jobs:
78
cli:
@@ -11,7 +12,7 @@ jobs:
1112

1213
- uses: actions/setup-go@v5
1314
with:
14-
go-version: 'stable'
15+
go-version: "stable"
1516

1617
- name: Generate Scaffold Migration Docs
1718
run: ./scripts/gen-mig-diffs
@@ -31,4 +32,3 @@ jobs:
3132
run: |
3233
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
3334
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
34-

.github/workflows/release-homebrew.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
run: |
2020
echo "tag-name=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
2121
22-
- uses: mislav/bump-homebrew-formula-action@v3
22+
- uses: mislav/bump-homebrew-formula-action@v3.3
2323
with:
2424
formula-name: ignite
2525
formula-path: Formula/i/ignite.rb

changelog.md

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,48 @@
22

33
## Unreleased
44

5+
## [`v29.1.0`](https://github.com/ignite/cli/releases/tag/v29.1.0)
6+
57
### Features
68

9+
- [#4728](https://github.com/ignite/cli/pull/4728) Ask before overwriting a `xgenny` file.
10+
- [#4731](https://github.com/ignite/cli/pull/4731) Complete IBC v2 wiring.
11+
- [#4732](https://github.com/ignite/cli/pull/4732) Add `ignite chain modules list` command to list all modules in the chain.
12+
13+
### Changes
14+
15+
- [#4717](https://github.com/ignite/cli/pull/4717) Bump Cosmos SDK to `v0.53.2`.
16+
- [#4718](https://github.com/ignite/cli/pull/4718) Bump default Ignite Apps.
17+
- [#4741](https://github.com/ignite/cli/pull/4741) Let `generate openapi` generate external modules OpenAPI spec.
18+
- [#4747](https://github.com/ignite/cli/pull/4747) Improve Ignite UI.
19+
20+
### Fixes
21+
22+
- [#4691](https://github.com/ignite/cli/pull/4691), [#4706](https://github.com/ignite/cli/pull/4706), [#4725](https://github.com/ignite/cli/pull/4725), [#4737](https://github.com/ignite/cli/pull/4737) Fix ts-client query template and solely Go template for `ts-client` generation.
23+
- [#4742](https://github.com/ignite/cli/pull/4742) Updates Vue composables template for new ts-client and tanstack/vue-query v5
24+
25+
## [`v29.0.0`](https://github.com/ignite/cli/releases/tag/v29.0.0)
26+
27+
### Features
28+
29+
- [#4614](https://github.com/ignite/cli/pull/4614) Improve integration tests and add query tests.
730
- [#4683](https://github.com/ignite/cli/pull/4683) Allow to change default denom via flag.
831
- [#4687](https://github.com/ignite/cli/pull/4687) Add address type with `scalar` annotations, and add `scalar` type to signer field.
932

1033
### Changes
1134

1235
- [#4689](https://github.com/ignite/cli/pull/4689) Revert `HasGenesis` implementation from retracted `core` v1 to SDK `HasGenesis` interface.
36+
- [#4701](https://github.com/ignite/cli/pull/4701) Improve `ignite doctor` by removing manual migration step. Additionally, remove protoc to buf migrations logic.
37+
- [#4703](https://github.com/ignite/cli/pull/4703) Remove testutil.Register function.
38+
- [#4702](https://github.com/ignite/cli/pull/4702) Improve app detection by checking for inheritance instead of interface implementation.
39+
- [#4707](https://github.com/ignite/cli/pull/4707) Show `buf` version in `ignite version` only when in a go module.
40+
- [#4709](https://github.com/ignite/cli/pull/4709) Remove legacy msgServer support
41+
- [#4710](https://github.com/ignite/cli/pull/4710) Remove the `nullify` pkg from the chain `testutil`
1342

14-
### Bug Fixes
43+
### Fixes
1544

1645
- [#4686](https://github.com/ignite/cli/pull/4686) Filter discovered protos to only messages.
46+
- [#4694](https://github.com/ignite/cli/issues/4694) Install an app using the `.` as a current path show a wrong app name.
1747

1848
## [`v29.0.0-rc.1`](https://github.com/ignite/cli/releases/tag/v29.0.0-rc.1)
1949

@@ -34,6 +64,7 @@
3464
- [#4624](https://github.com/ignite/cli/pull/4624) Fix autocli templates for variadics.
3565
- [#4644](https://github.com/ignite/cli/pull/4644) Improve UI and UX for `testnet multi-node` command.
3666
- [#4645](https://github.com/ignite/cli/pull/4645) Refactor the xast.ModifyFunction to improve the readability.
67+
- [#3393](https://github.com/ignite/cli/issues/3393) Remove xgenny embed walker
3768
- [#4664](https://github.com/ignite/cli/pull/4664) Add verbose flags on `scaffold` and `generate` commands.
3869
- The flag displays the steps Ignite is taking to generate the code.
3970
- The verbosity only applies to the command. For full verbosity use the `IGNT_DEBUG` environment variable instead.
@@ -199,7 +230,7 @@
199230

200231
- [#4376](https://github.com/ignite/cli/pull/4376) Set different chain-id for in place testnet
201232

202-
### Bug Fixes
233+
### Fixes
203234

204235
- [#4421](https://github.com/ignite/cli/pull/4422) Fix typo in simulation template
205236

docs/docs/02-guide/03-hello-world.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -52,24 +52,24 @@ Update the `SayHello` function in `x/hello/keeper/query_say_hello.go` to return
5252
package keeper
5353

5454
import (
55-
"context"
56-
"fmt"
55+
"context"
56+
"fmt"
5757

58-
"hello/x/hello/types"
58+
"hello/x/hello/types"
5959

60-
"google.golang.org/grpc/codes"
61-
"google.golang.org/grpc/status"
60+
"google.golang.org/grpc/codes"
61+
"google.golang.org/grpc/status"
6262
)
6363

6464
func (q queryServer) SayHello(ctx context.Context, req *types.QuerySayHelloRequest) (*types.QuerySayHelloResponse, error) {
65-
if req == nil {
66-
return nil, status.Error(codes.InvalidArgument, "invalid request")
67-
}
65+
if req == nil {
66+
return nil, status.Error(codes.InvalidArgument, "invalid request")
67+
}
6868

69-
// TODO: Process the query
69+
// TODO: Process the query
7070

71-
// Custom Response
72-
return &types.QuerySayHelloResponse{Name: fmt.Sprintf("Hello %s!", req.Name)}, nil
71+
// Custom Response
72+
return &types.QuerySayHelloResponse{Name: fmt.Sprintf("Hello %s!", req.Name)}, nil
7373
}
7474
```
7575

docs/docs/02-guide/08-state.md

Lines changed: 88 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ Ignite creates all the necessary boilerplate for collections in the `x/<module>/
2424

2525
```go
2626
type Keeper struct {
27-
// ...
27+
// ...
2828

29-
Params collections.Item[Params]
30-
Counters collections.Map[string, uint64]
31-
Profiles collections.Map[sdk.AccAddress, Profile]
29+
Params collections.Item[Params]
30+
Counters collections.Map[string, uint64]
31+
Profiles collections.Map[sdk.AccAddress, Profile]
3232
}
3333
```
3434

@@ -42,14 +42,14 @@ To read values from state, use the `Get` method:
4242
// getting a single item
4343
params, err := k.Params.Get(ctx)
4444
if err != nil {
45-
// handle error
46-
// collections.ErrNotFound is returned when an item doesn't exist
45+
// handle error
46+
// collections.ErrNotFound is returned when an item doesn't exist
4747
}
4848

4949
// getting a map entry
5050
counter, err := k.Counters.Get(ctx, "my-counter")
5151
if err != nil {
52-
// handle error
52+
// handle error
5353
}
5454
```
5555

@@ -61,13 +61,13 @@ To write values to state, use the `Set` method:
6161
// setting a single item
6262
err := k.Params.Set(ctx, params)
6363
if err != nil {
64-
// handle error
64+
// handle error
6565
}
6666

6767
// setting a map entry
6868
err = k.Counters.Set(ctx, "my-counter", 42)
6969
if err != nil {
70-
// handle error
70+
// handle error
7171
}
7272
```
7373

@@ -78,10 +78,10 @@ Use the `Has` method to check if a value exists without retrieving it:
7878
```go
7979
exists, err := k.Counters.Has(ctx, "my-counter")
8080
if err != nil {
81-
// handle error
81+
// handle error
8282
}
8383
if exists {
84-
// value exists
84+
// value exists
8585
}
8686
```
8787

@@ -92,7 +92,7 @@ To remove values from state, use the `Remove` method:
9292
```go
9393
err := k.Counters.Remove(ctx, "my-counter")
9494
if err != nil {
95-
// handle error
95+
// handle error
9696
}
9797
```
9898

@@ -102,53 +102,53 @@ Messages in Cosmos SDK modules modify state based on user transactions. Here's h
102102

103103
```go
104104
func (k msgServer) CreateProfile(ctx context.Context, msg *types.MsgCreateProfile) (*types.MsgCreateProfileResponse, error) {
105-
// validate message
106-
if err := msg.ValidateBasic(); err != nil {
107-
return nil, err
108-
}
109-
110-
// parse sender address
111-
senderBz, err := k.addressCodec.StringToBytes(msg.Creator)
112-
if err != nil {
113-
return nil, err
114-
}
115-
sender := sdk.AccAddress(senderBz)
116-
117-
// check if profile already exists
118-
exists, err := k.Profiles.Has(ctx, sender)
119-
if err != nil {
120-
return nil, err
121-
}
122-
if exists {
123-
return nil, sdkerrors.Wrap(types.ErrProfileExists, "profile already exists")
124-
}
125-
126-
// create new profile
127-
sdkCtx := sdk.UnwrapSDKContext(ctx)
128-
profile := types.Profile{
129-
Name: msg.Name,
130-
Bio: msg.Bio,
131-
CreatedAt: sdkCtx.BlockTime().Unix(),
132-
}
133-
134-
// store the profile
135-
err = k.Profiles.Set(ctx, sender, profile)
136-
if err != nil {
137-
return nil, err
138-
}
139-
140-
// increment profile counter
141-
counter, err := k.Counters.Get(ctx, "profiles")
142-
if err != nil && !errors.Is(err, collections.ErrNotFound) {
143-
return nil, err
144-
}
145-
// set the counter (adding 1)
146-
err = k.Counters.Set(ctx, "profiles", counter+1)
147-
if err != nil {
148-
return nil, err
149-
}
150-
151-
return &types.MsgCreateProfileResponse{}, nil
105+
// validate message
106+
if err := msg.ValidateBasic(); err != nil {
107+
return nil, err
108+
}
109+
110+
// parse sender address
111+
senderBz, err := k.addressCodec.StringToBytes(msg.Creator)
112+
if err != nil {
113+
return nil, err
114+
}
115+
sender := sdk.AccAddress(senderBz)
116+
117+
// check if profile already exists
118+
exists, err := k.Profiles.Has(ctx, sender)
119+
if err != nil {
120+
return nil, err
121+
}
122+
if exists {
123+
return nil, sdkerrors.Wrap(types.ErrProfileExists, "profile already exists")
124+
}
125+
126+
// create new profile
127+
sdkCtx := sdk.UnwrapSDKContext(ctx)
128+
profile := types.Profile{
129+
Name: msg.Name,
130+
Bio: msg.Bio,
131+
CreatedAt: sdkCtx.BlockTime().Unix(),
132+
}
133+
134+
// store the profile
135+
err = k.Profiles.Set(ctx, sender, profile)
136+
if err != nil {
137+
return nil, err
138+
}
139+
140+
// increment profile counter
141+
counter, err := k.Counters.Get(ctx, "profiles")
142+
if err != nil && !errors.Is(err, collections.ErrNotFound) {
143+
return nil, err
144+
}
145+
// set the counter (adding 1)
146+
err = k.Counters.Set(ctx, "profiles", counter+1)
147+
if err != nil {
148+
return nil, err
149+
}
150+
151+
return &types.MsgCreateProfileResponse{}, nil
152152
}
153153
```
154154

@@ -158,27 +158,27 @@ Queries allow users to read state without modifying it. Here's how to implement
158158

159159
```go
160160
func (q queryServer) GetProfile(ctx context.Context, req *types.QueryGetProfileRequest) (*types.QueryGetProfileResponse, error) {
161-
if req == nil {
162-
return nil, status.Error(codes.InvalidArgument, "invalid request")
163-
}
164-
165-
// parse address
166-
addressBz, err := k.addressCodec.StringToBytes(req.Address)
167-
if err != nil {
168-
return nil, status.Error(codes.InvalidArgument, "invalid address")
169-
}
170-
address := sdk.AccAddress(addressBz)
171-
172-
// get profile
173-
profile, err := q.k.Profiles.Get(ctx, address)
174-
if err != nil {
175-
if errors.Is(err, collections.ErrNotFound) {
176-
return nil, status.Error(codes.NotFound, "profile not found")
177-
}
178-
return nil, status.Error(codes.Internal, "internal error")
179-
}
180-
181-
return &types.QueryGetProfileResponse{Profile: profile}, nil
161+
if req == nil {
162+
return nil, status.Error(codes.InvalidArgument, "invalid request")
163+
}
164+
165+
// parse address
166+
addressBz, err := k.addressCodec.StringToBytes(req.Address)
167+
if err != nil {
168+
return nil, status.Error(codes.InvalidArgument, "invalid address")
169+
}
170+
address := sdk.AccAddress(addressBz)
171+
172+
// get profile
173+
profile, err := q.k.Profiles.Get(ctx, address)
174+
if err != nil {
175+
if errors.Is(err, collections.ErrNotFound) {
176+
return nil, status.Error(codes.NotFound, "profile not found")
177+
}
178+
return nil, status.Error(codes.Internal, "internal error")
179+
}
180+
181+
return &types.QueryGetProfileResponse{Profile: profile}, nil
182182
}
183183
```
184184

@@ -190,7 +190,7 @@ When working with collections, proper error handling is essential:
190190
// example from a query function
191191
params, err := q.k.Params.Get(ctx)
192192
if err != nil && !errors.Is(err, collections.ErrNotFound) {
193-
return nil, status.Error(codes.Internal, "internal error")
193+
return nil, status.Error(codes.Internal, "internal error")
194194
}
195195
```
196196

@@ -203,23 +203,23 @@ Collections also support iteration:
203203
```go
204204
// iterate over all profiles
205205
err := k.Profiles.Walk(ctx, nil, func(key sdk.AccAddress, value types.Profile) (bool, error) {
206-
// process each profile
207-
// return true to stop iteration, false to continue
208-
return false, nil
206+
// process each profile
207+
// return true to stop iteration, false to continue
208+
return false, nil
209209
})
210210
if err != nil {
211-
// handle error
211+
// handle error
212212
}
213213

214214
// iterate over a range of counters
215215
startKey := "a"
216216
endKey := "z"
217217
err = k.Counters.Walk(ctx, collections.NewPrefixedPairRange[string, uint64](startKey, endKey), func(key string, value uint64) (bool, error) {
218-
// process each counter in the range
219-
return false, nil
218+
// process each counter in the range
219+
return false, nil
220220
})
221221
if err != nil {
222-
// handle error
222+
// handle error
223223
}
224224
```
225225

0 commit comments

Comments
 (0)