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.
36 AssetAmount value = 2;
40 message ValueDestination {
42 AssetAmount value = 2;
49 Hash previous_block_id = 3;
51 Hash transactions_root = 5;
52 Hash transaction_status_hash = 6;
53 TransactionStatus transaction_status = 7;
54 repeated bytes witness_arguments = 8;
59 uint64 serialized_size = 2;
60 uint64 time_range = 3;
61 repeated Hash result_ids = 4;
64 message TxVerifyResult {
68 message TransactionStatus {
70 repeated TxVerifyResult verify_status = 2;
74 repeated ValueSource sources = 1; // issuances, spends, and muxes
76 repeated ValueDestination witness_destinations = 3; // outputs, retirements, and muxes
77 repeated bytes witness_arguments = 4;
81 ValueDestination witness_destination = 1;
85 message IntraChainOutput {
86 ValueSource source = 1;
87 Program control_program = 2;
91 message CrossChainOutput {
92 ValueSource source = 1;
93 Program control_program = 2;
98 ValueSource source = 1;
99 Program control_program = 2;
105 ValueSource source = 1;
110 Hash spent_output_id = 1;
111 ValueDestination witness_destination = 2;
112 repeated bytes witness_arguments = 3;
116 message CrossChainInput {
117 Hash mainchain_output_id = 1;
118 AssetAmount value = 2;
119 ValueDestination witness_destination = 3;
120 Program control_program = 4;
121 repeated bytes witness_arguments = 5;