From 49c27fb51dc14a2dcfc1edc8d46889c9a51443d5 Mon Sep 17 00:00:00 2001 From: sydhds Date: Fri, 20 Sep 2024 10:28:29 +0200 Subject: [PATCH 1/2] Fix typo in OperationType (execut_sc -> execute_sc) --- proto/commons/massa/model/v1/operation.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/commons/massa/model/v1/operation.proto b/proto/commons/massa/model/v1/operation.proto index 20e4f9f..5a50047 100644 --- a/proto/commons/massa/model/v1/operation.proto +++ b/proto/commons/massa/model/v1/operation.proto @@ -36,7 +36,7 @@ message OperationType { // The sender sells `roll_count` rolls. Roll price is defined in configuration RollSell roll_sell = 3; // Execute a smart contract - ExecuteSC execut_sc = 4; + ExecuteSC execute_sc = 4; // Calls an exported function from a stored smart contract CallSC call_sc = 5; } From 1427f62f9d2dc98c3ae0868aa308672c2e80608c Mon Sep 17 00:00:00 2001 From: sydhds Date: Fri, 20 Sep 2024 11:00:06 +0200 Subject: [PATCH 2/2] Update doc --- doc/abi.html | 46 + doc/abi.md | 28 + doc/api.html | 795 +++- doc/api.md | 340 ++ doc/commons.html | 4464 +++++++++++----------- doc/commons.md | 1315 ++++--- proto/apis/massa/api/v1/public.proto | 6 +- proto/commons/massa/model/v1/block.proto | 2 +- proto/commons/massa/model/v1/node.proto | 4 +- 9 files changed, 4221 insertions(+), 2779 deletions(-) diff --git a/doc/abi.html b/doc/abi.html index c2f53c3..3510782 100644 --- a/doc/abi.html +++ b/doc/abi.html @@ -238,6 +238,14 @@

Table of Contents

MCallerHasWriteAccessResult +
  • + MChainIdRequest +
  • + +
  • + MChainIdResult +
  • +
  • MCheckAddressRequest
  • @@ -1091,6 +1099,37 @@

    CallerHasWriteAccessResult

    +

    ChainIdRequest

    +

    Chain id request

    + + + + + +

    ChainIdResult

    +

    Chain id result

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    iduint64

    + + + + +

    CheckAddressRequest

    Check address request

    @@ -3823,6 +3862,13 @@

    RespResult

    + + chain_id_result + ChainIdResult + +

    + + diff --git a/doc/abi.md b/doc/abi.md index a1187fe..3fb84da 100644 --- a/doc/abi.md +++ b/doc/abi.md @@ -19,6 +19,8 @@ - [CallResponse](#massa-abi-v1-CallResponse) - [CallerHasWriteAccessRequest](#massa-abi-v1-CallerHasWriteAccessRequest) - [CallerHasWriteAccessResult](#massa-abi-v1-CallerHasWriteAccessResult) + - [ChainIdRequest](#massa-abi-v1-ChainIdRequest) + - [ChainIdResult](#massa-abi-v1-ChainIdResult) - [CheckAddressRequest](#massa-abi-v1-CheckAddressRequest) - [CheckAddressResult](#massa-abi-v1-CheckAddressResult) - [CheckNativeAmountRequest](#massa-abi-v1-CheckNativeAmountRequest) @@ -368,6 +370,31 @@ Caller has write access result + + +### ChainIdRequest +Chain id request + + + + + + + + +### ChainIdResult +Chain id result + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + ### CheckAddressRequest @@ -1844,6 +1871,7 @@ the +1 comes from ResResult itself which is counted above | evm_get_address_from_pubkey_result | [EvmGetAddressFromPubkeyResult](#massa-abi-v1-EvmGetAddressFromPubkeyResult) | | | | evm_get_pubkey_from_signature_result | [EvmGetPubkeyFromSignatureResult](#massa-abi-v1-EvmGetPubkeyFromSignatureResult) | | | | is_address_eoa_result | [IsAddressEoaResult](#massa-abi-v1-IsAddressEoaResult) | | | +| chain_id_result | [ChainIdResult](#massa-abi-v1-ChainIdResult) | | | diff --git a/doc/api.html b/doc/api.html index f739d85..2aaf0ce 100644 --- a/doc/api.html +++ b/doc/api.html @@ -353,6 +353,26 @@

    Table of Contents

    massa/api/v1/public.proto - - - -
  • - massa/model/v1/staker.proto -
  • @@ -232,86 +217,20 @@

    Table of Contents

  • - massa/model/v1/versioning.proto - -
  • - - -
  • - massa/model/v1/stats.proto - -
  • - - -
  • - massa/model/v1/node.proto + massa/model/v1/address.proto
    • - MCompactConfig -
    • - -
    • - MConnectedNode -
    • - -
    • - MNodeStatus + MAddresses
    • - MPublicStatus + MNativeAddress
    • - EConnectionType + EAddressCategory
    • @@ -384,69 +303,11 @@

      Table of Contents

    • - massa/model/v1/denunciation.proto - -
    • - - -
    • - massa/model/v1/commons.proto - -
    • - - -
    • - massa/model/v1/amount.proto + massa/model/v1/staker.proto
      • - MNativeAmount + MStakerEntry
      • @@ -612,23 +473,46 @@

        Table of Contents

      • - massa/model/v1/slot.proto + massa/model/v1/amount.proto +
      • + + +
      • + massa/model/v1/denunciation.proto + @@ -867,51 +879,6 @@

        DatastoreEntry

        -
        -

        massa/model/v1/staker.proto

        Top -
        -

        - - -

        StakerEntry

        -

        StakerEntry

        - - - - - - - - - - - - - - - - - - - - - - - -
        FieldTypeLabelDescription
        addressstring

        Address

        rollsuint64

        Rolls

        - - - - - - - - - - - - -

        massa/model/v1/draw.proto

        Top
        @@ -996,13 +963,13 @@

        SlotDraw

        -

        massa/model/v1/versioning.proto

        Top +

        massa/model/v1/address.proto

        Top

        -

        MipComponentEntry

        -

        MipComponentEntry

        +

        Addresses

        +

        Addresses holds addresses

        @@ -1012,17 +979,48 @@

        MipComponentEntry

        - - + + + + + + + +
        kindMipComponentaddressesstringrepeated

        Addresses

        + + + + + +

        NativeAddress

        +

        Massa NativeAddress

        + + + + + + + + + + + - + - + - + + + + + + + + @@ -1032,8 +1030,51 @@

        MipComponentEntry

        -

        MipInfo

        -

        MIP info (name & versions & time range for a MIP)

        + + +

        AddressCategory

        +

        Address category discriminant

        +
        FieldTypeLabelDescription
        categoryAddressCategory

        Kind

        Address category

        versionuint32uint64

        Version

        Address version

        contentbytes

        Address content

        + + + + + + + + + + + + + + + + + + + + + + + + +
        NameNumberDescription
        ADDRESS_CATEGORY_UNSPECIFIED0

        Unspecified address category

        ADDRESS_CATEGORY_USER_ADDRESS1

        User address

        ADDRESS_CATEGORY_SC_ADDRESS2

        Smart contract address

        + + + + + + + +
        +

        massa/model/v1/operation.proto

        Top +
        +

        + + +

        CallSC

        +

        Calls an exported function from a stored smart contract

        @@ -1043,45 +1084,38 @@

        MipInfo

        - + - + - - + + - + - - + + - + - - + + - + - - + + - - - - - - - - + @@ -1091,8 +1125,8 @@

        MipInfo

        -

        MipStatusEntry

        -

        Entry for GetMipStatusResponse

        +

        ExecuteSC

        +

        Execute a smart contract

        nametarget_address string

        MIP name or descriptive name

        Target smart contract address

        versionuint32target_functionstring

        Network (or global) version (to be included in block header)

        Target function name. No function is called if empty

        startNativeTimeparameterbytes

        A timestamp at which the version gains its meaning (e.g. announced in block header)

        Parameter to pass to the target function

        timeoutNativeTimemax_gasuint64

        A timestamp at the which the deployment is considered failed

        The maximum amount of gas that the execution of the contract is allowed to cost

        activation_delayNativeTimecoinsNativeAmount

        Once deployment has been locked, wait for this duration before deployment is considered active

        componentsMipComponentEntryrepeated

        Components concerned by this versioning (e.g. a new Block version), and the associated component_version

        Extra coins that are spent from the caller's balance and transferred to the target

        @@ -1102,17 +1136,31 @@

        MipStatusEntry

        - - + + - + - - + + - + + + + + + + + + + + + + + + @@ -1122,104 +1170,8 @@

        MipStatusEntry

        - - -

        ComponentStateId

        -

        State machine for a Versioning component that tracks the deployment state

        -
        mip_infoMipInfodatabytes

        Mip info

        Smart contract bytecode.

        state_idComponentStateIdmax_coinsuint64

        State id

        The maximum of coins that could be spent by the operation sender

        max_gasuint64

        The maximum amount of gas that the execution of the contract is allowed to cost

        datastoreBytesMapFieldEntryrepeated

        A key-value store associating a hash to arbitrary bytes

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        NameNumberDescription
        COMPONENT_STATE_ID_UNSPECIFIED0

        Default enum value

        COMPONENT_STATE_ID_ERROR1

        Error state

        COMPONENT_STATE_ID_DEFINED2

        Initial state

        COMPONENT_STATE_ID_STARTED3

        Past start, can only go to LockedIn after the threshold is above a given value

        COMPONENT_STATE_ID_LOCKEDIN4

        Locked but wait for some time before going to active (to let users the time to upgrade)

        COMPONENT_STATE_ID_ACTIVE5

        After LockedIn, deployment is considered successful (after activation delay)

        COMPONENT_STATE_ID_FAILED6

        Past the timeout, if LockedIn is not reach

        - -

        MipComponent

        -

        Versioning component enum

        - - - - - - - - - - - - - - - - - - - - - - - - - -
        NameNumberDescription
        MIP_COMPONENT_UNSPECIFIED0

        Default enum value

        MIP_COMPONENT_ADDRESS1

        Address component

        MIP_COMPONENT_KEYPAIR2

        Keypair component

        - - - - - - - -
        -

        massa/model/v1/stats.proto

        Top -
        -

        - - -

        ConsensusStats

        -

        Consensus statistics

        +

        OpTypes

        +

        OpTypes

        @@ -1229,38 +1181,48 @@

        ConsensusStats

        - - - - + + + + - - - - - - + +
        start_timespanNativeTime

        Start of the time span for stats

        op_typesOpTyperepeated

        Operations types

        end_timespanNativeTime

        End of the time span for stats

        + + + + + +

        Operation

        +

        The operation as sent in the network

        + + + + + + + - - + + - + - + - + - - + + - + @@ -1270,8 +1232,8 @@

        ConsensusStats

        -

        ExecutionStats

        -

        Execution statistics

        +

        OperationIds

        +

        OperationIds

        FieldTypeLabelDescription
        final_block_countuint64feeNativeAmount

        Number of final blocks

        The fee they have decided for this operation

        stale_block_countexpire_period uint64

        Number of stale blocks in memory

        After `expire_period` slot the operation won't be included in a block

        clique_countuint64opOperationType

        Number of actives cliques

        The type specific operation part

        @@ -1281,31 +1243,48 @@

        ExecutionStats

        - - - - + + + + + +
        time_window_startNativeTime

        Time window start

        operation_idsstringrepeated

        Operations ids

        + + + + + +

        OperationInfo

        +

        Information about an operation with its metadata

        + + + + + + + + - - + + - + - - - - + + + + - - + + - + @@ -1315,8 +1294,8 @@

        ExecutionStats

        -

        NetworkStats

        -

        Network statistics

        +

        OperationType

        +

        Type specific operation content

        FieldTypeLabelDescription
        time_window_endNativeTimeidstring

        Time window end

        The unique ID of the operation.

        final_block_countuint64

        Number of final blocks in the time window

        block_idsstringrepeated

        The IDs of the blocks in which the operation appears

        final_executed_operations_countuint64threaduint32

        Number of final executed operations in the time window

        The thread in which the operation can be included

        @@ -1326,38 +1305,38 @@

        NetworkStats

        - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + @@ -1367,8 +1346,8 @@

        NetworkStats

        -

        PoolStats

        -

        Pool statistics

        +

        OperationWrapper

        +

        A wrapper around an operation with its metadata

        in_connection_countuint64transactionTransaction

        In connections count

        Transfer coins from sender to recipient

        out_connection_countuint64roll_buyRollBuy

        Out connections count

        The sender buys `roll_count` rolls. Roll price is defined in configuration

        known_peer_countuint64roll_sellRollSell

        Total known peers count

        The sender sells `roll_count` rolls. Roll price is defined in configuration

        banned_peer_countuint64execute_scExecuteSC

        Banned node count

        Execute a smart contract

        active_node_countuint64call_scCallSC

        Active node count

        Calls an exported function from a stored smart contract

        @@ -1378,17 +1357,24 @@

        PoolStats

        - - - - + + + + - - + + - + + + + + + + + @@ -1398,22 +1384,8 @@

        PoolStats

        - - - - - - - - -
        -

        massa/model/v1/node.proto

        Top -
        -

        - - -

        CompactConfig

        -

        Compact configuration

        +

        RollBuy

        +

        The sender buys `roll_count` rolls. Roll price is defined in configuration

        endorsements_countuint64

        Endorsements

        block_idsstringrepeated

        The IDs of the blocks in which the operation appears

        operations_countuint64threaduint32

        Operations

        The thread in which the operation can be included

        operationSignedOperation

        The operation object itself

        @@ -1423,73 +1395,10 @@

        CompactConfig

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - + @@ -1499,8 +1408,8 @@

        CompactConfig

        -

        ConnectedNode

        -

        Connected node

        +

        RollSell

        +

        The sender sells `roll_count` rolls. Roll price is defined in configuration

        genesis_timestampNativeTime

        Time in milliseconds when the blockclique started.

        end_timestampNativeTime

        TESTNET: time when the blockclique is ended.

        thread_countuint32

        Number of threads

        t0NativeTime

        Time between the periods in the same thread.

        delta_f0uint64

        Threshold for fitness.

        operation_validity_periodsuint64

        Maximum operation validity period count

        periods_per_cycleroll_count uint64

        cycle duration in periods

        block_rewardNativeAmount

        Reward amount for a block creation

        roll_priceNativeAmount

        Price of a roll on the network

        max_block_sizeuint32

        Max total size of a block

        Roll count

        @@ -1510,24 +1419,10 @@

        ConnectedNode

        - - - - - - - - - - - - - - - - + + - + @@ -1537,8 +1432,8 @@

        ConnectedNode

        -

        NodeStatus

        -

        Node status

        +

        SignedOperation

        +

        Signed operation

        node_idstring

        Node id

        node_ipstring

        Node ip

        connection_typeConnectionTyperoll_countuint64

        Connection type

        Roll count

        @@ -1548,115 +1443,45 @@

        NodeStatus

        - - + + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - + - - + + - + - - + + - + @@ -1666,8 +1491,8 @@

        NodeStatus

        -

        PublicStatus

        -

        Public status

        +

        Transaction

        +

        Transfer coins from sender to recipient

        node_idstringcontentOperation

        Our node id

        Operation

        node_ipsignature string

        Optional node ip

        A cryptographically generated value using `serialized_data` and a public key.

        versioncontent_creator_pub_key string

        Node version

        current_timeNativeTime

        Now

        current_cycleuint64

        Current cycle

        current_cycle_timeNativeTime

        Current cycle starting timestamp

        next_cycle_timeNativeTime

        Next cycle starting timestamp

        connected_nodesConnectedNoderepeated

        Connected nodes

        last_executed_final_slotSlot

        Last executed final slot

        last_executed_speculative_slotSlot

        Last executed speculative slot

        The public-key component used in the generation of the signature

        final_state_fingerprintcontent_creator_address string

        The hash of the XOF final state hash

        consensus_statsConsensusStats

        Consensus stats

        pool_statsPoolStats

        Pool stats (operation count and endorsement count)

        network_statsNetworkStats

        Network stats

        Derived from the same public key used to generate the signature

        execution_statsExecutionStatssecure_hashstring

        Execution stats

        A secure hash of the non-malleable contents of a deterministic binary representation of the block header

        configCompactConfigserialized_sizeuint64

        Compact configuration

        The size of the serialized operation in bytes

        @@ -1677,73 +1502,17 @@

        PublicStatus

        - - - - - - - - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1755,8 +1524,8 @@

        PublicStatus

        -

        ConnectionType

        -

        ConnectionType enum

        +

        OpType

        +

        Operation type enum

        node_idstring

        Our node id

        versionrecipient_address string

        Node version

        Recipient address

        current_timeNativeTimeamountNativeAmount

        Now

        current_cycleuint64

        Current cycle

        current_cycle_timeNativeTime

        Current cycle starting timestamp

        next_cycle_timeNativeTime

        Next cycle starting timestamp

        last_executed_final_slotSlot

        Last executed final slot

        last_executed_speculative_slotSlot

        Last executed speculative slot

        final_state_fingerprintstring

        The hash of the XOF final state hash

        configCompactConfig

        Compact configuration

        Amount

        @@ -1764,21 +1533,39 @@

        ConnectionType

        - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -1791,13 +1578,13 @@

        ConnectionType

        -

        massa/model/v1/operation.proto

        Top +

        massa/model/v1/staker.proto

        Top

        -

        CallSC

        -

        Calls an exported function from a stored smart contract

        +

        StakerEntry

        +

        StakerEntry

        NameNumberDescription
        CONNECTION_TYPE_UNSPECIFIEDOP_TYPE_UNSPECIFIED 0

        Default enum value

        CONNECTION_TYPE_INCOMINGOP_TYPE_TRANSACTION 1

        Incoming connection

        Transaction

        CONNECTION_TYPE_OUTGOINGOP_TYPE_ROLL_BUY 2

        Outgoing connection

        Roll buy

        OP_TYPE_ROLL_SELL3

        Roll sell

        OP_TYPE_EXECUTE_SC4

        Execute smart contract

        OP_TYPE_CALL_SC5

        Call smart contract

        @@ -1807,38 +1594,17 @@

        CallSC

        - - - - - - - - + - - - - - - - - + - + - - - - - - - - + @@ -1848,8 +1614,22 @@

        CallSC

        -

        ExecuteSC

        -

        Execute a smart contract

        + + + + + + + + +
        +

        massa/model/v1/execution.proto

        Top +
        +

        + + +

        AsyncMessage

        +

        Asynchronous smart contract message

        target_addressstring

        Target smart contract address

        target_functionaddress string

        Target function name. No function is called if empty

        parameterbytes

        Parameter to pass to the target function

        Address

        max_gasrolls uint64

        The maximum amount of gas that the execution of the contract is allowed to cost

        coinsNativeAmount

        Extra coins that are spent from the caller's balance and transferred to the target

        Rolls

        @@ -1859,31 +1639,99 @@

        ExecuteSC

        - - + + - + - + - + + + + + + + + + + + + + + + + + + + + + + - + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1893,8 +1741,8 @@

        ExecuteSC

        -

        OpTypes

        -

        OpTypes

        +

        AsyncMessageTrigger

        +

        Structure defining a trigger for an asynchronous message

        databytesemission_slotSlot

        Smart contract bytecode.

        Slot at which the message was emitted

        max_coinsemission_index uint64

        The maximum of coins that could be spent by the operation sender

        Index of the emitted message within the `emission_slot`. +This is used for disambiguate the emission of multiple messages at the same slot.

        senderstring

        The address that sent the message

        destinationstring

        The address towards which the message is being sent

        handlerstring

        the handler function name within the destination address' bytecode

        max_gas uint64

        The maximum amount of gas that the execution of the contract is allowed to cost

        Maximum gas to use when processing the message

        datastoreBytesMapFieldEntryrepeated

        A key-value store associating a hash to arbitrary bytes

        feeNativeAmount

        Fee paid by the sender when the message is processed.

        coinsNativeAmount

        Coins sent from the sender to the target address of the message. +Those coins are spent by the sender address when the message is sent, +and credited to the destination address when receiving the message. +In case of failure or discard, those coins are reimbursed to the sender.

        validity_startSlot

        Slot at which the message starts being valid (bound included in the validity range)

        validity_endSlot

        Slot at which the message stops being valid (bound not included in the validity range)

        databytes

        Raw payload data of the message

        triggerAsyncMessageTrigger

        Trigger that define whenever a message can be executed

        can_be_executedbool

        Boolean that determine if the message can be executed. For messages without filter this boolean is always true. +For messages with filter, this boolean is true if the filter has been matched between `validity_start` and current slot.

        @@ -1904,10 +1752,17 @@

        OpTypes

        - - - - + + + + + + + + + + + @@ -1917,8 +1772,8 @@

        OpTypes

        -

        Operation

        -

        The operation as sent in the network

        +

        AsyncMessageUpdate

        +

        Asynchronous smart contract message

        op_typesOpTyperepeated

        Operations types

        addressstring

        Filter on the address

        datastore_keygoogle.protobuf.BytesValue

        Filter on the datastore key (Optional)

        @@ -1928,48 +1783,99 @@

        Operation

        - - + + - + - - + + - + - - + + - + - -
        feeNativeAmountemission_slotSetOrKeepSlot

        The fee they have decided for this operation

        Change the slot at which the message was emitted

        expire_perioduint64emission_indexSetOrKeepUint64

        After `expire_period` slot the operation won't be included in a block

        Change the index of the emitted message within the `emission_slot`. +This is used for disambiguate the emission of multiple messages at the same slot.

        opOperationTypesenderSetOrKeepString

        The type specific operation part

        Change the address that sent the message

        - - - - - -

        OperationIds

        -

        OperationIds

        - - - - - - - + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1979,8 +1885,8 @@

        OperationIds

        -

        OperationInfo

        -

        Information about an operation with its metadata

        +

        AsyncPoolChangeEntry

        +

        AsyncPoolChange Entry

        FieldTypeLabelDescription
        destinationSetOrKeepString

        Change the address towards which the message is being sent

        operation_idsstringrepeated

        Operations ids

        handlerSetOrKeepString

        Change the handler function name within the destination address' bytecode

        max_gasSetOrKeepUint64

        Change the maximum gas to use when processing the message

        feeSetOrKeepUint64

        Change the fee paid by the sender when the message is processed.

        coinsSetOrKeepUint64

        Change the coins sent from the sender to the target address of the message. +Those coins are spent by the sender address when the message is sent, +and credited to the destination address when receiving the message. +In case of failure or discard, those coins are reimbursed to the sender.

        validity_startSetOrKeepSlot

        Change the slot at which the message starts being valid (bound included in the validity range)

        validity_endSetOrKeepSlot

        Change the slot at which the message stops being valid (bound not included in the validity range)

        dataSetOrKeepBytes

        Change the raw payload data of the message

        triggerSetOrKeepAsyncMessageTrigger

        Change the trigger that define whenever a message can be executed

        can_be_executedSetOrKeepBool

        Change the boolean that determine if the message can be executed. For messages without filter this boolean is always true. +For messages with filter, this boolean is true if the filter has been matched between `validity_start` and current slot.

        @@ -1990,24 +1896,17 @@

        OperationInfo

        - + - - - - - - - - + - - + + - + @@ -2017,8 +1916,8 @@

        OperationInfo

        -

        OperationType

        -

        Type specific operation content

        +

        AsyncPoolChangeValue

        +

        AsyncPoolChangeValue

        idasync_message_id string

        The unique ID of the operation.

        block_idsstringrepeated

        The IDs of the blocks in which the operation appears

        Async message id

        threaduint32valueAsyncPoolChangeValue

        The thread in which the operation can be included

        AsyncPool message

        @@ -2028,38 +1927,24 @@

        OperationType

        - - - - - - - - - - - - - - - - + + - + - - + + - + - - + + - + @@ -2069,8 +1954,8 @@

        OperationType

        -

        OperationWrapper

        -

        A wrapper around an operation with its metadata

        +

        BytecodeExecution

        +

        Execute a bytecode

        transactionTransaction

        Transfer coins from sender to recipient

        roll_buyRollBuy

        The sender buys `roll_count` rolls. Roll price is defined in configuration

        roll_sellRollSelltypeAsyncPoolChangeType

        The sender sells `roll_count` rolls. Roll price is defined in configuration

        The type of the change

        execut_scExecuteSCcreated_messageAsyncMessage

        Execute a smart contract

        Created ledger entry

        call_scCallSCupdated_messageAsyncMessageUpdate

        Calls an exported function from a stored smart contract

        Update ledger entry

        @@ -2080,24 +1965,17 @@

        OperationWrapper

        - - - - - - - - - + + - + - - + + - + @@ -2107,8 +1985,8 @@

        OperationWrapper

        -

        RollBuy

        -

        The sender buys `roll_count` rolls. Roll price is defined in configuration

        +

        ExecutedOpsChangeEntry

        +

        ExecutedOpsChangeEntry

        block_idsstringrepeated

        The IDs of the blocks in which the operation appears

        threaduint32bytecodebytes

        The thread in which the operation can be included

        Byte code

        operationSignedOperationoperation_datastorebytes

        The operation object itself

        Serialized datastore (key value store) for `ExecuteSC` Operation (Optional)

        @@ -2118,10 +1996,17 @@

        RollBuy

        - - + + - + + + + + + + + @@ -2131,8 +2016,8 @@

        RollBuy

        -

        RollSell

        -

        The sender sells `roll_count` rolls. Roll price is defined in configuration

        +

        ExecutedOpsChangeValue

        +

        ExecutedOpsChangeValue

        roll_countuint64operation_idstring

        Roll count

        string

        valueExecutedOpsChangeValue

        ExecutedOpsChangeValue

        @@ -2142,10 +2027,17 @@

        RollSell

        - - + + - + + + + + + + + @@ -2155,8 +2047,8 @@

        RollSell

        -

        SignedOperation

        -

        Signed operation

        +

        ExecutionOutput

        +

        ExecutionOutput

        roll_countuint64statusOperationExecutionStatus

        Roll count

        The status of the execution of the operation

        slotSlot

        Slot until which the operation remains valid (included)

        @@ -2166,45 +2058,31 @@

        SignedOperation

        - - - - - - - - - - - - - - - - + + - + - - + + - + - - - - + + + + - - + + - + @@ -2214,8 +2092,8 @@

        SignedOperation

        -

        Transaction

        -

        Transfer coins from sender to recipient

        +

        ExecutionStackElement

        +

        Structure describing an element of the execution stack.

        Every time a function is called from bytecode,

        a new `ExecutionStackElement` is pushed at the top of the execution stack

        to represent the local execution context of the called function,

        instead of the caller's which should lie just below in the stack.

        contentOperation

        Operation

        signaturestring

        A cryptographically generated value using `serialized_data` and a public key.

        content_creator_pub_keystringslotSlot

        The public-key component used in the generation of the signature

        Slot

        content_creator_addressstringblock_idgoogle.protobuf.StringValue

        Derived from the same public key used to generate the signature

        Block id at that slot (Optional)

        secure_hashstring

        A secure hash of the non-malleable contents of a deterministic binary representation of the block header

        eventsScExecutionEventrepeated

        Events emitted by the execution step

        serialized_sizeuint64state_changesStateChanges

        The size of the serialized operation in bytes

        State changes caused by the execution step

        @@ -2225,17 +2103,39 @@

        Transaction

        - + - + - + - + + + + + + + + + + + + + + + @@ -2245,69 +2145,8 @@

        Transaction

        - - -

        OpType

        -

        Operation type enum

        -
        recipient_addressaddress string

        Recipient address

        Called address

        amountcoins NativeAmount

        Amount

        Coins transferred to the target address during the call

        owned_addressesstringrepeated

        List of addresses owned by the current call, and on which the current call has write access. +This list should contain `ExecutionStackElement::address` in the sense that an address should have write access to itself. +This list should also contain all addresses created previously during the call +to allow write access on newly created addresses in order to set them up, +but only within the scope of the current stack element. +That way, only the current scope and neither its caller not the functions it calls gain this write access, +which is important for security. +Note that we use a vector instead of a pre-hashed set to ensure order determinism, +the performance hit of linear search remains minimal because `owned_addresses` will always contain very few elements.

        operation_datastoreBytesMapFieldEntryrepeated

        Datastore (key value store) for `ExecuteSC` Operation (Optional)

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        NameNumberDescription
        OP_TYPE_UNSPECIFIED0

        Default enum value

        OP_TYPE_TRANSACTION1

        Transaction

        OP_TYPE_ROLL_BUY2

        Roll buy

        OP_TYPE_ROLL_SELL3

        Roll sell

        OP_TYPE_EXECUTE_SC4

        Execute smart contract

        OP_TYPE_CALL_SC5

        Call smart contract

        - - - - - - - -
        -

        massa/model/v1/denunciation.proto

        Top -
        -

        - - -

        DenunciationBlockHeader

        -

        Variant for Block header denunciation index

        +

        FinalizedExecutionOutput

        +

        FinalizedExecutionOutput

        @@ -2320,7 +2159,7 @@

        DenunciationBlockHeader

        - + @@ -2330,8 +2169,8 @@

        DenunciationBlockHeader

        -

        DenunciationEndorsement

        -

        Variant for Endorsement denunciation index

        +

        FunctionCall

        +

        Execute a function call

        slot Slot

        Denounciation slot

        Slot

        @@ -2341,17 +2180,31 @@

        DenunciationEndorsement

        - - + + - + - - + + - + + + + + + + + + + + + + + + @@ -2361,8 +2214,8 @@

        DenunciationEndorsement

        -

        DenunciationIndex

        -

        Index for Denunciations in collections (e.g. like a HashMap...)

        +

        LedgerChangeEntry

        +

        LedgerChangeEntry

        slotSlottarget_addressstring

        Denounciation slot

        Target address

        indexuint32target_functionstring

        Denounciation index

        Target function

        parameterbytes

        Parameter to pass to the target function

        coinsNativeAmount

        Coins transferred to the target address during the call

        @@ -2372,17 +2225,17 @@

        DenunciationIndex

        - - + + - + - - + + - + @@ -2392,22 +2245,8 @@

        DenunciationIndex

        - - - - - - - - -
        -

        massa/model/v1/commons.proto

        Top -
        -

        - - -

        ArrayOfBytesWrapper

        -

        Array of bytes wrapper

        +

        LedgerChangeValue

        +

        LedgerChangeValue

        block_headerDenunciationBlockHeaderaddressstring

        Denunciation block header

        Address

        endorsementDenunciationEndorsementvalueLedgerChangeValue

        Denunciation endorsement

        Ledger message

        @@ -2417,10 +2256,24 @@

        ArrayOfBytesWrapper

        - - - - + + + + + + + + + + + + + + + + + + @@ -2430,8 +2283,8 @@

        ArrayOfBytesWrapper

        -

        BytesMapFieldEntry

        -

        BytesMapFieldEntry

        +

        LedgerEntry

        +

        An entry associated to an address in the `FinalLedger`

        itemsbytesrepeated

        Repeated bytes

        typeLedgerChangeType

        The type of the change

        created_entryLedgerEntry

        Created ledger entry

        updated_entryLedgerEntryUpdate

        Update ledger entry

        @@ -2441,17 +2294,24 @@

        BytesMapFieldEntry

        - - + + - + - + - + + + + + + + + @@ -2461,15 +2321,8 @@

        BytesMapFieldEntry

        -

        Empty

        -

        Empty

        - - - - - -

        Error

        -

        Massa error

        +

        LedgerEntryUpdate

        +

        Represents an update to one or more fields of a `LedgerEntry`

        keybytesbalanceNativeAmount

        bytes key

        The balance of that entry

        valuebytecode bytes

        bytes key

        Executable bytecode

        datastoreBytesMapFieldEntryrepeated

        A key-value store associating a hash to arbitrary bytes

        @@ -2479,17 +2332,24 @@

        Error

        - - + + - + - - + + - + + + + + + + + @@ -2499,8 +2359,8 @@

        Error

        -

        KeyPair

        -

        KeyPair

        +

        ReadOnlyExecutionCall

        +

        Read-only execution call

        codeint32balanceSetOrKeepBalance

        The error code

        Change the balance

        messagestringbytecodeSetOrKeepBytes

        A developer-facing error message, which should be in English

        Change the executable bytecode

        datastoreSetOrDeleteDatastoreEntryrepeated

        Change datastore entries

        @@ -2510,17 +2370,45 @@

        KeyPair

        - - + + - + - - + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + @@ -2530,57 +2418,8 @@

        KeyPair

        - - -

        ComparisonResult

        -

        Comparison result

        -
        public_keystringmax_gasuint64

        Public key

        Maximum gas to spend in the execution.

        secret_keystringcall_stackExecutionStackElementrepeated

        Call stack to simulate, older caller first

        bytecode_callBytecodeExecution

        Secret key

        Byte code

        function_callFunctionCall

        Function call

        caller_addressgoogle.protobuf.StringValue

        Caller's address, (Optional) if not set, an auto-generated address will be used

        feeNativeAmount

        fee paid by the caller when the call is processed (optional)

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        NameNumberDescription
        COMPARISON_RESULT_UNSPECIFIED0

        COMPARISON_RESULT_LOWER1

        left is lower

        COMPARISON_RESULT_EQUAL2

        left and right are equal

        COMPARISON_RESULT_GREATER3

        left is greater

        - - - - - - - -
        -

        massa/model/v1/amount.proto

        Top -
        -

        - - -

        NativeAmount

        -

        NativeAmount is represented as a fraction so precision can be adjusted in

        the future. value = mantissa / (10^scale)

        +

        ReadOnlyExecutionOutput

        +

        Structure describing the output of a read only execution

        @@ -2590,17 +2429,24 @@

        NativeAmount

        - + + + + + + + + - + - - + + - + @@ -2610,22 +2456,8 @@

        NativeAmount

        - - - - - - - - -
        -

        massa/model/v1/execution.proto

        Top -
        -

        - - -

        AsyncMessage

        -

        Asynchronous smart contract message

        +

        ScExecutionEvent

        +

        ScExecutionEvent

        mantissaoutExecutionOutput

        Output of a single execution

        used_gas uint64

        Mantissa

        Gas cost for this execution

        scaleuint32call_resultbytes

        Scale

        Returned value from the module call

        @@ -2635,99 +2467,107 @@

        AsyncMessage

        - - + + - + - - + + - + - - - - - - + +
        emission_slotSlotcontextScExecutionEventContext

        Slot at which the message was emitted

        Sc execution context

        emission_indexuint64databytes

        Index of the emitted message within the `emission_slot`. -This is used for disambiguate the emission of multiple messages at the same slot.

        Generated data of the event

        senderstring

        The address that sent the message

        + + + + + +

        ScExecutionEventContext

        +

        ScExecutionEvent context

        + + + + + + + - - + + - + - - + + - + - + - - - - - - - - + - - - - + + + + - - + + - + - - + + - + - - + + - + - - - - - - + +
        FieldTypeLabelDescription
        destinationstringorigin_slotSlot

        The address towards which the message is being sent

        When was it generated

        handlerstringblock_idgoogle.protobuf.StringValue

        the handler function name within the destination address' bytecode

        Block id if there was a block at that slot (Optional)

        max_gasindex_in_slot uint64

        Maximum gas to use when processing the message

        feeNativeAmount

        Fee paid by the sender when the message is processed.

        Index of the event in the slot

        coinsNativeAmount

        Coins sent from the sender to the target address of the message. -Those coins are spent by the sender address when the message is sent, -and credited to the destination address when receiving the message. -In case of failure or discard, those coins are reimbursed to the sender.

        call_stackstringrepeated

        Call stack addresses. most recent at the end

        validity_startSlotorigin_operation_idgoogle.protobuf.StringValue

        Slot at which the message starts being valid (bound included in the validity range)

        Origin operation id (Optional)

        validity_endSlotis_failurebool

        Slot at which the message stops being valid (bound not included in the validity range)

        If a failure occurred

        databytesstatusScExecutionEventStatus

        Raw payload data of the message

        Status

        triggerAsyncMessageTrigger

        Trigger that define whenever a message can be executed

        + + + + + +

        ScExecutionEventsStatus

        +

        ScExecutionEventsStatus

        + + + + + + + - - - - + + + + @@ -2737,8 +2577,8 @@

        AsyncMessage

        -

        AsyncMessageTrigger

        -

        Structure defining a trigger for an asynchronous message

        +

        SetOrDeleteDatastoreEntry

        +

        Set or Delete DatastoreEntry

        FieldTypeLabelDescription
        can_be_executedbool

        Boolean that determine if the message can be executed. For messages without filter this boolean is always true. -For messages with filter, this boolean is true if the filter has been matched between `validity_start` and current slot.

        statusScExecutionEventStatusrepeated

        Status

        @@ -2748,17 +2588,17 @@

        AsyncMessageTrigger

        - - + + - + - - + + - + @@ -2768,8 +2608,8 @@

        AsyncMessageTrigger

        -

        AsyncMessageUpdate

        -

        Asynchronous smart contract message

        +

        SetOrKeepAsyncMessageTrigger

        +

        Set or Keep AsyncMessageTrigger

        addressstringsetBytesMapFieldEntry

        Filter on the address

        Executable bytecode (Optional)

        datastore_keygoogle.protobuf.BytesValuedeleteEmpty

        Filter on the datastore key (Optional)

        Delete the existing bytecode

        @@ -2779,99 +2619,17 @@

        AsyncMessageUpdate

        - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -2881,8 +2639,8 @@

        AsyncMessageUpdate

        -

        AsyncPoolChangeEntry

        -

        AsyncPoolChange Entry

        +

        SetOrKeepBalance

        +

        Set or Keep Balance

        emission_slotSetOrKeepSlotsetAsyncMessageTrigger

        Change the slot at which the message was emitted

        The value of that entry (Optional)

        emission_indexSetOrKeepUint64keepEmpty

        Change the index of the emitted message within the `emission_slot`. -This is used for disambiguate the emission of multiple messages at the same slot.

        senderSetOrKeepString

        Change the address that sent the message

        destinationSetOrKeepString

        Change the address towards which the message is being sent

        handlerSetOrKeepString

        Change the handler function name within the destination address' bytecode

        max_gasSetOrKeepUint64

        Change the maximum gas to use when processing the message

        feeSetOrKeepUint64

        Change the fee paid by the sender when the message is processed.

        coinsSetOrKeepUint64

        Change the coins sent from the sender to the target address of the message. -Those coins are spent by the sender address when the message is sent, -and credited to the destination address when receiving the message. -In case of failure or discard, those coins are reimbursed to the sender.

        validity_startSetOrKeepSlot

        Change the slot at which the message starts being valid (bound included in the validity range)

        validity_endSetOrKeepSlot

        Change the slot at which the message stops being valid (bound not included in the validity range)

        dataSetOrKeepBytes

        Change the raw payload data of the message

        triggerSetOrKeepAsyncMessageTrigger

        Change the trigger that define whenever a message can be executed

        can_be_executedSetOrKeepBool

        Change the boolean that determine if the message can be executed. For messages without filter this boolean is always true. -For messages with filter, this boolean is true if the filter has been matched between `validity_start` and current slot.

        Keep the existing value

        @@ -2892,17 +2650,17 @@

        AsyncPoolChangeEntry

        - - + + - + - - + + - + @@ -2912,8 +2670,8 @@

        AsyncPoolChangeEntry

        -

        AsyncPoolChangeValue

        -

        AsyncPoolChangeValue

        +

        SetOrKeepBool

        +

        Set or Keep Bool

        async_message_idstringsetNativeAmount

        Async message id

        The value of that entry (Optional)

        valueAsyncPoolChangeValuekeepEmpty

        AsyncPool message

        Keep the existing value

        @@ -2923,24 +2681,17 @@

        AsyncPoolChangeValue

        - - - - - - - - - + + - + - - + + - + @@ -2950,8 +2701,8 @@

        AsyncPoolChangeValue

        -

        BytecodeExecution

        -

        Execute a bytecode

        +

        SetOrKeepBytes

        +

        Set or Keep Bytes

        typeAsyncPoolChangeType

        The type of the change

        created_messageAsyncMessagesetgoogle.protobuf.BoolValue

        Created ledger entry

        The value of that entry (Optional)

        updated_messageAsyncMessageUpdatekeepEmpty

        Update ledger entry

        Keep the existing value

        @@ -2961,17 +2712,17 @@

        BytecodeExecution

        - - + + - + - - + + - + @@ -2981,8 +2732,8 @@

        BytecodeExecution

        -

        ExecutedOpsChangeEntry

        -

        ExecutedOpsChangeEntry

        +

        SetOrKeepSlot

        +

        Set or Keep Slot

        bytecodebytessetgoogle.protobuf.BytesValue

        Byte code

        The value of that entry (Optional)

        operation_datastorebyteskeepEmpty

        Serialized datastore (key value store) for `ExecuteSC` Operation (Optional)

        Keep the existing value

        @@ -2992,17 +2743,17 @@

        ExecutedOpsChangeEntry

        - - + + - + - - + + - + @@ -3012,8 +2763,8 @@

        ExecutedOpsChangeEntry

        -

        ExecutedOpsChangeValue

        -

        ExecutedOpsChangeValue

        +

        SetOrKeepString

        +

        Set or Keep String

        operation_idstringsetSlot

        string

        The value of that entry (Optional)

        valueExecutedOpsChangeValuekeepEmpty

        ExecutedOpsChangeValue

        Keep the existing value

        @@ -3023,17 +2774,17 @@

        ExecutedOpsChangeValue

        - - + + - + - - + + - + @@ -3043,8 +2794,8 @@

        ExecutedOpsChangeValue

        -

        ExecutionOutput

        -

        ExecutionOutput

        +

        SetOrKeepUint64

        +

        Set or Keep Uint64

        statusOperationExecutionStatussetgoogle.protobuf.StringValue

        The status of the execution of the operation

        The value of that entry (Optional)

        slotSlotkeepEmpty

        Slot until which the operation remains valid (included)

        Keep the existing value

        @@ -3054,31 +2805,17 @@

        ExecutionOutput

        - - - - - - - - - + + - - - - - - - - + - - + + - + @@ -3088,8 +2825,8 @@

        ExecutionOutput

        -

        ExecutionStackElement

        -

        Structure describing an element of the execution stack.

        Every time a function is called from bytecode,

        a new `ExecutionStackElement` is pushed at the top of the execution stack

        to represent the local execution context of the called function,

        instead of the caller's which should lie just below in the stack.

        +

        SlotExecutionOutput

        +

        SlotExecutionOutput

        slotSlot

        Slot

        block_idgoogle.protobuf.StringValuesetgoogle.protobuf.UInt64Value

        Block id at that slot (Optional)

        eventsScExecutionEventrepeated

        Events emitted by the execution step

        The value of that entry (Optional)

        state_changesStateChangeskeepEmpty

        State changes caused by the execution step

        Keep the existing value

        @@ -3099,39 +2836,17 @@

        ExecutionStackElement

        - - + + - + - - + + - - - - - - - - - - - - - - - + @@ -3141,8 +2856,8 @@

        ExecutionStackElement

        -

        FinalizedExecutionOutput

        -

        FinalizedExecutionOutput

        +

        StateChanges

        +

        StateChanges

        addressstringstatusExecutionOutputStatus

        Called address

        Status

        coinsNativeAmountexecution_outputExecutionOutput

        Coins transferred to the target address during the call

        owned_addressesstringrepeated

        List of addresses owned by the current call, and on which the current call has write access. -This list should contain `ExecutionStackElement::address` in the sense that an address should have write access to itself. -This list should also contain all addresses created previously during the call -to allow write access on newly created addresses in order to set them up, -but only within the scope of the current stack element. -That way, only the current scope and neither its caller not the functions it calls gain this write access, -which is important for security. -Note that we use a vector instead of a pre-hashed set to ensure order determinism, -the performance hit of linear search remains minimal because `owned_addresses` will always contain very few elements.

        operation_datastoreBytesMapFieldEntryrepeated

        Datastore (key value store) for `ExecuteSC` Operation (Optional)

        Executed slot output

        @@ -3152,48 +2867,38 @@

        FinalizedExecutionOutput

        - - - - + + + + - -
        slotSlot

        Slot

        ledger_changesLedgerChangeEntryrepeated

        Ledger changes

        - - - - - -

        FunctionCall

        -

        Execute a function call

        - - - - - - - + + + + + + - - - - + + + + - - - - + + + + - - + + - + @@ -3203,8 +2908,191 @@

        FunctionCall

        -

        LedgerChangeEntry

        -

        LedgerChangeEntry

        + + +

        AsyncPoolChangeType

        +

        AsyncPoolChangeType type enum

        +
        FieldTypeLabelDescription
        async_pool_changesAsyncPoolChangeEntryrepeated

        Asynchronous pool changes

        target_addressstring

        Target address

        executed_ops_changesExecutedOpsChangeEntryrepeated

        Executed operations changes

        target_functionstring

        Target function

        executed_denunciations_changesDenunciationIndexrepeated

        Executed denunciations changes

        parameterbytesexecution_trail_hash_changeSetOrKeepString

        Parameter to pass to the target function

        Execution trail hash change

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        NameNumberDescription
        ASYNC_POOL_CHANGE_TYPE_UNSPECIFIED0

        Default enum value

        ASYNC_POOL_CHANGE_TYPE_SET1

        Set type

        ASYNC_POOL_CHANGE_TYPE_UPDATE2

        Activate only type

        ASYNC_POOL_CHANGE_TYPE_DELETE3

        Delete only type

        + +

        ExecutionOutputStatus

        +

        ExecutionOutputStatus type enum

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        NameNumberDescription
        EXECUTION_OUTPUT_STATUS_UNSPECIFIED0

        Default enum value

        EXECUTION_OUTPUT_STATUS_CANDIDATE1

        Candidate status

        EXECUTION_OUTPUT_STATUS_FINAL2

        Final status

        EXECUTION_OUTPUT_STATUS_UNKNOWN3

        Unknown status

        + +

        LedgerChangeType

        +

        LedgerChangeType type enum

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        NameNumberDescription
        LEDGER_CHANGE_TYPE_UNSPECIFIED0

        Default enum value

        LEDGER_CHANGE_TYPE_SET1

        Set type

        LEDGER_CHANGE_TYPE_UPDATE2

        Update type

        LEDGER_CHANGE_TYPE_DELETE3

        Delete type

        + +

        OperationExecutionStatus

        +

        OperationExecutionStatus type enum

        + + + + + + + + + + + + + + + + + + + + + + + + + +
        NameNumberDescription
        OPERATION_EXECUTION_STATUS_UNSPECIFIED0

        Default enum value

        OPERATION_EXECUTION_STATUS_SUCCESS1

        Success status

        OPERATION_EXECUTION_STATUS_FAILED2

        Failed only status

        + +

        ScExecutionEventStatus

        +

        ScExecutionEventStatus type enum

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        NameNumberDescription
        SC_EXECUTION_EVENT_STATUS_UNSPECIFIED0

        Default enum value

        SC_EXECUTION_EVENT_STATUS_FINAL1

        Final status

        SC_EXECUTION_EVENT_STATUS_READ_ONLY2

        Read only status

        SC_EXECUTION_EVENT_STATUS_CANDIDATE3

        Candidate status

        + + + + + + + +
        +

        massa/model/v1/amount.proto

        Top +
        +

        + + +

        NativeAmount

        +

        NativeAmount is represented as a fraction so precision can be adjusted in

        the future. value = mantissa / (10^scale)

        @@ -3214,17 +3102,17 @@

        LedgerChangeEntry

        - - + + - + - - + + - + @@ -3234,8 +3122,22 @@

        LedgerChangeEntry

        -

        LedgerChangeValue

        -

        LedgerChangeValue

        + + + + + + + + +
        +

        massa/model/v1/denunciation.proto

        Top +
        +

        + + +

        BlockHeaderDenunciation

        +

        addressstringmantissauint64

        Address

        Mantissa

        valueLedgerChangeValuescaleuint32

        Ledger message

        Scale

        @@ -3245,62 +3147,45 @@

        LedgerChangeValue

        - - + + - + - - + + - + - - + + - + - -
        typeLedgerChangeTypepublic_keystring

        The type of the change

        Denunciation public key

        created_entryLedgerEntryslotSlot

        Created ledger entry

        Denunciation slot

        updated_entryLedgerEntryUpdatehash_1string

        Update ledger entry

        Denunciation hash 1

        - - - - - -

        LedgerEntry

        -

        An entry associated to an address in the `FinalLedger`

        - - - - - - - - - - + + - + - - + + - + - - - - + + + + @@ -3310,8 +3195,8 @@

        LedgerEntry

        -

        LedgerEntryUpdate

        -

        Represents an update to one or more fields of a `LedgerEntry`

        +

        Denunciation

        +

        FieldTypeLabelDescription
        balanceNativeAmounthash_2string

        The balance of that entry

        Denunciation hash 2

        bytecodebytessignature_1string

        Executable bytecode

        Denunciation sig 1

        datastoreBytesMapFieldEntryrepeated

        A key-value store associating a hash to arbitrary bytes

        signature_2string

        Denunciation sig 2

        @@ -3321,24 +3206,17 @@

        LedgerEntryUpdate

        - - + + - + - - + + - - - - - - - - + @@ -3348,8 +3226,8 @@

        LedgerEntryUpdate

        -

        ReadOnlyExecutionCall

        -

        Read-only execution call

        +

        DenunciationBlockHeader

        +

        Variant for Block header denunciation index

        balanceSetOrKeepBalanceblock_headerBlockHeaderDenunciation

        Change the balance

        Denunciation block header

        bytecodeSetOrKeepBytesendorsementEndorsementDenunciation

        Change the executable bytecode

        datastoreSetOrDeleteDatastoreEntryrepeated

        Change datastore entries

        Denunciation endorsement

        @@ -3359,38 +3237,10 @@

        ReadOnlyExecutionCall

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + @@ -3400,8 +3250,8 @@

        ReadOnlyExecutionCall

        -

        ReadOnlyExecutionOutput

        -

        Structure describing the output of a read only execution

        +

        DenunciationEndorsement

        +

        Variant for Endorsement denunciation index

        max_gasuint64

        Maximum gas to spend in the execution.

        call_stackExecutionStackElementrepeated

        Call stack to simulate, older caller first

        bytecode_callBytecodeExecution

        Byte code

        function_callFunctionCall

        Function call

        caller_addressgoogle.protobuf.StringValueslotSlot

        Caller's address, (Optional) if not set, an auto-generated address will be used

        Denunciation slot

        @@ -3411,24 +3261,17 @@

        ReadOnlyExecutionOutput

        - - - - - - - - - + + - + - - + + - + @@ -3438,8 +3281,8 @@

        ReadOnlyExecutionOutput

        -

        ScExecutionEvent

        -

        ScExecutionEvent

        +

        DenunciationIndex

        +

        Index for Denunciations in collections (e.g. like a HashMap...)

        outExecutionOutput

        Output of a single execution

        used_gasuint64slotSlot

        Gas cost for this execution

        Denounciation slot

        call_resultbytesindexuint32

        Returned value from the module call

        Denounciation index

        @@ -3449,17 +3292,17 @@

        ScExecutionEvent

        - - + + - + - - + + - + @@ -3469,8 +3312,8 @@

        ScExecutionEvent

        -

        ScExecutionEventContext

        -

        ScExecutionEvent context

        +

        EndorsementDenunciation

        +

        contextScExecutionEventContextblock_headerDenunciationBlockHeader

        Sc execution context

        Denunciation block header

        databytesendorsementDenunciationEndorsement

        Generated data of the event

        Denunciation endorsement

        @@ -3480,52 +3323,52 @@

        ScExecutionEventContext

        - - + + - + - - + + - + - - + + - + - + - - + + - - + + - + - - + + - + - - + + - + @@ -3535,32 +3378,22 @@

        ScExecutionEventContext

        -

        ScExecutionEventsStatus

        -

        ScExecutionEventsStatus

        - -
        origin_slotSlotpublic_keystring

        When was it generated

        Denunciation public key

        block_idgoogle.protobuf.StringValueslotSlot

        Block id if there was a block at that slot (Optional)

        Denunciation slot

        index_in_slotuint64indexuint32

        Index of the event in the slot

        Denunciation index

        call_stackhash_1 stringrepeated

        Call stack addresses. most recent at the end

        Denunciation hash 1

        origin_operation_idgoogle.protobuf.StringValuehash_2string

        Origin operation id (Optional)

        Denunciation hash 2

        is_failureboolsignature_1string

        If a failure occurred

        Denunciation sig 1

        statusScExecutionEventStatussignature_2string

        Status

        Denunciation sig 2

        - - - - - - - - - - - - - -
        FieldTypeLabelDescription
        statusScExecutionEventStatusrepeated

        Status

        + - + - -

        SetOrDeleteDatastoreEntry

        -

        Set or Delete DatastoreEntry

        + + +
        +

        massa/model/v1/node.proto

        Top +
        +

        + + +

        CompactConfig

        +

        Compact configuration

        @@ -3570,79 +3403,73 @@

        SetOrDeleteDatastoreEntry

        - - + + - + - - + + - + - -
        setBytesMapFieldEntrygenesis_timestampNativeTime

        Executable bytecode (Optional)

        Time in milliseconds when the blockclique started.

        deleteEmptyend_timestampNativeTime

        Delete the existing bytecode

        TESTNET: time when the blockclique is ended.

        - - - - - -

        SetOrKeepAsyncMessageTrigger

        -

        Set or Keep AsyncMessageTrigger

        - - - - - - - + + + + + + - - + + - + - - + + - + - -
        FieldTypeLabelDescription
        thread_countuint32

        Number of threads

        setAsyncMessageTriggert0NativeTime

        The value of that entry (Optional)

        Time between the periods in the same thread.

        keepEmptydelta_f0uint64

        Keep the existing value

        Threshold for fitness.

        - - - - - -

        SetOrKeepBalance

        -

        Set or Keep Balance

        - - - - - - - + + + + + + - + + + + + + + + - + - - + + - + + + + + + + + @@ -3652,8 +3479,8 @@

        SetOrKeepBalance

        -

        SetOrKeepBool

        -

        Set or Keep Bool

        +

        ConnectedNode

        +

        Connected node

        FieldTypeLabelDescription
        operation_validity_periodsuint64

        Maximum operation validity period count

        setperiods_per_cycleuint64

        cycle duration in periods

        block_reward NativeAmount

        The value of that entry (Optional)

        Reward amount for a block creation

        keepEmptyroll_priceNativeAmount

        Keep the existing value

        Price of a roll on the network

        max_block_sizeuint32

        Max total size of a block

        @@ -3663,17 +3490,24 @@

        SetOrKeepBool

        - - + + - + - - + + - + + + + + + + + @@ -3683,8 +3517,8 @@

        SetOrKeepBool

        -

        SetOrKeepBytes

        -

        Set or Keep Bytes

        +

        NodeStatus

        +

        Node status

        setgoogle.protobuf.BoolValuenode_idstring

        The value of that entry (Optional)

        Node id

        keepEmptynode_ipstring

        Keep the existing value

        Node ip

        connection_typeConnectionType

        Connection type

        @@ -3694,141 +3528,122 @@

        SetOrKeepBytes

        - - + + - + - - + + - + - -
        setgoogle.protobuf.BytesValuenode_idstring

        The value of that entry (Optional)

        Our node id

        keepEmptynode_ipstring

        Keep the existing value

        Optional node ip

        - - - - - -

        SetOrKeepSlot

        -

        Set or Keep Slot

        - - - - - - - + + + + + + - - + + - + - - + + - + - -
        FieldTypeLabelDescription
        versionstring

        Node version

        setSlotcurrent_timeNativeTime

        The value of that entry (Optional)

        Now

        keepEmptycurrent_cycleuint64

        Keep the existing value

        Current cycle

        - - - - - -

        SetOrKeepString

        -

        Set or Keep String

        - - - - - - - + + + + + + - - + + - + - - + + + + + + + + + - + - -
        FieldTypeLabelDescription
        current_cycle_timeNativeTime

        Current cycle starting timestamp

        setgoogle.protobuf.StringValuenext_cycle_timeNativeTime

        The value of that entry (Optional)

        Next cycle starting timestamp

        keepEmptyconnected_nodesConnectedNoderepeated

        Connected nodes

        last_executed_final_slotSlot

        Keep the existing value

        Last executed final slot

        - - - - - -

        SetOrKeepUint64

        -

        Set or Keep Uint64

        - - - - - - - + + + + + + - - + + - + - - + + - + - -
        FieldTypeLabelDescription
        last_executed_speculative_slotSlot

        Last executed speculative slot

        setgoogle.protobuf.UInt64Valuefinal_state_fingerprintstring

        The value of that entry (Optional)

        The hash of the XOF final state hash

        keepEmptyconsensus_statsConsensusStats

        Keep the existing value

        Consensus stats

        - - - - - -

        SlotExecutionOutput

        -

        SlotExecutionOutput

        - - - - - - - + + + + + + - - + + - + - - + + - + + + + + + + + + + + + + + + @@ -3838,8 +3653,8 @@

        SlotExecutionOutput

        -

        StateChanges

        -

        StateChanges

        +

        PublicStatus

        +

        Public status

        FieldTypeLabelDescription
        pool_statsPoolStats

        Pool stats (operation count and endorsement count)

        statusExecutionOutputStatusnetwork_statsNetworkStats

        Status

        Network stats

        execution_outputExecutionOutputexecution_statsExecutionStats

        Executed slot output

        Execution stats

        configCompactConfig

        Compact configuration

        chain_iduint64

        Chain id

        @@ -3849,38 +3664,87 @@

        StateChanges

        - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3892,142 +3756,8 @@

        StateChanges

        -

        AsyncPoolChangeType

        -

        AsyncPoolChangeType type enum

        -
        ledger_changesLedgerChangeEntryrepeated

        Ledger changes

        node_idstring

        Our node id

        async_pool_changesAsyncPoolChangeEntryrepeated

        Asynchronous pool changes

        versionstring

        Node version

        executed_ops_changesExecutedOpsChangeEntryrepeated

        Executed operations changes

        current_timeNativeTime

        Now

        executed_denunciations_changesDenunciationIndexrepeated

        Executed denunciations changes

        current_cycleuint64

        Current cycle

        execution_trail_hash_changeSetOrKeepStringcurrent_cycle_timeNativeTime

        Execution trail hash change

        Current cycle starting timestamp

        next_cycle_timeNativeTime

        Next cycle starting timestamp

        last_executed_final_slotSlot

        Last executed final slot

        last_executed_speculative_slotSlot

        Last executed speculative slot

        final_state_fingerprintstring

        The hash of the XOF final state hash

        configCompactConfig

        Compact configuration

        chain_iduint64

        Chain id

        minimal_feesNativeAmount

        minimal fees

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        NameNumberDescription
        ASYNC_POOL_CHANGE_TYPE_UNSPECIFIED0

        Default enum value

        ASYNC_POOL_CHANGE_TYPE_SET1

        Set type

        ASYNC_POOL_CHANGE_TYPE_UPDATE2

        Activate only type

        ASYNC_POOL_CHANGE_TYPE_DELETE3

        Delete only type

        - -

        ExecutionOutputStatus

        -

        ExecutionOutputStatus type enum

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        NameNumberDescription
        EXECUTION_OUTPUT_STATUS_UNSPECIFIED0

        Default enum value

        EXECUTION_OUTPUT_STATUS_CANDIDATE1

        Candidate status

        EXECUTION_OUTPUT_STATUS_FINAL2

        Final status

        EXECUTION_OUTPUT_STATUS_UNKNOWN3

        Unknown status

        - -

        LedgerChangeType

        -

        LedgerChangeType type enum

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        NameNumberDescription
        LEDGER_CHANGE_TYPE_UNSPECIFIED0

        Default enum value

        LEDGER_CHANGE_TYPE_SET1

        Set type

        LEDGER_CHANGE_TYPE_UPDATE2

        Update type

        LEDGER_CHANGE_TYPE_DELETE3

        Delete type

        - -

        OperationExecutionStatus

        -

        OperationExecutionStatus type enum

        - - - - - - - - - - - - - - - - - - - - - - - - - -
        NameNumberDescription
        OPERATION_EXECUTION_STATUS_UNSPECIFIED0

        Default enum value

        OPERATION_EXECUTION_STATUS_SUCCESS1

        Success status

        OPERATION_EXECUTION_STATUS_FAILED2

        Failed only status

        - -

        ScExecutionEventStatus

        -

        ScExecutionEventStatus type enum

        +

        ConnectionType

        +

        ConnectionType enum

        @@ -4035,27 +3765,21 @@

        ScExecutionEventStatus

        - + - + - + - + - - - - - - - + @@ -4068,13 +3792,110 @@

        ScExecutionEventStatus

        -

        massa/model/v1/slot.proto

        Top +

        massa/model/v1/stats.proto

        Top

        -

        IndexedSlot

        -

        When an address is drawn to create an endorsement it is selected for a specific index

        +

        ConsensusStats

        +

        Consensus statistics

        + + +
        NameNumberDescription
        SC_EXECUTION_EVENT_STATUS_UNSPECIFIEDCONNECTION_TYPE_UNSPECIFIED 0

        Default enum value

        SC_EXECUTION_EVENT_STATUS_FINALCONNECTION_TYPE_INCOMING 1

        Final status

        Incoming connection

        SC_EXECUTION_EVENT_STATUS_READ_ONLYCONNECTION_TYPE_OUTGOING 2

        Read only status

        SC_EXECUTION_EVENT_STATUS_CANDIDATE3

        Candidate status

        Outgoing connection

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        FieldTypeLabelDescription
        start_timespanNativeTime

        Start of the time span for stats

        end_timespanNativeTime

        End of the time span for stats

        final_block_countuint64

        Number of final blocks

        stale_block_countuint64

        Number of stale blocks in memory

        clique_countuint64

        Number of actives cliques

        + + + + + +

        ExecutionStats

        +

        Execution statistics

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        FieldTypeLabelDescription
        time_window_startNativeTime

        Time window start

        time_window_endNativeTime

        Time window end

        final_block_countuint64

        Number of final blocks in the time window

        final_executed_operations_countuint64

        Number of final executed operations in the time window

        + + + + + +

        NetworkStats

        +

        Network statistics

        @@ -4084,17 +3905,38 @@

        IndexedSlot

        - - + + - + - + - + + + + + + + + + + + + + + + + + + + + + + @@ -4104,8 +3946,8 @@

        IndexedSlot

        -

        Slot

        -

        A point in time where a block is expected

        +

        PoolStats

        +

        Pool statistics

        slotSlotin_connection_countuint64

        Slot

        In connections count

        indexout_connection_count uint64

        Endorsement index in the slot

        Out connections count

        known_peer_countuint64

        Total known peers count

        banned_peer_countuint64

        Banned node count

        active_node_countuint64

        Active node count

        @@ -4115,17 +3957,17 @@

        Slot

        - + - + - - + + - + @@ -4135,8 +3977,22 @@

        Slot

        -

        SlotRange

        -

        SlotRange

        + + + + + + + + +
        +

        massa/model/v1/block.proto

        Top +
        +

        + + +

        Block

        +

        Block

        periodendorsements_count uint64

        Period

        Endorsements

        threaduint32operations_countuint64

        Thread

        Operations

        @@ -4146,17 +4002,17 @@

        SlotRange

        - - + + - + - - - - + + + + @@ -4166,8 +4022,8 @@

        SlotRange

        -

        Slots

        -

        Slots

        +

        BlockHeader

        +

        Block header

        start_slotSlotheaderSignedBlockHeader

        Start lot (Optional)

        Signed header

        end_slotSlot

        End slot (Optional)

        operationsstringrepeated

        Operations ids

        @@ -4177,10 +4033,52 @@

        Slots

        - + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + @@ -4190,22 +4088,8 @@

        Slots

        - - - - - - - - -
        -

        massa/model/v1/address.proto

        Top -
        -

        - - -

        Addresses

        -

        Addresses holds addresses

        +

        BlockIds

        +

        BlockIds holds block ids

        slotscurrent_versionuint32

        Current network version

        announced_versiongoogle.protobuf.UInt32Value

        Announced network version(Optional)

        slot Slot

        Slot

        parentsstring repeated

        Slots

        parents

        operations_hashstring

        All operations hash

        endorsementsSignedEndorsementrepeated

        Signed endorsements

        denunciationsDenunciationrepeated

        Denunciations

        @@ -4215,10 +4099,10 @@

        Addresses

        - + - + @@ -4228,8 +4112,8 @@

        Addresses

        -

        NativeAddress

        -

        Massa NativeAddress

        +

        BlockInfo

        +

        Informations about a block with its metadata

        addressesblock_ids string repeated

        Addresses

        Block ids

        @@ -4239,24 +4123,48 @@

        NativeAddress

        - - + + - + - - + + - + + + + +
        categoryAddressCategoryblock_idstring

        Address category

        The unique ID of the block.

        versionuint64statusBlockStatus

        Address version

        The execution status of the block

        + + + + + +

        BlockParent

        +

        Block parent tuple

        + + + + + + + + + + + + + - - + + - + @@ -4266,51 +4174,39 @@

        NativeAddress

        +

        BlockWrapper

        +

        A wrapper around a block with its metadata

        - -

        AddressCategory

        -

        Address category discriminant

        -
        FieldTypeLabelDescription
        block_idstring

        Block id

        contentbytesperioduint64

        Address content

        Period

        - - - - - - - - - - - - - - - - - - - - - - - - -
        NameNumberDescription
        ADDRESS_CATEGORY_UNSPECIFIED0

        Unspecified address category

        ADDRESS_CATEGORY_USER_ADDRESS1

        User address

        ADDRESS_CATEGORY_SC_ADDRESS2

        Smart contract address

        - - - - - - - -
        -

        massa/model/v1/block.proto

        Top -
        -

        + + + + + + + + + + + + + + + + + + + + + + +
        FieldTypeLabelDescription
        statusBlockStatus

        The execution status of the block

        blockBlock

        The block object itself

        + + + -

        Block

        -

        Block

        +

        FilledBlock

        +

        Filled block

        @@ -4328,9 +4224,9 @@

        Block

        - + - + @@ -4340,8 +4236,8 @@

        Block

        -

        BlockHeader

        -

        Block header

        +

        FilledOperationEntry

        +

        Filled Operation Tuple

        operationsstringFilledOperationEntry repeated

        Operations ids

        Operations

        @@ -4351,45 +4247,76 @@

        BlockHeader

        - - + + - + - - + + - + + +
        current_versionuint32operation_idstring

        Current network version

        Operation id

        announced_versiongoogle.protobuf.UInt32ValueoperationSignedOperation

        Announced network version(Optional)

        Signed operation

        + + + + + +

        SignedBlock

        +

        Signed block

        + + + + + + + + - - + + - + - + - - + + - + - + - - - - + + + + + + + + + + + + + + + + + + @@ -4399,8 +4326,8 @@

        BlockHeader

        -

        BlockIds

        -

        BlockIds holds block ids

        +

        SignedBlockHeader

        +

        Signed block header

        FieldTypeLabelDescription
        slotSlotcontentBlock

        Slot

        Block

        parentssignature stringrepeated

        parents

        A cryptographically generated value using `serialized_data` and a public key.

        operations_hashcontent_creator_pub_key string

        All operations hash

        The public-key component used in the generation of the signature

        endorsementsSignedEndorsementrepeated

        Signed endorsements

        content_creator_addressstring

        Derived from the same public key used to generate the signature

        secure_hashstring

        A secure hash of the non-malleable contents of a deterministic binary representation of the block header

        serialized_sizeuint64

        The size of the serialized block in bytes

        @@ -4410,10 +4337,45 @@

        BlockIds

        - + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4423,8 +4385,63 @@

        BlockIds

        -

        BlockInfo

        -

        Informations about a block with its metadata

        + + +

        BlockStatus

        +

        Possible statuses for a block

        +
        block_idscontentBlockHeader

        BlockHeader

        signature stringrepeated

        Block ids

        A cryptographically generated value using `serialized_data` and a public key.

        content_creator_pub_keystring

        The public-key component used in the generation of the signature

        content_creator_addressstring

        Derived from the same public key used to generate the signature

        secure_hashstring

        A secure hash of the non-malleable contents of a deterministic binary representation of the block header

        serialized_sizeuint64

        The size of the serialized block header in bytes

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        NameNumberDescription
        BLOCK_STATUS_UNSPECIFIED0

        Default enum value

        BLOCK_STATUS_NON_FINAL_BLOCKCLIQUE1

        The block is in the greatest clique (and not final)

        BLOCK_STATUS_FINAL2

        The block is final

        BLOCK_STATUS_NON_FINAL_ALTERNATE_CLIQUE3

        The block is candidate (active any clique but not final)

        BLOCK_STATUS_DISCARDED4

        The block is discarded

        + + + + + + + +
        +

        massa/model/v1/time.proto

        Top +
        +

        + + +

        NativeTime

        +

        NativeTime represents a native duration or unix timestamp

        @@ -4434,17 +4451,10 @@

        BlockInfo

        - - - - - - - - - + + - + @@ -4454,8 +4464,22 @@

        BlockInfo

        -

        BlockParent

        -

        Block parent tuple

        + + + + + + + + +
        +

        massa/model/v1/endorsement.proto

        Top +
        +

        + + +

        Endorsement

        +

        An endorsement, as sent in the network

        block_idstring

        The unique ID of the block.

        statusBlockStatusmillisecondsuint64

        The execution status of the block

        Milliseconds

        @@ -4465,17 +4489,25 @@

        BlockParent

        - - + + - + - - + + - + + + + + + + + @@ -4485,28 +4517,21 @@

        BlockParent

        -

        BlockWrapper

        -

        A wrapper around a block with its metadata

        +

        EndorsementIds

        +

        EndorsementIds holds endorsements ids

        block_idstringslotSlot

        Block id

        Slot in which the endorsement can be included

        perioduint64indexuint32

        Period

        Endorsement index inside the including block

        endorsed_blockstring

        Hash of endorsed block +This is the parent in thread `self.slot.thread` of the block in which the endorsement is included

        - - - - - - - - - - - - - - + + + + + + + @@ -4516,8 +4541,8 @@

        BlockWrapper

        -

        FilledBlock

        -

        Filled block

        +

        EndorsementInfo

        +

        Informations about an endorsement with its metadata

        FieldTypeLabelDescription
        statusBlockStatus

        The execution status of the block

        blockBlock

        The block object itself

        endorsement_idsstringrepeated

        Endorsements ids

        @@ -4527,17 +4552,32 @@

        FilledBlock

        - - + + - + - - + + + + + + + + + - + + + + + + + + @@ -4547,8 +4587,8 @@

        FilledBlock

        -

        FilledOperationEntry

        -

        Filled Operation Tuple

        +

        EndorsementWrapper

        +

        A wrapper around an endorsement with its metadata

        headerSignedBlockHeaderendorsement_idstring

        Signed header

        The endorsement id

        operationsFilledOperationEntryin_poolbool

        Whether the endorsement is still in pool

        in_blocksstring repeated

        Operations

        The endorsement appears in `in_blocks` +If it appears in multiple blocks, these blocks are in different cliques

        is_finalbool

        Whether the the endorsement is final (for example in a final block)

        @@ -4558,17 +4598,32 @@

        FilledOperationEntry

        - + + + + + + + + + + + + + + + - + - - + + - + @@ -4578,8 +4633,8 @@

        FilledOperationEntry

        -

        SignedBlock

        -

        Signed block

        +

        SignedEndorsement

        +

        Signed endorsement

        operation_idin_poolbool

        Whether the endorsement is still in pool

        in_blocks stringrepeated

        The endorsement appears in `in_blocks` +If it appears in multiple blocks, these blocks are in different cliques

        is_finalbool

        Operation id

        Whether the the endorsement is final (for example in a final block)

        operationSignedOperationendorsementSignedEndorsement

        Signed operation

        The endorsement itself

        @@ -4590,9 +4645,9 @@

        SignedBlock

        - + - + @@ -4627,7 +4682,7 @@

        SignedBlock

        - + @@ -4637,8 +4692,22 @@

        SignedBlock

        -

        SignedBlockHeader

        -

        Signed block header

        + + + + + + + + +
        +

        massa/model/v1/commons.proto

        Top +
        +

        + + +

        ArrayOfBytesWrapper

        +

        Array of bytes wrapper

        contentBlockEndorsement

        Block

        Endorsement

        serialized_size uint64

        The size of the serialized block in bytes

        The size of the serialized endorsement in bytes

        @@ -4648,45 +4717,110 @@

        SignedBlockHeader

        - - + + + + + + + +
        contentBlockHeaderitemsbytesrepeated

        Repeated bytes

        + + + + + +

        BytesMapFieldEntry

        +

        BytesMapFieldEntry

        + + + + + + + + + + + - + - - + + - + + +
        FieldTypeLabelDescription
        keybytes

        BlockHeader

        bytes key

        signaturestringvaluebytes

        A cryptographically generated value using `serialized_data` and a public key.

        bytes key

        + + + + + +

        Empty

        +

        Empty

        + + + + + +

        Error

        +

        Massa error

        + + + + + + + + - - + + - + - + - + + +
        FieldTypeLabelDescription
        content_creator_pub_keystringcodeint32

        The public-key component used in the generation of the signature

        The error code

        content_creator_addressmessage string

        Derived from the same public key used to generate the signature

        A developer-facing error message, which should be in English

        + + + + + +

        KeyPair

        +

        KeyPair

        + + + + + + + + - + - + - - + + - + @@ -4698,8 +4832,8 @@

        SignedBlockHeader

        -

        BlockStatus

        -

        Possible statuses for a block

        +

        ComparisonResult

        +

        Comparison result

        FieldTypeLabelDescription
        secure_hashpublic_key string

        A secure hash of the non-malleable contents of a deterministic binary representation of the block header

        Public key

        serialized_sizeuint64secret_keystring

        The size of the serialized block header in bytes

        Secret key

        @@ -4707,33 +4841,27 @@

        BlockStatus

        - + - + - + - + - + - + - + - - - - - - - + @@ -4746,13 +4874,13 @@

        BlockStatus

        -

        massa/model/v1/endorsement.proto

        Top +

        massa/model/v1/slot.proto

        Top

        -

        Endorsement

        -

        An endorsement, as sent in the network

        +

        IndexedSlot

        +

        When an address is drawn to create an endorsement it is selected for a specific index

        NameNumberDescription
        BLOCK_STATUS_UNSPECIFIEDCOMPARISON_RESULT_UNSPECIFIED 0

        Default enum value

        BLOCK_STATUS_NON_FINAL_BLOCKCLIQUECOMPARISON_RESULT_LOWER 1

        The block is in the greatest clique (and not final)

        left is lower

        BLOCK_STATUS_FINALCOMPARISON_RESULT_EQUAL 2

        The block is final

        left and right are equal

        BLOCK_STATUS_NON_FINAL_ALTERNATE_CLIQUECOMPARISON_RESULT_GREATER 3

        The block is candidate (active any clique but not final)

        BLOCK_STATUS_DISCARDED4

        The block is discarded

        left is greater

        @@ -4765,22 +4893,45 @@

        Endorsement

        - + - + - + + + + +
        slot Slot

        Slot in which the endorsement can be included

        Slot

        indexuint32uint64

        Endorsement index inside the including block

        Endorsement index in the slot

        + + + + + +

        Slot

        +

        A point in time where a block is expected

        + + + + + + + + + + + + + - - + + - + @@ -4790,8 +4941,8 @@

        Endorsement

        -

        EndorsementIds

        -

        EndorsementIds holds endorsements ids

        +

        SlotRange

        +

        SlotRange

        FieldTypeLabelDescription
        perioduint64

        Period

        endorsed_blockstringthreaduint32

        Hash of endorsed block -This is the parent in thread `self.slot.thread` of the block in which the endorsement is included

        Thread

        @@ -4801,10 +4952,17 @@

        EndorsementIds

        - - - - + + + + + + + + + + + @@ -4814,8 +4972,8 @@

        EndorsementIds

        -

        EndorsementInfo

        -

        Informations about an endorsement with its metadata

        +

        Slots

        +

        Slots

        endorsement_idsstringrepeated

        Endorsements ids

        start_slotSlot

        Start lot (Optional)

        end_slotSlot

        End slot (Optional)

        @@ -4825,32 +4983,10 @@

        EndorsementInfo

        - - - - - - - - - - - - - - - - + + - - - - - - - - + @@ -4860,8 +4996,22 @@

        EndorsementInfo

        -

        EndorsementWrapper

        -

        A wrapper around an endorsement with its metadata

        + + + + + + + + +
        +

        massa/model/v1/versioning.proto

        Top +
        +

        + + +

        MipComponentEntry

        +

        MipComponentEntry

        endorsement_idstring

        The endorsement id

        in_poolbool

        Whether the endorsement is still in pool

        in_blocksstringslotsSlot repeated

        The endorsement appears in `in_blocks` -If it appears in multiple blocks, these blocks are in different cliques

        is_finalbool

        Whether the the endorsement is final (for example in a final block)

        Slots

        @@ -4871,32 +5021,17 @@

        EndorsementWrapper

        - - - - - - - - - - - - - - - - + + - + - - + + - + @@ -4906,8 +5041,8 @@

        EndorsementWrapper

        -

        SignedEndorsement

        -

        Signed endorsement

        +

        MipInfo

        +

        MIP info (name & versions & time range for a MIP)

        in_poolbool

        Whether the endorsement is still in pool

        in_blocksstringrepeated

        The endorsement appears in `in_blocks` -If it appears in multiple blocks, these blocks are in different cliques

        is_finalboolkindMipComponent

        Whether the the endorsement is final (for example in a final block)

        Kind

        endorsementSignedEndorsementversionuint32

        The endorsement itself

        Version

        @@ -4917,45 +5052,45 @@

        SignedEndorsement

        - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - - - + + + + @@ -4965,22 +5100,8 @@

        SignedEndorsement

        - - - - - - - - -
        -

        massa/model/v1/time.proto

        Top -
        -

        - - -

        NativeTime

        -

        NativeTime represents a native duration or unix timestamp

        +

        MipStatusEntry

        +

        Entry for GetMipStatusResponse

        contentEndorsementnamestring

        Endorsement

        MIP name or descriptive name

        signaturestringversionuint32

        A cryptographically generated value using `serialized_data` and a public key.

        Network (or global) version (to be included in block header)

        content_creator_pub_keystringstartNativeTime

        The public-key component used in the generation of the signature

        A timestamp at which the version gains its meaning (e.g. announced in block header)

        content_creator_addressstringtimeoutNativeTime

        Derived from the same public key used to generate the signature

        A timestamp at the which the deployment is considered failed

        secure_hashstringactivation_delayNativeTime

        A secure hash of the non-malleable contents of a deterministic binary representation of the block header

        Once deployment has been locked, wait for this duration before deployment is considered active

        serialized_sizeuint64

        The size of the serialized endorsement in bytes

        componentsMipComponentEntryrepeated

        Components concerned by this versioning (e.g. a new Block version), and the associated component_version

        @@ -4990,10 +5111,17 @@

        NativeTime

        - - + + - + + + + + + + + @@ -5005,6 +5133,88 @@

        NativeTime

        +

        ComponentStateId

        +

        State machine for a Versioning component that tracks the deployment state

        +
        millisecondsuint64mip_infoMipInfo

        Milliseconds

        Mip info

        state_idComponentStateId

        State id

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        NameNumberDescription
        COMPONENT_STATE_ID_UNSPECIFIED0

        Default enum value

        COMPONENT_STATE_ID_ERROR1

        Error state

        COMPONENT_STATE_ID_DEFINED2

        Initial state

        COMPONENT_STATE_ID_STARTED3

        Past start, can only go to LockedIn after the threshold is above a given value

        COMPONENT_STATE_ID_LOCKEDIN4

        Locked but wait for some time before going to active (to let users the time to upgrade)

        COMPONENT_STATE_ID_ACTIVE5

        After LockedIn, deployment is considered successful (after activation delay)

        COMPONENT_STATE_ID_FAILED6

        Past the timeout, if LockedIn is not reach

        + +

        MipComponent

        +

        Versioning component enum

        + + + + + + + + + + + + + + + + + + + + + + + + + +
        NameNumberDescription
        MIP_COMPONENT_UNSPECIFIED0

        Default enum value

        MIP_COMPONENT_ADDRESS1

        Address component

        MIP_COMPONENT_KEYPAIR2

        Keypair component

        + diff --git a/doc/commons.md b/doc/commons.md index 4eb470c..352498f 100644 --- a/doc/commons.md +++ b/doc/commons.md @@ -8,34 +8,15 @@ - [AddressKeysEntries](#massa-model-v1-AddressKeysEntries) - [DatastoreEntry](#massa-model-v1-DatastoreEntry) -- [massa/model/v1/staker.proto](#massa_model_v1_staker-proto) - - [StakerEntry](#massa-model-v1-StakerEntry) - - [massa/model/v1/draw.proto](#massa_model_v1_draw-proto) - [EndorsementDraw](#massa-model-v1-EndorsementDraw) - [SlotDraw](#massa-model-v1-SlotDraw) -- [massa/model/v1/versioning.proto](#massa_model_v1_versioning-proto) - - [MipComponentEntry](#massa-model-v1-MipComponentEntry) - - [MipInfo](#massa-model-v1-MipInfo) - - [MipStatusEntry](#massa-model-v1-MipStatusEntry) - - - [ComponentStateId](#massa-model-v1-ComponentStateId) - - [MipComponent](#massa-model-v1-MipComponent) - -- [massa/model/v1/stats.proto](#massa_model_v1_stats-proto) - - [ConsensusStats](#massa-model-v1-ConsensusStats) - - [ExecutionStats](#massa-model-v1-ExecutionStats) - - [NetworkStats](#massa-model-v1-NetworkStats) - - [PoolStats](#massa-model-v1-PoolStats) - -- [massa/model/v1/node.proto](#massa_model_v1_node-proto) - - [CompactConfig](#massa-model-v1-CompactConfig) - - [ConnectedNode](#massa-model-v1-ConnectedNode) - - [NodeStatus](#massa-model-v1-NodeStatus) - - [PublicStatus](#massa-model-v1-PublicStatus) +- [massa/model/v1/address.proto](#massa_model_v1_address-proto) + - [Addresses](#massa-model-v1-Addresses) + - [NativeAddress](#massa-model-v1-NativeAddress) - - [ConnectionType](#massa-model-v1-ConnectionType) + - [AddressCategory](#massa-model-v1-AddressCategory) - [massa/model/v1/operation.proto](#massa_model_v1_operation-proto) - [CallSC](#massa-model-v1-CallSC) @@ -53,22 +34,8 @@ - [OpType](#massa-model-v1-OpType) -- [massa/model/v1/denunciation.proto](#massa_model_v1_denunciation-proto) - - [DenunciationBlockHeader](#massa-model-v1-DenunciationBlockHeader) - - [DenunciationEndorsement](#massa-model-v1-DenunciationEndorsement) - - [DenunciationIndex](#massa-model-v1-DenunciationIndex) - -- [massa/model/v1/commons.proto](#massa_model_v1_commons-proto) - - [ArrayOfBytesWrapper](#massa-model-v1-ArrayOfBytesWrapper) - - [BytesMapFieldEntry](#massa-model-v1-BytesMapFieldEntry) - - [Empty](#massa-model-v1-Empty) - - [Error](#massa-model-v1-Error) - - [KeyPair](#massa-model-v1-KeyPair) - - - [ComparisonResult](#massa-model-v1-ComparisonResult) - -- [massa/model/v1/amount.proto](#massa_model_v1_amount-proto) - - [NativeAmount](#massa-model-v1-NativeAmount) +- [massa/model/v1/staker.proto](#massa_model_v1_staker-proto) + - [StakerEntry](#massa-model-v1-StakerEntry) - [massa/model/v1/execution.proto](#massa_model_v1_execution-proto) - [AsyncMessage](#massa-model-v1-AsyncMessage) @@ -109,17 +76,30 @@ - [OperationExecutionStatus](#massa-model-v1-OperationExecutionStatus) - [ScExecutionEventStatus](#massa-model-v1-ScExecutionEventStatus) -- [massa/model/v1/slot.proto](#massa_model_v1_slot-proto) - - [IndexedSlot](#massa-model-v1-IndexedSlot) - - [Slot](#massa-model-v1-Slot) - - [SlotRange](#massa-model-v1-SlotRange) - - [Slots](#massa-model-v1-Slots) +- [massa/model/v1/amount.proto](#massa_model_v1_amount-proto) + - [NativeAmount](#massa-model-v1-NativeAmount) -- [massa/model/v1/address.proto](#massa_model_v1_address-proto) - - [Addresses](#massa-model-v1-Addresses) - - [NativeAddress](#massa-model-v1-NativeAddress) +- [massa/model/v1/denunciation.proto](#massa_model_v1_denunciation-proto) + - [BlockHeaderDenunciation](#massa-model-v1-BlockHeaderDenunciation) + - [Denunciation](#massa-model-v1-Denunciation) + - [DenunciationBlockHeader](#massa-model-v1-DenunciationBlockHeader) + - [DenunciationEndorsement](#massa-model-v1-DenunciationEndorsement) + - [DenunciationIndex](#massa-model-v1-DenunciationIndex) + - [EndorsementDenunciation](#massa-model-v1-EndorsementDenunciation) - - [AddressCategory](#massa-model-v1-AddressCategory) +- [massa/model/v1/node.proto](#massa_model_v1_node-proto) + - [CompactConfig](#massa-model-v1-CompactConfig) + - [ConnectedNode](#massa-model-v1-ConnectedNode) + - [NodeStatus](#massa-model-v1-NodeStatus) + - [PublicStatus](#massa-model-v1-PublicStatus) + + - [ConnectionType](#massa-model-v1-ConnectionType) + +- [massa/model/v1/stats.proto](#massa_model_v1_stats-proto) + - [ConsensusStats](#massa-model-v1-ConsensusStats) + - [ExecutionStats](#massa-model-v1-ExecutionStats) + - [NetworkStats](#massa-model-v1-NetworkStats) + - [PoolStats](#massa-model-v1-PoolStats) - [massa/model/v1/block.proto](#massa_model_v1_block-proto) - [Block](#massa-model-v1-Block) @@ -135,6 +115,9 @@ - [BlockStatus](#massa-model-v1-BlockStatus) +- [massa/model/v1/time.proto](#massa_model_v1_time-proto) + - [NativeTime](#massa-model-v1-NativeTime) + - [massa/model/v1/endorsement.proto](#massa_model_v1_endorsement-proto) - [Endorsement](#massa-model-v1-Endorsement) - [EndorsementIds](#massa-model-v1-EndorsementIds) @@ -142,8 +125,28 @@ - [EndorsementWrapper](#massa-model-v1-EndorsementWrapper) - [SignedEndorsement](#massa-model-v1-SignedEndorsement) -- [massa/model/v1/time.proto](#massa_model_v1_time-proto) - - [NativeTime](#massa-model-v1-NativeTime) +- [massa/model/v1/commons.proto](#massa_model_v1_commons-proto) + - [ArrayOfBytesWrapper](#massa-model-v1-ArrayOfBytesWrapper) + - [BytesMapFieldEntry](#massa-model-v1-BytesMapFieldEntry) + - [Empty](#massa-model-v1-Empty) + - [Error](#massa-model-v1-Error) + - [KeyPair](#massa-model-v1-KeyPair) + + - [ComparisonResult](#massa-model-v1-ComparisonResult) + +- [massa/model/v1/slot.proto](#massa_model_v1_slot-proto) + - [IndexedSlot](#massa-model-v1-IndexedSlot) + - [Slot](#massa-model-v1-Slot) + - [SlotRange](#massa-model-v1-SlotRange) + - [Slots](#massa-model-v1-Slots) + +- [massa/model/v1/versioning.proto](#massa_model_v1_versioning-proto) + - [MipComponentEntry](#massa-model-v1-MipComponentEntry) + - [MipInfo](#massa-model-v1-MipInfo) + - [MipStatusEntry](#massa-model-v1-MipStatusEntry) + + - [ComponentStateId](#massa-model-v1-ComponentStateId) + - [MipComponent](#massa-model-v1-MipComponent) - [Scalar Value Types](#scalar-value-types) @@ -212,38 +215,6 @@ DatastoreEntry - -

        Top

        - -## massa/model/v1/staker.proto - - - - - -### StakerEntry -StakerEntry - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| address | [string](#string) | | Address | -| rolls | [uint64](#uint64) | | Rolls | - - - - - - - - - - - - - - -

        Top

        @@ -293,59 +264,39 @@ Slot draw - +

        Top

        -## massa/model/v1/versioning.proto - - - - - -### MipComponentEntry -MipComponentEntry - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| kind | [MipComponent](#massa-model-v1-MipComponent) | | Kind | -| version | [uint32](#uint32) | | Version | - - - +## massa/model/v1/address.proto - + -### MipInfo -MIP info (name & versions & time range for a MIP) +### Addresses +Addresses holds addresses | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| name | [string](#string) | | MIP name or descriptive name | -| version | [uint32](#uint32) | | Network (or global) version (to be included in block header) | -| start | [NativeTime](#massa-model-v1-NativeTime) | | A timestamp at which the version gains its meaning (e.g. announced in block header) | -| timeout | [NativeTime](#massa-model-v1-NativeTime) | | A timestamp at the which the deployment is considered failed | -| activation_delay | [NativeTime](#massa-model-v1-NativeTime) | | Once deployment has been locked, wait for this duration before deployment is considered active | -| components | [MipComponentEntry](#massa-model-v1-MipComponentEntry) | repeated | Components concerned by this versioning (e.g. a new Block version), and the associated component_version | +| addresses | [string](#string) | repeated | Addresses | - + -### MipStatusEntry -Entry for GetMipStatusResponse +### NativeAddress +Massa NativeAddress | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| mip_info | [MipInfo](#massa-model-v1-MipInfo) | | Mip info | -| state_id | [ComponentStateId](#massa-model-v1-ComponentStateId) | | State id | +| category | [AddressCategory](#massa-model-v1-AddressCategory) | | Address category | +| version | [uint64](#uint64) | | Address version | +| content | [bytes](#bytes) | | Address content | @@ -354,33 +305,16 @@ Entry for GetMipStatusResponse - - -### ComponentStateId -State machine for a Versioning component that tracks the deployment state - -| Name | Number | Description | -| ---- | ------ | ----------- | -| COMPONENT_STATE_ID_UNSPECIFIED | 0 | Default enum value | -| COMPONENT_STATE_ID_ERROR | 1 | Error state | -| COMPONENT_STATE_ID_DEFINED | 2 | Initial state | -| COMPONENT_STATE_ID_STARTED | 3 | Past start, can only go to LockedIn after the threshold is above a given value | -| COMPONENT_STATE_ID_LOCKEDIN | 4 | Locked but wait for some time before going to active (to let users the time to upgrade) | -| COMPONENT_STATE_ID_ACTIVE | 5 | After LockedIn, deployment is considered successful (after activation delay) | -| COMPONENT_STATE_ID_FAILED | 6 | Past the timeout, if LockedIn is not reach | - - - - + -### MipComponent -Versioning component enum +### AddressCategory +Address category discriminant | Name | Number | Description | | ---- | ------ | ----------- | -| MIP_COMPONENT_UNSPECIFIED | 0 | Default enum value | -| MIP_COMPONENT_ADDRESS | 1 | Address component | -| MIP_COMPONENT_KEYPAIR | 2 | Keypair component | +| ADDRESS_CATEGORY_UNSPECIFIED | 0 | Unspecified address category | +| ADDRESS_CATEGORY_USER_ADDRESS | 1 | User address | +| ADDRESS_CATEGORY_SC_ADDRESS | 2 | Smart contract address | @@ -391,278 +325,66 @@ Versioning component enum - +

        Top

        -## massa/model/v1/stats.proto +## massa/model/v1/operation.proto - + -### ConsensusStats -Consensus statistics +### CallSC +Calls an exported function from a stored smart contract | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| start_timespan | [NativeTime](#massa-model-v1-NativeTime) | | Start of the time span for stats | -| end_timespan | [NativeTime](#massa-model-v1-NativeTime) | | End of the time span for stats | -| final_block_count | [uint64](#uint64) | | Number of final blocks | -| stale_block_count | [uint64](#uint64) | | Number of stale blocks in memory | -| clique_count | [uint64](#uint64) | | Number of actives cliques | +| target_address | [string](#string) | | Target smart contract address | +| target_function | [string](#string) | | Target function name. No function is called if empty | +| parameter | [bytes](#bytes) | | Parameter to pass to the target function | +| max_gas | [uint64](#uint64) | | The maximum amount of gas that the execution of the contract is allowed to cost | +| coins | [NativeAmount](#massa-model-v1-NativeAmount) | | Extra coins that are spent from the caller's balance and transferred to the target | - + -### ExecutionStats -Execution statistics +### ExecuteSC +Execute a smart contract | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| time_window_start | [NativeTime](#massa-model-v1-NativeTime) | | Time window start | -| time_window_end | [NativeTime](#massa-model-v1-NativeTime) | | Time window end | -| final_block_count | [uint64](#uint64) | | Number of final blocks in the time window | -| final_executed_operations_count | [uint64](#uint64) | | Number of final executed operations in the time window | +| data | [bytes](#bytes) | | Smart contract bytecode. | +| max_coins | [uint64](#uint64) | | The maximum of coins that could be spent by the operation sender | +| max_gas | [uint64](#uint64) | | The maximum amount of gas that the execution of the contract is allowed to cost | +| datastore | [BytesMapFieldEntry](#massa-model-v1-BytesMapFieldEntry) | repeated | A key-value store associating a hash to arbitrary bytes | - + -### NetworkStats -Network statistics +### OpTypes +OpTypes | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| in_connection_count | [uint64](#uint64) | | In connections count | -| out_connection_count | [uint64](#uint64) | | Out connections count | -| known_peer_count | [uint64](#uint64) | | Total known peers count | -| banned_peer_count | [uint64](#uint64) | | Banned node count | -| active_node_count | [uint64](#uint64) | | Active node count | - +| op_types | [OpType](#massa-model-v1-OpType) | repeated | Operations types | - -### PoolStats -Pool statistics - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| endorsements_count | [uint64](#uint64) | | Endorsements | -| operations_count | [uint64](#uint64) | | Operations | - - - - - - - - - - - - - - - - -

        Top

        - -## massa/model/v1/node.proto - - - - - -### CompactConfig -Compact configuration - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| genesis_timestamp | [NativeTime](#massa-model-v1-NativeTime) | | Time in milliseconds when the blockclique started. | -| end_timestamp | [NativeTime](#massa-model-v1-NativeTime) | | TESTNET: time when the blockclique is ended. | -| thread_count | [uint32](#uint32) | | Number of threads | -| t0 | [NativeTime](#massa-model-v1-NativeTime) | | Time between the periods in the same thread. | -| delta_f0 | [uint64](#uint64) | | Threshold for fitness. | -| operation_validity_periods | [uint64](#uint64) | | Maximum operation validity period count | -| periods_per_cycle | [uint64](#uint64) | | cycle duration in periods | -| block_reward | [NativeAmount](#massa-model-v1-NativeAmount) | | Reward amount for a block creation | -| roll_price | [NativeAmount](#massa-model-v1-NativeAmount) | | Price of a roll on the network | -| max_block_size | [uint32](#uint32) | | Max total size of a block | - - - - - - - - -### ConnectedNode -Connected node - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| node_id | [string](#string) | | Node id | -| node_ip | [string](#string) | | Node ip | -| connection_type | [ConnectionType](#massa-model-v1-ConnectionType) | | Connection type | - - - - - - - - -### NodeStatus -Node status - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| node_id | [string](#string) | | Our node id | -| node_ip | [string](#string) | | Optional node ip | -| version | [string](#string) | | Node version | -| current_time | [NativeTime](#massa-model-v1-NativeTime) | | Now | -| current_cycle | [uint64](#uint64) | | Current cycle | -| current_cycle_time | [NativeTime](#massa-model-v1-NativeTime) | | Current cycle starting timestamp | -| next_cycle_time | [NativeTime](#massa-model-v1-NativeTime) | | Next cycle starting timestamp | -| connected_nodes | [ConnectedNode](#massa-model-v1-ConnectedNode) | repeated | Connected nodes | -| last_executed_final_slot | [Slot](#massa-model-v1-Slot) | | Last executed final slot | -| last_executed_speculative_slot | [Slot](#massa-model-v1-Slot) | | Last executed speculative slot | -| final_state_fingerprint | [string](#string) | | The hash of the XOF final state hash | -| consensus_stats | [ConsensusStats](#massa-model-v1-ConsensusStats) | | Consensus stats | -| pool_stats | [PoolStats](#massa-model-v1-PoolStats) | | Pool stats (operation count and endorsement count) | -| network_stats | [NetworkStats](#massa-model-v1-NetworkStats) | | Network stats | -| execution_stats | [ExecutionStats](#massa-model-v1-ExecutionStats) | | Execution stats | -| config | [CompactConfig](#massa-model-v1-CompactConfig) | | Compact configuration | - - - - - - - - -### PublicStatus -Public status - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| node_id | [string](#string) | | Our node id | -| version | [string](#string) | | Node version | -| current_time | [NativeTime](#massa-model-v1-NativeTime) | | Now | -| current_cycle | [uint64](#uint64) | | Current cycle | -| current_cycle_time | [NativeTime](#massa-model-v1-NativeTime) | | Current cycle starting timestamp | -| next_cycle_time | [NativeTime](#massa-model-v1-NativeTime) | | Next cycle starting timestamp | -| last_executed_final_slot | [Slot](#massa-model-v1-Slot) | | Last executed final slot | -| last_executed_speculative_slot | [Slot](#massa-model-v1-Slot) | | Last executed speculative slot | -| final_state_fingerprint | [string](#string) | | The hash of the XOF final state hash | -| config | [CompactConfig](#massa-model-v1-CompactConfig) | | Compact configuration | - - - - - - - - - - -### ConnectionType -ConnectionType enum - -| Name | Number | Description | -| ---- | ------ | ----------- | -| CONNECTION_TYPE_UNSPECIFIED | 0 | Default enum value | -| CONNECTION_TYPE_INCOMING | 1 | Incoming connection | -| CONNECTION_TYPE_OUTGOING | 2 | Outgoing connection | - - - - - - - - - - - -

        Top

        - -## massa/model/v1/operation.proto - - - - - -### CallSC -Calls an exported function from a stored smart contract - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| target_address | [string](#string) | | Target smart contract address | -| target_function | [string](#string) | | Target function name. No function is called if empty | -| parameter | [bytes](#bytes) | | Parameter to pass to the target function | -| max_gas | [uint64](#uint64) | | The maximum amount of gas that the execution of the contract is allowed to cost | -| coins | [NativeAmount](#massa-model-v1-NativeAmount) | | Extra coins that are spent from the caller's balance and transferred to the target | - - - - - - - - -### ExecuteSC -Execute a smart contract - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| data | [bytes](#bytes) | | Smart contract bytecode. | -| max_coins | [uint64](#uint64) | | The maximum of coins that could be spent by the operation sender | -| max_gas | [uint64](#uint64) | | The maximum amount of gas that the execution of the contract is allowed to cost | -| datastore | [BytesMapFieldEntry](#massa-model-v1-BytesMapFieldEntry) | repeated | A key-value store associating a hash to arbitrary bytes | - - - - - - - - -### OpTypes -OpTypes - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| op_types | [OpType](#massa-model-v1-OpType) | repeated | Operations types | - - - - - - - + ### Operation The operation as sent in the network @@ -722,7 +444,7 @@ Type specific operation content | transaction | [Transaction](#massa-model-v1-Transaction) | | Transfer coins from sender to recipient | | roll_buy | [RollBuy](#massa-model-v1-RollBuy) | | The sender buys `roll_count` rolls. Roll price is defined in configuration | | roll_sell | [RollSell](#massa-model-v1-RollSell) | | The sender sells `roll_count` rolls. Roll price is defined in configuration | -| execut_sc | [ExecuteSC](#massa-model-v1-ExecuteSC) | | Execute a smart contract | +| execute_sc | [ExecuteSC](#massa-model-v1-ExecuteSC) | | Execute a smart contract | | call_sc | [CallSC](#massa-model-v1-CallSC) | | Calls an exported function from a stored smart contract | @@ -838,240 +560,73 @@ Operation type enum - +

        Top

        -## massa/model/v1/denunciation.proto +## massa/model/v1/staker.proto - + -### DenunciationBlockHeader -Variant for Block header denunciation index +### StakerEntry +StakerEntry | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| slot | [Slot](#massa-model-v1-Slot) | | Denounciation slot | +| address | [string](#string) | | Address | +| rolls | [uint64](#uint64) | | Rolls | + - + -### DenunciationEndorsement -Variant for Endorsement denunciation index + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| slot | [Slot](#massa-model-v1-Slot) | | Denounciation slot | -| index | [uint32](#uint32) | | Denounciation index | + +

        Top

        +## massa/model/v1/execution.proto - + -### DenunciationIndex -Index for Denunciations in collections (e.g. like a HashMap...) +### AsyncMessage +Asynchronous smart contract message | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| block_header | [DenunciationBlockHeader](#massa-model-v1-DenunciationBlockHeader) | | Denunciation block header | -| endorsement | [DenunciationEndorsement](#massa-model-v1-DenunciationEndorsement) | | Denunciation endorsement | +| emission_slot | [Slot](#massa-model-v1-Slot) | | Slot at which the message was emitted | +| emission_index | [uint64](#uint64) | | Index of the emitted message within the `emission_slot`. This is used for disambiguate the emission of multiple messages at the same slot. | +| sender | [string](#string) | | The address that sent the message | +| destination | [string](#string) | | The address towards which the message is being sent | +| handler | [string](#string) | | the handler function name within the destination address' bytecode | +| max_gas | [uint64](#uint64) | | Maximum gas to use when processing the message | +| fee | [NativeAmount](#massa-model-v1-NativeAmount) | | Fee paid by the sender when the message is processed. | +| coins | [NativeAmount](#massa-model-v1-NativeAmount) | | Coins sent from the sender to the target address of the message. Those coins are spent by the sender address when the message is sent, and credited to the destination address when receiving the message. In case of failure or discard, those coins are reimbursed to the sender. | +| validity_start | [Slot](#massa-model-v1-Slot) | | Slot at which the message starts being valid (bound included in the validity range) | +| validity_end | [Slot](#massa-model-v1-Slot) | | Slot at which the message stops being valid (bound not included in the validity range) | +| data | [bytes](#bytes) | | Raw payload data of the message | +| trigger | [AsyncMessageTrigger](#massa-model-v1-AsyncMessageTrigger) | | Trigger that define whenever a message can be executed | +| can_be_executed | [bool](#bool) | | Boolean that determine if the message can be executed. For messages without filter this boolean is always true. For messages with filter, this boolean is true if the filter has been matched between `validity_start` and current slot. | - - - - - - - - - - -

        Top

        - -## massa/model/v1/commons.proto - - - - - -### ArrayOfBytesWrapper -Array of bytes wrapper - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| items | [bytes](#bytes) | repeated | Repeated bytes | - - - - - - - - -### BytesMapFieldEntry -BytesMapFieldEntry - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| key | [bytes](#bytes) | | bytes key | -| value | [bytes](#bytes) | | bytes key | - - - - - - - - -### Empty -Empty - - - - - - - - -### Error -Massa error - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| code | [int32](#int32) | | The error code | -| message | [string](#string) | | A developer-facing error message, which should be in English | - - - - - - - - -### KeyPair -KeyPair - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| public_key | [string](#string) | | Public key | -| secret_key | [string](#string) | | Secret key | - - - - - - - - - - -### ComparisonResult -Comparison result - -| Name | Number | Description | -| ---- | ------ | ----------- | -| COMPARISON_RESULT_UNSPECIFIED | 0 | | -| COMPARISON_RESULT_LOWER | 1 | left is lower | -| COMPARISON_RESULT_EQUAL | 2 | left and right are equal | -| COMPARISON_RESULT_GREATER | 3 | left is greater | - - - - - - - - - - - -

        Top

        - -## massa/model/v1/amount.proto - - - - - -### NativeAmount -NativeAmount is represented as a fraction so precision can be adjusted in -the future. value = mantissa / (10^scale) - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| mantissa | [uint64](#uint64) | | Mantissa | -| scale | [uint32](#uint32) | | Scale | - - - - - - - - - - - - - - - - -

        Top

        - -## massa/model/v1/execution.proto - - - - - -### AsyncMessage -Asynchronous smart contract message - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| emission_slot | [Slot](#massa-model-v1-Slot) | | Slot at which the message was emitted | -| emission_index | [uint64](#uint64) | | Index of the emitted message within the `emission_slot`. This is used for disambiguate the emission of multiple messages at the same slot. | -| sender | [string](#string) | | The address that sent the message | -| destination | [string](#string) | | The address towards which the message is being sent | -| handler | [string](#string) | | the handler function name within the destination address' bytecode | -| max_gas | [uint64](#uint64) | | Maximum gas to use when processing the message | -| fee | [NativeAmount](#massa-model-v1-NativeAmount) | | Fee paid by the sender when the message is processed. | -| coins | [NativeAmount](#massa-model-v1-NativeAmount) | | Coins sent from the sender to the target address of the message. Those coins are spent by the sender address when the message is sent, and credited to the destination address when receiving the message. In case of failure or discard, those coins are reimbursed to the sender. | -| validity_start | [Slot](#massa-model-v1-Slot) | | Slot at which the message starts being valid (bound included in the validity range) | -| validity_end | [Slot](#massa-model-v1-Slot) | | Slot at which the message stops being valid (bound not included in the validity range) | -| data | [bytes](#bytes) | | Raw payload data of the message | -| trigger | [AsyncMessageTrigger](#massa-model-v1-AsyncMessageTrigger) | | Trigger that define whenever a message can be executed | -| can_be_executed | [bool](#bool) | | Boolean that determine if the message can be executed. For messages without filter this boolean is always true. For messages with filter, this boolean is true if the filter has been matched between `validity_start` and current slot. | - - - - - - - + ### AsyncMessageTrigger Structure defining a trigger for an asynchronous message @@ -1261,6 +816,7 @@ Execute a function call | target_address | [string](#string) | | Target address | | target_function | [string](#string) | | Target function | | parameter | [bytes](#bytes) | | Parameter to pass to the target function | +| coins | [NativeAmount](#massa-model-v1-NativeAmount) | | Coins transferred to the target address during the call | @@ -1347,6 +903,10 @@ Read-only execution call | bytecode_call | [BytecodeExecution](#massa-model-v1-BytecodeExecution) | | Byte code | | function_call | [FunctionCall](#massa-model-v1-FunctionCall) | | Function call | | caller_address | [google.protobuf.StringValue](#google-protobuf-StringValue) | | Caller's address, (Optional) if not set, an auto-generated address will be used | +| fee | [NativeAmount](#massa-model-v1-NativeAmount) | | fee paid by the caller when the call is processed (optional) | + + + @@ -1660,138 +1220,366 @@ ScExecutionEventStatus type enum - +

        Top

        -## massa/model/v1/slot.proto +## massa/model/v1/amount.proto - + -### IndexedSlot -When an address is drawn to create an endorsement it is selected for a specific index +### NativeAmount +NativeAmount is represented as a fraction so precision can be adjusted in +the future. value = mantissa / (10^scale) | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| slot | [Slot](#massa-model-v1-Slot) | | Slot | -| index | [uint64](#uint64) | | Endorsement index in the slot | +| mantissa | [uint64](#uint64) | | Mantissa | +| scale | [uint32](#uint32) | | Scale | + - + -### Slot -A point in time where a block is expected + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| period | [uint64](#uint64) | | Period | -| thread | [uint32](#uint32) | | Thread | + +

        Top

        +## massa/model/v1/denunciation.proto - + + +### BlockHeaderDenunciation -### SlotRange -SlotRange | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| start_slot | [Slot](#massa-model-v1-Slot) | | Start lot (Optional) | -| end_slot | [Slot](#massa-model-v1-Slot) | | End slot (Optional) | +| public_key | [string](#string) | | Denunciation public key | +| slot | [Slot](#massa-model-v1-Slot) | | Denunciation slot | +| hash_1 | [string](#string) | | Denunciation hash 1 | +| hash_2 | [string](#string) | | Denunciation hash 2 | +| signature_1 | [string](#string) | | Denunciation sig 1 | +| signature_2 | [string](#string) | | Denunciation sig 2 | - + + +### Denunciation -### Slots -Slots | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| slots | [Slot](#massa-model-v1-Slot) | repeated | Slots | +| block_header | [BlockHeaderDenunciation](#massa-model-v1-BlockHeaderDenunciation) | | Denunciation block header | +| endorsement | [EndorsementDenunciation](#massa-model-v1-EndorsementDenunciation) | | Denunciation endorsement | - - + - +### DenunciationBlockHeader +Variant for Block header denunciation index - +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| slot | [Slot](#massa-model-v1-Slot) | | Denunciation slot | - -

        Top

        -## massa/model/v1/address.proto - + -### Addresses -Addresses holds addresses +### DenunciationEndorsement +Variant for Endorsement denunciation index | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| addresses | [string](#string) | repeated | Addresses | +| slot | [Slot](#massa-model-v1-Slot) | | Denounciation slot | +| index | [uint32](#uint32) | | Denounciation index | - + -### NativeAddress -Massa NativeAddress +### DenunciationIndex +Index for Denunciations in collections (e.g. like a HashMap...) | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| category | [AddressCategory](#massa-model-v1-AddressCategory) | | Address category | -| version | [uint64](#uint64) | | Address version | -| content | [bytes](#bytes) | | Address content | +| block_header | [DenunciationBlockHeader](#massa-model-v1-DenunciationBlockHeader) | | Denunciation block header | +| endorsement | [DenunciationEndorsement](#massa-model-v1-DenunciationEndorsement) | | Denunciation endorsement | - + - +### EndorsementDenunciation -### AddressCategory -Address category discriminant + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| public_key | [string](#string) | | Denunciation public key | +| slot | [Slot](#massa-model-v1-Slot) | | Denunciation slot | +| index | [uint32](#uint32) | | Denunciation index | +| hash_1 | [string](#string) | | Denunciation hash 1 | +| hash_2 | [string](#string) | | Denunciation hash 2 | +| signature_1 | [string](#string) | | Denunciation sig 1 | +| signature_2 | [string](#string) | | Denunciation sig 2 | + + + + + + + + + + + + + + + + +

        Top

        + +## massa/model/v1/node.proto + + + + + +### CompactConfig +Compact configuration + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| genesis_timestamp | [NativeTime](#massa-model-v1-NativeTime) | | Time in milliseconds when the blockclique started. | +| end_timestamp | [NativeTime](#massa-model-v1-NativeTime) | | TESTNET: time when the blockclique is ended. | +| thread_count | [uint32](#uint32) | | Number of threads | +| t0 | [NativeTime](#massa-model-v1-NativeTime) | | Time between the periods in the same thread. | +| delta_f0 | [uint64](#uint64) | | Threshold for fitness. | +| operation_validity_periods | [uint64](#uint64) | | Maximum operation validity period count | +| periods_per_cycle | [uint64](#uint64) | | cycle duration in periods | +| block_reward | [NativeAmount](#massa-model-v1-NativeAmount) | | Reward amount for a block creation | +| roll_price | [NativeAmount](#massa-model-v1-NativeAmount) | | Price of a roll on the network | +| max_block_size | [uint32](#uint32) | | Max total size of a block | + + + + + + + + +### ConnectedNode +Connected node + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| node_id | [string](#string) | | Node id | +| node_ip | [string](#string) | | Node ip | +| connection_type | [ConnectionType](#massa-model-v1-ConnectionType) | | Connection type | + + + + + + + + +### NodeStatus +Node status + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| node_id | [string](#string) | | Our node id | +| node_ip | [string](#string) | | Optional node ip | +| version | [string](#string) | | Node version | +| current_time | [NativeTime](#massa-model-v1-NativeTime) | | Now | +| current_cycle | [uint64](#uint64) | | Current cycle | +| current_cycle_time | [NativeTime](#massa-model-v1-NativeTime) | | Current cycle starting timestamp | +| next_cycle_time | [NativeTime](#massa-model-v1-NativeTime) | | Next cycle starting timestamp | +| connected_nodes | [ConnectedNode](#massa-model-v1-ConnectedNode) | repeated | Connected nodes | +| last_executed_final_slot | [Slot](#massa-model-v1-Slot) | | Last executed final slot | +| last_executed_speculative_slot | [Slot](#massa-model-v1-Slot) | | Last executed speculative slot | +| final_state_fingerprint | [string](#string) | | The hash of the XOF final state hash | +| consensus_stats | [ConsensusStats](#massa-model-v1-ConsensusStats) | | Consensus stats | +| pool_stats | [PoolStats](#massa-model-v1-PoolStats) | | Pool stats (operation count and endorsement count) | +| network_stats | [NetworkStats](#massa-model-v1-NetworkStats) | | Network stats | +| execution_stats | [ExecutionStats](#massa-model-v1-ExecutionStats) | | Execution stats | +| config | [CompactConfig](#massa-model-v1-CompactConfig) | | Compact configuration | +| chain_id | [uint64](#uint64) | | Chain id | + + + + + + + + +### PublicStatus +Public status + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| node_id | [string](#string) | | Our node id | +| version | [string](#string) | | Node version | +| current_time | [NativeTime](#massa-model-v1-NativeTime) | | Now | +| current_cycle | [uint64](#uint64) | | Current cycle | +| current_cycle_time | [NativeTime](#massa-model-v1-NativeTime) | | Current cycle starting timestamp | +| next_cycle_time | [NativeTime](#massa-model-v1-NativeTime) | | Next cycle starting timestamp | +| last_executed_final_slot | [Slot](#massa-model-v1-Slot) | | Last executed final slot | +| last_executed_speculative_slot | [Slot](#massa-model-v1-Slot) | | Last executed speculative slot | +| final_state_fingerprint | [string](#string) | | The hash of the XOF final state hash | +| config | [CompactConfig](#massa-model-v1-CompactConfig) | | Compact configuration | +| chain_id | [uint64](#uint64) | | Chain id | +| minimal_fees | [NativeAmount](#massa-model-v1-NativeAmount) | | minimal fees | + + + + + + + + + + +### ConnectionType +ConnectionType enum | Name | Number | Description | | ---- | ------ | ----------- | -| ADDRESS_CATEGORY_UNSPECIFIED | 0 | Unspecified address category | -| ADDRESS_CATEGORY_USER_ADDRESS | 1 | User address | -| ADDRESS_CATEGORY_SC_ADDRESS | 2 | Smart contract address | +| CONNECTION_TYPE_UNSPECIFIED | 0 | Default enum value | +| CONNECTION_TYPE_INCOMING | 1 | Incoming connection | +| CONNECTION_TYPE_OUTGOING | 2 | Outgoing connection | + + + + + + + + + + + +

        Top

        + +## massa/model/v1/stats.proto + + + + + +### ConsensusStats +Consensus statistics + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| start_timespan | [NativeTime](#massa-model-v1-NativeTime) | | Start of the time span for stats | +| end_timespan | [NativeTime](#massa-model-v1-NativeTime) | | End of the time span for stats | +| final_block_count | [uint64](#uint64) | | Number of final blocks | +| stale_block_count | [uint64](#uint64) | | Number of stale blocks in memory | +| clique_count | [uint64](#uint64) | | Number of actives cliques | + + + + + + + + +### ExecutionStats +Execution statistics + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| time_window_start | [NativeTime](#massa-model-v1-NativeTime) | | Time window start | +| time_window_end | [NativeTime](#massa-model-v1-NativeTime) | | Time window end | +| final_block_count | [uint64](#uint64) | | Number of final blocks in the time window | +| final_executed_operations_count | [uint64](#uint64) | | Number of final executed operations in the time window | + + + + + + + + +### NetworkStats +Network statistics + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| in_connection_count | [uint64](#uint64) | | In connections count | +| out_connection_count | [uint64](#uint64) | | Out connections count | +| known_peer_count | [uint64](#uint64) | | Total known peers count | +| banned_peer_count | [uint64](#uint64) | | Banned node count | +| active_node_count | [uint64](#uint64) | | Active node count | + + + + + + + + +### PoolStats +Pool statistics + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| endorsements_count | [uint64](#uint64) | | Endorsements | +| operations_count | [uint64](#uint64) | | Operations | + + + + + @@ -1837,6 +1625,7 @@ Block header | parents | [string](#string) | repeated | parents | | operations_hash | [string](#string) | | All operations hash | | endorsements | [SignedEndorsement](#massa-model-v1-SignedEndorsement) | repeated | Signed endorsements | +| denunciations | [Denunciation](#massa-model-v1-Denunciation) | repeated | Denunciations | @@ -2002,6 +1791,37 @@ Possible statuses for a block + +

        Top

        + +## massa/model/v1/time.proto + + + + + +### NativeTime +NativeTime represents a native duration or unix timestamp + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| milliseconds | [uint64](#uint64) | | Milliseconds | + + + + + + + + + + + + + + +

        Top

        @@ -2106,22 +1926,80 @@ Signed endorsement - +

        Top

        -## massa/model/v1/time.proto +## massa/model/v1/commons.proto - + -### NativeTime -NativeTime represents a native duration or unix timestamp +### ArrayOfBytesWrapper +Array of bytes wrapper | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| milliseconds | [uint64](#uint64) | | Milliseconds | +| items | [bytes](#bytes) | repeated | Repeated bytes | + + + + + + + + +### BytesMapFieldEntry +BytesMapFieldEntry + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [bytes](#bytes) | | bytes key | +| value | [bytes](#bytes) | | bytes key | + + + + + + + + +### Empty +Empty + + + + + + + + +### Error +Massa error + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code | [int32](#int32) | | The error code | +| message | [string](#string) | | A developer-facing error message, which should be in English | + + + + + + + + +### KeyPair +KeyPair + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| public_key | [string](#string) | | Public key | +| secret_key | [string](#string) | | Secret key | @@ -2129,6 +2007,197 @@ NativeTime represents a native duration or unix timestamp + + + +### ComparisonResult +Comparison result + +| Name | Number | Description | +| ---- | ------ | ----------- | +| COMPARISON_RESULT_UNSPECIFIED | 0 | | +| COMPARISON_RESULT_LOWER | 1 | left is lower | +| COMPARISON_RESULT_EQUAL | 2 | left and right are equal | +| COMPARISON_RESULT_GREATER | 3 | left is greater | + + + + + + + + + + + +

        Top

        + +## massa/model/v1/slot.proto + + + + + +### IndexedSlot +When an address is drawn to create an endorsement it is selected for a specific index + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| slot | [Slot](#massa-model-v1-Slot) | | Slot | +| index | [uint64](#uint64) | | Endorsement index in the slot | + + + + + + + + +### Slot +A point in time where a block is expected + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| period | [uint64](#uint64) | | Period | +| thread | [uint32](#uint32) | | Thread | + + + + + + + + +### SlotRange +SlotRange + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| start_slot | [Slot](#massa-model-v1-Slot) | | Start lot (Optional) | +| end_slot | [Slot](#massa-model-v1-Slot) | | End slot (Optional) | + + + + + + + + +### Slots +Slots + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| slots | [Slot](#massa-model-v1-Slot) | repeated | Slots | + + + + + + + + + + + + + + + + +

        Top

        + +## massa/model/v1/versioning.proto + + + + + +### MipComponentEntry +MipComponentEntry + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| kind | [MipComponent](#massa-model-v1-MipComponent) | | Kind | +| version | [uint32](#uint32) | | Version | + + + + + + + + +### MipInfo +MIP info (name & versions & time range for a MIP) + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | MIP name or descriptive name | +| version | [uint32](#uint32) | | Network (or global) version (to be included in block header) | +| start | [NativeTime](#massa-model-v1-NativeTime) | | A timestamp at which the version gains its meaning (e.g. announced in block header) | +| timeout | [NativeTime](#massa-model-v1-NativeTime) | | A timestamp at the which the deployment is considered failed | +| activation_delay | [NativeTime](#massa-model-v1-NativeTime) | | Once deployment has been locked, wait for this duration before deployment is considered active | +| components | [MipComponentEntry](#massa-model-v1-MipComponentEntry) | repeated | Components concerned by this versioning (e.g. a new Block version), and the associated component_version | + + + + + + + + +### MipStatusEntry +Entry for GetMipStatusResponse + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| mip_info | [MipInfo](#massa-model-v1-MipInfo) | | Mip info | +| state_id | [ComponentStateId](#massa-model-v1-ComponentStateId) | | State id | + + + + + + + + + + +### ComponentStateId +State machine for a Versioning component that tracks the deployment state + +| Name | Number | Description | +| ---- | ------ | ----------- | +| COMPONENT_STATE_ID_UNSPECIFIED | 0 | Default enum value | +| COMPONENT_STATE_ID_ERROR | 1 | Error state | +| COMPONENT_STATE_ID_DEFINED | 2 | Initial state | +| COMPONENT_STATE_ID_STARTED | 3 | Past start, can only go to LockedIn after the threshold is above a given value | +| COMPONENT_STATE_ID_LOCKEDIN | 4 | Locked but wait for some time before going to active (to let users the time to upgrade) | +| COMPONENT_STATE_ID_ACTIVE | 5 | After LockedIn, deployment is considered successful (after activation delay) | +| COMPONENT_STATE_ID_FAILED | 6 | Past the timeout, if LockedIn is not reach | + + + + + +### MipComponent +Versioning component enum + +| Name | Number | Description | +| ---- | ------ | ----------- | +| MIP_COMPONENT_UNSPECIFIED | 0 | Default enum value | +| MIP_COMPONENT_ADDRESS | 1 | Address component | +| MIP_COMPONENT_KEYPAIR | 2 | Keypair component | + + diff --git a/proto/apis/massa/api/v1/public.proto b/proto/apis/massa/api/v1/public.proto index 920792b..fea86b7 100644 --- a/proto/apis/massa/api/v1/public.proto +++ b/proto/apis/massa/api/v1/public.proto @@ -921,7 +921,7 @@ message NewSlotABICallStacksRequest { message NewSlotABICallStacksResponse { // Finality level to receive informations from massa.model.v1.Slot slot = 1; - // Call stacks for asynchronous execution + // Call stacks for asynchronous execution repeated ASCABICallStack asc_call_stacks = 2; // Call stack for operations repeated OperationABICallStack operation_call_stacks = 3; @@ -1133,7 +1133,7 @@ message GetSlotABICallStacksRequest { repeated massa.model.v1.Slot slots = 1; } -// ABI asynchronous execution call stack +// ABI asynchronous execution call stack message ASCABICallStack { // Index of the execution in the slot uint64 index = 1; @@ -1151,7 +1151,7 @@ message OperationABICallStack { // Call stack for a slot message SlotABICallStacks { - // Call stacks for asynchronous execution + // Call stacks for asynchronous execution repeated ASCABICallStack asc_call_stacks = 1; // Call stack for operations repeated OperationABICallStack operation_call_stacks = 2; diff --git a/proto/commons/massa/model/v1/block.proto b/proto/commons/massa/model/v1/block.proto index 072942e..1f0c61f 100644 --- a/proto/commons/massa/model/v1/block.proto +++ b/proto/commons/massa/model/v1/block.proto @@ -5,9 +5,9 @@ syntax = "proto3"; package massa.model.v1; import "google/protobuf/wrappers.proto"; +import "massa/model/v1/denunciation.proto"; import "massa/model/v1/endorsement.proto"; import "massa/model/v1/operation.proto"; -import "massa/model/v1/denunciation.proto"; import "massa/model/v1/slot.proto"; option csharp_namespace = "Com.Massa.Model.v1"; diff --git a/proto/commons/massa/model/v1/node.proto b/proto/commons/massa/model/v1/node.proto index 6024334..8084abd 100644 --- a/proto/commons/massa/model/v1/node.proto +++ b/proto/commons/massa/model/v1/node.proto @@ -69,8 +69,8 @@ message ConnectedNode { // ConnectionType enum enum ConnectionType { CONNECTION_TYPE_UNSPECIFIED = 0; // Default enum value - CONNECTION_TYPE_INCOMING = 1; // Incoming connection - CONNECTION_TYPE_OUTGOING = 2; // Outgoing connection + CONNECTION_TYPE_INCOMING = 1; // Incoming connection + CONNECTION_TYPE_OUTGOING = 2; // Outgoing connection } // Compact configuration