Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: merge release/v1.20.0 into master #10184

Merged
merged 118 commits into from
Feb 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
4dee0ba
add a lotus-shed eth check-tipsets command.
raulk Jan 19, 2023
5541694
fix lint.
raulk Jan 19, 2023
85592ad
itests: verify eth filter api is disabled via config
iand Jan 19, 2023
a1efd20
itests: remove dead code from DeployContract
Stebalien Jan 20, 2023
c5ed5dd
itests: add event matrix tests for realtime eth filters and subscript…
iand Jan 20, 2023
7632f9b
itests: Test FEVM recursive calls
magik6k Jan 17, 2023
68e20ce
itests: Test EAM interactions from accounts
magik6k Jan 19, 2023
ddd5ff9
fix: event filters use cbor encoding internally (#10085)
iand Jan 23, 2023
d9261b6
itests: validate responses from ethereum json-rpc api
iand Jan 23, 2023
c6d279c
Decode topic values in EthGetTransactionReceipt
iand Jan 23, 2023
7d1bd1d
Use gojsonschema
iand Jan 23, 2023
9fed750
Add further tests
iand Jan 23, 2023
7eca3e4
Start eth_sendRawTransaction test
iand Jan 23, 2023
74b33bd
Merge pull request #10068 from filecoin-project/test/eam-tests
magik6k Jan 23, 2023
46746f3
itests: Test FEVM recursive calls
magik6k Jan 17, 2023
926e2b0
Merge pull request #10039 from filecoin-project/test/fevm-stacks
magik6k Jan 23, 2023
c0c8ad5
Test more functions
iand Jan 24, 2023
8daf22c
Test and fix eth_FeeHistory
iand Jan 24, 2023
2a73e1c
Add test for eth_getStorageAt
iand Jan 24, 2023
7acdb49
Add test for eth_call
iand Jan 24, 2023
58cd226
Change EthBlock.Extradata type to EthBytes
iand Jan 24, 2023
8864782
fix: EthAPI: Drop hack in GetStorageAt
arajasek Jan 24, 2023
ee6af9d
Eth JSON-RPC: implement web3_clientVersion
ychiaoli18 Jan 25, 2023
358964d
fix lint
ychiaoli18 Jan 25, 2023
b38d203
Remove debug logging
iand Jan 25, 2023
1c2446d
Merge pull request #10111 from filecoin-project/asr/fix-eth-get-storage
arajasek Jan 25, 2023
7aed7d3
fix: EthAPI: Handle EthCall return correctly
arajasek Jan 24, 2023
e84dad0
Merge pull request #10112 from filecoin-project/asr/fix-eth-call
arajasek Jan 25, 2023
8842b21
feat: vm: Assert empty object CID when dumping state
arajasek Jan 25, 2023
c6829a9
Merge pull request #10113 from filecoin-project/feat/web3_clientVersion
geoff-vball Jan 25, 2023
2ad9301
Merge pull request #10117 from filecoin-project/asr/resolve-TODO
jennijuju Jan 26, 2023
a9cd769
Merge branch 'release/v1.20.0' into iand/eth-openrpc-validate
iand Jan 26, 2023
7586710
Fix panic in EthGetCode
iand Jan 26, 2023
c82dccc
Merge branch 'release/v1.20.0' into iand/issue-9849-realtime
iand Jan 26, 2023
c3be4f2
Merge pull request #10083 from filecoin-project/iand/issue-9849-realtime
geoff-vball Jan 26, 2023
038404e
Update codeql to v2
Jan 26, 2023
36b4c8a
Enable code ql for release branches
Jan 26, 2023
4500c02
Merge branch 'release/v1.20.0' into iand/eth-openrpc-validate
iand Jan 26, 2023
178e146
Merge pull request #10123 from filecoin-project/gstuart/backport-upda…
geoff-vball Jan 26, 2023
8f6c569
Add actors to circ-supply
rjan90 Jan 26, 2023
e73dc3e
Merge branch 'release/v1.20.0' into iand/issue-9849-config
iand Jan 26, 2023
35ddf9e
devnets starts with nv17
jennijuju Jan 13, 2023
df0cf91
Use new kit.DisableEthRPC method in test
iand Jan 26, 2023
e8f3266
make gen
iand Jan 26, 2023
4fb9e2f
make jen
rjan90 Jan 26, 2023
c08fc2b
Merge pull request #10124 from filecoin-project/fix/actors-circ-supply
arajasek Jan 26, 2023
3e6e02d
Merge pull request #9999 from filecoin-project/jen/devnetthings
geoff-vball Jan 26, 2023
19e188d
init git submodules in build-docker CI
ianconsolata Jan 26, 2023
8c58ecc
Remove old Snapcraft and AppDir folders
ianconsolata Jan 26, 2023
e55d6c8
Always include checked in files in docker context
ianconsolata Jan 26, 2023
a0994ac
Check git state in Dockerfile to catch .dockerignore bugs
ianconsolata Jan 26, 2023
10acef2
Merge pull request #10127 from filecoin-project/gstuart/backport-dock…
magik6k Jan 26, 2023
daf90ff
Fix lint errors
iand Jan 26, 2023
916b800
Skip some rpc conformance tests
iand Jan 26, 2023
17ef488
make gen
iand Jan 26, 2023
8f625e8
Changed skip message
iand Jan 26, 2023
c93717b
fix: don't replace the method in EthSendRawTransaction (#10129)
Stebalien Jan 26, 2023
98d6d4e
Remove stm: #integration comment
iand Jan 26, 2023
6efe08d
Fix comment
iand Jan 26, 2023
a64744f
fix: devnets: default to starting from nv17
arajasek Jan 26, 2023
d6da796
Merge pull request #10131 from filecoin-project/asr/fix-devnets
geoff-vball Jan 26, 2023
67805fd
Refactor to ensure conformance test can run in circleci
iand Jan 27, 2023
eacf3f1
go fmt
iand Jan 27, 2023
7edfe9d
Update to go-state-types v0.10.0-alpha-11
arajasek Jan 27, 2023
60193a2
Merge pull request #10136 from filecoin-project/asr/update-types
arajasek Jan 27, 2023
395cdd7
simplify transaction hash db queries, prevent fd leaks
Jan 30, 2023
6518122
Merge pull request #10144 from filecoin-project/gstuart/sqlite-leak
geoff-vball Jan 30, 2023
af72e6f
Refactor: Unify EthTx to FilecoinMessage methods v2 (#10095)
geoff-vball Jan 30, 2023
6491bec
rpc: Switch eth_subscribe to reverse calls
magik6k Jan 16, 2023
1286d76
gateway: eth_subscribe support
magik6k Jan 16, 2023
965b1cf
itests: Fix TestEthSubscribeLogs
magik6k Jan 26, 2023
9701b11
ethtypes: Serialize EthFilterID/EthSubscriptionID correctly
magik6k Jan 26, 2023
ad14d71
eth rpc: Params are optional in eth_subscribe
magik6k Jan 31, 2023
dc5f865
Merge pull request #10027 from filecoin-project/feat/correct-eth-sub
jennijuju Jan 31, 2023
070aca2
Eth JSON-RPC: from in eth_getTransactionByHash is not correctly popul…
maciejwitowski Jan 31, 2023
5f2ef98
Move assigning `from` address to the API level
maciejwitowski Jan 31, 2023
dcbfca5
Improve the error message
maciejwitowski Jan 31, 2023
99b879d
Add test for EthGetTransactionByHash
arajasek Jan 31, 2023
27465e5
Merge pull request #10151 from filecoin-project/maciej/1614
maciejwitowski Jan 31, 2023
5d87fc8
fix: should not serve non v0 api in v1
jennijuju Jan 19, 2023
a38e639
Merge pull request #10154 from filecoin-project/gstuart/re-add-not-se…
jennijuju Feb 1, 2023
9060c47
test: fevm: add in tests for deploying, destroying contracts, recursi…
snissn Feb 1, 2023
8d62cb2
deps: Update go-jsonrpc to v0.2.1
magik6k Feb 1, 2023
ccb20d5
Merge pull request #10164 from filecoin-project/deps/jsonrpc-v0.2.1
magik6k Feb 1, 2023
d29a244
Merge remote-tracking branch 'origin/release/v1.20.0' into iand/eth-o…
iand Feb 1, 2023
90fced7
Test: assert all fields returned from EthGetTransactionByHash have ex…
maciejwitowski Feb 1, 2023
245be40
Fix merge conflicts
iand Feb 1, 2023
e200df4
Merge pull request #10060 from filecoin-project/raulk/eth-check-tipse…
geoff-vball Feb 1, 2023
12ca08d
Merge pull request #10081 from filecoin-project/steb/remove-dead-code
geoff-vball Feb 1, 2023
abf2140
review fixes
Feb 1, 2023
b8c4fba
Merge pull request #10062 from filecoin-project/iand/issue-9849-config
geoff-vball Feb 2, 2023
a6a2f0d
gateway: Support all EthModule methods
magik6k Feb 2, 2023
3d207de
node builder: Use gateway eth module in lite mode
magik6k Feb 2, 2023
75f4810
Merge pull request #10168 from filecoin-project/maciej/test
maciejwitowski Feb 2, 2023
fe1e097
feat: ethrpc: Support filtering by address in subscribe
magik6k Feb 2, 2023
8ce0b98
itests: Fix TestEthFilterAPIDisabledViaConfig
magik6k Feb 2, 2023
3e00901
Merge pull request #10177 from filecoin-project/fix/lite-node-ethrpc
geoff-vball Feb 2, 2023
0c33eab
Merge pull request #10180 from filecoin-project/feat/ethsub-addr
magik6k Feb 2, 2023
f05437d
Check decoding params for new methods
Feb 1, 2023
ffc1c33
Review fixes
Feb 2, 2023
b46258d
feat: evm: align events implementation with FIP-0049 and FIP-0054. (#…
raulk Feb 3, 2023
f291572
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
arajasek Feb 3, 2023
03b419e
feat: compute a better gas limit for recursive external contract calls
travisperson Jan 24, 2023
3d9c5e7
Merge pull request #10128 from filecoin-project/feat/eth-estimate-gas
arajasek Feb 5, 2023
6851b6a
Merge remote-tracking branch 'origin/release/v1.20.0' into fix/eth-or…
magik6k Feb 6, 2023
bca48dd
make gen
magik6k Feb 6, 2023
3e30e7a
Merge pull request #10102 from filecoin-project/iand/eth-openrpc-vali…
magik6k Feb 6, 2023
4248240
fix: ethtypes: Correct 'no uncles' hash in NewEthBlock
magik6k Feb 6, 2023
725f22a
Merge pull request #10173 from filecoin-project/gstuart/check-params
arajasek Feb 6, 2023
5dc5684
fix: ethtypes: Correct 'no transactions' hash in NewEthBlock
magik6k Feb 6, 2023
6bf3a21
itest: fix FEVM tests for upstream changes
Stebalien Feb 6, 2023
a5043f4
Merge pull request #10190 from filecoin-project/fix/eth-block-unclehash
magik6k Feb 6, 2023
d16b290
itest: fix: test comment
Stebalien Feb 6, 2023
e0931f8
itest: fix remaining fevm failures
Stebalien Feb 6, 2023
91d0e41
Merge pull request #10193 from filecoin-project/steb/fix-fevm-tests
magik6k Feb 6, 2023
1ab5305
improve evm error handling in itests (#10161)
snissn Feb 6, 2023
23eaee4
clean up test for recursive delegate call count. improved readability…
snissn Feb 6, 2023
693f230
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
arajasek Feb 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -656,6 +656,12 @@ workflows:
- build
suite: itest-deals
target: "./itests/deals_test.go"
- test:
name: test-itest-decode_params
requires:
- build
suite: itest-decode_params
target: "./itests/decode_params_test.go"
- test:
name: test-itest-dup_mpool_messages
requires:
Expand All @@ -680,6 +686,18 @@ workflows:
- build
suite: itest-eth_block_hash
target: "./itests/eth_block_hash_test.go"
- test:
name: test-itest-eth_config
requires:
- build
suite: itest-eth_config
target: "./itests/eth_config_test.go"
- test:
name: test-itest-eth_conformance
requires:
- build
suite: itest-eth_conformance
target: "./itests/eth_conformance_test.go"
- test:
name: test-itest-eth_deploy
requires:
Expand Down
12 changes: 11 additions & 1 deletion api/api_full.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (
datatransfer "github.com/filecoin-project/go-data-transfer"
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
"github.com/filecoin-project/go-fil-markets/storagemarket"
"github.com/filecoin-project/go-jsonrpc"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/big"
"github.com/filecoin-project/go-state-types/builtin/v8/paych"
Expand Down Expand Up @@ -831,11 +832,14 @@ type FullNode interface {
// - logs: notify new event logs that match a criteria
// params contains additional parameters used with the log event type
// The client will receive a stream of EthSubscriptionResponse values until EthUnsubscribe is called.
EthSubscribe(ctx context.Context, eventType string, params *ethtypes.EthSubscriptionParams) (<-chan ethtypes.EthSubscriptionResponse, error) //perm:write
EthSubscribe(ctx context.Context, params jsonrpc.RawParams) (ethtypes.EthSubscriptionID, error) //perm:write

// Unsubscribe from a websocket subscription
EthUnsubscribe(ctx context.Context, id ethtypes.EthSubscriptionID) (bool, error) //perm:write

// Returns the client version
Web3ClientVersion(ctx context.Context) (string, error) //perm:read

// CreateBackup creates node backup onder the specified file name. The
// method requires that the lotus daemon is running with the
// LOTUS_BACKUP_BASE_PATH environment variable set to some path, and that
Expand All @@ -846,6 +850,12 @@ type FullNode interface {
RaftLeader(ctx context.Context) (peer.ID, error) //perm:read
}

// reverse interface to the client, called after EthSubscribe
type EthSubscriber interface {
// note: the parameter is ethtypes.EthSubscriptionResponse serialized as json object
EthSubscription(ctx context.Context, r jsonrpc.RawParams) error // rpc_method:eth_subscription notify:true
}

type StorageAsk struct {
Response *storagemarket.StorageAsk

Expand Down
6 changes: 5 additions & 1 deletion api/api_gateway.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
blocks "github.com/ipfs/go-libipfs/blocks"

"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-jsonrpc"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/builtin/v9/miner"
"github.com/filecoin-project/go-state-types/dline"
Expand Down Expand Up @@ -78,6 +79,8 @@ type Gateway interface {
EthGetBlockByHash(ctx context.Context, blkHash ethtypes.EthHash, fullTxInfo bool) (ethtypes.EthBlock, error)
EthGetBlockByNumber(ctx context.Context, blkNum string, fullTxInfo bool) (ethtypes.EthBlock, error)
EthGetTransactionByHash(ctx context.Context, txHash *ethtypes.EthHash) (*ethtypes.EthTx, error)
EthGetTransactionHashByCid(ctx context.Context, cid cid.Cid) (*ethtypes.EthHash, error)
EthGetMessageCidByTransactionHash(ctx context.Context, txHash *ethtypes.EthHash) (*cid.Cid, error)
EthGetTransactionCount(ctx context.Context, sender ethtypes.EthAddress, blkOpt string) (ethtypes.EthUint64, error)
EthGetTransactionReceipt(ctx context.Context, txHash ethtypes.EthHash) (*EthTxReceipt, error)
EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error)
Expand All @@ -102,6 +105,7 @@ type Gateway interface {
EthNewBlockFilter(ctx context.Context) (ethtypes.EthFilterID, error)
EthNewPendingTransactionFilter(ctx context.Context) (ethtypes.EthFilterID, error)
EthUninstallFilter(ctx context.Context, id ethtypes.EthFilterID) (bool, error)
EthSubscribe(ctx context.Context, eventType string, params *ethtypes.EthSubscriptionParams) (<-chan ethtypes.EthSubscriptionResponse, error)
EthSubscribe(ctx context.Context, params jsonrpc.RawParams) (ethtypes.EthSubscriptionID, error)
EthUnsubscribe(ctx context.Context, id ethtypes.EthSubscriptionID) (bool, error)
Web3ClientVersion(ctx context.Context) (string, error)
}
4 changes: 2 additions & 2 deletions api/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ func NewFullNodeRPCV0(ctx context.Context, addr string, requestHeader http.Heade
}

// NewFullNodeRPCV1 creates a new http jsonrpc client.
func NewFullNodeRPCV1(ctx context.Context, addr string, requestHeader http.Header) (api.FullNode, jsonrpc.ClientCloser, error) {
func NewFullNodeRPCV1(ctx context.Context, addr string, requestHeader http.Header, opts ...jsonrpc.Option) (api.FullNode, jsonrpc.ClientCloser, error) {
var res v1api.FullNodeStruct
closer, err := jsonrpc.NewMergeClient(ctx, addr, "Filecoin",
api.GetInternalStructs(&res), requestHeader, jsonrpc.WithErrors(api.RPCErrors))
api.GetInternalStructs(&res), requestHeader, append([]jsonrpc.Option{jsonrpc.WithErrors(api.RPCErrors)}, opts...)...)

return &res, closer, err
}
Expand Down
2 changes: 2 additions & 0 deletions api/eth_aliases.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,6 @@ func CreateEthRPCAliases(as apitypes.Aliaser) {

as.AliasMethod("net_version", "Filecoin.NetVersion")
as.AliasMethod("net_listening", "Filecoin.NetListening")

as.AliasMethod("web3_clientVersion", "Filecoin.Web3ClientVersion")
}
26 changes: 21 additions & 5 deletions api/mocks/mock_full.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading