Logo

    FVM syscall improvements

    Creator
    Alex North
    Created
    Jun 10, 2022 1:26 AM
    Project
    FVM Capabilities & Standards
    Stage
    Graduated from Notebook

    Rough ideas about enhancements to the FVM runtime to support more complex actors.

    These should be filed as issues in the FVM Specs repo, or as FIP discussion.

    Syscalls maybe for M2

    • Origin (top-level caller) address (and nonce?)
      • e.g. for 🏠Predictable actor address generation
    • Receiver nonce (for account abstraction)
    • Remove DeleteActor Embed GitHubEmbed GitHub
    • Expose block.timestamp in seconds. Used by finance, lending protocols, etc.
      • Even though it’s computable in normal circumstances, valuable in extreme ones
    • Gas price, gas limit, basefee
    • Balance() for any address (following Ethereum)
    • Contract upgrade mechanism (change actor state tree root to include deployer)
      • This is a big thing, not just a syscall

    Later (After M2)

    • Delegatecall – call code from other actor using this actor’s state storage
    • Staticcall - similar, but no side effects
    • Any primitives needed by rollups (optimistic verification games, zkSNARKs)
    • Merkle Trees primitives - APIs for Merkle inclusion proofs ~Kubuxu

    CryptoNet is a Protocol Labs initiative.