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
Aayush Rajasekaran
f55b18eabe
Add funds that have left FilReserve to circ supply
2020-10-05 23:54:57 -04:00
Steven Allen
420c44ed2c
fix msig start height
2020-10-05 10:35:21 -07:00
Steven Allen
b6500beaab
Merge branch 'master' into asr/spec-v1
2020-10-05 10:29:09 -07:00
Steven Allen
c5de617af6
decouple network version and upgrades
...
Not all upgrades require network version bumps.
2020-10-02 17:10:57 -07:00
ZenGround0
fecc1ee0ef
Review cleanup
2020-10-02 17:12:12 -04:00
Steven Allen
ed86ac14a1
use upgrade epochs from upgrade schedule
2020-10-01 20:37:14 -07:00
Steven Allen
101d07f704
fix version off by one error
2020-10-01 15:33:32 -07:00
Steven Allen
e865ba0c64
improve upgrade schedule configurable
...
Unfortunately, it looks like functional ops cannot be passed in via lotus's
di system.
2020-10-01 15:18:59 -07:00
Steven Allen
1cc0f74744
make the upgrade schedule fully configurable
...
This should help with testing.
2020-10-01 15:02:40 -07:00
Aayush Rajasekaran
3d91633699
Update to v2/actors master
2020-10-01 05:07:00 -04:00
Steven Allen
47a83b422e
handle state forks in gas estimation
2020-09-30 15:52:32 -07:00
Steven Allen
9d59635b42
fix error messages
2020-09-30 15:04:16 -07:00
Steven Allen
42d5d8d784
run upgrade logic on stmgr.Call
2020-09-30 14:56:16 -07:00
ZenGround0
8091bb3117
Run fork function after cron
2020-09-30 17:19:58 -04:00
Steven Allen
5253c0d959
fix: import the correct v2 methods
2020-09-30 10:11:48 -07:00
Aayush Rajasekaran
be9d23b329
Centralize some params in builtin
2020-09-29 02:25:43 -04:00
Steven Allen
c0e190344d
check state invariants after upgrade
2020-09-28 17:42:29 -07:00
Steven Allen
a314cfd237
process error when setting network name
2020-09-28 15:59:11 -07:00
Steven Allen
c0b316fd9c
finish wiring up actors v2
2020-09-28 15:58:07 -07:00
Steven Allen
3e6323a503
make setNetworkName work with any actors version
2020-09-28 15:54:48 -07:00
Steven Allen
d1000e38d7
wire up network upgrade logic for v2 actors upgrade
2020-09-28 15:50:54 -07:00
Steven Allen
c88d124954
use built-in actor ID
...
The init actor will not allow the account actor to exec an arbitrary actor.
2020-09-28 14:43:55 -07:00
Steven Allen
233d8a9b72
update even more imports
2020-09-28 14:25:58 -07:00
Steven Allen
ca9448bc11
rename actors v1 -> actors v2
...
The actual actors version is v2, not v1. Using Version1 internally was really confusing.
2020-09-28 13:13:18 -07:00
Steven Allen
947d1e2902
Merge branch 'master' into asr/spec-v1
2020-09-28 12:53:40 -07:00
Steven Allen
5f3160cf5b
continue expanding vm abstraction layer
2020-09-28 12:48:08 -07:00
whyrusleeping
bddd6dd8a8
fix GetPower with no miner address
2020-09-26 11:06:16 -05:00
Aayush Rajasekaran
12e97dbea7
Fix docs and linter
2020-09-26 02:59:24 -04:00
Łukasz Magiera
ef28ebb14a
Ignition upgrades, much excite.
2020-09-25 23:55:37 -07:00
Steven Allen
8b35f480c4
initial vm conversion
...
We're probably going to want to change some of these design decisions down the
road, but this is a good starting point.
* We may want to use a more general test for "is actor valid at epoch". Maybe
just a function?
* I'd like to push some of the actor metadata down into the actor types
themselves. Ideally, we'd be able to register actors with a simple
`Register(validation, manyActors...)` call.
2020-09-25 12:49:39 -07:00
Steven Allen
87351fa35c
move version to actors, from builtin
...
Otherwise, we're going to end up with an import cycle between the adt and this
version.
2020-09-25 12:49:39 -07:00
Steven Allen
858f11992f
compile fix
2020-09-25 12:49:39 -07:00
Aayush Rajasekaran
ebad0ded3d
Introduce v1 actors
2020-09-25 12:49:39 -07:00
Steven Allen
32a699d6a3
Add some actors policy setters for testing
...
Addresses:
* a307e4593a (r491966115)
* a307e4593a (r491966634)
Note: This puts everything into a policy package to avoid a dependency cycle
between the build package, the miner package, and the types package. This is
also why I introduced a GetPreCommitChallengeDelay function and removed the
variable.
2020-09-23 15:00:52 -07:00
Aayush Rajasekaran
a876a0ba44
Use actor state addresses
2020-09-23 02:32:40 -04:00
Aayush Rajasekaran
476e7992e8
Add an error return to all actor state interface methods
2020-09-23 01:51:38 -04:00
Steven Allen
2967c4ec10
use abstract actor type methods
2020-09-22 12:02:29 -07:00
Steven Allen
441d7ff790
cleanup imports some more
2020-09-22 11:14:55 -07:00
Steven Allen
bc24fdbd14
finish migrating statemanager
2020-09-22 11:09:56 -07:00
Aayush Rajasekaran
d56da1b014
Refinements to stmgr and utils
2020-09-22 01:34:20 -04:00
Steven Allen
4cf0c105eb
optimize sector loading
...
And avoid exposing "arrays" via the miner abstraction. We may change these
structures later.
2020-09-21 12:12:08 -07:00
Aayush Rajasekaran
286fe04271
Add some TODOs
2020-09-21 02:52:45 -04:00
Aayush Rajasekaran
a95e34f742
Fix build
2020-09-21 02:02:33 -04:00
Łukasz Magiera
b25dd2a00d
More correct / fasterer GetSectorsForWinningPoSt
2020-09-20 23:04:45 +02:00
Steven Allen
1bf3b4989d
rename imports to match actors code
...
`sed -i 's/\bv0\(\w\)\(\w*\)/\L\1\E\20/g' **/*.go`
2020-09-18 14:59:27 -07:00
Steven Allen
e60027c00a
remove todo
2020-09-18 14:22:38 -07:00
Łukasz Magiera
70faa36b7f
Merge remote-tracking branch 'origin/master' into refactor/net-upgrade
2020-09-18 19:29:06 +02:00
Aayush Rajasekaran
694463ffbe
More lint fixes
2020-09-18 03:06:28 -04:00
Łukasz Magiera
6eda53565f
Most tests passing
2020-09-17 17:30:24 +02:00
Aayush Rajasekaran
31ff5230bb
Get State API almost working
2020-09-17 05:05:32 -04:00
Aayush Rajasekaran
053cfc1cc7
Migrate verifreg actor
2020-09-17 03:55:23 -04:00
hannahhoward
691bd9f442
feat(markets): complete markets conversion
...
complete markets conversion to using chain/actors types, also replacing DealProposal/DealState
interfaces with structs
2020-09-17 00:43:14 -07:00
Aayush Rajasekaran
e2295c372a
Migrate multisig actor
2020-09-17 02:57:45 -04:00
Aayush Rajasekaran
b60614982e
Migrate reward actor
2020-09-17 02:42:39 -04:00
Aayush Rajasekaran
9e48dd211a
Fixups
2020-09-17 02:34:15 -04:00
Aayush Rajasekaran
b530f25f09
Migrate miner actor
2020-09-16 17:20:25 -04:00
Łukasz Magiera
ccce1a9715
Merge pull request #3877 from filecoin-project/refactor/net-upgrade-paych
...
Support Network Upgrades: Payment Channel
2020-09-16 20:25:16 +02:00
Aayush Rajasekaran
90853e24cf
Add a boolean HasMinPower to return of GetPower
2020-09-16 01:47:24 -04:00
Aayush Rajasekaran
b4ee519282
Partial progress towards switching to miner and power interfaces
2020-09-16 01:37:49 -04:00
hannahhoward
05c11531b1
feat(paych): convert paych actor
...
build abstraction for paych actor and switch to using it in payment channel manager and state
predicates
2020-09-15 21:06:04 -07:00
jennijuju
5c69249ba3
Use window post
for window PoSt related log messages.
2020-09-15 21:22:29 -04:00
Steven Allen
454c382e7e
migrate StateMinerInitialPledgeCollateral
2020-09-15 18:05:33 -07:00
Steven Allen
91e9573863
Compile fixes
2020-09-15 12:13:13 -07:00
Łukasz Magiera
d4a7732d0a
Merge pull request #3800 from filecoin-project/asr/gascost
...
Add an API to get detailed gas costs for a message
2020-09-15 19:13:20 +02:00
Łukasz Magiera
4419850195
state api impl fixes
2020-09-15 15:29:25 +02:00
Łukasz Magiera
4dabab5ce6
state manager progress
2020-09-15 13:04:45 +02:00
Steven Allen
36f920bcd7
progress
2020-09-14 21:55:49 -07:00
Steven Allen
cc4d5306eb
Progress
2020-09-14 15:43:12 -07:00
Steven Allen
02dcb5e182
Merge branch 'master' into refactor/net-upgrade
2020-09-14 14:53:57 -07:00
Steven Allen
9804310cc8
Update specs-actors to 0.9.10
...
Moves the Keyer type (and helpers) into go-state-types.
2020-09-14 14:32:57 -07:00
Steven Allen
32eeb96ce7
Update to specs-actors 0.9.9
...
This patch changes the runtime interfaces, to make it possible to abstract over them.
2020-09-14 12:47:39 -07:00
Aayush Rajasekaran
d1850ea27d
Add an API to get detailed gas costs for a message
2020-09-14 14:40:13 -04:00
Łukasz Magiera
06ec571c20
Merge remote-tracking branch 'origin/master' into refactor/net-upgrade
2020-09-14 15:09:52 +02:00
Łukasz Magiera
683a58195e
More terraforming in chain/
2020-09-14 14:46:38 +02:00
Łukasz Magiera
68097132fe
Fix vm build
2020-09-14 13:45:20 +02:00
Steven Allen
d3594835c4
[WIP] Network upgrade support
...
This patch starts adding support for network upgrades.
* It adds an actors abstraction layer for loading abstract (cross-version) actors.
* It starts switching over to a shared deadline type.
* It adds an abstraction for ADTs (hamt/amt).
* It removes the callback-based API in the StateManager (difficult to abstract
across actor versions).
* It _does not_ actually add support for actors v2. We can do that in a followup
patch but that should be relatively easy.
This patch is heavily WIP and does not compile. Feel free to push changes
directly to this branch.
Notes:
* State tree access now needs a network version, because the HAMT type will change.
* I haven't figured out a nice way to abstract over changes to the _message_
types. However, many of them will be type aliased to actors v0 in actors v2 so
we can likely continue using the v0 versions (or use the v2 versions
everywhere). I've been renaming imports to `v0*` to make it clear that we're
importing types from a _specific_ actors version.
TODO:
* Consider merging incremental improvements? We'd have to get this compiling
again first but we could merge in the new abstractions, and slowly switch over.
* Finish migrating to the new abstractions.
* Remove all actor state types from the public API. See `miner.State.Info()` for
the planned approach here.
* Fix the tests. This is likely going to be a massive pain.
2020-09-11 20:16:29 -07:00
Aayush Rajasekaran
beba92aed4
Improve network versioning logic
2020-09-10 17:41:55 -04:00