f1r3fly-models 0.1.0

Common data model types for the F1r3fly blockchain, including protobuf definitions and Rust implementations
Documentation
syntax = "proto3";

package rholang_scala_rust_types;

import "RhoTypes.proto";
import "scalapb/scalapb.proto";

option (scalapb.options) = {
  package_name: "coop.rchain.models.rholang_scala_rust_types"
  preserve_unknown_fields: false
};

message CreateRuntimeParams {
  rhoapi.Par mergeableTagName = 1;
  bool initRegistry = 2;
	bool RhoSpecSystemProcesses = 3;
}

message BlockDataProto {
  int64 timeStamp = 1;
  int64 blockNumber = 2;
  bytes publicKey = 3;
  int32 seqNum = 4;
}

message EvaluateParams {
  string term = 1;
  CostProto initialPhlo = 2;
  map<string, rhoapi.Par> normalizerEnv = 3;
  Blake2b512RandomProto randomState = 4;
}

message CostProto {
  int64 value = 1;
  string operation = 2;
}

message Blake2b512RandomProto {
  Blake2b512BlockProto digest = 1;
  bytes last_block = 2;
  bytes path_view = 3;
  repeated UInt64Proto count_view = 4;
  bytes hash_array = 5;
  int64 position = 6;
  int32 path_position = 7;
}

message Blake2b512BlockProto {
  repeated Int64Proto chain_value = 1;
  int64 t0 = 2;
  int64 t1 = 3;
}

// This is needed because repeated primitive types (packable) are not supported
message Int64Proto {
  int64 value = 1;
}

// This is needed because repeated primitive types (packable) are not supported
message UInt64Proto {
  uint64 value = 1;
}

message EvaluateResultProto {
  CostProto cost = 1;
  repeated string errors = 2;
  repeated rhoapi.Par mergeable = 3;
}

message BlockHashValidator {
  bytes block_hash = 1;
  bytes validator = 2;
}

message InvalidBlocksProto {
  repeated BlockHashValidator invalidBlocks = 1;
}

message EnvProto {
  map<int32, rhoapi.Par> envMap = 1;
  int32 level = 2;
  int32 shift = 3;
}

message InjParams {
  rhoapi.Par par = 1;
  EnvProto env = 2;
	Blake2b512RandomProto rand = 3;
}

message SourceToAdtParams {
  string source = 1;
  map<string, rhoapi.Par> normalizerEnv = 2;
}

message ConsumeResultParams {
	repeated rhoapi.Par channel = 1;
	repeated rhoapi.BindPattern pattern = 2;
}

message ConsumeResultReturn {
	rhoapi.TaggedContinuation tagged_cont = 1;
	repeated rhoapi.ListParWithRandom datums = 2;
}