mirror of
https://source.quilibrium.com/quilibrium/ceremonyclient.git
synced 2024-12-27 09:05: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;
|
|||
|
}
|