Łukasz Magiera
ca1cd741c3
stmgr: Split stmgr.go into smaller subfiles
2021-07-27 15:15:50 +02:00
Łukasz Magiera
50b217817e
stmgr: Split upgrade code from upgrade runtime
2021-07-27 14:48:30 +02:00
ZenGround0
4cd05fa39c
Lint
2021-07-22 09:49:47 -04:00
ZenGround0
ed844c5283
Use current ntwk version in mpool message check
2021-07-22 09:49:47 -04:00
ZenGround0
9fc4a25bd1
Fix tests with bad network version refs
2021-07-22 09:49:47 -04:00
ZenGround0
47b5afa84b
Add version six and a half
2021-07-22 09:49:47 -04:00
Steven Allen
cf81c897df
test: handle null blocks in TestForkRefuseCall
...
Otherwise, this fails on rare occasions.
2021-07-14 17:41:24 -07:00
Łukasz Magiera
c98b6f6408
Merge pull request #6389 from filecoin-project/frrist/execmonitor-interface
...
polish(stmgr): define ExecMonitor for message application callback
2021-06-08 12:30:52 +02:00
frrist
0519c77c24
polish(stmgr): define ExecMonitor for message applicaiton callback
2021-06-07 11:03:18 -07:00
Aayush Rajasekaran
c66d66dfcb
Fix state manager::Call()
2021-06-03 17:09:42 -04:00
Łukasz Magiera
c5797482b2
Revert CallWithGas hack
2021-06-03 18:51:01 +02:00
Łukasz Magiera
dc642d0b7b
Merge remote-tracking branch 'origin/feat/nv13' into feat/nv13-1.11
2021-06-01 21:06:58 +02:00
Łukasz Magiera
fa8beeac2b
Merge pull request #6371 from filecoin-project/fix/robustify-commit-batcher
...
Fix tests
2021-06-01 21:01:03 +02:00
Aayush Rajasekaran
49fce48c3e
Tweak CallVM to use current epoch, not future epoch
2021-06-01 12:43:16 -04:00
Aayush Rajasekaran
621e4eab0d
Address review
2021-05-31 18:13:23 -04:00
Aayush Rajasekaran
183c12db25
Make mempool reject ID addresses that are not reorg-stable
2021-05-31 18:13:23 -04:00
Łukasz Magiera
1e4456138e
Merge master into feat/nv13
2021-05-27 12:28:20 +02:00
Łukasz Magiera
2afe725933
Get PreCommitting to work
2021-05-17 22:02:23 +02:00
Aayush Rajasekaran
b5da2655dc
Introduce v5 actors
2021-05-10 19:44:28 -04:00
Steven Allen
4867425685
fix: use the parent state when listing actors
...
To be consistent with other commands.
2021-04-28 23:35:27 -07:00
Łukasz Magiera
4b04cac219
Merge pull request #4938 from filecoin-project/asr/total-power
...
Return total power when GetPowerRaw doesn't find miner claim
2021-04-29 07:45:43 +02:00
Łukasz Magiera
a24a73bb52
Merge tag 'v1.8.0' into release/v1.9.0
2021-04-27 10:30:33 +02:00
Łukasz Magiera
c4137a438d
Merge commit 'f1ded63d608e1b191d79c780b8065f8cff367c98' into feat/nv12-1.11
2021-04-27 08:22:55 +02:00
Aayush Rajasekaran
f1ded63d60
v4 specs-actors integration, nv12 migration
2021-04-27 02:02:44 -04:00
Łukasz Magiera
2e63690125
Merge pull request #6056 from filecoin-project/feat/vm-metrics
...
stmgr: Improve ApplyBlocks metrics
2021-04-18 17:07:16 +02:00
Łukasz Magiera
bb7801e6b7
fix lint
2021-04-18 16:17:31 +02:00
frrist
c118415b12
polish(api): expose filReserveDisbursed via CirculatingSupply API
...
- motivated by: https://github.com/filecoin-project/sentinel-visor/issues/462
2021-04-16 15:15:38 -07:00
Łukasz Magiera
1b696aae5f
stmgr: Fix VMApplyEarly metric
2021-04-16 14:57:59 +02:00
Łukasz Magiera
53537a0af2
stmgr: Improve ApplyBlocks metrics
2021-04-15 19:44:13 +02:00
Łukasz Magiera
e76935147f
Merge remote-tracking branch 'origin/master' into feat/v1-api
2021-04-13 14:24:22 +02:00
Peter Rabbitson
25a77d905d
Centralize everything on ipfs/go-log/v2
...
I am not entirely sure this is right, but everything seems to build...
2021-04-06 15:04:32 +02:00
Aayush Rajasekaran
37ca23d9e2
Merge branch 'releases' into asr/release-master
2021-04-05 17:29:19 -04:00
Łukasz Magiera
deb2b90b6a
Fix lotus/miner build
2021-04-05 13:23:46 +02:00
Łukasz Magiera
0103d2f621
v1 api: Cleanup message wait/search apis
2021-04-02 13:52:24 +02:00
Aayush Rajasekaran
cea46e5f53
Upgrade to version 11 at Norwegian height
2021-03-29 18:50:13 -04:00
Łukasz Magiera
53cba157e2
Merge pull request #5804 from zl03jsj/fix/StateManager.Replay
...
fix: StateManager.Replay
2021-03-25 13:27:45 +01:00
Łukasz Magiera
c41777dcd2
API proxy struct codegen ( #5854 )
...
* mostly working api proxy gen
* api: Consistent api names
* fix docsgen
* regenerate api struct
* api: expand external interfaces
* Add missing gen files
* apigen: fix perm detection
* api: Move perm tags to the interface
* gofmt
* worker perms
* docsgen
* docsgen: ignore tag comments
* apigen: add codegen warning
* gofmt
* missing actor type
* docsgen
* make linter happy
* fix lint
* apigen: use directives for tags
* docsgen
* regen openrpc docs
2021-03-23 13:42:56 +01:00
Peter Rabbitson
c340750672
Nerpa reset backport/cherry-pick from 73eabc310f
2021-03-18 20:55:15 +01:00
Aayush Rajasekaran
707219b7a1
Disable the Calico migration on not-mainnet
2021-03-17 20:46:00 -04:00
zl
6f64d5db6f
bugfix: StateManager.Replay
2021-03-13 00:12:37 +08:00
whyrusleeping
e0b650d4ec
make rpcstatemanager its own package, for easy reuse
2021-03-11 18:21:18 -08:00
Raúl Kripalani
b1c348b4a7
address review comments.
2021-03-02 16:31:01 +00:00
Raúl Kripalani
3795cc2bd2
segregate chain and state blockstores.
...
This paves the way for better object lifetime management.
Concretely, it makes it possible to:
- have different stores backing chain and state data.
- having the same datastore library, but using different parameters.
- attach different caching layers/policies to each class of data, e.g.
sizing caches differently.
- specifying different retention policies for chain and state data.
This separation is important because:
- access patterns/frequency of chain and state data are different.
- state is derivable from chain, so one could never expunge the chain
store, and only retain state objects reachable from the last finality
in the state store.
2021-02-28 22:49:44 +00:00
Raúl Kripalani
7f0f7d0b36
Merge branch 'master' into refactor/lib/blockstore
2021-02-28 19:55:23 +00:00
Aayush Rajasekaran
60b7f56297
Code review
2021-02-19 15:10:56 -05:00
Aayush Rajasekaran
96b4b828f7
Remove the null bls actor from the init actor state
2021-02-18 19:01:28 -05:00
Aayush Rajasekaran
a0fedf8bdb
Only delete the zero BLS actor on mainnet
2021-02-18 19:01:21 -05:00
Aayush Rajasekaran
5aff54161a
Delete the null-bls actor
2021-02-18 19:01:03 -05:00
Łukasz Magiera
0c6aef221d
Fix error logging format strings
2021-02-11 12:00:26 +01:00
Łukasz Magiera
56a9d05491
Merge remote-tracking branch 'origin/master' into steb/refactor-consistent-tipset-methods
2021-01-30 12:05:21 +01:00
Raúl Kripalani
d1104fec4c
rename blockstores for consistency.
2021-01-29 23:17:25 +00:00
Raúl Kripalani
e02fdf5064
Merge branch 'master' into refactor/lib/blockstore
2021-01-29 21:21:31 +00:00
Raúl Kripalani
b0cbc932bd
consolidate all blockstores in blockstore package.
2021-01-29 20:01:00 +00:00
Steven Allen
53271729b6
tweak migration perf
2021-01-28 16:15:23 -08:00
Steven Allen
2f3c912ad9
improve upgrade logging
2021-01-28 16:15:23 -08:00
Steven Allen
a9a65e05d8
feat: avoid computing the tip-set state when looking up addresses
2021-01-27 17:54:42 -08:00
Steven Allen
4890d83acb
test: assert that pre-migrations are actually run
2021-01-27 16:12:08 -08:00
Steven Allen
39d4f6780d
pre-migration: refactor timing specification
...
There are now three times:
1. StartWithin: start within X epochs of the upgrade.
2. DontStartWithin: don't start within X epochs of the upgrade.
3. StopWithin: stop within X epochs of the upgrade.
2021-01-27 16:09:07 -08:00
Steven Allen
bceb246080
set worker counts for pre-migrations
2021-01-27 15:47:51 -08:00
Steven Allen
cffeb1a590
fix doc comments
...
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2021-01-27 15:41:26 -08:00
Steven Allen
9574db6d0a
log in migration
2021-01-27 15:05:00 -08:00
Steven Allen
9a03c003fe
fix sorted test
2021-01-27 13:05:14 -08:00
Steven Allen
56054b0ad3
sort pre-migrations
2021-01-27 12:57:47 -08:00
Steven Allen
854385168d
add additional pre-migration validations
2021-01-27 12:57:47 -08:00
Steven Allen
35d6a40071
cleanup pre-migration code a bit
2021-01-27 12:57:17 -08:00
Steven Allen
4072f24bf2
test pre-migrations
2021-01-27 12:57:17 -08:00
Steven Allen
05026a23b9
actually use the temp cache for pre-migrations
2021-01-27 12:57:17 -08:00
Steven Allen
32059d0cbf
stmgr: only persist the migration cache on success
...
Otherwise, we may end up referencing blocks we never wrote to disk.
2021-01-27 12:56:47 -08:00
Steven Allen
b08abc12ba
fix error message
2021-01-27 12:55:56 -08:00
Steven Allen
6362887ce3
rename Upgrade to Migration where applicable
...
This was really confusing.
2021-01-27 12:55:56 -08:00
Steven Allen
77117a0be5
wait for pre-upgrades to exit on stop
2021-01-27 12:55:56 -08:00
Steven Allen
f65d179f2c
make pre-migrations async
2021-01-27 12:55:56 -08:00
Steven Allen
8d05c5d62c
validate pre-migrations
2021-01-27 12:55:56 -08:00
Steven Allen
8986a2002d
wire up re-migration logic for nv10
2021-01-27 12:55:56 -08:00
Steven Allen
8d3cc632ac
add support for running pre-migrations and caching their results
...
This can significantly speedup state migrations.
2021-01-27 12:55:53 -08:00
Steven Allen
f10b13ff32
register v3 methods
2021-01-21 15:21:20 -08:00
Steven Allen
f1719d1e23
mark v3 as expensive
2021-01-21 15:21:20 -08:00
Steven Allen
bf48728875
move winning post proof type logic into a helper
2021-01-21 15:21:20 -08:00
Steven Allen
64e805926f
update specs-actors for migration name change
...
Actors v3 is network version 10.
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
f6a0da3751
Add the migrationLogger struct
2021-01-21 15:21:19 -08:00
Steven Allen
99ea5b62ea
wire up v3 migration
2021-01-21 15:21:19 -08:00
Steven Allen
9d2c430138
remove abstract map constructor/loader
...
Different maps have different parameters now so we just construct/load them manually where needed.
2021-01-21 15:21:19 -08:00
Steven Allen
8dc49db30d
window <-> winning
2021-01-21 15:21:19 -08:00
Steven Allen
c05df6dc1d
fix: use the correct proof type in winning proofs
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
ab90a3b2bc
Actors update: MinerInfo.SealProofType has been removed
2021-01-21 15:21:19 -08:00
Aayush Rajasekaran
ba3b32cfe7
Pull in actors v3
2021-01-21 15:21:18 -08:00
Dirk McCormick
827a473391
feat: expose StateSearchMessage on gateway
2021-01-19 11:27:43 +01:00
Łukasz Magiera
22884f18f1
define v9 upgrade
2020-12-19 20:44:21 +01:00
Steven Allen
b8e3808c4f
Make state tipset usage consistent in the API
...
_Always_ (almost) use the tipset's parent state, instead of computing.
Exceptions:
* MinerGetBaseInfo. Fixing this would break things so we need to be
careful (although we could bump the API version, fix it, then fix the call
sites).
* StateReplay. This is replaying a message on top of the given tipset.
* GasEstimateGasLimit. This executes the message on-top-of the tipset's
computed state (unlike call which executes it on the tipset's parent state).
* Having this method and Call apply the message at different heights is really
weird.
2020-12-09 11:29:40 -08:00
Dirk McCormick
e02a366419
feat: error out deals that are not activated by proposed deal start epoch
2020-11-30 15:27:40 +01:00
Aayush Rajasekaran
526cd739f6
Return total power when GetPowerRaw doesn't find miner claim
2020-11-20 00:31:04 -05:00
zgfzgf
7b39c3a907
optimize code UpgradeTapeHeight and go fmt
2020-11-19 14:47:13 +08:00
Aayush Rajasekaran
c40c513508
Merge pull request #4862 from filecoin-project/asr/circ-supply
...
Modify vesting schedule post-calico
2020-11-17 13:32:55 -05:00
Steven Allen
4f33c91f81
fix calico upgrade logic
2020-11-16 19:04:17 +01:00
Steven Allen
948ee53080
add upgrade height where SDR is required
2020-11-16 19:04:13 +01:00
Łukasz Magiera
6bea9dd178
Making sealing logic work with multiple seal proof types
2020-11-16 19:03:30 +01:00
Aayush Rajasekaran
96d56ec096
Modify vesting schedule post-calico
2020-11-15 19:27:45 -05:00
Aayush Rajasekaran
5d9c79811f
Update to actors v2.3.0
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-11-12 18:49:11 +01:00
Łukasz Magiera
3a3270b37c
nv7 upgrade: Don't use terminated sectors for winning PoSt
2020-11-09 18:52:10 +01:00
Aayush Rajasekaran
7b8158b1af
Update to actors v2.3.0
2020-11-08 16:00:22 -05:00
Aayush Rajasekaran
5ff42505e8
Add a StateDecodeParams method
2020-10-29 22:04:33 -04:00
Steven Allen
f23034305f
Handle worker key changes correctly in runtime
2020-10-24 02:57:17 -07:00
Steven Allen
8bb69f1e9c
Use pre-computed parent state root for lookback info
...
There's no need to call TipSetState and recompute it.
2020-10-23 19:40:01 -07:00
Dirk McCormick
92942d44d1
feat: lite-mode - market storage and retrieval clients
2020-10-23 15:02:26 +02:00
Łukasz Magiera
b2510e5fc5
Merge pull request #4508 from filecoin-project/fix/actor-not-found-mininig-base
...
MinerGetBaseInfo: if miner is not found in lookback, check current
2020-10-22 19:45:43 +02:00
Steven Allen
5e23933757
fix import of v0 for test
...
We're still on actors v0 in this test.
2020-10-21 12:18:38 -07:00
Steven Allen
bcabe7b3b5
migrate methods to abstracted methods
...
Method numbers never change anyways. At worst, we'll deprecate old methods and
have to explicitly import them from the correct actors version to use them.
2020-10-21 12:18:37 -07:00
Steven Allen
4e730b5ec8
port to v2 imports
2020-10-21 12:16:23 -07:00
Jakub Sztandera
6530431995
MinerGetBaseInfo: if miner is not found in lookback, check current
...
If miner is found in current state, just return nil base info as miner
cannot mine if he is not found in the lookback.
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-20 23:54:35 +02:00
Aayush Rajasekaran
556f92a823
Update to actors v2.2.0 at PostLiftoff epoch
2020-10-20 17:23:35 -04:00
Aayush Rajasekaran
89f46cb5cc
Make ApplyRet's GasOutputs a pointer, return nil when unused
2020-10-15 21:20:53 -04:00
Aayush Rajasekaran
cb801d47c7
Add GasCost to InvocResult
2020-10-15 18:48:51 -04:00
Łukasz Magiera
22f49f8946
Merge pull request #4366 from zgfzgf/feat-applyblocks-map
...
optimize map use struct{}
2020-10-15 03:04:57 +02:00
Łukasz Magiera
1350079503
Merge pull request #4353 from zgfzgf/feat-compute-tipSet-state
...
optimize code use ts.Cids
2020-10-15 03:03:39 +02:00
Aayush Rajasekaran
bf619862c3
Merge pull request #4382 from filecoin-project/asr/invoc-result
...
Add message CID to InvocResult
2020-10-14 02:06:09 -04:00
Aayush Rajasekaran
ce54110228
Add message CID to InvocResult
2020-10-14 00:06:22 -04:00
Aayush Rajasekaran
458ea277fc
Aggregate irregular state transitions into a single EexcutionTrace
2020-10-13 22:59:42 -04:00
Aayush Rajasekaran
7dbc8965be
Apply nonces to implicit messages
2020-10-13 22:06:06 -04:00
Aayush Rajasekaran
2426700821
Don't transfer zero FIL during rebalancing fork
2020-10-13 22:06:06 -04:00
Jakub Sztandera
87cd8c6725
Fix off by one tipset in searchBackForMsg
...
This way we will return the tipset the message was executed in
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-13 17:48:54 +02:00
zgfzgf
1eb2d0ae50
optimize map use struct{}
2020-10-13 22:34:07 +08:00
zgfzgf
07d0b67628
optimize code use ts.Cids
2020-10-13 10:46:41 +08:00
Aayush Rajasekaran
96e1dfd8d7
Add an endpoint for precise circulating supply
2020-10-12 16:38:29 -04:00
Steven Allen
92177b5738
implement tape upgrade
...
Upgrade to specs-actors v2.1 and network version 5. This fixes the bug where
prove commits were not accepted.
2020-10-12 02:00:27 -04:00
Steven Allen
d84f5dabab
remove upgrade invariant checks
...
These checks may be _too_ strict and could cause the upgrade to fail unnecessarily.
2020-10-09 21:51:58 -07:00
Łukasz Magiera
fdaa9c14ad
Merge remote-tracking branch 'origin/master' into feat/signing-backends
2020-10-09 20:36:51 +02:00
Dirk McCormick
767611247c
feat: add RPC for StateWaitMsg
2020-10-09 11:45:16 +02:00
Dirk McCormick
00a14de094
feat: gateway - StateLookupID
2020-10-09 11:43:03 +02:00
Dirk McCormick
e19cd9ed01
feat: lotus-lite - replace wallet StateManager with thin client to gateway
2020-10-09 11:43:03 +02:00
Łukasz Magiera
7d2f06cfbd
Fix WalletSign in tests
2020-10-09 01:34:48 +02:00
Łukasz Magiera
8783c7434e
Merge remote-tracking branch 'origin/master' into feat/signing-backends
2020-10-09 00:50:41 +02:00
Jakub Sztandera
60768f4863
Optimize SearchForMessage and GetReceipt
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-08 23:10:06 +02:00
Łukasz Magiera
8dd8892b81
Merge remote-tracking branch 'origin/next' into feat/faster-v2-upgrade
2020-10-08 01:54:29 +02:00
Łukasz Magiera
f9f54819d4
Env var to control v2 actor migration
...
Env var to control v2 actor migration
2020-10-07 19:41:36 -04:00
Aayush Rajasekaran
d1555106a4
Set actorsv2 upgrade epoch
2020-10-07 19:41:36 -04:00
Steven Allen
d97eb10349
fix spelling nit
2020-10-07 16:32:54 -07:00
Steven Allen
e8253d22c6
only forbid Call* at expensive forks
2020-10-07 16:14:11 -07:00
Steven Allen
1fea550ce5
test that we refuse explicit calls at the migration epochs
2020-10-07 15:33:14 -07:00
Steven Allen
9b7b6146eb
construct the new vm with the state manager's vm constructor
2020-10-07 15:31:14 -07:00
Steven Allen
dab1107f5b
avoid estimating gas and explicitly calling blocks on fork tipsets
...
These tipsets can be slow.
2020-10-07 15:31:14 -07:00
Steven Allen
fe912223bd
pass an explicit upgrade height to migrations
...
The tipset height may not be the correct one, given null blocks.
2020-10-07 15:31:12 -07:00
Steven Allen
cca17f6078
fix state tree version in v2 upgrade
2020-10-07 12:04:32 -07:00
Steven Allen
e803cf151f
introduce separate state-tree versions
...
Instead of versioning the state tree along with the actors, version it
separately. This structure may not upgrade every time we update actors.
2020-10-07 12:04:32 -07:00
Łukasz Magiera
d6fa644974
Fix lint
2020-10-07 14:19:04 +02:00
Łukasz Magiera
b7c8f65af5
stmgr: Make v2 upgrade faster
2020-10-07 08:12:05 +02:00
Aayush Rajasekaran
4d6a0f7b8c
Set WinningPoStSectorSetLookback to finality post-v2 actors
2020-10-06 17:40:37 -04:00
Aayush Rajasekaran
282c99bdbd
Merge pull request #4160 from filecoin-project/asr/reserve-funds-cric-supply
...
Add funds that have left FilReserve to circ supply
2020-10-06 17:39:05 -04:00
Łukasz Magiera
15330396bb
Fix circ supply before v2 upgrade epoch
2020-10-06 16:53:49 +02:00
Aayush Rajasekaran
4a9155ba85
Use new MinerEligibleToMine method post-v2 actors
2020-10-06 04:43:55 -04:00
Aayush Rajasekaran
f8c886a611
Rename MiningBaseInfo.HasMinPower to EligibleForMining
2020-10-06 03:49:11 -04:00