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
Aayush Rajasekaran
774e068436
Update to specs-actors v0.9.8
2020-09-10 17:41:55 -04:00
Aayush Rajasekaran
86ba21029d
Update to go state types 001afaca718c
2020-09-10 17:41:55 -04:00
Aayush Rajasekaran
316ac61875
Update to go state types 3ca0d2890090
2020-09-10 17:41:55 -04:00
Jakub Sztandera
2d3f92aeed
Introduce beacon Schedule
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
whyrusleeping
8a8f0ab3ec
pass tipset through upgrade logic
2020-09-08 13:45:44 -07:00
whyrusleeping
d1cf445327
use defined constant for fork height
2020-09-07 16:18:22 -07:00
whyrusleeping
26ec0716b9
fix lint errors
2020-09-07 16:12:44 -07:00
whyrusleeping
97af576f6a
Implement faucet funds reallocation logic
...
use all committed sectors instead of power
give all miners who had at least a sector on friday a base amount
include genesis miner in redistribution
drop back to 1,000,000
2020-09-07 16:06:13 -07:00
Aayush Rajasekaran
45011c0fad
Use latest version if no upgrade height is specified
2020-09-07 17:43:14 -04:00
Aayush Rajasekaran
6eea5dd109
Update to specs 0.9.7 and markets 0.6.0
2020-09-07 17:11:32 -04:00
Aayush Rajasekaran
d678fe4bfa
Fix tests
2020-09-07 15:48:42 -04:00
Aayush Rajasekaran
39755a294a
Update to specs v0.9.6
2020-09-07 15:48:41 -04:00
Łukasz Magiera
f90cfda2e6
wallet: Add interface layer
2020-09-04 22:18:03 +02:00
Steven Allen
fceeaf42ca
Robustify state manager against holes in actor method numbers
...
Also, don't simply assume that the field order matches the method numbers in
`builtin.Method*` structs.
2020-09-04 12:26:55 -07:00
austinabell
ba881eb4cf
Remove height from chain rand
2020-09-01 15:48:16 -04:00
Łukasz Magiera
df635579c4
storagefsm: Handle sectors with expired deals better
2020-08-27 13:51:38 +02:00
Łukasz Magiera
e47e51275a
Merge pull request #3138 from filecoin-project/feat/remainder
...
place the remainder of unallocated funds in a 'remainder' account
2020-08-18 23:52:19 +02:00
Łukasz Magiera
71aa3a59d9
Merge pull request #3047 from filecoin-project/asr/burn-genesis
...
Do not include the burnt funds actor as a genesis account actor
2020-08-18 23:10:32 +02:00
Łukasz Magiera
d23cd2e507
Merge pull request #3136 from filecoin-project/asr/genesis-hardcode
...
Create a testnet version of setupGenesisActors
2020-08-18 21:21:04 +02:00
Aayush Rajasekaran
214eeccb18
Create a testnet version of setupGenesisActors
2020-08-18 13:56:47 -04:00
Aayush Rajasekaran
8942c02f28
Add a reminder comment
2020-08-18 06:01:48 -04:00
whyrusleeping
13e5b72cdb
proper genesis block history
...
Commit hash originally stamped into the ethereum blockchain:
https://etherscan.io/tx/0xe8f51c9eefb682cd866f059462577b6dd3d2685ff4b6437f6c940ff4f4aaf067
2020-08-17 21:13:43 -07:00
Łukasz Magiera
6ef7a30b19
Merge pull request #3089 from filecoin-project/integrate/storage-fsm
...
integrate extern/{storage-fsm,sector-storage} into lotus source tree
2020-08-17 18:37:54 +02:00
Łukasz Magiera
704578c9c2
Merge pull request #3108 from austinabell/msload
...
Remove unnecessary miner state load for checking slashed
2020-08-17 18:11:09 +02:00
austinabell
c3c6fda9d5
Remove unnecessary miner state load for checking slashed
2020-08-17 09:32:47 -04:00
Raúl Kripalani
efdc428d5d
keep storage-fsm (renamed to storage-sealing) and sector-storage in extern.
2020-08-17 14:26:18 +01:00
Raúl Kripalani
3c17cd655e
integrate extern/sector-storage into lotus proper.
2020-08-16 11:09:58 +01:00
Aayush Rajasekaran
0359a458e4
Include more info in StateCirculatingSupply
2020-08-14 16:53:30 -04:00
Aayush Rajasekaran
5702ea236c
Do not include the burnt funds actor as a genesis account actor
2020-08-13 20:19:47 -04:00
whyrusleeping
b3a31d8823
add function to check entire state tree balance
2020-08-12 15:45:46 -07:00