- 25 11月, 2020 1 次提交
-
-
由 Marius van der Wijden 提交于
-
- 28 7月, 2020 2 次提交
-
-
由 Péter Szilágyi 提交于
-
由 Hendrik Hofstadt 提交于
-
- 09 7月, 2020 1 次提交
-
-
由 Felix Lange 提交于
Reverting because this change started handling account balances as uint64 in the transaction pool, which is incorrect. This reverts commit af5c97ae.
-
- 02 7月, 2020 1 次提交
-
-
由 Marius van der Wijden 提交于
* core: use uint64 for total tx costs instead of big.Int * core: added local tx pool test case * core, crypto: various allocation savings regarding tx handling * Update core/tx_list.go * core: added tx.GasPriceIntCmp for comparison without allocation adds a method to remove unneeded allocation in comparison to tx.gasPrice * core: handle pools full of locals better * core/tests: benchmark for tx_list * core/txlist, txpool: save a reheap operation, avoid some bigint allocs Co-authored-by: NMartin Holst Swende <martin@swende.se>
-
- 30 6月, 2020 1 次提交
-
-
由 Marius van der Wijden 提交于
* core, crypto: various allocation savings regarding tx handling * core: reduce allocs for gas price comparison This change reduces the allocations needed for comparing different transactions to each other. A call to `tx.GasPrice()` copies the gas price as it has to be safe against modifications and also needs to be threadsafe. For comparing and ordering different transactions we don't need these guarantees * core: added tx.GasPriceIntCmp for comparison without allocation adds a method to remove unneeded allocation in comparison to tx.gasPrice * core/types: pool legacykeccak256 objects in rlpHash rlpHash is by far the most used function in core that allocates a legacyKeccak256 object on each call. Since it is so widely used it makes sense to add pooling here so we relieve the GC. On my machine these changes result in > 100 MILLION less allocations and > 30 GB less allocated memory. * reverted some changes * reverted some changes * trie: use crypto.KeccakState instead of replicating code Co-authored-by: NMartin Holst Swende <martin@swende.se>
-
- 12 6月, 2019 1 次提交
-
-
由 Felix Lange 提交于
-
- 29 12月, 2018 1 次提交
-
-
由 Jeremy Schlatter 提交于
-
- 30 9月, 2018 1 次提交
-
-
由 reinerRubin 提交于
-
- 20 8月, 2018 1 次提交
-
-
由 Aditya 提交于
-
- 09 7月, 2018 1 次提交
-
-
由 Smilenator 提交于
* core: fix func TxDifference fix a typo in func comment; change named return to unnamed as there's explicit return in the body * fix another typo in TxDifference
-
- 19 6月, 2018 1 次提交
-
-
由 Wenbiao Zheng 提交于
* core: move test util var/func to test file * core: remove useless func
-
- 24 4月, 2018 1 次提交
-
-
由 kimmylin 提交于
-
- 18 4月, 2018 1 次提交
-
-
由 thomasmodeneis 提交于
-
- 05 4月, 2018 1 次提交
-
-
由 Steven Roose 提交于
Most of these methods did not contain all the relevant information inside the object and were not using a similar formatting type. Moreover, the existence of a suboptimal String method breaks usage with more advanced data dumping tools like go-spew.
-
- 06 2月, 2018 1 次提交
-
-
由 Péter Szilágyi 提交于
This commit reduces database I/O by not writing every state trie to disk.
-
- 03 1月, 2018 1 次提交
-
-
由 Péter Szilágyi 提交于
-
- 21 12月, 2017 1 次提交
-
-
由 Kurkó Mihály 提交于
-
- 07 12月, 2017 1 次提交
-
-
由 Airead 提交于
-
- 01 10月, 2017 1 次提交
-
-
由 Felix Lange 提交于
* 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.
-
- 08 9月, 2017 1 次提交
-
-
由 Mark 提交于
-
- 24 8月, 2017 1 次提交
-
-
由 nkbai 提交于
-
- 06 4月, 2017 1 次提交
-
-
由 Felix Lange 提交于
* Makefile: fix devtools target * core: regenerate genesis marshaling with fjl/gencodec@cbfa5be5a8a8 * core/types: regenerate marshaling methods with fjl/gencodec@cbfa5be5a8a8 * core/types: add "hash" to JSON headers
-
- 29 3月, 2017 1 次提交
-
-
由 bas-vk 提交于
-
- 25 3月, 2017 1 次提交
-
-
由 Felix Lange 提交于
Fixes #3819
-
- 23 3月, 2017 1 次提交
-
-
由 Felix Lange 提交于
This commit solves several issues concerning the genesis block: * Genesis/ChainConfig loading was handled by cmd/geth code. This left library users in the cold. They could specify a JSON-encoded string and overwrite the config, but didn't get any of the additional checks performed by geth. * Decoding and writing of genesis JSON was conflated in WriteGenesisBlock. This made it a lot harder to embed the genesis block into the forthcoming config file loader. This commit changes things so there is a single Genesis type that represents genesis blocks. All uses of Write*Genesis* are changed to use the new type instead. * If the chain config supplied by the user was incompatible with the current chain (i.e. the chain had already advanced beyond a scheduled fork), it got overwritten. This is not an issue in practice because previous forks have always had the highest total difficulty. It might matter in the future though. The new code reverts the local chain to the point of the fork when upgrading configuration. The change to genesis block data removes compression library dependencies from package core.
-
- 07 3月, 2017 1 次提交
-
-
由 Felix Lange 提交于
-
- 28 2月, 2017 1 次提交
-
-
由 Felix Lange 提交于
* 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
-
- 24 1月, 2017 1 次提交
-
-
由 Felix Lange 提交于
-
- 21 1月, 2017 1 次提交
-
-
由 bas-vk 提交于
-
- 05 1月, 2017 2 次提交
-
-
由 Felix Lange 提交于
-
由 Péter Szilágyi 提交于
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.
-
- 29 11月, 2016 1 次提交
-
-
由 Steven Roose 提交于
-
- 28 11月, 2016 1 次提交
-
-
由 Felix Lange 提交于
-
- 14 11月, 2016 1 次提交
-
-
由 Zsolt Felfoldi 提交于
-
- 13 11月, 2016 1 次提交
-
-
由 Jeffrey Wilcke 提交于
-
- 29 10月, 2016 1 次提交
-
-
由 bas-vk 提交于
This commit includes several API changes: - The behavior of eth_sign is changed. It now accepts an arbitrary message, prepends the well-known string \x19Ethereum Signed Message:\n<length of message> hashes the result using keccak256 and calculates the signature of the hash. This breaks backwards compatability! - personal_sign(hash, address [, password]) is added. It has the same semantics as eth_sign but also accepts a password. The private key used to sign the hash is temporarily unlocked in the scope of the request. - personal_recover(message, signature) is added and returns the address for the account that created a signature.
-
- 08 9月, 2016 1 次提交
-
-
由 Péter Szilágyi 提交于
-
- 02 9月, 2016 2 次提交
-
-
由 Péter Szilágyi 提交于
-
由 Péter Szilágyi 提交于
-