ceremonyclient/node/protobufs/application.proto

44 lines
1.4 KiB
Protocol Buffer
Raw Normal View History

2023-09-03 23:47:09 +00:00
syntax = "proto3";
package quilibrium.node.application.pb;
option go_package = "source.quilibrium.com/quilibrium/monorepo/node/protobufs";
message Application {
bytes address = 1;
ExecutionContext execution_context = 2;
}
// The ExecutionContext defines the operating environment of the application
enum ExecutionContext {
// Intrinsic execution is a protocol-native application Nodes are expected
// to have the necessary information required to execute.
// Intrinsic applications have addresses that have infinitessimal likelihood
// of collision and must be constructed as nothing-up-my-sleeve values.
EXECUTION_CONTEXT_INTRINSIC = 0;
// Hypergraph execution is also protocol-native, however it can be chained
// with extrinsic execution whereas other intrinsics cannot.
// Hypergraph applications have addresses that are derived from location
// within the hypergraph.
EXECUTION_CONTEXT_HYPERGRAPH = 1;
// Extrinsic execution is evaluation of application code that lives on the
// protocol, either within the hypergraph or supplementary to it, e.g. MetaVM.
EXECUTION_CONTEXT_EXTRINSIC = 2;
}
message IntrinsicExecutionInput {
bytes address = 1;
bytes input = 2;
}
message IntrinsicExecutionOutput {
bytes address = 1;
bytes output = 2;
bytes proof = 3;
}
message Message {
bytes hash = 1;
bytes address = 2;
bytes payload = 3;
}