Commit 8d191ffa authored by vipwzw's avatar vipwzw

auto ci

parent 5c40e411
...@@ -78,14 +78,14 @@ func (t *tokenDB) mint(db dbm.KV, addr string, amount int64) ([]*types.KeyValue, ...@@ -78,14 +78,14 @@ func (t *tokenDB) mint(db dbm.KV, addr string, amount int64) ([]*types.KeyValue,
if t.token.Owner != addr { if t.token.Owner != addr {
return nil, nil, types.ErrNotAllow return nil, nil, types.ErrNotAllow
} }
if t.token.Total + amount > types.MaxTokenBalance { if t.token.Total+amount > types.MaxTokenBalance {
return nil, nil, types.ErrAmount return nil, nil, types.ErrAmount
} }
prevToken := t.token prevToken := t.token
t.token.Total += amount t.token.Total += amount
kvs := append(t.getKVSet(calcTokenKey(t.token.Symbol)), t.getKVSet(calcTokenAddrNewKeyS(t.token.Symbol, t.token.Owner))...) kvs := append(t.getKVSet(calcTokenKey(t.token.Symbol)), t.getKVSet(calcTokenAddrNewKeyS(t.token.Symbol, t.token.Owner))...)
logs := []*types.ReceiptLog{{Ty:pty.TyLogTokenMint, Log: types.Encode(&pty.ReceiptTokenAmount{Prev: &prevToken, Cur: &t.token})}} logs := []*types.ReceiptLog{{Ty: pty.TyLogTokenMint, Log: types.Encode(&pty.ReceiptTokenAmount{Prev: &prevToken, Cur: &t.token})}}
return kvs, logs, nil return kvs, logs, nil
} }
...@@ -516,7 +516,7 @@ func (action *tokenAction) mint(mint *pty.TokenMint) (*types.Receipt, error) { ...@@ -516,7 +516,7 @@ func (action *tokenAction) mint(mint *pty.TokenMint) (*types.Receipt, error) {
return nil, err return nil, err
} }
if tokendb.token.Category & pty.CategoryMintSupport == 0 { if tokendb.token.Category&pty.CategoryMintSupport == 0 {
return nil, types.ErrNotSupport return nil, types.ErrNotSupport
} }
...@@ -531,7 +531,7 @@ func (action *tokenAction) mint(mint *pty.TokenMint) (*types.Receipt, error) { ...@@ -531,7 +531,7 @@ func (action *tokenAction) mint(mint *pty.TokenMint) (*types.Receipt, error) {
return nil, err return nil, err
} }
tokenlog.Debug("mint", "token.Owner", mint.Symbol, "token.GetTotal()", mint.Amount) tokenlog.Debug("mint", "token.Owner", mint.Symbol, "token.GetTotal()", mint.Amount)
receipt, err := tokenAccount.GenesisInit(mint.Symbol, mint.Amount) // TODO 更新 chain33 支持 account mint receipt, err := tokenAccount.GenesisInit(mint.Symbol, mint.Amount) // TODO 更新 chain33 支持 account mint
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -541,4 +541,3 @@ func (action *tokenAction) mint(mint *pty.TokenMint) (*types.Receipt, error) { ...@@ -541,4 +541,3 @@ func (action *tokenAction) mint(mint *pty.TokenMint) (*types.Receipt, error) {
return &types.Receipt{Ty: types.ExecOk, KV: kvs, Logs: logs}, nil return &types.Receipt{Ty: types.ExecOk, KV: kvs, Logs: logs}, nil
} }
...@@ -34,6 +34,7 @@ type TokenAction struct { ...@@ -34,6 +34,7 @@ type TokenAction struct {
// *TokenAction_Withdraw // *TokenAction_Withdraw
// *TokenAction_Genesis // *TokenAction_Genesis
// *TokenAction_TransferToExec // *TokenAction_TransferToExec
// *TokenAction_TokenMint
Value isTokenAction_Value `protobuf_oneof:"value"` Value isTokenAction_Value `protobuf_oneof:"value"`
Ty int32 `protobuf:"varint,7,opt,name=Ty,proto3" json:"Ty,omitempty"` Ty int32 `protobuf:"varint,7,opt,name=Ty,proto3" json:"Ty,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
...@@ -98,6 +99,10 @@ type TokenAction_TransferToExec struct { ...@@ -98,6 +99,10 @@ type TokenAction_TransferToExec struct {
TransferToExec *types.AssetsTransferToExec `protobuf:"bytes,8,opt,name=transferToExec,proto3,oneof"` TransferToExec *types.AssetsTransferToExec `protobuf:"bytes,8,opt,name=transferToExec,proto3,oneof"`
} }
type TokenAction_TokenMint struct {
TokenMint *TokenMint `protobuf:"bytes,9,opt,name=tokenMint,proto3,oneof"`
}
func (*TokenAction_TokenPreCreate) isTokenAction_Value() {} func (*TokenAction_TokenPreCreate) isTokenAction_Value() {}
func (*TokenAction_TokenFinishCreate) isTokenAction_Value() {} func (*TokenAction_TokenFinishCreate) isTokenAction_Value() {}
...@@ -112,6 +117,8 @@ func (*TokenAction_Genesis) isTokenAction_Value() {} ...@@ -112,6 +117,8 @@ func (*TokenAction_Genesis) isTokenAction_Value() {}
func (*TokenAction_TransferToExec) isTokenAction_Value() {} func (*TokenAction_TransferToExec) isTokenAction_Value() {}
func (*TokenAction_TokenMint) isTokenAction_Value() {}
func (m *TokenAction) GetValue() isTokenAction_Value { func (m *TokenAction) GetValue() isTokenAction_Value {
if m != nil { if m != nil {
return m.Value return m.Value
...@@ -168,6 +175,13 @@ func (m *TokenAction) GetTransferToExec() *types.AssetsTransferToExec { ...@@ -168,6 +175,13 @@ func (m *TokenAction) GetTransferToExec() *types.AssetsTransferToExec {
return nil return nil
} }
func (m *TokenAction) GetTokenMint() *TokenMint {
if x, ok := m.GetValue().(*TokenAction_TokenMint); ok {
return x.TokenMint
}
return nil
}
func (m *TokenAction) GetTy() int32 { func (m *TokenAction) GetTy() int32 {
if m != nil { if m != nil {
return m.Ty return m.Ty
...@@ -185,6 +199,7 @@ func (*TokenAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) e ...@@ -185,6 +199,7 @@ func (*TokenAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) e
(*TokenAction_Withdraw)(nil), (*TokenAction_Withdraw)(nil),
(*TokenAction_Genesis)(nil), (*TokenAction_Genesis)(nil),
(*TokenAction_TransferToExec)(nil), (*TokenAction_TransferToExec)(nil),
(*TokenAction_TokenMint)(nil),
} }
} }
...@@ -227,6 +242,11 @@ func _TokenAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { ...@@ -227,6 +242,11 @@ func _TokenAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
if err := b.EncodeMessage(x.TransferToExec); err != nil { if err := b.EncodeMessage(x.TransferToExec); err != nil {
return err return err
} }
case *TokenAction_TokenMint:
b.EncodeVarint(9<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.TokenMint); err != nil {
return err
}
case nil: case nil:
default: default:
return fmt.Errorf("TokenAction.Value has unexpected type %T", x) return fmt.Errorf("TokenAction.Value has unexpected type %T", x)
...@@ -293,6 +313,14 @@ func _TokenAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Bu ...@@ -293,6 +313,14 @@ func _TokenAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Bu
err := b.DecodeMessage(msg) err := b.DecodeMessage(msg)
m.Value = &TokenAction_TransferToExec{msg} m.Value = &TokenAction_TransferToExec{msg}
return true, err return true, err
case 9: // value.tokenMint
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(TokenMint)
err := b.DecodeMessage(msg)
m.Value = &TokenAction_TokenMint{msg}
return true, err
default: default:
return false, nil return false, nil
} }
...@@ -337,6 +365,11 @@ func _TokenAction_OneofSizer(msg proto.Message) (n int) { ...@@ -337,6 +365,11 @@ func _TokenAction_OneofSizer(msg proto.Message) (n int) {
n += 1 // tag and wire n += 1 // tag and wire
n += proto.SizeVarint(uint64(s)) n += proto.SizeVarint(uint64(s))
n += s n += s
case *TokenAction_TokenMint:
s := proto.Size(x.TokenMint)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil: case nil:
default: default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
...@@ -526,6 +559,53 @@ func (m *TokenRevokeCreate) GetOwner() string { ...@@ -526,6 +559,53 @@ func (m *TokenRevokeCreate) GetOwner() string {
return "" return ""
} }
type TokenMint struct {
Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"`
Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TokenMint) Reset() { *m = TokenMint{} }
func (m *TokenMint) String() string { return proto.CompactTextString(m) }
func (*TokenMint) ProtoMessage() {}
func (*TokenMint) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{4}
}
func (m *TokenMint) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TokenMint.Unmarshal(m, b)
}
func (m *TokenMint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TokenMint.Marshal(b, m, deterministic)
}
func (m *TokenMint) XXX_Merge(src proto.Message) {
xxx_messageInfo_TokenMint.Merge(m, src)
}
func (m *TokenMint) XXX_Size() int {
return xxx_messageInfo_TokenMint.Size(m)
}
func (m *TokenMint) XXX_DiscardUnknown() {
xxx_messageInfo_TokenMint.DiscardUnknown(m)
}
var xxx_messageInfo_TokenMint proto.InternalMessageInfo
func (m *TokenMint) GetSymbol() string {
if m != nil {
return m.Symbol
}
return ""
}
func (m *TokenMint) GetAmount() int64 {
if m != nil {
return m.Amount
}
return 0
}
// state db // state db
type Token struct { type Token struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
...@@ -546,7 +626,7 @@ func (m *Token) Reset() { *m = Token{} } ...@@ -546,7 +626,7 @@ func (m *Token) Reset() { *m = Token{} }
func (m *Token) String() string { return proto.CompactTextString(m) } func (m *Token) String() string { return proto.CompactTextString(m) }
func (*Token) ProtoMessage() {} func (*Token) ProtoMessage() {}
func (*Token) Descriptor() ([]byte, []int) { func (*Token) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{4} return fileDescriptor_3aff0bcd502840ab, []int{5}
} }
func (m *Token) XXX_Unmarshal(b []byte) error { func (m *Token) XXX_Unmarshal(b []byte) error {
...@@ -644,7 +724,7 @@ func (m *ReceiptToken) Reset() { *m = ReceiptToken{} } ...@@ -644,7 +724,7 @@ func (m *ReceiptToken) Reset() { *m = ReceiptToken{} }
func (m *ReceiptToken) String() string { return proto.CompactTextString(m) } func (m *ReceiptToken) String() string { return proto.CompactTextString(m) }
func (*ReceiptToken) ProtoMessage() {} func (*ReceiptToken) ProtoMessage() {}
func (*ReceiptToken) Descriptor() ([]byte, []int) { func (*ReceiptToken) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{5} return fileDescriptor_3aff0bcd502840ab, []int{6}
} }
func (m *ReceiptToken) XXX_Unmarshal(b []byte) error { func (m *ReceiptToken) XXX_Unmarshal(b []byte) error {
...@@ -686,6 +766,53 @@ func (m *ReceiptToken) GetStatus() int32 { ...@@ -686,6 +766,53 @@ func (m *ReceiptToken) GetStatus() int32 {
return 0 return 0
} }
type ReceiptTokenAmount struct {
Prev *Token `protobuf:"bytes,1,opt,name=prev,proto3" json:"prev,omitempty"`
Cur *Token `protobuf:"bytes,2,opt,name=cur,proto3" json:"cur,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReceiptTokenAmount) Reset() { *m = ReceiptTokenAmount{} }
func (m *ReceiptTokenAmount) String() string { return proto.CompactTextString(m) }
func (*ReceiptTokenAmount) ProtoMessage() {}
func (*ReceiptTokenAmount) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{7}
}
func (m *ReceiptTokenAmount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptTokenAmount.Unmarshal(m, b)
}
func (m *ReceiptTokenAmount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptTokenAmount.Marshal(b, m, deterministic)
}
func (m *ReceiptTokenAmount) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptTokenAmount.Merge(m, src)
}
func (m *ReceiptTokenAmount) XXX_Size() int {
return xxx_messageInfo_ReceiptTokenAmount.Size(m)
}
func (m *ReceiptTokenAmount) XXX_DiscardUnknown() {
xxx_messageInfo_ReceiptTokenAmount.DiscardUnknown(m)
}
var xxx_messageInfo_ReceiptTokenAmount proto.InternalMessageInfo
func (m *ReceiptTokenAmount) GetPrev() *Token {
if m != nil {
return m.Prev
}
return nil
}
func (m *ReceiptTokenAmount) GetCur() *Token {
if m != nil {
return m.Cur
}
return nil
}
// local // local
type LocalToken struct { type LocalToken struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
...@@ -715,7 +842,7 @@ func (m *LocalToken) Reset() { *m = LocalToken{} } ...@@ -715,7 +842,7 @@ func (m *LocalToken) Reset() { *m = LocalToken{} }
func (m *LocalToken) String() string { return proto.CompactTextString(m) } func (m *LocalToken) String() string { return proto.CompactTextString(m) }
func (*LocalToken) ProtoMessage() {} func (*LocalToken) ProtoMessage() {}
func (*LocalToken) Descriptor() ([]byte, []int) { func (*LocalToken) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{6} return fileDescriptor_3aff0bcd502840ab, []int{8}
} }
func (m *LocalToken) XXX_Unmarshal(b []byte) error { func (m *LocalToken) XXX_Unmarshal(b []byte) error {
...@@ -870,7 +997,7 @@ func (m *ReqTokens) Reset() { *m = ReqTokens{} } ...@@ -870,7 +997,7 @@ func (m *ReqTokens) Reset() { *m = ReqTokens{} }
func (m *ReqTokens) String() string { return proto.CompactTextString(m) } func (m *ReqTokens) String() string { return proto.CompactTextString(m) }
func (*ReqTokens) ProtoMessage() {} func (*ReqTokens) ProtoMessage() {}
func (*ReqTokens) Descriptor() ([]byte, []int) { func (*ReqTokens) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{7} return fileDescriptor_3aff0bcd502840ab, []int{9}
} }
func (m *ReqTokens) XXX_Unmarshal(b []byte) error { func (m *ReqTokens) XXX_Unmarshal(b []byte) error {
...@@ -930,7 +1057,7 @@ func (m *ReplyTokens) Reset() { *m = ReplyTokens{} } ...@@ -930,7 +1057,7 @@ func (m *ReplyTokens) Reset() { *m = ReplyTokens{} }
func (m *ReplyTokens) String() string { return proto.CompactTextString(m) } func (m *ReplyTokens) String() string { return proto.CompactTextString(m) }
func (*ReplyTokens) ProtoMessage() {} func (*ReplyTokens) ProtoMessage() {}
func (*ReplyTokens) Descriptor() ([]byte, []int) { func (*ReplyTokens) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{8} return fileDescriptor_3aff0bcd502840ab, []int{10}
} }
func (m *ReplyTokens) XXX_Unmarshal(b []byte) error { func (m *ReplyTokens) XXX_Unmarshal(b []byte) error {
...@@ -970,7 +1097,7 @@ func (m *TokenRecv) Reset() { *m = TokenRecv{} } ...@@ -970,7 +1097,7 @@ func (m *TokenRecv) Reset() { *m = TokenRecv{} }
func (m *TokenRecv) String() string { return proto.CompactTextString(m) } func (m *TokenRecv) String() string { return proto.CompactTextString(m) }
func (*TokenRecv) ProtoMessage() {} func (*TokenRecv) ProtoMessage() {}
func (*TokenRecv) Descriptor() ([]byte, []int) { func (*TokenRecv) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{9} return fileDescriptor_3aff0bcd502840ab, []int{11}
} }
func (m *TokenRecv) XXX_Unmarshal(b []byte) error { func (m *TokenRecv) XXX_Unmarshal(b []byte) error {
...@@ -1016,7 +1143,7 @@ func (m *ReplyAddrRecvForTokens) Reset() { *m = ReplyAddrRecvForTokens{} ...@@ -1016,7 +1143,7 @@ func (m *ReplyAddrRecvForTokens) Reset() { *m = ReplyAddrRecvForTokens{}
func (m *ReplyAddrRecvForTokens) String() string { return proto.CompactTextString(m) } func (m *ReplyAddrRecvForTokens) String() string { return proto.CompactTextString(m) }
func (*ReplyAddrRecvForTokens) ProtoMessage() {} func (*ReplyAddrRecvForTokens) ProtoMessage() {}
func (*ReplyAddrRecvForTokens) Descriptor() ([]byte, []int) { func (*ReplyAddrRecvForTokens) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{10} return fileDescriptor_3aff0bcd502840ab, []int{12}
} }
func (m *ReplyAddrRecvForTokens) XXX_Unmarshal(b []byte) error { func (m *ReplyAddrRecvForTokens) XXX_Unmarshal(b []byte) error {
...@@ -1057,7 +1184,7 @@ func (m *ReqTokenBalance) Reset() { *m = ReqTokenBalance{} } ...@@ -1057,7 +1184,7 @@ func (m *ReqTokenBalance) Reset() { *m = ReqTokenBalance{} }
func (m *ReqTokenBalance) String() string { return proto.CompactTextString(m) } func (m *ReqTokenBalance) String() string { return proto.CompactTextString(m) }
func (*ReqTokenBalance) ProtoMessage() {} func (*ReqTokenBalance) ProtoMessage() {}
func (*ReqTokenBalance) Descriptor() ([]byte, []int) { func (*ReqTokenBalance) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{11} return fileDescriptor_3aff0bcd502840ab, []int{13}
} }
func (m *ReqTokenBalance) XXX_Unmarshal(b []byte) error { func (m *ReqTokenBalance) XXX_Unmarshal(b []byte) error {
...@@ -1111,7 +1238,7 @@ func (m *ReqAccountTokenAssets) Reset() { *m = ReqAccountTokenAssets{} } ...@@ -1111,7 +1238,7 @@ func (m *ReqAccountTokenAssets) Reset() { *m = ReqAccountTokenAssets{} }
func (m *ReqAccountTokenAssets) String() string { return proto.CompactTextString(m) } func (m *ReqAccountTokenAssets) String() string { return proto.CompactTextString(m) }
func (*ReqAccountTokenAssets) ProtoMessage() {} func (*ReqAccountTokenAssets) ProtoMessage() {}
func (*ReqAccountTokenAssets) Descriptor() ([]byte, []int) { func (*ReqAccountTokenAssets) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{12} return fileDescriptor_3aff0bcd502840ab, []int{14}
} }
func (m *ReqAccountTokenAssets) XXX_Unmarshal(b []byte) error { func (m *ReqAccountTokenAssets) XXX_Unmarshal(b []byte) error {
...@@ -1158,7 +1285,7 @@ func (m *TokenAsset) Reset() { *m = TokenAsset{} } ...@@ -1158,7 +1285,7 @@ func (m *TokenAsset) Reset() { *m = TokenAsset{} }
func (m *TokenAsset) String() string { return proto.CompactTextString(m) } func (m *TokenAsset) String() string { return proto.CompactTextString(m) }
func (*TokenAsset) ProtoMessage() {} func (*TokenAsset) ProtoMessage() {}
func (*TokenAsset) Descriptor() ([]byte, []int) { func (*TokenAsset) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{13} return fileDescriptor_3aff0bcd502840ab, []int{15}
} }
func (m *TokenAsset) XXX_Unmarshal(b []byte) error { func (m *TokenAsset) XXX_Unmarshal(b []byte) error {
...@@ -1204,7 +1331,7 @@ func (m *ReplyAccountTokenAssets) Reset() { *m = ReplyAccountTokenAssets ...@@ -1204,7 +1331,7 @@ func (m *ReplyAccountTokenAssets) Reset() { *m = ReplyAccountTokenAssets
func (m *ReplyAccountTokenAssets) String() string { return proto.CompactTextString(m) } func (m *ReplyAccountTokenAssets) String() string { return proto.CompactTextString(m) }
func (*ReplyAccountTokenAssets) ProtoMessage() {} func (*ReplyAccountTokenAssets) ProtoMessage() {}
func (*ReplyAccountTokenAssets) Descriptor() ([]byte, []int) { func (*ReplyAccountTokenAssets) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{14} return fileDescriptor_3aff0bcd502840ab, []int{16}
} }
func (m *ReplyAccountTokenAssets) XXX_Unmarshal(b []byte) error { func (m *ReplyAccountTokenAssets) XXX_Unmarshal(b []byte) error {
...@@ -1248,7 +1375,7 @@ func (m *ReqAddrTokens) Reset() { *m = ReqAddrTokens{} } ...@@ -1248,7 +1375,7 @@ func (m *ReqAddrTokens) Reset() { *m = ReqAddrTokens{} }
func (m *ReqAddrTokens) String() string { return proto.CompactTextString(m) } func (m *ReqAddrTokens) String() string { return proto.CompactTextString(m) }
func (*ReqAddrTokens) ProtoMessage() {} func (*ReqAddrTokens) ProtoMessage() {}
func (*ReqAddrTokens) Descriptor() ([]byte, []int) { func (*ReqAddrTokens) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{15} return fileDescriptor_3aff0bcd502840ab, []int{17}
} }
func (m *ReqAddrTokens) XXX_Unmarshal(b []byte) error { func (m *ReqAddrTokens) XXX_Unmarshal(b []byte) error {
...@@ -1329,7 +1456,7 @@ func (m *ReqTokenTx) Reset() { *m = ReqTokenTx{} } ...@@ -1329,7 +1456,7 @@ func (m *ReqTokenTx) Reset() { *m = ReqTokenTx{} }
func (m *ReqTokenTx) String() string { return proto.CompactTextString(m) } func (m *ReqTokenTx) String() string { return proto.CompactTextString(m) }
func (*ReqTokenTx) ProtoMessage() {} func (*ReqTokenTx) ProtoMessage() {}
func (*ReqTokenTx) Descriptor() ([]byte, []int) { func (*ReqTokenTx) Descriptor() ([]byte, []int) {
return fileDescriptor_3aff0bcd502840ab, []int{16} return fileDescriptor_3aff0bcd502840ab, []int{18}
} }
func (m *ReqTokenTx) XXX_Unmarshal(b []byte) error { func (m *ReqTokenTx) XXX_Unmarshal(b []byte) error {
...@@ -1404,8 +1531,10 @@ func init() { ...@@ -1404,8 +1531,10 @@ func init() {
proto.RegisterType((*TokenPreCreate)(nil), "types.TokenPreCreate") proto.RegisterType((*TokenPreCreate)(nil), "types.TokenPreCreate")
proto.RegisterType((*TokenFinishCreate)(nil), "types.TokenFinishCreate") proto.RegisterType((*TokenFinishCreate)(nil), "types.TokenFinishCreate")
proto.RegisterType((*TokenRevokeCreate)(nil), "types.TokenRevokeCreate") proto.RegisterType((*TokenRevokeCreate)(nil), "types.TokenRevokeCreate")
proto.RegisterType((*TokenMint)(nil), "types.TokenMint")
proto.RegisterType((*Token)(nil), "types.Token") proto.RegisterType((*Token)(nil), "types.Token")
proto.RegisterType((*ReceiptToken)(nil), "types.ReceiptToken") proto.RegisterType((*ReceiptToken)(nil), "types.ReceiptToken")
proto.RegisterType((*ReceiptTokenAmount)(nil), "types.ReceiptTokenAmount")
proto.RegisterType((*LocalToken)(nil), "types.LocalToken") proto.RegisterType((*LocalToken)(nil), "types.LocalToken")
proto.RegisterType((*ReqTokens)(nil), "types.ReqTokens") proto.RegisterType((*ReqTokens)(nil), "types.ReqTokens")
proto.RegisterType((*ReplyTokens)(nil), "types.ReplyTokens") proto.RegisterType((*ReplyTokens)(nil), "types.ReplyTokens")
...@@ -1422,67 +1551,72 @@ func init() { ...@@ -1422,67 +1551,72 @@ func init() {
func init() { proto.RegisterFile("token.proto", fileDescriptor_3aff0bcd502840ab) } func init() { proto.RegisterFile("token.proto", fileDescriptor_3aff0bcd502840ab) }
var fileDescriptor_3aff0bcd502840ab = []byte{ var fileDescriptor_3aff0bcd502840ab = []byte{
// 960 bytes of a gzipped FileDescriptorProto // 1029 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x56, 0xdd, 0x6e, 0xe3, 0x44, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x56, 0xdd, 0x6e, 0xe3, 0x44,
0x14, 0x4e, 0xe2, 0xfc, 0xf9, 0x64, 0x9b, 0x6e, 0x86, 0xdd, 0x60, 0x95, 0x15, 0xaa, 0x2c, 0x2e, 0x14, 0x4e, 0xe2, 0xfc, 0xd4, 0x27, 0x6d, 0xda, 0x0c, 0xbb, 0xc1, 0x2a, 0xab, 0x55, 0x64, 0x71,
0x8a, 0x84, 0xaa, 0xaa, 0x15, 0x12, 0x17, 0x48, 0x28, 0x8b, 0xba, 0x1b, 0x7e, 0xb4, 0xa0, 0x21, 0x51, 0x24, 0x54, 0x55, 0xad, 0x90, 0x90, 0x40, 0x42, 0x59, 0xd4, 0xdd, 0xf0, 0xb7, 0xa0, 0x21,
0x12, 0xd7, 0x5e, 0xfb, 0xb4, 0xb5, 0x9a, 0xd8, 0xe9, 0x78, 0x92, 0x36, 0x4f, 0xc3, 0x3d, 0x17, 0x82, 0x6b, 0xaf, 0x7d, 0xda, 0x5a, 0x4d, 0x6c, 0x77, 0x3c, 0x49, 0x9b, 0xb7, 0xe0, 0x0d, 0xb8,
0x3c, 0x02, 0x8f, 0xc2, 0x2d, 0xaf, 0x81, 0xe6, 0xcc, 0x8c, 0x33, 0x93, 0xb4, 0x48, 0x7b, 0x87, 0xe7, 0x82, 0x47, 0xe0, 0x75, 0x78, 0x0d, 0x34, 0x67, 0xc6, 0xce, 0x4c, 0xd2, 0x22, 0xed, 0x1d,
0xb8, 0xf3, 0xf9, 0xfb, 0xe6, 0x9c, 0xef, 0x7c, 0x1e, 0x1b, 0x06, 0xb2, 0xbc, 0xc5, 0xe2, 0x74, 0xe2, 0x2e, 0xe7, 0xef, 0x9b, 0x39, 0xdf, 0xf9, 0xe6, 0x38, 0xd0, 0x97, 0xf9, 0x2d, 0x66, 0xa7,
0x29, 0x4a, 0x59, 0xb2, 0x8e, 0xdc, 0x2c, 0xb1, 0x3a, 0x1a, 0x49, 0x91, 0x14, 0x55, 0x92, 0xca, 0x85, 0xc8, 0x65, 0xce, 0x3a, 0x72, 0x5d, 0x60, 0x79, 0x3c, 0x94, 0x22, 0xca, 0xca, 0x28, 0x96,
0xbc, 0x34, 0x91, 0xa3, 0x83, 0x24, 0x4d, 0xcb, 0x55, 0x21, 0xb5, 0x19, 0xff, 0x15, 0xc0, 0x60, 0x69, 0x6e, 0x22, 0xc7, 0x07, 0x51, 0x1c, 0xe7, 0xcb, 0x4c, 0x6a, 0x33, 0xfc, 0xad, 0x0d, 0xfd,
0xa6, 0x0a, 0x27, 0x94, 0xc4, 0xbe, 0x81, 0x21, 0xe1, 0xfc, 0x2c, 0xf0, 0x5b, 0x81, 0x89, 0xc4, 0x99, 0x2a, 0x9c, 0x50, 0x12, 0xfb, 0x0a, 0x06, 0x84, 0xf3, 0x93, 0xc0, 0xaf, 0x05, 0x46, 0x12,
0xa8, 0x79, 0xdc, 0x3c, 0x19, 0x9c, 0xbf, 0x3c, 0x25, 0xc4, 0xd3, 0x99, 0x17, 0x9c, 0x36, 0xf8, 0x83, 0xe6, 0xb8, 0x79, 0xd2, 0x3f, 0x7f, 0x7e, 0x4a, 0x88, 0xa7, 0x33, 0x27, 0x38, 0x6d, 0xf0,
0x4e, 0x3a, 0x9b, 0xc2, 0x88, 0x3c, 0x6f, 0xf2, 0x22, 0xaf, 0x6e, 0x0c, 0x46, 0x8b, 0x30, 0x22, 0xad, 0x74, 0x36, 0x85, 0x21, 0x79, 0x5e, 0xa7, 0x59, 0x5a, 0xde, 0x18, 0x8c, 0x16, 0x61, 0x04,
0x17, 0xc3, 0x8d, 0x4f, 0x1b, 0x7c, 0xbf, 0xa8, 0x46, 0xe2, 0xb8, 0x2e, 0x6f, 0x6d, 0x37, 0xc1, 0x36, 0x86, 0x1d, 0x9f, 0x36, 0xf8, 0x6e, 0x51, 0x8d, 0xc4, 0x71, 0x95, 0xdf, 0x56, 0xb7, 0xf1,
0x3e, 0x92, 0x1b, 0xaf, 0x91, 0x5c, 0x27, 0xbb, 0x80, 0x3e, 0x11, 0x71, 0x85, 0x22, 0x6a, 0x7b, 0x76, 0x91, 0xec, 0x78, 0x8d, 0x64, 0x3b, 0xd9, 0x05, 0xec, 0x11, 0x11, 0x57, 0x28, 0x82, 0xb6,
0xe3, 0x4c, 0xaa, 0x0a, 0x65, 0x35, 0x33, 0xc1, 0x69, 0x83, 0xd7, 0x89, 0xaa, 0xe8, 0x3e, 0x97, 0xd3, 0xce, 0xa4, 0x2c, 0x51, 0x96, 0x33, 0x13, 0x9c, 0x36, 0x78, 0x9d, 0xa8, 0x8a, 0xee, 0x53,
0x37, 0x99, 0x48, 0xee, 0xa3, 0xce, 0x23, 0x45, 0xbf, 0x9a, 0xa0, 0x2a, 0xb2, 0x89, 0xec, 0x0c, 0x79, 0x93, 0x88, 0xe8, 0x3e, 0xe8, 0x3c, 0x52, 0xf4, 0xab, 0x09, 0xaa, 0xa2, 0x2a, 0x91, 0x9d,
0x7a, 0xd7, 0x58, 0x60, 0x95, 0x57, 0x51, 0x97, 0x6a, 0x5e, 0x78, 0x35, 0x6f, 0x75, 0x6c, 0xda, 0x41, 0xef, 0x1a, 0x33, 0x2c, 0xd3, 0x32, 0xe8, 0x52, 0xcd, 0x33, 0xa7, 0xe6, 0x8d, 0x8e, 0x4d,
0xe0, 0x36, 0x8d, 0x5d, 0xc2, 0xd0, 0x1e, 0x39, 0x2b, 0x2f, 0x1f, 0x30, 0x8d, 0xfa, 0x54, 0xf8, 0x1b, 0xbc, 0x4a, 0x63, 0x97, 0x30, 0xa8, 0x8e, 0x9c, 0xe5, 0x97, 0x0f, 0x18, 0x07, 0x7b, 0x54,
0xc9, 0xa3, 0x1d, 0xea, 0x14, 0xa2, 0xdd, 0xf3, 0xb0, 0x21, 0xb4, 0x66, 0x9b, 0xa8, 0x77, 0xdc, 0xf8, 0xd1, 0xa3, 0x37, 0xd4, 0x29, 0x44, 0xbb, 0xe3, 0x61, 0x67, 0xe0, 0x53, 0xdf, 0x3f, 0xa4,
0x3c, 0xe9, 0xf0, 0xd6, 0x6c, 0xf3, 0xba, 0x07, 0x9d, 0x75, 0x32, 0x5f, 0x61, 0xfc, 0x67, 0x13, 0x99, 0x0c, 0x7c, 0x42, 0x38, 0xb2, 0x49, 0x52, 0xfe, 0x69, 0x83, 0x6f, 0x92, 0xd8, 0x00, 0x5a,
0x86, 0xfe, 0xd2, 0x18, 0x83, 0x76, 0x91, 0x2c, 0xf4, 0x66, 0x43, 0x4e, 0xcf, 0x6c, 0x0c, 0xdd, 0xb3, 0x75, 0xd0, 0x1b, 0x37, 0x4f, 0x3a, 0xbc, 0x35, 0x5b, 0xbf, 0xea, 0x41, 0x67, 0x15, 0xcd,
0x6a, 0xb3, 0x78, 0x5f, 0xce, 0x69, 0x57, 0x21, 0x37, 0x16, 0x8b, 0xe1, 0x59, 0x5e, 0x48, 0x51, 0x97, 0x18, 0xfe, 0xd5, 0x84, 0x81, 0x3b, 0x66, 0xc6, 0xa0, 0x9d, 0x45, 0x0b, 0xad, 0x05, 0x9f,
0x66, 0x2b, 0xd2, 0x07, 0xf1, 0x1f, 0x72, 0xcf, 0xc7, 0x5e, 0x40, 0x47, 0x96, 0x32, 0x99, 0x13, 0xd3, 0x6f, 0x36, 0x82, 0x6e, 0xb9, 0x5e, 0xbc, 0xcb, 0xe7, 0x34, 0x5d, 0x9f, 0x1b, 0x8b, 0x85,
0xb7, 0x01, 0xd7, 0x86, 0xf2, 0x2e, 0x45, 0x9e, 0x22, 0x91, 0x17, 0x70, 0x6d, 0x28, 0x6f, 0x79, 0xb0, 0x9f, 0x66, 0x52, 0xe4, 0xc9, 0x92, 0x14, 0x45, 0x13, 0xf3, 0xb9, 0xe3, 0x63, 0xcf, 0xa0,
0x5f, 0xa0, 0x20, 0x7a, 0x42, 0xae, 0x0d, 0x76, 0x04, 0xfd, 0x34, 0x91, 0x78, 0x5d, 0x0a, 0x3b, 0x23, 0x73, 0x19, 0xcd, 0x69, 0x1a, 0x1e, 0xd7, 0x86, 0xf2, 0x16, 0x22, 0x8d, 0x91, 0xe8, 0xf6,
0x43, 0x6d, 0xc7, 0x13, 0x18, 0xed, 0x09, 0xc6, 0x69, 0xb7, 0xe9, 0xb5, 0x5b, 0xc3, 0xb7, 0x1c, 0xb8, 0x36, 0x94, 0x37, 0xbf, 0xcf, 0x50, 0x10, 0xa1, 0x3e, 0xd7, 0x06, 0x3b, 0x86, 0xbd, 0x38,
0xf8, 0x1a, 0xc2, 0x13, 0xc5, 0x87, 0x41, 0xfc, 0xdd, 0x84, 0x0e, 0x61, 0xfc, 0x07, 0xd9, 0x8b, 0x92, 0x78, 0x9d, 0x8b, 0xaa, 0x87, 0xda, 0x0e, 0x27, 0x30, 0xdc, 0x91, 0x98, 0x75, 0xdd, 0xa6,
0xa0, 0x97, 0xaa, 0x99, 0x4a, 0x41, 0xe4, 0x85, 0xdc, 0x9a, 0xd4, 0x97, 0x4c, 0xe4, 0xaa, 0x22, 0x73, 0xdd, 0x1a, 0xbe, 0x65, 0xc1, 0xd7, 0x10, 0x8e, 0x8c, 0xde, 0x0f, 0xe2, 0x0b, 0xf0, 0x6b,
0x51, 0x75, 0xb8, 0xb1, 0x3c, 0xbe, 0xc3, 0x1d, 0xbe, 0x67, 0xf0, 0x8c, 0x63, 0x8a, 0xf9, 0x52, 0xe6, 0x9f, 0x2c, 0x1d, 0x41, 0x37, 0x5a, 0xa8, 0xe7, 0x48, 0xb5, 0x1e, 0x37, 0x56, 0xf8, 0x77,
0xea, 0x79, 0x3f, 0x88, 0x27, 0xe7, 0xc4, 0xc0, 0x3d, 0x31, 0xfe, 0xbd, 0x0d, 0xf0, 0x63, 0x99, 0x13, 0x3a, 0x54, 0xfd, 0x1f, 0xa4, 0x3e, 0x80, 0x5e, 0xac, 0x08, 0xc9, 0x05, 0x31, 0xef, 0xf3,
0x26, 0xf3, 0xff, 0x0f, 0x89, 0x9f, 0xc1, 0x01, 0xa5, 0x60, 0x36, 0xc5, 0xfc, 0xfa, 0x46, 0x12, 0xca, 0xa4, 0x7b, 0xc9, 0x48, 0x2e, 0x4b, 0xd2, 0x70, 0x87, 0x1b, 0xcb, 0x19, 0x96, 0xbf, 0x35,
0x93, 0x01, 0xf7, 0x9d, 0xec, 0x18, 0x06, 0xc6, 0x31, 0xcb, 0x17, 0x18, 0x01, 0xe5, 0xb8, 0x2e, 0xac, 0x19, 0xec, 0x73, 0x8c, 0x31, 0x2d, 0xa4, 0xee, 0xf7, 0xbd, 0x48, 0xb6, 0x4e, 0xf4, 0xec,
0x76, 0x06, 0x1f, 0x2d, 0x05, 0x2e, 0x93, 0xfa, 0x52, 0xd5, 0x68, 0x03, 0xca, 0x7c, 0x2c, 0xc4, 0x13, 0xc3, 0x5f, 0x80, 0xd9, 0xa8, 0x13, 0x62, 0x95, 0x8d, 0xa1, 0x5d, 0x08, 0x5c, 0x99, 0x95,
0xbe, 0x80, 0x91, 0xe7, 0x26, 0xe4, 0x67, 0x94, 0xbf, 0x1f, 0x60, 0xaf, 0x20, 0x5c, 0x0a, 0x4c, 0xb6, 0xef, 0x2c, 0x11, 0x8a, 0xb0, 0x97, 0xe0, 0xc5, 0x4b, 0x61, 0xf6, 0x95, 0x9b, 0xa0, 0x02,
0xf3, 0x4a, 0x91, 0x77, 0x40, 0x23, 0x6c, 0x1d, 0xec, 0x14, 0x18, 0x91, 0x55, 0xdf, 0x30, 0xf9, 0xe1, 0x1f, 0x6d, 0x80, 0xef, 0xf3, 0x38, 0x9a, 0xff, 0x7f, 0x86, 0xf3, 0x31, 0x1c, 0x50, 0x0a,
0x02, 0xab, 0x68, 0x48, 0x60, 0x8f, 0x44, 0xd4, 0xd4, 0x82, 0x5e, 0x23, 0x3b, 0xf5, 0xa1, 0x9e, 0x26, 0x53, 0x4c, 0xaf, 0x6f, 0xf4, 0xf6, 0xf0, 0xb8, 0xeb, 0x64, 0x63, 0xe8, 0x1b, 0xc7, 0x2c,
0xda, 0x73, 0xaa, 0xa9, 0x8d, 0x83, 0x7a, 0x7b, 0xae, 0xa7, 0x76, 0x5c, 0x9e, 0x04, 0x47, 0x3b, 0x5d, 0x60, 0x00, 0x94, 0x63, 0xbb, 0xd8, 0x19, 0x7c, 0x50, 0x08, 0x2c, 0xa2, 0xfa, 0xdb, 0xa0,
0x12, 0xbc, 0x87, 0x90, 0xe3, 0x1d, 0x29, 0x85, 0xb4, 0x7a, 0xb7, 0x42, 0xb1, 0x99, 0xcc, 0xb5, 0xd1, 0xfa, 0x94, 0xf9, 0x58, 0x88, 0x7d, 0x0a, 0x43, 0xc7, 0x4d, 0xc8, 0xfb, 0x94, 0xbf, 0x1b,
0x02, 0xfb, 0xbc, 0xb6, 0x9d, 0xd5, 0xb4, 0xbc, 0xd5, 0x8c, 0xa1, 0x4b, 0x5f, 0x01, 0xa5, 0xc2, 0x60, 0x2f, 0xc0, 0x2f, 0x04, 0xc6, 0x69, 0xa9, 0xc8, 0x3b, 0xa0, 0x16, 0x36, 0x0e, 0x76, 0x0a,
0x40, 0x49, 0x49, 0x5b, 0xec, 0x53, 0x00, 0x2d, 0xaa, 0x9f, 0x8a, 0xf9, 0x86, 0xb4, 0xd2, 0xe7, 0x8c, 0xc8, 0xaa, 0x17, 0x65, 0xba, 0xc0, 0x32, 0x18, 0x10, 0xd8, 0x23, 0x11, 0xd5, 0xb5, 0xa0,
0x8e, 0x27, 0xfe, 0x0a, 0x06, 0x1c, 0x97, 0xf3, 0x8d, 0x39, 0xfa, 0xf3, 0x1a, 0xa6, 0x79, 0x1c, 0xb7, 0x5d, 0x75, 0x7d, 0xa8, 0xbb, 0x76, 0x9c, 0xaa, 0x6b, 0xe3, 0xa0, 0xbb, 0x1d, 0xe9, 0xae,
0x9c, 0x0c, 0xce, 0x47, 0xe6, 0x4e, 0xde, 0x0a, 0xd9, 0x22, 0xc7, 0x5f, 0x42, 0x68, 0xae, 0x98, 0x2d, 0x97, 0x23, 0xed, 0xe1, 0x96, 0xb4, 0xef, 0xc1, 0xe7, 0x78, 0x47, 0x4a, 0xa1, 0x37, 0x70,
0x74, 0xad, 0xd5, 0x78, 0x8b, 0x85, 0x91, 0xb7, 0x36, 0x94, 0xe6, 0x05, 0xa6, 0x6b, 0x6a, 0x35, 0xb7, 0x44, 0xb1, 0x9e, 0xcc, 0xb5, 0xb2, 0xf7, 0x78, 0x6d, 0x5b, 0xa3, 0x69, 0x39, 0xa3, 0x19,
0xe0, 0xf4, 0x1c, 0x7f, 0x0f, 0x63, 0x3a, 0x70, 0x92, 0x65, 0x42, 0x95, 0xbe, 0x29, 0x85, 0x39, 0x41, 0x97, 0xf6, 0xb5, 0x52, 0xb7, 0xa7, 0xa4, 0xa4, 0x2d, 0xf6, 0x12, 0x40, 0x8b, 0xea, 0xc7,
0xfb, 0x0c, 0x40, 0x5a, 0x40, 0x7b, 0xfe, 0x73, 0xff, 0xb3, 0x97, 0xae, 0xb9, 0x93, 0x13, 0xe7, 0x6c, 0xbe, 0x26, 0xad, 0xec, 0x71, 0xcb, 0x13, 0x7e, 0x0e, 0x7d, 0x8e, 0xc5, 0x7c, 0x6d, 0x8e,
0x70, 0x68, 0x59, 0x7b, 0x9d, 0xcc, 0x93, 0x22, 0xa5, 0xd5, 0x27, 0x59, 0x26, 0xb0, 0xaa, 0x50, 0xfe, 0xa4, 0x86, 0x69, 0x8e, 0xbd, 0x93, 0xfe, 0xf9, 0xd0, 0xe8, 0x7a, 0x23, 0xe4, 0x0a, 0x39,
0x63, 0x84, 0x7c, 0xeb, 0x50, 0x4b, 0xa2, 0xf2, 0x5f, 0xdc, 0xb7, 0xce, 0x75, 0x29, 0x1e, 0xf1, 0xfc, 0xcc, 0x2c, 0x2d, 0x8e, 0xf1, 0x4a, 0xab, 0xf1, 0x16, 0x33, 0x23, 0x6f, 0x6d, 0x28, 0xcd,
0x01, 0x53, 0x14, 0xe6, 0xa5, 0x33, 0x56, 0xfc, 0x1d, 0xbc, 0xe4, 0x78, 0x37, 0xd1, 0x7f, 0x12, 0x0b, 0x8c, 0x57, 0x66, 0x61, 0xd1, 0xef, 0xf0, 0x5b, 0x18, 0xd1, 0x81, 0x93, 0x24, 0x11, 0xaa,
0xfa, 0xf7, 0x81, 0x3e, 0x53, 0xea, 0x2d, 0x32, 0xf8, 0x66, 0x76, 0x6b, 0x3a, 0x50, 0x2d, 0x0f, 0xf4, 0x75, 0x2e, 0xcc, 0xd9, 0x67, 0x00, 0xb2, 0x02, 0xac, 0xce, 0x3f, 0x72, 0xbf, 0xde, 0xf1,
0xea, 0x1d, 0xc0, 0x16, 0xe0, 0xc9, 0xcb, 0xe6, 0x04, 0x7a, 0xe6, 0xbf, 0xc5, 0xfc, 0x4b, 0x0c, 0x8a, 0x5b, 0x39, 0x61, 0x0a, 0x87, 0x15, 0x6b, 0xaf, 0xa2, 0x79, 0x94, 0xc5, 0x34, 0xfa, 0x28,
0xed, 0xe7, 0x51, 0x7b, 0xb9, 0x0d, 0xc7, 0xef, 0xe0, 0x63, 0xcd, 0xe8, 0x7e, 0x73, 0x17, 0x66, 0x49, 0x04, 0x96, 0x25, 0x6a, 0x0c, 0x9f, 0x6f, 0x1c, 0x6a, 0x48, 0x54, 0xfe, 0xb3, 0xfd, 0xea,
0x5e, 0x6d, 0xee, 0xec, 0x74, 0x9b, 0xc8, 0xdd, 0xac, 0xf8, 0xb7, 0x26, 0x1c, 0xa8, 0x59, 0xb3, 0x6c, 0x97, 0xe2, 0x11, 0x1f, 0x30, 0x46, 0x61, 0x1e, 0x9d, 0xb1, 0xc2, 0x6f, 0xe0, 0x39, 0xc7,
0xcc, 0x6e, 0x86, 0x41, 0x5b, 0x0d, 0x65, 0xef, 0x2e, 0xf5, 0xfc, 0xa4, 0x10, 0x6b, 0x25, 0x68, 0xbb, 0x89, 0xfe, 0x43, 0xa4, 0x17, 0x05, 0x7d, 0x6d, 0xd5, 0x2b, 0x32, 0xf8, 0xa6, 0xf7, 0xca,
0x1d, 0x1a, 0x25, 0xbc, 0x82, 0x30, 0xcb, 0x05, 0xea, 0xeb, 0xac, 0xad, 0xdf, 0xc8, 0xda, 0xa1, 0xb4, 0xa0, 0x5a, 0x0e, 0xd4, 0x5b, 0x80, 0x0d, 0xc0, 0x93, 0x4b, 0xec, 0x04, 0x7a, 0xe6, 0xef,
0x6a, 0xf4, 0xa4, 0x1d, 0x8a, 0x68, 0x43, 0x31, 0x7b, 0x25, 0xca, 0xc5, 0x0f, 0xb8, 0x31, 0xf7, 0x97, 0x59, 0x31, 0x83, 0xea, 0x2b, 0xaf, 0xbd, 0xbc, 0x0a, 0x87, 0x6f, 0xe1, 0x43, 0xcd, 0xe8,
0x96, 0x35, 0xe3, 0x3f, 0x9a, 0x00, 0x76, 0xf1, 0xb3, 0x87, 0x27, 0x29, 0x64, 0xd0, 0xbe, 0x9a, 0xee, 0xe5, 0x2e, 0x4c, 0xbf, 0xda, 0xdc, 0x9a, 0xe9, 0x26, 0x91, 0xdb, 0x59, 0xe1, 0xef, 0x4d,
0x27, 0xd7, 0xa6, 0x41, 0x7a, 0xde, 0x1e, 0x15, 0xb8, 0x47, 0xfd, 0x7b, 0x7b, 0x63, 0xe8, 0xde, 0x38, 0x50, 0xbd, 0x26, 0x49, 0x35, 0x19, 0x06, 0x6d, 0xd5, 0x54, 0xb5, 0xbb, 0xd4, 0xef, 0x27,
0xe8, 0x37, 0x5f, 0xdf, 0xaa, 0xc6, 0x52, 0x58, 0x79, 0x91, 0xe1, 0x03, 0xb5, 0x17, 0x70, 0x6d, 0x85, 0x58, 0x2b, 0x41, 0xeb, 0xd0, 0x28, 0xe1, 0x05, 0xf8, 0x49, 0x2a, 0x50, 0xaf, 0xb3, 0xb6,
0xd4, 0x64, 0xf5, 0xb6, 0x64, 0x9d, 0x5f, 0x1a, 0x52, 0xd8, 0xd7, 0x70, 0xf8, 0x16, 0xa5, 0xa7, 0x7e, 0x91, 0xb5, 0x43, 0xd5, 0xe8, 0x4e, 0x3b, 0x14, 0xd1, 0x86, 0x62, 0xf6, 0x4a, 0xe4, 0x8b,
0xd8, 0xb1, 0x59, 0xc7, 0x8e, 0x92, 0x8f, 0x0e, 0xfd, 0x7d, 0x57, 0x71, 0xe3, 0x7d, 0x97, 0xfe, 0xef, 0x70, 0x6d, 0xf6, 0x56, 0x65, 0x86, 0x7f, 0x36, 0x01, 0xaa, 0xc1, 0xcf, 0x1e, 0x9e, 0xa4,
0x60, 0x2f, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0x84, 0xd1, 0x60, 0x7f, 0xf9, 0x0a, 0x00, 0x00, 0x90, 0x41, 0xfb, 0x6a, 0x1e, 0x5d, 0x9b, 0x0b, 0xd2, 0xef, 0xcd, 0x51, 0x9e, 0x7d, 0xd4, 0xbf,
0x5f, 0x6f, 0x04, 0xdd, 0x1b, 0xfd, 0xf2, 0xf5, 0x56, 0x35, 0x96, 0xc2, 0x4a, 0xb3, 0x04, 0x1f,
0xe8, 0x7a, 0x1e, 0xd7, 0x46, 0x4d, 0x56, 0x6f, 0x43, 0xd6, 0xf9, 0xa5, 0x21, 0x85, 0x7d, 0x09,
0x87, 0x6f, 0x50, 0x3a, 0x8a, 0x1d, 0x99, 0x71, 0x6c, 0x29, 0xf9, 0xf8, 0xd0, 0x9d, 0x77, 0x19,
0x36, 0xde, 0x75, 0xe9, 0x8f, 0xf8, 0xc5, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x4d, 0x01, 0xf1,
0x83, 0xc0, 0x0b, 0x00, 0x00,
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment