13 uint64 vm_version = 1;
17 // This message type duplicates Hash, above. One alternative is to
18 // embed a Hash inside an AssetID. But it's useful for AssetID to be
19 // plain old data (without pointers). Another alternative is use Hash
20 // in any protobuf types where an AssetID is called for, but it's
21 // preferable to have type safety.
34 message AssetDefinition {
35 Program issuance_program = 1;
41 AssetAmount value = 2;
45 message ValueDestination {
47 AssetAmount value = 2;
54 Hash previous_block_id = 3;
56 Hash transactions_root = 5;
57 Hash transaction_status_hash = 6;
58 TransactionStatus transaction_status = 7;
59 repeated bytes witness_arguments = 8;
64 uint64 serialized_size = 2;
65 uint64 time_range = 3;
66 repeated Hash result_ids = 4;
69 message TxVerifyResult {
73 message TransactionStatus {
75 repeated TxVerifyResult verify_status = 2;
79 repeated ValueSource sources = 1; // issuances, spends, and muxes
81 repeated ValueDestination witness_destinations = 3; // outputs, retirements, and muxes
82 repeated bytes witness_arguments = 4;
86 ValueDestination witness_destination = 1;
90 message IntraChainOutput {
91 ValueSource source = 1;
92 Program control_program = 2;
96 message CrossChainOutput {
97 ValueSource source = 1;
98 Program control_program = 2;
103 ValueSource source = 1;
104 Program control_program = 2;
110 Hash spent_output_id = 1;
111 ValueDestination witness_destination = 2;
112 repeated bytes witness_arguments = 3;
117 ValueSource source = 1;
122 Hash spent_output_id = 1;
123 ValueDestination witness_destination = 2;
124 repeated bytes witness_arguments = 3;
128 message CrossChainInput {
129 Hash mainchain_output_id = 1;
130 ValueDestination witness_destination = 2;
131 Program control_program = 3;
132 AssetDefinition asset_definition = 4;
133 repeated bytes witness_arguments = 5;
135 bytes rawDefinitionByte = 7;