OSDN Git Service

feature: add cross-chain input (#61)
[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         ValueSource
16         ValueDestination
17         BlockHeader
18         TxHeader
19         TxVerifyResult
20         TransactionStatus
21         Mux
22         Coinbase
23         IntraChainOutput
24         CrossChainOutput
25         VoteOutput
26         Retirement
27         Spend
28         CrossChainInput
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 ValueSource struct {
181         Ref      *Hash        `protobuf:"bytes,1,opt,name=ref" json:"ref,omitempty"`
182         Value    *AssetAmount `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
183         Position uint64       `protobuf:"varint,3,opt,name=position" json:"position,omitempty"`
184 }
185
186 func (m *ValueSource) Reset()                    { *m = ValueSource{} }
187 func (m *ValueSource) String() string            { return proto.CompactTextString(m) }
188 func (*ValueSource) ProtoMessage()               {}
189 func (*ValueSource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
190
191 func (m *ValueSource) GetRef() *Hash {
192         if m != nil {
193                 return m.Ref
194         }
195         return nil
196 }
197
198 func (m *ValueSource) GetValue() *AssetAmount {
199         if m != nil {
200                 return m.Value
201         }
202         return nil
203 }
204
205 func (m *ValueSource) GetPosition() uint64 {
206         if m != nil {
207                 return m.Position
208         }
209         return 0
210 }
211
212 type ValueDestination struct {
213         Ref      *Hash        `protobuf:"bytes,1,opt,name=ref" json:"ref,omitempty"`
214         Value    *AssetAmount `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
215         Position uint64       `protobuf:"varint,3,opt,name=position" json:"position,omitempty"`
216 }
217
218 func (m *ValueDestination) Reset()                    { *m = ValueDestination{} }
219 func (m *ValueDestination) String() string            { return proto.CompactTextString(m) }
220 func (*ValueDestination) ProtoMessage()               {}
221 func (*ValueDestination) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
222
223 func (m *ValueDestination) GetRef() *Hash {
224         if m != nil {
225                 return m.Ref
226         }
227         return nil
228 }
229
230 func (m *ValueDestination) GetValue() *AssetAmount {
231         if m != nil {
232                 return m.Value
233         }
234         return nil
235 }
236
237 func (m *ValueDestination) GetPosition() uint64 {
238         if m != nil {
239                 return m.Position
240         }
241         return 0
242 }
243
244 type BlockHeader struct {
245         Version               uint64             `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
246         Height                uint64             `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
247         PreviousBlockId       *Hash              `protobuf:"bytes,3,opt,name=previous_block_id,json=previousBlockId" json:"previous_block_id,omitempty"`
248         Timestamp             uint64             `protobuf:"varint,4,opt,name=timestamp" json:"timestamp,omitempty"`
249         TransactionsRoot      *Hash              `protobuf:"bytes,5,opt,name=transactions_root,json=transactionsRoot" json:"transactions_root,omitempty"`
250         TransactionStatusHash *Hash              `protobuf:"bytes,6,opt,name=transaction_status_hash,json=transactionStatusHash" json:"transaction_status_hash,omitempty"`
251         TransactionStatus     *TransactionStatus `protobuf:"bytes,7,opt,name=transaction_status,json=transactionStatus" json:"transaction_status,omitempty"`
252         WitnessArguments      [][]byte           `protobuf:"bytes,8,rep,name=witness_arguments,json=witnessArguments,proto3" json:"witness_arguments,omitempty"`
253 }
254
255 func (m *BlockHeader) Reset()                    { *m = BlockHeader{} }
256 func (m *BlockHeader) String() string            { return proto.CompactTextString(m) }
257 func (*BlockHeader) ProtoMessage()               {}
258 func (*BlockHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
259
260 func (m *BlockHeader) GetVersion() uint64 {
261         if m != nil {
262                 return m.Version
263         }
264         return 0
265 }
266
267 func (m *BlockHeader) GetHeight() uint64 {
268         if m != nil {
269                 return m.Height
270         }
271         return 0
272 }
273
274 func (m *BlockHeader) GetPreviousBlockId() *Hash {
275         if m != nil {
276                 return m.PreviousBlockId
277         }
278         return nil
279 }
280
281 func (m *BlockHeader) GetTimestamp() uint64 {
282         if m != nil {
283                 return m.Timestamp
284         }
285         return 0
286 }
287
288 func (m *BlockHeader) GetTransactionsRoot() *Hash {
289         if m != nil {
290                 return m.TransactionsRoot
291         }
292         return nil
293 }
294
295 func (m *BlockHeader) GetTransactionStatusHash() *Hash {
296         if m != nil {
297                 return m.TransactionStatusHash
298         }
299         return nil
300 }
301
302 func (m *BlockHeader) GetTransactionStatus() *TransactionStatus {
303         if m != nil {
304                 return m.TransactionStatus
305         }
306         return nil
307 }
308
309 func (m *BlockHeader) GetWitnessArguments() [][]byte {
310         if m != nil {
311                 return m.WitnessArguments
312         }
313         return nil
314 }
315
316 type TxHeader struct {
317         Version        uint64  `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
318         SerializedSize uint64  `protobuf:"varint,2,opt,name=serialized_size,json=serializedSize" json:"serialized_size,omitempty"`
319         TimeRange      uint64  `protobuf:"varint,3,opt,name=time_range,json=timeRange" json:"time_range,omitempty"`
320         ResultIds      []*Hash `protobuf:"bytes,4,rep,name=result_ids,json=resultIds" json:"result_ids,omitempty"`
321 }
322
323 func (m *TxHeader) Reset()                    { *m = TxHeader{} }
324 func (m *TxHeader) String() string            { return proto.CompactTextString(m) }
325 func (*TxHeader) ProtoMessage()               {}
326 func (*TxHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
327
328 func (m *TxHeader) GetVersion() uint64 {
329         if m != nil {
330                 return m.Version
331         }
332         return 0
333 }
334
335 func (m *TxHeader) GetSerializedSize() uint64 {
336         if m != nil {
337                 return m.SerializedSize
338         }
339         return 0
340 }
341
342 func (m *TxHeader) GetTimeRange() uint64 {
343         if m != nil {
344                 return m.TimeRange
345         }
346         return 0
347 }
348
349 func (m *TxHeader) GetResultIds() []*Hash {
350         if m != nil {
351                 return m.ResultIds
352         }
353         return nil
354 }
355
356 type TxVerifyResult struct {
357         StatusFail bool `protobuf:"varint,1,opt,name=status_fail,json=statusFail" json:"status_fail,omitempty"`
358 }
359
360 func (m *TxVerifyResult) Reset()                    { *m = TxVerifyResult{} }
361 func (m *TxVerifyResult) String() string            { return proto.CompactTextString(m) }
362 func (*TxVerifyResult) ProtoMessage()               {}
363 func (*TxVerifyResult) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
364
365 func (m *TxVerifyResult) GetStatusFail() bool {
366         if m != nil {
367                 return m.StatusFail
368         }
369         return false
370 }
371
372 type TransactionStatus struct {
373         Version      uint64            `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
374         VerifyStatus []*TxVerifyResult `protobuf:"bytes,2,rep,name=verify_status,json=verifyStatus" json:"verify_status,omitempty"`
375 }
376
377 func (m *TransactionStatus) Reset()                    { *m = TransactionStatus{} }
378 func (m *TransactionStatus) String() string            { return proto.CompactTextString(m) }
379 func (*TransactionStatus) ProtoMessage()               {}
380 func (*TransactionStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
381
382 func (m *TransactionStatus) GetVersion() uint64 {
383         if m != nil {
384                 return m.Version
385         }
386         return 0
387 }
388
389 func (m *TransactionStatus) GetVerifyStatus() []*TxVerifyResult {
390         if m != nil {
391                 return m.VerifyStatus
392         }
393         return nil
394 }
395
396 type Mux struct {
397         Sources             []*ValueSource      `protobuf:"bytes,1,rep,name=sources" json:"sources,omitempty"`
398         Program             *Program            `protobuf:"bytes,2,opt,name=program" json:"program,omitempty"`
399         WitnessDestinations []*ValueDestination `protobuf:"bytes,3,rep,name=witness_destinations,json=witnessDestinations" json:"witness_destinations,omitempty"`
400         WitnessArguments    [][]byte            `protobuf:"bytes,4,rep,name=witness_arguments,json=witnessArguments,proto3" json:"witness_arguments,omitempty"`
401 }
402
403 func (m *Mux) Reset()                    { *m = Mux{} }
404 func (m *Mux) String() string            { return proto.CompactTextString(m) }
405 func (*Mux) ProtoMessage()               {}
406 func (*Mux) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
407
408 func (m *Mux) GetSources() []*ValueSource {
409         if m != nil {
410                 return m.Sources
411         }
412         return nil
413 }
414
415 func (m *Mux) GetProgram() *Program {
416         if m != nil {
417                 return m.Program
418         }
419         return nil
420 }
421
422 func (m *Mux) GetWitnessDestinations() []*ValueDestination {
423         if m != nil {
424                 return m.WitnessDestinations
425         }
426         return nil
427 }
428
429 func (m *Mux) GetWitnessArguments() [][]byte {
430         if m != nil {
431                 return m.WitnessArguments
432         }
433         return nil
434 }
435
436 type Coinbase struct {
437         WitnessDestination *ValueDestination `protobuf:"bytes,1,opt,name=witness_destination,json=witnessDestination" json:"witness_destination,omitempty"`
438         Arbitrary          []byte            `protobuf:"bytes,2,opt,name=arbitrary,proto3" json:"arbitrary,omitempty"`
439 }
440
441 func (m *Coinbase) Reset()                    { *m = Coinbase{} }
442 func (m *Coinbase) String() string            { return proto.CompactTextString(m) }
443 func (*Coinbase) ProtoMessage()               {}
444 func (*Coinbase) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
445
446 func (m *Coinbase) GetWitnessDestination() *ValueDestination {
447         if m != nil {
448                 return m.WitnessDestination
449         }
450         return nil
451 }
452
453 func (m *Coinbase) GetArbitrary() []byte {
454         if m != nil {
455                 return m.Arbitrary
456         }
457         return nil
458 }
459
460 type IntraChainOutput struct {
461         Source         *ValueSource `protobuf:"bytes,1,opt,name=source" json:"source,omitempty"`
462         ControlProgram *Program     `protobuf:"bytes,2,opt,name=control_program,json=controlProgram" json:"control_program,omitempty"`
463         Ordinal        uint64       `protobuf:"varint,3,opt,name=ordinal" json:"ordinal,omitempty"`
464 }
465
466 func (m *IntraChainOutput) Reset()                    { *m = IntraChainOutput{} }
467 func (m *IntraChainOutput) String() string            { return proto.CompactTextString(m) }
468 func (*IntraChainOutput) ProtoMessage()               {}
469 func (*IntraChainOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
470
471 func (m *IntraChainOutput) GetSource() *ValueSource {
472         if m != nil {
473                 return m.Source
474         }
475         return nil
476 }
477
478 func (m *IntraChainOutput) GetControlProgram() *Program {
479         if m != nil {
480                 return m.ControlProgram
481         }
482         return nil
483 }
484
485 func (m *IntraChainOutput) GetOrdinal() uint64 {
486         if m != nil {
487                 return m.Ordinal
488         }
489         return 0
490 }
491
492 type CrossChainOutput struct {
493         Source         *ValueSource `protobuf:"bytes,1,opt,name=source" json:"source,omitempty"`
494         ControlProgram *Program     `protobuf:"bytes,2,opt,name=control_program,json=controlProgram" json:"control_program,omitempty"`
495         Ordinal        uint64       `protobuf:"varint,3,opt,name=ordinal" json:"ordinal,omitempty"`
496 }
497
498 func (m *CrossChainOutput) Reset()                    { *m = CrossChainOutput{} }
499 func (m *CrossChainOutput) String() string            { return proto.CompactTextString(m) }
500 func (*CrossChainOutput) ProtoMessage()               {}
501 func (*CrossChainOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
502
503 func (m *CrossChainOutput) GetSource() *ValueSource {
504         if m != nil {
505                 return m.Source
506         }
507         return nil
508 }
509
510 func (m *CrossChainOutput) GetControlProgram() *Program {
511         if m != nil {
512                 return m.ControlProgram
513         }
514         return nil
515 }
516
517 func (m *CrossChainOutput) GetOrdinal() uint64 {
518         if m != nil {
519                 return m.Ordinal
520         }
521         return 0
522 }
523
524 type VoteOutput struct {
525         Source         *ValueSource `protobuf:"bytes,1,opt,name=source" json:"source,omitempty"`
526         ControlProgram *Program     `protobuf:"bytes,2,opt,name=control_program,json=controlProgram" json:"control_program,omitempty"`
527         Ordinal        uint64       `protobuf:"varint,3,opt,name=ordinal" json:"ordinal,omitempty"`
528         Vote           []byte       `protobuf:"bytes,4,opt,name=vote,proto3" json:"vote,omitempty"`
529 }
530
531 func (m *VoteOutput) Reset()                    { *m = VoteOutput{} }
532 func (m *VoteOutput) String() string            { return proto.CompactTextString(m) }
533 func (*VoteOutput) ProtoMessage()               {}
534 func (*VoteOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
535
536 func (m *VoteOutput) GetSource() *ValueSource {
537         if m != nil {
538                 return m.Source
539         }
540         return nil
541 }
542
543 func (m *VoteOutput) GetControlProgram() *Program {
544         if m != nil {
545                 return m.ControlProgram
546         }
547         return nil
548 }
549
550 func (m *VoteOutput) GetOrdinal() uint64 {
551         if m != nil {
552                 return m.Ordinal
553         }
554         return 0
555 }
556
557 func (m *VoteOutput) GetVote() []byte {
558         if m != nil {
559                 return m.Vote
560         }
561         return nil
562 }
563
564 type Retirement struct {
565         Source  *ValueSource `protobuf:"bytes,1,opt,name=source" json:"source,omitempty"`
566         Ordinal uint64       `protobuf:"varint,2,opt,name=ordinal" json:"ordinal,omitempty"`
567 }
568
569 func (m *Retirement) Reset()                    { *m = Retirement{} }
570 func (m *Retirement) String() string            { return proto.CompactTextString(m) }
571 func (*Retirement) ProtoMessage()               {}
572 func (*Retirement) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
573
574 func (m *Retirement) GetSource() *ValueSource {
575         if m != nil {
576                 return m.Source
577         }
578         return nil
579 }
580
581 func (m *Retirement) GetOrdinal() uint64 {
582         if m != nil {
583                 return m.Ordinal
584         }
585         return 0
586 }
587
588 type Spend struct {
589         SpentOutputId      *Hash             `protobuf:"bytes,1,opt,name=spent_output_id,json=spentOutputId" json:"spent_output_id,omitempty"`
590         WitnessDestination *ValueDestination `protobuf:"bytes,2,opt,name=witness_destination,json=witnessDestination" json:"witness_destination,omitempty"`
591         WitnessArguments   [][]byte          `protobuf:"bytes,3,rep,name=witness_arguments,json=witnessArguments,proto3" json:"witness_arguments,omitempty"`
592         Ordinal            uint64            `protobuf:"varint,4,opt,name=ordinal" json:"ordinal,omitempty"`
593 }
594
595 func (m *Spend) Reset()                    { *m = Spend{} }
596 func (m *Spend) String() string            { return proto.CompactTextString(m) }
597 func (*Spend) ProtoMessage()               {}
598 func (*Spend) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
599
600 func (m *Spend) GetSpentOutputId() *Hash {
601         if m != nil {
602                 return m.SpentOutputId
603         }
604         return nil
605 }
606
607 func (m *Spend) GetWitnessDestination() *ValueDestination {
608         if m != nil {
609                 return m.WitnessDestination
610         }
611         return nil
612 }
613
614 func (m *Spend) GetWitnessArguments() [][]byte {
615         if m != nil {
616                 return m.WitnessArguments
617         }
618         return nil
619 }
620
621 func (m *Spend) GetOrdinal() uint64 {
622         if m != nil {
623                 return m.Ordinal
624         }
625         return 0
626 }
627
628 type CrossChainInput struct {
629         MainchainOutputId  *Hash             `protobuf:"bytes,1,opt,name=mainchain_output_id,json=mainchainOutputId" json:"mainchain_output_id,omitempty"`
630         Value              *AssetAmount      `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
631         WitnessDestination *ValueDestination `protobuf:"bytes,3,opt,name=witness_destination,json=witnessDestination" json:"witness_destination,omitempty"`
632         ControlProgram     *Program          `protobuf:"bytes,4,opt,name=control_program,json=controlProgram" json:"control_program,omitempty"`
633         WitnessArguments   [][]byte          `protobuf:"bytes,5,rep,name=witness_arguments,json=witnessArguments,proto3" json:"witness_arguments,omitempty"`
634         Ordinal            uint64            `protobuf:"varint,6,opt,name=ordinal" json:"ordinal,omitempty"`
635 }
636
637 func (m *CrossChainInput) Reset()                    { *m = CrossChainInput{} }
638 func (m *CrossChainInput) String() string            { return proto.CompactTextString(m) }
639 func (*CrossChainInput) ProtoMessage()               {}
640 func (*CrossChainInput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
641
642 func (m *CrossChainInput) GetMainchainOutputId() *Hash {
643         if m != nil {
644                 return m.MainchainOutputId
645         }
646         return nil
647 }
648
649 func (m *CrossChainInput) GetValue() *AssetAmount {
650         if m != nil {
651                 return m.Value
652         }
653         return nil
654 }
655
656 func (m *CrossChainInput) GetWitnessDestination() *ValueDestination {
657         if m != nil {
658                 return m.WitnessDestination
659         }
660         return nil
661 }
662
663 func (m *CrossChainInput) GetControlProgram() *Program {
664         if m != nil {
665                 return m.ControlProgram
666         }
667         return nil
668 }
669
670 func (m *CrossChainInput) GetWitnessArguments() [][]byte {
671         if m != nil {
672                 return m.WitnessArguments
673         }
674         return nil
675 }
676
677 func (m *CrossChainInput) GetOrdinal() uint64 {
678         if m != nil {
679                 return m.Ordinal
680         }
681         return 0
682 }
683
684 func init() {
685         proto.RegisterType((*Hash)(nil), "bc.Hash")
686         proto.RegisterType((*Program)(nil), "bc.Program")
687         proto.RegisterType((*AssetID)(nil), "bc.AssetID")
688         proto.RegisterType((*AssetAmount)(nil), "bc.AssetAmount")
689         proto.RegisterType((*ValueSource)(nil), "bc.ValueSource")
690         proto.RegisterType((*ValueDestination)(nil), "bc.ValueDestination")
691         proto.RegisterType((*BlockHeader)(nil), "bc.BlockHeader")
692         proto.RegisterType((*TxHeader)(nil), "bc.TxHeader")
693         proto.RegisterType((*TxVerifyResult)(nil), "bc.TxVerifyResult")
694         proto.RegisterType((*TransactionStatus)(nil), "bc.TransactionStatus")
695         proto.RegisterType((*Mux)(nil), "bc.Mux")
696         proto.RegisterType((*Coinbase)(nil), "bc.Coinbase")
697         proto.RegisterType((*IntraChainOutput)(nil), "bc.IntraChainOutput")
698         proto.RegisterType((*CrossChainOutput)(nil), "bc.CrossChainOutput")
699         proto.RegisterType((*VoteOutput)(nil), "bc.VoteOutput")
700         proto.RegisterType((*Retirement)(nil), "bc.Retirement")
701         proto.RegisterType((*Spend)(nil), "bc.Spend")
702         proto.RegisterType((*CrossChainInput)(nil), "bc.CrossChainInput")
703 }
704
705 func init() { proto.RegisterFile("bc.proto", fileDescriptor0) }
706
707 var fileDescriptor0 = []byte{
708         // 886 bytes of a gzipped FileDescriptorProto
709         0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4f, 0x6f, 0xe3, 0x44,
710         0x14, 0x57, 0x6c, 0x37, 0x49, 0x5f, 0xba, 0x4d, 0x33, 0xdd, 0x05, 0x6b, 0x05, 0xa2, 0xb2, 0xb4,
711         0x74, 0x11, 0x52, 0xd5, 0x3f, 0x8b, 0xe0, 0xc0, 0x81, 0xd2, 0xb2, 0x6c, 0x0e, 0xab, 0x45, 0xd3,
712         0xaa, 0x57, 0x6b, 0x62, 0x4f, 0x9b, 0x11, 0x8e, 0x27, 0xcc, 0x8c, 0x4d, 0xb7, 0x5f, 0x81, 0x33,
713         0x07, 0xbe, 0x08, 0x5f, 0x81, 0x13, 0x9f, 0x09, 0x34, 0xcf, 0xe3, 0xc4, 0x69, 0xd2, 0x76, 0x57,
714         0x08, 0xc1, 0xcd, 0xef, 0xdf, 0xef, 0xbd, 0xf7, 0x9b, 0xf7, 0x66, 0x0c, 0xdd, 0x51, 0xb2, 0x37,
715         0x55, 0xd2, 0x48, 0xe2, 0x8d, 0x92, 0xe8, 0x25, 0x04, 0xaf, 0x98, 0x1e, 0x93, 0x4d, 0xf0, 0xca,
716         0xfd, 0xb0, 0xb5, 0xd3, 0x7a, 0xde, 0xa6, 0x5e, 0xb9, 0x8f, 0xf2, 0x41, 0xe8, 0x39, 0xf9, 0x00,
717         0xe5, 0xc3, 0xd0, 0x77, 0xf2, 0x21, 0xca, 0x47, 0x61, 0xe0, 0xe4, 0xa3, 0xe8, 0x6b, 0xe8, 0xfc,
718         0xa0, 0xe4, 0x95, 0x62, 0x13, 0xf2, 0x31, 0x40, 0x39, 0x89, 0x4b, 0xae, 0xb4, 0x90, 0x39, 0x42,
719         0x06, 0x74, 0xbd, 0x9c, 0x5c, 0x54, 0x0a, 0x42, 0x20, 0x48, 0x64, 0xca, 0x11, 0x7b, 0x83, 0xe2,
720         0x77, 0x34, 0x84, 0xce, 0xb1, 0xd6, 0xdc, 0x0c, 0x4f, 0xff, 0x71, 0x21, 0xaf, 0xa1, 0x87, 0x50,
721         0xc7, 0x13, 0x59, 0xe4, 0x86, 0x7c, 0x0a, 0x5d, 0x66, 0xc5, 0x58, 0xa4, 0x08, 0xda, 0x3b, 0xec,
722         0xed, 0x8d, 0x92, 0x3d, 0x97, 0x8d, 0x76, 0xd0, 0x38, 0x4c, 0xc9, 0x07, 0xd0, 0x66, 0x18, 0x81,
723         0xa9, 0x02, 0xea, 0xa4, 0x28, 0x83, 0xde, 0x05, 0xcb, 0x0a, 0x7e, 0x26, 0x0b, 0x95, 0x70, 0xf2,
724         0x14, 0x7c, 0xc5, 0x2f, 0x1d, 0x52, 0xd7, 0x22, 0x59, 0xf6, 0xa8, 0x55, 0x92, 0x67, 0xb0, 0x56,
725         0x5a, 0x57, 0x44, 0xe8, 0x1d, 0xf6, 0x67, 0x79, 0xaa, 0x52, 0x68, 0x65, 0x25, 0x4f, 0xa1, 0x3b,
726         0x95, 0x5a, 0x18, 0x4b, 0x8e, 0x8f, 0xb9, 0x66, 0x72, 0xf4, 0x13, 0x6c, 0x61, 0xb6, 0x53, 0xae,
727         0x8d, 0xc8, 0x99, 0xd5, 0xfd, 0xdb, 0x29, 0xff, 0xf2, 0xa0, 0xf7, 0x6d, 0x26, 0x93, 0x1f, 0x5f,
728         0x71, 0x96, 0x72, 0x45, 0x42, 0xe8, 0x2c, 0x1e, 0x5d, 0x2d, 0x5a, 0x8a, 0xc6, 0x5c, 0x5c, 0x8d,
729         0x67, 0x14, 0x55, 0x12, 0x79, 0x01, 0x83, 0xa9, 0xe2, 0xa5, 0x90, 0x85, 0x8e, 0x47, 0x16, 0xc9,
730         0x72, 0xed, 0xdf, 0x2a, 0xb7, 0x5f, 0xbb, 0x60, 0xae, 0x61, 0x4a, 0x3e, 0x82, 0x75, 0x23, 0x26,
731         0x5c, 0x1b, 0x36, 0x99, 0xe2, 0xf1, 0x05, 0x74, 0xae, 0x20, 0x5f, 0xc0, 0xc0, 0x28, 0x96, 0x6b,
732         0x96, 0xd8, 0x22, 0x75, 0xac, 0xa4, 0x34, 0xe1, 0xda, 0x2d, 0xcc, 0xad, 0xa6, 0x0b, 0x95, 0xd2,
733         0x90, 0x6f, 0xe0, 0xc3, 0x86, 0x2e, 0xd6, 0x86, 0x99, 0x42, 0xc7, 0x63, 0xa6, 0xc7, 0x61, 0xfb,
734         0x56, 0xf0, 0x93, 0x86, 0xe3, 0x19, 0xfa, 0xe1, 0x1e, 0x9c, 0x02, 0x59, 0x46, 0x08, 0x3b, 0x18,
735         0xfc, 0xc4, 0x06, 0x9f, 0xdf, 0x0e, 0xa3, 0x83, 0x25, 0x24, 0xf2, 0x39, 0x0c, 0x7e, 0x16, 0x26,
736         0xe7, 0x5a, 0xc7, 0x4c, 0x5d, 0x15, 0x13, 0x9e, 0x1b, 0x1d, 0x76, 0x77, 0xfc, 0xe7, 0x1b, 0x74,
737         0xcb, 0x19, 0x8e, 0x6b, 0x7d, 0xf4, 0x6b, 0x0b, 0xba, 0xe7, 0xd7, 0x0f, 0xd2, 0xbf, 0x0b, 0x7d,
738         0xcd, 0x95, 0x60, 0x99, 0xb8, 0xe1, 0x69, 0xac, 0xc5, 0x0d, 0x77, 0xe7, 0xb0, 0x39, 0x57, 0x9f,
739         0x89, 0x1b, 0x6e, 0xf7, 0xcf, 0x12, 0x19, 0x2b, 0x96, 0x5f, 0x71, 0x77, 0xde, 0x48, 0x2d, 0xb5,
740         0x0a, 0xb2, 0x0b, 0xa0, 0xb8, 0x2e, 0x32, 0xbb, 0x12, 0x3a, 0x0c, 0x76, 0xfc, 0x05, 0x5a, 0xd6,
741         0x2b, 0xdb, 0x30, 0xd5, 0xd1, 0x01, 0x6c, 0x9e, 0x5f, 0x5f, 0x70, 0x25, 0x2e, 0xdf, 0x52, 0x54,
742         0x92, 0x4f, 0xa0, 0xe7, 0x28, 0xbd, 0x64, 0x22, 0xc3, 0x02, 0xbb, 0x14, 0x2a, 0xd5, 0x4b, 0x26,
743         0xb2, 0xe8, 0x12, 0x06, 0x4b, 0xfc, 0xdc, 0xd3, 0xd2, 0x97, 0xf0, 0xa8, 0x44, 0xfc, 0x9a, 0x67,
744         0x0f, 0xab, 0x21, 0xc8, 0xf3, 0x42, 0x6a, 0xba, 0x51, 0x39, 0x56, 0x90, 0xd1, 0x9f, 0x2d, 0xf0,
745         0x5f, 0x17, 0xd7, 0xe4, 0x33, 0xe8, 0x68, 0x5c, 0x4c, 0x1d, 0xb6, 0x30, 0x14, 0x37, 0xa0, 0xb1,
746         0xb0, 0xb4, 0xb6, 0x93, 0x67, 0xd0, 0x99, 0x56, 0x17, 0x94, 0x5b, 0x16, 0xbc, 0x07, 0xdc, 0x9d,
747         0x45, 0x6b, 0x1b, 0xf9, 0x1e, 0x1e, 0xd7, 0x27, 0x97, 0xce, 0x97, 0x50, 0x87, 0x3e, 0xc2, 0x3f,
748         0x9e, 0xc1, 0x37, 0x36, 0x94, 0x6e, 0xbb, 0x88, 0x86, 0xee, 0x8e, 0x11, 0x08, 0xee, 0x18, 0x01,
749         0x09, 0xdd, 0x13, 0x29, 0xf2, 0x11, 0xd3, 0x9c, 0x7c, 0x07, 0xdb, 0x2b, 0x2a, 0x70, 0xfb, 0xbf,
750         0xba, 0x00, 0xb2, 0x5c, 0x80, 0xdd, 0x2f, 0xa6, 0x46, 0xc2, 0x28, 0xa6, 0xde, 0xba, 0xbb, 0x76,
751         0xae, 0x88, 0x7e, 0x69, 0xc1, 0xd6, 0x30, 0x37, 0x8a, 0x9d, 0x8c, 0x99, 0xc8, 0xdf, 0x14, 0x66,
752         0x5a, 0x18, 0xb2, 0x0b, 0xed, 0x8a, 0x2d, 0x97, 0x6c, 0x89, 0x4c, 0x67, 0x26, 0x2f, 0xa0, 0x9f,
753         0xc8, 0xdc, 0x28, 0x99, 0xc5, 0xf7, 0x70, 0xba, 0xe9, 0x7c, 0xea, 0x77, 0x21, 0x84, 0x8e, 0x54,
754         0xa9, 0xc8, 0x59, 0xe6, 0x86, 0xb2, 0x16, 0xb1, 0x9a, 0x13, 0x25, 0xb5, 0xfe, 0x5f, 0x54, 0xf3,
755         0x5b, 0x0b, 0xe0, 0x42, 0x1a, 0xfe, 0x1f, 0xd7, 0x61, 0x1f, 0xca, 0x52, 0x1a, 0x8e, 0x97, 0xe3,
756         0x06, 0xc5, 0xef, 0xe8, 0x0d, 0x00, 0xe5, 0x46, 0x28, 0x6e, 0xe7, 0xe6, 0xdd, 0x4b, 0x6b, 0x24,
757         0xf1, 0x16, 0x9b, 0xfd, 0xa3, 0x05, 0x6b, 0x67, 0x53, 0x9e, 0xa7, 0x64, 0x1f, 0xfa, 0x7a, 0xca,
758         0x73, 0x13, 0x4b, 0xec, 0x7b, 0xfe, 0x60, 0xce, 0x2f, 0x87, 0x47, 0xe8, 0x50, 0xf1, 0x32, 0x4c,
759         0xef, 0x9a, 0x54, 0xef, 0x3d, 0x27, 0x75, 0xe5, 0xa6, 0xf8, 0xab, 0x37, 0xa5, 0xd9, 0x49, 0xb0,
760         0xd8, 0xc9, 0xef, 0x1e, 0xf4, 0xe7, 0x43, 0x34, 0xcc, 0xed, 0xd9, 0x7d, 0x05, 0xdb, 0x13, 0x26,
761         0xf2, 0xc4, 0x6a, 0xee, 0xe9, 0x6b, 0x30, 0x73, 0x9a, 0xf5, 0xf6, 0x8e, 0x2f, 0xeb, 0x1d, 0x14,
762         0xf8, 0xef, 0x49, 0xc1, 0x8a, 0xd1, 0x09, 0x1e, 0x1e, 0x9d, 0x95, 0xc4, 0xad, 0x3d, 0x4c, 0x5c,
763         0x7b, 0x81, 0xb8, 0x51, 0x1b, 0xff, 0x06, 0x8f, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xd8, 0x41,
764         0xe2, 0x4f, 0x19, 0x0a, 0x00, 0x00,
765 }