Skip to content

Commit 47a24de

Browse files
authored
fix(deps): fix Ledger hardware wallet support (#13048)
When using some Ledger Nano hardware wallets, some commands fail with: ERROR: finding ledger: LedgerHID device (idx 0) not found. Ledger LOCKED OR Other Program/Web Browser may have control of device. Examples are `lotus wallet new secp256k1-ledger` and `lotus-shed ledger list`. This issue was fixed upstream in Zondax/ledger-go#40, which then got pulled in Zondax/ledger-filecoin-go#38, which was released as https://github.com/Zondax/ledger-filecoin-go/releases/tag/v1.0.1. So the fix is to simply update to `ledger-filecoin-go` v1.0.1, which is all that this PR does.
1 parent be743c8 commit 47a24de

File tree

5 files changed

+18
-31
lines changed

5 files changed

+18
-31
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
1010
# UNRELEASED
1111

12+
- fix(deps): fix Ledger hardware wallet support ([filecoin-project/lotus#13048](https://github.com/filecoin-project/lotus/pull/13048))
1213
- fix(eth): always return nil for eth transactions not found ([filecoin-project/lotus#12999](https://github.com/filecoin-project/lotus/pull/12999))
1314
- feat: add gas to application metric reporting `vm/applyblocks_early_gas`, `vm/applyblocks_messages_gas`, `vm/applyblocks_cron_gas` ([filecoin-project/lotus#13030](https://github.com/filecoin-project/lotus/pull/13030))
1415
- feat: add Lotus v2 experimental APIs with F3 awareness

chain/wallet/ledger/ledger.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ func (lw LedgerWallet) WalletSign(ctx context.Context, signer address.Address, t
6969
}
7070
}
7171

72-
sig, err := fl.SignSECP256K1(ki.Path, meta.Extra)
72+
sig, err := fl.Sign(ki.Path, meta.Extra, ledgerfil.SECP256K1)
7373
if err != nil {
7474
return nil, err
7575
}
@@ -204,13 +204,13 @@ func (lw LedgerWallet) WalletNew(ctx context.Context, t types.KeyType) (address.
204204
defer fl.Close() // nolint:errcheck
205205

206206
path := append(append([]uint32(nil), filHDBasePath...), uint32(maxi+1))
207-
_, _, addr, err := fl.GetAddressPubKeySECP256K1(path)
207+
_, _, addr, err := fl.GetAddressPubKey(path, ledgerfil.SECP256K1)
208208
if err != nil {
209209
return address.Undef, xerrors.Errorf("getting public key from ledger: %w", err)
210210
}
211211

212212
log.Warnf("creating key: %s, accept the key in ledger device", addr)
213-
_, _, addr, err = fl.ShowAddressPubKeySECP256K1(path)
213+
_, _, addr, err = fl.ShowAddressPubKey(path, ledgerfil.SECP256K1)
214214
if err != nil {
215215
return address.Undef, xerrors.Errorf("verifying public key with ledger: %w", err)
216216
}

cmd/lotus-shed/ledger.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ var ledgerListAddressesCmd = &cli.Command{
7070
}
7171

7272
p := []uint32{hdHard | 44, hdHard | 461, hdHard, 0, uint32(i)}
73-
pubk, err := fl.GetPublicKeySECP256K1(p)
73+
pubk, err := fl.GetPublicKey(p, ledgerfil.SECP256K1)
7474
if err != nil {
7575
return err
7676
}
@@ -178,7 +178,7 @@ var ledgerKeyInfoCmd = &cli.Command{
178178
return err
179179
}
180180

181-
pubk, _, addr, err := fl.GetAddressPubKeySECP256K1(p)
181+
pubk, _, addr, err := fl.GetAddressPubKey(p, ledgerfil.SECP256K1)
182182
if err != nil {
183183
return err
184184
}
@@ -250,7 +250,7 @@ var ledgerSignTestCmd = &cli.Command{
250250
}
251251
fmt.Printf("Message: %x\n", b.RawData())
252252

253-
sig, err := fl.SignSECP256K1(p, b.RawData())
253+
sig, err := fl.Sign(p, b.RawData(), ledgerfil.SECP256K1)
254254
if err != nil {
255255
return err
256256
}
@@ -282,7 +282,7 @@ var ledgerShowCmd = &cli.Command{
282282
return err
283283
}
284284

285-
_, _, a, err := fl.ShowAddressPubKeySECP256K1(p)
285+
_, _, a, err := fl.ShowAddressPubKey(p, ledgerfil.SECP256K1)
286286
if err != nil {
287287
return err
288288
}
@@ -325,7 +325,7 @@ var ledgerNewAddressesCmd = &cli.Command{
325325
}
326326

327327
p := []uint32{hdHard | 44, hdHard | 461, hdHard, 0, uint32(index)}
328-
pubk, err := fl.GetPublicKeySECP256K1(p)
328+
pubk, err := fl.GetPublicKey(p, ledgerfil.SECP256K1)
329329
if err != nil {
330330
return err
331331
}

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ require (
142142
github.com/xeipuuv/gojsonschema v1.2.0
143143
github.com/xorcare/golden v0.6.1-0.20191112154924-b87f686d7542 // dependency-check-ignore: unknown
144144
github.com/yugabyte/pgx/v5 v5.5.3-yb-2 // dependency-check-ignore: unknown
145-
github.com/zondax/ledger-filecoin-go v0.11.1
145+
github.com/zondax/ledger-filecoin-go v1.0.1
146146
github.com/zyedidia/generic v1.2.1
147147
go.opencensus.io v0.24.0
148148
go.opentelemetry.io/otel v1.34.0
@@ -332,7 +332,7 @@ require (
332332
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
333333
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
334334
github.com/zondax/hid v0.9.2 // indirect
335-
github.com/zondax/ledger-go v0.14.3 // indirect
335+
github.com/zondax/ledger-go v1.0.0 // indirect
336336
gitlab.com/yawning/secp256k1-voi v0.0.0-20230925100816-f2616030848b // indirect
337337
gitlab.com/yawning/tuplehash v0.0.0-20230713102510-df83abbf9a02 // indirect
338338
go.dedis.ch/fixbuf v1.0.3 // indirect

go.sum

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1o
8181
github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4=
8282
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8=
8383
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo=
84-
github.com/aead/siphash v1.0.1 h1:FwHfE/T45KPKYuuSAKyyvE+oPWcaQ+CUmFW0bPlM+kg=
8584
github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=
8685
github.com/akavel/rsrc v0.8.0 h1:zjWn7ukO9Kc5Q62DOJCcxGpXC18RawVtYAGdz2aLlfw=
8786
github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c=
@@ -112,26 +111,17 @@ github.com/bits-and-blooms/bitset v1.13.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6
112111
github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g=
113112
github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8=
114113
github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI=
114+
github.com/btcsuite/btcd v0.0.0-20190605094302-a0d1e3e36d50 h1:4i3KsuVA0o0KoBxAC5x+MY7RbteiMK1V7gf/G08NGIQ=
115115
github.com/btcsuite/btcd v0.0.0-20190605094302-a0d1e3e36d50/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI=
116-
github.com/btcsuite/btcd v0.24.0 h1:gL3uHE/IaFj6fcZSu03SvqPMSx7s/dPzfpG/atRwWdo=
117-
github.com/btcsuite/btcd v0.24.0/go.mod h1:K4IDc1593s8jKXIF7yS7yCTSxrknB9z0STzc2j6XgE4=
118-
github.com/btcsuite/btcd/btcec/v2 v2.1.3 h1:xM/n3yIhHAhHy04z4i43C8p4ehixJZMsnrVJkgl+MTE=
119-
github.com/btcsuite/btcd/btcec/v2 v2.1.3/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE=
120-
github.com/btcsuite/btcd/btcutil v1.1.5 h1:+wER79R5670vs/ZusMTF1yTcRYE5GUsFbdjdisflzM8=
121-
github.com/btcsuite/btcd/btcutil v1.1.5/go.mod h1:PSZZ4UitpLBWzxGd5VGOrLnmOjtPP/a6HaFo12zMs00=
122-
github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 h1:59Kx4K6lzOW5w6nFlA0v5+lk/6sjybR934QNHSJZPTQ=
123-
github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
124-
github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo=
116+
github.com/btcsuite/btcd/btcec/v2 v2.3.4 h1:3EJjcN70HCu/mwqlUsGK8GcNVyLVxFDlWurTXGPFfiQ=
117+
github.com/btcsuite/btcd/btcec/v2 v2.3.4/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04=
125118
github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA=
126119
github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
127120
github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
128-
github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw=
129121
github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg=
130122
github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY=
131123
github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc=
132-
github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3SkEwmHoWBmX1DNXhXZqlTpq6s4tyJGc=
133124
github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY=
134-
github.com/btcsuite/winsvc v1.0.0 h1:J9B4L7e3oqhXOcm+2IuNApwzQec85lE+QaikUcCs+dk=
135125
github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs=
136126
github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
137127
github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs=
@@ -202,8 +192,6 @@ github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5il
202192
github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo=
203193
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg=
204194
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0=
205-
github.com/decred/dcrd/lru v1.0.0 h1:Kbsb1SFDsIlaupWPwsPp+dkxiBY1frcS07PCPgotKz8=
206-
github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218=
207195
github.com/detailyang/go-fallocate v0.0.0-20180908115635-432fa640bd2e h1:lj77EKYUpYXTd8CD/+QMIf8b6OIOTsfEBSXiAzuEHTU=
208196
github.com/detailyang/go-fallocate v0.0.0-20180908115635-432fa640bd2e/go.mod h1:3ZQK6DMPSz/QZ73jlWxBtUhNA8xZx7LzUFSq/OfP8vk=
209197
github.com/dgraph-io/badger v1.5.5-0.20190226225317-8115aed38f8f/go.mod h1:VZxzAIRPHRVNRKRo6AXrX9BJegn6il06VMTZVJYCIjQ=
@@ -753,7 +741,6 @@ github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8Hm
753741
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
754742
github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA=
755743
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
756-
github.com/jrick/logrotate v1.0.0 h1:lQ1bL/n9mBNeIXoTUoYRlK4dHuNJVofX9oWqBtPnSzI=
757744
github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ=
758745
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
759746
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
@@ -775,7 +762,6 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW
775762
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
776763
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
777764
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
778-
github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23 h1:FOOIBWrEkLgmlgGfMuZT83xIwfPDxEI2OHu6xUmJMFE=
779765
github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
780766
github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
781767
github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
@@ -1356,10 +1342,10 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1
13561342
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
13571343
github.com/zondax/hid v0.9.2 h1:WCJFnEDMiqGF64nlZz28E9qLVZ0KSJ7xpc5DLEyma2U=
13581344
github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM=
1359-
github.com/zondax/ledger-filecoin-go v0.11.1 h1:sNfst9L7ntZN5LfLL+rtScKWVBmLiask33QIne+WcxE=
1360-
github.com/zondax/ledger-filecoin-go v0.11.1/go.mod h1:pr9sUKUUyJ8epZ/np3vlixq6J8aawlWRwzUwsTsfPNw=
1361-
github.com/zondax/ledger-go v0.14.3 h1:wEpJt2CEcBJ428md/5MgSLsXLBos98sBOyxNmCjfUCw=
1362-
github.com/zondax/ledger-go v0.14.3/go.mod h1:IKKaoxupuB43g4NxeQmbLXv7T9AlQyie1UpHb342ycI=
1345+
github.com/zondax/ledger-filecoin-go v1.0.1 h1:Ox5u//5PEZhNOAaNtfKqZkF0XvrIVXK5O7DfykJMqu4=
1346+
github.com/zondax/ledger-filecoin-go v1.0.1/go.mod h1:L9dAY5dqCISd/tpU912Hzct72Gr+D4o2psRja9udH1Y=
1347+
github.com/zondax/ledger-go v1.0.0 h1:BvNoksIyRqyQTW78rIZP9A44WwAminKiomQa7jXp9EI=
1348+
github.com/zondax/ledger-go v1.0.0/go.mod h1:HpgkgFh3Jkwi9iYLDATdyRxc8CxqxcywsFj6QerWzvo=
13631349
github.com/zyedidia/generic v1.2.1 h1:Zv5KS/N2m0XZZiuLS82qheRG4X1o5gsWreGb0hR7XDc=
13641350
github.com/zyedidia/generic v1.2.1/go.mod h1:ly2RBz4mnz1yeuVbQA/VFwGjK3mnHGRj1JuoG336Bis=
13651351
gitlab.com/yawning/secp256k1-voi v0.0.0-20230925100816-f2616030848b h1:CzigHMRySiX3drau9C6Q5CAbNIApmLdat5jPMqChvDA=

0 commit comments

Comments
 (0)