Commit graph

249 commits

Author SHA1 Message Date
Daniel Liu
e26b70e5cc accounts/abi/bind: fix sim backend test for 1559 (#23038) 2025-01-24 16:18:30 +08:00
Daniel Liu
c2e71efd65 accounts/abi/bind/backends: add simulated reorgs (#22624) 2025-01-24 16:18:30 +08:00
Daniel Liu
146ea8ba78 accounts: EIP-2718: Typed Transaction Envelope + EIP-2930 (#21502) 2025-01-24 16:18:30 +08:00
Daniel Liu
01d3be7eb8 accounts/abi/bind: fixed unpacking error (#22230)
There was a dormant error with structured inputs that failed unpacking.
This commit fixes the error by switching casting to the better abi.ConvertType function.
It also adds a test for calling a view function that returns a struct
2025-01-24 16:18:30 +08:00
Daniel Liu
cebdb44051 accounts/abi/bind: fix erroneous test (#22053)
closes #22049
2025-01-24 16:18:30 +08:00
Daniel Liu
54e0d6c093 abi/bind: fix error-handling in generated wrappers for functions returning structs (#22005)
Fixes the template used when generating code, which in some scenarios would lead to panic instead of returning an error.
2025-01-24 16:18:30 +08:00
Daniel Liu
fb85aca8d8 accounts/abi/bind: allow specifying signer on transactOpts (#21356) 2025-01-24 16:18:30 +08:00
Daniel Liu
7f2ae32933 accounts/abi: template: set events Raw field in Parse methods (#21807) 2025-01-24 16:18:30 +08:00
Daniel Liu
c7efbcd9fd accounts/abi/bind: restore error functionality (#21743) 2025-01-24 16:18:30 +08:00
Daniel Liu
b0063d39b9 accounts/abi: ABI explicit difference between Unpack and UnpackIntoInterface (#21091)
* accounts/abi: refactored abi.Unpack

* accounts/abi/bind: fixed error

* accounts/abi/bind: modified template

* accounts/abi/bind: added ToStruct for conversion

* accounts/abi: reenabled tests

* accounts/abi: fixed tests

* accounts/abi: fixed tests for packing/unpacking

* accounts/abi: fixed tests

* accounts/abi: added more logic to ToStruct

* accounts/abi/bind: fixed template

* accounts/abi/bind: fixed ToStruct conversion

* accounts/abi/: removed unused code

* accounts/abi: updated template

* accounts/abi: refactored unused code

* contracts/checkpointoracle: updated contracts to sol ^0.6.0

* accounts/abi: refactored reflection logic

* accounts/abi: less code duplication in Unpack*

* accounts/abi: fixed rebasing bug

* fix a few typos in comments

* rebase on master

Co-authored-by: Guillaume Ballet <gballet@gmail.com>
2025-01-24 16:18:30 +08:00
Daniel Liu
22df50c77a accounts/abi: improve documentation and names (#21540)
* accounts: abi/bid/backends; cleaned doc errors, camelCase refactors and anonymous variable assignments

* acounts/abi/bind: doc errors, anonymous parameter assignments

* accounts/abi: doc edits, camelCase refactors

* accounts/abi/bind: review fix

* reverted name changes

* name revert

Co-authored-by: Osoro Bironga <osoro@doctaroo.com>
2025-01-24 16:18:29 +08:00
Daniel Liu
c9643e9c90 accounts/abi/bind/backends: clean doc errors (#21514) 2025-01-24 16:18:29 +08:00
Daniel Liu
089242bb39 accounts/abi/bind/backends: Disallow AdjustTime for non-empty blocks (#21334) 2025-01-24 16:18:29 +08:00
Daniel Liu
593fe53519 internal/ethapi: return revert reason for eth_call (#21083) 2025-01-24 16:18:29 +08:00
Daniel Liu
ef80645f90 accounts/abi/bind: fix test 2025-01-24 16:18:29 +08:00
Daniel Liu
afc814b00d accounts: fix typos in comments (#21118) 2025-01-24 16:18:29 +08:00
Daniel Liu
e28727e2c9 accounts: add blockByNumberNoLock() to avoid double-lock (#20983)
* abi/bind/backends: testcase for double-lock

* accounts: add blockByNumberNoLock to avoid double-lock

* backend/simulated: use stateroot, not blockhash for retrieveing state

Co-authored-by: Martin Holst Swende <martin@swende.se>
2025-01-24 16:18:29 +08:00
Daniel Liu
7e3079cedc accounts/abi: move topics to abi package (#21057)
* accounts/abi/bind: added test cases for waitDeployed

* accounts/abi/bind: added test case for boundContract

* accounts/abi/bind: removed unnecessary resolve methods

* accounts/abi: moved topics from /bind to /abi

* accounts/abi/bind: cleaned up format... functions

* accounts/abi: improved log message

* accounts/abi: added type tests

* accounts/abi/bind: remove superfluous template methods
2025-01-24 16:18:29 +08:00
Daniel Liu
bca20a692a accounts/abi: added abi test cases, minor bug fixes (#20903)
* accounts/abi: added documentation

* accounts/abi: reduced usage of arguments.LengthNonIndexed

* accounts/abi: simplified reflection logic

* accounts/abi: moved testjson data into global declaration

* accounts/abi: removed duplicate test cases

* accounts/abi: reworked abi tests

* accounts/abi: added more tests for abi packing

* accounts/abi/bind: refactored base tests

* accounts/abi: run pack tests as subtests

* accounts/abi: removed duplicate tests

* accounts/abi: removed unnused arguments.LengthNonIndexed

Due to refactors to the code, we do not need the arguments.LengthNonIndexed function anymore.
You can still get the length by calling len(arguments.NonIndexed())

* accounts/abi: added type test

* accounts/abi: modified unpack test to pack test

* accounts/abi: length check on arrayTy

* accounts/abi: test invalid abi

* accounts/abi: fixed rebase error

* accounts/abi: fixed rebase errors

* accounts/abi: removed unused definition

* accounts/abi: merged packing/unpacking tests

* accounts/abi: fixed [][][32]bytes encoding

* accounts/abi: added tuple test cases

* accounts/abi: renamed getMockLog -> newMockLog

* accounts/abi: removed duplicate test

* accounts/abi: bools -> booleans
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
164d929307 accounts/abi/bind/backends: add support for historical state (#20644) 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
f2fb9f8661 accounts/abi/bind: avoid reclaring structs (#20381) 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
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
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
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
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
e4d78ed594 accounts/abi/bind: static byte arrays should be right-padded (#19269) 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
99092ac54f accounts/abi/bind/backends: add TransactionByHash to SimulatedBackend (#19026) 2025-01-24 16:18:29 +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
eb90b2899f backends: increase gaslimit in order to allow tests of large contracts (#17358) 2025-01-24 16:18:28 +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
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
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
f79763ca88 all: fix staticcheck warning S1039: unnecessary use of fmt.Sprintf 2024-10-24 12:49:37 +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
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
Banana-J
bbd7d00068
fix: missing validation in unpacklog (#416)
Co-authored-by: wjrjerome <wjrjerome@babylonchain.io>
2024-02-11 20:32:44 +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
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