Skip to content
This repository has been archived by the owner on Dec 20, 2023. It is now read-only.

Load IPC-actors bundle and spawn IPC gateway actor in genesis #71

Merged
merged 694 commits into from
Feb 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
694 commits
Select commit Hold shift + click to select a range
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
c45f361
add genesis for ipc gateway
Jan 25, 2023
b38d203
Remove debug logging
iand Jan 25, 2023
34f376e
chore: cli
rjan90 Jan 25, 2023
80b3923
Merge branch 'spacenet' into bundle_genesis
adlrocha Jan 25, 2023
128bdc6
fix: rpcenc: Don't hang when source dies
magik6k Jan 25, 2023
1c2446d
Merge pull request #10111 from filecoin-project/asr/fix-eth-get-storage
arajasek Jan 25, 2023
38dc034
make docsgen-cli
rjan90 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
291deaa
Update codeql to v2
Jan 26, 2023
0cc63f6
Enable code ql for release branches
Jan 26, 2023
a0b25b9
less strict ArgsCheck
rjan90 Jan 26, 2023
fc6721c
feat: wdpost: Emit more detailed errors
magik6k 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
aa0d470
Merge pull request #10120 from filecoin-project/gstuart/update-codeql
magik6k 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
c45df78
Merge pull request #10114 from filecoin-project/fix/cli-cleanup
geoff-vball Jan 26, 2023
5740f17
Merge pull request #10121 from filecoin-project/feat/better-post-errors
geoff-vball 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
7cfb252
init git submodules in build-docker CI
ianconsolata Jan 26, 2023
98a9c83
Remove old Snapcraft and AppDir folders
ianconsolata Jan 26, 2023
17d2205
Always include checked in files in docker context
ianconsolata Jan 26, 2023
0f6003f
Check git state in Dockerfile to catch .dockerignore bugs
ianconsolata Jan 26, 2023
4fb9e2f
make jen
rjan90 Jan 26, 2023
db9c516
Merge pull request #10125 from filecoin-project/fix-docker-git-dirty-…
magik6k Jan 26, 2023
f572852
chore: all: bump go-libipfs to replace go-block-format
Jorropo 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
a0771b1
Merge pull request #9878 from filecoin-project/gstuart/check-allocati…
magik6k Jan 27, 2023
62326b2
Merge pull request #10126 from Jorropo/migrate-go-block-format
magik6k Jan 27, 2023
67805fd
Refactor to ensure conformance test can run in circleci
iand Jan 27, 2023
eacf3f1
go fmt
iand Jan 27, 2023
a9c1caa
Standardize path variable
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
d060df2
chore: node: migrate go-bitswap to go-libipfs/bitswap
Jorropo 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
e0326d9
Populate transaction hash database if the database has not been set u…
Jan 26, 2023
482e137
Merge pull request #10138 from Jorropo/go-bitswap-to-libipfs
magik6k Jan 30, 2023
beb70a3
Merge pull request #10116 from filecoin-project/fix/rpcenc-hang
magik6k Jan 31, 2023
13fc5b6
Merge pull request #10028 from filecoin-project/gstuart/cli-color-cle…
magik6k Jan 31, 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
b334b20
fix: cli: add ArgsUsage
rjan90 Jan 31, 2023
b8e7262
Merge pull request #10147 from filecoin-project/fix/add-args-usage
rjan90 Jan 31, 2023
a8dace0
make libp2p user agent overridable
Jan 31, 2023
45ceb5d
move UserAgentOption upwards
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
37d41f3
Fix: typo
omahs Jan 31, 2023
fa97016
Fix: typos
omahs Jan 31, 2023
0c17d78
Fix: typo
omahs Jan 31, 2023
05c5e18
Fix: typo
omahs Jan 31, 2023
ed63798
Fix: typo
omahs Jan 31, 2023
7d5c7f5
Fix: typos
omahs Jan 31, 2023
28101be
Fix: typos
omahs Jan 31, 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
3adafea
merge
snissn Feb 1, 2023
c6bd9bc
tests that use create2 and destroy to validate evm state
snissn Feb 1, 2023
1100232
wip: ipc_gateway in genesis
adlrocha 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
87397ea
Allow f4 address to send to all address types if ID address exists on…
Feb 1, 2023
7060150
Merge pull request #10149 from FlattestWhite/richard/make-user-agent-…
magik6k Feb 1, 2023
818b3b8
fix: extend LOTUS_CHAIN_BADGERSTORE_DISABLE_FSYNC to the markset
ribasushi Feb 1, 2023
f88fc07
Merge pull request #10155 from omahs/patch-1
geoff-vball 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
880000f
Merge branch 'spacenet' into bundle_genesis
adlrocha 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
e1c00bd
cli: fix extend cmd to get the right sector number
0x5459 Feb 3, 2023
9b071bc
Merge pull request #10182 from 0x5459/fix-louts-miner-extend-cmd
geoff-vball Feb 3, 2023
f291572
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
arajasek Feb 3, 2023
9b4fabe
todo: rebase master to include release/v1.20.0
adlrocha 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
ad45720
LOTUS_FEVM_ENABLEETHRPC: Fix env variable name in error
nonsense Feb 3, 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
0cf3a5e
fix: null rounds: pass correct timestamp to the FVM.
raulk 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
f671a3c
merge
snissn Feb 6, 2023
2673ec3
use WithValue language for test
snissn Feb 6, 2023
fc2a6a8
Merge branch 'release/v1.20.0' into mikers/create2test2
snissn Feb 6, 2023
23eaee4
clean up test for recursive delegate call count. improved readability…
snissn Feb 6, 2023
6a268cf
chain: explicitly check that gasLimit is above zero
arajasek Feb 6, 2023
e0d92a1
Merge pull request #10172 from ribasushi/fix/respect_nofsync
magik6k Feb 7, 2023
ea82f55
add bundle git tag from pack.sh into builtin_actors_gen
snissn Feb 7, 2023
8066833
Merge pull request #10198 from filecoin-project/asr/gas-limit
magik6k Feb 7, 2023
cf0997b
fix: worker: add all task type flag
rjan90 Feb 7, 2023
58c7c51
Update cmd/lotus-worker/tasks.go
rjan90 Feb 7, 2023
3fc1346
Update cmd/lotus-worker/tasks.go
rjan90 Feb 7, 2023
21d6020
Update cmd/lotus-worker/tasks.go
rjan90 Feb 7, 2023
693f230
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
arajasek Feb 7, 2023
d75f77b
make docsgen-cli
rjan90 Feb 7, 2023
b217eec
Merge branch 'worker-all-task-flag' of https://github.com/filecoin-pr…
rjan90 Feb 7, 2023
4823322
retry make docsgen-cli
rjan90 Feb 7, 2023
66d763e
remove bundle-gen from make gen - not actually useful today anyway
snissn Feb 8, 2023
4c6fb21
Merge pull request #10200 from filecoin-project/mikers/pack_add_git_tag
jennijuju Feb 8, 2023
89499bf
fvm: chore: update FVM
Stebalien Feb 7, 2023
662fc37
Option to set-seal-delay seconds
rjan90 Feb 8, 2023
bd4dc21
make docsgen-cli
rjan90 Feb 8, 2023
b78cbcb
Error if backup file exists
rjan90 Feb 8, 2023
3516c76
fix: ethrpc: Don't send sub notifs in array
magik6k Feb 8, 2023
c2e3832
Update eth_subscribe itests to work with correct responses
magik6k Feb 8, 2023
df2824c
test: build: ignore git tags in embedded metadata
arajasek Feb 8, 2023
42d667e
Merge pull request #10205 from filecoin-project/steb/update-fvm
arajasek Feb 8, 2023
2ee8c46
fix: build: use actual v9 bundles for butterfly
arajasek Feb 8, 2023
da2bb41
Merge pull request #10213 from filecoin-project/asr/fix-butterfly
magik6k Feb 8, 2023
9339267
fix: ethrpc: emit correct bloom filters (#10194)
magik6k Feb 8, 2023
8345877
skip problematic test vectors.
raulk Feb 9, 2023
8d6aa24
feat: actors: Add bytecode getter
magik6k Feb 9, 2023
554dd2f
itests: Test EVM bytecode getters, check bytecode hash
magik6k Feb 9, 2023
e321761
ethrpc: Add missing fields to EthTx
magik6k Feb 9, 2023
cb8e283
Merge pull request #10184 from filecoin-project/asr/merge-release-int…
magik6k Feb 9, 2023
0e7cf61
Update cli/backup.go
rjan90 Feb 9, 2023
25babac
Merge pull request #10208 from filecoin-project/fix/seal-delay-seconds
magik6k Feb 9, 2023
4d5f60c
Merge pull request #10221 from filecoin-project/feat/evm-actor-byteco…
arajasek Feb 9, 2023
030b40b
Merge pull request #10211 from filecoin-project/fix/ethsub-noarray
arajasek Feb 9, 2023
a32db5f
Merge pull request #10186 from filecoin-project/nonsense-patch-1
magik6k Feb 9, 2023
d84479b
Merge pull request #10162 from filecoin-project/mikers/deployValueTest2
magik6k Feb 9, 2023
83a7d6e
Merge pull request #10134 from filecoin-project/gstuart/shed-path-fix
magik6k Feb 9, 2023
c98093b
Merge remote-tracking branch 'origin/release/v1.20.0' into mikers/cre…
magik6k Feb 9, 2023
4f5fea8
Merge pull request #10163 from filecoin-project/mikers/create2test2
magik6k Feb 9, 2023
9848e04
Merge pull request #10209 from filecoin-project/fix-check-backupfile
rjan90 Feb 9, 2023
b0fa75f
feat: eth cli: Strip out empty spaces around contract bytes
magik6k Feb 9, 2023
ada3239
Merge pull request #10160 from filecoin-project/gstuart/send-from-f4
magik6k Feb 9, 2023
75f9b7d
Merge pull request #10119 from filecoin-project/gstuart/tx-hash-on-si…
magik6k Feb 9, 2023
1c13a59
Merge pull request #10223 from filecoin-project/feat/ethtx-fixes
jennijuju Feb 9, 2023
0f05232
Merge pull request #10224 from filecoin-project/feat/ethcli-strip-spaces
magik6k Feb 9, 2023
a83f120
fix: chain: make sure the head is empty, not the code
Stebalien Feb 9, 2023
038686b
Merge pull request #10225 from filecoin-project/steb/fix-actor-state-…
arajasek Feb 9, 2023
15f45d5
bump test vectors.
raulk Feb 9, 2023
6302771
remove test vectors bleeding edge job.
raulk Feb 9, 2023
d30ace0
Merge branch 'release/v1.20.0' into raulk/timestamp-null-rounds
raulk Feb 9, 2023
088d231
fix: Don't call WalletExport in msg signing flows
magik6k Feb 9, 2023
bc4ae8d
updates butterflynet reset artifacts
ognots Feb 8, 2023
ec1b2b9
Merge pull request #9973 from placer14/mg/chore/expose-compaction-poo…
magik6k Feb 10, 2023
37e9fe9
Merge pull request #10189 from filecoin-project/raulk/timestamp-null-…
magik6k Feb 10, 2023
54ed1f1
Merge pull request #10230 from filecoin-project/chore/nv18-butterflyn…
magik6k Feb 10, 2023
7aa6663
Merge pull request #10232 from filecoin-project/worker-all-task-flag2
magik6k Feb 10, 2023
80fccba
fix: gas: update ffi & correct the message inclusion cost in nv18 (#1…
Stebalien Feb 10, 2023
e06e3a0
Merge branch 'release/v1.20.0' into fix/EthUint64-args
raulk Feb 10, 2023
1588dd3
Merge pull request #10227 from filecoin-project/fix/signing-noexport
magik6k Feb 10, 2023
f1381ad
refactor: use EthHash for event topics
Stebalien Feb 8, 2023
ece8f25
fix: eth: strict event parsing
Stebalien Feb 8, 2023
37044ed
Apply suggestions from code review
ychiaoli18 Feb 10, 2023
bca0cec
rebased upstream/master and compiling
adlrocha Feb 10, 2023
cc302dd
fix: eth: log on unexpected events
Stebalien Feb 10, 2023
b0d917d
fix: make gen
Stebalien Feb 10, 2023
6994c47
fix config.yml
adlrocha Feb 10, 2023
3c58040
implement itest and handle optional params
ychiaoli18 Feb 10, 2023
5e56af3
fix typo
ychiaoli18 Feb 10, 2023
1996694
Merge pull request #10215 from filecoin-project/steb/txhash-topic
arajasek Feb 10, 2023
01e616f
fix: stmgr: make the tipset and height agree when estimating gas (#10…
Stebalien Feb 10, 2023
db749b8
Merge branch 'release/v1.20.0' into fix/EthUint64-args
ychiaoli18 Feb 10, 2023
778768d
eth_feeHistory: parse block param correctly.
raulk Feb 10, 2023
8cded9f
add todo
ychiaoli18 Feb 10, 2023
e167891
Update to FFI v1.20.0-rc1
arajasek Feb 10, 2023
c61267c
fix bad test.
raulk Feb 10, 2023
6a76bbb
improve TODO.
raulk Feb 10, 2023
2ec34e2
Update to go-state-types v0.10.0-rc2
arajasek Feb 10, 2023
83bce7c
disable adding git tags to bundle metadata
arajasek Feb 10, 2023
753a0e5
Update actors to v10.0.0-rc.1
arajasek Feb 10, 2023
5e12916
Merge pull request #10237 from filecoin-project/asr/update-everything
arajasek Feb 10, 2023
1ee9516
Merge pull request #9961 from filecoin-project/fix/EthUint64-args
magik6k Feb 11, 2023
37e1ac5
eth: FIP-0055: implement final version of transitory delegated signat…
raulk Feb 12, 2023
eb541e9
Merge remote-tracking branch 'upstream/release/v1.20.0' into adlrocha…
adlrocha Feb 13, 2023
1f67d51
make lint happy and re-generate devgen.car
adlrocha Feb 13, 2023
3c11001
Merge remote-tracking branch 'origin/adlrocha/rebase' into bundle_gen…
adlrocha Feb 13, 2023
e982897
setup ipc gateway in genesis and assign initial balance
adlrocha Feb 13, 2023
2251a56
override with ipc-actors type to load ipc bundle automatically
adlrocha Feb 13, 2023
7a0bebb
set balance of reward actor according to network name and minor fix
adlrocha Feb 13, 2023
d5794d7
linter fixes
adlrocha Feb 13, 2023
52a0ff6
make linter happy :)
adlrocha Feb 13, 2023
c3aa431
deploy ipc subnet actor
adlrocha Feb 15, 2023
505664a
Merge branch 'spacenet' into bundle_genesis
adlrocha Feb 15, 2023
fab4f19
Merge branch 'bundle_genesis' into adlrocha/load-ipc-bundle
adlrocha Feb 15, 2023
88b0d4b
Merge branch 'adlrocha/load-ipc-bundle' into adlrocha/deploy-subnet-a…
adlrocha Feb 15, 2023
a6edec3
fix config.yml
adlrocha Feb 15, 2023
1856a5b
Merge pull request #73 from consensus-shipyard/adlrocha/deploy-subnet…
adlrocha Feb 16, 2023
2073a1f
Merge pull request #72 from consensus-shipyard/adlrocha/load-ipc-bundle
adlrocha Feb 16, 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
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -617,4 +617,4 @@ workflows:
name: mir-consensus-tests
suite: consensus
go-test-flags: "-tags=spacenet -timeout 60m -run TestMirConsensus"
target: "./itests/mir_test.go"
target: "./itests/mir_test.go"
4 changes: 4 additions & 0 deletions api/api_full.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"fmt"
"time"

"github.com/consensus-shipyard/go-ipc-types/subnetactor"
"github.com/google/uuid"
"github.com/ipfs/go-cid"
blocks "github.com/ipfs/go-libipfs/blocks"
Expand Down Expand Up @@ -858,6 +859,9 @@ type FullNode interface {

RaftState(ctx context.Context) (*RaftStateData, error) //perm:read
RaftLeader(ctx context.Context) (peer.ID, error) //perm:read

// IPC-specific methods
IpcAddSubnetActor(ctx context.Context, wallet address.Address, params subnetactor.ConstructParams) (address.Address, error) //perm:write
}

// reverse interface to the client, called after EthSubscribe
Expand Down
7 changes: 4 additions & 3 deletions api/cbor_gen.go

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

3 changes: 3 additions & 0 deletions api/docgen/docgen.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
"time"
"unicode"

"github.com/consensus-shipyard/go-ipc-types/subnetactor"
"github.com/google/uuid"
"github.com/ipfs/go-cid"
"github.com/ipfs/go-graphsync"
Expand Down Expand Up @@ -401,6 +402,8 @@ func init() {
FromBlock: pstring("2301220"),
Address: []ethtypes.EthAddress{ethaddr},
})

addExample(subnetactor.ConsensusType(0))
}

func GetAPIType(name, pkg string) (i interface{}, t reflect.Type, permStruct []reflect.Type) {
Expand Down
34 changes: 26 additions & 8 deletions api/mocks/mock_full.go

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

32 changes: 24 additions & 8 deletions api/proxy_gen.go

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

10 changes: 6 additions & 4 deletions api/v0api/proxy_gen.go

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

18 changes: 10 additions & 8 deletions api/v0api/v0mocks/mock_full.go

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

Binary file added build/actors/ipc-actors.car
Binary file not shown.
57 changes: 54 additions & 3 deletions build/builtin_actors.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ import (
//go:embed actors/*.tar.zst
var embeddedBuiltinActorReleases embed.FS

const IPCCarPath = "actors/ipc-actors.car"

//go:embed actors/ipc-actors.car
var ipcActorsFs embed.FS

func init() {
if BundleOverrides == nil {
BundleOverrides = make(map[actorstypes.Version]string)
Expand Down Expand Up @@ -61,9 +66,30 @@ func loadManifests(netw string) error {
var newMetadata []*BuiltinActorsMetadata
// First, prefer overrides.
for av, path := range BundleOverrides {
root, actorCids, err := readBundleManifestFromFile(path)
if err != nil {
return err
var (
root cid.Cid
actorCids map[string]cid.Cid
err error
)
// if the version bundle is to be overridden by the ipc-actors bundle
if IsIPCActorOverride(path) {
fi, err := ipcActorsFs.Open(IPCCarPath)
if err != nil {
return xerrors.Errorf("couldn't open ipc-actors.car: %w", err)
}

root, actorCids, err = readBundleManifest(fi)
if err != nil {
return err
}
fi.Close() //nolint

} else {
// else we use a path override
root, actorCids, err = readBundleManifestFromFile(path)
if err != nil {
return err
}
}
newMetadata = append(newMetadata, &BuiltinActorsMetadata{
Network: netw,
Expand Down Expand Up @@ -264,3 +290,28 @@ func GetEmbeddedBuiltinActorsBundle(version actorstypes.Version) ([]byte, bool)
return car, true
}
}

// GetIPCActorsBundle gets the specific bundle including ipc actors from the embedded car file.
func GetIPCActorsBundle(ctx context.Context, bs blockstore.Blockstore) (cid.Cid, error) {
f, err := ipcActorsFs.Open(IPCCarPath)
if err != nil {
return cid.Undef, xerrors.Errorf("error opening ipc-actors bundle: %w", err)
}
defer f.Close() //nolint

hdr, err := car.LoadCar(ctx, bs, f)
if err != nil {
return cid.Undef, xerrors.Errorf("error loading builtin actors bundle: %w", err)
}

if len(hdr.Roots) != 1 {
return cid.Undef, xerrors.Errorf("expected one root when loading actors bundle, got %d", len(hdr.Roots))
}
return hdr.Roots[0], nil
}

// IsIPCActorOverride checks if the override should point to the ipc-actors or
// some other generic path.
func IsIPCActorOverride(path string) bool {
return path == "ipc-actors"
}
Binary file modified build/openrpc/full.json.gz
Binary file not shown.
Binary file modified build/openrpc/gateway.json.gz
Binary file not shown.
Binary file modified build/openrpc/miner.json.gz
Binary file not shown.
Binary file modified build/openrpc/worker.json.gz
Binary file not shown.
4 changes: 3 additions & 1 deletion build/params_spacenet.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ import (
)

var NetworkBundle = "devnet"
var BundleOverrides map[actorstypes.Version]string
var BundleOverrides = map[actorstypes.Version]string{
actorstypes.Version10: "ipc-actors",
}
var ActorDebugging = false

// FIXME: The following will be used to address this issue:
Expand Down
Binary file added builtin-actors-devnet.car
Binary file not shown.
14 changes: 12 additions & 2 deletions chain/gen/genesis/f02_reward.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ package genesis
import (
"context"

ipctypes "github.com/consensus-shipyard/go-ipc-types/sdk"
cbor "github.com/ipfs/go-ipld-cbor"
"golang.org/x/xerrors"

"github.com/filecoin-project/go-state-types/abi"
actorstypes "github.com/filecoin-project/go-state-types/actors"
"github.com/filecoin-project/go-state-types/big"
"github.com/filecoin-project/go-state-types/manifest"
Expand All @@ -18,7 +20,7 @@ import (
"github.com/filecoin-project/lotus/chain/types"
)

func SetupRewardActor(ctx context.Context, bs bstore.Blockstore, qaPower big.Int, av actorstypes.Version) (*types.Actor, error) {
func SetupRewardActor(ctx context.Context, bs bstore.Blockstore, qaPower big.Int, av actorstypes.Version, networkName string) (*types.Actor, error) {
cst := cbor.NewCborStore(bs)
rst, err := reward.MakeState(adt.WrapStore(ctx, cst), av, qaPower)
if err != nil {
Expand All @@ -35,9 +37,17 @@ func SetupRewardActor(ctx context.Context, bs bstore.Blockstore, qaPower big.Int
return nil, xerrors.Errorf("failed to get reward actor code ID for actors version %d", av)
}

// For IPC and spacenet, rewards are handled by the IPC gateway in subnets,
// let's not allocate any initial balance into the reward actor if this is not
// the rootnet.
balance := abi.NewTokenAmount(0)
if networkName == ipctypes.RootSubnet.String() {
balance = types.BigInt{Int: build.InitialRewardBalance}
}

act := &types.Actor{
Code: actcid,
Balance: types.BigInt{Int: build.InitialRewardBalance},
Balance: balance,
Head: statecid,
}

Expand Down
Loading