aboutsummaryrefslogtreecommitdiffstats
path: root/core/types/transaction_signing.go
Commit message (Collapse)AuthorAgeFilesLines
* core/types: fix comment for func SignatureValues (#17921)Smilenator2018-10-161-1/+1
|
* core/types: fix typos (#17762)thumb84322018-09-301-2/+2
|
* params: fix golint warnings (#16853)kiel barry2018-06-051-1/+1
| | | params: fix golint warnings
* ethclient, mobile: add TransactionSender (#15127)Felix Lange2017-10-011-117/+57
| | | | | | | | | | | | | | | | | * core/types: make Signer derive address instead of public key There are two reasons to do this now: The upcoming ethclient signer doesn't know the public key, just the address. EIP 208 will introduce a new signer which derives the 'entry point' address for transactions with zero signature. The entry point has no public key. Other changes to the interface ease the path make to moving signature crypto out of core/types later. * ethclient, mobile: add TransactionSender The new method can get the right signer without any crypto, and without knowledge of the signature scheme that was used when the transaction was included.
* core: fix typo in error message (#14763)ligi2017-07-061-1/+1
|
* consensus, core, core/vm, parems: review fixesJeffrey Wilcke2017-05-181-11/+0
|
* core/types: corrected abstract signing addressJeffrey Wilcke2017-05-181-1/+1
|
* consensus, core/*, params: metropolis preparation refactorJeffrey Wilcke2017-05-181-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | This commit is a preparation for the upcoming metropolis hardfork. It prepares the state, core and vm packages such that integration with metropolis becomes less of a hassle. * Difficulty calculation requires header instead of individual parameters * statedb.StartRecord renamed to statedb.Prepare and added Finalise method required by metropolis, which removes unwanted accounts from the state (i.e. selfdestruct) * State keeps record of destructed objects (in addition to dirty objects) * core/vm pre-compiles may now return errors * core/vm pre-compiles gas check now take the full byte slice as argument instead of just the size * core/vm now keeps several hard-fork instruction tables instead of a single instruction table and removes the need for hard-fork checks in the instructions * core/vm contains a empty restruction function which is added in preparation of metropolis write-only mode operations * Adds the bn256 curve * Adds and sets the metropolis chain config block parameters (2^64-1)
* core/types: handle nil ChainId in NewEIP155SignerFelix Lange2017-03-231-0/+3
| | | | | | All uses of ChainConfig.ChainId eventually end up in NewEIP155Signer. This fixes the case where users forget to set the ChainId in their config.
* 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
* types: bugfix invalid V derivation on tx json unmarshal (#3594)bas-vk2017-01-211-1/+1
|
* core/types: remove redundant SignECDSA wrappers, rename to SignTxFelix Lange2017-01-051-36/+4
|
* accounts, core, crypto, internal: use normalised V during signature handling ↵Péter Szilágyi2017-01-051-37/+19
| | | | | | | | | (#3455) To address increasing complexity in code that handles signatures, this PR discards all notion of "different" signature types at the library level. Both the crypto and accounts package is reduced to only be able to produce plain canonical secp256k1 signatures. This makes the crpyto APIs much cleaner, simpler and harder to abuse.
* core, core/types: refactored tx chain id checkingJeffrey Wilcke2016-11-141-2/+24
| | | | Refactored explicit chain id checking in to the Sender deriviation method
* core/types, params: EIP#155Jeffrey Wilcke2016-11-131-0/+340