Jared Wasinger
709ff38bc1
gofmt files. add a TODO comment and remove another useless comment
2025-01-22 13:54:57 +01:00
Jared Wasinger
645c844f4b
clean up link/deploy code. add docs
2025-01-22 13:54:57 +01:00
Jared Wasinger
47192a758c
change semantics of contract overrides again: any direct/indirect dependencies of contracts/libraries specified with override addresses should not be deployed if they are not elsewhere referenced as direct/indirect deps of non-override contracts.
2025-01-22 13:54:57 +01:00
Jared Wasinger
736d587990
full support for errors with working test
2025-01-22 13:54:57 +01:00
Jared Wasinger
9552b30263
wip (just committing so that I can rebase off master to use ethclient.RevertErrorData)
2025-01-22 13:54:57 +01:00
Jared Wasinger
9a59bdb239
generation of custom error unpacking builds (not tested yet)
2025-01-22 13:54:57 +01:00
Jared Wasinger
e7e1426d89
remove debug prints. fix contract linking test condition
2025-01-22 13:54:57 +01:00
Jared Wasinger
c293caade9
tests working now
2025-01-22 13:54:57 +01:00
Jared Wasinger
5cc853d807
fix linking tests
2025-01-22 13:54:57 +01:00
Jared Wasinger
60fc16dea8
rewrite contract link/deploy again
2025-01-22 13:54:57 +01:00
Jared Wasinger
e4c01633a4
make link test case input be its own struct
2025-01-22 13:54:57 +01:00
Jared Wasinger
f9186b712e
one more test
2025-01-22 13:54:57 +01:00
Jared Wasinger
463c3b6dd4
fix test cases
2025-01-22 13:54:57 +01:00
Jared Wasinger
81289d7e26
wip: update
2025-01-22 13:54:57 +01:00
Jared Wasinger
4821fbae99
add test cases for contract linking that I forgot to push earlier. Fix deployment logic (apparently modifying a map in-place during iteration is not safe????
2025-01-22 13:54:57 +01:00
Jared Wasinger
44420cbb36
basic linking test working
2025-01-22 13:54:57 +01:00
Jared Wasinger
b06406a8b2
wip
2025-01-22 13:54:57 +01:00
Jared Wasinger
c8b17ca9c4
staging changes for linking tests. rework LinkAndDeploy to decouple logic of contract deployment, by passing a callback that does it.
2025-01-22 13:54:57 +01:00
Jared Wasinger
ba68e747b5
mv test contracts to internal directory under v2
2025-01-22 13:54:57 +01:00
Jared Wasinger
4872d7fde5
remove unecessary abi parameter from WatchEvents. simplify event tests
2025-01-22 13:54:57 +01:00
Jared Wasinger
b50593e702
add db example from sina
2025-01-22 13:54:57 +01:00
Jared Wasinger
a0485167d5
add generic call/transact
2025-01-22 13:54:57 +01:00
Jared Wasinger
28d57002ff
add generic log watching/filtering. skip adding generic call/transact (issue with interface regarding contract methods that don't take arguments)
2025-01-22 13:54:57 +01:00
Jared Wasinger
69e6f2932d
add binding generation test
2025-01-22 13:54:57 +01:00
Jared Wasinger
57e13591cc
small cleanups
2025-01-22 13:54:57 +01:00
Jared Wasinger
2df68eb106
remove unused error test, other unused code in tests
2025-01-22 13:54:57 +01:00
Jared Wasinger
6b5967afd8
delete unused test data. remove useless v2 helper methods. update tests
2025-01-22 13:54:57 +01:00
Jared Wasinger
d3d6926683
fix contract filter test. rename *Logs methods to *Events, to reflect the fact that these are specific to solidity events.
2025-01-22 13:54:57 +01:00
Jared Wasinger
1f25c68ec4
add error unpacking. simplify WatchLogs api.
2025-01-22 13:54:57 +01:00
Jared Wasinger
4fc62e94b3
add errors to emitted code.
2025-01-22 13:54:57 +01:00
Jared Wasinger
f2d78fcfaf
return multiple results in exported struct (instead of anonymous one). add return_structs contract example to have an example of it.
2025-01-22 13:54:57 +01:00
Jared Wasinger
51207183cd
add coverage for event filtering
2025-01-22 13:54:57 +01:00
Jared Wasinger
cd18d99180
add test coverage for events watching
2025-01-22 13:54:57 +01:00
Jared Wasinger
1e8aca95e9
add test for overrides
2025-01-22 13:54:57 +01:00
Jared Wasinger
77158e5bf0
various small fixes: better error message, remove unecessary comments. address review about missing word in function documentation.
2025-01-22 13:54:57 +01:00
Jared Wasinger
d0a8ead758
add copyright notices. move v2 template to its own file. Rename V2Backend->BackendV2
2025-01-22 13:54:57 +01:00
Jared Wasinger
26641a190a
make tests run again
2025-01-22 13:54:57 +01:00
Jared Wasinger
afe887fcc3
remove old half-written test case with events (I will add it back in when I complete it).
2025-01-22 13:54:57 +01:00
Jared Wasinger
b612cab7f1
simplify generated code for list of library dependencies
2025-01-22 13:54:57 +01:00
Jared Wasinger
0bdf69cbc6
some more docs
2025-01-22 13:54:57 +01:00
Jared Wasinger
0cff488b04
fix v2 test
2025-01-22 13:54:57 +01:00
Jared Wasinger
ab97d38da5
more docs. fix nested library contract. fix associated test case.
2025-01-22 13:54:57 +01:00
Jared Wasinger
b2aec5af41
add missing files from testdata. refactor contract deployment API to be cleaner
2025-01-22 13:54:57 +01:00
Jared Wasinger
03a6ade16b
format improvements
2025-01-22 13:54:57 +01:00
Jared Wasinger
41b77f9d9c
update library test contract to have constructor with inputs. remove some debug print statements
2025-01-22 13:54:57 +01:00
Jared Wasinger
42d159fb9a
fix contract
2025-01-22 13:54:57 +01:00
Jared Wasinger
7c95aa1411
closer to test passing now...
2025-01-22 13:54:57 +01:00
Jared Wasinger
5ba939f50c
rework contract deployment API
2025-01-22 13:54:57 +01:00
Jared Wasinger
cc04aa4e9e
commit of wip-code: rework the contract deployment code to be cleaner
2025-01-22 13:54:57 +01:00
Jared Wasinger
6d9104e706
dependency graph calculation working
2025-01-22 13:54:57 +01:00
Jared Wasinger
26491ae5cd
still in a wip state
2025-01-22 13:54:57 +01:00
Jared Wasinger
61263dcd68
stage point before I try to dedup contract interaction api
2025-01-22 13:54:57 +01:00
Jared Wasinger
0aac1981f5
move v2 contract interaction methods into v2 package. add test
2025-01-22 13:54:57 +01:00
Jared Wasinger
9c086811ae
isolate V2 contract interaction API into its own package
2025-01-22 13:54:57 +01:00
Jared Wasinger
cb0d1ea3ba
fix last rebase regression
2025-01-22 13:54:56 +01:00
Jared Wasinger
f7fa3fe037
add back code that got mistakenly removed in the rebase
2025-01-22 13:54:56 +01:00
Sina Mahmoodi
135ef69b9b
fix test
2025-01-22 13:54:56 +01:00
Sina Mahmoodi
c14bd3d6e7
clean lang selection leftovers
2025-01-22 13:54:55 +01:00
Sina Mahmoodi
b504552373
Pass pointer to log for unpack
2025-01-22 13:53:59 +01:00
Sina Mahmoodi
f7084f4723
Add deploy code to contract struct
2025-01-22 13:53:59 +01:00
Sina Mahmoodi
e2746e7f54
define contract instance type
2025-01-22 13:53:59 +01:00
Sina Mahmoodi
040f808742
skip unpack method when no return args
2025-01-22 13:53:59 +01:00
Sina Mahmoodi
ee1263a78c
drop fmt
2025-01-22 13:53:59 +01:00
Sina Mahmoodi
7b6f0eadd7
replace fmt with errors
...
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2025-01-22 13:53:59 +01:00
Sina Mahmoodi
6b69f4c90c
drop unnecessary imports
2025-01-22 13:53:59 +01:00
Sina Mahmoodi
d4ccdc30c2
add copyright header to lib.go
2025-01-22 13:53:59 +01:00
Sina Mahmoodi
ed627ccf8b
accounts/abi: abigen v2
2025-01-22 13:53:59 +01:00
georgehao
1843f27766
all: fix some typos in comments and names ( #31023 )
2025-01-14 14:16:15 +01:00
maskpp
3c208cdea8
accounts/abi/bind: make it possible to wait for tx hash ( #30079 )
...
This change adds methods which makes it possible for to wait for a transaction with a specific hash when deploying contracts during abi bind interaction.
---------
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2024-12-17 09:12:10 +01:00
lightclient
f808d7357e
all: implement eip-7702 set code tx ( #30078 )
...
This PR implements EIP-7702: "Set EOA account code".
Specification: https://eips.ethereum.org/EIPS/eip-7702
> Add a new transaction type that adds a list of `[chain_id, address,
nonce, y_parity, r, s]` authorization tuples. For each tuple, write a
delegation designator `(0xef0100 ++ address)` to the signing account’s
code. All code reading operations must load the code pointed to by the
designator.
---------
Co-authored-by: Mario Vega <marioevz@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Felix Lange <fjl@twurst.com>
2024-12-16 11:29:37 +01:00
Darren Kelly
330190e476
accounts/abi: support unpacking solidity errors ( #30738 )
...
This PR adds the error fragments to `func (abi ABI) getArguments` which
allows typed decoding of errors.
2024-12-10 14:30:24 +01:00
Jordan Krage
3c754e2a09
accounts/abi: fix MakeTopics mutation of big.Int inputs ( #30785 )
...
#28764 updated `func MakeTopics` to support negative `*big.Int`s.
However, it also changed the behavior of the function from just
_reading_ the input `*big.Int` via `Bytes()`, to leveraging
`big.U256Bytes` which is documented as being _destructive_:
This change updates `MakeTopics` to not mutate the original, and
also applies the same change in signer/core/apitypes.
2024-11-25 13:34:50 +01:00
Martin HS
a5f0001845
cmd/geth: remove unlock commandline flag ( #30737 )
...
This is one further step towards removing account management from
`geth`. This PR deprecates the flag `unlock`, and makes the flag moot:
unlock via geth is no longer possible.
2024-11-15 10:15:15 +01:00
Madhur Shrimal
a6037d027f
accounts/usbwallet: support dynamic tx ( #30180 )
...
Adds support non-legacy transaction-signing using ledger
---------
Co-authored-by: Martin Holst Swende <martin@swende.se>
2024-11-08 14:57:29 +01:00
Martin HS
5adc314817
build: update to golangci-lint 1.61.0 ( #30587 )
...
Changelog: https://golangci-lint.run/product/changelog/#1610
Removes `exportloopref` (no longer needed), replaces it with
`copyloopvar` which is basically the opposite.
Also adds:
- `durationcheck`
- `gocheckcompilerdirectives`
- `reassign`
- `mirror`
- `tenv`
---------
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2024-10-14 19:25:22 +02:00
Ceyhun Onur
9eb91542de
accounts/abi/bind, ethclient/simulated: check SendTransaction error in tests ( #30349 )
...
In few tests the returned error from `SendTransaction` is not being
checked. This PR checks the returned err in tests.
Returning errors also revealed tx in `TestCommitReturnValue` is not
actually being sent, and returns err ` only replay-protected (EIP-155)
transactions allowed over RPC`. Fixed the transaction by using the
`testTx` function.
2024-08-27 17:11:50 +02:00
chen4903
65aaf52f4c
accounts/abi: handle ABIs with contract type parameter ( #30315 )
...
convert parameter of type contract to the basic `address` type
---------
Co-authored-by: Martin HS <martin@swende.se>
2024-08-20 12:26:35 +02:00
ysh0566
67b8137100
accounts/abi/bind: add accessList support to base bond contract ( #30195 )
...
Adding the correct accessList parameter when calling a contract can
reduce gas consumption. However, the current version only allows adding
the accessList manually when constructing the transaction. This PR can
provide convenience for saving gas.
2024-08-01 12:09:04 -06:00
Icarus Wu
b635089c7c
all: remove deprecated protobuf dependencies ( #30232 )
...
The package `github.com/golang/protobuf/proto` is deprecated in favor
`google.golang.org/protobuf/proto`. We should update the codes to
recommended package.
Signed-off-by: Icarus Wu <icaruswu66@qq.com>
2024-08-01 16:25:55 +02:00
zhiqiangxu
71210b0630
all: simplify tests using t.TempDir() ( #30150 )
2024-07-15 15:26:58 +02:00
winniehere
de366fd2e2
accounts/abi: embed Go template instead of string literal ( #30098 )
...
refactor(accounts/abi): use embed pkg to split default template to file
2024-07-02 15:58:15 +03:00
jwasinger
41abab9e39
build: add check for stale generated files ( #30037 )
...
Co-authored-by: Felix Lange <fjl@twurst.com>
2024-07-01 17:16:15 +02:00
jwasinger
a4e338f05e
accounts/usbwallet/trezor: upgrade to generate with protoc 27.1 ( #30058 )
2024-07-01 16:18:38 +02:00
Halimao
fe0c0b04fe
accounts/keystore: use t.TempDir in test ( #30052 )
2024-06-25 11:24:33 +02:00
jackyin
3687c34cfc
accounts: avoid duplicate regex compilation ( #29943 )
...
* fix: Optimize regular initialization
* modify var name
* variable change to private types
2024-06-12 10:46:36 +03:00
Steven Wang
b8cf1636d4
accounts: fix TestUpdateKeyfileContents ( #29867 )
...
Create the directory before NewKeyStore. This ensures the watcher successfully starts on
the first attempt, and waitWatcherStart functions as intended.
2024-05-29 12:12:57 +02:00
Bin
f8820f170c
accounts, cmd/geth, core: close opened files ( #29598 )
...
* fix: open file used up but not closed
* feat: more same case
* feat: accept conversation
2024-04-30 15:47:21 +02:00
haoran
b2b0e1da8c
all: fix various typos ( #29600 )
...
* core: fix typo
* rpc: fix typo
* snap: fix typo
* trie: fix typo
* main: fix typo
* abi: fix typo
* main: fix field comment for basicOp
2024-04-23 13:09:42 +03:00
persmor
0a51028819
all: fix various typos ( #29542 )
...
* core/rawdb: fix typos
* accounts/abi: fix typos
* metrics: fix typo
* beacon: fix typo
* crypto: fix typo
* rpc: fix typo
* rpc: fix typo
2024-04-16 15:44:00 +03:00
Aaron Chen
ed4bc7f27b
all: replace fmt.Errorf() with errors.New() if no param required ( #29472 )
2024-04-08 12:59:17 +02:00
Martin HS
7ee9a6e89f
signer: implement blob txs sendtxargs, enable blobtx-signing ( #28976 )
...
This change makes it possible to sign blob transactions
2024-04-05 19:29:44 +02:00
crazeteam
fa5019de19
accounts/keystore: fix typos in comments ( #29336 )
2024-03-27 13:16:29 +01:00
Aaron Chen
723b1e36ad
all: fix mismatched names in comments ( #29348 )
...
* all: fix mismatched names in comments
* metrics: fix mismatched name in UpdateIfGt
2024-03-26 21:01:28 +01:00
Martin HS
14cc967d19
all: remove dependency on golang.org/exp ( #29314 )
...
This change includes a leftovers from https://github.com/ethereum/go-ethereum/pull/29307
- using the [new `slices` package](https://go.dev/doc/go1.21#slices ) and
- using the [new `cmp.Ordered`](https://go.dev/doc/go1.21#cmp ) instead of exp `constraints.Ordered`
2024-03-25 07:50:18 +01:00
Martin HS
14eb8967be
all: use min/max/clear from go1.21 ( #29307 )
2024-03-21 13:50:13 +01:00
Tien Nguyen
eda9c7e36f
accounts/abi/bind: check invalid chainID first ( #29275 )
2024-03-19 14:05:31 +01:00
Martin HS
ab49f228ad
all: update to go version 1.22.1 ( #28946 )
...
Since Go 1.22 has deprecated certain elliptic curve operations, this PR removes
references to the affected functions and replaces them with a custom implementation
in package crypto. This causes backwards-incompatible changes in some places.
---------
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Felix Lange <fjl@twurst.com>
2024-03-18 17:36:50 +01:00
SanYe
ba2dd9385c
accounts/abi/bind: remove unused err set and check ( #29269 )
...
accounts/abi: remove unused err set and check
2024-03-15 10:46:22 +01:00
Justin Dhillon
b80643b737
accounts/usbwallet, common/bitutil: fix broken links in docs ( #29078 )
...
fixes some links in documentation
2024-03-13 07:54:40 +01:00
cuinix
3bebabbd03
accounts: remove redundant string conversion ( #29184 )
2024-03-07 22:25:08 +01:00