mirror of
https://source.quilibrium.com/quilibrium/ceremonyclient.git
synced 2024-11-20 15:15:18 +00:00
44 lines
1.4 KiB
Protocol Buffer
44 lines
1.4 KiB
Protocol Buffer
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;
|
||
} |