Vedhavyas Singareddi
92639b676a
Add packing for dynamic array and slice types ( #18051 )
...
* added tests for new abi encoding features (#4 )
* added tests from bytes32[][] and string[]
* added offset to other types
* formatting
* Abi/dynamic types (#5 )
* Revert "Abi/dynamic types (#5 )" (#6 )
This reverts commit dabca31d797623d43bd780721fc0ad461d24be53.
* Abi/dynamic types (#7 )
* some cleanup
* Apply suggestions from code review
apply suggestions
Co-Authored-By: vedhavyas <vedhavyas.singareddi@gmail.com>
* added better formatting (#8 )
* review chnages
* better comments
2018-12-04 15:27:55 +01:00
Wenbiao Zheng
32d35c9c08
accounts/keystore: delete the redundant keystore in filename ( #17930 )
...
* accounts/keystore: reduce file name length
* accounts/keystore: reduce code line width
2018-11-29 12:04:56 +02:00
Wenbiao Zheng
6ff97bf2e5
accounts: wallet derivation path comment is mistaken ( #17934 )
2018-10-19 16:40:10 +03:00
Evgeny
331fa6d307
accounts/usbwallet: simplify code using -= operator ( #17904 )
2018-10-16 00:34:50 +02:00
Martin Holst Swende
d5c7a6056a
cmd/clef: encrypt the master seed on disk ( #17704 )
...
* cmd/clef: encrypt master seed of clef
Signed-off-by: YaoZengzeng <yaozengzeng@zju.edu.cn>
* keystore: refactor for external use of encryption
* clef: utilize keystore encryption, check flags correctly
* clef: validate master password
* clef: add json wrapping around encrypted master seed
2018-10-09 11:05:41 +02:00
Jeremy Schlatter
5ed3960b9b
accounts/abi/bind: stop using goimports in the binding generator ( #17768 )
2018-10-05 22:24:54 +02:00
Martin Holst Swende
96fd50be10
accounts/abi: fix panic in MethodById lookup. Fixes #17797 ( #17798 )
2018-10-01 14:17:36 +02:00
CDsigma
a5aaab2f22
accounts/abi/bind/backends: fix typo ( #17749 )
2018-09-28 22:47:46 +02:00
gary rong
d6254f827b
all: protect self-mined block during reorg ( #17656 )
2018-09-20 15:09:30 +03:00
Martin Holst Swende
6f004c46d5
accounts/keystore: double-check keystore file after creation ( #17348 )
2018-09-19 18:08:38 +02:00
Martin Holst Swende
16bc8741bf
abi, signer: fix nil dereference in #17633 ( #17653 )
...
* abi,signer: fix nil dereference in #17633
* signer/core: tiny typo fix in test error message
2018-09-19 12:07:53 +03:00
Diep Pham
42bd67bd6f
accounts/abi: fix unpacking of negative int256 ( #17583 )
2018-09-04 17:53:28 +02:00
Wenbiao Zheng
d1aa605f1e
all: remove the duplicate 'the' in annotations ( #17509 )
2018-08-27 11:49:29 +03:00
Sasuke1964
60390878a5
accounts: fixed typo ( #17421 )
2018-08-17 10:38:02 +03:00
Jeff Prestes
212bba47ff
backends: configurable gas limit to allow testing large contracts ( #17358 )
...
* backends: increase gaslimit in order to allow tests of large contracts
* backends: increase gaslimit in order to allow tests of large contracts
* backends: increase gaslimit in order to allow tests of large contracts
2018-08-15 10:15:42 +03:00
Roc Yu
70176cda0e
accounts/keystore: rename skipKeyFile to nonKeyFile to better reveal the function purpose ( #17290 )
2018-08-03 10:25:17 +03:00
Péter Szilágyi
d9575e92fc
crypto/secp256k1: remove external LGPL dependencies ( #17239 )
2018-07-26 13:33:13 +02:00
Péter Szilágyi
21c059b67e
Merge pull request #16734 from reductionista/eip234
...
eth/filters, interfaces: EIP-234 Add blockHash option to eth_getLogs
2018-07-24 12:52:16 +03:00
Roc Yu
040dd5bd5d
accounts/abi: refactor Method#Sig() to use index in range iterator directly ( #17198 )
2018-07-19 11:42:47 +03:00
Roc Yu
323428865f
accounts: add unit tests for URL ( #17182 )
2018-07-18 11:32:49 +03:00
Ralph Caraveo III
5d30be412b
all: switch out defunct set library to different one ( #16873 )
...
* keystore, ethash, eth, miner, rpc, whisperv6: tech debt with now defunct set.
* whisperv5: swap out gopkg.in/fatih/set.v0 with supported set
2018-07-16 10:54:19 +03:00
Péter Szilágyi
e1f1d3085c
accounts, eth, les: blockhash based filtering on all code paths
2018-07-12 18:16:54 +03:00
Wenbiao Zheng
61a5976368
accounts: remove deadcode isSigned ( #16990 )
2018-06-20 11:46:29 +02:00
Husam Ibrahim
28aca90716
accounts/usbwallet: correct comment typo ( #16998 )
2018-06-19 14:43:20 +03:00
Husam Ibrahim
3e57c33147
accounts/usbwallet: correct comment typo ( #17008 )
2018-06-19 14:36:35 +03:00
Wenbiao Zheng
c95e4a80d1
accounts/keystore: assign schema as const instead of var ( #16985 )
2018-06-14 17:24:35 +03:00
Péter Szilágyi
49719e21bc
core, eth: minor txpool event cleanups
2018-05-18 12:08:24 +03:00
rjl493456442
a2e43d28d0
all: collate new transaction events together
2018-05-18 11:46:44 +03:00
Guillaume Ballet
247b5f0369
accounts/abi: allow abi: tags when unpacking structs
...
Go code users can now tag event struct members with `abi:` to specify in what fields the event will be de-serialized.
See PR #16648 for details.
2018-05-14 14:47:31 +02:00
gary rong
7beccb29be
all: get rid of error when creating memory database ( #16716 )
...
* all: get rid of error when create mdb
* core: clean up variables definition
* all: inline mdb definition
2018-05-09 15:24:25 +03:00
Péter Szilágyi
6cf0ab38bd
core/rawdb: separate raw database access to own package ( #16666 )
2018-05-07 14:35:06 +03:00
GagziW
541f299fbb
accounts: changed if-else blocks to conform with golint ( #16654 )
2018-05-03 11:37:56 +03:00
kiel barry
c1ea527573
accounts: golint updates for this or self warning ( #16627 )
2018-05-02 11:17:52 +03:00
thomasmodeneis
ba1030b6b8
build: enable goimports and varcheck linters ( #16446 )
2018-04-18 00:53:50 +02:00
Martin Holst Swende
ec3db0f56c
cmd/clef, signer: initial poc of the standalone signer ( #16154 )
...
* 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
2018-04-16 15:04:32 +03:00
Ricardo Domingos
6ab9f0a19f
accounts/abi: improve test coverage ( #16044 )
2018-04-04 13:42:36 +02:00
Martin Holst Swende
933972d139
Merge pull request #16256 from epiclabs-io/unpack_one_arg_event
...
Fix issue unmarshaling single parameter events from abigen generated go code #16208
2018-03-21 10:11:37 +01:00
Martin Holst Swende
faed47b3c5
Merge pull request #15990 from markya0616/sim_backend_block_hash
...
accounts/abi, core: add AddTxWithChain in BlockGen for simulation
2018-03-19 08:29:54 +01:00
Mark
cddb529d70
accounts/abi: normalize method name to a camel-case string ( #15976 )
2018-03-07 14:34:53 +02:00
Javier Peletier
60a999f238
accounts/abi: Modified unpackAtomic to accept struct lvalues
2018-03-05 16:01:40 +01:00
Javier Peletier
13b566e06e
accounts/abi: Add one-parameter event test case from enriquefynn/unpack_one_arg_event
2018-03-05 16:00:03 +01:00
protolambda
0b814d32f8
accounts/abi: Abi binding support for nested arrays, fixes #15648 , including nested array unpack fix ( #15676 )
...
* accounts/abi/bind: support for multi-dim arrays
Also:
- reduce usage of regexes a bit.
- fix minor Java syntax problems
Fixes #15648
* accounts/abi/bind: Add some more documentation
* accounts/abi/bind: Improve code readability
* accounts/abi: bugfix for unpacking nested arrays
The code previously assumed the arrays/slices were always 1 level
deep. While the packing supports nested arrays (!!!).
The current code for unpacking doesn't return the "consumed" length, so
this fix had to work around that by calculating it (i.e. packing and
getting resulting length) after the unpacking of the array element.
It's far from ideal, but unpacking behaviour is fixed now.
* accounts/abi: Fix unpacking of nested arrays
Removed the temporary workaround of packing to calculate size, which was
incorrect for slice-like types anyway.
Full size of nested arrays is used now.
* accounts/abi: deeply nested array unpack test
Test unpacking of an array nested more than one level.
* accounts/abi: Add deeply nested array pack test
Same as the deep nested array unpack test, but the other way around.
* accounts/abi/bind: deeply nested arrays bind test
Test the usage of bindings that were generated
for methods with multi-dimensional (and not
just a single extra dimension, like foo[2][3])
array arguments and returns.
edit: trigger rebuild, CI failed to fetch linter module.
* accounts/abi/bind: improve array binding
wrapArray uses a regex now, and arrayBindingJava is improved.
* accounts/abi: Improve naming of element size func
The full step size for unpacking an array
is now retrieved with "getFullElemSize".
* accounts/abi: support nested nested array args
Previously, the code only considered the outer-size of the array,
ignoring the size of the contents. This was fine for most types,
but nested arrays are packed directly into it, and count towards
the total size. This resulted in arguments following a nested
array to replicate some of the binary contents of the array.
The fix: for arrays, calculate their complete contents size:
count the arg.Type.Elem.Size when Elem is an Array, and
repeat when their child is an array too, etc.
The count is the number of 32 byte elements, similar to how it
previously counted, but nested.
* accounts/abi: Test deep nested arr multi-arguments
Arguments with a deeply nested array should not cause the next arguments
to be read from the wrong position.
2018-03-04 23:24:17 +01:00
Péter Szilágyi
5cf1d35470
eth, les, light: filter on logs only, derive receipts on demand
2018-02-22 19:12:43 +02:00
Martin Holst Swende
61f2279bde
abi: fix missing method on go 1.7/1.8
2018-02-21 12:27:50 +01:00
Martin Holst Swende
bd6ed23899
accounts/abi: harden unpacking against malicious input
2018-02-21 12:27:50 +01:00
Martin Holst Swende
08c5d4dd27
accounts/abi: address review concerns
2018-02-21 12:27:50 +01:00
Martin Holst Swende
f0f594d045
accounts/abi: Deduplicate code in unpacker
2018-02-21 12:27:50 +01:00
Martin Holst Swende
1ede68355d
accounts/abi: add another unpack interface
2018-02-21 12:27:50 +01:00
Fynn
1e72271f57
accounts/abi: use unpackTuple to unpack event arguments
...
Events with just 1 argument fail before this change
2018-02-16 11:46:25 +01:00
Felix Lange
a5c0bbb4f4
all: update license information ( #16089 )
2018-02-14 13:49:11 +01:00
Péter Szilágyi
55599ee95d
core, trie: intermediate mempool between trie and database ( #15857 )
...
This commit reduces database I/O by not writing every state trie to disk.
2018-02-05 17:40:32 +01:00
mark.lin
c1d70ea970
accounts/abi, core: add AddTxWithChain in BlockGen for simulation
2018-01-29 18:47:08 +08:00
Miguel Mota
4dd0727c39
accounts: fix comment typo ( #15977 )
2018-01-26 13:33:27 +02:00
Péter Szilágyi
1bf508b449
accounts/abi/bind: support event filtering in abigen
2018-01-24 10:54:13 +02:00
Felix Lange
5c2f1e0014
all: update generated code ( #15808 )
...
* 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
2018-01-08 14:15:57 +02:00
Péter Szilágyi
6f69cdd109
all: switch gas limits from big.Int to uint64
2018-01-03 14:45:35 +02:00
Furkan KAMACI
b8caba9709
various: remove redundant parentheses ( #15793 )
2018-01-03 14:14:47 +02:00
Péter Szilágyi
b9731767af
accounts/abi: handle named ouputs prefixed with underscores ( #15766 )
...
* accounts/abi: handle named ouputs prefixed with underscores
* accounts/abi: handle collinding outputs for struct unpacks
* accounts: handle purely underscore output names
2017-12-29 23:20:02 +02:00
Martin Holst Swende
9d187f0238
Merge pull request #15731 from holiman/revamp_abi
...
accounts/abi refactor
2017-12-22 20:59:41 +01:00
Martin Holst Swende
c095c87e11
accounts/abi: merging of https://github.com/ethereum/go-ethereum/pull/15452 + lookup by id
2017-12-22 19:26:57 +01:00
Martin Holst Swende
73d4a57d47
acounts/abi: refactor abi, generalize abi pack/unpack to Arguments
2017-12-22 19:26:52 +01:00
gary rong
5f8888e116
accounts, consensus, core, eth: make chain maker consensus agnostic ( #15497 )
...
* accounts, consensus, core, eth: make chain maker consensus agnostic
* consensus, core: move CalcDifficulty to Engine interface
* consensus: add docs for calcDifficulty function
* consensus, core: minor comment fixups
2017-12-22 14:37:50 +02:00
Robert Zaremba
81d4cafb32
accounts/abi: add unpack into array test
2017-12-21 15:14:50 +01:00
Robert Zaremba
1afca33eac
accounts/abi: add Method Unpack tests
...
+ Reworked Method Unpack tests into more readable components
+ Added Method Unpack into slice test
2017-12-21 15:14:50 +01:00
Robert Zaremba
95461e8b22
accounts/abi: satisfy most of the linter warnings
...
+ adding missing comments
+ small cleanups which won't significantly change
function body.
+ unify Method receiver name
2017-12-21 15:14:50 +01:00
Robert Zaremba
0ed8b838a9
accounts/abi: fix event unpack into slice
...
+ The event slice unpacker doesn't correctly extract element from the
slice. The indexed arguments are not ignored as they should be
(the data offset should not include the indexed arguments).
+ The `Elem()` call in the slice unpack doesn't work.
The Slice related tests fails because of that.
+ the check in the loop are suboptimal and have been extracted
out of the loop.
+ extracted common code from event and method tupleUnpack
2017-12-21 15:14:50 +01:00
Robert Zaremba
9becba5540
accounts/abi: fix event tupleUnpack
...
Event.tupleUnpack doesn't handle correctly Indexed arguments,
hence it can't unpack an event with indexed arguments.
2017-12-21 15:14:50 +01:00
Robert Zaremba
3511904aad
accounts/abi: adding event unpacker tests
2017-12-21 15:14:50 +01:00
Martin Holst Swende
b0d41e386e
Merge pull request #15285 from yondonfu/abi-offset-fixed-arrays
...
accounts/abi: include fixed array size in offset for dynamic type
2017-12-21 14:42:03 +01:00
Bob Glickstein
e21aa0fda3
accounts/abi: remove check for len%32==0 when unpacking events ( #15670 )
...
This change inlines the logic of bytesAreProper at its sole
callsite, ABI.Unpack, and applies the multiple-of-32 test only in
the case of unpacking methods. Event data is not required to be a
multiple of 32 bytes long.
2017-12-21 10:59:14 +01:00
Dmitry Shulyak
da58afcea0
accounts/abi: update array length after parsing array ( #15618 )
...
Fixes #15617
2017-12-20 15:09:23 +01:00
Yondon Fu
cf7aba36c8
accounts/abi: update array type check in method.go. Add more packing tests
2017-12-18 21:16:25 -05:00
Yondon Fu
3857cdc267
Merge branch 'master' into abi-offset-fixed-arrays
2017-12-18 17:17:41 -05:00
Armin
afc2039f22
accounts/keystore: Improved error message
...
* Fix for #15668
2017-12-18 12:28:34 +01:00
Zach
3da1bf8ca1
all: use gometalinter.v2, fix new gosimple issues ( #15650 )
2017-12-12 19:05:47 +01:00
Péter Szilágyi
0981d2e566
Merge pull request #15498 from nonsense/account_cache_modtime_test_fix
...
accounts/keystore: change modtime for test case files to be bigger than 1sec.
2017-11-24 16:21:39 +02:00
Martin Holst Swende
bedf6f40af
cmd/geth: make geth account new faster with many keys ( #15529 )
2017-11-20 17:39:53 +01:00
Martin Holst Swende
e2b3a23663
accounts/keystore: Ignore initial trigger of rescan-event
2017-11-20 12:35:30 +01:00
Péter Szilágyi
6810674de9
accounts/keystore: lock file cache during scan, minor polish
2017-11-20 12:21:52 +02:00
Péter Szilágyi
8a79836044
accounts: list, then subscribe (sub requires active reader)
2017-11-20 12:20:46 +02:00
Anton Evangelatov
b64525694b
accounts/keystore: comments above time.Sleep
2017-11-16 15:01:02 +01:00
Anton Evangelatov
448abb61eb
accounts/keystore: change modtime for test cases to be bigger than 1sec.
2017-11-16 14:17:28 +01:00
gary rong
984c25ac40
accounts, internal: fail if no suitable estimated gas found ( #15477 )
...
* accounts, internal: return an error if no suitable estimated gas found
* accounts, internal: minor polishes on the gas estimator
2017-11-14 18:26:31 +02:00
ferhat elmas
86f6568f66
build: enable unconvert linter ( #15456 )
...
* build: enable unconvert linter
- fixes #15453
- update code base for failing cases
* cmd/puppeth: replace syscall.Stdin with os.Stdin.Fd() for unconvert linter
2017-11-10 19:06:45 +02:00
ferhat elmas
9619a61024
all: gofmt -w -s ( #15419 )
2017-11-08 11:45:52 +01:00
Péter Szilágyi
6d6a5a9337
cmd, consensus, core, miner: instatx clique for --dev ( #15323 )
...
* cmd, consensus, core, miner: instatx clique for --dev
* cmd, consensus, clique: support configurable --dev block times
* cmd, core: allow --dev to use persistent storage too
2017-10-24 13:40:42 +03:00
RJ Catalano
dec8bba9d4
accounts/abi: improve type handling, add event support ( #14743 )
2017-10-17 13:07:08 +02:00
Yondon Fu
a5330fe0c5
accounts/abi: include fixed array size in offset for dynamic type
2017-10-12 10:58:53 -04:00
Martin Holst Swende
88b1db7288
accounts/keystore: scan key directory without locks held ( #15171 )
...
The accountCache contains a file cache, and remembers from
scan to scan what files were present earlier. Thus, whenever
there's a change, the scan phase only bothers processing new
and removed files.
2017-10-09 12:40:50 +02:00
Péter Szilágyi
8d126a4981
accounts/usbwallet: handle bad interface number on macOS
2017-10-03 12:45:45 +03:00
rjl493456442
94903d572b
internal, accounts, eth: utilize vm failed flag to help gas estimation
2017-10-02 15:26:40 +03:00
Dave Appleton
019dca9ba2
accounts/abi/backends: add AdjustTime ( #15077 )
2017-09-15 15:20:29 +02:00
nkbai
5ba9225fe3
accounts/abi/bind: pass non-empty directory when calling goimports ( #15070 )
2017-09-07 23:34:45 +02:00
rjl493456442
28aea46ac0
core: implement Metropolis EIP 658, receipt status byte
2017-08-22 18:35:17 +03:00
Miya Chen
bf1e263128
core, light: send chain events using event.Feed ( #14865 )
2017-08-18 12:58:36 +02:00
Péter Szilágyi
5d9ac49c7e
accounts: refactor API for generalized USB wallets
2017-08-09 13:26:07 +03:00
Péter Szilágyi
db568a61e2
accounts, console, internal: support trezor hardware wallet
2017-08-09 11:30:17 +03:00
Egon Elbre
7c74e166b0
accounts: fix megacheck warnings ( #14903 )
...
* accounts: fix megacheck warnings
* accounts: don't modify abi in favor of full cleanup
2017-08-07 14:11:15 +03:00
Leo Shklovskii
3a678a15c9
cmd/abigen: update generated go file header text ( #14845 )
...
As per https://golang.org/s/generatedcode . This will allow other tools
such as golint to properly ignore the files.
2017-07-24 14:09:03 +02:00
Péter Szilágyi
0ff35e170d
core: remove redundant storage of transactions and receipts ( #14801 )
...
* core: remove redundant storage of transactions and receipts
* core, eth, internal: new transaction schema usage polishes
* eth: implement upgrade mechanism for db deduplication
* core, eth: drop old sequential key db upgrader
* eth: close last iterator on successful db upgrage
* core: prefix the lookup entries to make their purpose clearer
2017-07-14 19:39:53 +03:00