Steven Allen
77fbc60cb8
fix: stmgr: copy the message before modifying it
2023-02-13 10:06:59 -08:00
Steven Allen
01e616f29e
fix: stmgr: make the tipset and height agree when estimating gas ( #10216 )
...
* fix: stmgr: make the tipset and height agree when estimating gas
Specifically re-execute all messages in the current tipset, tacking the new
message onto the end. That way, the epoch is the epoch of the current tipset.
We could try to "make" a fake block and use that, but that's unlikely to
work well.
* fix: stmgr: only apply tipset messages for CallWithGas
* fix: itest: window post dispute
2023-02-10 20:49:26 +00:00
Raúl Kripalani
e25728cb68
remove leftover hack.
2023-01-13 19:59:09 +00:00
raulk
cdf3812e40
NV18: Filecoin EVM runtime + Actor Events + EthAccount + EAM + f4 addressing ( #9998 )
...
Co-authored-by: Steven Allen <steven@stebalien.com>
Co-authored-by: Raul Kripalani <raulk@users.noreply.github.com>
Co-authored-by: Kevin Li <ychiaoli18@users.noreply.github.com>
Co-authored-by: vyzo <vyzo@hackzen.org>
Co-authored-by: Ian Davis <nospam@iandavis.com>
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Jennifer Wang <jiayingw703@gmail.com>
Co-authored-by: Geoff Stuart <geoff.vball@gmail.com>
Co-authored-by: Shrenuj Bansal <shrenuj.bansal@protocol.ai>
Co-authored-by: Shrenuj Bansal <108157875+shrenujbansal@users.noreply.github.com>
Co-authored-by: Geoff Stuart <geoffrey.stuart@protocol.ai>
Co-authored-by: Aayush Rajasekaran <aayushrajasekaran@Aayushs-MacBook-Pro.local>
Co-authored-by: ZenGround0 <5515260+ZenGround0@users.noreply.github.com>
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-01-13 19:11:13 +00:00
Steven Allen
e78d1306ee
feat: fvm: add support for looking up past tipset CIDs ( #9687 )
...
* feat: add support for generating tipset CIDs
(cherry-picked from feat/nv18-fevm)
* feat: fvm: add support for looking up past tipset CIDs
We do this by adding yet another "getter" to the VM that resolves an
epoch into a TipSetKey.
Co-authored-by: Kevin Li <ychiaoli18@users.noreply.github.com>
2022-11-22 12:41:03 -05:00
Geoff Stuart
96035005b8
Fold together call functions
2022-11-18 00:10:12 -05:00
Geoff Stuart
21afb3f5ea
Review fixes
2022-11-16 15:07:23 -05:00
Geoff Stuart
cde4b804e3
gas estimation shed command
2022-11-15 21:39:56 -05:00
Geoff Stuart
884b9004db
bubble up errors properly from ApplyImplicitMessage
2022-11-01 10:12:22 +00:00
Geoff Stuart
ec5358773e
statemanager call function will return call information even if call errors
2022-10-31 13:23:11 +00:00
Łukasz Magiera
08b22edd89
fix make gen
2022-08-29 16:25:30 +02:00
Aayush
474a50252b
FVM: always enable tracing for user-triggered executions
2022-07-14 15:41:26 -04:00
Steven Allen
d192b821a9
fix: gas: estimate gas with a zero base-fee
...
Otherwise, an account will need funds to estimate the max possible gas a
message could take (which is usually the block gas limit).
This does mean gas estimation no longer checks if the sending account
has enough funds to cover the message cost, but MpoolPush will now do
this.
2022-07-08 09:47:45 -07:00
Łukasz Magiera
e65fae28de
chore: fix imports
2022-06-14 17:00:51 +02:00
Steven Allen
f7c610ee23
feat: vm: drop nv14 support from the FVM
...
The next FVM version will only support nv15+.
This change also disables the FVM before nv15, even if enabled through
the environment variable. This allows "catching up" from before nv15.
2022-05-23 09:50:54 -07:00
Aayush
3a121f99c7
stmgr: call: use a buffered concurrent-access blockstore
2022-03-21 19:32:18 -04:00
Aayush
4af8b8ecf3
fix: avoid racy memstores when estimating gas
2022-03-20 16:25:38 -04:00
Aayush
e6117c49ef
Address review
2022-03-15 19:34:59 -04:00
Aayush
2ba34add2a
stmgr: call needs to flush VM before fetching nonce
2022-02-24 12:19:59 -05:00
Aayush
d58babe32c
fix: set FilVested when constructing VmOpts
2022-02-24 12:04:05 -05:00
Aayush
b6682f4bbe
feat: use either lotus vm or fvm consistently
2022-02-24 12:04:05 -05:00
Aayush Rajasekaran
670bd993f3
Refactor: VM: Remove the NetworkVersionGetter
2021-12-17 19:14:21 -05:00
Aayush Rajasekaran
6f6f5d79fb
Refactor: State: Let Rand get network versions
2021-12-17 18:54:17 -05:00
Aayush Rajasekaran
3f4eaa99d5
Refactor: State: Rename stmgr::GetNtwkVersion to GetNetworkVersion
2021-12-17 18:43:39 -05:00
Aayush Rajasekaran
dfb65ed89f
Plumb contexts through
2021-12-11 17:04:00 -05:00
Aayush Rajasekaran
c3c46e9097
Fix Drand fetching around null tipsets
2021-09-29 11:57:59 -04:00
Łukasz Magiera
95b128b7bc
chain: Cleanup consensus logic
2021-09-02 18:09:37 +02:00
Steven Allen
08207912a5
fix: check if at genesis when testing for expensive forks in Call
...
Otherwise, we could try to lookup the parent of the block at height 0.
2021-08-30 16:23:13 -07:00
Steven Allen
165735d01a
fix: correctly handle null blocks when detecting an expensive fork
...
Also improve/fix documentation to reflect the _actual_ tipset that's
passed into upgrades.
And update some comments.
fixes #7192
2021-08-27 15:04:01 -07:00
Łukasz Magiera
9bd312881d
VMSys doesn't belong in chainstore
2021-07-27 15:30:23 +02: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
Aayush Rajasekaran
49fce48c3e
Tweak CallVM to use current epoch, not future epoch
2021-06-01 12:43:16 -04:00
zl
6f64d5db6f
bugfix: StateManager.Replay
2021-03-13 00:12:37 +08: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
Steven Allen
f23034305f
Handle worker key changes correctly in runtime
2020-10-24 02:57:17 -07: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
Aayush Rajasekaran
ce54110228
Add message CID to InvocResult
2020-10-14 00:06:22 -04:00
Aayush Rajasekaran
96e1dfd8d7
Add an endpoint for precise circulating supply
2020-10-12 16:38:29 -04:00
Steven Allen
e8253d22c6
only forbid Call* at expensive forks
2020-10-07 16:14:11 -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
47a83b422e
handle state forks in gas estimation
2020-09-30 15:52:32 -07:00
Steven Allen
42d5d8d784
run upgrade logic on stmgr.Call
2020-09-30 14:56:16 -07:00
Łukasz Magiera
683a58195e
More terraforming in chain/
2020-09-14 14:46:38 +02: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
39755a294a
Update to specs v0.9.6
2020-09-07 15:48:41 -04:00