Commit graph

517 commits

Author SHA1 Message Date
Jared Wasinger
484c723a0c move BindV2 and methods it depends on into their own file. 2025-01-22 13:54:57 +01:00
Jared Wasinger
26d0d787dc add docs 2025-01-22 13:54:57 +01:00
Jared Wasinger
adc4ab6e79 remove unecessarily-added method 2025-01-22 13:54:57 +01:00
Jared Wasinger
b1f3970c57 tests pass 2025-01-22 13:54:57 +01:00
Jared Wasinger
b6d6ba92de refactor builds 2025-01-22 13:54:57 +01:00
Jared Wasinger
5da8d5a086 wip... 2025-01-22 13:54:57 +01:00
Jared Wasinger
bbddf0d0be remove field that I added to abi.Error and never used 2025-01-22 13:54:57 +01:00
Jared Wasinger
02ff41a738 add comment for tmplError struct and remove unused v2 backend interface 2025-01-22 13:54:57 +01:00
Jared Wasinger
2c9c9cf4bd regenerate bindings 2025-01-22 13:54:57 +01:00
Jared Wasinger
fce1885317 remove TODO comment about adding a test case that I have added 2025-01-22 13:54:57 +01:00
Jared Wasinger
d93a152298 update dep tree 2025-01-22 13:54:57 +01:00
Jared Wasinger
3129593b3f export event names in bindings. remove added APIs Filter/Watch-Logs which take event ids. 2025-01-22 13:54:57 +01:00
Jared Wasinger
89fcfac1cf move abigen2 specific bind code into BindV2. fix broken v1 tests 2025-01-22 13:54:57 +01:00
Jared Wasinger
780dd76746 add some docs 2025-01-22 13:54:57 +01:00
Jared Wasinger
2421cc3ed5 move contract dep tree, link-and-deploy to bind package. This is so that bind can build the dependency tree for each library to populate their exported deps. 2025-01-22 13:54:57 +01:00
Jared Wasinger
7000583654 fix regex for solc pattern matching 2025-01-22 13:54:57 +01:00
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
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
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
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
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
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
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
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
Tien Nguyen
eda9c7e36f
accounts/abi/bind: check invalid chainID first (#29275) 2024-03-19 14:05:31 +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
yzb
b408b3e5fe
accounts/abi: delete duplicate error check (#29136) 2024-03-04 10:24:24 +01:00
Sina Mahmoodi
95741b1844
core: move genesis alloc types to core/types (#29003)
We want to use these types in public user-facing APIs, so they shouldn't be in core.

Co-authored-by: Felix Lange <fjl@twurst.com>
2024-02-16 19:05:33 +01:00
Péter Szilágyi
16ce7bf50f
eth, miner: fix enforcing the minimum miner tip (#28933)
* eth, miner: fix enforcing the minimum miner tip

* ethclient/simulated: fix failing test due the min tip change

* accounts/abi/bind: fix simulater gas tip issue
2024-02-06 10:59:24 +02:00