From 6e4498f1f68545156a673086725963320f580534 Mon Sep 17 00:00:00 2001 From: Jorge Hernandez <3452489+jhernandezb@users.noreply.github.com> Date: Mon, 3 Feb 2025 11:04:20 -0600 Subject: [PATCH 1/5] bump comet (#1203) --- go.mod | 34 ++++++++++++++---------------- go.sum | 66 ++++++++++++++++++++++++++++++---------------------------- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/go.mod b/go.mod index 5d25cf6f5..98bedff43 100644 --- a/go.mod +++ b/go.mod @@ -1,13 +1,11 @@ module github.com/public-awesome/stargaze/v15 -go 1.22.7 - -toolchain go1.22.8 +go 1.23.5 require ( github.com/CosmWasm/wasmd v0.53.2 github.com/CosmWasm/wasmvm/v2 v2.1.4 - github.com/cometbft/cometbft v0.38.16 + github.com/cometbft/cometbft v0.38.17 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.50.11 github.com/cosmos/go-bip39 v1.0.0 @@ -21,7 +19,7 @@ require ( github.com/spf13/cobra v1.8.1 github.com/stretchr/testify v1.10.0 google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094 // indirect - google.golang.org/grpc v1.68.0 + google.golang.org/grpc v1.70.0 google.golang.org/protobuf v1.36.4 gopkg.in/yaml.v2 v2.4.0 ) @@ -48,14 +46,14 @@ require ( github.com/cosmos/ibc-go/v8 v8.5.3 github.com/gogo/protobuf v1.3.2 github.com/prometheus/client_golang v1.20.5 - google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 + google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a ) require ( cloud.google.com/go v0.115.0 // indirect cloud.google.com/go/auth v0.6.0 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect - cloud.google.com/go/compute/metadata v0.5.0 // indirect + cloud.google.com/go/compute/metadata v0.5.2 // indirect cloud.google.com/go/iam v1.1.9 // indirect cloud.google.com/go/storage v1.41.0 // indirect cosmossdk.io/depinject v1.1.0 // indirect @@ -107,7 +105,7 @@ require ( github.com/go-kit/kit v0.13.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect - github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gogo/googleapis v1.4.1 // indirect @@ -172,7 +170,7 @@ require ( github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.60.1 // indirect + github.com/prometheus/common v0.62.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -198,22 +196,22 @@ require ( go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.24.0 // indirect - go.opentelemetry.io/otel/metric v1.24.0 // indirect - go.opentelemetry.io/otel/trace v1.24.0 // indirect + go.opentelemetry.io/otel v1.32.0 // indirect + go.opentelemetry.io/otel/metric v1.32.0 // indirect + go.opentelemetry.io/otel/trace v1.32.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/arch v0.3.0 // indirect - golang.org/x/crypto v0.31.0 // indirect + golang.org/x/crypto v0.32.0 // indirect golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/oauth2 v0.23.0 // indirect + golang.org/x/net v0.34.0 // indirect + golang.org/x/oauth2 v0.24.0 // indirect golang.org/x/sync v0.10.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/term v0.27.0 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/term v0.28.0 // indirect golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.5.0 // indirect google.golang.org/api v0.186.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240930140551-af27646dc61f // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gotest.tools/v3 v3.5.1 // indirect diff --git a/go.sum b/go.sum index 810292d52..bb12b0211 100644 --- a/go.sum +++ b/go.sum @@ -72,8 +72,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= -cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= +cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo= +cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= @@ -349,8 +349,8 @@ github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZ github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/cometbft/cometbft v0.38.16 h1:1xqGPgtVj0qA5B8sSQueaZ/MTsP5JSDIOCh/phGral8= -github.com/cometbft/cometbft v0.38.16/go.mod h1:hT4QQzD+SAqZOJm8M81o+RbRoPE081flo6pRZWkd5rI= +github.com/cometbft/cometbft v0.38.17 h1:FkrQNbAjiFqXydeAO81FUzriL4Bz0abYxN/eOHrQGOk= +github.com/cometbft/cometbft v0.38.17/go.mod h1:5l0SkgeLRXi6bBfQuevXjKqML1jjfJJlvI1Ulp02/o4= github.com/cometbft/cometbft-db v0.14.1 h1:SxoamPghqICBAIcGpleHbmoPqy+crij/++eZz3DlerQ= github.com/cometbft/cometbft-db v0.14.1/go.mod h1:KHP1YghilyGV/xjD5DP3+2hyigWx0WTp9X+0Gnx0RxQ= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= @@ -493,8 +493,8 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= @@ -940,8 +940,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= -github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= +github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= +github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= @@ -1080,14 +1080,16 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.4 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= -go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= -go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= -go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= -go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= -go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= -go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= -go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +go.opentelemetry.io/otel v1.32.0 h1:WnBN+Xjcteh0zdk01SVqV55d/m62NJLJdIyb4y/WO5U= +go.opentelemetry.io/otel v1.32.0/go.mod h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg= +go.opentelemetry.io/otel/metric v1.32.0 h1:xV2umtmNcThh2/a/aCP+h64Xx5wsj8qqnkYZktzNa0M= +go.opentelemetry.io/otel/metric v1.32.0/go.mod h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8= +go.opentelemetry.io/otel/sdk v1.32.0 h1:RNxepc9vK59A8XsgZQouW8ue8Gkb4jpWtJm9ge5lEG4= +go.opentelemetry.io/otel/sdk v1.32.0/go.mod h1:LqgegDBjKMmb2GC6/PrTnteJG39I8/vJCAP9LlJXEjU= +go.opentelemetry.io/otel/sdk/metric v1.32.0 h1:rZvFnvmvawYb0alrYkjraqJq0Z4ZUJAiyYCU9snn1CU= +go.opentelemetry.io/otel/sdk/metric v1.32.0/go.mod h1:PWeZlq0zt9YkYAp3gjKZ0eicRYvOh1Gd+X99x6GHpCQ= +go.opentelemetry.io/otel/trace v1.32.0 h1:WIC9mYrXf8TmY/EXuULKc8hR17vE+Hjv2cssQDe03fM= +go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1120,8 +1122,8 @@ golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1226,8 +1228,8 @@ golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1253,8 +1255,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= -golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= +golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1370,16 +1372,16 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1644,10 +1646,10 @@ google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094 h1:6whtk83KtD3FkGrVb2hFXuQ+ZMbCNdakARIn/aHMmG8= google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094/go.mod h1:Zs4wYw8z1zr6RNF4cwYb31mvN/EGaKAdQjNCF3DW6K4= -google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 h1:hjSy6tcFQZ171igDaN5QHOw2n6vx40juYbC/x67CEhc= -google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:qpvKtACPCQhAdu3PyQgV4l3LMXZEtft7y8QcarRsp9I= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240930140551-af27646dc61f h1:cUMEy+8oS78BWIH9OWazBkzbr090Od9tWBNtZHkOhf0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240930140551-af27646dc61f/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a h1:OAiGFfOiA0v9MRYsSidp3ubZaBnteRUyn3xB2ZQ5G/E= +google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a/go.mod h1:jehYqy3+AhJU9ve55aNOaSml7wUXjF9x6z2LcCfpAhY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a h1:hgh8P4EuoxpsuKMXX/To36nOFD7vixReXgn8lPGnt+o= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1689,8 +1691,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= -google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= From 84dd494e457f5eb452987cec47e5a24effcf7ef4 Mon Sep 17 00:00:00 2001 From: jhernandezb Date: Tue, 11 Feb 2025 09:00:39 -0600 Subject: [PATCH 2/5] globalfee: set gas restrictions --- x/globalfee/ante/fee.go | 32 ++++++++++++++++++++++------- x/globalfee/ante/fee_setup_test.go | 12 +++++++++-- x/globalfee/ante/fee_test.go | 33 +++++++++++++++++++++++++++++- 3 files changed, 67 insertions(+), 10 deletions(-) diff --git a/x/globalfee/ante/fee.go b/x/globalfee/ante/fee.go index 62bc9891b..23d653afd 100644 --- a/x/globalfee/ante/fee.go +++ b/x/globalfee/ante/fee.go @@ -16,6 +16,7 @@ import ( ) var _ sdk.AnteDecorator = FeeDecorator{} +var maxGasPercent = sdkmath.LegacyNewDecWithPrec(10, 2) // 10% type GlobalFeeReaderExpected interface { GetContractAuthorization(ctx sdk.Context, contractAddr sdk.AccAddress) (types.ContractAuthorization, error) @@ -57,26 +58,43 @@ func (mfd FeeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, ne msgs := feeTx.GetMsgs() // currently accepting zero fee transactions only when the tx contains only the authorized operations that can bypass the minimum fee - onlyZeroFeeMsgs := mfd.containsOnlyZeroFeeMsgs(ctx, msgs) + onlyFreeMsgs, atLeastOneFreeMsg := mfd.freeMsgsCheck(ctx, msgs) - return mfd.checkFees(ctx, feeTx, tx, onlyZeroFeeMsgs, simulate, next) // /~https://github.com/cosmos/gaia/blob/6fe097e3280baa360a28b59a29b8cca964a5ae97/x/globalfee/ante/fee.go + if atLeastOneFreeMsg { + maxGas := sdkmath.LegacyNewDec(ctx.ConsensusParams().Block.MaxGas).Mul(maxGasPercent) + if feeTx.GetGas() > uint64(maxGas.RoundInt64()) { + return ctx, errorsmod.Wrapf(sdkerrors.ErrInvalidGasLimit, "overallocated gas value") + } + } + return mfd.checkFees(ctx, feeTx, tx, onlyFreeMsgs, simulate, next) // /~https://github.com/cosmos/gaia/blob/6fe097e3280baa360a28b59a29b8cca964a5ae97/x/globalfee/ante/fee.go } -func (mfd FeeDecorator) containsOnlyZeroFeeMsgs(ctx sdk.Context, msgs []sdk.Msg) bool { +func (mfd FeeDecorator) freeMsgsCheck(ctx sdk.Context, msgs []sdk.Msg) (onlyFreeMsgs, atLeastOneFreeMsg bool) { + totalMsgs := len(msgs) + freeMsgs := 0 + for _, m := range msgs { switch msg := m.(type) { case *wasmtypes.MsgExecuteContract: { - if !mfd.isZeroFeeMsg(ctx, msg) { - return false + if mfd.isZeroFeeMsg(ctx, msg) { + freeMsgs++ + atLeastOneFreeMsg = true + } else { + onlyFreeMsgs = false + return onlyFreeMsgs, atLeastOneFreeMsg } + } default: - return false + return false, atLeastOneFreeMsg } } + if freeMsgs == totalMsgs { + return true, true + } - return true + return false, atLeastOneFreeMsg } func (mfd FeeDecorator) isZeroFeeMsg(ctx sdk.Context, msg *wasmtypes.MsgExecuteContract) bool { diff --git a/x/globalfee/ante/fee_setup_test.go b/x/globalfee/ante/fee_setup_test.go index 4ec892352..033ffe498 100644 --- a/x/globalfee/ante/fee_setup_test.go +++ b/x/globalfee/ante/fee_setup_test.go @@ -63,7 +63,11 @@ func (s *AnteHandlerTestSuite) SetupTest() { } app := simapp.SetupWithGenesisAccounts(s.T(), s.T().TempDir(), genAccounts, genBalances...) h := cmtproto.Header{Height: app.LastBlockHeight() + 1} - ctx := sdk.NewContext(app.CommitMultiStore(), h, false, app.Logger()).WithBlockTime(time.Now()) + ctx := sdk.NewContext(app.CommitMultiStore(), h, false, app.Logger()).WithBlockTime(time.Now()).WithConsensusParams(cmtproto.ConsensusParams{ + Block: &cmtproto.BlockParams{ + MaxGas: 225_000_000, // 225M + }, + }) encodingConfig := stargazeapp.MakeEncodingConfig() @@ -76,7 +80,11 @@ func (s *AnteHandlerTestSuite) SetupTestGlobalFeeStoreAndMinGasPrice(minGasPrice err := s.app.Keepers.GlobalFeeKeeper.SetParams(s.ctx, types.Params{MinimumGasPrices: globalFees}) s.Require().NoError(err) - s.ctx = s.ctx.WithMinGasPrices(minGasPrice).WithIsCheckTx(true) + s.ctx = s.ctx.WithMinGasPrices(minGasPrice).WithIsCheckTx(true).WithConsensusParams(cmtproto.ConsensusParams{ + Block: &cmtproto.BlockParams{ + MaxGas: 225_000_000, // 225M + }, + }) // build fee decorator feeDecorator := ante.NewFeeDecorator(s.app.AppCodec(), s.app.Keepers.GlobalFeeKeeper, s.app.Keepers.StakingKeeper) diff --git a/x/globalfee/ante/fee_test.go b/x/globalfee/ante/fee_test.go index 595d0b2e0..3d651919f 100644 --- a/x/globalfee/ante/fee_test.go +++ b/x/globalfee/ante/fee_test.go @@ -34,6 +34,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { feeSent sdk.Coins // the amount of fee sent by the user in the tx msg []sdk.Msg expectErr bool + gasWanted int64 }{ { "fail: min_gas_price: empty, globalfee: 5stake, feeSent: 1stake, not authorized contract exec", @@ -48,6 +49,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, true, + 1, }, { "ok: min_gas_price: empty, globalfee: 5stake, feeSent: 7stake, not authorized contract exec", @@ -62,6 +64,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, false, + 1, }, { "fail: min_gas_price: 0stake, globalfee: 5stake, feeSent: 0stake, not authorized contract exec", @@ -76,6 +79,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, true, + 1, }, { "ok: min_gas_price: 0stake, globalfee: 5stake, feeSent: 5stake, not authorized contract exec", @@ -90,6 +94,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, false, + 1, }, { "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 1stake, not authorized contract exec", @@ -104,6 +109,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, true, + 1, }, { "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 3stake, not authorized contract exec", @@ -118,6 +124,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, true, + 1, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 5stake, not authorized contract exec", @@ -132,6 +139,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, false, + 1, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, authorized code id", @@ -146,6 +154,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, false, + 1, }, { "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, authorized contract address but not auth msg", @@ -160,6 +169,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, true, + 1, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, authorized contract address with auth msg", @@ -174,6 +184,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, false, + 1, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, authorized contract address with auth all (*)", @@ -188,6 +199,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, false, + 1, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, authorized contract address with auth all (*)", @@ -202,6 +214,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, false, + 1, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, multiple authorized contract calls", @@ -226,6 +239,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, false, + 1, }, { "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, one authorized contract + unauthorized msgs", @@ -250,6 +264,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, true, + 1, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, one authorized contract + unauthorized msgs", @@ -269,6 +284,22 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, }, false, + 1, + }, + { + "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, authorized code id but overallocated gas", + sdk.NewDecCoins(sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 2)), + sdk.NewDecCoins(sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 5)), + sdk.NewCoins(sdk.NewInt64Coin(sdk.DefaultBondDenom, 0)), + []sdk.Msg{ + &wasmtypes.MsgExecuteContract{ + Sender: addr1.String(), + Contract: contractWithCodeAuth, + Msg: counterIncrementMsg, + }, + }, + true, + 50_000_000, }, } @@ -277,7 +308,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { _, antehandler := s.SetupTestGlobalFeeStoreAndMinGasPrice(tc.minGasPrice, tc.globalFees) s.Require().NoError(s.txBuilder.SetMsgs(tc.msg...)) s.txBuilder.SetFeeAmount(tc.feeSent) - s.txBuilder.SetGasLimit(1) + s.txBuilder.SetGasLimit(uint64(tc.gasWanted)) tx, err := s.CreateTestTx(s.ctx, privs, accNums, accSeqs, s.ctx.ChainID(), signing.SignMode_SIGN_MODE_DIRECT) s.Require().NoError(err) From 95c8093182ed4463fd4d659130ff4812b0b6b12a Mon Sep 17 00:00:00 2001 From: jhernandezb Date: Tue, 11 Feb 2025 09:02:19 -0600 Subject: [PATCH 3/5] update default settings --- cmd/starsd/cmd/settings.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/starsd/cmd/settings.go b/cmd/starsd/cmd/settings.go index f73e1c96a..081614159 100644 --- a/cmd/starsd/cmd/settings.go +++ b/cmd/starsd/cmd/settings.go @@ -18,19 +18,19 @@ type PreferredSetting struct { var preferredSettings = []PreferredSetting{ { ViperKey: "consensus.timeout_commit", - Value: "2750ms", + Value: "2500ms", Set: func(serverCtx *server.Context, key, value string) error { serverCtx.Viper.Set(key, value) - serverCtx.Config.Consensus.TimeoutCommit = 2750 * time.Millisecond + serverCtx.Config.Consensus.TimeoutCommit = 2500 * time.Millisecond return nil }, }, { ViperKey: "consensus.timeout_propose", - Value: "1750ms", + Value: "1700ms", Set: func(serverCtx *server.Context, key, value string) error { serverCtx.Viper.Set(key, value) - serverCtx.Config.Consensus.TimeoutPropose = 1750 * time.Millisecond + serverCtx.Config.Consensus.TimeoutPropose = 1500 * time.Millisecond return nil }, }, From c3d5dbe6c54e656991231d2cb0686da13b7b7971 Mon Sep 17 00:00:00 2001 From: jhernandezb Date: Tue, 11 Feb 2025 09:27:36 -0600 Subject: [PATCH 4/5] add more test cases --- x/globalfee/ante/fee.go | 6 +- x/globalfee/ante/fee_test.go | 122 +++++++++++++++++++++++++++++++++-- 2 files changed, 119 insertions(+), 9 deletions(-) diff --git a/x/globalfee/ante/fee.go b/x/globalfee/ante/fee.go index 23d653afd..6f31fc587 100644 --- a/x/globalfee/ante/fee.go +++ b/x/globalfee/ante/fee.go @@ -59,7 +59,6 @@ func (mfd FeeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, ne // currently accepting zero fee transactions only when the tx contains only the authorized operations that can bypass the minimum fee onlyFreeMsgs, atLeastOneFreeMsg := mfd.freeMsgsCheck(ctx, msgs) - if atLeastOneFreeMsg { maxGas := sdkmath.LegacyNewDec(ctx.ConsensusParams().Block.MaxGas).Mul(maxGasPercent) if feeTx.GetGas() > uint64(maxGas.RoundInt64()) { @@ -82,7 +81,10 @@ func (mfd FeeDecorator) freeMsgsCheck(ctx sdk.Context, msgs []sdk.Msg) (onlyFree atLeastOneFreeMsg = true } else { onlyFreeMsgs = false - return onlyFreeMsgs, atLeastOneFreeMsg + // exit early if there is at least one free msg + if atLeastOneFreeMsg { + return onlyFreeMsgs, atLeastOneFreeMsg + } } } diff --git a/x/globalfee/ante/fee_test.go b/x/globalfee/ante/fee_test.go index 3d651919f..e6efd5292 100644 --- a/x/globalfee/ante/fee_test.go +++ b/x/globalfee/ante/fee_test.go @@ -27,14 +27,18 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { counterIncrementMsg := []byte(`{"increment": {}}`) counterResetMsg := []byte(`{"reset": 0}`) + strPtr := func(s string) *string { + return &s + } testCases := []struct { - testCase string - minGasPrice sdk.DecCoins // min gas price configured by the validator - globalFees sdk.DecCoins // minimum gas price configured by x/globalfee module param - feeSent sdk.Coins // the amount of fee sent by the user in the tx - msg []sdk.Msg - expectErr bool - gasWanted int64 + testCase string + minGasPrice sdk.DecCoins // min gas price configured by the validator + globalFees sdk.DecCoins // minimum gas price configured by x/globalfee module param + feeSent sdk.Coins // the amount of fee sent by the user in the tx + msg []sdk.Msg + expectErr bool + gasWanted int64 + expectedConainsErr *string }{ { "fail: min_gas_price: empty, globalfee: 5stake, feeSent: 1stake, not authorized contract exec", @@ -50,6 +54,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, true, 1, + nil, }, { "ok: min_gas_price: empty, globalfee: 5stake, feeSent: 7stake, not authorized contract exec", @@ -65,6 +70,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, false, 1, + nil, }, { "fail: min_gas_price: 0stake, globalfee: 5stake, feeSent: 0stake, not authorized contract exec", @@ -80,6 +86,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, true, 1, + nil, }, { "ok: min_gas_price: 0stake, globalfee: 5stake, feeSent: 5stake, not authorized contract exec", @@ -95,6 +102,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, false, 1, + nil, }, { "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 1stake, not authorized contract exec", @@ -110,6 +118,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, true, 1, + nil, }, { "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 3stake, not authorized contract exec", @@ -125,6 +134,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, true, 1, + nil, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 5stake, not authorized contract exec", @@ -140,6 +150,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, false, 1, + nil, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, authorized code id", @@ -155,6 +166,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, false, 1, + nil, }, { "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, authorized contract address but not auth msg", @@ -170,6 +182,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, true, 1, + nil, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, authorized contract address with auth msg", @@ -185,6 +198,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, false, 1, + nil, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, authorized contract address with auth all (*)", @@ -200,6 +214,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, false, 1, + nil, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, authorized contract address with auth all (*)", @@ -215,6 +230,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, false, 1, + nil, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, multiple authorized contract calls", @@ -240,6 +256,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, false, 1, + nil, }, { "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, one authorized contract + unauthorized msgs", @@ -265,6 +282,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, true, 1, + nil, }, { "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, one authorized contract + unauthorized msgs", @@ -285,6 +303,7 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, false, 1, + nil, }, { "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, authorized code id but overallocated gas", @@ -300,6 +319,92 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { }, true, 50_000_000, + strPtr("overallocated gas value"), + }, + { + "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, mixed authz and overallocated gas ", + sdk.NewDecCoins(sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 2)), + sdk.NewDecCoins(sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 5)), + sdk.NewCoins(sdk.NewInt64Coin(sdk.DefaultBondDenom, 0)), + []sdk.Msg{ + &wasmtypes.MsgExecuteContract{ + Sender: addr1.String(), + Contract: contractWithCodeAuth, + Msg: counterIncrementMsg, + }, + &wasmtypes.MsgExecuteContract{ + Sender: addr1.String(), + Contract: contractWithCodeAuth, + Msg: counterResetMsg, + }, + }, + true, + 50_000_000, + strPtr("overallocated gas value"), + }, + { + "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 500STAKE, mixed authz and overallocated gas ", + sdk.NewDecCoins(sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 2)), + sdk.NewDecCoins(sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 5)), + sdk.NewCoins(sdk.NewInt64Coin(sdk.DefaultBondDenom, 500_000_000)), + []sdk.Msg{ + &wasmtypes.MsgExecuteContract{ + Sender: addr1.String(), + Contract: contractWithCodeAuth, + Msg: counterIncrementMsg, + }, + &wasmtypes.MsgExecuteContract{ + Sender: addr1.String(), + Contract: contractWithCodeAuth, + Msg: counterResetMsg, + }, + }, + true, + 50_000_000, + strPtr("overallocated gas value"), + }, + { + "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 0stake, mixed authz and overallocated gas inv first", + sdk.NewDecCoins(sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 2)), + sdk.NewDecCoins(sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 5)), + sdk.NewCoins(sdk.NewInt64Coin(sdk.DefaultBondDenom, 0)), + []sdk.Msg{ + + &wasmtypes.MsgExecuteContract{ + Sender: addr1.String(), + Contract: contractWithCodeAuth, + Msg: counterResetMsg, + }, + &wasmtypes.MsgExecuteContract{ + Sender: addr1.String(), + Contract: contractWithCodeAuth, + Msg: counterIncrementMsg, + }, + }, + true, + 50_000_000, + strPtr("overallocated gas value"), + }, + { + "fail: min_gas_price: 2stake, globalfee: 5stake, feeSent: 500STAKE, mixed authz and overallocated gas inv first message", + sdk.NewDecCoins(sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 2)), + sdk.NewDecCoins(sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 5)), + sdk.NewCoins(sdk.NewInt64Coin(sdk.DefaultBondDenom, 500_000_000)), + []sdk.Msg{ + &wasmtypes.MsgExecuteContract{ + Sender: addr1.String(), + Contract: contractWithCodeAuth, + Msg: counterResetMsg, + }, + &wasmtypes.MsgExecuteContract{ + Sender: addr1.String(), + Contract: contractWithCodeAuth, + Msg: counterIncrementMsg, + }, + }, + true, + 50_000_000, + strPtr("overallocated gas value"), }, } @@ -318,6 +423,9 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { s.Require().NoError(err) } else { s.Require().Error(err) + if tc.expectedConainsErr != nil { + s.Require().Contains(err.Error(), *tc.expectedConainsErr) + } } }) } From 1e298dd44339015ad23624bdac1c27c0a73f3d52 Mon Sep 17 00:00:00 2001 From: jhernandezb Date: Tue, 11 Feb 2025 12:47:37 -0600 Subject: [PATCH 5/5] add test --- x/globalfee/ante/fee_test.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/x/globalfee/ante/fee_test.go b/x/globalfee/ante/fee_test.go index e6efd5292..94ce86077 100644 --- a/x/globalfee/ante/fee_test.go +++ b/x/globalfee/ante/fee_test.go @@ -406,6 +406,22 @@ func (s *AnteHandlerTestSuite) TestFeeDecoratorAntehandler() { 50_000_000, strPtr("overallocated gas value"), }, + { + "ok: min_gas_price: 2stake, globalfee: 5stake, feeSent: 500STAKE, unauthorized contract exec", + sdk.NewDecCoins(sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 2)), + sdk.NewDecCoins(sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 5)), + sdk.NewCoins(sdk.NewInt64Coin(sdk.DefaultBondDenom, 500_000_000)), + []sdk.Msg{ + &wasmtypes.MsgExecuteContract{ + Sender: addr1.String(), + Contract: contractWithCodeAuth, + Msg: counterResetMsg, + }, + }, + false, + 50_000_000, + nil, + }, } for _, tc := range testCases {