Steven Allen
20de759aee
feat: fvm: optimize FVM lanes a bit ( #11875 )
...
This is showing up in profiles so I figured I'd optimize it a bit:
1. Avoid holding locks while recording metrics.
2. Slightly reduce allocations by re-using the metrics "mutators".
Also, use the passed context for better tracing.
This is unlikely to make a huge difference, but it may help RPC
providers a _tiny_ bit and doesn't really move the complexity needle.
2024-04-14 15:12:19 -05:00
Aayush
410bdc389e
fix: nv21fix migration: correctly upgrade system actor
2023-11-09 14:14:41 -05:00
Aayush
7e6ed09628
refactor: move vm.Rand to rand.Rand
2023-08-22 11:34:28 -04:00
Aayush
034f6cf832
wip: 2 more randomness fetching APIs
2023-08-21 16:32:27 -04:00
Aayush
e5fbba7958
Refactor: Rand: Return randomness digest to VM
2023-08-21 15:44:49 -04:00
Aayush
98a82d3dfe
Refactor: Rand: Rename DrawRandomness to DrawRandomnessFromBase
2023-08-21 15:03:46 -04:00
Aayush
05ac9453cd
Refactor: Rand: return randomness base without hashing
2023-08-21 15:03:46 -04:00
Łukasz Magiera
683432e6e0
Merge pull request #11119 from filecoin-project/chore/cleanup-compunscid
...
chore: legacy syscalls: Cleanup ComputeUnsealedSectorCID
2023-08-02 06:45:35 -07:00
Aayush
cd958e4f6e
feat: FVM: do not error on unsuccessful implicit messages
2023-07-31 15:26:37 -04:00
Łukasz Magiera
bf36ca93bb
legacy syscalls: Cleanup ComputeUnsealedSectorCID
2023-07-31 12:43:47 +02:00
Steven Allen
1fc47eb7d8
feat: vm: allow raw "cbor" in state and use the new go-multicodec
...
1. Switch to go-multicodec as the source of multicodec code information.
This gives us a central, generated source of multicodec codes.
2. Use this library inside the VM and shapshot logic to consistently
allow CBOR, in addition to DagCBOR.
3. Remove the hard-coded CBOR constant.
2023-07-17 11:24:01 -07:00
Aayush
07965467ee
feat: fvm: apply a max length when decoding events
2023-07-08 11:05:01 -04:00
Jorropo
fe42d974a2
chore: all: migrate from go-libipfs to boxo
...
github.com/ipfs/libipfs/blocks was unmigrated to github.com/ipfs/go-block-format due to compatibility issues with the rest of the IPLD stack.
2023-04-18 17:22:18 +02:00
vyzo
d71b528253
reorg initialization code for better readability, remove unused import
2023-03-30 18:15:13 +03:00
vyzo
7b4e68249a
add comment about Signal unsoundness
2023-03-30 18:13:08 +03:00
vyzo
54a80a8a97
revert dead code
2023-03-30 18:11:44 +03:00
vyzo
4184ce9c75
refactor execution lanes: hide the lock
2023-03-29 16:45:45 +03:00
vyzo
71650cd8a4
rename newVM to makeVM for a happy yushie
2023-03-28 18:05:00 +03:00
vyzo
b2b78e9dfa
Update chain/vm/execution.go
...
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2023-03-28 17:56:35 +03:00
vyzo
dcd9869842
make gen
2023-03-28 16:58:09 +03:00
vyzo
08134552a4
address review comments
2023-03-24 15:48:58 +02:00
vyzo
4b590e2102
add vm execution metrics
2023-03-24 15:16:22 +02:00
vyzo
317a87d669
add some sanity checks for execution concurrency parameters
2023-03-23 18:52:37 +02:00
vyzo
2a0660447a
make token.Done idempotent
2023-03-23 17:38:36 +02:00
vyzo
ee6c0f8570
only call Atoi on non empty strings
2023-03-23 17:28:08 +02:00
vyzo
6550abdfcc
introduce execution lanes
2023-03-23 16:53:50 +02:00
Steven Allen
dbbcf4b2ee
feat: vm: switch to the new exec trace format ( #10372 )
...
This is now "FVM" native. Changes include:
1. Don't treat "trace" messages like off-chain messages. E.g., don't
include CIDs, versions, etc.
2. Include IPLD codecs where applicable.
3. Remove fields that aren't filled by the FVM (timing, some errors,
code locations, etc.).
2023-03-01 16:02:18 -08:00
Aayush
63b03a48d0
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
2023-02-10 18:39:51 -05:00
Steven Allen
80fccba93f
fix: gas: update ffi & correct the message inclusion cost in nv18 ( #10228 )
...
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2023-02-10 12:48:20 +00:00
Steven Allen
a83f120f32
fix: chain: make sure the head is empty, not the code
2023-02-09 11:36:02 -08:00
Aayush
f291572b4a
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
2023-02-03 09:27:04 -05:00
raulk
b46258d0bf
feat: evm: align events implementation with FIP-0049 and FIP-0054. ( #10152 )
...
- Event keys are now t1, t2, t3, t4 for topics; and d for data.
- ref-fvm no longer stores events in the blockstore for us. It just
returns events to the client, who is now responsible for handling
them as it wishes / according to its configuration.
- Add a flag to VMOpts to have the events AMT be written in the blockstore.
- Add a flag to the ChainStore to advertise to the rest of the system
if the ChainStore is storing events.
- Enable that flag if the EthRPC is enabled (can also add an explicit
configuration flag if wanted).
2023-02-02 19:10:30 -08:00
Jorropo
f572852d06
chore: all: bump go-libipfs to replace go-block-format
...
Includes changes from:
- https://github.com/ipfs/go-block-format/pull/37
- https://github.com/ipfs/go-libipfs/pull/58
2023-01-26 17:03:18 +01:00
Aayush
8842b21ec9
feat: vm: Assert empty object CID when dumping state
2023-01-25 12:35:18 -05: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
Aayush
28b4ebd52b
chore: VM: don't export Extern::VerifyBlockSig
2022-12-16 16:54:09 -05:00
Geoff Stuart
ae4010ffb6
Drop actor keys from chain/actors/manifest.go
2022-12-13 18:02:34 -05:00
Geoff Stuart
e1926a06e8
Use abi.MethodNum instead of uint64 for method nums
2022-12-13 12:29:31 -05:00
Steven Allen
2651a38f89
Merge branch 'master' into feat/nv18
2022-11-22 10:08:54 -08: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
vyzo
0b6d1ad20b
set predictable address when creating account actors
2022-11-09 11:15:16 +02:00
Steven Allen
c6f2710e1c
feat: future proof against new address protocols
...
This lets us add new address protocols to go-address without implicitly
accepting them in messages on the network.
2022-11-08 12:28:23 -08:00
Steven Allen
8df5b81f24
fix: make test vector extraction work with the FVM
...
This also ignores the VM "Flush" option and instead, flushes
unconditionally (in the FVM):
1. In the FVM, we don't read blocks on flush (ever).
2. All _uses_ of TVX use a "proxy" blockstore that buffers writes, so
nothing should actually get flushed to lotus.
2022-11-07 16:09:44 -05:00
Aayush
c0b7343e60
Merge branch 'release/v1.18.0' into asr/merge-release-into-master
2022-11-06 14:40:13 -05:00
Aayush
13b59c9c23
Invoker: Use MethodMeta from go-state-types
2022-10-19 15:53:26 -04:00
Geoff Stuart
cdd7f26fb3
Allow setting local bundles for Debug FVM for av 9+
2022-10-18 12:48:24 -04:00
Geoff Stuart
37be57610c
feat: actors: Integrate datacap actor into lotus ( #9348 )
...
* Integrate datacap actor
* Implement datacap actor in chain/builtin
2022-09-21 15:51:28 -04:00
Geoff Stuart
94add978b0
chore: actors: Allow builtin-actors to return a map of methods ( #9342 )
...
* Allow builtin-actors to return a map of methods
* go mod
* Fix tests
* Fix tests, check carefully please
2022-09-21 10:56:58 -04:00
Łukasz Magiera
9be712de99
deps: Use latest cbor-gen
2022-09-20 17:30:07 +02:00
Aayush
c0bbaebaf4
more fixes
2022-09-09 21:40:15 -04:00