Commit fe44a8a1 authored by jiangpeng's avatar jiangpeng

privacy:update code

* rename struct ReqCreatePricacyTx field "Type" to "ActionType" * move privacy constant reference in chain33 types to local types
parent 83b42f56
......@@ -127,7 +127,7 @@ func createPub2PrivTx(cmd *cobra.Command, args []string) {
params := pty.ReqCreatePrivacyTx{
Tokenname: tokenname,
Type: types.PrivacyTypePublic2Privacy,
ActionType: pty.ActionPublic2Privacy,
Amount: amount,
Note: note,
Pubkeypair: pubkeypair,
......@@ -192,7 +192,7 @@ func createPriv2PrivTx(cmd *cobra.Command, args []string) {
params := pty.ReqCreatePrivacyTx{
Tokenname: tokenname,
Type: types.PrivacyTypePrivacy2Privacy,
ActionType: pty.ActionPrivacy2Privacy,
Amount: amount,
Note: note,
Pubkeypair: pubkeypair,
......@@ -258,15 +258,15 @@ func createPriv2PubTx(cmd *cobra.Command, args []string) {
}
params := pty.ReqCreatePrivacyTx{
Tokenname: tokenname,
Type: types.PrivacyTypePrivacy2Public,
Amount: amount,
Note: note,
From: from,
To: to,
Mixcount: mixCount,
Expire: expire,
AssetExec: assetExec,
Tokenname: tokenname,
ActionType: pty.ActionPrivacy2Public,
Amount: amount,
Note: note,
From: from,
To: to,
Mixcount: mixCount,
Expire: expire,
AssetExec: assetExec,
}
ctx := jsonclient.NewRPCCtx(rpcLaddr, "privacy.CreateRawTransaction", params, nil)
ctx.RunWithoutMarshal()
......
......@@ -181,7 +181,7 @@ func TestPrivacy_Exec_Public2Privacy(t *testing.T) {
for _, tc := range tcArr {
req := tc.payload.(*pty.ReqCreatePrivacyTx)
req.Type = types.PrivacyTypePublic2Privacy
req.ActionType = pty.ActionPublic2Privacy
tc.testState = testStateExec
}
testExec(mock, tcArr, testPrivateKeys[0], t)
......@@ -196,7 +196,7 @@ func TestPrivacy_Exec_Privacy2Privacy(t *testing.T) {
{
index: 1,
payload: &pty.ReqCreatePrivacyTx{
Type: types.PrivacyTypePublic2Privacy,
ActionType: pty.ActionPublic2Privacy,
Amount: types.Coin * 9,
Pubkeypair: testPubkeyPairs[0],
},
......@@ -213,8 +213,8 @@ func TestPrivacy_Exec_Privacy2Privacy(t *testing.T) {
for _, tc := range tcArr {
req := tc.payload.(*pty.ReqCreatePrivacyTx)
if req.Type == 0 {
req.Type = types.PrivacyTypePrivacy2Privacy
if req.ActionType == 0 {
req.ActionType = pty.ActionPrivacy2Privacy
}
tc.testState = testStateExec
}
......@@ -230,7 +230,7 @@ func TestPrivacy_Exec_Privacy2Public(t *testing.T) {
{
index: 1,
payload: &pty.ReqCreatePrivacyTx{
Type: types.PrivacyTypePublic2Privacy,
ActionType: pty.ActionPublic2Privacy,
Amount: types.Coin * 9,
Pubkeypair: testPubkeyPairs[0],
},
......@@ -248,8 +248,8 @@ func TestPrivacy_Exec_Privacy2Public(t *testing.T) {
for _, tc := range tcArr {
req := tc.payload.(*pty.ReqCreatePrivacyTx)
if req.Type == 0 {
req.Type = types.PrivacyTypePrivacy2Public
if req.ActionType == 0 {
req.ActionType = pty.ActionPrivacy2Public
}
tc.testState = testStateExec
}
......@@ -265,7 +265,7 @@ func TestPrivacy_ExecLocal(t *testing.T) {
{
index: 1,
payload: &pty.ReqCreatePrivacyTx{
Type: types.PrivacyTypePublic2Privacy,
ActionType: pty.ActionPublic2Privacy,
Amount: types.Coin * 9,
Pubkeypair: testPubkeyPairs[0],
},
......@@ -273,7 +273,7 @@ func TestPrivacy_ExecLocal(t *testing.T) {
{
index: 2,
payload: &pty.ReqCreatePrivacyTx{
Type: types.PrivacyTypePrivacy2Privacy,
ActionType: pty.ActionPrivacy2Privacy,
Amount: types.Coin,
Pubkeypair: testPubkeyPairs[1],
From: testAddrs[0],
......@@ -282,7 +282,7 @@ func TestPrivacy_ExecLocal(t *testing.T) {
{
index: 3,
payload: &pty.ReqCreatePrivacyTx{
Type: types.PrivacyTypePrivacy2Public,
ActionType: pty.ActionPrivacy2Public,
Amount: types.Coin,
Pubkeypair: testPubkeyPairs[1],
From: testAddrs[0],
......@@ -306,7 +306,7 @@ func TestPrivacy_ExecDelLocal(t *testing.T) {
{
index: 1,
payload: &pty.ReqCreatePrivacyTx{
Type: types.PrivacyTypePublic2Privacy,
ActionType: pty.ActionPublic2Privacy,
Amount: types.Coin * 9,
Pubkeypair: testPubkeyPairs[0],
},
......@@ -314,7 +314,7 @@ func TestPrivacy_ExecDelLocal(t *testing.T) {
{
index: 2,
payload: &pty.ReqCreatePrivacyTx{
Type: types.PrivacyTypePrivacy2Privacy,
ActionType: pty.ActionPrivacy2Privacy,
Amount: types.Coin,
Pubkeypair: testPubkeyPairs[1],
From: testAddrs[0],
......@@ -323,7 +323,7 @@ func TestPrivacy_ExecDelLocal(t *testing.T) {
{
index: 3,
payload: &pty.ReqCreatePrivacyTx{
Type: types.PrivacyTypePrivacy2Public,
ActionType: pty.ActionPrivacy2Public,
Amount: types.Coin,
Pubkeypair: testPubkeyPairs[1],
From: testAddrs[0],
......
......@@ -103,14 +103,14 @@ func (p *privacy) getGlobalUtxoIndex(getUtxoIndexReq *pty.ReqUTXOGlobalIndex) (t
tokenName := getUtxoIndexReq.Tokenname
currentHeight := p.GetHeight()
for _, amount := range getUtxoIndexReq.Amount {
utxos, err := p.getUtxosByTokenAndAmount(tokenName, amount, types.UTXOCacheCount)
utxos, err := p.getUtxosByTokenAndAmount(tokenName, amount, pty.UTXOCacheCount)
if err != nil {
return utxoGlobalIndexResp, err
}
index := len(utxos) - 1
for ; index >= 0; index-- {
if utxos[index].GetHeight()+types.ConfirmedHeight <= currentHeight {
if utxos[index].GetHeight()+pty.ConfirmedHeight <= currentHeight {
break
}
}
......
......@@ -17,7 +17,7 @@ var (
{
index: 1,
payload: &pty.ReqCreatePrivacyTx{
Type: types.PrivacyTypePublic2Privacy,
ActionType: pty.ActionPublic2Privacy,
Amount: types.Coin,
Pubkeypair: testPubkeyPairs[0],
},
......
......@@ -237,5 +237,5 @@ type walletMock struct {
}
func (w *walletMock) GetBlockHeight() int64 {
return initHeight + types.PrivacyMaturityDegree
return initHeight + pty.UtxoMaturityDegree
}
File mode changed from 100644 to 100755
......@@ -402,10 +402,7 @@ message WalletAccountPrivacy {
message ReqCreatePrivacyTx {
string tokenname = 1;
// 构建交易类型
// 1:隐私交易 公开->隐私
// 2:隐私交易 隐私->隐私
// 3:隐私交易 隐私->公开
int32 type = 2;
int32 actionType = 2;
int64 amount = 3;
string note = 4;
// 普通交易的发送方
......
// Copyright Fuzamei Corp. 2018 All Rights Reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package types
import "github.com/33cn/chain33/types"
const (
// InvalidAction invalid action type
InvalidAction = 0
//action type for privacy
// ActionPublic2Privacy public to privacy action type
ActionPublic2Privacy = iota + 100
// ActionPrivacy2Privacy privacy to privacy action type
ActionPrivacy2Privacy
// ActionPrivacy2Public privacy to public action type
ActionPrivacy2Public
// log for privacy
// TyLogPrivacyFee privacy fee log type
TyLogPrivacyFee = 500
// TyLogPrivacyInput privacy input type
TyLogPrivacyInput = 501
// TyLogPrivacyOutput privacy output type
TyLogPrivacyOutput = 502
)
const (
//SignNameOnetimeED25519 privacy name of crypto
SignNameOnetimeED25519 = "privacy.onetimeed25519"
// SignNameRing signature name ring
SignNameRing = "privacy.RingSignatue"
// OnetimeED25519 one time ED25519
OnetimeED25519 = 4
// RingBaseonED25519 ring raseon ED25519
RingBaseonED25519 = 5
// PrivacyMaxCount max mix utxo cout
PrivacyMaxCount = 16
// PrivacyTxFee privacy tx fee
PrivacyTxFee = types.Coin
)
const (
// utxo缓存数量
UTXOCacheCount = 256
// UtxoMaturityDegree utxo 成熟度
UtxoMaturityDegree = 12
BTYDustThreshold = types.Coin
ConfirmedHeight = 12
SignatureSize = (4 + 33 + 65)
// Size1Kshiftlen tx消息大小1k
Size1Kshiftlen = 10
)
......@@ -14,41 +14,6 @@ import (
// PrivacyX privacy executor name
var PrivacyX = "privacy"
const (
// InvalidAction invalid action type
InvalidAction = 0
//action type for privacy
// ActionPublic2Privacy public to privacy action type
ActionPublic2Privacy = iota + 100
// ActionPrivacy2Privacy privacy to privacy action type
ActionPrivacy2Privacy
// ActionPrivacy2Public privacy to public action type
ActionPrivacy2Public
// log for privacy
// TyLogPrivacyFee privacy fee log type
TyLogPrivacyFee = 500
// TyLogPrivacyInput privacy input type
TyLogPrivacyInput = 501
// TyLogPrivacyOutput privacy output type
TyLogPrivacyOutput = 502
//SignNameOnetimeED25519 privacy name of crypto
SignNameOnetimeED25519 = "privacy.onetimeed25519"
// SignNameRing signature name ring
SignNameRing = "privacy.RingSignatue"
// OnetimeED25519 one time ED25519
OnetimeED25519 = 4
// RingBaseonED25519 ring raseon ED25519
RingBaseonED25519 = 5
// PrivacyMaxCount max mix utxo cout
PrivacyMaxCount = 16
// PrivacyTxFee privacy tx fee
PrivacyTxFee = types.Coin
)
// RescanUtxoFlag
const (
UtxoFlagNoScan int32 = 0
......
......@@ -3,17 +3,13 @@
package types
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
types "github.com/33cn/chain33/types"
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import types "github.com/33cn/chain33/types"
import (
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
......@@ -48,7 +44,7 @@ func (m *PrivacyAction) Reset() { *m = PrivacyAction{} }
func (m *PrivacyAction) String() string { return proto.CompactTextString(m) }
func (*PrivacyAction) ProtoMessage() {}
func (*PrivacyAction) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{0}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{0}
}
func (m *PrivacyAction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyAction.Unmarshal(m, b)
......@@ -233,7 +229,7 @@ func (m *Public2Privacy) Reset() { *m = Public2Privacy{} }
func (m *Public2Privacy) String() string { return proto.CompactTextString(m) }
func (*Public2Privacy) ProtoMessage() {}
func (*Public2Privacy) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{1}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{1}
}
func (m *Public2Privacy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Public2Privacy.Unmarshal(m, b)
......@@ -304,7 +300,7 @@ func (m *Privacy2Privacy) Reset() { *m = Privacy2Privacy{} }
func (m *Privacy2Privacy) String() string { return proto.CompactTextString(m) }
func (*Privacy2Privacy) ProtoMessage() {}
func (*Privacy2Privacy) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{2}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{2}
}
func (m *Privacy2Privacy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Privacy2Privacy.Unmarshal(m, b)
......@@ -383,7 +379,7 @@ func (m *Privacy2Public) Reset() { *m = Privacy2Public{} }
func (m *Privacy2Public) String() string { return proto.CompactTextString(m) }
func (*Privacy2Public) ProtoMessage() {}
func (*Privacy2Public) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{3}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{3}
}
func (m *Privacy2Public) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Privacy2Public.Unmarshal(m, b)
......@@ -466,7 +462,7 @@ func (m *UTXOGlobalIndex) Reset() { *m = UTXOGlobalIndex{} }
func (m *UTXOGlobalIndex) String() string { return proto.CompactTextString(m) }
func (*UTXOGlobalIndex) ProtoMessage() {}
func (*UTXOGlobalIndex) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{4}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{4}
}
func (m *UTXOGlobalIndex) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOGlobalIndex.Unmarshal(m, b)
......@@ -514,7 +510,7 @@ func (m *KeyInput) Reset() { *m = KeyInput{} }
func (m *KeyInput) String() string { return proto.CompactTextString(m) }
func (*KeyInput) ProtoMessage() {}
func (*KeyInput) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{5}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{5}
}
func (m *KeyInput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyInput.Unmarshal(m, b)
......@@ -566,7 +562,7 @@ func (m *PrivacyInput) Reset() { *m = PrivacyInput{} }
func (m *PrivacyInput) String() string { return proto.CompactTextString(m) }
func (*PrivacyInput) ProtoMessage() {}
func (*PrivacyInput) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{6}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{6}
}
func (m *PrivacyInput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyInput.Unmarshal(m, b)
......@@ -606,7 +602,7 @@ func (m *KeyOutput) Reset() { *m = KeyOutput{} }
func (m *KeyOutput) String() string { return proto.CompactTextString(m) }
func (*KeyOutput) ProtoMessage() {}
func (*KeyOutput) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{7}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{7}
}
func (m *KeyOutput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyOutput.Unmarshal(m, b)
......@@ -652,7 +648,7 @@ func (m *PrivacyOutput) Reset() { *m = PrivacyOutput{} }
func (m *PrivacyOutput) String() string { return proto.CompactTextString(m) }
func (*PrivacyOutput) ProtoMessage() {}
func (*PrivacyOutput) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{8}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{8}
}
func (m *PrivacyOutput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyOutput.Unmarshal(m, b)
......@@ -698,7 +694,7 @@ func (m *GroupUTXOGlobalIndex) Reset() { *m = GroupUTXOGlobalIndex{} }
func (m *GroupUTXOGlobalIndex) String() string { return proto.CompactTextString(m) }
func (*GroupUTXOGlobalIndex) ProtoMessage() {}
func (*GroupUTXOGlobalIndex) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{9}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{9}
}
func (m *GroupUTXOGlobalIndex) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupUTXOGlobalIndex.Unmarshal(m, b)
......@@ -747,7 +743,7 @@ func (m *LocalUTXOItem) Reset() { *m = LocalUTXOItem{} }
func (m *LocalUTXOItem) String() string { return proto.CompactTextString(m) }
func (*LocalUTXOItem) ProtoMessage() {}
func (*LocalUTXOItem) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{10}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{10}
}
func (m *LocalUTXOItem) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LocalUTXOItem.Unmarshal(m, b)
......@@ -814,7 +810,7 @@ func (m *ReqUTXOPubKeys) Reset() { *m = ReqUTXOPubKeys{} }
func (m *ReqUTXOPubKeys) String() string { return proto.CompactTextString(m) }
func (*ReqUTXOPubKeys) ProtoMessage() {}
func (*ReqUTXOPubKeys) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{11}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{11}
}
func (m *ReqUTXOPubKeys) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqUTXOPubKeys.Unmarshal(m, b)
......@@ -860,7 +856,7 @@ func (m *PublicKeyData) Reset() { *m = PublicKeyData{} }
func (m *PublicKeyData) String() string { return proto.CompactTextString(m) }
func (*PublicKeyData) ProtoMessage() {}
func (*PublicKeyData) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{12}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{12}
}
func (m *PublicKeyData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PublicKeyData.Unmarshal(m, b)
......@@ -900,7 +896,7 @@ func (m *GroupUTXOPubKey) Reset() { *m = GroupUTXOPubKey{} }
func (m *GroupUTXOPubKey) String() string { return proto.CompactTextString(m) }
func (*GroupUTXOPubKey) ProtoMessage() {}
func (*GroupUTXOPubKey) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{13}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{13}
}
func (m *GroupUTXOPubKey) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupUTXOPubKey.Unmarshal(m, b)
......@@ -945,7 +941,7 @@ func (m *ResUTXOPubKeys) Reset() { *m = ResUTXOPubKeys{} }
func (m *ResUTXOPubKeys) String() string { return proto.CompactTextString(m) }
func (*ResUTXOPubKeys) ProtoMessage() {}
func (*ResUTXOPubKeys) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{14}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{14}
}
func (m *ResUTXOPubKeys) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResUTXOPubKeys.Unmarshal(m, b)
......@@ -984,7 +980,7 @@ func (m *ReqPrivacyToken) Reset() { *m = ReqPrivacyToken{} }
func (m *ReqPrivacyToken) String() string { return proto.CompactTextString(m) }
func (*ReqPrivacyToken) ProtoMessage() {}
func (*ReqPrivacyToken) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{15}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{15}
}
func (m *ReqPrivacyToken) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqPrivacyToken.Unmarshal(m, b)
......@@ -1030,7 +1026,7 @@ func (m *AmountDetail) Reset() { *m = AmountDetail{} }
func (m *AmountDetail) String() string { return proto.CompactTextString(m) }
func (*AmountDetail) ProtoMessage() {}
func (*AmountDetail) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{16}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{16}
}
func (m *AmountDetail) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AmountDetail.Unmarshal(m, b)
......@@ -1075,7 +1071,7 @@ func (m *ReplyPrivacyAmounts) Reset() { *m = ReplyPrivacyAmounts{} }
func (m *ReplyPrivacyAmounts) String() string { return proto.CompactTextString(m) }
func (*ReplyPrivacyAmounts) ProtoMessage() {}
func (*ReplyPrivacyAmounts) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{17}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{17}
}
func (m *ReplyPrivacyAmounts) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyPrivacyAmounts.Unmarshal(m, b)
......@@ -1113,7 +1109,7 @@ func (m *ReplyUTXOsOfAmount) Reset() { *m = ReplyUTXOsOfAmount{} }
func (m *ReplyUTXOsOfAmount) String() string { return proto.CompactTextString(m) }
func (*ReplyUTXOsOfAmount) ProtoMessage() {}
func (*ReplyUTXOsOfAmount) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{18}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{18}
}
func (m *ReplyUTXOsOfAmount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyUTXOsOfAmount.Unmarshal(m, b)
......@@ -1152,7 +1148,7 @@ func (m *ReceiptPrivacyOutput) Reset() { *m = ReceiptPrivacyOutput{} }
func (m *ReceiptPrivacyOutput) String() string { return proto.CompactTextString(m) }
func (*ReceiptPrivacyOutput) ProtoMessage() {}
func (*ReceiptPrivacyOutput) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{19}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{19}
}
func (m *ReceiptPrivacyOutput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptPrivacyOutput.Unmarshal(m, b)
......@@ -1198,7 +1194,7 @@ func (m *AmountsOfUTXO) Reset() { *m = AmountsOfUTXO{} }
func (m *AmountsOfUTXO) String() string { return proto.CompactTextString(m) }
func (*AmountsOfUTXO) ProtoMessage() {}
func (*AmountsOfUTXO) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{20}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{20}
}
func (m *AmountsOfUTXO) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AmountsOfUTXO.Unmarshal(m, b)
......@@ -1236,7 +1232,7 @@ func (m *TokenNamesOfUTXO) Reset() { *m = TokenNamesOfUTXO{} }
func (m *TokenNamesOfUTXO) String() string { return proto.CompactTextString(m) }
func (*TokenNamesOfUTXO) ProtoMessage() {}
func (*TokenNamesOfUTXO) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{21}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{21}
}
func (m *TokenNamesOfUTXO) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TokenNamesOfUTXO.Unmarshal(m, b)
......@@ -1276,7 +1272,7 @@ func (m *UTXOGlobalIndex4Print) Reset() { *m = UTXOGlobalIndex4Print{} }
func (m *UTXOGlobalIndex4Print) String() string { return proto.CompactTextString(m) }
func (*UTXOGlobalIndex4Print) ProtoMessage() {}
func (*UTXOGlobalIndex4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{22}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{22}
}
func (m *UTXOGlobalIndex4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOGlobalIndex4Print.Unmarshal(m, b)
......@@ -1323,7 +1319,7 @@ func (m *KeyInput4Print) Reset() { *m = KeyInput4Print{} }
func (m *KeyInput4Print) String() string { return proto.CompactTextString(m) }
func (*KeyInput4Print) ProtoMessage() {}
func (*KeyInput4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{23}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{23}
}
func (m *KeyInput4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyInput4Print.Unmarshal(m, b)
......@@ -1376,7 +1372,7 @@ func (m *KeyOutput4Print) Reset() { *m = KeyOutput4Print{} }
func (m *KeyOutput4Print) String() string { return proto.CompactTextString(m) }
func (*KeyOutput4Print) ProtoMessage() {}
func (*KeyOutput4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{24}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{24}
}
func (m *KeyOutput4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyOutput4Print.Unmarshal(m, b)
......@@ -1421,7 +1417,7 @@ func (m *PrivacyInput4Print) Reset() { *m = PrivacyInput4Print{} }
func (m *PrivacyInput4Print) String() string { return proto.CompactTextString(m) }
func (*PrivacyInput4Print) ProtoMessage() {}
func (*PrivacyInput4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{25}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{25}
}
func (m *PrivacyInput4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyInput4Print.Unmarshal(m, b)
......@@ -1460,7 +1456,7 @@ func (m *PrivacyOutput4Print) Reset() { *m = PrivacyOutput4Print{} }
func (m *PrivacyOutput4Print) String() string { return proto.CompactTextString(m) }
func (*PrivacyOutput4Print) ProtoMessage() {}
func (*PrivacyOutput4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{26}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{26}
}
func (m *PrivacyOutput4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyOutput4Print.Unmarshal(m, b)
......@@ -1508,7 +1504,7 @@ func (m *Public2Privacy4Print) Reset() { *m = Public2Privacy4Print{} }
func (m *Public2Privacy4Print) String() string { return proto.CompactTextString(m) }
func (*Public2Privacy4Print) ProtoMessage() {}
func (*Public2Privacy4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{27}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{27}
}
func (m *Public2Privacy4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Public2Privacy4Print.Unmarshal(m, b)
......@@ -1571,7 +1567,7 @@ func (m *Privacy2Privacy4Print) Reset() { *m = Privacy2Privacy4Print{} }
func (m *Privacy2Privacy4Print) String() string { return proto.CompactTextString(m) }
func (*Privacy2Privacy4Print) ProtoMessage() {}
func (*Privacy2Privacy4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{28}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{28}
}
func (m *Privacy2Privacy4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Privacy2Privacy4Print.Unmarshal(m, b)
......@@ -1641,7 +1637,7 @@ func (m *Privacy2Public4Print) Reset() { *m = Privacy2Public4Print{} }
func (m *Privacy2Public4Print) String() string { return proto.CompactTextString(m) }
func (*Privacy2Public4Print) ProtoMessage() {}
func (*Privacy2Public4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{29}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{29}
}
func (m *Privacy2Public4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Privacy2Public4Print.Unmarshal(m, b)
......@@ -1712,7 +1708,7 @@ func (m *PrivacyAction4Print) Reset() { *m = PrivacyAction4Print{} }
func (m *PrivacyAction4Print) String() string { return proto.CompactTextString(m) }
func (*PrivacyAction4Print) ProtoMessage() {}
func (*PrivacyAction4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{30}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{30}
}
func (m *PrivacyAction4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyAction4Print.Unmarshal(m, b)
......@@ -1896,7 +1892,7 @@ func (m *ReplyPrivacyPkPair) Reset() { *m = ReplyPrivacyPkPair{} }
func (m *ReplyPrivacyPkPair) String() string { return proto.CompactTextString(m) }
func (*ReplyPrivacyPkPair) ProtoMessage() {}
func (*ReplyPrivacyPkPair) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{31}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{31}
}
func (m *ReplyPrivacyPkPair) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyPrivacyPkPair.Unmarshal(m, b)
......@@ -1942,7 +1938,7 @@ func (m *ReqPrivBal4AddrToken) Reset() { *m = ReqPrivBal4AddrToken{} }
func (m *ReqPrivBal4AddrToken) String() string { return proto.CompactTextString(m) }
func (*ReqPrivBal4AddrToken) ProtoMessage() {}
func (*ReqPrivBal4AddrToken) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{32}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{32}
}
func (m *ReqPrivBal4AddrToken) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqPrivBal4AddrToken.Unmarshal(m, b)
......@@ -1988,7 +1984,7 @@ func (m *ReplyPrivacyBalance) Reset() { *m = ReplyPrivacyBalance{} }
func (m *ReplyPrivacyBalance) String() string { return proto.CompactTextString(m) }
func (*ReplyPrivacyBalance) ProtoMessage() {}
func (*ReplyPrivacyBalance) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{33}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{33}
}
func (m *ReplyPrivacyBalance) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyPrivacyBalance.Unmarshal(m, b)
......@@ -2042,7 +2038,7 @@ func (m *PrivacyDBStore) Reset() { *m = PrivacyDBStore{} }
func (m *PrivacyDBStore) String() string { return proto.CompactTextString(m) }
func (*PrivacyDBStore) ProtoMessage() {}
func (*PrivacyDBStore) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{34}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{34}
}
func (m *PrivacyDBStore) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyDBStore.Unmarshal(m, b)
......@@ -2144,7 +2140,7 @@ func (m *UTXO) Reset() { *m = UTXO{} }
func (m *UTXO) String() string { return proto.CompactTextString(m) }
func (*UTXO) ProtoMessage() {}
func (*UTXO) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{35}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{35}
}
func (m *UTXO) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXO.Unmarshal(m, b)
......@@ -2191,7 +2187,7 @@ func (m *UTXOHaveTxHash) Reset() { *m = UTXOHaveTxHash{} }
func (m *UTXOHaveTxHash) String() string { return proto.CompactTextString(m) }
func (*UTXOHaveTxHash) ProtoMessage() {}
func (*UTXOHaveTxHash) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{36}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{36}
}
func (m *UTXOHaveTxHash) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOHaveTxHash.Unmarshal(m, b)
......@@ -2243,7 +2239,7 @@ func (m *UTXOs) Reset() { *m = UTXOs{} }
func (m *UTXOs) String() string { return proto.CompactTextString(m) }
func (*UTXOs) ProtoMessage() {}
func (*UTXOs) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{37}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{37}
}
func (m *UTXOs) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOs.Unmarshal(m, b)
......@@ -2281,7 +2277,7 @@ func (m *UTXOHaveTxHashs) Reset() { *m = UTXOHaveTxHashs{} }
func (m *UTXOHaveTxHashs) String() string { return proto.CompactTextString(m) }
func (*UTXOHaveTxHashs) ProtoMessage() {}
func (*UTXOHaveTxHashs) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{38}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{38}
}
func (m *UTXOHaveTxHashs) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOHaveTxHashs.Unmarshal(m, b)
......@@ -2321,7 +2317,7 @@ func (m *ReqUTXOGlobalIndex) Reset() { *m = ReqUTXOGlobalIndex{} }
func (m *ReqUTXOGlobalIndex) String() string { return proto.CompactTextString(m) }
func (*ReqUTXOGlobalIndex) ProtoMessage() {}
func (*ReqUTXOGlobalIndex) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{39}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{39}
}
func (m *ReqUTXOGlobalIndex) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqUTXOGlobalIndex.Unmarshal(m, b)
......@@ -2374,7 +2370,7 @@ func (m *UTXOBasic) Reset() { *m = UTXOBasic{} }
func (m *UTXOBasic) String() string { return proto.CompactTextString(m) }
func (*UTXOBasic) ProtoMessage() {}
func (*UTXOBasic) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{40}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{40}
}
func (m *UTXOBasic) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOBasic.Unmarshal(m, b)
......@@ -2420,7 +2416,7 @@ func (m *UTXOIndex4Amount) Reset() { *m = UTXOIndex4Amount{} }
func (m *UTXOIndex4Amount) String() string { return proto.CompactTextString(m) }
func (*UTXOIndex4Amount) ProtoMessage() {}
func (*UTXOIndex4Amount) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{41}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{41}
}
func (m *UTXOIndex4Amount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOIndex4Amount.Unmarshal(m, b)
......@@ -2467,7 +2463,7 @@ func (m *ResUTXOGlobalIndex) Reset() { *m = ResUTXOGlobalIndex{} }
func (m *ResUTXOGlobalIndex) String() string { return proto.CompactTextString(m) }
func (*ResUTXOGlobalIndex) ProtoMessage() {}
func (*ResUTXOGlobalIndex) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{42}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{42}
}
func (m *ResUTXOGlobalIndex) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResUTXOGlobalIndex.Unmarshal(m, b)
......@@ -2524,7 +2520,7 @@ func (m *FTXOsSTXOsInOneTx) Reset() { *m = FTXOsSTXOsInOneTx{} }
func (m *FTXOsSTXOsInOneTx) String() string { return proto.CompactTextString(m) }
func (*FTXOsSTXOsInOneTx) ProtoMessage() {}
func (*FTXOsSTXOsInOneTx) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{43}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{43}
}
func (m *FTXOsSTXOsInOneTx) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FTXOsSTXOsInOneTx.Unmarshal(m, b)
......@@ -2591,7 +2587,7 @@ func (m *RealKeyInput) Reset() { *m = RealKeyInput{} }
func (m *RealKeyInput) String() string { return proto.CompactTextString(m) }
func (*RealKeyInput) ProtoMessage() {}
func (*RealKeyInput) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{44}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{44}
}
func (m *RealKeyInput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RealKeyInput.Unmarshal(m, b)
......@@ -2636,7 +2632,7 @@ func (m *UTXOBasics) Reset() { *m = UTXOBasics{} }
func (m *UTXOBasics) String() string { return proto.CompactTextString(m) }
func (*UTXOBasics) ProtoMessage() {}
func (*UTXOBasics) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{45}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{45}
}
func (m *UTXOBasics) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOBasics.Unmarshal(m, b)
......@@ -2688,7 +2684,7 @@ func (m *CreateTransactionCache) Reset() { *m = CreateTransactionCache{}
func (m *CreateTransactionCache) String() string { return proto.CompactTextString(m) }
func (*CreateTransactionCache) ProtoMessage() {}
func (*CreateTransactionCache) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{46}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{46}
}
func (m *CreateTransactionCache) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateTransactionCache.Unmarshal(m, b)
......@@ -2783,7 +2779,7 @@ func (m *ReqCacheTxList) Reset() { *m = ReqCacheTxList{} }
func (m *ReqCacheTxList) String() string { return proto.CompactTextString(m) }
func (*ReqCacheTxList) ProtoMessage() {}
func (*ReqCacheTxList) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{47}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{47}
}
func (m *ReqCacheTxList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCacheTxList.Unmarshal(m, b)
......@@ -2828,7 +2824,7 @@ func (m *ReplyCacheTxList) Reset() { *m = ReplyCacheTxList{} }
func (m *ReplyCacheTxList) String() string { return proto.CompactTextString(m) }
func (*ReplyCacheTxList) ProtoMessage() {}
func (*ReplyCacheTxList) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{48}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{48}
}
func (m *ReplyCacheTxList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyCacheTxList.Unmarshal(m, b)
......@@ -2867,7 +2863,7 @@ func (m *ReqPrivacyAccount) Reset() { *m = ReqPrivacyAccount{} }
func (m *ReqPrivacyAccount) String() string { return proto.CompactTextString(m) }
func (*ReqPrivacyAccount) ProtoMessage() {}
func (*ReqPrivacyAccount) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{49}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{49}
}
func (m *ReqPrivacyAccount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqPrivacyAccount.Unmarshal(m, b)
......@@ -2919,7 +2915,7 @@ func (m *ReqPPrivacyAccount) Reset() { *m = ReqPPrivacyAccount{} }
func (m *ReqPPrivacyAccount) String() string { return proto.CompactTextString(m) }
func (*ReqPPrivacyAccount) ProtoMessage() {}
func (*ReqPPrivacyAccount) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{50}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{50}
}
func (m *ReqPPrivacyAccount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqPPrivacyAccount.Unmarshal(m, b)
......@@ -2976,7 +2972,7 @@ func (m *ReplyPrivacyAccount) Reset() { *m = ReplyPrivacyAccount{} }
func (m *ReplyPrivacyAccount) String() string { return proto.CompactTextString(m) }
func (*ReplyPrivacyAccount) ProtoMessage() {}
func (*ReplyPrivacyAccount) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{51}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{51}
}
func (m *ReplyPrivacyAccount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyPrivacyAccount.Unmarshal(m, b)
......@@ -3029,7 +3025,7 @@ func (m *ReqCreateCacheTxKey) Reset() { *m = ReqCreateCacheTxKey{} }
func (m *ReqCreateCacheTxKey) String() string { return proto.CompactTextString(m) }
func (*ReqCreateCacheTxKey) ProtoMessage() {}
func (*ReqCreateCacheTxKey) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{52}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{52}
}
func (m *ReqCreateCacheTxKey) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCreateCacheTxKey.Unmarshal(m, b)
......@@ -3083,7 +3079,7 @@ func (m *ReqPrivacyTransactionList) Reset() { *m = ReqPrivacyTransaction
func (m *ReqPrivacyTransactionList) String() string { return proto.CompactTextString(m) }
func (*ReqPrivacyTransactionList) ProtoMessage() {}
func (*ReqPrivacyTransactionList) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{53}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{53}
}
func (m *ReqPrivacyTransactionList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqPrivacyTransactionList.Unmarshal(m, b)
......@@ -3164,7 +3160,7 @@ func (m *ReqRescanUtxos) Reset() { *m = ReqRescanUtxos{} }
func (m *ReqRescanUtxos) String() string { return proto.CompactTextString(m) }
func (*ReqRescanUtxos) ProtoMessage() {}
func (*ReqRescanUtxos) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{54}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{54}
}
func (m *ReqRescanUtxos) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqRescanUtxos.Unmarshal(m, b)
......@@ -3210,7 +3206,7 @@ func (m *RepRescanResult) Reset() { *m = RepRescanResult{} }
func (m *RepRescanResult) String() string { return proto.CompactTextString(m) }
func (*RepRescanResult) ProtoMessage() {}
func (*RepRescanResult) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{55}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{55}
}
func (m *RepRescanResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepRescanResult.Unmarshal(m, b)
......@@ -3256,7 +3252,7 @@ func (m *RepRescanUtxos) Reset() { *m = RepRescanUtxos{} }
func (m *RepRescanUtxos) String() string { return proto.CompactTextString(m) }
func (*RepRescanUtxos) ProtoMessage() {}
func (*RepRescanUtxos) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{56}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{56}
}
func (m *RepRescanUtxos) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepRescanUtxos.Unmarshal(m, b)
......@@ -3301,7 +3297,7 @@ func (m *ReqEnablePrivacy) Reset() { *m = ReqEnablePrivacy{} }
func (m *ReqEnablePrivacy) String() string { return proto.CompactTextString(m) }
func (*ReqEnablePrivacy) ProtoMessage() {}
func (*ReqEnablePrivacy) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{57}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{57}
}
func (m *ReqEnablePrivacy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqEnablePrivacy.Unmarshal(m, b)
......@@ -3341,7 +3337,7 @@ func (m *PriAddrResult) Reset() { *m = PriAddrResult{} }
func (m *PriAddrResult) String() string { return proto.CompactTextString(m) }
func (*PriAddrResult) ProtoMessage() {}
func (*PriAddrResult) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{58}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{58}
}
func (m *PriAddrResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PriAddrResult.Unmarshal(m, b)
......@@ -3393,7 +3389,7 @@ func (m *RepEnablePrivacy) Reset() { *m = RepEnablePrivacy{} }
func (m *RepEnablePrivacy) String() string { return proto.CompactTextString(m) }
func (*RepEnablePrivacy) ProtoMessage() {}
func (*RepEnablePrivacy) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{59}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{59}
}
func (m *RepEnablePrivacy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepEnablePrivacy.Unmarshal(m, b)
......@@ -3434,7 +3430,7 @@ func (m *PrivacySignatureParam) Reset() { *m = PrivacySignatureParam{} }
func (m *PrivacySignatureParam) String() string { return proto.CompactTextString(m) }
func (*PrivacySignatureParam) ProtoMessage() {}
func (*PrivacySignatureParam) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{60}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{60}
}
func (m *PrivacySignatureParam) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacySignatureParam.Unmarshal(m, b)
......@@ -3489,7 +3485,7 @@ func (m *WalletAccountPrivacy) Reset() { *m = WalletAccountPrivacy{} }
func (m *WalletAccountPrivacy) String() string { return proto.CompactTextString(m) }
func (*WalletAccountPrivacy) ProtoMessage() {}
func (*WalletAccountPrivacy) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{61}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{61}
}
func (m *WalletAccountPrivacy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WalletAccountPrivacy.Unmarshal(m, b)
......@@ -3541,12 +3537,9 @@ func (m *WalletAccountPrivacy) GetSpendPrivKey() []byte {
type ReqCreatePrivacyTx struct {
Tokenname string `protobuf:"bytes,1,opt,name=tokenname,proto3" json:"tokenname,omitempty"`
// 构建交易类型
// 1:隐私交易 公开->隐私
// 2:隐私交易 隐私->隐私
// 3:隐私交易 隐私->公开
Type int32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"`
Amount int64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"`
Note string `protobuf:"bytes,4,opt,name=note,proto3" json:"note,omitempty"`
ActionType int32 `protobuf:"varint,2,opt,name=actionType,proto3" json:"actionType,omitempty"`
Amount int64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"`
Note string `protobuf:"bytes,4,opt,name=note,proto3" json:"note,omitempty"`
// 普通交易的发送方
From string `protobuf:"bytes,5,opt,name=from,proto3" json:"from,omitempty"`
// 普通交易的接收方
......@@ -3565,7 +3558,7 @@ func (m *ReqCreatePrivacyTx) Reset() { *m = ReqCreatePrivacyTx{} }
func (m *ReqCreatePrivacyTx) String() string { return proto.CompactTextString(m) }
func (*ReqCreatePrivacyTx) ProtoMessage() {}
func (*ReqCreatePrivacyTx) Descriptor() ([]byte, []int) {
return fileDescriptor_privacy_c430ec1948ab119a, []int{62}
return fileDescriptor_privacy_b04022b2c709b5e6, []int{62}
}
func (m *ReqCreatePrivacyTx) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCreatePrivacyTx.Unmarshal(m, b)
......@@ -3592,9 +3585,9 @@ func (m *ReqCreatePrivacyTx) GetTokenname() string {
return ""
}
func (m *ReqCreatePrivacyTx) GetType() int32 {
func (m *ReqCreatePrivacyTx) GetActionType() int32 {
if m != nil {
return m.Type
return m.ActionType
}
return 0
}
......@@ -3904,152 +3897,152 @@ var _Privacy_serviceDesc = grpc.ServiceDesc{
Metadata: "privacy.proto",
}
func init() { proto.RegisterFile("privacy.proto", fileDescriptor_privacy_c430ec1948ab119a) }
func init() { proto.RegisterFile("privacy.proto", fileDescriptor_privacy_b04022b2c709b5e6) }
var fileDescriptor_privacy_c430ec1948ab119a = []byte{
// 2296 bytes of a gzipped FileDescriptorProto
var fileDescriptor_privacy_b04022b2c709b5e6 = []byte{
// 2295 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x19, 0x4b, 0x6f, 0x1c, 0x49,
0xd9, 0x3d, 0xe3, 0xb1, 0x3d, 0x9f, 0xc7, 0xf6, 0xa4, 0x76, 0xec, 0x75, 0x26, 0x51, 0x14, 0x6a,
0x57, 0x21, 0x2c, 0xc8, 0x68, 0x8d, 0xa5, 0x7d, 0x10, 0x94, 0xf5, 0x38, 0x4e, 0x62, 0x79, 0x13,
0x39, 0x3d, 0xe3, 0xb1, 0x3d, 0x9f, 0xc7, 0xf6, 0xa4, 0x76, 0xec, 0x75, 0x26, 0x51, 0x14, 0x6a,
0x57, 0x21, 0x2c, 0xc8, 0x68, 0x83, 0xa5, 0x7d, 0x10, 0x94, 0xf5, 0x38, 0x4e, 0x62, 0x79, 0x13,
0x9b, 0xb2, 0x57, 0x20, 0xb4, 0x48, 0x94, 0x7b, 0xca, 0x76, 0xcb, 0x3d, 0xdd, 0xed, 0xee, 0x1e,
0x7b, 0xe6, 0xb4, 0x9c, 0x10, 0x07, 0x0e, 0x48, 0x20, 0x38, 0x80, 0xb8, 0xc1, 0x99, 0x3f, 0x01,
0x27, 0x4e, 0xfc, 0x01, 0xc4, 0x1f, 0xe0, 0x37, 0xa0, 0x7a, 0x74, 0xd7, 0xc3, 0x3d, 0x76, 0xc2,
0x9a, 0xcb, 0xa8, 0xeb, 0xab, 0xaf, 0xbe, 0xfa, 0xde, 0x8f, 0x1a, 0x58, 0x48, 0xd2, 0xe0, 0x82,
0xfa, 0xe3, 0xb5, 0x24, 0x8d, 0xf3, 0x18, 0x35, 0xf2, 0x71, 0xc2, 0xb2, 0x6e, 0xcb, 0x8f, 0x07,
0x83, 0x38, 0x92, 0xc0, 0xee, 0x9d, 0x3c, 0xa5, 0x51, 0x46, 0xfd, 0x3c, 0x28, 0x40, 0xf8, 0x3f,
0x1e, 0x2c, 0xec, 0xcb, 0x93, 0x9b, 0x02, 0x8e, 0x9e, 0xc2, 0x62, 0x32, 0x3c, 0x0a, 0x03, 0x7f,
0x5d, 0x51, 0x5c, 0xf5, 0x1e, 0x7a, 0x8f, 0xe7, 0xd7, 0x97, 0xd7, 0x04, 0xc9, 0xb5, 0x7d, 0xb9,
0xa9, 0x0e, 0xbd, 0x9c, 0x22, 0x0e, 0x3a, 0xea, 0xc1, 0x92, 0xfa, 0x2c, 0x29, 0xd4, 0x04, 0x85,
0x95, 0x82, 0x82, 0xda, 0xd5, 0x24, 0xdc, 0x03, 0x82, 0x89, 0x02, 0x24, 0xa8, 0xaf, 0xd6, 0x6d,
0x26, 0x0a, 0x12, 0x62, 0x53, 0x30, 0x61, 0xa1, 0xa3, 0x45, 0xa8, 0xe5, 0xe3, 0xd5, 0xe9, 0x87,
0xde, 0xe3, 0x06, 0xa9, 0xe5, 0xe3, 0xde, 0x2c, 0x34, 0x2e, 0x68, 0x38, 0x64, 0xf8, 0x2f, 0x1e,
0x2c, 0xda, 0x22, 0xa0, 0xfb, 0xd0, 0xcc, 0xe3, 0x33, 0x16, 0x45, 0x74, 0xc0, 0x84, 0xb0, 0x4d,
0xa2, 0x01, 0x68, 0x05, 0x66, 0xe8, 0x20, 0x1e, 0x46, 0xb9, 0x90, 0xa2, 0x4e, 0xd4, 0x0a, 0x21,
0x98, 0x8e, 0xe2, 0x9c, 0xad, 0x36, 0xc4, 0x01, 0xf1, 0x8d, 0xbe, 0x03, 0x33, 0xf1, 0x30, 0x4f,
0x86, 0xf9, 0xea, 0xac, 0x60, 0xb7, 0x63, 0xb3, 0xbb, 0x27, 0xf6, 0x88, 0xc2, 0xe1, 0xf7, 0xd2,
0x2c, 0x63, 0xf9, 0xf6, 0x88, 0xf9, 0xab, 0x73, 0xf2, 0xde, 0x12, 0x80, 0xff, 0xe9, 0xc1, 0x92,
0xa3, 0xa9, 0x5b, 0xe4, 0xf4, 0x5b, 0xd0, 0x08, 0x22, 0xce, 0xe8, 0x8c, 0x60, 0xf4, 0x1d, 0x9b,
0xd1, 0x1d, 0xbe, 0x45, 0x24, 0xc6, 0xad, 0x0a, 0xf5, 0x6f, 0xae, 0x7d, 0xcb, 0x76, 0x5f, 0x53,
0xa6, 0xba, 0x21, 0x13, 0xb7, 0x79, 0x2c, 0x04, 0x6a, 0x92, 0x5a, 0x1e, 0x6b, 0x19, 0xa7, 0xdf,
0x42, 0xc6, 0xc6, 0xd7, 0x96, 0x71, 0x1b, 0x96, 0xbe, 0x38, 0xfc, 0xf1, 0xde, 0x8b, 0x30, 0x3e,
0xa2, 0xe1, 0x4e, 0xd4, 0x67, 0x23, 0x2e, 0x45, 0x3e, 0x3a, 0xa5, 0xd9, 0xa9, 0xe0, 0xb7, 0x45,
0xd4, 0x0a, 0x75, 0x61, 0x2e, 0x1e, 0xe6, 0x01, 0xc7, 0x51, 0xbe, 0x5a, 0xae, 0xf1, 0xcf, 0x3d,
0x98, 0xdb, 0x65, 0x92, 0x4d, 0x43, 0x0d, 0x9e, 0xa5, 0x86, 0xcf, 0x60, 0x69, 0x98, 0x8f, 0x62,
0xe3, 0xae, 0xd5, 0xda, 0xc3, 0xba, 0x11, 0x6b, 0x0e, 0x27, 0xc4, 0x45, 0xe7, 0x2c, 0x9c, 0xb1,
0xf1, 0xce, 0x80, 0x9e, 0x30, 0xc5, 0x5c, 0xb9, 0xc6, 0xdf, 0x87, 0x96, 0xa9, 0x2c, 0xf4, 0x6d,
0x81, 0x2b, 0x75, 0xea, 0x89, 0x6b, 0x96, 0xd4, 0x35, 0x05, 0xa3, 0xa4, 0x44, 0xc0, 0x3b, 0xd0,
0x3c, 0x63, 0x4a, 0x73, 0x13, 0xf9, 0x7f, 0x1f, 0x16, 0xe2, 0x88, 0xe5, 0xc1, 0x80, 0x25, 0xc3,
0xa3, 0x33, 0x26, 0x33, 0x45, 0x8b, 0xd8, 0x40, 0xfc, 0xd3, 0x32, 0x47, 0xed, 0x95, 0x06, 0x20,
0xc9, 0xf0, 0x68, 0x97, 0x8d, 0xf3, 0x91, 0xa0, 0xd8, 0x22, 0x1a, 0x80, 0xd6, 0xc4, 0xcd, 0xca,
0x9e, 0x52, 0x1d, 0x6d, 0xc5, 0x67, 0xc9, 0x11, 0xd1, 0x28, 0x38, 0x81, 0xce, 0x8b, 0x34, 0x1e,
0x26, 0x15, 0x56, 0xfb, 0xff, 0x28, 0x1d, 0xff, 0xc1, 0x83, 0x85, 0xcf, 0x63, 0x9f, 0x86, 0x1c,
0x73, 0x27, 0x67, 0x03, 0x7e, 0xd7, 0x29, 0x0b, 0x4e, 0x4e, 0xcb, 0xbb, 0xe4, 0x0a, 0xad, 0xc2,
0x6c, 0x3e, 0x0a, 0xd4, 0x1d, 0xdc, 0x41, 0x8a, 0xa5, 0xe5, 0x3b, 0x75, 0xdb, 0x77, 0x0c, 0x7f,
0x9b, 0xb6, 0xfc, 0xed, 0x8a, 0xba, 0x1b, 0x55, 0xea, 0xfe, 0x0a, 0x16, 0x09, 0x3b, 0xe7, 0xac,
0x7b, 0xe6, 0xb4, 0x9c, 0x38, 0x71, 0x40, 0x62, 0x05, 0x07, 0x10, 0x37, 0x38, 0xf3, 0x27, 0xe0,
0xc4, 0x89, 0x3f, 0x80, 0xf8, 0x03, 0xfc, 0x06, 0x54, 0x8f, 0xee, 0x7a, 0x4c, 0x8f, 0x9d, 0xb0,
0xe6, 0x32, 0xea, 0xfa, 0xea, 0xab, 0xaf, 0xbe, 0xf7, 0xa3, 0x06, 0x16, 0x93, 0x34, 0xb8, 0xa0,
0xfe, 0x78, 0x3d, 0x49, 0xe3, 0x3c, 0x46, 0x8d, 0x7c, 0x9c, 0xb0, 0xac, 0xdb, 0xf2, 0xe3, 0xc1,
0x20, 0x8e, 0x24, 0xb0, 0x7b, 0x3b, 0x4f, 0x69, 0x94, 0x51, 0x3f, 0x0f, 0x0a, 0x10, 0xfe, 0x8f,
0x07, 0x8b, 0xfb, 0xf2, 0xe4, 0xa6, 0x80, 0xa3, 0xa7, 0xb0, 0x94, 0x0c, 0x8f, 0xc2, 0xc0, 0x7f,
0xac, 0x28, 0xae, 0x79, 0x0f, 0xbc, 0x47, 0x0b, 0x8f, 0x57, 0xd6, 0x05, 0xc9, 0xf5, 0x7d, 0xb9,
0xa9, 0x0e, 0xbd, 0xbc, 0x45, 0x1c, 0x74, 0xd4, 0x83, 0x65, 0xf5, 0x59, 0x52, 0xa8, 0x09, 0x0a,
0xab, 0x05, 0x05, 0xb5, 0xab, 0x49, 0xb8, 0x07, 0x04, 0x13, 0x05, 0x48, 0x50, 0x5f, 0xab, 0xdb,
0x4c, 0x14, 0x24, 0xc4, 0xa6, 0x60, 0xc2, 0x42, 0x47, 0x4b, 0x50, 0xcb, 0xc7, 0x6b, 0x33, 0x0f,
0xbc, 0x47, 0x0d, 0x52, 0xcb, 0xc7, 0xbd, 0x39, 0x68, 0x5c, 0xd0, 0x70, 0xc8, 0xf0, 0x5f, 0x3c,
0x58, 0xb2, 0x45, 0x40, 0xf7, 0xa0, 0x99, 0xc7, 0x67, 0x2c, 0x8a, 0xe8, 0x80, 0x09, 0x61, 0x9b,
0x44, 0x03, 0xd0, 0x2a, 0xcc, 0xd2, 0x41, 0x3c, 0x8c, 0x72, 0x21, 0x45, 0x9d, 0xa8, 0x15, 0x42,
0x30, 0x13, 0xc5, 0x39, 0x5b, 0x6b, 0x88, 0x03, 0xe2, 0x1b, 0x7d, 0x0f, 0x66, 0xe3, 0x61, 0x9e,
0x0c, 0xf3, 0xb5, 0x39, 0xc1, 0x6e, 0xc7, 0x66, 0x77, 0x4f, 0xec, 0x11, 0x85, 0xc3, 0xef, 0xa5,
0x59, 0xc6, 0xf2, 0xed, 0x11, 0xf3, 0xd7, 0xe6, 0xe5, 0xbd, 0x25, 0x00, 0xff, 0xd3, 0x83, 0x65,
0x47, 0x53, 0x37, 0xc8, 0xe9, 0x77, 0xa0, 0x11, 0x44, 0x9c, 0xd1, 0x59, 0xc1, 0xe8, 0x3b, 0x36,
0xa3, 0x3b, 0x7c, 0x8b, 0x48, 0x8c, 0x1b, 0x15, 0xea, 0xdf, 0x5c, 0xfb, 0x96, 0xed, 0xbe, 0xa1,
0x4c, 0x75, 0x43, 0x26, 0x6e, 0xf3, 0x58, 0x08, 0xd4, 0x24, 0xb5, 0x3c, 0xd6, 0x32, 0xce, 0xbc,
0x85, 0x8c, 0x8d, 0x6f, 0x2c, 0xe3, 0x36, 0x2c, 0x7f, 0x71, 0xf8, 0xd3, 0xbd, 0x17, 0x61, 0x7c,
0x44, 0xc3, 0x9d, 0xa8, 0xcf, 0x46, 0x5c, 0x8a, 0x7c, 0x74, 0x4a, 0xb3, 0x53, 0xc1, 0x6f, 0x8b,
0xa8, 0x15, 0xea, 0xc2, 0x7c, 0x3c, 0xcc, 0x03, 0x8e, 0xa3, 0x7c, 0xb5, 0x5c, 0xe3, 0x5f, 0x7a,
0x30, 0xbf, 0xcb, 0x24, 0x9b, 0x86, 0x1a, 0x3c, 0x4b, 0x0d, 0x9f, 0xc1, 0xf2, 0x30, 0x1f, 0xc5,
0xc6, 0x5d, 0x6b, 0xb5, 0x07, 0x75, 0x23, 0xd6, 0x1c, 0x4e, 0x88, 0x8b, 0xce, 0x59, 0x38, 0x63,
0xe3, 0x9d, 0x01, 0x3d, 0x61, 0x8a, 0xb9, 0x72, 0x8d, 0x7f, 0x08, 0x2d, 0x53, 0x59, 0xe8, 0xbb,
0x02, 0x57, 0xea, 0xd4, 0x13, 0xd7, 0x2c, 0xab, 0x6b, 0x0a, 0x46, 0x49, 0x89, 0x80, 0x77, 0xa0,
0x79, 0xc6, 0x94, 0xe6, 0xa6, 0xf2, 0xff, 0x3e, 0x2c, 0xc6, 0x11, 0xcb, 0x83, 0x01, 0x4b, 0x86,
0x47, 0x67, 0x4c, 0x66, 0x8a, 0x16, 0xb1, 0x81, 0xf8, 0xe7, 0x65, 0x8e, 0xda, 0x2b, 0x0d, 0x40,
0x92, 0xe1, 0xd1, 0x2e, 0x1b, 0xe7, 0x23, 0x41, 0xb1, 0x45, 0x34, 0x00, 0xad, 0x8b, 0x9b, 0x95,
0x3d, 0xa5, 0x3a, 0xda, 0x8a, 0xcf, 0x92, 0x23, 0xa2, 0x51, 0x70, 0x02, 0x9d, 0x17, 0x69, 0x3c,
0x4c, 0x2a, 0xac, 0xf6, 0xff, 0x51, 0x3a, 0xfe, 0x83, 0x07, 0x8b, 0x9f, 0xc7, 0x3e, 0x0d, 0x39,
0xe6, 0x4e, 0xce, 0x06, 0xfc, 0xae, 0x53, 0x16, 0x9c, 0x9c, 0x96, 0x77, 0xc9, 0x15, 0x5a, 0x83,
0xb9, 0x7c, 0x14, 0xa8, 0x3b, 0xb8, 0x83, 0x14, 0x4b, 0xcb, 0x77, 0xea, 0xb6, 0xef, 0x18, 0xfe,
0x36, 0x63, 0xf9, 0xdb, 0x84, 0xba, 0x1b, 0x55, 0xea, 0xfe, 0x0a, 0x96, 0x08, 0x3b, 0xe7, 0xac,
0xed, 0x0b, 0x95, 0x66, 0x65, 0x8c, 0xbe, 0x76, 0x63, 0x94, 0x03, 0xd0, 0x1e, 0x74, 0x4e, 0x2a,
0xf4, 0xa7, 0x94, 0x72, 0x4f, 0x29, 0xa5, 0x4a, 0xc5, 0xa4, 0xf2, 0x20, 0x7e, 0x0f, 0x16, 0x64,
0xf4, 0xa7, 0x94, 0x72, 0x57, 0x29, 0xa5, 0x4a, 0xc5, 0xa4, 0xf2, 0x20, 0x7e, 0x0f, 0x16, 0x65,
0x72, 0xd8, 0x65, 0xe3, 0x67, 0x34, 0xa7, 0x3c, 0xda, 0xfb, 0x34, 0xa7, 0xc2, 0xe9, 0x5a, 0x44,
0x7c, 0xe3, 0x4d, 0x58, 0x2a, 0x49, 0x4a, 0x3e, 0x27, 0x1a, 0x6c, 0x05, 0x66, 0x4a, 0xf7, 0xe2,
0x7c, 0xe3, 0x4d, 0x58, 0x2e, 0x49, 0x4a, 0x3e, 0xa7, 0x1a, 0x6c, 0x15, 0x66, 0x4b, 0xf7, 0xe2,
0x04, 0xd4, 0x0a, 0x1f, 0x72, 0x41, 0x33, 0x53, 0xd0, 0x1e, 0xb4, 0x4f, 0x6c, 0xa2, 0x99, 0xf2,
0xf4, 0x15, 0x57, 0x0c, 0xb9, 0x4d, 0xae, 0xe0, 0xe3, 0xa7, 0xb0, 0x44, 0xd8, 0xb9, 0x72, 0xd8,
0x43, 0xae, 0x25, 0xd4, 0x81, 0x86, 0x50, 0x97, 0xd2, 0x9d, 0x5c, 0x4c, 0xca, 0x6d, 0xf8, 0x09,
0xb4, 0x36, 0xc5, 0xd7, 0x33, 0x96, 0xd3, 0x20, 0x9c, 0x28, 0x56, 0x07, 0x1a, 0xbe, 0x71, 0x5c,
0x2e, 0xf0, 0x6b, 0x78, 0x87, 0xb0, 0x24, 0x1c, 0x17, 0x55, 0x5d, 0xe0, 0x66, 0xe8, 0x23, 0x68,
0x51, 0x83, 0xa8, 0x92, 0xaa, 0xc8, 0x89, 0xe6, 0x7d, 0xc4, 0x42, 0xc4, 0x04, 0x50, 0xca, 0xe9,
0x71, 0x11, 0xb3, 0xbd, 0x63, 0x89, 0x89, 0x9e, 0xc0, 0x62, 0x68, 0x3a, 0x70, 0xa1, 0xa6, 0x22,
0x71, 0x5a, 0xde, 0x4d, 0x1c, 0x5c, 0xfc, 0x25, 0x74, 0x08, 0xf3, 0x59, 0x90, 0xe4, 0x76, 0x5c,
0x57, 0xeb, 0xe9, 0x6d, 0xe3, 0xf9, 0xd7, 0x1e, 0x2c, 0x28, 0xb1, 0xf7, 0x8e, 0xf9, 0xa5, 0x68,
0x13, 0x9a, 0x52, 0xa6, 0x57, 0x34, 0x51, 0x8c, 0xbe, 0x67, 0x49, 0xae, 0x10, 0xd5, 0xea, 0x15,
0x4d, 0xb6, 0xa3, 0x3c, 0x1d, 0x13, 0x7d, 0xaa, 0xfb, 0x04, 0x16, 0xed, 0x4d, 0xd4, 0x86, 0x3a,
0x77, 0x29, 0x69, 0x13, 0xfe, 0xc9, 0xd9, 0x17, 0x4d, 0x46, 0x61, 0x10, 0xb1, 0xf8, 0xb4, 0xf6,
0xb1, 0x87, 0x7f, 0xe7, 0x41, 0xfb, 0xb0, 0x08, 0x98, 0x82, 0xab, 0x67, 0x2a, 0xaa, 0x32, 0xcd,
0xd5, 0x23, 0xc5, 0x95, 0x8b, 0x2b, 0x01, 0x99, 0x66, 0xac, 0x3c, 0xc8, 0x19, 0xb3, 0x37, 0x4d,
0xc6, 0x9a, 0x15, 0x8c, 0x35, 0x4d, 0xc6, 0x76, 0x61, 0xd9, 0x89, 0xbe, 0x8d, 0xfd, 0x34, 0x90,
0x31, 0xa3, 0x52, 0x88, 0xa4, 0x53, 0x55, 0xb2, 0x6a, 0x4e, 0xc9, 0xfa, 0x95, 0x07, 0x8b, 0x45,
0x25, 0xd0, 0x64, 0x2a, 0x7d, 0xf7, 0xf9, 0xa4, 0x1c, 0x7a, 0xbf, 0x3a, 0x87, 0x4a, 0x72, 0x37,
0x97, 0xaf, 0xa6, 0x51, 0xbe, 0xf6, 0x60, 0xa9, 0xf4, 0x8f, 0x1b, 0xd8, 0xa9, 0xac, 0x43, 0x4d,
0x37, 0x31, 0xbe, 0x00, 0x64, 0xd6, 0x43, 0x45, 0xf3, 0xc3, 0x2b, 0x55, 0x71, 0xd9, 0xa9, 0x8a,
0x8a, 0x79, 0x5d, 0x1b, 0x03, 0x78, 0xc7, 0x72, 0x7c, 0x45, 0xe9, 0x4a, 0x59, 0x6b, 0x9a, 0x65,
0x6d, 0xe3, 0x6a, 0x18, 0xac, 0xb8, 0x61, 0xa0, 0x6e, 0x32, 0x82, 0xe1, 0xb7, 0x1e, 0x74, 0xec,
0x7e, 0x57, 0x5f, 0x76, 0x4b, 0xbd, 0xe4, 0xba, 0xd3, 0x20, 0x76, 0xab, 0x9a, 0x27, 0xc5, 0x99,
0xc2, 0xc4, 0x7f, 0xf7, 0x60, 0xd9, 0xe9, 0x6e, 0x6f, 0x9d, 0xaf, 0xef, 0xda, 0x3d, 0xee, 0xdd,
0x8a, 0xfe, 0x4f, 0x71, 0xa5, 0xba, 0xc0, 0xff, 0x45, 0x90, 0xbf, 0x71, 0xfd, 0x5a, 0x1d, 0xed,
0xad, 0xc8, 0x51, 0xaf, 0x92, 0x63, 0xfa, 0xad, 0xe5, 0x68, 0xbc, 0xb1, 0x1c, 0xbf, 0xa8, 0x95,
0x3e, 0x29, 0x07, 0x41, 0x25, 0xc6, 0xf6, 0x84, 0x71, 0xf0, 0x5e, 0xe5, 0x38, 0x28, 0x0f, 0x55,
0x0c, 0x85, 0x2f, 0x27, 0x0d, 0x85, 0xf7, 0xab, 0x87, 0xc2, 0x92, 0xd0, 0x95, 0xd1, 0x70, 0x7b,
0xc2, 0x68, 0x78, 0xaf, 0x72, 0x34, 0x34, 0x18, 0x7a, 0xc3, 0x01, 0xf1, 0x4b, 0x40, 0x66, 0xfd,
0xdc, 0x3f, 0xdb, 0xa7, 0x41, 0x8a, 0x1e, 0xc1, 0x62, 0x76, 0x1a, 0x5f, 0x1e, 0x0c, 0x7d, 0x9f,
0x65, 0xd9, 0xf1, 0x30, 0x14, 0x6a, 0x98, 0x23, 0x0e, 0x14, 0x3d, 0x00, 0x90, 0xc9, 0x22, 0xa1,
0x41, 0x2a, 0xc8, 0x37, 0x89, 0x01, 0xc1, 0x9f, 0xf1, 0xca, 0x27, 0x9a, 0x83, 0x1e, 0x0d, 0x37,
0x36, 0xfb, 0xfd, 0x54, 0x76, 0x08, 0x08, 0xa6, 0x69, 0xbf, 0x9f, 0x2a, 0x47, 0x11, 0xdf, 0xba,
0x1a, 0xd6, 0x8c, 0x6a, 0x88, 0x7f, 0x68, 0xd7, 0xf7, 0x1e, 0x0d, 0x69, 0xe4, 0x33, 0xf4, 0x10,
0xe6, 0x55, 0xb2, 0x32, 0xe8, 0x98, 0x20, 0xde, 0x4a, 0x1e, 0x49, 0x64, 0xe5, 0x73, 0xc5, 0x12,
0xff, 0xb5, 0x56, 0x4e, 0x65, 0xcf, 0x7a, 0x07, 0x79, 0x9c, 0x32, 0x27, 0xfd, 0xeb, 0x0e, 0xd2,
0xf2, 0xea, 0xda, 0x64, 0xaf, 0xae, 0x5b, 0x5e, 0x2d, 0x8b, 0xc6, 0x8e, 0x33, 0xe7, 0xc8, 0x0c,
0x8e, 0xa1, 0x95, 0x8f, 0xca, 0x76, 0x8f, 0xa8, 0x96, 0xd4, 0x82, 0xa1, 0x0f, 0xa0, 0xad, 0x24,
0x29, 0x81, 0x22, 0xa8, 0x5b, 0xe4, 0x0a, 0x9c, 0x6b, 0x2d, 0xbe, 0x8c, 0x58, 0x2a, 0x62, 0xb8,
0x49, 0xe4, 0xc2, 0xe8, 0xaf, 0xe7, 0x26, 0xf5, 0xd7, 0x4d, 0xbb, 0xbf, 0xbe, 0x0f, 0xcd, 0xa3,
0x30, 0xf6, 0xcf, 0x84, 0x12, 0x40, 0xce, 0x18, 0x25, 0x00, 0xbf, 0x86, 0x69, 0x51, 0xc3, 0x27,
0x15, 0x94, 0x35, 0x68, 0xf2, 0x52, 0xd5, 0xa3, 0x59, 0xe0, 0x2b, 0x4f, 0x6f, 0x1b, 0x95, 0x4d,
0xc0, 0x89, 0x46, 0xc1, 0x09, 0x2c, 0x72, 0xf8, 0x4b, 0x7a, 0xc1, 0x0e, 0x47, 0x2f, 0xb9, 0xa6,
0xaf, 0x69, 0x66, 0x73, 0x81, 0xa1, 0xd4, 0xaf, 0x56, 0xf6, 0x8d, 0xf5, 0x9b, 0x6f, 0xfc, 0x00,
0x1a, 0xa2, 0xa5, 0x43, 0xdf, 0x80, 0x06, 0x87, 0x16, 0x1d, 0xdc, 0xbc, 0x71, 0x88, 0xc8, 0x1d,
0x4c, 0xe4, 0x48, 0xab, 0xb9, 0xcb, 0xd0, 0x53, 0x59, 0xc0, 0x0d, 0x90, 0x53, 0xfc, 0xec, 0x03,
0xc4, 0xc5, 0xc6, 0xc7, 0x3c, 0xce, 0xce, 0xdd, 0x99, 0xeb, 0xfa, 0xac, 0xd9, 0x85, 0xb9, 0x41,
0x30, 0xda, 0x2a, 0xf3, 0x66, 0x83, 0x94, 0x6b, 0xcb, 0xf7, 0xea, 0x46, 0x37, 0x9d, 0x41, 0xb3,
0x94, 0xbf, 0x6a, 0x74, 0xf3, 0xac, 0xb7, 0xa9, 0x1b, 0xe7, 0x65, 0xdd, 0x29, 0xec, 0x57, 0x4d,
0xac, 0x12, 0x88, 0x09, 0xb4, 0x45, 0xb7, 0x2b, 0x5a, 0x97, 0xcd, 0x81, 0xc3, 0xa0, 0x6d, 0xd0,
0x47, 0x85, 0xfe, 0xed, 0xd6, 0x56, 0x1b, 0x4d, 0x19, 0xe1, 0x37, 0x1e, 0xd7, 0x58, 0x76, 0x7b,
0x1a, 0xdb, 0x82, 0x36, 0xa7, 0x6c, 0x32, 0x29, 0x74, 0x37, 0xbf, 0xfe, 0xae, 0xc1, 0x83, 0xb9,
0x4d, 0xae, 0x1c, 0xc0, 0x7f, 0xf4, 0xe0, 0xce, 0x73, 0xee, 0x47, 0x07, 0xfc, 0x67, 0x27, 0xda,
0x8b, 0xd8, 0xe1, 0xe8, 0xe6, 0xe2, 0x97, 0xb1, 0xa8, 0xcf, 0xd2, 0xc2, 0x85, 0xe5, 0x8a, 0xc3,
0xd9, 0x28, 0x09, 0x52, 0x56, 0xa4, 0x0f, 0xb9, 0x72, 0xc6, 0x59, 0xdd, 0x8b, 0x96, 0x9e, 0xdb,
0x98, 0xe8, 0xb9, 0x3f, 0x81, 0x16, 0x61, 0x34, 0x2c, 0x1f, 0x52, 0x30, 0xb4, 0x52, 0x46, 0x43,
0x51, 0x27, 0x8b, 0x26, 0xb9, 0x41, 0x2c, 0x18, 0xcf, 0xf5, 0x45, 0xdf, 0x97, 0x06, 0x17, 0xda,
0xc6, 0x0e, 0x14, 0x6f, 0x00, 0x94, 0x46, 0xca, 0xb4, 0x19, 0xbd, 0xeb, 0xcd, 0xf8, 0x8f, 0x1a,
0xac, 0x6c, 0xa5, 0x8c, 0xe6, 0xec, 0x50, 0xbf, 0xc6, 0x6e, 0x51, 0xff, 0x94, 0x99, 0x8d, 0x7b,
0x4b, 0x36, 0xee, 0x0f, 0x00, 0x7c, 0x81, 0xcb, 0xef, 0x55, 0x69, 0xdb, 0x80, 0x70, 0xf3, 0x66,
0xc1, 0x49, 0x24, 0x76, 0xa5, 0xce, 0xca, 0xb5, 0xd0, 0x72, 0x4e, 0xf3, 0x61, 0xa6, 0x52, 0xae,
0x5a, 0xa1, 0x0d, 0x98, 0x37, 0xde, 0x81, 0x55, 0x8b, 0x80, 0x8a, 0xc1, 0x43, 0xef, 0x10, 0x13,
0xcd, 0xb0, 0xd9, 0x8c, 0x65, 0xb3, 0x8f, 0xa4, 0x42, 0xcb, 0x0e, 0x78, 0xd6, 0x9a, 0x2b, 0x4d,
0xdd, 0x13, 0x0b, 0x11, 0x7d, 0xb3, 0xd0, 0xd7, 0x9c, 0x38, 0x71, 0xc7, 0xd5, 0x57, 0xa6, 0x14,
0x66, 0xfb, 0x52, 0xd3, 0xf1, 0x25, 0xdc, 0x13, 0x8f, 0x15, 0x42, 0x7f, 0x87, 0xa3, 0xcf, 0x83,
0x2c, 0xaf, 0x2c, 0xa5, 0xd7, 0x96, 0x2d, 0xfc, 0x31, 0xb4, 0x45, 0x49, 0x35, 0xa9, 0xbc, 0x0f,
0xf5, 0x7c, 0x54, 0x18, 0xb3, 0x4a, 0x3b, 0x7c, 0x1b, 0x6f, 0xc3, 0x1d, 0x3d, 0xeb, 0x6f, 0xfa,
0x62, 0x02, 0xbf, 0xc1, 0xf9, 0x0b, 0xf6, 0x6a, 0x9a, 0x3d, 0xfc, 0x33, 0x91, 0x0b, 0xf7, 0x1d,
0x3a, 0x6f, 0xdc, 0x13, 0xf0, 0xe2, 0xdf, 0x0f, 0xb2, 0x24, 0xa4, 0xe3, 0x41, 0xdc, 0x67, 0xea,
0x39, 0xc8, 0x04, 0xe1, 0xaf, 0x9c, 0x57, 0x01, 0x75, 0x05, 0xd6, 0x4e, 0xcb, 0xbd, 0xa0, 0x65,
0x18, 0xa1, 0xd4, 0x3f, 0x86, 0xc6, 0xb1, 0xca, 0x4f, 0x15, 0x38, 0x62, 0xeb, 0x0d, 0x18, 0x78,
0xc5, 0x19, 0x38, 0x97, 0x8e, 0xaf, 0xf4, 0xcc, 0xab, 0xf5, 0xf5, 0xba, 0x5a, 0x85, 0x59, 0x1e,
0xe8, 0x3a, 0x04, 0x8b, 0x25, 0xfe, 0x97, 0x07, 0x77, 0x8d, 0x57, 0x16, 0x6d, 0x17, 0x61, 0xbc,
0xeb, 0xa9, 0x62, 0x68, 0x71, 0xe7, 0x25, 0xcc, 0xbf, 0x78, 0x1e, 0xd2, 0x13, 0x95, 0x17, 0x2d,
0x18, 0xa7, 0xd0, 0x0f, 0x52, 0x26, 0x43, 0x44, 0x8a, 0xa3, 0x01, 0xfa, 0xe5, 0x45, 0x46, 0x56,
0xa3, 0xb4, 0xd7, 0x71, 0x1a, 0x0f, 0x8a, 0x19, 0x84, 0x7f, 0x73, 0x09, 0xb8, 0xdd, 0x58, 0x96,
0xa9, 0xb8, 0x29, 0x96, 0x3c, 0xb4, 0x33, 0xc6, 0xfa, 0x2a, 0xb1, 0xcd, 0x0a, 0xf1, 0x0c, 0x08,
0xfe, 0x54, 0x38, 0x36, 0x61, 0x99, 0x4f, 0xa3, 0x2f, 0x84, 0x92, 0x3b, 0xd0, 0xe0, 0x87, 0xa5,
0x53, 0x36, 0x89, 0x5c, 0x88, 0x5b, 0xb5, 0x14, 0xe2, 0x1b, 0x7f, 0x02, 0x4b, 0x84, 0x25, 0xf2,
0x2c, 0x61, 0xd9, 0x30, 0xac, 0x76, 0xa6, 0xaa, 0xa3, 0xa7, 0xfc, 0xda, 0xc4, 0xbc, 0xb6, 0xc0,
0xf2, 0x34, 0x16, 0xea, 0x41, 0x3b, 0xb5, 0x2f, 0xc8, 0x9c, 0x91, 0xd4, 0xb9, 0x9f, 0x5c, 0xc1,
0xc7, 0x8f, 0x79, 0xd4, 0x9d, 0x6f, 0x47, 0xf4, 0x28, 0x64, 0xc5, 0x1f, 0x1c, 0xa5, 0x88, 0x35,
0x43, 0x44, 0xbc, 0x23, 0xde, 0x7f, 0x79, 0xb3, 0x7c, 0xbd, 0x30, 0x3b, 0xd9, 0xde, 0xae, 0x10,
0x66, 0x8e, 0x88, 0x6f, 0x9e, 0x50, 0x07, 0xd9, 0x89, 0x1a, 0xa6, 0xf8, 0x27, 0xee, 0x89, 0x50,
0xb7, 0x2f, 0x5d, 0x83, 0xd9, 0x54, 0xc9, 0x60, 0x3f, 0x62, 0x59, 0x97, 0x92, 0x02, 0x09, 0xff,
0x59, 0xcf, 0xae, 0x07, 0xc1, 0x49, 0x44, 0xf3, 0x61, 0xca, 0xf6, 0x69, 0x4a, 0x07, 0xdc, 0xa6,
0xd2, 0x0b, 0x0f, 0xc7, 0x09, 0x53, 0x0a, 0x33, 0x20, 0xe8, 0x43, 0x00, 0x1e, 0x53, 0x47, 0x22,
0xbf, 0x29, 0x85, 0x55, 0x24, 0x3e, 0x03, 0x09, 0x7d, 0x02, 0x0b, 0xa9, 0x91, 0x44, 0x33, 0x55,
0xa1, 0x2b, 0x13, 0xac, 0x8d, 0x89, 0xff, 0xe4, 0x41, 0xe7, 0x47, 0x34, 0x0c, 0x59, 0xae, 0xc2,
0xbd, 0x10, 0xf8, 0x01, 0xc0, 0x45, 0xc0, 0x2e, 0x55, 0x03, 0x23, 0xcb, 0x8d, 0x01, 0xe1, 0xd1,
0x2c, 0x56, 0x69, 0x70, 0xb1, 0x5b, 0x86, 0x9e, 0x09, 0xe2, 0x18, 0x59, 0xc2, 0xa2, 0xbe, 0x22,
0x21, 0xff, 0x38, 0x30, 0x41, 0x22, 0xc8, 0xc4, 0x52, 0x11, 0x91, 0x0f, 0xd1, 0x16, 0x0c, 0xff,
0xb2, 0x26, 0xf2, 0x9e, 0x4c, 0x0a, 0x45, 0x28, 0x8f, 0x6e, 0xce, 0x9f, 0x5c, 0xf4, 0xc2, 0x69,
0xf9, 0xf7, 0xc4, 0xb9, 0xa3, 0x98, 0xa6, 0xa7, 0x8d, 0x69, 0xba, 0x2a, 0x4a, 0xdd, 0x7f, 0x8e,
0xec, 0x29, 0x0e, 0xdc, 0x29, 0x4e, 0x75, 0x55, 0x32, 0x05, 0xcc, 0x97, 0x5d, 0x95, 0x5f, 0xb4,
0x79, 0xaa, 0x89, 0x69, 0x59, 0x4d, 0x8c, 0xf5, 0xa7, 0xd1, 0x82, 0xf3, 0xa7, 0xd1, 0xfa, 0xef,
0x6b, 0x30, 0x6b, 0xfc, 0xf9, 0x79, 0x70, 0x1a, 0x5f, 0x2a, 0x85, 0x70, 0x75, 0xb7, 0x4b, 0x6b,
0x9f, 0x1f, 0xe4, 0x69, 0x10, 0x9d, 0x74, 0xef, 0xea, 0x30, 0x73, 0x46, 0x55, 0x3c, 0x85, 0x7e,
0x00, 0xf3, 0x66, 0x00, 0x2f, 0xeb, 0xd3, 0x06, 0xb8, 0xbb, 0xec, 0x46, 0xaa, 0x00, 0xe3, 0x29,
0xb4, 0x05, 0x0b, 0x76, 0x80, 0xbc, 0xab, 0x09, 0x58, 0x1b, 0x5d, 0xbd, 0x61, 0x87, 0x14, 0x9e,
0x42, 0x2f, 0xa0, 0x23, 0xed, 0x4a, 0xe8, 0xa5, 0x91, 0x9e, 0x91, 0x66, 0xdc, 0xb5, 0x7b, 0xb7,
0xa2, 0xca, 0xe2, 0xa9, 0xa3, 0x19, 0xf1, 0x47, 0xf5, 0xf7, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff,
0xdd, 0x53, 0x2b, 0xff, 0xe1, 0x1e, 0x00, 0x00,
0xf4, 0x55, 0x57, 0x0c, 0xb9, 0x4d, 0x26, 0xf0, 0xf1, 0x53, 0x58, 0x26, 0xec, 0x5c, 0x39, 0xec,
0x21, 0xd7, 0x12, 0xea, 0x40, 0x43, 0xa8, 0x4b, 0xe9, 0x4e, 0x2e, 0xa6, 0xe5, 0x36, 0xfc, 0x04,
0x5a, 0x9b, 0xe2, 0xeb, 0x19, 0xcb, 0x69, 0x10, 0x4e, 0x15, 0xab, 0x03, 0x0d, 0xdf, 0x38, 0x2e,
0x17, 0xf8, 0x35, 0xbc, 0x43, 0x58, 0x12, 0x8e, 0x8b, 0xaa, 0x2e, 0x70, 0x33, 0xf4, 0x11, 0xb4,
0xa8, 0x41, 0x54, 0x49, 0x55, 0xe4, 0x44, 0xf3, 0x3e, 0x62, 0x21, 0x62, 0x02, 0x28, 0xe5, 0xf4,
0xb8, 0x88, 0xd9, 0xde, 0xb1, 0xc4, 0x44, 0x4f, 0x60, 0x29, 0x34, 0x1d, 0xb8, 0x50, 0x53, 0x91,
0x38, 0x2d, 0xef, 0x26, 0x0e, 0x2e, 0xfe, 0x12, 0x3a, 0x84, 0xf9, 0x2c, 0x48, 0x72, 0x3b, 0xae,
0xab, 0xf5, 0xf4, 0xb6, 0xf1, 0xfc, 0x1b, 0x0f, 0x16, 0x95, 0xd8, 0x7b, 0xc7, 0xfc, 0x52, 0xb4,
0x09, 0x4d, 0x29, 0xd3, 0x2b, 0x9a, 0x28, 0x46, 0xdf, 0xb3, 0x24, 0x57, 0x88, 0x6a, 0xf5, 0x8a,
0x26, 0xdb, 0x51, 0x9e, 0x8e, 0x89, 0x3e, 0xd5, 0x7d, 0x02, 0x4b, 0xf6, 0x26, 0x6a, 0x43, 0x9d,
0xbb, 0x94, 0xb4, 0x09, 0xff, 0xe4, 0xec, 0x8b, 0x26, 0xa3, 0x30, 0x88, 0x58, 0x7c, 0x5a, 0xfb,
0xd8, 0xc3, 0xbf, 0xf3, 0xa0, 0x7d, 0x58, 0x04, 0x4c, 0xc1, 0xd5, 0x33, 0x15, 0x55, 0x99, 0xe6,
0xea, 0xa1, 0xe2, 0xca, 0xc5, 0x95, 0x80, 0x4c, 0x33, 0x56, 0x1e, 0xe4, 0x8c, 0xd9, 0x9b, 0x26,
0x63, 0xcd, 0x0a, 0xc6, 0x9a, 0x26, 0x63, 0xbb, 0xb0, 0xe2, 0x44, 0xdf, 0xc6, 0x7e, 0x1a, 0xc8,
0x98, 0x51, 0x29, 0x44, 0xd2, 0xa9, 0x2a, 0x59, 0x35, 0xa7, 0x64, 0xfd, 0xda, 0x83, 0xa5, 0xa2,
0x12, 0x68, 0x32, 0x95, 0xbe, 0xfb, 0x7c, 0x5a, 0x0e, 0xbd, 0x57, 0x9d, 0x43, 0x25, 0xb9, 0xeb,
0xcb, 0x57, 0xd3, 0x28, 0x5f, 0x7b, 0xb0, 0x5c, 0xfa, 0xc7, 0x35, 0xec, 0x54, 0xd6, 0xa1, 0xa6,
0x9b, 0x18, 0x5f, 0x00, 0x32, 0xeb, 0xa1, 0xa2, 0xf9, 0xe1, 0x44, 0x55, 0x5c, 0x71, 0xaa, 0xa2,
0x62, 0x5e, 0xd7, 0xc6, 0x00, 0xde, 0xb1, 0x1c, 0x5f, 0x51, 0x9a, 0x28, 0x6b, 0x4d, 0xb3, 0xac,
0x6d, 0x4c, 0x86, 0xc1, 0xaa, 0x1b, 0x06, 0xea, 0x26, 0x23, 0x18, 0xbe, 0xf6, 0xa0, 0x63, 0xf7,
0xbb, 0xfa, 0xb2, 0x1b, 0xea, 0x25, 0x1f, 0x3b, 0x0d, 0x62, 0xb7, 0xaa, 0x79, 0x52, 0x9c, 0x29,
0x4c, 0xfc, 0x77, 0x0f, 0x56, 0x9c, 0xee, 0xf6, 0xc6, 0xf9, 0xfa, 0xbe, 0xdd, 0xe3, 0xde, 0xa9,
0xe8, 0xff, 0x14, 0x57, 0xaa, 0x0b, 0xfc, 0x5f, 0x04, 0xf9, 0x1b, 0xd7, 0xaf, 0xd5, 0xd1, 0xde,
0x88, 0x1c, 0xf5, 0x2a, 0x39, 0x66, 0xde, 0x5a, 0x8e, 0xc6, 0x1b, 0xcb, 0xf1, 0xab, 0x5a, 0xe9,
0x93, 0x72, 0x10, 0x54, 0x62, 0x6c, 0x4f, 0x19, 0x07, 0xef, 0x56, 0x8e, 0x83, 0xf2, 0x50, 0xc5,
0x50, 0xf8, 0x72, 0xda, 0x50, 0x78, 0xaf, 0x7a, 0x28, 0x2c, 0x09, 0x4d, 0x8c, 0x86, 0xdb, 0x53,
0x46, 0xc3, 0xbb, 0x95, 0xa3, 0xa1, 0xc1, 0xd0, 0x1b, 0x0e, 0x88, 0x5f, 0x02, 0x32, 0xeb, 0xe7,
0xfe, 0xd9, 0x3e, 0x0d, 0x52, 0xf4, 0x10, 0x96, 0xb2, 0xd3, 0xf8, 0xf2, 0x60, 0xe8, 0xfb, 0x2c,
0xcb, 0x8e, 0x87, 0xa1, 0x50, 0xc3, 0x3c, 0x71, 0xa0, 0xe8, 0x3e, 0x80, 0x4c, 0x16, 0x09, 0x0d,
0x52, 0x41, 0xbe, 0x49, 0x0c, 0x08, 0xfe, 0x8c, 0x57, 0x3e, 0xd1, 0x1c, 0xf4, 0x68, 0xb8, 0xb1,
0xd9, 0xef, 0xa7, 0xb2, 0x43, 0x40, 0x30, 0x43, 0xfb, 0xfd, 0x54, 0x39, 0x8a, 0xf8, 0xd6, 0xd5,
0xb0, 0x66, 0x54, 0x43, 0xfc, 0x63, 0xbb, 0xbe, 0xf7, 0x68, 0x48, 0x23, 0x9f, 0xa1, 0x07, 0xb0,
0xa0, 0x92, 0x95, 0x41, 0xc7, 0x04, 0xf1, 0x56, 0xf2, 0x48, 0x22, 0x2b, 0x9f, 0x2b, 0x96, 0xf8,
0xaf, 0xb5, 0x72, 0x2a, 0x7b, 0xd6, 0x3b, 0xc8, 0xe3, 0x94, 0x39, 0xe9, 0x5f, 0x77, 0x90, 0x96,
0x57, 0xd7, 0xa6, 0x7b, 0x75, 0xdd, 0xf2, 0x6a, 0x59, 0x34, 0x76, 0x9c, 0x39, 0x47, 0x66, 0x70,
0x0c, 0xad, 0x7c, 0x54, 0xb6, 0x7b, 0x44, 0xb5, 0xa4, 0x16, 0x0c, 0x7d, 0x00, 0x6d, 0x25, 0x49,
0x09, 0x14, 0x41, 0xdd, 0x22, 0x13, 0x70, 0xae, 0xb5, 0xf8, 0x32, 0x62, 0xa9, 0x88, 0xe1, 0x26,
0x91, 0x0b, 0xa3, 0xbf, 0x9e, 0x9f, 0xd6, 0x5f, 0x37, 0xed, 0xfe, 0xfa, 0x1e, 0x34, 0x8f, 0xc2,
0xd8, 0x3f, 0x13, 0x4a, 0x00, 0x39, 0x63, 0x94, 0x00, 0xfc, 0x1a, 0x66, 0x44, 0x0d, 0x9f, 0x56,
0x50, 0xd6, 0xa1, 0xc9, 0x4b, 0x55, 0x8f, 0x66, 0x81, 0xaf, 0x3c, 0xbd, 0x6d, 0x54, 0x36, 0x01,
0x27, 0x1a, 0x05, 0x27, 0xb0, 0xc4, 0xe1, 0x2f, 0xe9, 0x05, 0x3b, 0x1c, 0xbd, 0xe4, 0x9a, 0xbe,
0xa2, 0x99, 0xcd, 0x05, 0x86, 0x52, 0xbf, 0x5a, 0xd9, 0x37, 0xd6, 0xaf, 0xbf, 0xf1, 0x03, 0x68,
0x88, 0x96, 0x0e, 0x7d, 0x0b, 0x1a, 0x1c, 0x5a, 0x74, 0x70, 0x0b, 0xc6, 0x21, 0x22, 0x77, 0x30,
0x91, 0x23, 0xad, 0xe6, 0x2e, 0x43, 0x4f, 0x65, 0x01, 0x37, 0x40, 0x4e, 0xf1, 0xb3, 0x0f, 0x10,
0x17, 0x1b, 0x1f, 0xf3, 0x38, 0x3b, 0x77, 0x67, 0xae, 0xab, 0xb3, 0x66, 0x17, 0xe6, 0x07, 0xc1,
0x68, 0xab, 0xcc, 0x9b, 0x0d, 0x52, 0xae, 0x2d, 0xdf, 0xab, 0x1b, 0xdd, 0x74, 0x06, 0xcd, 0x52,
0xfe, 0xaa, 0xd1, 0xcd, 0xb3, 0xde, 0xa6, 0xae, 0x9d, 0x97, 0x75, 0xa7, 0xb0, 0x5f, 0x35, 0xb1,
0x4a, 0x20, 0x26, 0xd0, 0x16, 0xdd, 0xae, 0x68, 0x5d, 0x36, 0x07, 0x0e, 0x83, 0xb6, 0x41, 0x1f,
0x16, 0xfa, 0xb7, 0x5b, 0x5b, 0x6d, 0x34, 0x65, 0x84, 0xdf, 0x7a, 0x5c, 0x63, 0xd9, 0xcd, 0x69,
0x6c, 0x0b, 0xda, 0x9c, 0xb2, 0xc9, 0xa4, 0xd0, 0xdd, 0xc2, 0xe3, 0x77, 0x0d, 0x1e, 0xcc, 0x6d,
0x32, 0x71, 0x00, 0xff, 0xd1, 0x83, 0xdb, 0xcf, 0xb9, 0x1f, 0x1d, 0xf0, 0x9f, 0x9d, 0x68, 0x2f,
0x62, 0x87, 0xa3, 0xeb, 0x8b, 0x5f, 0xc6, 0xa2, 0x3e, 0x4b, 0x0b, 0x17, 0x96, 0x2b, 0x0e, 0x67,
0xa3, 0x24, 0x48, 0x59, 0x91, 0x3e, 0xe4, 0xca, 0x19, 0x67, 0x75, 0x2f, 0x5a, 0x7a, 0x6e, 0x63,
0xaa, 0xe7, 0xfe, 0x0c, 0x5a, 0x84, 0xd1, 0xb0, 0x7c, 0x48, 0xc1, 0xd0, 0x4a, 0x19, 0x0d, 0x45,
0x9d, 0x2c, 0x9a, 0xe4, 0x06, 0xb1, 0x60, 0x3c, 0xd7, 0x17, 0x7d, 0x5f, 0x1a, 0x5c, 0x68, 0x1b,
0x3b, 0x50, 0xbc, 0x01, 0x50, 0x1a, 0x29, 0xd3, 0x66, 0xf4, 0xae, 0x36, 0xe3, 0x3f, 0x6a, 0xb0,
0xba, 0x95, 0x32, 0x9a, 0xb3, 0x43, 0xfd, 0x1a, 0xbb, 0x45, 0xfd, 0x53, 0x66, 0x36, 0xee, 0x2d,
0xd9, 0xb8, 0xdf, 0x07, 0xf0, 0x05, 0x2e, 0xbf, 0x57, 0xa5, 0x6d, 0x03, 0xc2, 0xcd, 0x9b, 0x05,
0x27, 0x91, 0xd8, 0x95, 0x3a, 0x2b, 0xd7, 0x42, 0xcb, 0x39, 0xcd, 0x87, 0x99, 0x4a, 0xb9, 0x6a,
0x85, 0x36, 0x60, 0xc1, 0x78, 0x07, 0x56, 0x2d, 0x02, 0x2a, 0x06, 0x0f, 0xbd, 0x43, 0x4c, 0x34,
0xc3, 0x66, 0xb3, 0x96, 0xcd, 0x3e, 0x92, 0x0a, 0x2d, 0x3b, 0xe0, 0x39, 0x6b, 0xae, 0x34, 0x75,
0x4f, 0x2c, 0x44, 0xf4, 0xed, 0x42, 0x5f, 0xf3, 0xe2, 0xc4, 0x6d, 0x57, 0x5f, 0x99, 0x52, 0x98,
0xed, 0x4b, 0x4d, 0xc7, 0x97, 0x70, 0x4f, 0x3c, 0x56, 0x08, 0xfd, 0x1d, 0x8e, 0x3e, 0x0f, 0xb2,
0xbc, 0xb2, 0x94, 0x5e, 0x59, 0xb6, 0xf0, 0xc7, 0xd0, 0x16, 0x25, 0xd5, 0xa4, 0xf2, 0x3e, 0xd4,
0xf3, 0x51, 0x61, 0xcc, 0x2a, 0xed, 0xf0, 0x6d, 0xbc, 0x0d, 0xb7, 0xf5, 0xac, 0xbf, 0xe9, 0x8b,
0x09, 0xfc, 0x1a, 0xe7, 0x2f, 0xd8, 0xab, 0x69, 0xf6, 0xf0, 0x2f, 0x44, 0x2e, 0xdc, 0x77, 0xe8,
0xbc, 0x71, 0x4f, 0xc0, 0x8b, 0x7f, 0x3f, 0xc8, 0x92, 0x90, 0x8e, 0x07, 0x71, 0x9f, 0xa9, 0xe7,
0x20, 0x13, 0x84, 0xbf, 0x72, 0x5e, 0x05, 0xd4, 0x15, 0x58, 0x3b, 0x2d, 0xf7, 0x82, 0x96, 0x61,
0x84, 0x52, 0xff, 0x18, 0x1a, 0xc7, 0x2a, 0x3f, 0x55, 0xe0, 0x88, 0xad, 0x37, 0x60, 0xe0, 0x15,
0x67, 0xe0, 0x5c, 0x3a, 0xbe, 0xd2, 0x33, 0xaf, 0xd6, 0x57, 0xeb, 0x6a, 0x0d, 0xe6, 0x78, 0xa0,
0xeb, 0x10, 0x2c, 0x96, 0xf8, 0x5f, 0x1e, 0xdc, 0x31, 0x5e, 0x59, 0xb4, 0x5d, 0x84, 0xf1, 0xae,
0xa6, 0x8a, 0xa1, 0xc5, 0x9d, 0x97, 0x30, 0xff, 0xe2, 0x79, 0x48, 0x4f, 0x54, 0x5e, 0xb4, 0x60,
0x9c, 0x42, 0x3f, 0x48, 0x99, 0x0c, 0x11, 0x29, 0x8e, 0x06, 0xe8, 0x97, 0x17, 0x19, 0x59, 0x8d,
0xd2, 0x5e, 0xc7, 0x69, 0x3c, 0x28, 0x66, 0x10, 0xfe, 0xcd, 0x25, 0xe0, 0x76, 0x63, 0x59, 0xa6,
0xe2, 0xa6, 0x58, 0xf2, 0xd0, 0xce, 0x18, 0xeb, 0xab, 0xc4, 0x36, 0x27, 0xc4, 0x33, 0x20, 0xf8,
0x53, 0xe1, 0xd8, 0x84, 0x65, 0x3e, 0x8d, 0xbe, 0x10, 0x4a, 0xee, 0x40, 0x83, 0x1f, 0x96, 0x4e,
0xd9, 0x24, 0x72, 0x21, 0x6e, 0xd5, 0x52, 0x88, 0x6f, 0xfc, 0x09, 0x2c, 0x13, 0x96, 0xc8, 0xb3,
0x84, 0x65, 0xc3, 0xb0, 0xda, 0x99, 0xaa, 0x8e, 0x9e, 0xf2, 0x6b, 0x13, 0xf3, 0xda, 0x02, 0xcb,
0xd3, 0x58, 0xa8, 0x07, 0xed, 0xd4, 0xbe, 0x20, 0x73, 0x46, 0x52, 0xe7, 0x7e, 0x32, 0x81, 0x8f,
0x1f, 0xf1, 0xa8, 0x3b, 0xdf, 0x8e, 0xe8, 0x51, 0xc8, 0x8a, 0x3f, 0x38, 0x4a, 0x11, 0x6b, 0x86,
0x88, 0x78, 0x47, 0xbc, 0xff, 0xf2, 0x66, 0xf9, 0x6a, 0x61, 0x76, 0xb2, 0xbd, 0x5d, 0x21, 0xcc,
0x3c, 0x11, 0xdf, 0x3c, 0xa1, 0x0e, 0xb2, 0x13, 0x35, 0x4c, 0xf1, 0x4f, 0xdc, 0x13, 0xa1, 0x6e,
0x5f, 0xba, 0x0e, 0x73, 0xa9, 0x92, 0xc1, 0x7e, 0xc4, 0xb2, 0x2e, 0x25, 0x05, 0x12, 0xfe, 0xb3,
0x9e, 0x5d, 0x0f, 0x82, 0x93, 0x88, 0xe6, 0xc3, 0x94, 0xed, 0xd3, 0x94, 0x0e, 0xb8, 0x4d, 0xa5,
0x17, 0x1e, 0x8e, 0x13, 0xa6, 0x14, 0x66, 0x40, 0xd0, 0x87, 0x00, 0x3c, 0xa6, 0x8e, 0x44, 0x7e,
0x53, 0x0a, 0xab, 0x48, 0x7c, 0x06, 0x12, 0xfa, 0x04, 0x16, 0x53, 0x23, 0x89, 0x66, 0xaa, 0x42,
0x57, 0x26, 0x58, 0x1b, 0x13, 0xff, 0xc9, 0x83, 0xce, 0x4f, 0x68, 0x18, 0xb2, 0x5c, 0x85, 0x7b,
0x21, 0xf0, 0x7d, 0x80, 0x8b, 0x80, 0x5d, 0xaa, 0x06, 0x46, 0x96, 0x1b, 0x03, 0xc2, 0xa3, 0x59,
0xac, 0xd2, 0xe0, 0x62, 0xb7, 0x0c, 0x3d, 0x13, 0xc4, 0x31, 0xb2, 0x84, 0x45, 0x7d, 0x45, 0x42,
0xfe, 0x71, 0x60, 0x82, 0x44, 0x90, 0x89, 0xa5, 0x22, 0x22, 0x1f, 0xa2, 0x2d, 0x18, 0xfe, 0xba,
0x26, 0xf2, 0x9e, 0x4c, 0x0a, 0x45, 0x28, 0x5f, 0xd7, 0x3c, 0xd8, 0x3a, 0xae, 0x4d, 0xe8, 0x78,
0xda, 0x0c, 0x52, 0x4c, 0xd6, 0x33, 0xc6, 0x64, 0x5d, 0x15, 0xb1, 0xee, 0xbf, 0x48, 0xf6, 0x44,
0x07, 0xee, 0x44, 0xa7, 0x3a, 0x2c, 0x99, 0x0e, 0x16, 0xca, 0x0e, 0xcb, 0x2f, 0x5a, 0x3e, 0xd5,
0xd0, 0xb4, 0xac, 0x86, 0xc6, 0xfa, 0x03, 0x69, 0xd1, 0xf9, 0x03, 0xe9, 0xf1, 0xef, 0x6b, 0x30,
0x67, 0xfc, 0x11, 0x7a, 0x70, 0x1a, 0x5f, 0x2a, 0xe5, 0x70, 0xd5, 0xb7, 0x4b, 0xcb, 0x9f, 0x1f,
0xe4, 0x69, 0x10, 0x9d, 0x74, 0xef, 0xe8, 0x90, 0x73, 0xc6, 0x56, 0x7c, 0x0b, 0xfd, 0x08, 0x16,
0xcc, 0x60, 0x5e, 0xd1, 0xa7, 0x0d, 0x70, 0x77, 0xc5, 0x8d, 0x5a, 0x01, 0xc6, 0xb7, 0xd0, 0x16,
0x2c, 0xda, 0xc1, 0xf2, 0xae, 0x26, 0x60, 0x6d, 0x74, 0xf5, 0x86, 0x1d, 0x5e, 0xf8, 0x16, 0x7a,
0x01, 0x1d, 0x69, 0x63, 0x42, 0x2f, 0x8d, 0x54, 0x8d, 0x34, 0xe3, 0xae, 0x0f, 0x74, 0x2b, 0x2a,
0x2e, 0xbe, 0x75, 0x34, 0x2b, 0xfe, 0xb4, 0xfe, 0xc1, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xc3,
0x82, 0x9d, 0xff, 0xed, 0x1e, 0x00, 0x00,
}
......@@ -318,7 +318,7 @@ func (policy *privacyPolicy) selectUTXO(token, addr string, amount int64) ([]*tx
if curBlockHeight < wutxo.height {
continue
}
if curBlockHeight-wutxo.height > types.PrivacyMaturityDegree {
if curBlockHeight-wutxo.height > privacytypes.UtxoMaturityDegree {
balance += wutxo.outinfo.amount
confirmUTXOs = append(confirmUTXOs, wutxo)
} else {
......@@ -493,12 +493,12 @@ func (policy *privacyPolicy) buildInput(privacykeyParirs *privacy.Privacy, build
}
func (policy *privacyPolicy) createTransaction(req *privacytypes.ReqCreatePrivacyTx) (*types.Transaction, error) {
switch req.Type {
case types.PrivacyTypePublic2Privacy:
switch req.ActionType {
case privacytypes.ActionPublic2Privacy:
return policy.createPublic2PrivacyTx(req)
case types.PrivacyTypePrivacy2Privacy:
case privacytypes.ActionPrivacy2Privacy:
return policy.createPrivacy2PrivacyTx(req)
case types.PrivacyTypePrivacy2Public:
case privacytypes.ActionPrivacy2Public:
return policy.createPrivacy2PublicTx(req)
}
return nil, types.ErrInvalidParam
......
......@@ -122,7 +122,7 @@ func (mock *PrivacyMock) CreateUTXOs(sender string, pubkeypair string, amount in
tx := mock.createPublic2PrivacyTx(&ty.ReqCreatePrivacyTx{
AssetExec: "coins",
Tokenname: mock.tokenName,
Type: 1,
ActionType: 1,
Amount: amount,
From: sender,
Pubkeypair: pubkeypair,
......@@ -219,8 +219,8 @@ func (mock *PrivacyMock) createPublic2PrivacyTx(req *ty.ReqCreatePrivacyTx) *typ
To: address.ExecAddress(ty.PrivacyX),
}
cfg := mock.walletOp.GetAPI().GetConfig()
txSize := types.Size(tx) + types.SignatureSize
realFee := int64((txSize+1023)>>types.Size1Kshiftlen) * cfg.GetMinTxFeeRate()
txSize := types.Size(tx) + ty.SignatureSize
realFee := int64((txSize+1023)>>ty.Size1Kshiftlen) * cfg.GetMinTxFeeRate()
tx.Fee = realFee
tx.SetExpire(cfg, time.Hour)
return tx
......
......@@ -358,7 +358,7 @@ func Test_CreateTransaction(t *testing.T) {
req: &ty.ReqCreatePrivacyTx{
AssetExec: "coins",
Tokenname: types.BTY,
Type: 1,
ActionType: ty.ActionPublic2Privacy,
Amount: 100 * types.Coin,
From: testAddrs[0],
Pubkeypair: testPubkeyPairs[0],
......@@ -369,7 +369,7 @@ func Test_CreateTransaction(t *testing.T) {
req: &ty.ReqCreatePrivacyTx{
AssetExec: "coins",
Tokenname: types.BTY,
Type: 2,
ActionType: ty.ActionPrivacy2Privacy,
Amount: 10 * types.Coin,
From: testAddrs[0],
Pubkeypair: testPubkeyPairs[1],
......@@ -380,7 +380,7 @@ func Test_CreateTransaction(t *testing.T) {
req: &ty.ReqCreatePrivacyTx{
AssetExec: "coins",
Tokenname: types.BTY,
Type: 3,
ActionType: ty.ActionPrivacy2Public,
Amount: 10 * types.Coin,
From: testAddrs[0],
Pubkeypair: testPubkeyPairs[0],
......
......@@ -161,12 +161,12 @@ func parseViewSpendPubKeyPair(in string) (viewPubKey, spendPubKey []byte, err er
//1.进行实际转账utxo
//2.进行找零转账utxo
func generateOuts(viewpubTo, spendpubto, viewpubChangeto, spendpubChangeto *[32]byte, transAmount, selectedAmount, fee int64) (*privacytypes.PrivacyOutput, error) {
decomDigit := decomposeAmount2digits(transAmount, types.BTYDustThreshold)
decomDigit := decomposeAmount2digits(transAmount, privacytypes.BTYDustThreshold)
//计算找零
changeAmount := selectedAmount - transAmount - fee
var decomChange []int64
if 0 < changeAmount {
decomChange = decomposeAmount2digits(changeAmount, types.BTYDustThreshold)
decomChange = decomposeAmount2digits(changeAmount, privacytypes.BTYDustThreshold)
}
bizlog.Info("generateOuts", "decompose digit for amount", selectedAmount-fee, "decomDigit", decomDigit)
......
......@@ -9,6 +9,7 @@ import (
"github.com/33cn/chain33/common"
"github.com/33cn/chain33/types"
pty "github.com/33cn/plugin/plugin/dapp/privacy/types"
"github.com/stretchr/testify/require"
)
......@@ -119,7 +120,7 @@ func Test_decomposeAmount2digits(t *testing.T) {
},
{
amount: 62387455827,
dustThreshold: types.BTYDustThreshold,
dustThreshold: pty.BTYDustThreshold,
actual: []int64{87455827, 1e8, 2e8, 2e9, 5e10, 1e10},
},
}
......
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