Skip to content

Commit 69e4982

Browse files
committed
Merge remote-tracking branch 'origin/v11' into stepit/v11-orbiter-rc1
2 parents 4e6c504 + 698667c commit 69e4982

12 files changed

Lines changed: 224 additions & 859 deletions

File tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- Bump CometBFT to [`v0.38.19`](https://github.com/cometbft/cometbft/releases/tag/v0.38.19) to resolve [ASA-2025-003](https://github.com/cometbft/cometbft/security/advisories/GHSA-hrhf-2vcr-ghch) security advisory. ([#600](https://github.com/noble-assets/noble/pull/600))
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- Bump Forwarding to [`v2.0.3`](https://github.com/noble-assets/forwarding/releases/tag/v2.0.3) to remove `x/bank` `GetAllBalances` usage. ([#600](https://github.com/noble-assets/noble/pull/600))

.changelog/v10.1.2/summary.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*Oct 14, 2025*
2+
3+
This is a consensus breaking patch to the v10.1 Ember release line.

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# CHANGELOG
22

3+
## v10.1.2
4+
5+
*Oct 14, 2025*
6+
7+
This is a consensus breaking patch to the v10.1 Ember release line.
8+
9+
### DEPENDENCIES
10+
11+
- Bump Forwarding to [`v2.0.3`](https://github.com/noble-assets/forwarding/releases/tag/v2.0.3) to remove `x/bank` `GetAllBalances` usage. ([#600](https://github.com/noble-assets/noble/pull/600))
12+
- Bump CometBFT to [`v0.38.19`](https://github.com/cometbft/cometbft/releases/tag/v0.38.19) to resolve [ASA-2025-003](https://github.com/cometbft/cometbft/security/advisories/GHSA-hrhf-2vcr-ghch) security advisory. ([#600](https://github.com/noble-assets/noble/pull/600))
13+
314
## v10.1.1
415

516
*Aug 25, 2025*

ante.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
ibcante "github.com/cosmos/ibc-go/v8/modules/core/ante"
3131
ibckeeper "github.com/cosmos/ibc-go/v8/modules/core/keeper"
3232
"github.com/noble-assets/forwarding/v2"
33+
forwardingkeeper "github.com/noble-assets/forwarding/v2/keeper"
3334
forwardingtypes "github.com/noble-assets/forwarding/v2/types"
3435
)
3536

@@ -42,11 +43,12 @@ type BankKeeper interface {
4243
// AnteHandler for our custom ante decorators.
4344
type HandlerOptions struct {
4445
ante.HandlerOptions
45-
cdc codec.Codec
46-
BankKeeper BankKeeper
47-
DollarKeeper DollarKeeper
48-
FTFKeeper *ftfkeeper.Keeper
49-
IBCKeeper *ibckeeper.Keeper
46+
cdc codec.Codec
47+
BankKeeper BankKeeper
48+
DollarKeeper DollarKeeper
49+
ForwardingKeeper *forwardingkeeper.Keeper
50+
FTFKeeper *ftfkeeper.Keeper
51+
IBCKeeper *ibckeeper.Keeper
5052
}
5153

5254
// NewAnteHandler extends the default Cosmos SDK AnteHandler with custom ante decorators.
@@ -63,6 +65,10 @@ func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) {
6365
return nil, errorsmod.Wrap(sdkerrors.ErrLogic, "dollar keeper is required for ante builder")
6466
}
6567

68+
if options.ForwardingKeeper == nil {
69+
return nil, errorsmod.Wrap(sdkerrors.ErrLogic, "forwarding keeper is required for ante builder")
70+
}
71+
6672
if options.FTFKeeper == nil {
6773
return nil, errorsmod.Wrap(sdkerrors.ErrLogic, "fiattokenfactory keeper is required for ante builder")
6874
}
@@ -106,7 +112,7 @@ func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) {
106112

107113
func NewSigVerificationDecorator(options HandlerOptions) sdk.AnteDecorator {
108114
defaultAnte := ante.NewSigVerificationDecorator(options.AccountKeeper, options.SignModeHandler)
109-
return forwarding.NewSigVerificationDecorator(options.BankKeeper, defaultAnte)
115+
return forwarding.NewSigVerificationDecorator(options.BankKeeper, options.ForwardingKeeper, defaultAnte)
110116
}
111117

112118
// SigVerificationGasConsumer is a custom implementation of the signature verification gas

ante_permissioned_liquidity.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121

2222
sdk "github.com/cosmos/cosmos-sdk/types"
2323
"github.com/cosmos/cosmos-sdk/x/authz"
24+
swaptypes "swap.noble.xyz/types"
2425
stableswaptypes "swap.noble.xyz/types/stableswap"
2526

2627
"github.com/noble-assets/noble/v11/upgrade"
@@ -61,6 +62,10 @@ func (d PermissionedLiquidityDecorator) CheckMessage(msg sdk.Msg) error {
6162
if m.Signer != PermissionedAccount {
6263
return fmt.Errorf("%s is currently a permissioned action", sdk.MsgTypeURL(msg))
6364
}
65+
case *swaptypes.MsgWithdrawRewards:
66+
if m.Signer != PermissionedAccount {
67+
return fmt.Errorf("%s is currently a permissioned action", sdk.MsgTypeURL(msg))
68+
}
6469
case *authz.MsgExec:
6570
execMsgs, err := m.GetMessages()
6671
if err != nil {

api/generate.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ buf export buf.build/noble-assets/cctp:4285c94ec19438ad1e05ba3e5106a5e7980cfffd
1212
buf export buf.build/noble-assets/dollar:v2.2.0-rc.0 --output api/proto
1313
buf export buf.build/noble-assets/fiattokenfactory:5f9bd9dd2c5b5336b94bae4a47195bdf035f04af --output api/proto
1414
buf export buf.build/noble-assets/florin:v2.0.0 --output api/proto
15-
buf export buf.build/noble-assets/forwarding:v2.0.2 --output api/proto
15+
buf export buf.build/noble-assets/forwarding:v2.0.3 --output api/proto
1616
buf export buf.build/noble-assets/globalfee:v1.0.1 --output api/proto
1717
buf export buf.build/noble-assets/halo:v2.0.1 --output api/proto
1818
buf export buf.build/noble-assets/orbiter:v1.0.0-rc.1 --output api/proto

app.go

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"cosmossdk.io/log"
2929
"cosmossdk.io/math"
3030
storetypes "cosmossdk.io/store/types"
31+
abci "github.com/cometbft/cometbft/abci/types"
3132
"github.com/cometbft/cometbft/crypto"
3233
"github.com/cometbft/cometbft/libs/bytes"
3334
cmtos "github.com/cometbft/cometbft/libs/os"
@@ -45,6 +46,8 @@ import (
4546
sdk "github.com/cosmos/cosmos-sdk/types"
4647
"github.com/cosmos/cosmos-sdk/types/module"
4748
"github.com/cosmos/cosmos-sdk/x/auth/ante"
49+
authoritytypes "github.com/noble-assets/authority/types"
50+
forwardingtypes "github.com/noble-assets/forwarding/v2/types"
4851
"github.com/noble-assets/noble/v11/api"
4952
"github.com/noble-assets/noble/v11/jester"
5053
"github.com/noble-assets/noble/v11/upgrade"
@@ -298,11 +301,12 @@ func NewApp(
298301
TxFeeChecker: globalfee.TxFeeChecker(app.GlobalFeeKeeper),
299302
SigGasConsumer: SigVerificationGasConsumer,
300303
},
301-
cdc: app.appCodec,
302-
BankKeeper: app.BankKeeper,
303-
DollarKeeper: app.DollarKeeper,
304-
FTFKeeper: app.FTFKeeper,
305-
IBCKeeper: app.IBCKeeper,
304+
cdc: app.appCodec,
305+
BankKeeper: app.BankKeeper,
306+
DollarKeeper: app.DollarKeeper,
307+
ForwardingKeeper: app.ForwardingKeeper,
308+
FTFKeeper: app.FTFKeeper,
309+
IBCKeeper: app.IBCKeeper,
306310
})
307311
if err != nil {
308312
return nil, err
@@ -316,7 +320,26 @@ func NewApp(
316320
)
317321

318322
app.SetPrepareProposal(proposalHandler.PrepareProposal())
319-
app.SetPreBlocker(proposalHandler.PreBlocker())
323+
app.SetPreBlocker(func(ctx sdk.Context, req *abci.RequestFinalizeBlock) (*sdk.ResponsePreBlock, error) {
324+
// On Noble mainnet, the v10.1.2 upgrade is applied at block #36,887,000.
325+
// This upgrade removes support for the wildcard in the x/forwarding
326+
// module allowed denoms configuration, which we set explicitly to USDC.
327+
if ctx.ChainID() == upgrade.MainnetChainID && req.Height == 36887000 {
328+
_, err := app.ForwardingKeeper.SetAllowedDenoms(ctx, &forwardingtypes.MsgSetAllowedDenoms{
329+
Signer: authoritytypes.ModuleAddress.String(),
330+
Denoms: []string{
331+
app.FTFKeeper.GetMintingDenom(ctx).Denom, // USDC
332+
app.DollarKeeper.GetDenom(), // USDN
333+
},
334+
})
335+
336+
if err != nil {
337+
return nil, err
338+
}
339+
}
340+
341+
return proposalHandler.PreBlocker()(ctx, req)
342+
})
320343

321344
if err := app.RegisterUpgradeHandler(); err != nil {
322345
return nil, err

e2e/go.mod

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/noble-assets/noble/e2e
22

3-
go 1.24
3+
go 1.24.0
44

55
require (
66
cosmossdk.io/math v1.5.1
@@ -17,19 +17,19 @@ require (
1717
github.com/noble-assets/halo/v2 v2.0.1
1818
github.com/ondoprotocol/usdy-noble/v2 v2.0.0
1919
github.com/strangelove-ventures/interchaintest/v8 v8.8.0
20-
github.com/stretchr/testify v1.10.0
20+
github.com/stretchr/testify v1.11.1
2121
go.uber.org/zap v1.27.0
2222
)
2323

2424
require (
25-
cel.dev/expr v0.23.0 // indirect
26-
cloud.google.com/go v0.121.2 // indirect
27-
cloud.google.com/go/auth v0.16.2 // indirect
25+
cel.dev/expr v0.24.0 // indirect
26+
cloud.google.com/go v0.121.6 // indirect
27+
cloud.google.com/go/auth v0.16.5 // indirect
2828
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
29-
cloud.google.com/go/compute/metadata v0.7.0 // indirect
29+
cloud.google.com/go/compute/metadata v0.9.0 // indirect
3030
cloud.google.com/go/iam v1.5.2 // indirect
3131
cloud.google.com/go/monitoring v1.24.2 // indirect
32-
cloud.google.com/go/storage v1.53.0 // indirect
32+
cloud.google.com/go/storage v1.56.0 // indirect
3333
cosmossdk.io/api v0.9.2 // indirect
3434
cosmossdk.io/client/v2 v2.0.0-beta.8 // indirect
3535
cosmossdk.io/collections v1.2.1 // indirect
@@ -53,9 +53,9 @@ require (
5353
github.com/DataDog/zstd v1.5.5 // indirect
5454
github.com/FactomProject/basen v0.0.0-20150613233007-fe3947df716e // indirect
5555
github.com/FactomProject/btcutilecc v0.0.0-20130527213604-d3a63a5752ec // indirect
56-
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0 // indirect
57-
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.51.0 // indirect
58-
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.51.0 // indirect
56+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0 // indirect
57+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.54.0 // indirect
58+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.54.0 // indirect
5959
github.com/Microsoft/go-winio v0.6.2 // indirect
6060
github.com/StackExchange/wmi v1.2.1 // indirect
6161
github.com/StirlingMarketingGroup/go-namecase v1.0.0 // indirect
@@ -68,15 +68,15 @@ require (
6868
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
6969
github.com/cespare/xxhash/v2 v2.3.0 // indirect
7070
github.com/chzyer/readline v1.5.1 // indirect
71-
github.com/cncf/xds/go v0.0.0-20250326154945-ae57f3c0d45f // indirect
71+
github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 // indirect
7272
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
7373
github.com/cockroachdb/errors v1.12.0 // indirect
7474
github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect
7575
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 // indirect
7676
github.com/cockroachdb/pebble v1.1.5 // indirect
7777
github.com/cockroachdb/redact v1.1.6 // indirect
7878
github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
79-
github.com/cometbft/cometbft v0.38.17 // indirect
79+
github.com/cometbft/cometbft v0.38.19 // indirect
8080
github.com/cometbft/cometbft-db v0.14.1 // indirect
8181
github.com/consensys/gnark-crypto v0.18.0 // indirect
8282
github.com/containerd/log v0.1.0 // indirect
@@ -97,9 +97,9 @@ require (
9797
github.com/deckarep/golang-set v1.8.0 // indirect
9898
github.com/deckarep/golang-set/v2 v2.6.0 // indirect
9999
github.com/decred/base58 v1.0.4 // indirect
100-
github.com/decred/dcrd/crypto/blake256 v1.0.1 // indirect
100+
github.com/decred/dcrd/crypto/blake256 v1.1.0 // indirect
101101
github.com/decred/dcrd/dcrec/secp256k1/v2 v2.0.1 // indirect
102-
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect
102+
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
103103
github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect
104104
github.com/dgraph-io/badger/v4 v4.2.0 // indirect
105105
github.com/dgraph-io/ristretto v0.1.1 // indirect
@@ -118,7 +118,7 @@ require (
118118
github.com/fsnotify/fsnotify v1.7.0 // indirect
119119
github.com/getsentry/sentry-go v0.32.0 // indirect
120120
github.com/gin-gonic/gin v1.8.1 // indirect
121-
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
121+
github.com/go-jose/go-jose/v4 v4.1.1 // indirect
122122
github.com/go-kit/kit v0.13.0 // indirect
123123
github.com/go-kit/log v0.2.1 // indirect
124124
github.com/go-logfmt/logfmt v0.6.0 // indirect
@@ -132,7 +132,7 @@ require (
132132
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
133133
github.com/gogo/googleapis v1.4.1 // indirect
134134
github.com/gogo/protobuf v1.3.3 // indirect
135-
github.com/golang/glog v1.2.4 // indirect
135+
github.com/golang/glog v1.2.5 // indirect
136136
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
137137
github.com/golang/mock v1.7.0-rc.1 // indirect
138138
github.com/golang/protobuf v1.5.4 // indirect
@@ -145,7 +145,7 @@ require (
145145
github.com/google/s2a-go v0.1.9 // indirect
146146
github.com/google/uuid v1.6.0 // indirect
147147
github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect
148-
github.com/googleapis/gax-go/v2 v2.14.2 // indirect
148+
github.com/googleapis/gax-go/v2 v2.15.0 // indirect
149149
github.com/gorilla/handlers v1.5.2 // indirect
150150
github.com/gorilla/mux v1.8.1 // indirect
151151
github.com/gorilla/websocket v1.5.3 // indirect
@@ -220,7 +220,7 @@ require (
220220
github.com/pkg/errors v0.9.1 // indirect
221221
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
222222
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
223-
github.com/prometheus/client_golang v1.20.5 // indirect
223+
github.com/prometheus/client_golang v1.21.0 // indirect
224224
github.com/prometheus/client_model v0.6.1 // indirect
225225
github.com/prometheus/common v0.62.0 // indirect
226226
github.com/prometheus/procfs v0.15.1 // indirect
@@ -259,35 +259,35 @@ require (
259259
github.com/zondax/ledger-go v0.14.3 // indirect
260260
go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect
261261
go.opencensus.io v0.24.0 // indirect
262-
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
263-
go.opentelemetry.io/contrib/detectors/gcp v1.35.0 // indirect
264-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 // indirect
262+
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
263+
go.opentelemetry.io/contrib/detectors/gcp v1.36.0 // indirect
264+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 // indirect
265265
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect
266-
go.opentelemetry.io/otel v1.36.0 // indirect
266+
go.opentelemetry.io/otel v1.38.0 // indirect
267267
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0 // indirect
268-
go.opentelemetry.io/otel/metric v1.36.0 // indirect
269-
go.opentelemetry.io/otel/sdk v1.36.0 // indirect
270-
go.opentelemetry.io/otel/sdk/metric v1.36.0 // indirect
271-
go.opentelemetry.io/otel/trace v1.36.0 // indirect
268+
go.opentelemetry.io/otel/metric v1.38.0 // indirect
269+
go.opentelemetry.io/otel/sdk v1.38.0 // indirect
270+
go.opentelemetry.io/otel/sdk/metric v1.38.0 // indirect
271+
go.opentelemetry.io/otel/trace v1.38.0 // indirect
272272
go.uber.org/mock v0.4.0 // indirect
273273
go.uber.org/multierr v1.11.0 // indirect
274-
golang.org/x/crypto v0.39.0 // indirect
275-
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
276-
golang.org/x/mod v0.25.0 // indirect
277-
golang.org/x/net v0.41.0 // indirect
278-
golang.org/x/oauth2 v0.30.0 // indirect
279-
golang.org/x/sync v0.15.0 // indirect
280-
golang.org/x/sys v0.34.0 // indirect
281-
golang.org/x/term v0.32.0 // indirect
282-
golang.org/x/text v0.26.0 // indirect
283-
golang.org/x/time v0.12.0 // indirect
284-
golang.org/x/tools v0.33.0 // indirect
285-
google.golang.org/api v0.237.0 // indirect
286-
google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2 // indirect
287-
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect
288-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
289-
google.golang.org/grpc v1.73.0 // indirect
290-
google.golang.org/protobuf v1.36.6 // indirect
274+
golang.org/x/crypto v0.42.0 // indirect
275+
golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c // indirect
276+
golang.org/x/mod v0.27.0 // indirect
277+
golang.org/x/net v0.44.0 // indirect
278+
golang.org/x/oauth2 v0.31.0 // indirect
279+
golang.org/x/sync v0.17.0 // indirect
280+
golang.org/x/sys v0.36.0 // indirect
281+
golang.org/x/term v0.35.0 // indirect
282+
golang.org/x/text v0.29.0 // indirect
283+
golang.org/x/time v0.13.0 // indirect
284+
golang.org/x/tools v0.36.0 // indirect
285+
google.golang.org/api v0.249.0 // indirect
286+
google.golang.org/genproto v0.0.0-20250922171735-9219d122eba9 // indirect
287+
google.golang.org/genproto/googleapis/api v0.0.0-20250922171735-9219d122eba9 // indirect
288+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250922171735-9219d122eba9 // indirect
289+
google.golang.org/grpc v1.75.1 // indirect
290+
google.golang.org/protobuf v1.36.9 // indirect
291291
gopkg.in/ini.v1 v1.67.0 // indirect
292292
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
293293
gopkg.in/yaml.v2 v2.4.0 // indirect

0 commit comments

Comments
 (0)