Commit graph

691 commits

Author SHA1 Message Date
Daniel Liu
91f6259135 accounts/abi: remove function Unpack2 (#20830) 2025-01-24 16:18:29 +08:00
Daniel Liu
56f9c17817 accounts/abi: Prevent recalculation of internal fields (#20895)
* accounts/abi: prevent recalculation of ID, Sig and String

* accounts/abi: fixed unpacking of no values

* accounts/abi: multiple fixes to arguments

* accounts/abi: refactored methodName and eventName

This commit moves the complicated logic of how we assign method names
and event names if they already exist into their own functions for
better readability.

* accounts/abi: prevent recalculation of internal

In this commit, I changed the way we calculate the string
representations, sig representations and the id's of methods. Before
that these fields would be recalculated everytime someone called .Sig()
.String() or .ID() on a method or an event.

Additionally this commit fixes issue #20856 as we assign names to inputs
with no name (input with name "" becomes "arg0")

* accounts/abi: added unnamed event params test

* accounts/abi: fixed rebasing errors in method sig

* accounts/abi: fixed rebasing errors in method sig

* accounts/abi: addressed comments

* accounts/abi: added FunctionType enumeration

* accounts/abi/bind: added test for unnamed arguments

* accounts/abi: improved readability in NewMethod, nitpicks

* accounts/abi: method/eventName -> overloadedMethodName
2025-01-24 16:18:29 +08:00
Daniel Liu
fd53a433aa accounts/abi: implement new fallback functions (#20764)
* accounts/abi: implement new fackball functions

In Solidity v0.6.0, the original fallback is separated
into two different sub types: fallback and receive.

This PR addes the support for parsing new format abi
and the relevant abigen functionalities.

* accounts/abi: fix unit tests

* accounts/abi: minor fixes

* accounts/abi, mobile: support jave binding

* accounts/abi: address marius's comment

* accounts/abi: Work around the uin64 conversion issue

Co-authored-by: Guillaume Ballet <gballet@gmail.com>
2025-01-24 16:18:29 +08:00
Daniel Liu
296c052c02 accounts/abi/bind: fixed erroneous filtering of negative ints (#20865)
* accounts/abi/bind: fixed erroneous packing of negative ints

* accounts/abi/bind: added test cases for negative ints in topics

* accounts/abi/bind: fixed genIntType for go 1.12

* accounts/abi: minor  nitpick
2025-01-24 16:18:29 +08:00
Daniel Liu
f8b85afec5 accounts/abi/bind: Refactored topics (#20851)
* accounts/abi/bind: refactored topics

* accounts/abi/bind: use store function to remove code duplication

* accounts/abi/bind: removed unused type defs

* accounts/abi/bind: error on tuples in topics

* Cosmetic changes to restart travis build

Co-authored-by: Guillaume Ballet <gballet@gmail.com>
2025-01-24 16:18:29 +08:00
Daniel Liu
601d1c80ea accounts/scwallet: fix unnecessary use of fmt.Sprint 2025-01-24 16:18:29 +08:00
Daniel Liu
6259ce565c accounts/abi faster unpacking of int256 (#20850) 2025-01-24 16:18:29 +08:00
Daniel Liu
219b5ef883 accounts: add walletsNoLock to avoid double read lock (#20655) 2025-01-24 16:18:29 +08:00
Daniel Liu
164d929307 accounts/abi/bind/backends: add support for historical state (#20644) 2025-01-24 16:18:29 +08:00
Daniel Liu
8d4c290cce accounts/abi: fix method constant flag for solidity 6.0 (#20482) 2025-01-24 16:18:29 +08:00
Daniel Liu
0350880af6 accounts/abi/backends/simulated: add more API methods (#5) (#20208)
* Add more functionality to the sim (#5)

* backends: implement more of ethclient in sim

* backends: add BlockByNumber to simulated backend

* backends: make simulated progress function agree with syncprogress interface for client

* backends: add more tests

* backends: add more comments

* backends: fix sim for index in tx and add tests

* backends: add lock back to estimategas

* backends: goimports

* backends: go ci lint

* Add more functionality to the sim (#5)

* backends: implement more of ethclient in sim

* backends: add BlockByNumber to simulated backend

* backends: make simulated progress function agree with syncprogress interface for client

* backends: add more tests

* backends: add more comments

* backends: fix sim for index in tx and add tests

* backends: add lock back to estimategas

* backends: goimports

* backends: go ci lint

* assert errs
2025-01-24 16:18:29 +08:00
Daniel Liu
f7b66c10b3 [#20266] Fix bugs decoding integers and fixed bytes in indexed event fields (#20269)
* fix parseTopics() and add tests

* remove printf

* add ParseTopicsIntoMap() tests

* fix FixedBytesTy

* fix int and fixed bytes

* golint topics_test.go
2025-01-24 16:18:29 +08:00
Daniel Liu
e9f9c19c52 accounts/abi/bind: fix destructive packing of *big.Int (#20412) 2025-01-24 16:18:29 +08:00
Daniel Liu
193ee6d606 accounts/usbwallet: fix staticcheck warnings (#20372) 2025-01-24 16:18:29 +08:00
Daniel Liu
db708e7697 accounts/scwallet: fix staticcheck warnings (#20370) 2025-01-24 16:18:29 +08:00
Daniel Liu
833c851361 accounts/keystore: fix staticcheck warnings (#20373)
* accounts/keystore: fix staticcheck warnings

* review feedback
2025-01-24 16:18:29 +08:00
Daniel Liu
f2fb9f8661 accounts/abi/bind: avoid reclaring structs (#20381) 2025-01-24 16:18:29 +08:00
Daniel Liu
eb628a4f02 accounts/abi: fix staticcheck warnings (#20358)
* accounts/abi: fix staticcheck warnings

* accounts/abi: restore unused field for test
2025-01-24 16:18:29 +08:00
Daniel Liu
575a5cb2e2 accounts/abi/bind/backends: remove unused assignment (#20359) 2025-01-24 16:18:29 +08:00
Daniel Liu
3a320d2c6f accounts/abi/bind, cmd/abigen: implement alias for abigen (#20244) 2025-01-24 16:18:29 +08:00
Daniel Liu
32615fda97 accounts/abi: add internalType information and fix issues (#20179)
* accounts/abi: fix various issues

The fixed issues include:

(1) If there is no return in a call function, unpack should
return nil error

(2) For some functions which have struct array as parameter,
it will also be detected and generate the struct definition

(3) For event, if it has non-indexed parameter, the parameter
name will also be assigned if empty. Also the internal struct
will be detected and generate struct defition if not exist.

(4) Fix annotation generation in event function

* accounts/abi: add new abi field internalType

* accounts: address comments and add tests

* accounts/abi: replace strings.ReplaceAll with strings.Replace
2025-01-24 16:18:29 +08:00
Daniel Liu
e90df44b43 accounts: replace passPHRASE with passWORD in any user interactions (#19932) 2025-01-24 16:18:29 +08:00
Daniel Liu
6a7b539c0e accounts, internal/ethapi: use common Accounts method (#18428)
* accounts/mananger, internal/ethapi/api: Add new function AllAccounts on account manager to remove the duplication code on getting all wallets accounts

* Rename to Accounts

* Rename to AllAccounts
2025-01-24 16:18:29 +08:00
Daniel Liu
5009a3df04 accounts/abi: fix incorrect signature (#19881)
The abi package already supports function overload by adding a suffix to the overloaded function name, but it uses the function name with suffix to calculate signature(both for the event and method).

This PR fixes it by adding a new field named RawName, which can be used to calcuate all signatures but use Name to distinguish different overloaded function.
2025-01-24 16:18:29 +08:00
Daniel Liu
9340a81ce1 accounts/abi/bind: support closing a simulated backend (#19902) 2025-01-24 16:18:29 +08:00
Daniel Liu
6d17a42edb all: replace t.Log(); t.FailNow() with t.Fatal() (#19849) 2025-01-24 16:18:29 +08:00
Daniel Liu
f571689bab signer/core: fix reference issue in key derivation (#19827)
* signer/core: fix reference issue in key derivation

* Review feedback
2025-01-24 16:18:29 +08:00
Daniel Liu
587f6b3438 accounts/abi/bind: fix typo in comments (#19791) 2025-01-24 16:18:29 +08:00
Daniel Liu
0050f84142 accounts/abi: enable struct golang binding generation (#18491)
* accounts/abi, cmd/abigen: support tuple

accounts/abi/bind, cmd/abigen: add objc back

accounts/abi/bind: use byte[24] as function indicator

accounts/abi/bind: resolve struct slice or array

accounts/abi/bind: remove sort logic

accounts: fix issues in abi

* accounts/abi: address comment
2025-01-24 16:18:29 +08:00
Daniel Liu
71e4c0609a accounts/abi: Fix method overwritten by same name methods (#17099)
* accounts/abi: Fix method overwritten by same name methods.

* accounts/abi: Fix method overwritten by same name methods.

* accounts/abi: avoid possible name conflict

Co-authored-by: Guillaume Ballet <gballet@gmail.com>
2025-01-24 16:18:29 +08:00
Daniel Liu
f542e463d3 accounts: implement simple checkpoint syncing (#19543) 2025-01-24 16:18:29 +08:00
Daniel Liu
894bed5b7e accounts/abi: adding the method EventById and its test (#19359) 2025-01-24 16:18:29 +08:00
Daniel Liu
07ebb5ef12 accounts/keystore: fix #19707, avoid keyword as variable name (#19731) 2025-01-24 16:18:29 +08:00
Daniel Liu
6aeab6a207 accounts/abi/bind: rename NewKeystoreTransactor (#19703)
renamed NewKeyStoreFromTransactor to NewKeystoreTransactor
fixed godoc
2025-01-24 16:18:29 +08:00
Daniel Liu
313018496f accounts: added transactorFromKeyStore (#19685) 2025-01-24 16:18:29 +08:00
Daniel Liu
e6df5f8798 account/usbwallet: abort usb enumeration after failures (#19671) 2025-01-24 16:18:29 +08:00
Daniel Liu
2e21b96101 accounts/usbwallet: add webusb trezor support (#19588) 2025-01-24 16:18:29 +08:00
Daniel Liu
fb35c54280 accounts/scwallet: change sc url scheme to keycard (#19632) 2025-01-24 16:18:29 +08:00
Daniel Liu
f80a00b6fa accounts/scwallet: display PUK retry count, validate PIN/PUK length (#19524) 2025-01-24 16:18:29 +08:00
Daniel Liu
00fbe17f2e accounts/keystore: enable fallback for darwin,!cgo (#19614)
Without this, accounts/keystore fails to build for Darwin with
CGO_ENABLED=0.
2025-01-24 16:18:29 +08:00
Daniel Liu
b2a9e1cb67 accounts/usbwallet: enable the Nano X and upcoming Ledger IDs (#19623) 2025-01-24 16:18:29 +08:00
Daniel Liu
7c8707f03e accounts, p2p: make CGO_ENABLED=0 build again (#19593) 2025-01-24 16:18:29 +08:00
Daniel Liu
316d2f8052 accounts/abi: fix TestUnpackMethodIntoMap (#19484) 2025-01-24 16:18:29 +08:00
Daniel Liu
b75f946081 accounts: better support for EIP-191 intended validator (#19523) 2025-01-24 16:18:29 +08:00
Daniel Liu
44d58cb8dc accounts/abi: fix documentation (#19568) 2025-01-24 16:18:29 +08:00
Daniel Liu
b5ace99624 accounts/usbwallet: fix a comment typo in trezor driver (#19535) 2025-01-24 16:18:29 +08:00
Daniel Liu
fa35614784 accounts, cmd: add note about backing up the keystore (#19432) 2025-01-24 16:18:29 +08:00
Daniel Liu
44b6b14685 accounts/scwallet: fix card pairing instruction message (#19436) 2025-01-24 16:18:29 +08:00
Daniel Liu
194a77505f accounts: switch Ledger derivation path to canonical one (#19438) 2025-01-24 16:18:29 +08:00
Daniel Liu
508ae8f155 accounts/scwallet: Update README for v2.2.1 support (#19425)
Update the app download link to the latest version, as requested in #19418
2025-01-24 16:18:29 +08:00
Daniel Liu
2999bea17f accounts: smartcard wallet without the dependency on libpcsclite (#19273) 2025-01-24 16:18:29 +08:00
Daniel Liu
1f9778bb9f accounts: disable unlock account on open HTTP (#17037) 2025-01-24 16:18:29 +08:00
Daniel Liu
769a34bfb7 accounts/abi: generic unpacking of event logs into map[string]interface{} (#18440)
Add methods that allow for the unpacking of event logs into maps (allows for agnostic unpacking of logs)
2025-01-24 16:18:29 +08:00
Daniel Liu
36577396ec accounts/abi: add the original name as json-structtag for tuples (#19340) 2025-01-24 16:18:29 +08:00
Daniel Liu
e4d78ed594 accounts/abi/bind: static byte arrays should be right-padded (#19269) 2025-01-24 16:18:29 +08:00
Daniel Liu
e7d8247fda usbwallet: check error returned by driver close (#18057)
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.
2025-01-24 16:18:29 +08:00
Daniel Liu
4955476db4 accounts: prefer nil slices over zero-length slices (#19079) 2025-01-24 16:18:29 +08:00
Daniel Liu
5d0dea852e accounts/abi: mutex lock in TransactionByHash and code cleanup (#19133) 2025-01-24 16:18:29 +08:00
Daniel Liu
dcc3fc3ec3 accounts/abi: fix error message format (#19122) 2025-01-24 16:18:29 +08:00
Daniel Liu
4b32073331 accounts: fix typos (#19119) 2025-01-24 16:18:29 +08:00
Daniel Liu
99092ac54f accounts/abi/bind/backends: add TransactionByHash to SimulatedBackend (#19026) 2025-01-24 16:18:29 +08:00
Daniel Liu
43e6c8ecdc accounts: implemented EIP191/712 (#17789) 2025-01-24 16:18:29 +08:00
Daniel Liu
07935ce124 accounts: support for external signer API (#18079) 2025-01-24 16:18:29 +08:00
Daniel Liu
fe14069bd7 accounts: support for external signer API (#18079) 2025-01-24 16:18:29 +08:00
Daniel Liu
f0ed12486a accounts/usbwallet/trezor: expose protobuf package (#17980)
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.
2025-01-24 16:18:29 +08:00
Daniel Liu
e3c75c01c7 accounts/usbwallet: support trezor passphrases (#16503)
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.
2025-01-24 16:18:29 +08:00
Daniel Liu
d44902a64a accounts/abi: allow interface as the destination (#18490) 2025-01-24 16:18:29 +08:00
Daniel Liu
e70bb4b119 accounts/abi: Add tests for reflection ahead of refactor (#18434) 2025-01-24 16:18:29 +08:00
Daniel Liu
7d5953f972 accounts/abi: Extra slice tests (#18424)
Co-authored-by: weimumu <934657014@qq.com>
2025-01-24 16:18:29 +08:00
Daniel Liu
2d0047b4b8 accounts/abi: tuple support (#18406) 2025-01-24 16:18:29 +08:00
Daniel Liu
a81fe22903 accounts/keystore: small code simplification (#18394) 2025-01-24 16:18:28 +08:00
Daniel Liu
e4adf8e4eb accounts/keystore: fix comment typo (#18395) 2025-01-24 16:18:28 +08:00
Daniel Liu
930ec9ba86 accounts/abi: allow abi tags when unpacking structs (#16648) 2025-01-24 16:18:28 +08:00
Daniel Liu
48de514dd9 accounts/abi/bind: add optional block number for calls (#17942) 2025-01-24 16:18:28 +08:00
Daniel Liu
9ec0b75eaf accounts/abi: fix string array unpack bug (#18364) 2025-01-24 16:18:28 +08:00
Daniel Liu
bb54f11c13 accounts/abi: brings out the msg defined at require statement in SC function (#17328) 2025-01-24 16:18:28 +08:00
Daniel Liu
16e444c4f8 accounts/abi: add support for unpacking returned bytesN arrays (#15242) 2025-01-24 16:18:28 +08:00
Daniel Liu
95d06922b7 accounts/abi: fix slice unpack bug (#18321) 2025-01-24 16:18:28 +08:00
Daniel Liu
0bf459b979 accounts/abi: argument type and name were reversed (#17947)
argument type and name were reversed
2025-01-24 16:18:28 +08:00
Daniel Liu
5e6fa602c9 usbwallet: check returned error when decoding hexstr (#18056)
* usbwallet: check returned error when decoding hexstr

* Update accounts/usbwallet/ledger.go

Co-Authored-By: CoreyLin <514971757@qq.com>

* usbwallet: check hex decode error
2025-01-24 16:18:28 +08:00
Daniel Liu
11519292cd accounts/abi: add packing for dynamic array and slice types (#18051) 2025-01-24 16:18:28 +08:00
Daniel Liu
f645cbc61d accounts/keystore: delete the redundant keystore in filename (#17930)
* accounts/keystore: reduce file name length

* accounts/keystore: reduce code line width
2025-01-24 16:18:28 +08:00
Daniel Liu
25a6b59aca accounts: wallet derivation path comment is mistaken (#17934) 2025-01-24 16:18:28 +08:00
Daniel Liu
b469d70433 accounts/usbwallet: simplify code using -= operator (#17904) 2025-01-24 16:18:28 +08:00
Daniel Liu
c0acd9c3ad accounts/keystore: encrypt the master seed on disk (#17704) 2025-01-24 16:18:28 +08:00
Daniel Liu
e2ea9e87b5 accounts/abi: fix panic in MethodById lookup (#17798) 2025-01-24 16:18:28 +08:00
Daniel Liu
2154607a5f accounts/keystore: double-check keystore file after creation (#17348) 2025-01-24 16:18:28 +08:00
Daniel Liu
de16c7571f accounts/abi: fix unpacking of negative int256 (#17583) 2025-01-24 16:18:28 +08:00
Daniel Liu
906551bfbd accounts: fixed typo (#17421) 2025-01-24 16:18:28 +08:00
Daniel Liu
eb90b2899f backends: increase gaslimit in order to allow tests of large contracts (#17358) 2025-01-24 16:18:28 +08:00
Daniel Liu
165510daef accounts/keystore: rename skipKeyFile to nonKeyFile to better reveal the function purpose (#17290) 2025-01-24 16:18:28 +08:00
Daniel Liu
ed67fd4200 crypto/secp256k1: remove external LGPL dependencies (#17239) 2025-01-24 16:18:28 +08:00
Daniel Liu
c5c876a7e7 accounts/abi: refactor Method#Sig() to use index in range iterator directly (#17198) 2025-01-24 16:18:28 +08:00
Daniel Liu
b9f9de7b74 accounts: add unit tests for URL (#17182) 2025-01-24 16:18:28 +08:00
Daniel Liu
8577f6913d accounts/abi: remove deadcode isSigned (#16990) 2025-01-24 16:18:28 +08:00
Daniel Liu
e5b484b63b accounts/usbwallet: correct comment typo (#16998) 2025-01-24 16:18:28 +08:00
Daniel Liu
8d2fb8c280 accounts/usbwallet: correct comment typo (#17008) 2025-01-24 16:18:28 +08:00
Daniel Liu
27725104b4 accounts/keystore: assign schema as const instead of var (#16985) 2025-01-24 16:18:28 +08:00
Daniel Liu
543900aed2 accounts: changed if-else blocks to conform with golint (#16654) 2025-01-24 16:18:28 +08:00
Daniel Liu
fbe415c975 accounts/usbwallet: remove unused variables in ledger.go (#16446) 2025-01-24 16:18:28 +08:00
Daniel Liu
18a5493575 accounts: add function UnmarshalJSON to parse URL (#16154) 2025-01-24 16:18:28 +08:00
Daniel Liu
159ea38c87 accounts/abi: improve abi test coverage (#16044) 2025-01-24 16:18:28 +08:00
Daniel Liu
ff923bdca6
Merge pull request #814 from JukLee0ira/fix-perfix
accounts/keystore: fix xdc-prefix address bug
2025-01-23 15:35:12 +08:00
JukLee0ira
ae438bea69 accounts/keystore: fix xdc-prefix address bug (#759) 2025-01-23 15:23:45 +08:00
JukLee0ira
653b59710e core/rawdb: separate raw database access to own package (#16666 #19345) 2025-01-22 15:19:39 +08:00
Daniel Liu
6e33633d28 common: drop BigMin and BigMax, they pollute our dep graph (#30645) 2024-12-28 09:06:31 +08:00
Daniel Liu
6ec35b9644 all: get rid of custom MaxUint64 and MaxUint64 (#30636) 2024-12-28 09:06:31 +08:00
Justin Dhillon
009542a92e accounts/usbwallet, common/bitutil: fix broken links in docs (#29078)
fixes some links in documentation
2024-12-28 09:06:31 +08:00
Daniel Liu
28739d7863 common: remove usage of deprecated function (#21610) 2024-12-28 09:06:30 +08:00
Daniel Liu
30f835c6a4 accounts/abi: common/math: moved U256Bytes (#21020) 2024-12-28 09:06:30 +08:00
Daniel Liu
d6957d9283 accounts/abi/bind: remove test case UseLibrary 2024-12-28 09:06:30 +08:00
Daniel Liu
993bc6963e accounts/abi/bind: link dependent libs in deploy (#19718) 2024-12-28 09:06:30 +08:00
Daniel Liu
7455b91800 accounts/abi/bind: accept function ptr parameter (#19755) 2024-12-28 09:06:30 +08:00
Daniel Liu
91570dce8a accounts/abi: fix mobile interface (#19180) 2024-12-28 09:06:30 +08:00
Daniel Liu
75c14d2cdb accounts/abi: fix case of generated java functions (#18372) 2024-12-28 09:06:30 +08:00
Daniel Liu
e58441b317 accounts/abi: change unpacking of abi fields w/ underscores (#16513) 2024-12-28 09:06:30 +08:00
Daniel Liu
7cd3e56d18 accounts/abi/bind: stop using goimports in the binding generator (#17768 #20311) 2024-12-28 09:06:30 +08:00
Daniel Liu
efa2605f26 accounts/abi/bind/backends: fix wrong gas returned by EstimateGas 2024-12-28 09:02:48 +08:00
JukLee0ira
48d1f22fde all: simplify function TransitionDb (#20830) 2024-12-28 09:02:48 +08:00
JukLee0ira
7491a7ba74 all: improve EstimateGas API (#20830) 2024-12-21 14:35:44 +08:00
Daniel Liu
ad5e7d6db3 crypto: add SignatureLength constant and use it everywhere (#19996) 2024-12-09 17:48:59 +08:00
Daniel Liu
02a59e8d84 all: replace strings.Replace with string.ReplaceAll (#24835) 2024-12-08 11:51:14 +08:00
JukLee0ira
cba5782884 accounts, build, mobile: remove Android and iOS support (#26599) 2024-11-15 15:46:25 +08:00
Daniel Liu
aedfea681b all: make logs a bit easier on the eye to digest (#22665) 2024-11-15 10:02:41 +08:00
Daniel Liu
a294c2080d all: fix null effectiveGasPrice 2024-11-01 11:36:53 +08:00
Marius van der Wijden
d2a10ef8ec accounts/abi/bind/backends: make suggestGasPrice compatible with non-1559 chains (#23840) 2024-11-01 11:36:53 +08:00
Daniel Liu
66be9b665b accounts/abi/bin/backends: return basefee in suggestGasPrice's (#23838) 2024-11-01 11:36:53 +08:00
KibGzr
2d5f9d9e62 accounts/abi/bind: fix error handling in baseFee query (#23781)
This fixes a panic that occurs when HeaderByNumber() returns an error.
2024-11-01 11:36:53 +08:00
Daniel Liu
eec8da371c accounts/abi/bind: refactor transact method (#23719) 2024-11-01 11:36:53 +08:00
Daniel Liu
d850fc4081 core: only check sendernoeoa in non fake mode (#23424) 2024-11-01 11:36:53 +08:00
Daniel Liu
3212ec319b accounts/abi/bind: fix gas price suggestion with pre EIP-1559 clients (#23102) 2024-11-01 11:36:52 +08:00
Daniel Liu
dbdca11501 accounts/abi/bind: fix bounded contracts and sim backend for 1559 (#23038) 2024-11-01 11:36:52 +08:00
Martin Redmond
e93d78cc09 accounts/abi/bind: add NoSend transact option (#22446)
This adds a new option to avoid sending the transaction which is
created by calling a bound contract method.
2024-11-01 11:36:52 +08:00
Daniel Liu
4c096de9b0 all: rename internal 1559 gas fields (#23010) 2024-11-01 11:36:52 +08:00
Daniel Liu
e18553b855 all: implement eip-1559 (#22837) 2024-11-01 11:36:52 +08:00
Daniel Liu
2306ceafb2 fix impossible condition: nil != nil 2024-10-31 09:01:12 +08:00
Daniel Liu
4709ca3f13 all: fix staticcheck warning SA1006 2024-10-28 15:13:21 +08:00
Daniel Liu
87a6b5f4c3
Merge pull request #689 from gzliudan/fix-st1005
all: fix staticcheck warning ST1005
2024-10-25 15:28:07 +08:00
Daniel Liu
f79763ca88 all: fix staticcheck warning S1039: unnecessary use of fmt.Sprintf 2024-10-24 12:49:37 +08:00
Daniel Liu
a79411fa06 all: fix staticcheck warning ST1005: incorrectly formatted error string 2024-10-24 09:48:20 +08:00
JukLee0ira
47d27fed3b all: replace uses of ioutil with io and os (#24869) 2024-09-27 15:14:17 +08:00
Daniel Liu
5470485450 all: split vm.Context into BlockContext and TxContext (#21672) 2024-09-21 22:18:10 +08:00
JukLee0ira
bea4431f6f eth/filters: avoid block body retrieval when no matching logs (#25199) 2024-08-03 10:03:22 +08:00
JukLee0ira
ad71d706fb all: add global block logs cache (#25459) 2024-08-03 10:03:22 +08:00
JukLee0ira
0c9f2fcceb eth/filters: fix pending for getLogs (#24949) 2024-08-03 10:03:22 +08:00
JukLee0ira
83782e5368 eth/filters: remove use of event.TypeMux for pending logs (#20312) 2024-08-03 10:03:22 +08:00
Daniel Liu
e72f6dedb3 accounts/abi/bind: allow to specify signer on transactOpts (#21356) 2024-06-20 15:52:32 +08:00
JukLee0ira
2d89951e5b all: use errrors.New instead of empty fmt.Errorf 2024-06-14 19:19:21 +08:00
Daniel Liu
fd8811cc9e core, backends: rename callmsg to callMsg 2024-05-14 23:27:23 +08:00
Daniel Liu
01e1728a94 all: add support for EIP-2718, EIP-2930 transactions (#21502) 2024-05-14 23:15:35 +08:00
Daniel Liu
48f9bbed50 core: types: less allocations when hashing and tx handling (#21265) 2024-05-13 22:07:03 +08:00
Daniel Liu
1c9f1d8279 all: change TxPreEvent to TxsPreEvent (#16720) 2024-03-28 11:16:21 +08:00
Daniel Liu
a4b557b062 accounts, eth, les: blockhash based filtering on all code paths (#16734) 2024-03-18 10:08:25 +08:00
Domino Valdano
69b4383528 eth/filters, ethereum: EIP-234 add blockHash param for eth_getLogs 2024-03-14 11:52:42 +08:00
Daniel Liu
f11bf739a2 fix panic caused by skipKeyFile (#440) 2024-02-23 14:11:42 +08:00
Banana-J
bbd7d00068
fix: missing validation in unpacklog (#416)
Co-authored-by: wjrjerome <wjrjerome@babylonchain.io>
2024-02-11 20:32:44 +11:00
Banana-J
3e0deddfaa
fix: missing length validaiton after doing regex (#415)
Co-authored-by: wjrjerome <wjrjerome@babylonchain.io>
2024-02-05 21:43:04 +11:00
Banana-J
2504961a33
fix: replace all time.after with the time.newtimer (#400) 2024-01-27 21:01:24 +11:00
Wanwiset Peerapatanapokin
aaa246f60e
PDF-01 (#397)
* replace deprecated ioutil lib calls

* fix for FileInfo type required

* fix for ioutil.Discard

* fix .Discard

* fix for go-bindata generated files
2024-01-19 15:05:03 +04:00
Daniel Liu
05ad748307 change MinGasPrice in function Call 2023-10-16 11:24:47 +08:00
Liam Lai
5623ce8de0 merge from master 2023-07-30 16:50:45 +10:00
Daniel Liu
42379f530f
internal/ethapi: EstimateGas and Call handle revert error(#173) (#200)
hot fix for EstimateGas and Call handle revert error https://github.com/XinFinOrg/XDPoSChain/issues/173
2022-10-27 17:25:25 +08:00
Jianrong
4addb69561 generate and verify timeout message 2021-12-30 11:00:20 +11:00
Jianrong
0eb2504db3 Add 1 test for adaptor to switch from v1 to v2 2021-10-17 11:20:57 +11:00
Jianrong
ce106abffe fix tests related to consensus 2021-10-10 22:05:32 +11:00
olumuyiwadad
c0677f03cb update test C-[a-m] tests. 2021-09-27 12:47:59 +05:30
olumuyiwadad
cf18ceba33 Merge branch 'forking-incident-fix' of https://github.com/hash-laboratories-au/XDPoSChain into hash-laboratories-au-forking-incident-fix 2021-09-23 17:01:19 +05:30
olumuyiwadad
b5abbfed79 new EVM Upgrade
- Solidity Upgraded up to v0.8.0
-  Fixed and Added eth_chainId
- Fix error in TransactionRecipet
- Reward halving issue fixed
2021-09-21 16:53:46 +05:30
olumuyiwadad
571c41f891 FIx Bad block error. 2021-09-17 17:59:06 +05:30
Jianrong
9efb89dffb fix simulator functions to choose between XDC faker and eth faker 2021-08-30 14:56:14 +10:00
Jianrong
fa2b341c9a resolving broken eth tests 2021-08-29 17:14:10 +10:00
Jianrong
7b7e34ae00 Fix XDC forking incident with tests 2021-08-29 14:20:01 +10:00
Jianrong
d17f1fdd75 replace comment out tests with t.Skip() 2021-08-29 11:47:19 +10:00
Jianrong
2d92ccb59b fix all XDC&ETH tests and enable it in CI 2021-08-25 23:51:42 +10:00
dev-vadim
dbe8c9d984 upgrade XDC.Network with v1.8.27. 2020-12-23 16:32:06 +05:30
diglspacedavid
474cc37036 upgrade codebase with ethereum:v1.8.13 2020-11-23 13:40:30 +05:30
AnilChinchawale
239f9702ce Change address in keystore 2019-03-17 16:13:27 +05:30
AnilChinchawale
7de9cee4fb Trezor data updated 2019-03-14 15:59:48 +05:30
Guillaume Ballet
115b1c38ac
accounts/abi: Add tests for reflection ahead of refactor (#18434) 2019-01-15 16:45:52 +01:00
Guillaume Ballet
38cce9ac33 accounts/abi: Extra slice tests (#18424)
Co-authored-by: weimumu <934657014@qq.com>
2019-01-10 16:27:54 +01:00
gary rong
7ca40306af accounts/abi: tuple support (#18406) 2019-01-10 09:59:37 +01:00
Jeremy Schlatter
aca588a8e4 accounts/keystore: small code simplification (#18394) 2019-01-07 10:35:44 +02:00
Jeremy Schlatter
072c95fb74 accounts/keystore: fix comment typo (#18395) 2019-01-05 21:27:57 +01:00
AnilChinchawale
a4e35b0a22 Fixed issue | File Modified 2019-01-05 08:32:22 +05:30
Dragan Milic
27913dd226 accounts/abi/bind: add optional block number for calls (#17942) 2019-01-03 12:54:24 +01:00
Guillaume Ballet
9bfd0b60cc
accounts/abi: fix case of generated java functions (#18372) 2019-01-02 10:22:10 +01:00
AnilChinchawale
51e6d8d9f8 Fixed issue simulated & messages | File Modified 2018-12-31 23:30:03 +05:30
Matt K
a4af734328 accounts/abi: change unpacking of abi fields w/ underscores (#16513)
* accounts/abi: fix name styling when unpacking abi fields w/ underscores

ABI fields with underscores that are being unpacked
into structs expect structs with following form:

int_one -> Int_one

whereas in abigen the generated structs are camelcased

int_one -> IntOne

so updated the unpack method to expect camelcased structs as well.
2018-12-29 11:32:58 +01:00
weimumu
735343430d fix string array unpack bug in accounts/abi (#18364) 2018-12-28 08:43:55 +01:00
Jeff Prestes
335760bf06 accounts/abi: Brings out the msg defined at require statement in SC function (#17328) 2018-12-22 11:39:08 +01:00
bas-vk
7df52e324c accounts/abi: add support for unpacking returned bytesN arrays (#15242) 2018-12-22 11:26:49 +01:00
weimumu
3ad73443c7 fix slice unpack bug in accounts/abi (#18321)
* fix slice unpack bug in accounts/abi
2018-12-17 09:50:52 +01:00
tzapu
e79821cabe accounts/abi: argument type and name were reversed (#17947)
argument type and name were reversed
2018-12-13 15:12:19 +01:00
Corey Lin
b3be9b7cd8 usbwallet: check returned error when decoding hexstr (#18056)
* usbwallet: check returned error when decoding hexstr

* Update accounts/usbwallet/ledger.go

Co-Authored-By: CoreyLin <514971757@qq.com>

* usbwallet: check hex decode error
2018-12-13 10:21:52 +01:00
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 dabca31d79.

* 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
parmmarrushabh
2677b33b78 new blocksigner contract 2018-10-23 11:29:46 +05:30
MestryOmkar
dceb579b68 bugfix: unexpected pre node 2018-10-21 17:18:36 +05:30
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