spacemeshos / SMIPS

Spacemesh Improvement Proposals
https://spacemesh.io
Creative Commons Zero v1.0 Universal
7 stars 1 forks source link

SVM Transaction Life-cycle [WIP] #59

Closed YaronWittenstein closed 2 years ago

YaronWittenstein commented 3 years ago

SVM Transaction Life-cycle

Overview

This SMIP documents the life-cycle of a single transaction from the SVM's perspective.

Goals and motivation

The main motivation is to put on spec the whole process since it contains multiple parts. Some of the parts are directly related to the Account Unification design. Others parts exist to serve the new Nonce Scheme needs. Since there are many delicate details, having this SMIP should ease raising open-questions and putting everyone on the same page.

High-level design

In this section, we assume we have a transaction we got from the Network which is not yet in the MemPool.

By saying a transaction in this document, we refer to a Call transaction over an existing Account or a Spawn transaction (spawning new Accounts out of a given Template).

Important: The life-cycle of a Deploy Template should be much more simplified and for the 1st Mainnet, each Template will be deployed as part of the Genesis process.

Questions/concerns

Dependencies and interactions

Stakeholders and reviewers

@lrettig @avive @neysofu @noamnelke @sudachen