Skip to content

Commit 6403814

Browse files
author
krasi
committed
Add remote signer keyring to reporter client via --remote-signer-addr flag
1 parent 4d3905a commit 6403814

5 files changed

Lines changed: 1317 additions & 124 deletions

File tree

cmd/main.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"github.com/tellor-io/layer-daemons/configs"
1818
customquery "github.com/tellor-io/layer-daemons/custom_query"
1919
daemonflags "github.com/tellor-io/layer-daemons/flags"
20+
2021
// need this for the address bech32 prefix config
2122
_ "github.com/tellor-io/layer/app/config"
2223

@@ -135,6 +136,8 @@ func init() {
135136
rootCmd.Flags().Uint32("auto-unbonding-amount", 0, "Amount of tokens in loya to unbond each unbonding transaction (0 = disabled)")
136137
rootCmd.Flags().String("auto-unbonding-max-stake-percentage", "0.0", "Maximum percentage of stake to unbond each unbonding transaction (0 = disabled, 1.0 = 100%). If unbonding amount exceeds this percentage, we will skip the unbonding transaction until it exceeds this percentage again.")
137138
rootCmd.Flags().Duration("refresh-gas-estimates-interval", 12*time.Hour, "Interval for resetting cached gas estimates and gas-adjustment levels (<=0 disables)")
139+
// Remote signer: when set, tx signing is delegated to the remote signer service instead of the local keyring
140+
rootCmd.Flags().String("remote-signer-addr", "", "gRPC address of the remote signer service (e.g. localhost:9191). When set, tx signing uses the remote signer instead of the local keyring.")
138141

139142
// Auto-bridge: keep wallet at a fixed balance by bridging the excess to Ethereum
140143
rootCmd.Flags().Uint64(daemonflags.FlagAutoBalanceToKeep, 0, "Keep this amount of loya in the wallet; bridge any excess to Ethereum at --auto-balance-execution-time (0 = disabled)")

go.mod

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
module github.com/tellor-io/layer-daemons
22

3-
go 1.23.2
3+
go 1.24.0
44

5-
toolchain go1.23.7
5+
toolchain go1.24.1
66

77
require (
88
cosmossdk.io/errors v1.0.2
@@ -30,7 +30,7 @@ require (
3030
github.com/tellor-io/layer v0.0.0-20260102193944-693854ff6bff
3131
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394
3232
google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a
33-
google.golang.org/grpc v1.72.2
33+
google.golang.org/grpc v1.79.3
3434
gopkg.in/typ.v4 v4.3.0
3535
)
3636

@@ -87,8 +87,8 @@ require (
8787
go.uber.org/mock v0.5.2 // indirect
8888
go.yaml.in/yaml/v2 v2.4.2 // indirect
8989
golang.org/x/arch v0.15.0 // indirect
90-
golang.org/x/text v0.27.0 // indirect
91-
google.golang.org/protobuf v1.36.6 // indirect
90+
golang.org/x/text v0.32.0 // indirect
91+
google.golang.org/protobuf v1.36.11 // indirect
9292
gopkg.in/yaml.v2 v2.4.0 // indirect
9393
)
9494

@@ -149,7 +149,7 @@ require (
149149
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
150150
github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect
151151
github.com/google/btree v1.1.3 // indirect
152-
github.com/google/flatbuffers v1.12.1 // indirect
152+
github.com/google/flatbuffers v2.0.8+incompatible // indirect
153153
github.com/google/go-cmp v0.7.0 // indirect
154154
github.com/google/orderedcode v0.0.1 // indirect
155155
github.com/google/s2a-go v0.1.8 // indirect
@@ -230,16 +230,16 @@ require (
230230
go.opentelemetry.io/otel/metric v1.34.0 // indirect
231231
go.opentelemetry.io/otel/trace v1.34.0 // indirect
232232
go.uber.org/multierr v1.11.0 // indirect
233-
golang.org/x/crypto v0.40.0
234-
golang.org/x/net v0.41.0 // indirect
233+
golang.org/x/crypto v0.46.0
234+
golang.org/x/net v0.48.0 // indirect
235235
golang.org/x/oauth2 v0.26.0 // indirect
236-
golang.org/x/sync v0.16.0 // indirect
237-
golang.org/x/sys v0.34.0 // indirect
238-
golang.org/x/term v0.33.0 // indirect
236+
golang.org/x/sync v0.19.0 // indirect
237+
golang.org/x/sys v0.39.0 // indirect
238+
golang.org/x/term v0.38.0 // indirect
239239
golang.org/x/time v0.9.0 // indirect
240240
google.golang.org/api v0.215.0 // indirect
241241
google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 // indirect
242-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
242+
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect
243243
gopkg.in/yaml.v3 v3.0.1 // indirect
244244
gotest.tools/v3 v3.5.2 // indirect
245245
nhooyr.io/websocket v1.8.10 // indirect
@@ -257,3 +257,11 @@ replace (
257257
replace cosmossdk.io/collections => cosmossdk.io/collections v0.4.0
258258

259259
replace cosmossdk.io/core => cosmossdk.io/core v0.11.0
260+
261+
require github.com/tellor-io/bridge-remote-signer/api v0.0.0
262+
263+
replace github.com/tellor-io/bridge-remote-signer/api => /home/tellor-io/bridge-remote-signer/api
264+
265+
// Pin grpc to the version already used by this module to prevent the bridge-remote-signer/api
266+
// dependency from upgrading it (which would pull in incompatible otel semconv versions).
267+
replace google.golang.org/grpc => google.golang.org/grpc v1.72.2

0 commit comments

Comments
 (0)