Commit graph

390 commits

Author SHA1 Message Date
Daniel Liu
ccda15ef5d accounts, cmd: fix typos (#28526) 2025-01-24 16:54:12 +08:00
Daniel Liu
919cbf6032 accounts/abi: improve readability of method-to-string conversion (#28530)
refactor: improve readability of NewMethod print
2025-01-24 16:54:12 +08:00
Daniel Liu
390daf98e4 accounts: fix errors checked by go-staticcheck ST1005 (#28532) 2025-01-24 16:54:12 +08:00
Daniel Liu
5081ad72f5 accounts: move fuzzers into native packages (#28467) 2025-01-24 16:54:12 +08:00
Daniel Liu
df87605355 api/bind: add CallOpts.BlockHash to allow calling contracts at a specific block hash (#28084)
* api/bind: Add CallOpts.BlockHash to allow calling contracts at a specific block hash.

* ethclient: Add BalanceAtHash, NonceAtHash and StorageAtHash functions
2025-01-24 16:54:12 +08:00
Daniel Liu
b6c33b9a14 internal/ethapi, accounts/abi/bind: use errors.Is for error comparison (#28348)
Co-authored-by: lightclient <lightclient@protonmail.com>
2025-01-24 16:54:12 +08:00
Daniel Liu
57598e1825 accounts/abi/bind/backend: use requested header for gas prices and gas limits (#28280) 2025-01-24 16:54:12 +08:00
Daniel Liu
0efc73d664 accounts: handle genesis state missing (#28171) 2025-01-24 16:54:12 +08:00
Daniel Liu
4c7507af85 account/abi: handle solidity panic revert (#27868)
See  https://docs.soliditylang.org/en/v0.8.21/control-structures.html#panic-via-assert-and-error-via-require
2025-01-24 16:54:12 +08:00
Daniel Liu
d2cfa789da account/abi: convert if-else-if chain to tagged switch (#27869)
account/abi: conver if-else-if chain to tagged switch
2025-01-24 16:54:12 +08:00
Daniel Liu
e1c7317374 all: remove trailing whitespace (#27741) 2025-01-24 16:54:12 +08:00
Daniel Liu
0f737b4725 core: replace suicide with selfdestruct to improve code consistency (#27716) 2025-01-24 16:54:12 +08:00
Daniel Liu
80967d52f6 accounts: fix docstrings (#27703)
fix function name in comment

Signed-off-by: cui fliter <imcusg@gmail.com>
2025-01-24 16:54:12 +08:00
Daniel Liu
d4bf06d689 accounts: replace noarg fmt.Errorf with errors.New (#27331)
* accounts: replace noarg fmt.Errorf with errors.New

Signed-off-by: jsvisa <delweng@gmail.com>

* accounts: go autoimport

Signed-off-by: jsvisa <delweng@gmail.com>

---------

Signed-off-by: jsvisa <delweng@gmail.com>
2025-01-24 16:54:12 +08:00
Daniel Liu
013c90a4e8 accounts/abi: add ErrorById (#27277)
Adds `ErrorById` lookup
2025-01-24 16:54:12 +08:00
Daniel Liu
d9ec687a2c accounts/abi: resolve name conflict for methods starting with a number (#26999)
This adds logic to prepend 'M' or 'E' to Solidity identifiers when they would
otherwise violate Go identifier naming rules.

Closes #26972

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
2025-01-24 16:54:12 +08:00
Daniel Liu
5de961552e accounts/abi/bind: handle UnpackLog with zero topics (#26920)
Adds error handling for the case that UnpackLog or UnpackLogIntoMap is called with a log that has zero topics.

---------

Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
2025-01-24 16:54:12 +08:00
Daniel Liu
1a07b9bb49 accounts/abi: add error-checks (#26914) 2025-01-24 16:54:12 +08:00
Daniel Liu
b18e0e45b7 accounts/abi: fix integer encoding/decoding (#26568)
This PR fixes this abi encoder/decoder to be more stringent.
2025-01-24 16:54:11 +08:00
Daniel Liu
cab293859a eth/filters: update Backend interface (#26126) 2025-01-24 16:54:11 +08:00
Daniel Liu
e88251d63a accounts/abi: properly quote untrusted data in error message (#26110)
* abi: Format data as hex-string instead of string(data)

* Update accounts/abi/abi.go

Co-authored-by: Martin Holst Swende <martin@swende.se>
2025-01-24 16:54:11 +08:00
Daniel Liu
cd9c09f384 accounts/abi.bind: don't fetch head in transact unless required (#25988)
If GasFeeCap and GasTipCap are specified, we don't need to retrieve the head block for constructing a transaction
2025-01-24 16:54:11 +08:00
Daniel Liu
19085392a2 accounts/abi: return error on fixed bytes with size larger than 32 bytes (#26075)
* fixed bytes with size larger than 32 bytes is not allowed

* add testcase
2025-01-24 16:54:11 +08:00
Daniel Liu
c241fc3574 eth/filters: fix for eth_getLogs failing with tag (#25922) 2025-01-24 16:54:11 +08:00
Daniel Liu
98c67ab2d9 accounts/abi: return toGoType error immediately (#25565) 2025-01-24 16:54:11 +08:00
Daniel Liu
73947f03b7 accounts/abi/bind/backends: fix AdjustTime to respect Fork (#25225) 2025-01-24 16:54:11 +08:00
Daniel Liu
0389524da8 accounts/abi: fix typo in error message (#25742) 2025-01-24 16:54:11 +08:00
Daniel Liu
e2b5a03ce8 accounts: lint comments (#25726) 2025-01-24 16:54:11 +08:00
Daniel Liu
bdf80d77e4 accounts/abi/bind: add const for tx fee elasticity multiplier (#25504)
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2025-01-24 16:54:11 +08:00
Daniel Liu
aec9d767cc accounts/abi: fix set function (#25477)
* accounts/abi: fix set function

* don't break things

* update test
2025-01-24 16:54:11 +08:00
Daniel Liu
b6be9c181c accounts/abi/bind/backends: typo fix (#25549) 2025-01-24 16:54:11 +08:00
Daniel Liu
c046f36afd accounts: fix some typos (#25551) 2025-01-24 16:54:11 +08:00
Daniel Liu
08fedbb503 accounts/abi: display name in "method/event not found" error (#25512) 2025-01-24 16:54:11 +08:00
Daniel Liu
78a35f1dc3 accounts: lint whitespace (#25312) 2025-01-24 16:54:11 +08:00
Daniel Liu
b3d89c0d84 accounts/abi: substitude arg%d to the range keyword (#25307)
* accounts/abi: substitude arg%d to the range keyword

* support more keywords

* review feedback
2025-01-24 16:54:11 +08:00
Daniel Liu
c5eecc5522 accounts/abi/bind/backends: return hash of new blocks (#25163)
Co-authored-by: Jens <jmw.1906@gmx.de>
2025-01-24 16:54:11 +08:00
Daniel Liu
53ea297d6a accounts/abi: replace fmt.Errorf with errors.New in abi argument (#25181)
Replace unnecessary fmt.Errorf with errors.New in accounts/abi/argument.go
2025-01-24 16:54:11 +08:00
Daniel Liu
d9b4f0f2c3 accounts/abi: prefer new(big.Int) over big.NewInt(0) (#25087) 2025-01-24 16:54:11 +08:00
Daniel Liu
9dda5b9819 accounts: more linters (#24783) 2025-01-24 16:54:11 +08:00
Daniel Liu
13eef32998 accounts/abi/bind: fix duplicate field names in the generated go struct (#24924)
* accounts/abi/bind: fix duplicate field names in the generated go struct #24627

* accounts, cmd/abigen: resolve name conflicts

* ci lint, accounts/abi: remove unused function overloadedArgName

Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2025-01-24 16:54:11 +08:00
Daniel Liu
04fabd63a4 accounts/abi: validate fieldnames, fixes #24930 (#24932) 2025-01-24 16:54:11 +08:00
Daniel Liu
16cdf8f4ec accounts/abi: eplace strings.Replace with string.ReplaceAll (#24835) 2025-01-24 16:54:11 +08:00
Daniel Liu
a09fd97b11 abi: fix checks when all fields are indexed (#24792)
This PR fixes abi checks in the edge case where all arguments are indexed
2025-01-24 16:54:11 +08:00
Daniel Liu
206b61420f abi/base: return error for pending call error (#24649)
If a pending contract call errors, return that error right away rather
than ignoring it to allow an error somewhere else. This is helpful for
callers to know if perhaps a call failed because of the context deadline
being expired. This change mirrors the behavior of non-pending contract
calls.
2025-01-24 16:54:11 +08:00
Daniel Liu
5b10b2441c all: use T.TempDir to create temporary test directories (#24633) 2025-01-24 16:54:08 +08:00
Daniel Liu
8b9138521e accounts/abi/bind: improve WaitMined error handling (#24321)
This change makes it so WaitMined no longer logs an error when the receipt
is unavailable. It also changes the simulated backend to return NotFound for
unavailable receipts, just like ethclient does.
2025-01-24 16:18:30 +08:00
Daniel Liu
c78cc1e8f8 accounts/abi: simplify Arguments.Unpack (#24277)
Since len(nonIndexedArgs) is definitely 0 in this context, the code can be simplified.
2025-01-24 16:18:30 +08:00
Daniel Liu
4f7123c3c0 accounts/abi/bind/backends: return errors instead of panic (#24242) 2025-01-24 16:18:30 +08:00
Daniel Liu
c5acd6822d accounts/abi: avoid unnecessary alloc (#24128) 2025-01-24 16:18:30 +08:00
Daniel Liu
b33307eaea accounts/abi/bind: correctly handle structs used only as constructor params (#23940)
The `structs` map is populated by iterating over all methods except the constructor, which results in a nil-pointer dereference.

I've first reproduced the problem with a new test and then implemented the fix.

Co-authored-by: Arran Schlosberg <me@arranschlosberg.com>
2025-01-24 16:18:30 +08:00