aboutsummaryrefslogtreecommitdiffstats
path: root/accounts/usbwallet
Commit message (Collapse)AuthorAgeFilesLines
* account/usbwallet: abort usb enumeration after failuresMartin Holst Swende2019-06-051-1/+11
|
* accounts/usbwallet, vendor: switch from HID to generic USB libPéter Szilágyi2019-06-043-18/+16
|
* accounts/usbwallet: recreate Trezor protocol, support old and newPéter Szilágyi2019-06-0312-5476/+4762
|
* accounts/usbwallet: support webusb for Trezor walletsGuillaume Ballet2019-06-033-4/+22
|
* accounts/usbwallet: enable the Nano X and upcoming Ledger IDs (#19623)Péter Szilágyi2019-05-261-1/+14
|
* accounts/usbwallet: fix a comment typo in trezor driver (#19535)Guillaume Ballet2019-05-081-1/+1
|
* accounts: switch Ledger derivation path to canonical onePéter Szilágyi2019-04-101-61/+78
|
* usbwallet: check error returned by driver close (#18057)Corey Lin2019-03-071-3/+1
| | | | Although current two implementations(ledgerDriver, trezorDriver) of interface driver.Close do not actually return any error. Instead, they only return nil. But since the declaration of Close function returns error, it is better to check the returned error in case in future some new implementation of Close function returns error and we may forget to modify the function which invokes Close function at that time.
* accounts: prefer nil slices over zero-length slices (#19079)Matthew Halpern2019-03-061-2/+4
|
* signer, clef: implement EIP191/712 (#17789)Paul Berg2019-02-061-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Named functions and defined a basic EIP191 content type list * Written basic content type functions * Added ecRecover method in the clef api * Updated the extapi changelog and addded indications in the README * Changed the version of the external API * Added tests for 0x45 * Implementing UnmarshalJSON() for TypedData * Working on TypedData * Solved the auditlog issue * Changed method to signTypedData * Changed mimes and implemented the 'encodeType' function for EIP-712 * Polished docstrings, ran goimports and swapped fmt.Errorf with errors.New where possible * Drafted recursive encodeData * Ran goimports and gofmt * Drafted first version of EIP-712, including tests * Temporarily switched to using common.Address in tests * Drafted text/validator and and rewritten []byte as hexutil.Bytes * Solved stringified address encoding issue * Changed the property type required by signData from bytes to interface{} * Fixed bugs in 'data/typed' signs * Brought legal warning back after temporarily disabling it for development * Added example RPC calls for account_signData and account_signTypedData * Named functions and defined a basic EIP191 content type list * Written basic content type functions * Added ecRecover method in the clef api * Updated the extapi changelog and addded indications in the README * Added tests for 0x45 * Implementing UnmarshalJSON() for TypedData * Working on TypedData * Solved the auditlog issue * Changed method to signTypedData * Changed mimes and implemented the 'encodeType' function for EIP-712 * Polished docstrings, ran goimports and swapped fmt.Errorf with errors.New where possible * Drafted recursive encodeData * Ran goimports and gofmt * Drafted first version of EIP-712, including tests * Temporarily switched to using common.Address in tests * Drafted text/validator and and rewritten []byte as hexutil.Bytes * Solved stringified address encoding issue * Changed the property type required by signData from bytes to interface{} * Fixed bugs in 'data/typed' signs * Brought legal warning back after temporarily disabling it for development * Added example RPC calls for account_signData and account_signTypedData * Polished and fixed PR * Polished and fixed PR * Solved malformed data panics and also wrote tests * Solved malformed data panics and also wrote tests * Added alphabetical sorting to type dependencies * Added alphabetical sorting to type dependencies * Added pretty print to data/typed UI * Added pretty print to data/typed UI * signer: more tests for typed data * signer: more tests for typed data * Fixed TestMalformedData4 errors and renamed IsValid to Validate * Fixed TestMalformedData4 errors and renamed IsValid to Validate * Fixed more new failing tests and deanonymised some functions * Fixed more new failing tests and deanonymised some functions * Added types to EIP712 output in cliui * Added types to EIP712 output in cliui * Fixed regexp issues * Fixed regexp issues * Added pseudo-failing test * Added pseudo-failing test * Fixed false positive test * Fixed false positive test * Added PrettyPrint method * Added PrettyPrint method * signer: refactor formatting and UI * signer: make ui use new message format for signing * Fixed breaking changes * Fixed rules_test failing test * Added extra regexp for reference types * signer: more hard types * Fixed failing test, formatted files * signer: use golang/x keccak * Fixed goimports error * clef, signer: address some review concerns * Implemented latest recommendations * Fixed comments and uintint256 issue * accounts, signer: fix mimetypes, add interface to sign data with passphrase * signer, accounts: remove duplicated code, pass hash preimages to signing * signer: prevent panic in type assertions, make cliui print rawdata as quotable-safe * signer: linter fixes, remove deprecated crypto dependency * accounts: fix goimport
* accounts, eth, clique, signer: support for external signer API (#18079)Martin Holst Swende2019-02-051-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | * accounts, eth, clique: implement external backend + move sighash calc to backend * signer: implement account_Version on external API * accounts/external: enable ipc, add copyright * accounts, internal, signer: formatting * node: go fmt * flags: disallow --dev in combo with --externalsigner * accounts: remove clique-specific signing method, replace with more generic * accounts, consensus: formatting + fix error in tests * signer/core: remove (test-) import cycle * clique: remove unused import * accounts: remove CliqueHash and avoid dependency on package crypto * consensus/clique: unduplicate header encoding
* accounts/usbwallet/trezor: expose protobuf package (#17980)benma2019-01-266-1/+1
| | | | | | | | | | When some of the same messages are redefined anywhere in a Go project, the protobuf package panics (see https://github.com/golang/protobuf/issues/178). Since this package is internal, there is no way to work around it, as one cannot use it directly, but also cannot define the same messages. There is no downside in making the package accessible.
* accounts/usbwallet: support trezor passphrases (#16503)Nimrod Gutman2019-01-241-19/+45
| | | | | | | When opening the wallet, ask for passphrase as well as for the PIN and return the relevant error (PIN/passphrase required). Open must then be called again with either PIN or passphrase to advance the process. This also updates the console bridge to support passphrase authentication.
* usbwallet: check returned error when decoding hexstr (#18056)Corey Lin2018-12-131-1/+3
| | | | | | | | | | * usbwallet: check returned error when decoding hexstr * Update accounts/usbwallet/ledger.go Co-Authored-By: CoreyLin <514971757@qq.com> * usbwallet: check hex decode error
* accounts/usbwallet: simplify code using -= operator (#17904)Evgeny2018-10-162-2/+2
|
* accounts/usbwallet: correct comment typo (#16998)Husam Ibrahim2018-06-191-1/+1
|
* accounts/usbwallet: correct comment typo (#17008)Husam Ibrahim2018-06-191-1/+1
|
* build: enable goimports and varcheck linters (#16446)thomasmodeneis2018-04-181-2/+0
|
* cmd/clef, signer: initial poc of the standalone signer (#16154)Martin Holst Swende2018-04-162-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * signer: introduce external signer command * cmd/signer, rpc: Implement new signer. Add info about remote user to Context * signer: refactored request/response, made use of urfave.cli * cmd/signer: Use common flags * cmd/signer: methods to validate calldata against abi * cmd/signer: work on abi parser * signer: add mutex around UI * cmd/signer: add json 4byte directory, remove passwords from api * cmd/signer: minor changes * cmd/signer: Use ErrRequestDenied, enable lightkdf * cmd/signer: implement tests * cmd/signer: made possible for UI to modify tx parameters * cmd/signer: refactors, removed channels in ui comms, added UI-api via stdin/out * cmd/signer: Made lowercase json-definitions, added UI-signer test functionality * cmd/signer: update documentation * cmd/signer: fix bugs, improve abi detection, abi argument display * cmd/signer: minor change in json format * cmd/signer: rework json communication * cmd/signer: implement mixcase addresses in API, fix json id bug * cmd/signer: rename fromaccount, update pythonpoc with new json encoding format * cmd/signer: make use of new abi interface * signer: documentation * signer/main: remove redundant option * signer: implement audit logging * signer: create package 'signer', minor changes * common: add 0x-prefix to mixcaseaddress in json marshalling + validation * signer, rules, storage: implement rules + ephemeral storage for signer rules * signer: implement OnApprovedTx, change signing response (API BREAKAGE) * signer: refactoring + documentation * signer/rules: implement dispatching to next handler * signer: docs * signer/rules: hide json-conversion from users, ensure context is cleaned * signer: docs * signer: implement validation rules, change signature of call_info * signer: fix log flaw with string pointer * signer: implement custom 4byte databsae that saves submitted signatures * signer/storage: implement aes-gcm-backed credential storage * accounts: implement json unmarshalling of url * signer: fix listresponse, fix gas->uint64 * node: make http/ipc start methods public * signer: add ipc capability+review concerns * accounts: correct docstring * signer: address review concerns * rpc: go fmt -s * signer: review concerns+ baptize Clef * signer,node: move Start-functions to separate file * signer: formatting
* all: update generated code (#15808)Felix Lange2018-01-083-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * core/types, core/vm, eth, tests: regenerate gencodec files * Makefile: update devtools target Install protoc-gen-go and print reminders about npm, solc and protoc. Also switch to github.com/kevinburke/go-bindata because it's more maintained. * contracts/ens: update contracts and regenerate with solidity v0.4.19 The newer upstream version of the FIFSRegistrar contract doesn't set the resolver anymore. The resolver is now deployed separately. * contracts/release: regenerate with solidity v0.4.19 * contracts/chequebook: fix fallback and regenerate with solidity v0.4.19 The contract didn't have a fallback function, payments would be rejected when compiled with newer solidity. References to 'mortal' and 'owned' use the local file system so we can compile without network access. * p2p/discv5: regenerate with recent stringer * cmd/faucet: regenerate * dashboard: regenerate * eth/tracers: regenerate * internal/jsre/deps: regenerate * dashboard: avoid sed -i because it's not portable * accounts/usbwallet/internal/trezor: fix go generate warnings
* all: switch gas limits from big.Int to uint64Péter Szilágyi2018-01-031-1/+1
|
* accounts/usbwallet: handle bad interface number on macOSPéter Szilágyi2017-10-031-4/+8
|
* accounts: refactor API for generalized USB walletsPéter Szilágyi2017-08-098-1943/+1418
|
* accounts, console, internal: support trezor hardware walletPéter Szilágyi2017-08-0910-16/+6626
|
* accounts: fix megacheck warnings (#14903)Egon Elbre2017-08-071-5/+4
| | | | | | * accounts: fix megacheck warnings * accounts: don't modify abi in favor of full cleanup
* accounts/usbwallet: if a confirmation is pending, skip refreshPéter Szilágyi2017-03-232-3/+16
|
* accounts/usbwallet: fix Ledger hidapi/libusb protocol violationPéter Szilágyi2017-03-232-13/+36
|
* all: import "context" instead of "golang.org/x/net/context"Felix Lange2017-03-231-1/+1
| | | | | | | | | | There is no need to depend on the old context package now that the minimum Go version is 1.7. The move to "context" eliminates our weird vendoring setup. Some vendored code still uses golang.org/x/net/context and it is now vendored in the normal way. This change triggered new vet checks around context.WithTimeout which didn't fire with golang.org/x/net/context.
* Merge pull request #3723 from karalabe/logger-updates-2Péter Szilágyi2017-02-282-14/+14
|\ | | | | Logger updates
| * all: next batch of log polishes to contextual versionsPéter Szilágyi2017-02-282-14/+14
| |
* | all: unify big.Int zero checks, use common/math in more places (#3716)Felix Lange2017-02-281-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | * common/math: optimize PaddedBigBytes, use it more name old time/op new time/op delta PaddedBigBytes-8 71.1ns ± 5% 46.1ns ± 1% -35.15% (p=0.000 n=20+19) name old alloc/op new alloc/op delta PaddedBigBytes-8 48.0B ± 0% 32.0B ± 0% -33.33% (p=0.000 n=20+20) * all: unify big.Int zero checks Various checks were in use. This commit replaces them all with Int.Sign, which is cheaper and less code. eg templates: func before(x *big.Int) bool { return x.BitLen() == 0 } func after(x *big.Int) bool { return x.Sign() == 0 } func before(x *big.Int) bool { return x.BitLen() > 0 } func after(x *big.Int) bool { return x.Sign() != 0 } func before(x *big.Int) int { return x.Cmp(common.Big0) } func after(x *big.Int) int { return x.Sign() } * common/math, crypto/secp256k1: make ReadBits public in package math
* accounts, eth/downloader: use "err" instead of "error" in logsPéter Szilágyi2017-02-271-5/+5
|
* accounts, cmd: port packages over to the new logging systemPéter Szilágyi2017-02-232-13/+17
|
* all: blidly swap out glog to our log15, logs need reworkPéter Szilágyi2017-02-231-18/+14
|
* accounts/usbwallet, vendor: use hidapi instead of libusb directlyPéter Szilágyi2017-02-174-150/+38
|
* accounts: ledger and HD review fixesPéter Szilágyi2017-02-131-33/+35
| | | | | | | | | - Handle a data race where a Ledger drops between list and open - Prolong Ledger tx confirmation window to 30 days from 1 minute - Simplify Ledger chainid-signature calculation and validation - Simplify Ledger USB APDU request chunking algorithm - Silence keystore account cache notifications for manual actions - Only enable self derivations if wallet open succeeds
* accounts/usbwallet: detect and report in Ledger is in browser modePéter Szilágyi2017-02-131-4/+17
|
* accounts/usbwallet: make wallet responsive while Ledger is busyPéter Szilágyi2017-02-131-151/+309
|
* accounts/usbwallet: Ledger teardown on health-check failurePéter Szilágyi2017-02-132-8/+33
|
* accounts, cmd, internal, node: implement HD wallet self-derivationPéter Szilágyi2017-02-132-113/+118
|
* accounts, cmd, internal, mobile, node: canonical account URLsPéter Szilágyi2017-02-132-19/+18
|
* accounts, cmd, eth, internal, miner, node: wallets and HD APIsPéter Szilágyi2017-02-132-265/+487
|
* accounts/usbwallet: two phase Ledger refreshes to avoid Windows bugPéter Szilágyi2017-02-131-25/+24
|
* accounts/usbwallet: support Ledger app version <1.0.2Péter Szilágyi2017-02-131-1/+5
|
* accounts/usbwallet: skip support on iOS altogetherPéter Szilágyi2017-02-134-0/+44
|
* accounts/usbwallet: initial support for Ledger walletsPéter Szilágyi2017-02-133-0/+750