OSDN Git Service

feat: add cross-chain output (#56)
[bytom/vapor.git] / protocol / bc / bc.pb.go
1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: bc.proto
3
4 /*
5 Package bc is a generated protocol buffer package.
6
7 It is generated from these files:
8         bc.proto
9
10 It has these top-level messages:
11         Hash
12         Program
13         AssetID
14         AssetAmount
15         AssetDefinition
16         ValueSource
17         ValueDestination
18         BlockHeader
19         TxHeader
20         TxVerifyResult
21         TransactionStatus
22         Mux
23         Coinbase
24         IntraChainOutput
25         CrossChainOutput
26         Retirement
27         Issuance
28         Spend
29 */
30 package bc
31
32 import proto "github.com/golang/protobuf/proto"
33 import fmt "fmt"
34 import math "math"
35
36 // Reference imports to suppress errors if they are not otherwise used.
37 var _ = proto.Marshal
38 var _ = fmt.Errorf
39 var _ = math.Inf
40
41 // This is a compile-time assertion to ensure that this generated file
42 // is compatible with the proto package it is being compiled against.
43 // A compilation error at this line likely means your copy of the
44 // proto package needs to be updated.
45 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
46
47 type Hash struct {
48         V0 uint64 `protobuf:"fixed64,1,opt,name=v0" json:"v0,omitempty"`
49         V1 uint64 `protobuf:"fixed64,2,opt,name=v1" json:"v1,omitempty"`
50         V2 uint64 `protobuf:"fixed64,3,opt,name=v2" json:"v2,omitempty"`
51         V3 uint64 `protobuf:"fixed64,4,opt,name=v3" json:"v3,omitempty"`
52 }
53
54 func (m *Hash) Reset()                    { *m = Hash{} }
55 func (m *Hash) String() string            { return proto.CompactTextString(m) }
56 func (*Hash) ProtoMessage()               {}
57 func (*Hash) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
58
59 func (m *Hash) GetV0() uint64 {
60         if m != nil {
61                 return m.V0
62         }
63         return 0
64 }
65
66 func (m *Hash) GetV1() uint64 {
67         if m != nil {
68                 return m.V1
69         }
70         return 0
71 }
72
73 func (m *Hash) GetV2() uint64 {
74         if m != nil {
75                 return m.V2
76         }
77         return 0
78 }
79
80 func (m *Hash) GetV3() uint64 {
81         if m != nil {
82                 return m.V3
83         }
84         return 0
85 }
86
87 type Program struct {
88         VmVersion uint64 `protobuf:"varint,1,opt,name=vm_version,json=vmVersion" json:"vm_version,omitempty"`
89         Code      []byte `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
90 }
91
92 func (m *Program) Reset()                    { *m = Program{} }
93 func (m *Program) String() string            { return proto.CompactTextString(m) }
94 func (*Program) ProtoMessage()               {}
95 func (*Program) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
96
97 func (m *Program) GetVmVersion() uint64 {
98         if m != nil {
99                 return m.VmVersion
100         }
101         return 0
102 }
103
104 func (m *Program) GetCode() []byte {
105         if m != nil {
106                 return m.Code
107         }
108         return nil
109 }
110
111 // This message type duplicates Hash, above. One alternative is to
112 // embed a Hash inside an AssetID. But it's useful for AssetID to be
113 // plain old data (without pointers). Another alternative is use Hash
114 // in any protobuf types where an AssetID is called for, but it's
115 // preferable to have type safety.
116 type AssetID struct {
117         V0 uint64 `protobuf:"fixed64,1,opt,name=v0" json:"v0,omitempty"`
118         V1 uint64 `protobuf:"fixed64,2,opt,name=v1" json:"v1,omitempty"`
119         V2 uint64 `protobuf:"fixed64,3,opt,name=v2" json:"v2,omitempty"`
120         V3 uint64 `protobuf:"fixed64,4,opt,name=v3" json:"v3,omitempty"`
121 }
122
123 func (m *AssetID) Reset()                    { *m = AssetID{} }
124 func (m *AssetID) String() string            { return proto.CompactTextString(m) }
125 func (*AssetID) ProtoMessage()               {}
126 func (*AssetID) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
127
128 func (m *AssetID) GetV0() uint64 {
129         if m != nil {
130                 return m.V0
131         }
132         return 0
133 }
134
135 func (m *AssetID) GetV1() uint64 {
136         if m != nil {
137                 return m.V1
138         }
139         return 0
140 }
141
142 func (m *AssetID) GetV2() uint64 {
143         if m != nil {
144                 return m.V2
145         }
146         return 0
147 }
148
149 func (m *AssetID) GetV3() uint64 {
150         if m != nil {
151                 return m.V3
152         }
153         return 0
154 }
155
156 type AssetAmount struct {
157         AssetId *AssetID `protobuf:"bytes,1,opt,name=asset_id,json=assetId" json:"asset_id,omitempty"`
158         Amount  uint64   `protobuf:"varint,2,opt,name=amount" json:"amount,omitempty"`
159 }
160
161 func (m *AssetAmount) Reset()                    { *m = AssetAmount{} }
162 func (m *AssetAmount) String() string            { return proto.CompactTextString(m) }
163 func (*AssetAmount) ProtoMessage()               {}
164 func (*AssetAmount) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
165
166 func (m *AssetAmount) GetAssetId() *AssetID {
167         if m != nil {
168                 return m.AssetId
169         }
170         return nil
171 }
172
173 func (m *AssetAmount) GetAmount() uint64 {
174         if m != nil {
175                 return m.Amount
176         }
177         return 0
178 }
179
180 type AssetDefinition struct {
181         IssuanceProgram *Program `protobuf:"bytes,1,opt,name=issuance_program,json=issuanceProgram" json:"issuance_program,omitempty"`
182         Data            *Hash    `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"`
183 }
184
185 func (m *AssetDefinition) Reset()                    { *m = AssetDefinition{} }
186 func (m *AssetDefinition) String() string            { return proto.CompactTextString(m) }
187 func (*AssetDefinition) ProtoMessage()               {}
188 func (*AssetDefinition) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
189
190 func (m *AssetDefinition) GetIssuanceProgram() *Program {
191         if m != nil {
192                 return m.IssuanceProgram
193         }
194         return nil
195 }
196
197 func (m *AssetDefinition) GetData() *Hash {
198         if m != nil {
199                 return m.Data
200         }
201         return nil
202 }
203
204 type ValueSource struct {
205         Ref      *Hash        `protobuf:"bytes,1,opt,name=ref" json:"ref,omitempty"`
206         Value    *AssetAmount `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
207         Position uint64       `protobuf:"varint,3,opt,name=position" json:"position,omitempty"`
208 }
209
210 func (m *ValueSource) Reset()                    { *m = ValueSource{} }
211 func (m *ValueSource) String() string            { return proto.CompactTextString(m) }
212 func (*ValueSource) ProtoMessage()               {}
213 func (*ValueSource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
214
215 func (m *ValueSource) GetRef() *Hash {
216         if m != nil {
217                 return m.Ref
218         }
219         return nil
220 }
221
222 func (m *ValueSource) GetValue() *AssetAmount {
223         if m != nil {
224                 return m.Value
225         }
226         return nil
227 }
228
229 func (m *ValueSource) GetPosition() uint64 {
230         if m != nil {
231                 return m.Position
232         }
233         return 0
234 }
235
236 type ValueDestination struct {
237         Ref      *Hash        `protobuf:"bytes,1,opt,name=ref" json:"ref,omitempty"`
238         Value    *AssetAmount `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
239         Position uint64       `protobuf:"varint,3,opt,name=position" json:"position,omitempty"`
240 }
241
242 func (m *ValueDestination) Reset()                    { *m = ValueDestination{} }
243 func (m *ValueDestination) String() string            { return proto.CompactTextString(m) }
244 func (*ValueDestination) ProtoMessage()               {}
245 func (*ValueDestination) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
246
247 func (m *ValueDestination) GetRef() *Hash {
248         if m != nil {
249                 return m.Ref
250         }
251         return nil
252 }
253
254 func (m *ValueDestination) GetValue() *AssetAmount {
255         if m != nil {
256                 return m.Value
257         }
258         return nil
259 }
260
261 func (m *ValueDestination) GetPosition() uint64 {
262         if m != nil {
263                 return m.Position
264         }
265         return 0
266 }
267
268 type BlockHeader struct {
269         Version               uint64             `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
270         Height                uint64             `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
271         PreviousBlockId       *Hash              `protobuf:"bytes,3,opt,name=previous_block_id,json=previousBlockId" json:"previous_block_id,omitempty"`
272         Timestamp             uint64             `protobuf:"varint,4,opt,name=timestamp" json:"timestamp,omitempty"`
273         TransactionsRoot      *Hash              `protobuf:"bytes,5,opt,name=transactions_root,json=transactionsRoot" json:"transactions_root,omitempty"`
274         TransactionStatusHash *Hash              `protobuf:"bytes,6,opt,name=transaction_status_hash,json=transactionStatusHash" json:"transaction_status_hash,omitempty"`
275         TransactionStatus     *TransactionStatus `protobuf:"bytes,7,opt,name=transaction_status,json=transactionStatus" json:"transaction_status,omitempty"`
276         WitnessArguments      [][]byte           `protobuf:"bytes,8,rep,name=witness_arguments,json=witnessArguments,proto3" json:"witness_arguments,omitempty"`
277 }
278
279 func (m *BlockHeader) Reset()                    { *m = BlockHeader{} }
280 func (m *BlockHeader) String() string            { return proto.CompactTextString(m) }
281 func (*BlockHeader) ProtoMessage()               {}
282 func (*BlockHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
283
284 func (m *BlockHeader) GetVersion() uint64 {
285         if m != nil {
286                 return m.Version
287         }
288         return 0
289 }
290
291 func (m *BlockHeader) GetHeight() uint64 {
292         if m != nil {
293                 return m.Height
294         }
295         return 0
296 }
297
298 func (m *BlockHeader) GetPreviousBlockId() *Hash {
299         if m != nil {
300                 return m.PreviousBlockId
301         }
302         return nil
303 }
304
305 func (m *BlockHeader) GetTimestamp() uint64 {
306         if m != nil {
307                 return m.Timestamp
308         }
309         return 0
310 }
311
312 func (m *BlockHeader) GetTransactionsRoot() *Hash {
313         if m != nil {
314                 return m.TransactionsRoot
315         }
316         return nil
317 }
318
319 func (m *BlockHeader) GetTransactionStatusHash() *Hash {
320         if m != nil {
321                 return m.TransactionStatusHash
322         }
323         return nil
324 }
325
326 func (m *BlockHeader) GetTransactionStatus() *TransactionStatus {
327         if m != nil {
328                 return m.TransactionStatus
329         }
330         return nil
331 }
332
333 func (m *BlockHeader) GetWitnessArguments() [][]byte {
334         if m != nil {
335                 return m.WitnessArguments
336         }
337         return nil
338 }
339
340 type TxHeader struct {
341         Version        uint64  `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
342         SerializedSize uint64  `protobuf:"varint,2,opt,name=serialized_size,json=serializedSize" json:"serialized_size,omitempty"`
343         TimeRange      uint64  `protobuf:"varint,3,opt,name=time_range,json=timeRange" json:"time_range,omitempty"`
344         ResultIds      []*Hash `protobuf:"bytes,4,rep,name=result_ids,json=resultIds" json:"result_ids,omitempty"`
345 }
346
347 func (m *TxHeader) Reset()                    { *m = TxHeader{} }
348 func (m *TxHeader) String() string            { return proto.CompactTextString(m) }
349 func (*TxHeader) ProtoMessage()               {}
350 func (*TxHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
351
352 func (m *TxHeader) GetVersion() uint64 {
353         if m != nil {
354                 return m.Version
355         }
356         return 0
357 }
358
359 func (m *TxHeader) GetSerializedSize() uint64 {
360         if m != nil {
361                 return m.SerializedSize
362         }
363         return 0
364 }
365
366 func (m *TxHeader) GetTimeRange() uint64 {
367         if m != nil {
368                 return m.TimeRange
369         }
370         return 0
371 }
372
373 func (m *TxHeader) GetResultIds() []*Hash {
374         if m != nil {
375                 return m.ResultIds
376         }
377         return nil
378 }
379
380 type TxVerifyResult struct {
381         StatusFail bool `protobuf:"varint,1,opt,name=status_fail,json=statusFail" json:"status_fail,omitempty"`
382 }
383
384 func (m *TxVerifyResult) Reset()                    { *m = TxVerifyResult{} }
385 func (m *TxVerifyResult) String() string            { return proto.CompactTextString(m) }
386 func (*TxVerifyResult) ProtoMessage()               {}
387 func (*TxVerifyResult) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
388
389 func (m *TxVerifyResult) GetStatusFail() bool {
390         if m != nil {
391                 return m.StatusFail
392         }
393         return false
394 }
395
396 type TransactionStatus struct {
397         Version      uint64            `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
398         VerifyStatus []*TxVerifyResult `protobuf:"bytes,2,rep,name=verify_status,json=verifyStatus" json:"verify_status,omitempty"`
399 }
400
401 func (m *TransactionStatus) Reset()                    { *m = TransactionStatus{} }
402 func (m *TransactionStatus) String() string            { return proto.CompactTextString(m) }
403 func (*TransactionStatus) ProtoMessage()               {}
404 func (*TransactionStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
405
406 func (m *TransactionStatus) GetVersion() uint64 {
407         if m != nil {
408                 return m.Version
409         }
410         return 0
411 }
412
413 func (m *TransactionStatus) GetVerifyStatus() []*TxVerifyResult {
414         if m != nil {
415                 return m.VerifyStatus
416         }
417         return nil
418 }
419
420 type Mux struct {
421         Sources             []*ValueSource      `protobuf:"bytes,1,rep,name=sources" json:"sources,omitempty"`
422         Program             *Program            `protobuf:"bytes,2,opt,name=program" json:"program,omitempty"`
423         WitnessDestinations []*ValueDestination `protobuf:"bytes,3,rep,name=witness_destinations,json=witnessDestinations" json:"witness_destinations,omitempty"`
424         WitnessArguments    [][]byte            `protobuf:"bytes,4,rep,name=witness_arguments,json=witnessArguments,proto3" json:"witness_arguments,omitempty"`
425 }
426
427 func (m *Mux) Reset()                    { *m = Mux{} }
428 func (m *Mux) String() string            { return proto.CompactTextString(m) }
429 func (*Mux) ProtoMessage()               {}
430 func (*Mux) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
431
432 func (m *Mux) GetSources() []*ValueSource {
433         if m != nil {
434                 return m.Sources
435         }
436         return nil
437 }
438
439 func (m *Mux) GetProgram() *Program {
440         if m != nil {
441                 return m.Program
442         }
443         return nil
444 }
445
446 func (m *Mux) GetWitnessDestinations() []*ValueDestination {
447         if m != nil {
448                 return m.WitnessDestinations
449         }
450         return nil
451 }
452
453 func (m *Mux) GetWitnessArguments() [][]byte {
454         if m != nil {
455                 return m.WitnessArguments
456         }
457         return nil
458 }
459
460 type Coinbase struct {
461         WitnessDestination *ValueDestination `protobuf:"bytes,1,opt,name=witness_destination,json=witnessDestination" json:"witness_destination,omitempty"`
462         Arbitrary          []byte            `protobuf:"bytes,2,opt,name=arbitrary,proto3" json:"arbitrary,omitempty"`
463 }
464
465 func (m *Coinbase) Reset()                    { *m = Coinbase{} }
466 func (m *Coinbase) String() string            { return proto.CompactTextString(m) }
467 func (*Coinbase) ProtoMessage()               {}
468 func (*Coinbase) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
469
470 func (m *Coinbase) GetWitnessDestination() *ValueDestination {
471         if m != nil {
472                 return m.WitnessDestination
473         }
474         return nil
475 }
476
477 func (m *Coinbase) GetArbitrary() []byte {
478         if m != nil {
479                 return m.Arbitrary
480         }
481         return nil
482 }
483
484 type IntraChainOutput struct {
485         Source         *ValueSource `protobuf:"bytes,1,opt,name=source" json:"source,omitempty"`
486         ControlProgram *Program     `protobuf:"bytes,2,opt,name=control_program,json=controlProgram" json:"control_program,omitempty"`
487         Ordinal        uint64       `protobuf:"varint,3,opt,name=ordinal" json:"ordinal,omitempty"`
488 }
489
490 func (m *IntraChainOutput) Reset()                    { *m = IntraChainOutput{} }
491 func (m *IntraChainOutput) String() string            { return proto.CompactTextString(m) }
492 func (*IntraChainOutput) ProtoMessage()               {}
493 func (*IntraChainOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
494
495 func (m *IntraChainOutput) GetSource() *ValueSource {
496         if m != nil {
497                 return m.Source
498         }
499         return nil
500 }
501
502 func (m *IntraChainOutput) GetControlProgram() *Program {
503         if m != nil {
504                 return m.ControlProgram
505         }
506         return nil
507 }
508
509 func (m *IntraChainOutput) GetOrdinal() uint64 {
510         if m != nil {
511                 return m.Ordinal
512         }
513         return 0
514 }
515
516 type CrossChainOutput struct {
517         Source         *ValueSource `protobuf:"bytes,1,opt,name=source" json:"source,omitempty"`
518         ControlProgram *Program     `protobuf:"bytes,2,opt,name=control_program,json=controlProgram" json:"control_program,omitempty"`
519         Ordinal        uint64       `protobuf:"varint,3,opt,name=ordinal" json:"ordinal,omitempty"`
520 }
521
522 func (m *CrossChainOutput) Reset()                    { *m = CrossChainOutput{} }
523 func (m *CrossChainOutput) String() string            { return proto.CompactTextString(m) }
524 func (*CrossChainOutput) ProtoMessage()               {}
525 func (*CrossChainOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
526
527 func (m *CrossChainOutput) GetSource() *ValueSource {
528         if m != nil {
529                 return m.Source
530         }
531         return nil
532 }
533
534 func (m *CrossChainOutput) GetControlProgram() *Program {
535         if m != nil {
536                 return m.ControlProgram
537         }
538         return nil
539 }
540
541 func (m *CrossChainOutput) GetOrdinal() uint64 {
542         if m != nil {
543                 return m.Ordinal
544         }
545         return 0
546 }
547
548 type Retirement struct {
549         Source  *ValueSource `protobuf:"bytes,1,opt,name=source" json:"source,omitempty"`
550         Ordinal uint64       `protobuf:"varint,2,opt,name=ordinal" json:"ordinal,omitempty"`
551 }
552
553 func (m *Retirement) Reset()                    { *m = Retirement{} }
554 func (m *Retirement) String() string            { return proto.CompactTextString(m) }
555 func (*Retirement) ProtoMessage()               {}
556 func (*Retirement) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
557
558 func (m *Retirement) GetSource() *ValueSource {
559         if m != nil {
560                 return m.Source
561         }
562         return nil
563 }
564
565 func (m *Retirement) GetOrdinal() uint64 {
566         if m != nil {
567                 return m.Ordinal
568         }
569         return 0
570 }
571
572 type Issuance struct {
573         NonceHash              *Hash             `protobuf:"bytes,1,opt,name=nonce_hash,json=nonceHash" json:"nonce_hash,omitempty"`
574         Value                  *AssetAmount      `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
575         WitnessDestination     *ValueDestination `protobuf:"bytes,3,opt,name=witness_destination,json=witnessDestination" json:"witness_destination,omitempty"`
576         WitnessAssetDefinition *AssetDefinition  `protobuf:"bytes,4,opt,name=witness_asset_definition,json=witnessAssetDefinition" json:"witness_asset_definition,omitempty"`
577         WitnessArguments       [][]byte          `protobuf:"bytes,5,rep,name=witness_arguments,json=witnessArguments,proto3" json:"witness_arguments,omitempty"`
578         Ordinal                uint64            `protobuf:"varint,6,opt,name=ordinal" json:"ordinal,omitempty"`
579 }
580
581 func (m *Issuance) Reset()                    { *m = Issuance{} }
582 func (m *Issuance) String() string            { return proto.CompactTextString(m) }
583 func (*Issuance) ProtoMessage()               {}
584 func (*Issuance) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
585
586 func (m *Issuance) GetNonceHash() *Hash {
587         if m != nil {
588                 return m.NonceHash
589         }
590         return nil
591 }
592
593 func (m *Issuance) GetValue() *AssetAmount {
594         if m != nil {
595                 return m.Value
596         }
597         return nil
598 }
599
600 func (m *Issuance) GetWitnessDestination() *ValueDestination {
601         if m != nil {
602                 return m.WitnessDestination
603         }
604         return nil
605 }
606
607 func (m *Issuance) GetWitnessAssetDefinition() *AssetDefinition {
608         if m != nil {
609                 return m.WitnessAssetDefinition
610         }
611         return nil
612 }
613
614 func (m *Issuance) GetWitnessArguments() [][]byte {
615         if m != nil {
616                 return m.WitnessArguments
617         }
618         return nil
619 }
620
621 func (m *Issuance) GetOrdinal() uint64 {
622         if m != nil {
623                 return m.Ordinal
624         }
625         return 0
626 }
627
628 type Spend struct {
629         SpentOutputId      *Hash             `protobuf:"bytes,1,opt,name=spent_output_id,json=spentOutputId" json:"spent_output_id,omitempty"`
630         WitnessDestination *ValueDestination `protobuf:"bytes,2,opt,name=witness_destination,json=witnessDestination" json:"witness_destination,omitempty"`
631         WitnessArguments   [][]byte          `protobuf:"bytes,3,rep,name=witness_arguments,json=witnessArguments,proto3" json:"witness_arguments,omitempty"`
632         Ordinal            uint64            `protobuf:"varint,4,opt,name=ordinal" json:"ordinal,omitempty"`
633 }
634
635 func (m *Spend) Reset()                    { *m = Spend{} }
636 func (m *Spend) String() string            { return proto.CompactTextString(m) }
637 func (*Spend) ProtoMessage()               {}
638 func (*Spend) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
639
640 func (m *Spend) GetSpentOutputId() *Hash {
641         if m != nil {
642                 return m.SpentOutputId
643         }
644         return nil
645 }
646
647 func (m *Spend) GetWitnessDestination() *ValueDestination {
648         if m != nil {
649                 return m.WitnessDestination
650         }
651         return nil
652 }
653
654 func (m *Spend) GetWitnessArguments() [][]byte {
655         if m != nil {
656                 return m.WitnessArguments
657         }
658         return nil
659 }
660
661 func (m *Spend) GetOrdinal() uint64 {
662         if m != nil {
663                 return m.Ordinal
664         }
665         return 0
666 }
667
668 func init() {
669         proto.RegisterType((*Hash)(nil), "bc.Hash")
670         proto.RegisterType((*Program)(nil), "bc.Program")
671         proto.RegisterType((*AssetID)(nil), "bc.AssetID")
672         proto.RegisterType((*AssetAmount)(nil), "bc.AssetAmount")
673         proto.RegisterType((*AssetDefinition)(nil), "bc.AssetDefinition")
674         proto.RegisterType((*ValueSource)(nil), "bc.ValueSource")
675         proto.RegisterType((*ValueDestination)(nil), "bc.ValueDestination")
676         proto.RegisterType((*BlockHeader)(nil), "bc.BlockHeader")
677         proto.RegisterType((*TxHeader)(nil), "bc.TxHeader")
678         proto.RegisterType((*TxVerifyResult)(nil), "bc.TxVerifyResult")
679         proto.RegisterType((*TransactionStatus)(nil), "bc.TransactionStatus")
680         proto.RegisterType((*Mux)(nil), "bc.Mux")
681         proto.RegisterType((*Coinbase)(nil), "bc.Coinbase")
682         proto.RegisterType((*IntraChainOutput)(nil), "bc.IntraChainOutput")
683         proto.RegisterType((*CrossChainOutput)(nil), "bc.CrossChainOutput")
684         proto.RegisterType((*Retirement)(nil), "bc.Retirement")
685         proto.RegisterType((*Issuance)(nil), "bc.Issuance")
686         proto.RegisterType((*Spend)(nil), "bc.Spend")
687 }
688
689 func init() { proto.RegisterFile("bc.proto", fileDescriptor0) }
690
691 var fileDescriptor0 = []byte{
692         // 921 bytes of a gzipped FileDescriptorProto
693         0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcd, 0x6e, 0xdb, 0x46,
694         0x10, 0x86, 0x28, 0x5a, 0x92, 0x47, 0x89, 0x25, 0xad, 0x93, 0x94, 0x08, 0x52, 0xd4, 0x20, 0x90,
695         0x3a, 0x45, 0x01, 0xc3, 0x96, 0xd3, 0xf6, 0xd2, 0x43, 0x5d, 0xbb, 0x69, 0x74, 0x30, 0x52, 0xac,
696         0x0d, 0x5f, 0x89, 0x15, 0xb9, 0x92, 0x16, 0xa5, 0xb8, 0xea, 0xee, 0x52, 0x75, 0xfc, 0x0a, 0x3d,
697         0xf7, 0x59, 0xfa, 0x08, 0x3d, 0xf5, 0x99, 0x5a, 0xec, 0x70, 0x29, 0x51, 0x3f, 0xce, 0x0f, 0x8a,
698         0x02, 0xbd, 0x71, 0x7e, 0xf6, 0x9b, 0x99, 0x6f, 0x67, 0x66, 0x09, 0xad, 0x61, 0x7c, 0x34, 0x53,
699         0xd2, 0x48, 0xe2, 0x0d, 0xe3, 0xf0, 0x15, 0xf8, 0xaf, 0x99, 0x9e, 0x90, 0x3d, 0xf0, 0xe6, 0xc7,
700         0x41, 0xed, 0xa0, 0xf6, 0xa2, 0x41, 0xbd, 0xf9, 0x31, 0xca, 0x27, 0x81, 0xe7, 0xe4, 0x13, 0x94,
701         0xfb, 0x41, 0xdd, 0xc9, 0x7d, 0x94, 0x4f, 0x03, 0xdf, 0xc9, 0xa7, 0xe1, 0xb7, 0xd0, 0xfc, 0x49,
702         0xc9, 0xb1, 0x62, 0x53, 0xf2, 0x29, 0xc0, 0x7c, 0x1a, 0xcd, 0xb9, 0xd2, 0x42, 0x66, 0x08, 0xe9,
703         0xd3, 0xdd, 0xf9, 0xf4, 0xa6, 0x50, 0x10, 0x02, 0x7e, 0x2c, 0x13, 0x8e, 0xd8, 0x0f, 0x28, 0x7e,
704         0x87, 0x03, 0x68, 0x9e, 0x69, 0xcd, 0xcd, 0xe0, 0xe2, 0x5f, 0x27, 0x72, 0x09, 0x6d, 0x84, 0x3a,
705         0x9b, 0xca, 0x3c, 0x33, 0xe4, 0x73, 0x68, 0x31, 0x2b, 0x46, 0x22, 0x41, 0xd0, 0x76, 0xbf, 0x7d,
706         0x34, 0x8c, 0x8f, 0x5c, 0x34, 0xda, 0x44, 0xe3, 0x20, 0x21, 0x4f, 0xa0, 0xc1, 0xf0, 0x04, 0x86,
707         0xf2, 0xa9, 0x93, 0xc2, 0x31, 0x74, 0xd0, 0xf7, 0x82, 0x8f, 0x44, 0x26, 0x8c, 0x2d, 0xe0, 0x6b,
708         0xe8, 0x0a, 0xad, 0x73, 0x96, 0xc5, 0x3c, 0x9a, 0x15, 0x35, 0x57, 0xa1, 0x1d, 0x0d, 0xb4, 0x53,
709         0x3a, 0x95, 0xbc, 0x3c, 0x03, 0x3f, 0x61, 0x86, 0x61, 0x80, 0x76, 0xbf, 0x65, 0x7d, 0x2d, 0xf5,
710         0x14, 0xb5, 0x61, 0x0a, 0xed, 0x1b, 0x96, 0xe6, 0xfc, 0x4a, 0xe6, 0x2a, 0xe6, 0xe4, 0x29, 0xd4,
711         0x15, 0x1f, 0x39, 0xdc, 0xa5, 0xaf, 0x55, 0x92, 0xe7, 0xb0, 0x33, 0xb7, 0xae, 0x0e, 0xa9, 0xb3,
712         0x28, 0xa8, 0xa8, 0x99, 0x16, 0x56, 0xf2, 0x14, 0x5a, 0x33, 0xa9, 0x31, 0x67, 0xe4, 0xcb, 0xa7,
713         0x0b, 0x39, 0xfc, 0x05, 0xba, 0x18, 0xed, 0x82, 0x6b, 0x23, 0x32, 0x86, 0x75, 0xfd, 0xc7, 0x21,
714         0xff, 0xf6, 0xa0, 0xfd, 0x7d, 0x2a, 0xe3, 0x9f, 0x5f, 0x73, 0x96, 0x70, 0x45, 0x02, 0x68, 0xae,
715         0xf6, 0x48, 0x29, 0xda, 0xbb, 0x98, 0x70, 0x31, 0x9e, 0x2c, 0xee, 0xa2, 0x90, 0xc8, 0x4b, 0xe8,
716         0xcd, 0x14, 0x9f, 0x0b, 0x99, 0xeb, 0x68, 0x68, 0x91, 0xec, 0xa5, 0xd6, 0xd7, 0xd2, 0xed, 0x94,
717         0x2e, 0x18, 0x6b, 0x90, 0x90, 0x67, 0xb0, 0x6b, 0xc4, 0x94, 0x6b, 0xc3, 0xa6, 0x33, 0xec, 0x13,
718         0x9f, 0x2e, 0x15, 0xe4, 0x2b, 0xe8, 0x19, 0xc5, 0x32, 0xcd, 0x62, 0x9b, 0xa4, 0x8e, 0x94, 0x94,
719         0x26, 0xd8, 0x59, 0xc3, 0xec, 0x56, 0x5d, 0xa8, 0x94, 0x86, 0x7c, 0x07, 0x9f, 0x54, 0x74, 0x91,
720         0x36, 0xcc, 0xe4, 0x3a, 0x9a, 0x30, 0x3d, 0x09, 0x1a, 0x6b, 0x87, 0x1f, 0x57, 0x1c, 0xaf, 0xd0,
721         0x0f, 0x07, 0xee, 0x02, 0xc8, 0x26, 0x42, 0xd0, 0xc4, 0xc3, 0x8f, 0xed, 0xe1, 0xeb, 0xf5, 0x63,
722         0xb4, 0xb7, 0x81, 0x44, 0xbe, 0x84, 0xde, 0xaf, 0xc2, 0x64, 0x5c, 0xeb, 0x88, 0xa9, 0x71, 0x3e,
723         0xe5, 0x99, 0xd1, 0x41, 0xeb, 0xa0, 0xfe, 0xe2, 0x01, 0xed, 0x3a, 0xc3, 0x59, 0xa9, 0x0f, 0x7f,
724         0xaf, 0x41, 0xeb, 0xfa, 0xf6, 0xbd, 0xf4, 0x1f, 0x42, 0x47, 0x73, 0x25, 0x58, 0x2a, 0xee, 0x78,
725         0x12, 0x69, 0x71, 0xc7, 0xdd, 0x3d, 0xec, 0x2d, 0xd5, 0x57, 0xe2, 0x8e, 0xdb, 0x41, 0xb7, 0x44,
726         0x46, 0x8a, 0x65, 0x63, 0xee, 0xee, 0x1b, 0xa9, 0xa5, 0x56, 0x41, 0x0e, 0x01, 0x14, 0xd7, 0x79,
727         0x6a, 0x67, 0x4f, 0x07, 0xfe, 0x41, 0x7d, 0x85, 0x96, 0xdd, 0xc2, 0x36, 0x48, 0x74, 0x78, 0x02,
728         0x7b, 0xd7, 0xb7, 0x37, 0x5c, 0x89, 0xd1, 0x5b, 0x8a, 0x4a, 0xf2, 0x19, 0xb4, 0x1d, 0xa5, 0x23,
729         0x26, 0x52, 0x4c, 0xb0, 0x45, 0xa1, 0x50, 0xbd, 0x62, 0x22, 0x0d, 0x47, 0xd0, 0xdb, 0xe0, 0xe7,
730         0x1d, 0x25, 0x7d, 0x03, 0x0f, 0xe7, 0x88, 0x5f, 0xf2, 0xec, 0x61, 0x36, 0x04, 0x79, 0x5e, 0x09,
731         0x4d, 0x1f, 0x14, 0x8e, 0x05, 0x64, 0xf8, 0x57, 0x0d, 0xea, 0x97, 0xf9, 0x2d, 0xf9, 0x02, 0x9a,
732         0x1a, 0x07, 0x53, 0x07, 0x35, 0x3c, 0x8a, 0x13, 0x50, 0x19, 0x58, 0x5a, 0xda, 0xc9, 0x73, 0x68,
733         0x96, 0x5b, 0xc1, 0xdb, 0xdc, 0x0a, 0xa5, 0x8d, 0xfc, 0x08, 0x8f, 0xca, 0x9b, 0x4b, 0x96, 0x43,
734         0xa8, 0x83, 0x3a, 0xc2, 0x3f, 0x5a, 0xc0, 0x57, 0x26, 0x94, 0xee, 0xbb, 0x13, 0x15, 0xdd, 0x3d,
735         0x2d, 0xe0, 0xdf, 0xd3, 0x02, 0x12, 0x5a, 0xe7, 0x52, 0x64, 0x43, 0xa6, 0x39, 0xf9, 0x01, 0xf6,
736         0xb7, 0x64, 0xe0, 0xe6, 0x7f, 0x7b, 0x02, 0x64, 0x33, 0x01, 0x3b, 0x5f, 0x4c, 0x0d, 0x85, 0x51,
737         0x4c, 0xbd, 0x75, 0x4b, 0x7d, 0xa9, 0x08, 0x7f, 0xab, 0x41, 0x77, 0x90, 0x19, 0xc5, 0xce, 0x27,
738         0x4c, 0x64, 0x6f, 0x72, 0x33, 0xcb, 0x0d, 0x39, 0x84, 0x46, 0xc1, 0x96, 0x0b, 0xb6, 0x41, 0xa6,
739         0x33, 0x93, 0x97, 0xd0, 0x89, 0x65, 0x66, 0x94, 0x4c, 0xa3, 0x77, 0x70, 0xba, 0xe7, 0x7c, 0xca,
740         0x45, 0x1b, 0x40, 0x53, 0xaa, 0x44, 0x64, 0x2c, 0x75, 0x4d, 0x59, 0x8a, 0x98, 0xcd, 0xb9, 0x92,
741         0x5a, 0xff, 0x2f, 0xb2, 0x79, 0x03, 0x40, 0xb9, 0x11, 0x8a, 0xdb, 0xbb, 0xf9, 0xf0, 0x34, 0x2a,
742         0x80, 0xde, 0x2a, 0xe0, 0x1f, 0x1e, 0xb4, 0x06, 0xee, 0xd5, 0xb1, 0xe3, 0x97, 0x49, 0xfb, 0x46,
743         0xe1, 0x56, 0x5a, 0xdf, 0xea, 0xbb, 0x68, 0xc3, 0x4d, 0xf4, 0x81, 0xbb, 0xfd, 0x9e, 0x76, 0xa9,
744         0x7f, 0x64, 0xbb, 0x5c, 0x42, 0xb0, 0x68, 0x57, 0x7c, 0x98, 0x93, 0xc5, 0xcb, 0x8a, 0xdb, 0xb9,
745         0xdd, 0xdf, 0x5f, 0x24, 0xb0, 0x7c, 0x74, 0xe9, 0x93, 0xb2, 0x95, 0xd7, 0x1e, 0xe3, 0xad, 0xdd,
746         0xbf, 0xb3, 0xbd, 0xfb, 0xab, 0xcc, 0x35, 0x56, 0x99, 0xfb, 0xb3, 0x06, 0x3b, 0x57, 0x33, 0x9e,
747         0x25, 0xe4, 0x18, 0x3a, 0x7a, 0xc6, 0x33, 0x13, 0x49, 0xec, 0x8e, 0xe5, 0x7f, 0xc3, 0x92, 0xbb,
748         0x87, 0xe8, 0x50, 0x74, 0xcf, 0x20, 0xb9, 0x8f, 0x18, 0xef, 0x23, 0x89, 0xd9, 0x5a, 0x49, 0xfd,
749         0xfd, 0x95, 0xf8, 0x2b, 0x95, 0x0c, 0x1b, 0xf8, 0x6f, 0x77, 0xfa, 0x4f, 0x00, 0x00, 0x00, 0xff,
750         0xff, 0xc9, 0x1e, 0x5d, 0xa5, 0xe7, 0x09, 0x00, 0x00,
751 }