Commit 6a6fefbe authored by jiangpeng's avatar jiangpeng Committed by 33cn

privacy:add asset support

parent a17b2960
...@@ -96,9 +96,10 @@ func createPub2PrivTxFlags(cmd *cobra.Command) { ...@@ -96,9 +96,10 @@ func createPub2PrivTxFlags(cmd *cobra.Command) {
cmd.Flags().Float64P("amount", "a", 0.0, "transfer amount, at most 4 decimal places") cmd.Flags().Float64P("amount", "a", 0.0, "transfer amount, at most 4 decimal places")
cmd.MarkFlagRequired("amount") cmd.MarkFlagRequired("amount")
cmd.Flags().StringP("symbol", "s", "BTY", "token symbol") cmd.Flags().StringP("symbol", "s", "BTY", "asset symbol, default BTY")
cmd.Flags().StringP("exec", "e", "coins", "asset executor(coins, token, paracross), default coins")
cmd.Flags().StringP("note", "n", "", "note for transaction") cmd.Flags().StringP("note", "n", "", "note for transaction")
cmd.Flags().Int64P("expire", "", 0, "transfer expire, default one hour") cmd.Flags().Int64P("expire", "x", 0, "transfer expire, default one hour")
cmd.Flags().IntP("expiretype", "", 1, "0: height 1: time default is 1") cmd.Flags().IntP("expiretype", "", 1, "0: height 1: time default is 1")
} }
...@@ -110,6 +111,7 @@ func createPub2PrivTx(cmd *cobra.Command, args []string) { ...@@ -110,6 +111,7 @@ func createPub2PrivTx(cmd *cobra.Command, args []string) {
note, _ := cmd.Flags().GetString("note") note, _ := cmd.Flags().GetString("note")
expire, _ := cmd.Flags().GetInt64("expire") expire, _ := cmd.Flags().GetInt64("expire")
expiretype, _ := cmd.Flags().GetInt("expiretype") expiretype, _ := cmd.Flags().GetInt("expiretype")
assetExec, _ := cmd.Flags().GetString("exec")
if expiretype == 0 { if expiretype == 0 {
if expire <= 0 { if expire <= 0 {
fmt.Println("Invalid expire. expire must large than 0 in expiretype==0, expire", expire) fmt.Println("Invalid expire. expire must large than 0 in expiretype==0, expire", expire)
...@@ -117,7 +119,7 @@ func createPub2PrivTx(cmd *cobra.Command, args []string) { ...@@ -117,7 +119,7 @@ func createPub2PrivTx(cmd *cobra.Command, args []string) {
} }
} else if expiretype == 1 { } else if expiretype == 1 {
if expire <= 0 { if expire <= 0 {
expire = int64(time.Hour) expire = int64(time.Minute * 10)
} }
} else { } else {
fmt.Println("Invalid expiretype", expiretype) fmt.Println("Invalid expiretype", expiretype)
...@@ -131,6 +133,7 @@ func createPub2PrivTx(cmd *cobra.Command, args []string) { ...@@ -131,6 +133,7 @@ func createPub2PrivTx(cmd *cobra.Command, args []string) {
Note: note, Note: note,
Pubkeypair: pubkeypair, Pubkeypair: pubkeypair,
Expire: expire, Expire: expire,
AssetExec: assetExec,
} }
ctx := jsonclient.NewRPCCtx(rpcLaddr, "privacy.CreateRawTransaction", params, nil) ctx := jsonclient.NewRPCCtx(rpcLaddr, "privacy.CreateRawTransaction", params, nil)
ctx.RunWithoutMarshal() ctx.RunWithoutMarshal()
...@@ -156,9 +159,10 @@ func createPriv2PrivTxFlags(cmd *cobra.Command) { ...@@ -156,9 +159,10 @@ func createPriv2PrivTxFlags(cmd *cobra.Command) {
cmd.MarkFlagRequired("from") cmd.MarkFlagRequired("from")
cmd.Flags().Int32P("mixcount", "m", defMixCount, "utxo mix count") cmd.Flags().Int32P("mixcount", "m", defMixCount, "utxo mix count")
cmd.Flags().StringP("symbol", "s", "BTY", "token symbol") cmd.Flags().StringP("symbol", "s", "BTY", "asset symbol, default BTY")
cmd.Flags().StringP("exec", "e", "coins", "asset executor(coins, token, paracross), default coins")
cmd.Flags().StringP("note", "n", "", "note for transaction") cmd.Flags().StringP("note", "n", "", "note for transaction")
cmd.Flags().Int64P("expire", "", 0, "transfer expire, default one hour") cmd.Flags().Int64P("expire", "x", 0, "transfer expire, default one hour")
cmd.Flags().IntP("expiretype", "", 1, "0: height 1: time default is 1") cmd.Flags().IntP("expiretype", "", 1, "0: height 1: time default is 1")
} }
...@@ -172,6 +176,7 @@ func createPriv2PrivTx(cmd *cobra.Command, args []string) { ...@@ -172,6 +176,7 @@ func createPriv2PrivTx(cmd *cobra.Command, args []string) {
sender, _ := cmd.Flags().GetString("from") sender, _ := cmd.Flags().GetString("from")
expire, _ := cmd.Flags().GetInt64("expire") expire, _ := cmd.Flags().GetInt64("expire")
expiretype, _ := cmd.Flags().GetInt("expiretype") expiretype, _ := cmd.Flags().GetInt("expiretype")
assetExec, _ := cmd.Flags().GetString("exec")
if expiretype == 0 { if expiretype == 0 {
if expire <= 0 { if expire <= 0 {
fmt.Println("Invalid expire. expire must large than 0 in expiretype==0, expire", expire) fmt.Println("Invalid expire. expire must large than 0 in expiretype==0, expire", expire)
...@@ -179,7 +184,7 @@ func createPriv2PrivTx(cmd *cobra.Command, args []string) { ...@@ -179,7 +184,7 @@ func createPriv2PrivTx(cmd *cobra.Command, args []string) {
} }
} else if expiretype == 1 { } else if expiretype == 1 {
if expire <= 0 { if expire <= 0 {
expire = int64(time.Hour) expire = int64(time.Minute * 10)
} }
} else { } else {
fmt.Println("Invalid expiretype", expiretype) fmt.Println("Invalid expiretype", expiretype)
...@@ -195,6 +200,7 @@ func createPriv2PrivTx(cmd *cobra.Command, args []string) { ...@@ -195,6 +200,7 @@ func createPriv2PrivTx(cmd *cobra.Command, args []string) {
From: sender, From: sender,
Mixcount: mixCount, Mixcount: mixCount,
Expire: expire, Expire: expire,
AssetExec: assetExec,
} }
ctx := jsonclient.NewRPCCtx(rpcLaddr, "privacy.CreateRawTransaction", params, nil) ctx := jsonclient.NewRPCCtx(rpcLaddr, "privacy.CreateRawTransaction", params, nil)
ctx.RunWithoutMarshal() ctx.RunWithoutMarshal()
...@@ -220,9 +226,10 @@ func createPriv2PubTxFlags(cmd *cobra.Command) { ...@@ -220,9 +226,10 @@ func createPriv2PubTxFlags(cmd *cobra.Command) {
cmd.MarkFlagRequired("to") cmd.MarkFlagRequired("to")
cmd.Flags().Int32P("mixcount", "m", defMixCount, "utxo mix count") cmd.Flags().Int32P("mixcount", "m", defMixCount, "utxo mix count")
cmd.Flags().StringP("symbol", "s", "BTY", "token symbol") cmd.Flags().StringP("symbol", "s", "BTY", "asset symbol, default BTY")
cmd.Flags().StringP("exec", "e", "coins", "asset executor(coins, token, paracross), default coins")
cmd.Flags().StringP("note", "n", "", "note for transaction") cmd.Flags().StringP("note", "n", "", "note for transaction")
cmd.Flags().Int64P("expire", "", 0, "transfer expire, default one hour") cmd.Flags().Int64P("expire", "x", 0, "transfer expire, default one hour")
cmd.Flags().IntP("expiretype", "", 1, "0: height 1: time default is 1") cmd.Flags().IntP("expiretype", "", 1, "0: height 1: time default is 1")
} }
...@@ -236,6 +243,7 @@ func createPriv2PubTx(cmd *cobra.Command, args []string) { ...@@ -236,6 +243,7 @@ func createPriv2PubTx(cmd *cobra.Command, args []string) {
note, _ := cmd.Flags().GetString("note") note, _ := cmd.Flags().GetString("note")
expire, _ := cmd.Flags().GetInt64("expire") expire, _ := cmd.Flags().GetInt64("expire")
expiretype, _ := cmd.Flags().GetInt("expiretype") expiretype, _ := cmd.Flags().GetInt("expiretype")
assetExec, _ := cmd.Flags().GetString("exec")
if expiretype == 0 { if expiretype == 0 {
if expire <= 0 { if expire <= 0 {
fmt.Println("Invalid expire. expire must large than 0 in expiretype==0, expire", expire) fmt.Println("Invalid expire. expire must large than 0 in expiretype==0, expire", expire)
...@@ -243,7 +251,7 @@ func createPriv2PubTx(cmd *cobra.Command, args []string) { ...@@ -243,7 +251,7 @@ func createPriv2PubTx(cmd *cobra.Command, args []string) {
} }
} else if expiretype == 1 { } else if expiretype == 1 {
if expire <= 0 { if expire <= 0 {
expire = int64(time.Hour) expire = int64(time.Minute * 10)
} }
} else { } else {
fmt.Println("Invalid expiretype", expiretype) fmt.Println("Invalid expiretype", expiretype)
...@@ -259,6 +267,7 @@ func createPriv2PubTx(cmd *cobra.Command, args []string) { ...@@ -259,6 +267,7 @@ func createPriv2PubTx(cmd *cobra.Command, args []string) {
To: to, To: to,
Mixcount: mixCount, Mixcount: mixCount,
Expire: expire, Expire: expire,
AssetExec: assetExec,
} }
ctx := jsonclient.NewRPCCtx(rpcLaddr, "privacy.CreateRawTransaction", params, nil) ctx := jsonclient.NewRPCCtx(rpcLaddr, "privacy.CreateRawTransaction", params, nil)
ctx.RunWithoutMarshal() ctx.RunWithoutMarshal()
...@@ -439,9 +448,10 @@ func createUTXOsFlag(cmd *cobra.Command) { ...@@ -439,9 +448,10 @@ func createUTXOsFlag(cmd *cobra.Command) {
cmd.MarkFlagRequired("pubkeypair") cmd.MarkFlagRequired("pubkeypair")
cmd.Flags().Float64P("amount", "a", 0, "amount") cmd.Flags().Float64P("amount", "a", 0, "amount")
cmd.MarkFlagRequired("amount") cmd.MarkFlagRequired("amount")
cmd.Flags().Int32P("count", "c", 0, "mix count, default 0") cmd.Flags().StringP("symbol", "s", "BTY", "asset symbol, default BTY")
cmd.Flags().StringP("exec", "e", "coins", "asset executor(coins, token, paracross), default coins")
cmd.Flags().StringP("note", "n", "", "transfer note") cmd.Flags().StringP("note", "n", "", "transfer note")
cmd.Flags().Int64P("expire", "", int64(time.Hour), "transfer expire, default one hour") cmd.Flags().Int64P("expire", "x", 0, "transfer expire, default one hour")
} }
func createUTXOs(cmd *cobra.Command, args []string) { func createUTXOs(cmd *cobra.Command, args []string) {
...@@ -449,22 +459,23 @@ func createUTXOs(cmd *cobra.Command, args []string) { ...@@ -449,22 +459,23 @@ func createUTXOs(cmd *cobra.Command, args []string) {
from, _ := cmd.Flags().GetString("from") from, _ := cmd.Flags().GetString("from")
pubkeypair, _ := cmd.Flags().GetString("pubkeypair") pubkeypair, _ := cmd.Flags().GetString("pubkeypair")
note, _ := cmd.Flags().GetString("note") note, _ := cmd.Flags().GetString("note")
count, _ := cmd.Flags().GetInt32("count")
amount, _ := cmd.Flags().GetFloat64("amount") amount, _ := cmd.Flags().GetFloat64("amount")
amountInt64 := int64(amount*types.InputPrecision) * types.Multiple1E4 amountInt64 := int64(amount*types.InputPrecision) * types.Multiple1E4
expire, _ := cmd.Flags().GetInt64("expire") expire, _ := cmd.Flags().GetInt64("expire")
symbol, _ := cmd.Flags().GetString("symbol")
assetExec, _ := cmd.Flags().GetString("exec")
if expire <= 0 { if expire <= 0 {
expire = int64(time.Hour) expire = int64(time.Minute * 10)
} }
params := &pty.ReqCreateUTXOs{ params := &pty.ReqCreateUTXOs{
Tokenname: types.BTY, Tokenname: symbol,
Sender: from, Sender: from,
Pubkeypair: pubkeypair, Pubkeypair: pubkeypair,
Amount: amountInt64, Amount: amountInt64,
Count: count,
Note: note, Note: note,
Expire: expire, Expire: expire,
AssetExec: assetExec,
} }
var res rpctypes.ReplyHash var res rpctypes.ReplyHash
......
...@@ -7,6 +7,8 @@ package executor ...@@ -7,6 +7,8 @@ package executor
import ( import (
"encoding/hex" "encoding/hex"
"github.com/33cn/chain33/account"
"github.com/33cn/chain33/common" "github.com/33cn/chain33/common"
"github.com/33cn/chain33/common/address" "github.com/33cn/chain33/common/address"
"github.com/33cn/chain33/types" "github.com/33cn/chain33/types"
...@@ -15,13 +17,15 @@ import ( ...@@ -15,13 +17,15 @@ import (
// Exec_Public2Privacy execute public to privacy // Exec_Public2Privacy execute public to privacy
func (p *privacy) Exec_Public2Privacy(payload *ty.Public2Privacy, tx *types.Transaction, index int) (*types.Receipt, error) { func (p *privacy) Exec_Public2Privacy(payload *ty.Public2Privacy, tx *types.Transaction, index int) (*types.Receipt, error) {
if payload.Tokenname != types.BTY {
return nil, types.ErrNotSupport accDB, err := p.createAccountDB(payload.GetAssetExec(), payload.GetTokenname())
if err != nil {
privacylog.Error("Exec_pub2priv_newAccountDB", "exec", payload.GetAssetExec(),
"symbol", payload.GetTokenname(), "err", err)
} }
txhashstr := hex.EncodeToString(tx.Hash()) txhashstr := hex.EncodeToString(tx.Hash())
coinsAccount := p.GetCoinsAccount()
from := tx.From() from := tx.From()
receipt, err := coinsAccount.ExecWithdraw(address.ExecAddress(string(tx.Execer)), from, payload.Amount) receipt, err := accDB.ExecWithdraw(address.ExecAddress(string(tx.Execer)), from, payload.Amount)
if err != nil { if err != nil {
privacylog.Error("PrivacyTrading Exec", "txhash", txhashstr, "ExecWithdraw error ", err) privacylog.Error("PrivacyTrading Exec", "txhash", txhashstr, "ExecWithdraw error ", err)
return nil, err return nil, err
...@@ -55,9 +59,7 @@ func (p *privacy) Exec_Public2Privacy(payload *ty.Public2Privacy, tx *types.Tran ...@@ -55,9 +59,7 @@ func (p *privacy) Exec_Public2Privacy(payload *ty.Public2Privacy, tx *types.Tran
// Exec_Privacy2Privacy execute privacy to privacy transaction // Exec_Privacy2Privacy execute privacy to privacy transaction
func (p *privacy) Exec_Privacy2Privacy(payload *ty.Privacy2Privacy, tx *types.Transaction, index int) (*types.Receipt, error) { func (p *privacy) Exec_Privacy2Privacy(payload *ty.Privacy2Privacy, tx *types.Transaction, index int) (*types.Receipt, error) {
if payload.Tokenname != types.BTY {
return nil, types.ErrNotSupport
}
txhashstr := hex.EncodeToString(tx.Hash()) txhashstr := hex.EncodeToString(tx.Hash())
receipt := &types.Receipt{KV: make([]*types.KeyValue, 0)} receipt := &types.Receipt{KV: make([]*types.KeyValue, 0)}
privacyInput := payload.Input privacyInput := payload.Input
...@@ -97,12 +99,13 @@ func (p *privacy) Exec_Privacy2Privacy(payload *ty.Privacy2Privacy, tx *types.Tr ...@@ -97,12 +99,13 @@ func (p *privacy) Exec_Privacy2Privacy(payload *ty.Privacy2Privacy, tx *types.Tr
// Exec_Privacy2Public execute privacy to public transaction // Exec_Privacy2Public execute privacy to public transaction
func (p *privacy) Exec_Privacy2Public(payload *ty.Privacy2Public, tx *types.Transaction, index int) (*types.Receipt, error) { func (p *privacy) Exec_Privacy2Public(payload *ty.Privacy2Public, tx *types.Transaction, index int) (*types.Receipt, error) {
if payload.Tokenname != types.BTY { accDB, err := p.createAccountDB(payload.GetAssetExec(), payload.GetTokenname())
return nil, types.ErrNotSupport if err != nil {
privacylog.Error("Exec_pub2priv_newAccountDB", "exec", payload.GetAssetExec(),
"symbol", payload.GetTokenname(), "err", err)
} }
txhashstr := hex.EncodeToString(tx.Hash()) txhashstr := hex.EncodeToString(tx.Hash())
coinsAccount := p.GetCoinsAccount() receipt, err := accDB.ExecDeposit(payload.To, address.ExecAddress(string(tx.Execer)), payload.Amount)
receipt, err := coinsAccount.ExecDeposit(payload.To, address.ExecAddress(string(tx.Execer)), payload.Amount)
if err != nil { if err != nil {
privacylog.Error("PrivacyTrading Exec", "ActionPrivacy2Public txhash", txhashstr, "ExecDeposit error ", err) privacylog.Error("PrivacyTrading Exec", "ActionPrivacy2Public txhash", txhashstr, "ExecDeposit error ", err)
return nil, err return nil, err
...@@ -141,3 +144,12 @@ func (p *privacy) Exec_Privacy2Public(payload *ty.Privacy2Public, tx *types.Tran ...@@ -141,3 +144,12 @@ func (p *privacy) Exec_Privacy2Public(payload *ty.Privacy2Public, tx *types.Tran
//////////////////debug code end/////////////// //////////////////debug code end///////////////
return receipt, nil return receipt, nil
} }
func (p *privacy) createAccountDB(exec, symbol string) (*account.DB, error) {
if exec == "coins" {
return p.GetCoinsAccount(), nil
}
return account.NewAccountDB(exec, symbol, p.GetStateDB())
}
...@@ -220,8 +220,13 @@ func (p *privacy) CheckTx(tx *types.Transaction, index int) error { ...@@ -220,8 +220,13 @@ func (p *privacy) CheckTx(tx *types.Transaction, index int) error {
//如果是私到私 或者私到公,交易费扣除则需要utxo实现,交易费并不生成真正的UTXO,也是即时燃烧掉而已 //如果是私到私 或者私到公,交易费扣除则需要utxo实现,交易费并不生成真正的UTXO,也是即时燃烧掉而已
var amount int64 var amount int64
keyinput := input.Keyinput keyinput := input.Keyinput
keyOutput := output.Keyoutput assertExec := action.GetAssertExec()
token := action.GetTokenName() token := action.GetTokenName()
if assertExec == "" || token == "" {
return types.ErrInvalidParam
}
if action.Ty == pty.ActionPrivacy2Public && action.GetPrivacy2Public() != nil { if action.Ty == pty.ActionPrivacy2Public && action.GetPrivacy2Public() != nil {
amount = action.GetPrivacy2Public().Amount amount = action.GetPrivacy2Public().Amount
} }
...@@ -264,13 +269,12 @@ func (p *privacy) CheckTx(tx *types.Transaction, index int) error { ...@@ -264,13 +269,12 @@ func (p *privacy) CheckTx(tx *types.Transaction, index int) error {
return pty.ErrPubkeysOfUTXO return pty.ErrPubkeysOfUTXO
} }
for _, output := range keyOutput {
totalOutput += output.Amount
}
//平行链下的隐私交易,utxo不需要燃烧,fee只收取主链的bty,和utxo无关联 //平行链下的隐私交易,utxo不需要燃烧,fee只收取主链的bty,和utxo无关联
if !types.IsPara() { if assertExec == "coins" && types.IsPara() {
for _, output := range output.Keyoutput {
totalOutput += output.Amount
}
if tx.Fee < pty.PrivacyTxFee { if tx.Fee < pty.PrivacyTxFee {
privacylog.Error("PrivacyTrading CheckTx", "txhash", txhashstr, "fee set:", tx.Fee, "required:", pty.PrivacyTxFee, " error ErrPrivacyTxFeeNotEnough") privacylog.Error("PrivacyTrading CheckTx", "txhash", txhashstr, "fee set:", tx.Fee, "required:", pty.PrivacyTxFee, " error ErrPrivacyTxFeeNotEnough")
return pty.ErrPrivacyTxFeeNotEnough return pty.ErrPrivacyTxFeeNotEnough
......
...@@ -23,6 +23,7 @@ message Public2Privacy { ...@@ -23,6 +23,7 @@ message Public2Privacy {
int64 amount = 2; int64 amount = 2;
string note = 5; string note = 5;
PrivacyOutput output = 7; PrivacyOutput output = 7;
string assetExec = 8;
} }
message Privacy2Privacy { message Privacy2Privacy {
...@@ -31,6 +32,7 @@ message Privacy2Privacy { ...@@ -31,6 +32,7 @@ message Privacy2Privacy {
string note = 5; string note = 5;
PrivacyInput input = 6; PrivacyInput input = 6;
PrivacyOutput output = 7; PrivacyOutput output = 7;
string assetExec = 8;
} }
message Privacy2Public { message Privacy2Public {
...@@ -40,6 +42,7 @@ message Privacy2Public { ...@@ -40,6 +42,7 @@ message Privacy2Public {
string to = 6; string to = 6;
PrivacyInput input = 4; PrivacyInput input = 4;
PrivacyOutput output = 5; PrivacyOutput output = 5;
string assetExec = 8;
} }
message UTXOGlobalIndex { message UTXOGlobalIndex {
...@@ -200,9 +203,9 @@ message ReqCreateUTXOs { ...@@ -200,9 +203,9 @@ message ReqCreateUTXOs {
int64 amount = 4; int64 amount = 4;
string note = 5; string note = 5;
string sender = 6; //发送人地址 string sender = 6; //发送人地址
int32 count = 7;
string pubkeypair = 8; string pubkeypair = 8;
int64 expire = 9; int64 expire = 9;
string assetExec = 10;
} }
message ReplyPrivacyPkPair { message ReplyPrivacyPkPair {
...@@ -425,6 +428,7 @@ message ReqCreatePrivacyTx { ...@@ -425,6 +428,7 @@ message ReqCreatePrivacyTx {
string pubkeypair = 10; string pubkeypair = 10;
int32 mixcount = 11; int32 mixcount = 11;
int64 expire = 12; int64 expire = 12;
string assetExec = 13;
} }
service privacy { service privacy {
......
...@@ -123,11 +123,11 @@ func testShowUTXOs4SpecifiedAmount(t *testing.T, jrpc *jsonclient.JSONClient) er ...@@ -123,11 +123,11 @@ func testShowUTXOs4SpecifiedAmount(t *testing.T, jrpc *jsonclient.JSONClient) er
func testCreateUTXOs(t *testing.T, jrpc *jsonclient.JSONClient) error { func testCreateUTXOs(t *testing.T, jrpc *jsonclient.JSONClient) error {
params := &pty.ReqCreateUTXOs{ params := &pty.ReqCreateUTXOs{
AssetExec: "coins",
Tokenname: types.BTY, Tokenname: types.BTY,
Sender: "1JSRSwp16NvXiTjYBYK9iUQ9wqp3sCxz2p", Sender: "1JSRSwp16NvXiTjYBYK9iUQ9wqp3sCxz2p",
Pubkeypair: "92fe6cfec2e19cd15f203f83b5d440ddb63d0cb71559f96dc81208d819fea85886b08f6e874fca15108d244b40f9086d8c03260d4b954a40dfb3cbe41ebc7389", Pubkeypair: "92fe6cfec2e19cd15f203f83b5d440ddb63d0cb71559f96dc81208d819fea85886b08f6e874fca15108d244b40f9086d8c03260d4b954a40dfb3cbe41ebc7389",
Amount: 123456, Amount: 123456,
Count: 12,
Note: "for test", Note: "for test",
Expire: int64(time.Hour), Expire: int64(time.Hour),
} }
......
...@@ -205,3 +205,15 @@ func (action *PrivacyAction) GetTokenName() string { ...@@ -205,3 +205,15 @@ func (action *PrivacyAction) GetTokenName() string {
} }
return "" return ""
} }
// GetAssertExec get assert exec
func (action *PrivacyAction) GetAssertExec() string {
if action.GetTy() == ActionPublic2Privacy && action.GetPublic2Privacy() != nil {
return action.GetPublic2Privacy().GetAssetExec()
} else if action.GetTy() == ActionPrivacy2Privacy && action.GetPrivacy2Privacy() != nil {
return action.GetPrivacy2Privacy().GetAssetExec()
} else if action.GetTy() == ActionPrivacy2Public && action.GetPrivacy2Public() != nil {
return action.GetPrivacy2Public().GetAssetExec()
}
return ""
}
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
package types package types
import ( import proto "github.com/golang/protobuf/proto"
context "context" import fmt "fmt"
fmt "fmt" import math "math"
math "math" import types "github.com/33cn/chain33/types"
types "github.com/33cn/chain33/types" import (
proto "github.com/golang/protobuf/proto" context "golang.org/x/net/context"
grpc "google.golang.org/grpc" grpc "google.golang.org/grpc"
) )
...@@ -24,10 +24,10 @@ var _ = math.Inf ...@@ -24,10 +24,10 @@ var _ = math.Inf
// proto package needs to be updated. // proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
////////////////////////////////////////////////////////////////////////////// // ////////////////////////////////////////////////////////////////////////////
// message for Privacy // message for Privacy
// start///////////////////////////////////////////////////// // start/////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////// // ////////////////////////////////////////////////////////////////////////////
type PrivacyAction struct { type PrivacyAction struct {
// Types that are valid to be assigned to Value: // Types that are valid to be assigned to Value:
// *PrivacyAction_Public2Privacy // *PrivacyAction_Public2Privacy
...@@ -44,17 +44,16 @@ func (m *PrivacyAction) Reset() { *m = PrivacyAction{} } ...@@ -44,17 +44,16 @@ func (m *PrivacyAction) Reset() { *m = PrivacyAction{} }
func (m *PrivacyAction) String() string { return proto.CompactTextString(m) } func (m *PrivacyAction) String() string { return proto.CompactTextString(m) }
func (*PrivacyAction) ProtoMessage() {} func (*PrivacyAction) ProtoMessage() {}
func (*PrivacyAction) Descriptor() ([]byte, []int) { func (*PrivacyAction) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{0} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{0}
} }
func (m *PrivacyAction) XXX_Unmarshal(b []byte) error { func (m *PrivacyAction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyAction.Unmarshal(m, b) return xxx_messageInfo_PrivacyAction.Unmarshal(m, b)
} }
func (m *PrivacyAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PrivacyAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyAction.Marshal(b, m, deterministic) return xxx_messageInfo_PrivacyAction.Marshal(b, m, deterministic)
} }
func (m *PrivacyAction) XXX_Merge(src proto.Message) { func (dst *PrivacyAction) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyAction.Merge(m, src) xxx_messageInfo_PrivacyAction.Merge(dst, src)
} }
func (m *PrivacyAction) XXX_Size() int { func (m *PrivacyAction) XXX_Size() int {
return xxx_messageInfo_PrivacyAction.Size(m) return xxx_messageInfo_PrivacyAction.Size(m)
...@@ -220,6 +219,7 @@ type Public2Privacy struct { ...@@ -220,6 +219,7 @@ type Public2Privacy struct {
Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
Note string `protobuf:"bytes,5,opt,name=note,proto3" json:"note,omitempty"` Note string `protobuf:"bytes,5,opt,name=note,proto3" json:"note,omitempty"`
Output *PrivacyOutput `protobuf:"bytes,7,opt,name=output,proto3" json:"output,omitempty"` Output *PrivacyOutput `protobuf:"bytes,7,opt,name=output,proto3" json:"output,omitempty"`
AssetExec string `protobuf:"bytes,8,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -229,17 +229,16 @@ func (m *Public2Privacy) Reset() { *m = Public2Privacy{} } ...@@ -229,17 +229,16 @@ func (m *Public2Privacy) Reset() { *m = Public2Privacy{} }
func (m *Public2Privacy) String() string { return proto.CompactTextString(m) } func (m *Public2Privacy) String() string { return proto.CompactTextString(m) }
func (*Public2Privacy) ProtoMessage() {} func (*Public2Privacy) ProtoMessage() {}
func (*Public2Privacy) Descriptor() ([]byte, []int) { func (*Public2Privacy) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{1} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{1}
} }
func (m *Public2Privacy) XXX_Unmarshal(b []byte) error { func (m *Public2Privacy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Public2Privacy.Unmarshal(m, b) return xxx_messageInfo_Public2Privacy.Unmarshal(m, b)
} }
func (m *Public2Privacy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *Public2Privacy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Public2Privacy.Marshal(b, m, deterministic) return xxx_messageInfo_Public2Privacy.Marshal(b, m, deterministic)
} }
func (m *Public2Privacy) XXX_Merge(src proto.Message) { func (dst *Public2Privacy) XXX_Merge(src proto.Message) {
xxx_messageInfo_Public2Privacy.Merge(m, src) xxx_messageInfo_Public2Privacy.Merge(dst, src)
} }
func (m *Public2Privacy) XXX_Size() int { func (m *Public2Privacy) XXX_Size() int {
return xxx_messageInfo_Public2Privacy.Size(m) return xxx_messageInfo_Public2Privacy.Size(m)
...@@ -278,12 +277,20 @@ func (m *Public2Privacy) GetOutput() *PrivacyOutput { ...@@ -278,12 +277,20 @@ func (m *Public2Privacy) GetOutput() *PrivacyOutput {
return nil return nil
} }
func (m *Public2Privacy) GetAssetExec() string {
if m != nil {
return m.AssetExec
}
return ""
}
type Privacy2Privacy struct { type Privacy2Privacy struct {
Tokenname string `protobuf:"bytes,1,opt,name=tokenname,proto3" json:"tokenname,omitempty"` Tokenname string `protobuf:"bytes,1,opt,name=tokenname,proto3" json:"tokenname,omitempty"`
Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
Note string `protobuf:"bytes,5,opt,name=note,proto3" json:"note,omitempty"` Note string `protobuf:"bytes,5,opt,name=note,proto3" json:"note,omitempty"`
Input *PrivacyInput `protobuf:"bytes,6,opt,name=input,proto3" json:"input,omitempty"` Input *PrivacyInput `protobuf:"bytes,6,opt,name=input,proto3" json:"input,omitempty"`
Output *PrivacyOutput `protobuf:"bytes,7,opt,name=output,proto3" json:"output,omitempty"` Output *PrivacyOutput `protobuf:"bytes,7,opt,name=output,proto3" json:"output,omitempty"`
AssetExec string `protobuf:"bytes,8,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -293,17 +300,16 @@ func (m *Privacy2Privacy) Reset() { *m = Privacy2Privacy{} } ...@@ -293,17 +300,16 @@ func (m *Privacy2Privacy) Reset() { *m = Privacy2Privacy{} }
func (m *Privacy2Privacy) String() string { return proto.CompactTextString(m) } func (m *Privacy2Privacy) String() string { return proto.CompactTextString(m) }
func (*Privacy2Privacy) ProtoMessage() {} func (*Privacy2Privacy) ProtoMessage() {}
func (*Privacy2Privacy) Descriptor() ([]byte, []int) { func (*Privacy2Privacy) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{2} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{2}
} }
func (m *Privacy2Privacy) XXX_Unmarshal(b []byte) error { func (m *Privacy2Privacy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Privacy2Privacy.Unmarshal(m, b) return xxx_messageInfo_Privacy2Privacy.Unmarshal(m, b)
} }
func (m *Privacy2Privacy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *Privacy2Privacy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Privacy2Privacy.Marshal(b, m, deterministic) return xxx_messageInfo_Privacy2Privacy.Marshal(b, m, deterministic)
} }
func (m *Privacy2Privacy) XXX_Merge(src proto.Message) { func (dst *Privacy2Privacy) XXX_Merge(src proto.Message) {
xxx_messageInfo_Privacy2Privacy.Merge(m, src) xxx_messageInfo_Privacy2Privacy.Merge(dst, src)
} }
func (m *Privacy2Privacy) XXX_Size() int { func (m *Privacy2Privacy) XXX_Size() int {
return xxx_messageInfo_Privacy2Privacy.Size(m) return xxx_messageInfo_Privacy2Privacy.Size(m)
...@@ -349,6 +355,13 @@ func (m *Privacy2Privacy) GetOutput() *PrivacyOutput { ...@@ -349,6 +355,13 @@ func (m *Privacy2Privacy) GetOutput() *PrivacyOutput {
return nil return nil
} }
func (m *Privacy2Privacy) GetAssetExec() string {
if m != nil {
return m.AssetExec
}
return ""
}
type Privacy2Public struct { type Privacy2Public struct {
Tokenname string `protobuf:"bytes,1,opt,name=tokenname,proto3" json:"tokenname,omitempty"` Tokenname string `protobuf:"bytes,1,opt,name=tokenname,proto3" json:"tokenname,omitempty"`
Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
...@@ -356,6 +369,7 @@ type Privacy2Public struct { ...@@ -356,6 +369,7 @@ type Privacy2Public struct {
To string `protobuf:"bytes,6,opt,name=to,proto3" json:"to,omitempty"` To string `protobuf:"bytes,6,opt,name=to,proto3" json:"to,omitempty"`
Input *PrivacyInput `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"` Input *PrivacyInput `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"`
Output *PrivacyOutput `protobuf:"bytes,5,opt,name=output,proto3" json:"output,omitempty"` Output *PrivacyOutput `protobuf:"bytes,5,opt,name=output,proto3" json:"output,omitempty"`
AssetExec string `protobuf:"bytes,8,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -365,17 +379,16 @@ func (m *Privacy2Public) Reset() { *m = Privacy2Public{} } ...@@ -365,17 +379,16 @@ func (m *Privacy2Public) Reset() { *m = Privacy2Public{} }
func (m *Privacy2Public) String() string { return proto.CompactTextString(m) } func (m *Privacy2Public) String() string { return proto.CompactTextString(m) }
func (*Privacy2Public) ProtoMessage() {} func (*Privacy2Public) ProtoMessage() {}
func (*Privacy2Public) Descriptor() ([]byte, []int) { func (*Privacy2Public) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{3} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{3}
} }
func (m *Privacy2Public) XXX_Unmarshal(b []byte) error { func (m *Privacy2Public) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Privacy2Public.Unmarshal(m, b) return xxx_messageInfo_Privacy2Public.Unmarshal(m, b)
} }
func (m *Privacy2Public) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *Privacy2Public) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Privacy2Public.Marshal(b, m, deterministic) return xxx_messageInfo_Privacy2Public.Marshal(b, m, deterministic)
} }
func (m *Privacy2Public) XXX_Merge(src proto.Message) { func (dst *Privacy2Public) XXX_Merge(src proto.Message) {
xxx_messageInfo_Privacy2Public.Merge(m, src) xxx_messageInfo_Privacy2Public.Merge(dst, src)
} }
func (m *Privacy2Public) XXX_Size() int { func (m *Privacy2Public) XXX_Size() int {
return xxx_messageInfo_Privacy2Public.Size(m) return xxx_messageInfo_Privacy2Public.Size(m)
...@@ -428,9 +441,16 @@ func (m *Privacy2Public) GetOutput() *PrivacyOutput { ...@@ -428,9 +441,16 @@ func (m *Privacy2Public) GetOutput() *PrivacyOutput {
return nil return nil
} }
func (m *Privacy2Public) GetAssetExec() string {
if m != nil {
return m.AssetExec
}
return ""
}
type UTXOGlobalIndex struct { type UTXOGlobalIndex struct {
// int64 height = 1; // int64 height = 1;
// int32 txindex = 2; // int32 txindex = 2;
Txhash []byte `protobuf:"bytes,3,opt,name=txhash,proto3" json:"txhash,omitempty"` Txhash []byte `protobuf:"bytes,3,opt,name=txhash,proto3" json:"txhash,omitempty"`
Outindex int32 `protobuf:"varint,4,opt,name=outindex,proto3" json:"outindex,omitempty"` Outindex int32 `protobuf:"varint,4,opt,name=outindex,proto3" json:"outindex,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
...@@ -442,17 +462,16 @@ func (m *UTXOGlobalIndex) Reset() { *m = UTXOGlobalIndex{} } ...@@ -442,17 +462,16 @@ func (m *UTXOGlobalIndex) Reset() { *m = UTXOGlobalIndex{} }
func (m *UTXOGlobalIndex) String() string { return proto.CompactTextString(m) } func (m *UTXOGlobalIndex) String() string { return proto.CompactTextString(m) }
func (*UTXOGlobalIndex) ProtoMessage() {} func (*UTXOGlobalIndex) ProtoMessage() {}
func (*UTXOGlobalIndex) Descriptor() ([]byte, []int) { func (*UTXOGlobalIndex) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{4} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{4}
} }
func (m *UTXOGlobalIndex) XXX_Unmarshal(b []byte) error { func (m *UTXOGlobalIndex) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOGlobalIndex.Unmarshal(m, b) return xxx_messageInfo_UTXOGlobalIndex.Unmarshal(m, b)
} }
func (m *UTXOGlobalIndex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *UTXOGlobalIndex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UTXOGlobalIndex.Marshal(b, m, deterministic) return xxx_messageInfo_UTXOGlobalIndex.Marshal(b, m, deterministic)
} }
func (m *UTXOGlobalIndex) XXX_Merge(src proto.Message) { func (dst *UTXOGlobalIndex) XXX_Merge(src proto.Message) {
xxx_messageInfo_UTXOGlobalIndex.Merge(m, src) xxx_messageInfo_UTXOGlobalIndex.Merge(dst, src)
} }
func (m *UTXOGlobalIndex) XXX_Size() int { func (m *UTXOGlobalIndex) XXX_Size() int {
return xxx_messageInfo_UTXOGlobalIndex.Size(m) return xxx_messageInfo_UTXOGlobalIndex.Size(m)
...@@ -491,17 +510,16 @@ func (m *KeyInput) Reset() { *m = KeyInput{} } ...@@ -491,17 +510,16 @@ func (m *KeyInput) Reset() { *m = KeyInput{} }
func (m *KeyInput) String() string { return proto.CompactTextString(m) } func (m *KeyInput) String() string { return proto.CompactTextString(m) }
func (*KeyInput) ProtoMessage() {} func (*KeyInput) ProtoMessage() {}
func (*KeyInput) Descriptor() ([]byte, []int) { func (*KeyInput) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{5} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{5}
} }
func (m *KeyInput) XXX_Unmarshal(b []byte) error { func (m *KeyInput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyInput.Unmarshal(m, b) return xxx_messageInfo_KeyInput.Unmarshal(m, b)
} }
func (m *KeyInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *KeyInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyInput.Marshal(b, m, deterministic) return xxx_messageInfo_KeyInput.Marshal(b, m, deterministic)
} }
func (m *KeyInput) XXX_Merge(src proto.Message) { func (dst *KeyInput) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyInput.Merge(m, src) xxx_messageInfo_KeyInput.Merge(dst, src)
} }
func (m *KeyInput) XXX_Size() int { func (m *KeyInput) XXX_Size() int {
return xxx_messageInfo_KeyInput.Size(m) return xxx_messageInfo_KeyInput.Size(m)
...@@ -544,17 +562,16 @@ func (m *PrivacyInput) Reset() { *m = PrivacyInput{} } ...@@ -544,17 +562,16 @@ func (m *PrivacyInput) Reset() { *m = PrivacyInput{} }
func (m *PrivacyInput) String() string { return proto.CompactTextString(m) } func (m *PrivacyInput) String() string { return proto.CompactTextString(m) }
func (*PrivacyInput) ProtoMessage() {} func (*PrivacyInput) ProtoMessage() {}
func (*PrivacyInput) Descriptor() ([]byte, []int) { func (*PrivacyInput) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{6} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{6}
} }
func (m *PrivacyInput) XXX_Unmarshal(b []byte) error { func (m *PrivacyInput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyInput.Unmarshal(m, b) return xxx_messageInfo_PrivacyInput.Unmarshal(m, b)
} }
func (m *PrivacyInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PrivacyInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyInput.Marshal(b, m, deterministic) return xxx_messageInfo_PrivacyInput.Marshal(b, m, deterministic)
} }
func (m *PrivacyInput) XXX_Merge(src proto.Message) { func (dst *PrivacyInput) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyInput.Merge(m, src) xxx_messageInfo_PrivacyInput.Merge(dst, src)
} }
func (m *PrivacyInput) XXX_Size() int { func (m *PrivacyInput) XXX_Size() int {
return xxx_messageInfo_PrivacyInput.Size(m) return xxx_messageInfo_PrivacyInput.Size(m)
...@@ -585,17 +602,16 @@ func (m *KeyOutput) Reset() { *m = KeyOutput{} } ...@@ -585,17 +602,16 @@ func (m *KeyOutput) Reset() { *m = KeyOutput{} }
func (m *KeyOutput) String() string { return proto.CompactTextString(m) } func (m *KeyOutput) String() string { return proto.CompactTextString(m) }
func (*KeyOutput) ProtoMessage() {} func (*KeyOutput) ProtoMessage() {}
func (*KeyOutput) Descriptor() ([]byte, []int) { func (*KeyOutput) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{7} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{7}
} }
func (m *KeyOutput) XXX_Unmarshal(b []byte) error { func (m *KeyOutput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyOutput.Unmarshal(m, b) return xxx_messageInfo_KeyOutput.Unmarshal(m, b)
} }
func (m *KeyOutput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *KeyOutput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyOutput.Marshal(b, m, deterministic) return xxx_messageInfo_KeyOutput.Marshal(b, m, deterministic)
} }
func (m *KeyOutput) XXX_Merge(src proto.Message) { func (dst *KeyOutput) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyOutput.Merge(m, src) xxx_messageInfo_KeyOutput.Merge(dst, src)
} }
func (m *KeyOutput) XXX_Size() int { func (m *KeyOutput) XXX_Size() int {
return xxx_messageInfo_KeyOutput.Size(m) return xxx_messageInfo_KeyOutput.Size(m)
...@@ -632,17 +648,16 @@ func (m *PrivacyOutput) Reset() { *m = PrivacyOutput{} } ...@@ -632,17 +648,16 @@ func (m *PrivacyOutput) Reset() { *m = PrivacyOutput{} }
func (m *PrivacyOutput) String() string { return proto.CompactTextString(m) } func (m *PrivacyOutput) String() string { return proto.CompactTextString(m) }
func (*PrivacyOutput) ProtoMessage() {} func (*PrivacyOutput) ProtoMessage() {}
func (*PrivacyOutput) Descriptor() ([]byte, []int) { func (*PrivacyOutput) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{8} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{8}
} }
func (m *PrivacyOutput) XXX_Unmarshal(b []byte) error { func (m *PrivacyOutput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyOutput.Unmarshal(m, b) return xxx_messageInfo_PrivacyOutput.Unmarshal(m, b)
} }
func (m *PrivacyOutput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PrivacyOutput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyOutput.Marshal(b, m, deterministic) return xxx_messageInfo_PrivacyOutput.Marshal(b, m, deterministic)
} }
func (m *PrivacyOutput) XXX_Merge(src proto.Message) { func (dst *PrivacyOutput) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyOutput.Merge(m, src) xxx_messageInfo_PrivacyOutput.Merge(dst, src)
} }
func (m *PrivacyOutput) XXX_Size() int { func (m *PrivacyOutput) XXX_Size() int {
return xxx_messageInfo_PrivacyOutput.Size(m) return xxx_messageInfo_PrivacyOutput.Size(m)
...@@ -679,17 +694,16 @@ func (m *GroupUTXOGlobalIndex) Reset() { *m = GroupUTXOGlobalIndex{} } ...@@ -679,17 +694,16 @@ func (m *GroupUTXOGlobalIndex) Reset() { *m = GroupUTXOGlobalIndex{} }
func (m *GroupUTXOGlobalIndex) String() string { return proto.CompactTextString(m) } func (m *GroupUTXOGlobalIndex) String() string { return proto.CompactTextString(m) }
func (*GroupUTXOGlobalIndex) ProtoMessage() {} func (*GroupUTXOGlobalIndex) ProtoMessage() {}
func (*GroupUTXOGlobalIndex) Descriptor() ([]byte, []int) { func (*GroupUTXOGlobalIndex) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{9} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{9}
} }
func (m *GroupUTXOGlobalIndex) XXX_Unmarshal(b []byte) error { func (m *GroupUTXOGlobalIndex) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupUTXOGlobalIndex.Unmarshal(m, b) return xxx_messageInfo_GroupUTXOGlobalIndex.Unmarshal(m, b)
} }
func (m *GroupUTXOGlobalIndex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *GroupUTXOGlobalIndex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GroupUTXOGlobalIndex.Marshal(b, m, deterministic) return xxx_messageInfo_GroupUTXOGlobalIndex.Marshal(b, m, deterministic)
} }
func (m *GroupUTXOGlobalIndex) XXX_Merge(src proto.Message) { func (dst *GroupUTXOGlobalIndex) XXX_Merge(src proto.Message) {
xxx_messageInfo_GroupUTXOGlobalIndex.Merge(m, src) xxx_messageInfo_GroupUTXOGlobalIndex.Merge(dst, src)
} }
func (m *GroupUTXOGlobalIndex) XXX_Size() int { func (m *GroupUTXOGlobalIndex) XXX_Size() int {
return xxx_messageInfo_GroupUTXOGlobalIndex.Size(m) return xxx_messageInfo_GroupUTXOGlobalIndex.Size(m)
...@@ -729,17 +743,16 @@ func (m *LocalUTXOItem) Reset() { *m = LocalUTXOItem{} } ...@@ -729,17 +743,16 @@ func (m *LocalUTXOItem) Reset() { *m = LocalUTXOItem{} }
func (m *LocalUTXOItem) String() string { return proto.CompactTextString(m) } func (m *LocalUTXOItem) String() string { return proto.CompactTextString(m) }
func (*LocalUTXOItem) ProtoMessage() {} func (*LocalUTXOItem) ProtoMessage() {}
func (*LocalUTXOItem) Descriptor() ([]byte, []int) { func (*LocalUTXOItem) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{10} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{10}
} }
func (m *LocalUTXOItem) XXX_Unmarshal(b []byte) error { func (m *LocalUTXOItem) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LocalUTXOItem.Unmarshal(m, b) return xxx_messageInfo_LocalUTXOItem.Unmarshal(m, b)
} }
func (m *LocalUTXOItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LocalUTXOItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LocalUTXOItem.Marshal(b, m, deterministic) return xxx_messageInfo_LocalUTXOItem.Marshal(b, m, deterministic)
} }
func (m *LocalUTXOItem) XXX_Merge(src proto.Message) { func (dst *LocalUTXOItem) XXX_Merge(src proto.Message) {
xxx_messageInfo_LocalUTXOItem.Merge(m, src) xxx_messageInfo_LocalUTXOItem.Merge(dst, src)
} }
func (m *LocalUTXOItem) XXX_Size() int { func (m *LocalUTXOItem) XXX_Size() int {
return xxx_messageInfo_LocalUTXOItem.Size(m) return xxx_messageInfo_LocalUTXOItem.Size(m)
...@@ -797,17 +810,16 @@ func (m *ReqUTXOPubKeys) Reset() { *m = ReqUTXOPubKeys{} } ...@@ -797,17 +810,16 @@ func (m *ReqUTXOPubKeys) Reset() { *m = ReqUTXOPubKeys{} }
func (m *ReqUTXOPubKeys) String() string { return proto.CompactTextString(m) } func (m *ReqUTXOPubKeys) String() string { return proto.CompactTextString(m) }
func (*ReqUTXOPubKeys) ProtoMessage() {} func (*ReqUTXOPubKeys) ProtoMessage() {}
func (*ReqUTXOPubKeys) Descriptor() ([]byte, []int) { func (*ReqUTXOPubKeys) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{11} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{11}
} }
func (m *ReqUTXOPubKeys) XXX_Unmarshal(b []byte) error { func (m *ReqUTXOPubKeys) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqUTXOPubKeys.Unmarshal(m, b) return xxx_messageInfo_ReqUTXOPubKeys.Unmarshal(m, b)
} }
func (m *ReqUTXOPubKeys) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqUTXOPubKeys) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqUTXOPubKeys.Marshal(b, m, deterministic) return xxx_messageInfo_ReqUTXOPubKeys.Marshal(b, m, deterministic)
} }
func (m *ReqUTXOPubKeys) XXX_Merge(src proto.Message) { func (dst *ReqUTXOPubKeys) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqUTXOPubKeys.Merge(m, src) xxx_messageInfo_ReqUTXOPubKeys.Merge(dst, src)
} }
func (m *ReqUTXOPubKeys) XXX_Size() int { func (m *ReqUTXOPubKeys) XXX_Size() int {
return xxx_messageInfo_ReqUTXOPubKeys.Size(m) return xxx_messageInfo_ReqUTXOPubKeys.Size(m)
...@@ -844,17 +856,16 @@ func (m *PublicKeyData) Reset() { *m = PublicKeyData{} } ...@@ -844,17 +856,16 @@ func (m *PublicKeyData) Reset() { *m = PublicKeyData{} }
func (m *PublicKeyData) String() string { return proto.CompactTextString(m) } func (m *PublicKeyData) String() string { return proto.CompactTextString(m) }
func (*PublicKeyData) ProtoMessage() {} func (*PublicKeyData) ProtoMessage() {}
func (*PublicKeyData) Descriptor() ([]byte, []int) { func (*PublicKeyData) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{12} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{12}
} }
func (m *PublicKeyData) XXX_Unmarshal(b []byte) error { func (m *PublicKeyData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PublicKeyData.Unmarshal(m, b) return xxx_messageInfo_PublicKeyData.Unmarshal(m, b)
} }
func (m *PublicKeyData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PublicKeyData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PublicKeyData.Marshal(b, m, deterministic) return xxx_messageInfo_PublicKeyData.Marshal(b, m, deterministic)
} }
func (m *PublicKeyData) XXX_Merge(src proto.Message) { func (dst *PublicKeyData) XXX_Merge(src proto.Message) {
xxx_messageInfo_PublicKeyData.Merge(m, src) xxx_messageInfo_PublicKeyData.Merge(dst, src)
} }
func (m *PublicKeyData) XXX_Size() int { func (m *PublicKeyData) XXX_Size() int {
return xxx_messageInfo_PublicKeyData.Size(m) return xxx_messageInfo_PublicKeyData.Size(m)
...@@ -885,17 +896,16 @@ func (m *GroupUTXOPubKey) Reset() { *m = GroupUTXOPubKey{} } ...@@ -885,17 +896,16 @@ func (m *GroupUTXOPubKey) Reset() { *m = GroupUTXOPubKey{} }
func (m *GroupUTXOPubKey) String() string { return proto.CompactTextString(m) } func (m *GroupUTXOPubKey) String() string { return proto.CompactTextString(m) }
func (*GroupUTXOPubKey) ProtoMessage() {} func (*GroupUTXOPubKey) ProtoMessage() {}
func (*GroupUTXOPubKey) Descriptor() ([]byte, []int) { func (*GroupUTXOPubKey) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{13} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{13}
} }
func (m *GroupUTXOPubKey) XXX_Unmarshal(b []byte) error { func (m *GroupUTXOPubKey) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupUTXOPubKey.Unmarshal(m, b) return xxx_messageInfo_GroupUTXOPubKey.Unmarshal(m, b)
} }
func (m *GroupUTXOPubKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *GroupUTXOPubKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GroupUTXOPubKey.Marshal(b, m, deterministic) return xxx_messageInfo_GroupUTXOPubKey.Marshal(b, m, deterministic)
} }
func (m *GroupUTXOPubKey) XXX_Merge(src proto.Message) { func (dst *GroupUTXOPubKey) XXX_Merge(src proto.Message) {
xxx_messageInfo_GroupUTXOPubKey.Merge(m, src) xxx_messageInfo_GroupUTXOPubKey.Merge(dst, src)
} }
func (m *GroupUTXOPubKey) XXX_Size() int { func (m *GroupUTXOPubKey) XXX_Size() int {
return xxx_messageInfo_GroupUTXOPubKey.Size(m) return xxx_messageInfo_GroupUTXOPubKey.Size(m)
...@@ -931,17 +941,16 @@ func (m *ResUTXOPubKeys) Reset() { *m = ResUTXOPubKeys{} } ...@@ -931,17 +941,16 @@ func (m *ResUTXOPubKeys) Reset() { *m = ResUTXOPubKeys{} }
func (m *ResUTXOPubKeys) String() string { return proto.CompactTextString(m) } func (m *ResUTXOPubKeys) String() string { return proto.CompactTextString(m) }
func (*ResUTXOPubKeys) ProtoMessage() {} func (*ResUTXOPubKeys) ProtoMessage() {}
func (*ResUTXOPubKeys) Descriptor() ([]byte, []int) { func (*ResUTXOPubKeys) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{14} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{14}
} }
func (m *ResUTXOPubKeys) XXX_Unmarshal(b []byte) error { func (m *ResUTXOPubKeys) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResUTXOPubKeys.Unmarshal(m, b) return xxx_messageInfo_ResUTXOPubKeys.Unmarshal(m, b)
} }
func (m *ResUTXOPubKeys) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ResUTXOPubKeys) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ResUTXOPubKeys.Marshal(b, m, deterministic) return xxx_messageInfo_ResUTXOPubKeys.Marshal(b, m, deterministic)
} }
func (m *ResUTXOPubKeys) XXX_Merge(src proto.Message) { func (dst *ResUTXOPubKeys) XXX_Merge(src proto.Message) {
xxx_messageInfo_ResUTXOPubKeys.Merge(m, src) xxx_messageInfo_ResUTXOPubKeys.Merge(dst, src)
} }
func (m *ResUTXOPubKeys) XXX_Size() int { func (m *ResUTXOPubKeys) XXX_Size() int {
return xxx_messageInfo_ResUTXOPubKeys.Size(m) return xxx_messageInfo_ResUTXOPubKeys.Size(m)
...@@ -971,17 +980,16 @@ func (m *ReqPrivacyToken) Reset() { *m = ReqPrivacyToken{} } ...@@ -971,17 +980,16 @@ func (m *ReqPrivacyToken) Reset() { *m = ReqPrivacyToken{} }
func (m *ReqPrivacyToken) String() string { return proto.CompactTextString(m) } func (m *ReqPrivacyToken) String() string { return proto.CompactTextString(m) }
func (*ReqPrivacyToken) ProtoMessage() {} func (*ReqPrivacyToken) ProtoMessage() {}
func (*ReqPrivacyToken) Descriptor() ([]byte, []int) { func (*ReqPrivacyToken) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{15} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{15}
} }
func (m *ReqPrivacyToken) XXX_Unmarshal(b []byte) error { func (m *ReqPrivacyToken) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqPrivacyToken.Unmarshal(m, b) return xxx_messageInfo_ReqPrivacyToken.Unmarshal(m, b)
} }
func (m *ReqPrivacyToken) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqPrivacyToken) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqPrivacyToken.Marshal(b, m, deterministic) return xxx_messageInfo_ReqPrivacyToken.Marshal(b, m, deterministic)
} }
func (m *ReqPrivacyToken) XXX_Merge(src proto.Message) { func (dst *ReqPrivacyToken) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqPrivacyToken.Merge(m, src) xxx_messageInfo_ReqPrivacyToken.Merge(dst, src)
} }
func (m *ReqPrivacyToken) XXX_Size() int { func (m *ReqPrivacyToken) XXX_Size() int {
return xxx_messageInfo_ReqPrivacyToken.Size(m) return xxx_messageInfo_ReqPrivacyToken.Size(m)
...@@ -1018,17 +1026,16 @@ func (m *AmountDetail) Reset() { *m = AmountDetail{} } ...@@ -1018,17 +1026,16 @@ func (m *AmountDetail) Reset() { *m = AmountDetail{} }
func (m *AmountDetail) String() string { return proto.CompactTextString(m) } func (m *AmountDetail) String() string { return proto.CompactTextString(m) }
func (*AmountDetail) ProtoMessage() {} func (*AmountDetail) ProtoMessage() {}
func (*AmountDetail) Descriptor() ([]byte, []int) { func (*AmountDetail) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{16} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{16}
} }
func (m *AmountDetail) XXX_Unmarshal(b []byte) error { func (m *AmountDetail) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AmountDetail.Unmarshal(m, b) return xxx_messageInfo_AmountDetail.Unmarshal(m, b)
} }
func (m *AmountDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *AmountDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AmountDetail.Marshal(b, m, deterministic) return xxx_messageInfo_AmountDetail.Marshal(b, m, deterministic)
} }
func (m *AmountDetail) XXX_Merge(src proto.Message) { func (dst *AmountDetail) XXX_Merge(src proto.Message) {
xxx_messageInfo_AmountDetail.Merge(m, src) xxx_messageInfo_AmountDetail.Merge(dst, src)
} }
func (m *AmountDetail) XXX_Size() int { func (m *AmountDetail) XXX_Size() int {
return xxx_messageInfo_AmountDetail.Size(m) return xxx_messageInfo_AmountDetail.Size(m)
...@@ -1064,17 +1071,16 @@ func (m *ReplyPrivacyAmounts) Reset() { *m = ReplyPrivacyAmounts{} } ...@@ -1064,17 +1071,16 @@ func (m *ReplyPrivacyAmounts) Reset() { *m = ReplyPrivacyAmounts{} }
func (m *ReplyPrivacyAmounts) String() string { return proto.CompactTextString(m) } func (m *ReplyPrivacyAmounts) String() string { return proto.CompactTextString(m) }
func (*ReplyPrivacyAmounts) ProtoMessage() {} func (*ReplyPrivacyAmounts) ProtoMessage() {}
func (*ReplyPrivacyAmounts) Descriptor() ([]byte, []int) { func (*ReplyPrivacyAmounts) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{17} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{17}
} }
func (m *ReplyPrivacyAmounts) XXX_Unmarshal(b []byte) error { func (m *ReplyPrivacyAmounts) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyPrivacyAmounts.Unmarshal(m, b) return xxx_messageInfo_ReplyPrivacyAmounts.Unmarshal(m, b)
} }
func (m *ReplyPrivacyAmounts) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReplyPrivacyAmounts) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyPrivacyAmounts.Marshal(b, m, deterministic) return xxx_messageInfo_ReplyPrivacyAmounts.Marshal(b, m, deterministic)
} }
func (m *ReplyPrivacyAmounts) XXX_Merge(src proto.Message) { func (dst *ReplyPrivacyAmounts) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyPrivacyAmounts.Merge(m, src) xxx_messageInfo_ReplyPrivacyAmounts.Merge(dst, src)
} }
func (m *ReplyPrivacyAmounts) XXX_Size() int { func (m *ReplyPrivacyAmounts) XXX_Size() int {
return xxx_messageInfo_ReplyPrivacyAmounts.Size(m) return xxx_messageInfo_ReplyPrivacyAmounts.Size(m)
...@@ -1103,17 +1109,16 @@ func (m *ReplyUTXOsOfAmount) Reset() { *m = ReplyUTXOsOfAmount{} } ...@@ -1103,17 +1109,16 @@ func (m *ReplyUTXOsOfAmount) Reset() { *m = ReplyUTXOsOfAmount{} }
func (m *ReplyUTXOsOfAmount) String() string { return proto.CompactTextString(m) } func (m *ReplyUTXOsOfAmount) String() string { return proto.CompactTextString(m) }
func (*ReplyUTXOsOfAmount) ProtoMessage() {} func (*ReplyUTXOsOfAmount) ProtoMessage() {}
func (*ReplyUTXOsOfAmount) Descriptor() ([]byte, []int) { func (*ReplyUTXOsOfAmount) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{18} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{18}
} }
func (m *ReplyUTXOsOfAmount) XXX_Unmarshal(b []byte) error { func (m *ReplyUTXOsOfAmount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyUTXOsOfAmount.Unmarshal(m, b) return xxx_messageInfo_ReplyUTXOsOfAmount.Unmarshal(m, b)
} }
func (m *ReplyUTXOsOfAmount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReplyUTXOsOfAmount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyUTXOsOfAmount.Marshal(b, m, deterministic) return xxx_messageInfo_ReplyUTXOsOfAmount.Marshal(b, m, deterministic)
} }
func (m *ReplyUTXOsOfAmount) XXX_Merge(src proto.Message) { func (dst *ReplyUTXOsOfAmount) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyUTXOsOfAmount.Merge(m, src) xxx_messageInfo_ReplyUTXOsOfAmount.Merge(dst, src)
} }
func (m *ReplyUTXOsOfAmount) XXX_Size() int { func (m *ReplyUTXOsOfAmount) XXX_Size() int {
return xxx_messageInfo_ReplyUTXOsOfAmount.Size(m) return xxx_messageInfo_ReplyUTXOsOfAmount.Size(m)
...@@ -1143,17 +1148,16 @@ func (m *ReceiptPrivacyOutput) Reset() { *m = ReceiptPrivacyOutput{} } ...@@ -1143,17 +1148,16 @@ func (m *ReceiptPrivacyOutput) Reset() { *m = ReceiptPrivacyOutput{} }
func (m *ReceiptPrivacyOutput) String() string { return proto.CompactTextString(m) } func (m *ReceiptPrivacyOutput) String() string { return proto.CompactTextString(m) }
func (*ReceiptPrivacyOutput) ProtoMessage() {} func (*ReceiptPrivacyOutput) ProtoMessage() {}
func (*ReceiptPrivacyOutput) Descriptor() ([]byte, []int) { func (*ReceiptPrivacyOutput) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{19} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{19}
} }
func (m *ReceiptPrivacyOutput) XXX_Unmarshal(b []byte) error { func (m *ReceiptPrivacyOutput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptPrivacyOutput.Unmarshal(m, b) return xxx_messageInfo_ReceiptPrivacyOutput.Unmarshal(m, b)
} }
func (m *ReceiptPrivacyOutput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReceiptPrivacyOutput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptPrivacyOutput.Marshal(b, m, deterministic) return xxx_messageInfo_ReceiptPrivacyOutput.Marshal(b, m, deterministic)
} }
func (m *ReceiptPrivacyOutput) XXX_Merge(src proto.Message) { func (dst *ReceiptPrivacyOutput) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptPrivacyOutput.Merge(m, src) xxx_messageInfo_ReceiptPrivacyOutput.Merge(dst, src)
} }
func (m *ReceiptPrivacyOutput) XXX_Size() int { func (m *ReceiptPrivacyOutput) XXX_Size() int {
return xxx_messageInfo_ReceiptPrivacyOutput.Size(m) return xxx_messageInfo_ReceiptPrivacyOutput.Size(m)
...@@ -1178,7 +1182,7 @@ func (m *ReceiptPrivacyOutput) GetKeyoutput() []*KeyOutput { ...@@ -1178,7 +1182,7 @@ func (m *ReceiptPrivacyOutput) GetKeyoutput() []*KeyOutput {
return nil return nil
} }
//各种amount额度的UTXO在链上的数量 // 各种amount额度的UTXO在链上的数量
type AmountsOfUTXO struct { type AmountsOfUTXO struct {
AmountMap map[int64]int64 `protobuf:"bytes,1,rep,name=amountMap,proto3" json:"amountMap,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` AmountMap map[int64]int64 `protobuf:"bytes,1,rep,name=amountMap,proto3" json:"amountMap,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
...@@ -1190,17 +1194,16 @@ func (m *AmountsOfUTXO) Reset() { *m = AmountsOfUTXO{} } ...@@ -1190,17 +1194,16 @@ func (m *AmountsOfUTXO) Reset() { *m = AmountsOfUTXO{} }
func (m *AmountsOfUTXO) String() string { return proto.CompactTextString(m) } func (m *AmountsOfUTXO) String() string { return proto.CompactTextString(m) }
func (*AmountsOfUTXO) ProtoMessage() {} func (*AmountsOfUTXO) ProtoMessage() {}
func (*AmountsOfUTXO) Descriptor() ([]byte, []int) { func (*AmountsOfUTXO) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{20} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{20}
} }
func (m *AmountsOfUTXO) XXX_Unmarshal(b []byte) error { func (m *AmountsOfUTXO) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AmountsOfUTXO.Unmarshal(m, b) return xxx_messageInfo_AmountsOfUTXO.Unmarshal(m, b)
} }
func (m *AmountsOfUTXO) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *AmountsOfUTXO) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AmountsOfUTXO.Marshal(b, m, deterministic) return xxx_messageInfo_AmountsOfUTXO.Marshal(b, m, deterministic)
} }
func (m *AmountsOfUTXO) XXX_Merge(src proto.Message) { func (dst *AmountsOfUTXO) XXX_Merge(src proto.Message) {
xxx_messageInfo_AmountsOfUTXO.Merge(m, src) xxx_messageInfo_AmountsOfUTXO.Merge(dst, src)
} }
func (m *AmountsOfUTXO) XXX_Size() int { func (m *AmountsOfUTXO) XXX_Size() int {
return xxx_messageInfo_AmountsOfUTXO.Size(m) return xxx_messageInfo_AmountsOfUTXO.Size(m)
...@@ -1229,17 +1232,16 @@ func (m *TokenNamesOfUTXO) Reset() { *m = TokenNamesOfUTXO{} } ...@@ -1229,17 +1232,16 @@ func (m *TokenNamesOfUTXO) Reset() { *m = TokenNamesOfUTXO{} }
func (m *TokenNamesOfUTXO) String() string { return proto.CompactTextString(m) } func (m *TokenNamesOfUTXO) String() string { return proto.CompactTextString(m) }
func (*TokenNamesOfUTXO) ProtoMessage() {} func (*TokenNamesOfUTXO) ProtoMessage() {}
func (*TokenNamesOfUTXO) Descriptor() ([]byte, []int) { func (*TokenNamesOfUTXO) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{21} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{21}
} }
func (m *TokenNamesOfUTXO) XXX_Unmarshal(b []byte) error { func (m *TokenNamesOfUTXO) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TokenNamesOfUTXO.Unmarshal(m, b) return xxx_messageInfo_TokenNamesOfUTXO.Unmarshal(m, b)
} }
func (m *TokenNamesOfUTXO) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *TokenNamesOfUTXO) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TokenNamesOfUTXO.Marshal(b, m, deterministic) return xxx_messageInfo_TokenNamesOfUTXO.Marshal(b, m, deterministic)
} }
func (m *TokenNamesOfUTXO) XXX_Merge(src proto.Message) { func (dst *TokenNamesOfUTXO) XXX_Merge(src proto.Message) {
xxx_messageInfo_TokenNamesOfUTXO.Merge(m, src) xxx_messageInfo_TokenNamesOfUTXO.Merge(dst, src)
} }
func (m *TokenNamesOfUTXO) XXX_Size() int { func (m *TokenNamesOfUTXO) XXX_Size() int {
return xxx_messageInfo_TokenNamesOfUTXO.Size(m) return xxx_messageInfo_TokenNamesOfUTXO.Size(m)
...@@ -1270,17 +1272,16 @@ func (m *UTXOGlobalIndex4Print) Reset() { *m = UTXOGlobalIndex4Print{} } ...@@ -1270,17 +1272,16 @@ func (m *UTXOGlobalIndex4Print) Reset() { *m = UTXOGlobalIndex4Print{} }
func (m *UTXOGlobalIndex4Print) String() string { return proto.CompactTextString(m) } func (m *UTXOGlobalIndex4Print) String() string { return proto.CompactTextString(m) }
func (*UTXOGlobalIndex4Print) ProtoMessage() {} func (*UTXOGlobalIndex4Print) ProtoMessage() {}
func (*UTXOGlobalIndex4Print) Descriptor() ([]byte, []int) { func (*UTXOGlobalIndex4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{22} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{22}
} }
func (m *UTXOGlobalIndex4Print) XXX_Unmarshal(b []byte) error { func (m *UTXOGlobalIndex4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOGlobalIndex4Print.Unmarshal(m, b) return xxx_messageInfo_UTXOGlobalIndex4Print.Unmarshal(m, b)
} }
func (m *UTXOGlobalIndex4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *UTXOGlobalIndex4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UTXOGlobalIndex4Print.Marshal(b, m, deterministic) return xxx_messageInfo_UTXOGlobalIndex4Print.Marshal(b, m, deterministic)
} }
func (m *UTXOGlobalIndex4Print) XXX_Merge(src proto.Message) { func (dst *UTXOGlobalIndex4Print) XXX_Merge(src proto.Message) {
xxx_messageInfo_UTXOGlobalIndex4Print.Merge(m, src) xxx_messageInfo_UTXOGlobalIndex4Print.Merge(dst, src)
} }
func (m *UTXOGlobalIndex4Print) XXX_Size() int { func (m *UTXOGlobalIndex4Print) XXX_Size() int {
return xxx_messageInfo_UTXOGlobalIndex4Print.Size(m) return xxx_messageInfo_UTXOGlobalIndex4Print.Size(m)
...@@ -1318,17 +1319,16 @@ func (m *KeyInput4Print) Reset() { *m = KeyInput4Print{} } ...@@ -1318,17 +1319,16 @@ func (m *KeyInput4Print) Reset() { *m = KeyInput4Print{} }
func (m *KeyInput4Print) String() string { return proto.CompactTextString(m) } func (m *KeyInput4Print) String() string { return proto.CompactTextString(m) }
func (*KeyInput4Print) ProtoMessage() {} func (*KeyInput4Print) ProtoMessage() {}
func (*KeyInput4Print) Descriptor() ([]byte, []int) { func (*KeyInput4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{23} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{23}
} }
func (m *KeyInput4Print) XXX_Unmarshal(b []byte) error { func (m *KeyInput4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyInput4Print.Unmarshal(m, b) return xxx_messageInfo_KeyInput4Print.Unmarshal(m, b)
} }
func (m *KeyInput4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *KeyInput4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyInput4Print.Marshal(b, m, deterministic) return xxx_messageInfo_KeyInput4Print.Marshal(b, m, deterministic)
} }
func (m *KeyInput4Print) XXX_Merge(src proto.Message) { func (dst *KeyInput4Print) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyInput4Print.Merge(m, src) xxx_messageInfo_KeyInput4Print.Merge(dst, src)
} }
func (m *KeyInput4Print) XXX_Size() int { func (m *KeyInput4Print) XXX_Size() int {
return xxx_messageInfo_KeyInput4Print.Size(m) return xxx_messageInfo_KeyInput4Print.Size(m)
...@@ -1372,17 +1372,16 @@ func (m *KeyOutput4Print) Reset() { *m = KeyOutput4Print{} } ...@@ -1372,17 +1372,16 @@ func (m *KeyOutput4Print) Reset() { *m = KeyOutput4Print{} }
func (m *KeyOutput4Print) String() string { return proto.CompactTextString(m) } func (m *KeyOutput4Print) String() string { return proto.CompactTextString(m) }
func (*KeyOutput4Print) ProtoMessage() {} func (*KeyOutput4Print) ProtoMessage() {}
func (*KeyOutput4Print) Descriptor() ([]byte, []int) { func (*KeyOutput4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{24} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{24}
} }
func (m *KeyOutput4Print) XXX_Unmarshal(b []byte) error { func (m *KeyOutput4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyOutput4Print.Unmarshal(m, b) return xxx_messageInfo_KeyOutput4Print.Unmarshal(m, b)
} }
func (m *KeyOutput4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *KeyOutput4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyOutput4Print.Marshal(b, m, deterministic) return xxx_messageInfo_KeyOutput4Print.Marshal(b, m, deterministic)
} }
func (m *KeyOutput4Print) XXX_Merge(src proto.Message) { func (dst *KeyOutput4Print) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyOutput4Print.Merge(m, src) xxx_messageInfo_KeyOutput4Print.Merge(dst, src)
} }
func (m *KeyOutput4Print) XXX_Size() int { func (m *KeyOutput4Print) XXX_Size() int {
return xxx_messageInfo_KeyOutput4Print.Size(m) return xxx_messageInfo_KeyOutput4Print.Size(m)
...@@ -1418,17 +1417,16 @@ func (m *PrivacyInput4Print) Reset() { *m = PrivacyInput4Print{} } ...@@ -1418,17 +1417,16 @@ func (m *PrivacyInput4Print) Reset() { *m = PrivacyInput4Print{} }
func (m *PrivacyInput4Print) String() string { return proto.CompactTextString(m) } func (m *PrivacyInput4Print) String() string { return proto.CompactTextString(m) }
func (*PrivacyInput4Print) ProtoMessage() {} func (*PrivacyInput4Print) ProtoMessage() {}
func (*PrivacyInput4Print) Descriptor() ([]byte, []int) { func (*PrivacyInput4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{25} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{25}
} }
func (m *PrivacyInput4Print) XXX_Unmarshal(b []byte) error { func (m *PrivacyInput4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyInput4Print.Unmarshal(m, b) return xxx_messageInfo_PrivacyInput4Print.Unmarshal(m, b)
} }
func (m *PrivacyInput4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PrivacyInput4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyInput4Print.Marshal(b, m, deterministic) return xxx_messageInfo_PrivacyInput4Print.Marshal(b, m, deterministic)
} }
func (m *PrivacyInput4Print) XXX_Merge(src proto.Message) { func (dst *PrivacyInput4Print) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyInput4Print.Merge(m, src) xxx_messageInfo_PrivacyInput4Print.Merge(dst, src)
} }
func (m *PrivacyInput4Print) XXX_Size() int { func (m *PrivacyInput4Print) XXX_Size() int {
return xxx_messageInfo_PrivacyInput4Print.Size(m) return xxx_messageInfo_PrivacyInput4Print.Size(m)
...@@ -1458,17 +1456,16 @@ func (m *PrivacyOutput4Print) Reset() { *m = PrivacyOutput4Print{} } ...@@ -1458,17 +1456,16 @@ func (m *PrivacyOutput4Print) Reset() { *m = PrivacyOutput4Print{} }
func (m *PrivacyOutput4Print) String() string { return proto.CompactTextString(m) } func (m *PrivacyOutput4Print) String() string { return proto.CompactTextString(m) }
func (*PrivacyOutput4Print) ProtoMessage() {} func (*PrivacyOutput4Print) ProtoMessage() {}
func (*PrivacyOutput4Print) Descriptor() ([]byte, []int) { func (*PrivacyOutput4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{26} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{26}
} }
func (m *PrivacyOutput4Print) XXX_Unmarshal(b []byte) error { func (m *PrivacyOutput4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyOutput4Print.Unmarshal(m, b) return xxx_messageInfo_PrivacyOutput4Print.Unmarshal(m, b)
} }
func (m *PrivacyOutput4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PrivacyOutput4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyOutput4Print.Marshal(b, m, deterministic) return xxx_messageInfo_PrivacyOutput4Print.Marshal(b, m, deterministic)
} }
func (m *PrivacyOutput4Print) XXX_Merge(src proto.Message) { func (dst *PrivacyOutput4Print) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyOutput4Print.Merge(m, src) xxx_messageInfo_PrivacyOutput4Print.Merge(dst, src)
} }
func (m *PrivacyOutput4Print) XXX_Size() int { func (m *PrivacyOutput4Print) XXX_Size() int {
return xxx_messageInfo_PrivacyOutput4Print.Size(m) return xxx_messageInfo_PrivacyOutput4Print.Size(m)
...@@ -1507,17 +1504,16 @@ func (m *Public2Privacy4Print) Reset() { *m = Public2Privacy4Print{} } ...@@ -1507,17 +1504,16 @@ func (m *Public2Privacy4Print) Reset() { *m = Public2Privacy4Print{} }
func (m *Public2Privacy4Print) String() string { return proto.CompactTextString(m) } func (m *Public2Privacy4Print) String() string { return proto.CompactTextString(m) }
func (*Public2Privacy4Print) ProtoMessage() {} func (*Public2Privacy4Print) ProtoMessage() {}
func (*Public2Privacy4Print) Descriptor() ([]byte, []int) { func (*Public2Privacy4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{27} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{27}
} }
func (m *Public2Privacy4Print) XXX_Unmarshal(b []byte) error { func (m *Public2Privacy4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Public2Privacy4Print.Unmarshal(m, b) return xxx_messageInfo_Public2Privacy4Print.Unmarshal(m, b)
} }
func (m *Public2Privacy4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *Public2Privacy4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Public2Privacy4Print.Marshal(b, m, deterministic) return xxx_messageInfo_Public2Privacy4Print.Marshal(b, m, deterministic)
} }
func (m *Public2Privacy4Print) XXX_Merge(src proto.Message) { func (dst *Public2Privacy4Print) XXX_Merge(src proto.Message) {
xxx_messageInfo_Public2Privacy4Print.Merge(m, src) xxx_messageInfo_Public2Privacy4Print.Merge(dst, src)
} }
func (m *Public2Privacy4Print) XXX_Size() int { func (m *Public2Privacy4Print) XXX_Size() int {
return xxx_messageInfo_Public2Privacy4Print.Size(m) return xxx_messageInfo_Public2Privacy4Print.Size(m)
...@@ -1571,17 +1567,16 @@ func (m *Privacy2Privacy4Print) Reset() { *m = Privacy2Privacy4Print{} } ...@@ -1571,17 +1567,16 @@ func (m *Privacy2Privacy4Print) Reset() { *m = Privacy2Privacy4Print{} }
func (m *Privacy2Privacy4Print) String() string { return proto.CompactTextString(m) } func (m *Privacy2Privacy4Print) String() string { return proto.CompactTextString(m) }
func (*Privacy2Privacy4Print) ProtoMessage() {} func (*Privacy2Privacy4Print) ProtoMessage() {}
func (*Privacy2Privacy4Print) Descriptor() ([]byte, []int) { func (*Privacy2Privacy4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{28} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{28}
} }
func (m *Privacy2Privacy4Print) XXX_Unmarshal(b []byte) error { func (m *Privacy2Privacy4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Privacy2Privacy4Print.Unmarshal(m, b) return xxx_messageInfo_Privacy2Privacy4Print.Unmarshal(m, b)
} }
func (m *Privacy2Privacy4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *Privacy2Privacy4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Privacy2Privacy4Print.Marshal(b, m, deterministic) return xxx_messageInfo_Privacy2Privacy4Print.Marshal(b, m, deterministic)
} }
func (m *Privacy2Privacy4Print) XXX_Merge(src proto.Message) { func (dst *Privacy2Privacy4Print) XXX_Merge(src proto.Message) {
xxx_messageInfo_Privacy2Privacy4Print.Merge(m, src) xxx_messageInfo_Privacy2Privacy4Print.Merge(dst, src)
} }
func (m *Privacy2Privacy4Print) XXX_Size() int { func (m *Privacy2Privacy4Print) XXX_Size() int {
return xxx_messageInfo_Privacy2Privacy4Print.Size(m) return xxx_messageInfo_Privacy2Privacy4Print.Size(m)
...@@ -1642,17 +1637,16 @@ func (m *Privacy2Public4Print) Reset() { *m = Privacy2Public4Print{} } ...@@ -1642,17 +1637,16 @@ func (m *Privacy2Public4Print) Reset() { *m = Privacy2Public4Print{} }
func (m *Privacy2Public4Print) String() string { return proto.CompactTextString(m) } func (m *Privacy2Public4Print) String() string { return proto.CompactTextString(m) }
func (*Privacy2Public4Print) ProtoMessage() {} func (*Privacy2Public4Print) ProtoMessage() {}
func (*Privacy2Public4Print) Descriptor() ([]byte, []int) { func (*Privacy2Public4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{29} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{29}
} }
func (m *Privacy2Public4Print) XXX_Unmarshal(b []byte) error { func (m *Privacy2Public4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Privacy2Public4Print.Unmarshal(m, b) return xxx_messageInfo_Privacy2Public4Print.Unmarshal(m, b)
} }
func (m *Privacy2Public4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *Privacy2Public4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Privacy2Public4Print.Marshal(b, m, deterministic) return xxx_messageInfo_Privacy2Public4Print.Marshal(b, m, deterministic)
} }
func (m *Privacy2Public4Print) XXX_Merge(src proto.Message) { func (dst *Privacy2Public4Print) XXX_Merge(src proto.Message) {
xxx_messageInfo_Privacy2Public4Print.Merge(m, src) xxx_messageInfo_Privacy2Public4Print.Merge(dst, src)
} }
func (m *Privacy2Public4Print) XXX_Size() int { func (m *Privacy2Public4Print) XXX_Size() int {
return xxx_messageInfo_Privacy2Public4Print.Size(m) return xxx_messageInfo_Privacy2Public4Print.Size(m)
...@@ -1714,17 +1708,16 @@ func (m *PrivacyAction4Print) Reset() { *m = PrivacyAction4Print{} } ...@@ -1714,17 +1708,16 @@ func (m *PrivacyAction4Print) Reset() { *m = PrivacyAction4Print{} }
func (m *PrivacyAction4Print) String() string { return proto.CompactTextString(m) } func (m *PrivacyAction4Print) String() string { return proto.CompactTextString(m) }
func (*PrivacyAction4Print) ProtoMessage() {} func (*PrivacyAction4Print) ProtoMessage() {}
func (*PrivacyAction4Print) Descriptor() ([]byte, []int) { func (*PrivacyAction4Print) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{30} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{30}
} }
func (m *PrivacyAction4Print) XXX_Unmarshal(b []byte) error { func (m *PrivacyAction4Print) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyAction4Print.Unmarshal(m, b) return xxx_messageInfo_PrivacyAction4Print.Unmarshal(m, b)
} }
func (m *PrivacyAction4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PrivacyAction4Print) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyAction4Print.Marshal(b, m, deterministic) return xxx_messageInfo_PrivacyAction4Print.Marshal(b, m, deterministic)
} }
func (m *PrivacyAction4Print) XXX_Merge(src proto.Message) { func (dst *PrivacyAction4Print) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyAction4Print.Merge(m, src) xxx_messageInfo_PrivacyAction4Print.Merge(dst, src)
} }
func (m *PrivacyAction4Print) XXX_Size() int { func (m *PrivacyAction4Print) XXX_Size() int {
return xxx_messageInfo_PrivacyAction4Print.Size(m) return xxx_messageInfo_PrivacyAction4Print.Size(m)
...@@ -1892,9 +1885,9 @@ type ReqCreateUTXOs struct { ...@@ -1892,9 +1885,9 @@ type ReqCreateUTXOs struct {
Amount int64 `protobuf:"varint,4,opt,name=amount,proto3" json:"amount,omitempty"` Amount int64 `protobuf:"varint,4,opt,name=amount,proto3" json:"amount,omitempty"`
Note string `protobuf:"bytes,5,opt,name=note,proto3" json:"note,omitempty"` Note string `protobuf:"bytes,5,opt,name=note,proto3" json:"note,omitempty"`
Sender string `protobuf:"bytes,6,opt,name=sender,proto3" json:"sender,omitempty"` Sender string `protobuf:"bytes,6,opt,name=sender,proto3" json:"sender,omitempty"`
Count int32 `protobuf:"varint,7,opt,name=count,proto3" json:"count,omitempty"`
Pubkeypair string `protobuf:"bytes,8,opt,name=pubkeypair,proto3" json:"pubkeypair,omitempty"` Pubkeypair string `protobuf:"bytes,8,opt,name=pubkeypair,proto3" json:"pubkeypair,omitempty"`
Expire int64 `protobuf:"varint,9,opt,name=expire,proto3" json:"expire,omitempty"` Expire int64 `protobuf:"varint,9,opt,name=expire,proto3" json:"expire,omitempty"`
AssetExec string `protobuf:"bytes,10,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -1904,17 +1897,16 @@ func (m *ReqCreateUTXOs) Reset() { *m = ReqCreateUTXOs{} } ...@@ -1904,17 +1897,16 @@ func (m *ReqCreateUTXOs) Reset() { *m = ReqCreateUTXOs{} }
func (m *ReqCreateUTXOs) String() string { return proto.CompactTextString(m) } func (m *ReqCreateUTXOs) String() string { return proto.CompactTextString(m) }
func (*ReqCreateUTXOs) ProtoMessage() {} func (*ReqCreateUTXOs) ProtoMessage() {}
func (*ReqCreateUTXOs) Descriptor() ([]byte, []int) { func (*ReqCreateUTXOs) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{31} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{31}
} }
func (m *ReqCreateUTXOs) XXX_Unmarshal(b []byte) error { func (m *ReqCreateUTXOs) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCreateUTXOs.Unmarshal(m, b) return xxx_messageInfo_ReqCreateUTXOs.Unmarshal(m, b)
} }
func (m *ReqCreateUTXOs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqCreateUTXOs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqCreateUTXOs.Marshal(b, m, deterministic) return xxx_messageInfo_ReqCreateUTXOs.Marshal(b, m, deterministic)
} }
func (m *ReqCreateUTXOs) XXX_Merge(src proto.Message) { func (dst *ReqCreateUTXOs) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqCreateUTXOs.Merge(m, src) xxx_messageInfo_ReqCreateUTXOs.Merge(dst, src)
} }
func (m *ReqCreateUTXOs) XXX_Size() int { func (m *ReqCreateUTXOs) XXX_Size() int {
return xxx_messageInfo_ReqCreateUTXOs.Size(m) return xxx_messageInfo_ReqCreateUTXOs.Size(m)
...@@ -1953,13 +1945,6 @@ func (m *ReqCreateUTXOs) GetSender() string { ...@@ -1953,13 +1945,6 @@ func (m *ReqCreateUTXOs) GetSender() string {
return "" return ""
} }
func (m *ReqCreateUTXOs) GetCount() int32 {
if m != nil {
return m.Count
}
return 0
}
func (m *ReqCreateUTXOs) GetPubkeypair() string { func (m *ReqCreateUTXOs) GetPubkeypair() string {
if m != nil { if m != nil {
return m.Pubkeypair return m.Pubkeypair
...@@ -1974,6 +1959,13 @@ func (m *ReqCreateUTXOs) GetExpire() int64 { ...@@ -1974,6 +1959,13 @@ func (m *ReqCreateUTXOs) GetExpire() int64 {
return 0 return 0
} }
func (m *ReqCreateUTXOs) GetAssetExec() string {
if m != nil {
return m.AssetExec
}
return ""
}
type ReplyPrivacyPkPair struct { type ReplyPrivacyPkPair struct {
ShowSuccessful bool `protobuf:"varint,1,opt,name=showSuccessful,proto3" json:"showSuccessful,omitempty"` ShowSuccessful bool `protobuf:"varint,1,opt,name=showSuccessful,proto3" json:"showSuccessful,omitempty"`
// string viewPub = 2; // string viewPub = 2;
...@@ -1988,17 +1980,16 @@ func (m *ReplyPrivacyPkPair) Reset() { *m = ReplyPrivacyPkPair{} } ...@@ -1988,17 +1980,16 @@ func (m *ReplyPrivacyPkPair) Reset() { *m = ReplyPrivacyPkPair{} }
func (m *ReplyPrivacyPkPair) String() string { return proto.CompactTextString(m) } func (m *ReplyPrivacyPkPair) String() string { return proto.CompactTextString(m) }
func (*ReplyPrivacyPkPair) ProtoMessage() {} func (*ReplyPrivacyPkPair) ProtoMessage() {}
func (*ReplyPrivacyPkPair) Descriptor() ([]byte, []int) { func (*ReplyPrivacyPkPair) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{32} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{32}
} }
func (m *ReplyPrivacyPkPair) XXX_Unmarshal(b []byte) error { func (m *ReplyPrivacyPkPair) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyPrivacyPkPair.Unmarshal(m, b) return xxx_messageInfo_ReplyPrivacyPkPair.Unmarshal(m, b)
} }
func (m *ReplyPrivacyPkPair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReplyPrivacyPkPair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyPrivacyPkPair.Marshal(b, m, deterministic) return xxx_messageInfo_ReplyPrivacyPkPair.Marshal(b, m, deterministic)
} }
func (m *ReplyPrivacyPkPair) XXX_Merge(src proto.Message) { func (dst *ReplyPrivacyPkPair) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyPrivacyPkPair.Merge(m, src) xxx_messageInfo_ReplyPrivacyPkPair.Merge(dst, src)
} }
func (m *ReplyPrivacyPkPair) XXX_Size() int { func (m *ReplyPrivacyPkPair) XXX_Size() int {
return xxx_messageInfo_ReplyPrivacyPkPair.Size(m) return xxx_messageInfo_ReplyPrivacyPkPair.Size(m)
...@@ -2035,17 +2026,16 @@ func (m *ReqPrivBal4AddrToken) Reset() { *m = ReqPrivBal4AddrToken{} } ...@@ -2035,17 +2026,16 @@ func (m *ReqPrivBal4AddrToken) Reset() { *m = ReqPrivBal4AddrToken{} }
func (m *ReqPrivBal4AddrToken) String() string { return proto.CompactTextString(m) } func (m *ReqPrivBal4AddrToken) String() string { return proto.CompactTextString(m) }
func (*ReqPrivBal4AddrToken) ProtoMessage() {} func (*ReqPrivBal4AddrToken) ProtoMessage() {}
func (*ReqPrivBal4AddrToken) Descriptor() ([]byte, []int) { func (*ReqPrivBal4AddrToken) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{33} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{33}
} }
func (m *ReqPrivBal4AddrToken) XXX_Unmarshal(b []byte) error { func (m *ReqPrivBal4AddrToken) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqPrivBal4AddrToken.Unmarshal(m, b) return xxx_messageInfo_ReqPrivBal4AddrToken.Unmarshal(m, b)
} }
func (m *ReqPrivBal4AddrToken) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqPrivBal4AddrToken) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqPrivBal4AddrToken.Marshal(b, m, deterministic) return xxx_messageInfo_ReqPrivBal4AddrToken.Marshal(b, m, deterministic)
} }
func (m *ReqPrivBal4AddrToken) XXX_Merge(src proto.Message) { func (dst *ReqPrivBal4AddrToken) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqPrivBal4AddrToken.Merge(m, src) xxx_messageInfo_ReqPrivBal4AddrToken.Merge(dst, src)
} }
func (m *ReqPrivBal4AddrToken) XXX_Size() int { func (m *ReqPrivBal4AddrToken) XXX_Size() int {
return xxx_messageInfo_ReqPrivBal4AddrToken.Size(m) return xxx_messageInfo_ReqPrivBal4AddrToken.Size(m)
...@@ -2082,17 +2072,16 @@ func (m *ReplyPrivacyBalance) Reset() { *m = ReplyPrivacyBalance{} } ...@@ -2082,17 +2072,16 @@ func (m *ReplyPrivacyBalance) Reset() { *m = ReplyPrivacyBalance{} }
func (m *ReplyPrivacyBalance) String() string { return proto.CompactTextString(m) } func (m *ReplyPrivacyBalance) String() string { return proto.CompactTextString(m) }
func (*ReplyPrivacyBalance) ProtoMessage() {} func (*ReplyPrivacyBalance) ProtoMessage() {}
func (*ReplyPrivacyBalance) Descriptor() ([]byte, []int) { func (*ReplyPrivacyBalance) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{34} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{34}
} }
func (m *ReplyPrivacyBalance) XXX_Unmarshal(b []byte) error { func (m *ReplyPrivacyBalance) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyPrivacyBalance.Unmarshal(m, b) return xxx_messageInfo_ReplyPrivacyBalance.Unmarshal(m, b)
} }
func (m *ReplyPrivacyBalance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReplyPrivacyBalance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyPrivacyBalance.Marshal(b, m, deterministic) return xxx_messageInfo_ReplyPrivacyBalance.Marshal(b, m, deterministic)
} }
func (m *ReplyPrivacyBalance) XXX_Merge(src proto.Message) { func (dst *ReplyPrivacyBalance) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyPrivacyBalance.Merge(m, src) xxx_messageInfo_ReplyPrivacyBalance.Merge(dst, src)
} }
func (m *ReplyPrivacyBalance) XXX_Size() int { func (m *ReplyPrivacyBalance) XXX_Size() int {
return xxx_messageInfo_ReplyPrivacyBalance.Size(m) return xxx_messageInfo_ReplyPrivacyBalance.Size(m)
...@@ -2137,17 +2126,16 @@ func (m *PrivacyDBStore) Reset() { *m = PrivacyDBStore{} } ...@@ -2137,17 +2126,16 @@ func (m *PrivacyDBStore) Reset() { *m = PrivacyDBStore{} }
func (m *PrivacyDBStore) String() string { return proto.CompactTextString(m) } func (m *PrivacyDBStore) String() string { return proto.CompactTextString(m) }
func (*PrivacyDBStore) ProtoMessage() {} func (*PrivacyDBStore) ProtoMessage() {}
func (*PrivacyDBStore) Descriptor() ([]byte, []int) { func (*PrivacyDBStore) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{35} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{35}
} }
func (m *PrivacyDBStore) XXX_Unmarshal(b []byte) error { func (m *PrivacyDBStore) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyDBStore.Unmarshal(m, b) return xxx_messageInfo_PrivacyDBStore.Unmarshal(m, b)
} }
func (m *PrivacyDBStore) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PrivacyDBStore) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyDBStore.Marshal(b, m, deterministic) return xxx_messageInfo_PrivacyDBStore.Marshal(b, m, deterministic)
} }
func (m *PrivacyDBStore) XXX_Merge(src proto.Message) { func (dst *PrivacyDBStore) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyDBStore.Merge(m, src) xxx_messageInfo_PrivacyDBStore.Merge(dst, src)
} }
func (m *PrivacyDBStore) XXX_Size() int { func (m *PrivacyDBStore) XXX_Size() int {
return xxx_messageInfo_PrivacyDBStore.Size(m) return xxx_messageInfo_PrivacyDBStore.Size(m)
...@@ -2240,17 +2228,16 @@ func (m *UTXO) Reset() { *m = UTXO{} } ...@@ -2240,17 +2228,16 @@ func (m *UTXO) Reset() { *m = UTXO{} }
func (m *UTXO) String() string { return proto.CompactTextString(m) } func (m *UTXO) String() string { return proto.CompactTextString(m) }
func (*UTXO) ProtoMessage() {} func (*UTXO) ProtoMessage() {}
func (*UTXO) Descriptor() ([]byte, []int) { func (*UTXO) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{36} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{36}
} }
func (m *UTXO) XXX_Unmarshal(b []byte) error { func (m *UTXO) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXO.Unmarshal(m, b) return xxx_messageInfo_UTXO.Unmarshal(m, b)
} }
func (m *UTXO) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *UTXO) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UTXO.Marshal(b, m, deterministic) return xxx_messageInfo_UTXO.Marshal(b, m, deterministic)
} }
func (m *UTXO) XXX_Merge(src proto.Message) { func (dst *UTXO) XXX_Merge(src proto.Message) {
xxx_messageInfo_UTXO.Merge(m, src) xxx_messageInfo_UTXO.Merge(dst, src)
} }
func (m *UTXO) XXX_Size() int { func (m *UTXO) XXX_Size() int {
return xxx_messageInfo_UTXO.Size(m) return xxx_messageInfo_UTXO.Size(m)
...@@ -2288,17 +2275,16 @@ func (m *UTXOHaveTxHash) Reset() { *m = UTXOHaveTxHash{} } ...@@ -2288,17 +2275,16 @@ func (m *UTXOHaveTxHash) Reset() { *m = UTXOHaveTxHash{} }
func (m *UTXOHaveTxHash) String() string { return proto.CompactTextString(m) } func (m *UTXOHaveTxHash) String() string { return proto.CompactTextString(m) }
func (*UTXOHaveTxHash) ProtoMessage() {} func (*UTXOHaveTxHash) ProtoMessage() {}
func (*UTXOHaveTxHash) Descriptor() ([]byte, []int) { func (*UTXOHaveTxHash) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{37} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{37}
} }
func (m *UTXOHaveTxHash) XXX_Unmarshal(b []byte) error { func (m *UTXOHaveTxHash) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOHaveTxHash.Unmarshal(m, b) return xxx_messageInfo_UTXOHaveTxHash.Unmarshal(m, b)
} }
func (m *UTXOHaveTxHash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *UTXOHaveTxHash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UTXOHaveTxHash.Marshal(b, m, deterministic) return xxx_messageInfo_UTXOHaveTxHash.Marshal(b, m, deterministic)
} }
func (m *UTXOHaveTxHash) XXX_Merge(src proto.Message) { func (dst *UTXOHaveTxHash) XXX_Merge(src proto.Message) {
xxx_messageInfo_UTXOHaveTxHash.Merge(m, src) xxx_messageInfo_UTXOHaveTxHash.Merge(dst, src)
} }
func (m *UTXOHaveTxHash) XXX_Size() int { func (m *UTXOHaveTxHash) XXX_Size() int {
return xxx_messageInfo_UTXOHaveTxHash.Size(m) return xxx_messageInfo_UTXOHaveTxHash.Size(m)
...@@ -2341,17 +2327,16 @@ func (m *UTXOs) Reset() { *m = UTXOs{} } ...@@ -2341,17 +2327,16 @@ func (m *UTXOs) Reset() { *m = UTXOs{} }
func (m *UTXOs) String() string { return proto.CompactTextString(m) } func (m *UTXOs) String() string { return proto.CompactTextString(m) }
func (*UTXOs) ProtoMessage() {} func (*UTXOs) ProtoMessage() {}
func (*UTXOs) Descriptor() ([]byte, []int) { func (*UTXOs) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{38} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{38}
} }
func (m *UTXOs) XXX_Unmarshal(b []byte) error { func (m *UTXOs) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOs.Unmarshal(m, b) return xxx_messageInfo_UTXOs.Unmarshal(m, b)
} }
func (m *UTXOs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *UTXOs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UTXOs.Marshal(b, m, deterministic) return xxx_messageInfo_UTXOs.Marshal(b, m, deterministic)
} }
func (m *UTXOs) XXX_Merge(src proto.Message) { func (dst *UTXOs) XXX_Merge(src proto.Message) {
xxx_messageInfo_UTXOs.Merge(m, src) xxx_messageInfo_UTXOs.Merge(dst, src)
} }
func (m *UTXOs) XXX_Size() int { func (m *UTXOs) XXX_Size() int {
return xxx_messageInfo_UTXOs.Size(m) return xxx_messageInfo_UTXOs.Size(m)
...@@ -2380,17 +2365,16 @@ func (m *UTXOHaveTxHashs) Reset() { *m = UTXOHaveTxHashs{} } ...@@ -2380,17 +2365,16 @@ func (m *UTXOHaveTxHashs) Reset() { *m = UTXOHaveTxHashs{} }
func (m *UTXOHaveTxHashs) String() string { return proto.CompactTextString(m) } func (m *UTXOHaveTxHashs) String() string { return proto.CompactTextString(m) }
func (*UTXOHaveTxHashs) ProtoMessage() {} func (*UTXOHaveTxHashs) ProtoMessage() {}
func (*UTXOHaveTxHashs) Descriptor() ([]byte, []int) { func (*UTXOHaveTxHashs) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{39} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{39}
} }
func (m *UTXOHaveTxHashs) XXX_Unmarshal(b []byte) error { func (m *UTXOHaveTxHashs) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOHaveTxHashs.Unmarshal(m, b) return xxx_messageInfo_UTXOHaveTxHashs.Unmarshal(m, b)
} }
func (m *UTXOHaveTxHashs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *UTXOHaveTxHashs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UTXOHaveTxHashs.Marshal(b, m, deterministic) return xxx_messageInfo_UTXOHaveTxHashs.Marshal(b, m, deterministic)
} }
func (m *UTXOHaveTxHashs) XXX_Merge(src proto.Message) { func (dst *UTXOHaveTxHashs) XXX_Merge(src proto.Message) {
xxx_messageInfo_UTXOHaveTxHashs.Merge(m, src) xxx_messageInfo_UTXOHaveTxHashs.Merge(dst, src)
} }
func (m *UTXOHaveTxHashs) XXX_Size() int { func (m *UTXOHaveTxHashs) XXX_Size() int {
return xxx_messageInfo_UTXOHaveTxHashs.Size(m) return xxx_messageInfo_UTXOHaveTxHashs.Size(m)
...@@ -2421,17 +2405,16 @@ func (m *ReqUTXOGlobalIndex) Reset() { *m = ReqUTXOGlobalIndex{} } ...@@ -2421,17 +2405,16 @@ func (m *ReqUTXOGlobalIndex) Reset() { *m = ReqUTXOGlobalIndex{} }
func (m *ReqUTXOGlobalIndex) String() string { return proto.CompactTextString(m) } func (m *ReqUTXOGlobalIndex) String() string { return proto.CompactTextString(m) }
func (*ReqUTXOGlobalIndex) ProtoMessage() {} func (*ReqUTXOGlobalIndex) ProtoMessage() {}
func (*ReqUTXOGlobalIndex) Descriptor() ([]byte, []int) { func (*ReqUTXOGlobalIndex) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{40} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{40}
} }
func (m *ReqUTXOGlobalIndex) XXX_Unmarshal(b []byte) error { func (m *ReqUTXOGlobalIndex) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqUTXOGlobalIndex.Unmarshal(m, b) return xxx_messageInfo_ReqUTXOGlobalIndex.Unmarshal(m, b)
} }
func (m *ReqUTXOGlobalIndex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqUTXOGlobalIndex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqUTXOGlobalIndex.Marshal(b, m, deterministic) return xxx_messageInfo_ReqUTXOGlobalIndex.Marshal(b, m, deterministic)
} }
func (m *ReqUTXOGlobalIndex) XXX_Merge(src proto.Message) { func (dst *ReqUTXOGlobalIndex) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqUTXOGlobalIndex.Merge(m, src) xxx_messageInfo_ReqUTXOGlobalIndex.Merge(dst, src)
} }
func (m *ReqUTXOGlobalIndex) XXX_Size() int { func (m *ReqUTXOGlobalIndex) XXX_Size() int {
return xxx_messageInfo_ReqUTXOGlobalIndex.Size(m) return xxx_messageInfo_ReqUTXOGlobalIndex.Size(m)
...@@ -2475,17 +2458,16 @@ func (m *UTXOBasic) Reset() { *m = UTXOBasic{} } ...@@ -2475,17 +2458,16 @@ func (m *UTXOBasic) Reset() { *m = UTXOBasic{} }
func (m *UTXOBasic) String() string { return proto.CompactTextString(m) } func (m *UTXOBasic) String() string { return proto.CompactTextString(m) }
func (*UTXOBasic) ProtoMessage() {} func (*UTXOBasic) ProtoMessage() {}
func (*UTXOBasic) Descriptor() ([]byte, []int) { func (*UTXOBasic) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{41} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{41}
} }
func (m *UTXOBasic) XXX_Unmarshal(b []byte) error { func (m *UTXOBasic) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOBasic.Unmarshal(m, b) return xxx_messageInfo_UTXOBasic.Unmarshal(m, b)
} }
func (m *UTXOBasic) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *UTXOBasic) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UTXOBasic.Marshal(b, m, deterministic) return xxx_messageInfo_UTXOBasic.Marshal(b, m, deterministic)
} }
func (m *UTXOBasic) XXX_Merge(src proto.Message) { func (dst *UTXOBasic) XXX_Merge(src proto.Message) {
xxx_messageInfo_UTXOBasic.Merge(m, src) xxx_messageInfo_UTXOBasic.Merge(dst, src)
} }
func (m *UTXOBasic) XXX_Size() int { func (m *UTXOBasic) XXX_Size() int {
return xxx_messageInfo_UTXOBasic.Size(m) return xxx_messageInfo_UTXOBasic.Size(m)
...@@ -2522,17 +2504,16 @@ func (m *UTXOIndex4Amount) Reset() { *m = UTXOIndex4Amount{} } ...@@ -2522,17 +2504,16 @@ func (m *UTXOIndex4Amount) Reset() { *m = UTXOIndex4Amount{} }
func (m *UTXOIndex4Amount) String() string { return proto.CompactTextString(m) } func (m *UTXOIndex4Amount) String() string { return proto.CompactTextString(m) }
func (*UTXOIndex4Amount) ProtoMessage() {} func (*UTXOIndex4Amount) ProtoMessage() {}
func (*UTXOIndex4Amount) Descriptor() ([]byte, []int) { func (*UTXOIndex4Amount) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{42} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{42}
} }
func (m *UTXOIndex4Amount) XXX_Unmarshal(b []byte) error { func (m *UTXOIndex4Amount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOIndex4Amount.Unmarshal(m, b) return xxx_messageInfo_UTXOIndex4Amount.Unmarshal(m, b)
} }
func (m *UTXOIndex4Amount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *UTXOIndex4Amount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UTXOIndex4Amount.Marshal(b, m, deterministic) return xxx_messageInfo_UTXOIndex4Amount.Marshal(b, m, deterministic)
} }
func (m *UTXOIndex4Amount) XXX_Merge(src proto.Message) { func (dst *UTXOIndex4Amount) XXX_Merge(src proto.Message) {
xxx_messageInfo_UTXOIndex4Amount.Merge(m, src) xxx_messageInfo_UTXOIndex4Amount.Merge(dst, src)
} }
func (m *UTXOIndex4Amount) XXX_Size() int { func (m *UTXOIndex4Amount) XXX_Size() int {
return xxx_messageInfo_UTXOIndex4Amount.Size(m) return xxx_messageInfo_UTXOIndex4Amount.Size(m)
...@@ -2570,17 +2551,16 @@ func (m *ResUTXOGlobalIndex) Reset() { *m = ResUTXOGlobalIndex{} } ...@@ -2570,17 +2551,16 @@ func (m *ResUTXOGlobalIndex) Reset() { *m = ResUTXOGlobalIndex{} }
func (m *ResUTXOGlobalIndex) String() string { return proto.CompactTextString(m) } func (m *ResUTXOGlobalIndex) String() string { return proto.CompactTextString(m) }
func (*ResUTXOGlobalIndex) ProtoMessage() {} func (*ResUTXOGlobalIndex) ProtoMessage() {}
func (*ResUTXOGlobalIndex) Descriptor() ([]byte, []int) { func (*ResUTXOGlobalIndex) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{43} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{43}
} }
func (m *ResUTXOGlobalIndex) XXX_Unmarshal(b []byte) error { func (m *ResUTXOGlobalIndex) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResUTXOGlobalIndex.Unmarshal(m, b) return xxx_messageInfo_ResUTXOGlobalIndex.Unmarshal(m, b)
} }
func (m *ResUTXOGlobalIndex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ResUTXOGlobalIndex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ResUTXOGlobalIndex.Marshal(b, m, deterministic) return xxx_messageInfo_ResUTXOGlobalIndex.Marshal(b, m, deterministic)
} }
func (m *ResUTXOGlobalIndex) XXX_Merge(src proto.Message) { func (dst *ResUTXOGlobalIndex) XXX_Merge(src proto.Message) {
xxx_messageInfo_ResUTXOGlobalIndex.Merge(m, src) xxx_messageInfo_ResUTXOGlobalIndex.Merge(dst, src)
} }
func (m *ResUTXOGlobalIndex) XXX_Size() int { func (m *ResUTXOGlobalIndex) XXX_Size() int {
return xxx_messageInfo_ResUTXOGlobalIndex.Size(m) return xxx_messageInfo_ResUTXOGlobalIndex.Size(m)
...@@ -2628,17 +2608,16 @@ func (m *FTXOsSTXOsInOneTx) Reset() { *m = FTXOsSTXOsInOneTx{} } ...@@ -2628,17 +2608,16 @@ func (m *FTXOsSTXOsInOneTx) Reset() { *m = FTXOsSTXOsInOneTx{} }
func (m *FTXOsSTXOsInOneTx) String() string { return proto.CompactTextString(m) } func (m *FTXOsSTXOsInOneTx) String() string { return proto.CompactTextString(m) }
func (*FTXOsSTXOsInOneTx) ProtoMessage() {} func (*FTXOsSTXOsInOneTx) ProtoMessage() {}
func (*FTXOsSTXOsInOneTx) Descriptor() ([]byte, []int) { func (*FTXOsSTXOsInOneTx) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{44} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{44}
} }
func (m *FTXOsSTXOsInOneTx) XXX_Unmarshal(b []byte) error { func (m *FTXOsSTXOsInOneTx) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FTXOsSTXOsInOneTx.Unmarshal(m, b) return xxx_messageInfo_FTXOsSTXOsInOneTx.Unmarshal(m, b)
} }
func (m *FTXOsSTXOsInOneTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *FTXOsSTXOsInOneTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FTXOsSTXOsInOneTx.Marshal(b, m, deterministic) return xxx_messageInfo_FTXOsSTXOsInOneTx.Marshal(b, m, deterministic)
} }
func (m *FTXOsSTXOsInOneTx) XXX_Merge(src proto.Message) { func (dst *FTXOsSTXOsInOneTx) XXX_Merge(src proto.Message) {
xxx_messageInfo_FTXOsSTXOsInOneTx.Merge(m, src) xxx_messageInfo_FTXOsSTXOsInOneTx.Merge(dst, src)
} }
func (m *FTXOsSTXOsInOneTx) XXX_Size() int { func (m *FTXOsSTXOsInOneTx) XXX_Size() int {
return xxx_messageInfo_FTXOsSTXOsInOneTx.Size(m) return xxx_messageInfo_FTXOsSTXOsInOneTx.Size(m)
...@@ -2696,17 +2675,16 @@ func (m *RealKeyInput) Reset() { *m = RealKeyInput{} } ...@@ -2696,17 +2675,16 @@ func (m *RealKeyInput) Reset() { *m = RealKeyInput{} }
func (m *RealKeyInput) String() string { return proto.CompactTextString(m) } func (m *RealKeyInput) String() string { return proto.CompactTextString(m) }
func (*RealKeyInput) ProtoMessage() {} func (*RealKeyInput) ProtoMessage() {}
func (*RealKeyInput) Descriptor() ([]byte, []int) { func (*RealKeyInput) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{45} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{45}
} }
func (m *RealKeyInput) XXX_Unmarshal(b []byte) error { func (m *RealKeyInput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RealKeyInput.Unmarshal(m, b) return xxx_messageInfo_RealKeyInput.Unmarshal(m, b)
} }
func (m *RealKeyInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RealKeyInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RealKeyInput.Marshal(b, m, deterministic) return xxx_messageInfo_RealKeyInput.Marshal(b, m, deterministic)
} }
func (m *RealKeyInput) XXX_Merge(src proto.Message) { func (dst *RealKeyInput) XXX_Merge(src proto.Message) {
xxx_messageInfo_RealKeyInput.Merge(m, src) xxx_messageInfo_RealKeyInput.Merge(dst, src)
} }
func (m *RealKeyInput) XXX_Size() int { func (m *RealKeyInput) XXX_Size() int {
return xxx_messageInfo_RealKeyInput.Size(m) return xxx_messageInfo_RealKeyInput.Size(m)
...@@ -2742,17 +2720,16 @@ func (m *UTXOBasics) Reset() { *m = UTXOBasics{} } ...@@ -2742,17 +2720,16 @@ func (m *UTXOBasics) Reset() { *m = UTXOBasics{} }
func (m *UTXOBasics) String() string { return proto.CompactTextString(m) } func (m *UTXOBasics) String() string { return proto.CompactTextString(m) }
func (*UTXOBasics) ProtoMessage() {} func (*UTXOBasics) ProtoMessage() {}
func (*UTXOBasics) Descriptor() ([]byte, []int) { func (*UTXOBasics) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{46} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{46}
} }
func (m *UTXOBasics) XXX_Unmarshal(b []byte) error { func (m *UTXOBasics) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UTXOBasics.Unmarshal(m, b) return xxx_messageInfo_UTXOBasics.Unmarshal(m, b)
} }
func (m *UTXOBasics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *UTXOBasics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UTXOBasics.Marshal(b, m, deterministic) return xxx_messageInfo_UTXOBasics.Marshal(b, m, deterministic)
} }
func (m *UTXOBasics) XXX_Merge(src proto.Message) { func (dst *UTXOBasics) XXX_Merge(src proto.Message) {
xxx_messageInfo_UTXOBasics.Merge(m, src) xxx_messageInfo_UTXOBasics.Merge(dst, src)
} }
func (m *UTXOBasics) XXX_Size() int { func (m *UTXOBasics) XXX_Size() int {
return xxx_messageInfo_UTXOBasics.Size(m) return xxx_messageInfo_UTXOBasics.Size(m)
...@@ -2795,17 +2772,16 @@ func (m *CreateTransactionCache) Reset() { *m = CreateTransactionCache{} ...@@ -2795,17 +2772,16 @@ func (m *CreateTransactionCache) Reset() { *m = CreateTransactionCache{}
func (m *CreateTransactionCache) String() string { return proto.CompactTextString(m) } func (m *CreateTransactionCache) String() string { return proto.CompactTextString(m) }
func (*CreateTransactionCache) ProtoMessage() {} func (*CreateTransactionCache) ProtoMessage() {}
func (*CreateTransactionCache) Descriptor() ([]byte, []int) { func (*CreateTransactionCache) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{47} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{47}
} }
func (m *CreateTransactionCache) XXX_Unmarshal(b []byte) error { func (m *CreateTransactionCache) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateTransactionCache.Unmarshal(m, b) return xxx_messageInfo_CreateTransactionCache.Unmarshal(m, b)
} }
func (m *CreateTransactionCache) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CreateTransactionCache) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateTransactionCache.Marshal(b, m, deterministic) return xxx_messageInfo_CreateTransactionCache.Marshal(b, m, deterministic)
} }
func (m *CreateTransactionCache) XXX_Merge(src proto.Message) { func (dst *CreateTransactionCache) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateTransactionCache.Merge(m, src) xxx_messageInfo_CreateTransactionCache.Merge(dst, src)
} }
func (m *CreateTransactionCache) XXX_Size() int { func (m *CreateTransactionCache) XXX_Size() int {
return xxx_messageInfo_CreateTransactionCache.Size(m) return xxx_messageInfo_CreateTransactionCache.Size(m)
...@@ -2891,17 +2867,16 @@ func (m *ReqCacheTxList) Reset() { *m = ReqCacheTxList{} } ...@@ -2891,17 +2867,16 @@ func (m *ReqCacheTxList) Reset() { *m = ReqCacheTxList{} }
func (m *ReqCacheTxList) String() string { return proto.CompactTextString(m) } func (m *ReqCacheTxList) String() string { return proto.CompactTextString(m) }
func (*ReqCacheTxList) ProtoMessage() {} func (*ReqCacheTxList) ProtoMessage() {}
func (*ReqCacheTxList) Descriptor() ([]byte, []int) { func (*ReqCacheTxList) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{48} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{48}
} }
func (m *ReqCacheTxList) XXX_Unmarshal(b []byte) error { func (m *ReqCacheTxList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCacheTxList.Unmarshal(m, b) return xxx_messageInfo_ReqCacheTxList.Unmarshal(m, b)
} }
func (m *ReqCacheTxList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqCacheTxList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqCacheTxList.Marshal(b, m, deterministic) return xxx_messageInfo_ReqCacheTxList.Marshal(b, m, deterministic)
} }
func (m *ReqCacheTxList) XXX_Merge(src proto.Message) { func (dst *ReqCacheTxList) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqCacheTxList.Merge(m, src) xxx_messageInfo_ReqCacheTxList.Merge(dst, src)
} }
func (m *ReqCacheTxList) XXX_Size() int { func (m *ReqCacheTxList) XXX_Size() int {
return xxx_messageInfo_ReqCacheTxList.Size(m) return xxx_messageInfo_ReqCacheTxList.Size(m)
...@@ -2937,17 +2912,16 @@ func (m *ReplyCacheTxList) Reset() { *m = ReplyCacheTxList{} } ...@@ -2937,17 +2912,16 @@ func (m *ReplyCacheTxList) Reset() { *m = ReplyCacheTxList{} }
func (m *ReplyCacheTxList) String() string { return proto.CompactTextString(m) } func (m *ReplyCacheTxList) String() string { return proto.CompactTextString(m) }
func (*ReplyCacheTxList) ProtoMessage() {} func (*ReplyCacheTxList) ProtoMessage() {}
func (*ReplyCacheTxList) Descriptor() ([]byte, []int) { func (*ReplyCacheTxList) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{49} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{49}
} }
func (m *ReplyCacheTxList) XXX_Unmarshal(b []byte) error { func (m *ReplyCacheTxList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyCacheTxList.Unmarshal(m, b) return xxx_messageInfo_ReplyCacheTxList.Unmarshal(m, b)
} }
func (m *ReplyCacheTxList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReplyCacheTxList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyCacheTxList.Marshal(b, m, deterministic) return xxx_messageInfo_ReplyCacheTxList.Marshal(b, m, deterministic)
} }
func (m *ReplyCacheTxList) XXX_Merge(src proto.Message) { func (dst *ReplyCacheTxList) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyCacheTxList.Merge(m, src) xxx_messageInfo_ReplyCacheTxList.Merge(dst, src)
} }
func (m *ReplyCacheTxList) XXX_Size() int { func (m *ReplyCacheTxList) XXX_Size() int {
return xxx_messageInfo_ReplyCacheTxList.Size(m) return xxx_messageInfo_ReplyCacheTxList.Size(m)
...@@ -2977,17 +2951,16 @@ func (m *ReqPrivacyAccount) Reset() { *m = ReqPrivacyAccount{} } ...@@ -2977,17 +2951,16 @@ func (m *ReqPrivacyAccount) Reset() { *m = ReqPrivacyAccount{} }
func (m *ReqPrivacyAccount) String() string { return proto.CompactTextString(m) } func (m *ReqPrivacyAccount) String() string { return proto.CompactTextString(m) }
func (*ReqPrivacyAccount) ProtoMessage() {} func (*ReqPrivacyAccount) ProtoMessage() {}
func (*ReqPrivacyAccount) Descriptor() ([]byte, []int) { func (*ReqPrivacyAccount) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{50} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{50}
} }
func (m *ReqPrivacyAccount) XXX_Unmarshal(b []byte) error { func (m *ReqPrivacyAccount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqPrivacyAccount.Unmarshal(m, b) return xxx_messageInfo_ReqPrivacyAccount.Unmarshal(m, b)
} }
func (m *ReqPrivacyAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqPrivacyAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqPrivacyAccount.Marshal(b, m, deterministic) return xxx_messageInfo_ReqPrivacyAccount.Marshal(b, m, deterministic)
} }
func (m *ReqPrivacyAccount) XXX_Merge(src proto.Message) { func (dst *ReqPrivacyAccount) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqPrivacyAccount.Merge(m, src) xxx_messageInfo_ReqPrivacyAccount.Merge(dst, src)
} }
func (m *ReqPrivacyAccount) XXX_Size() int { func (m *ReqPrivacyAccount) XXX_Size() int {
return xxx_messageInfo_ReqPrivacyAccount.Size(m) return xxx_messageInfo_ReqPrivacyAccount.Size(m)
...@@ -3030,17 +3003,16 @@ func (m *ReqPPrivacyAccount) Reset() { *m = ReqPPrivacyAccount{} } ...@@ -3030,17 +3003,16 @@ func (m *ReqPPrivacyAccount) Reset() { *m = ReqPPrivacyAccount{} }
func (m *ReqPPrivacyAccount) String() string { return proto.CompactTextString(m) } func (m *ReqPPrivacyAccount) String() string { return proto.CompactTextString(m) }
func (*ReqPPrivacyAccount) ProtoMessage() {} func (*ReqPPrivacyAccount) ProtoMessage() {}
func (*ReqPPrivacyAccount) Descriptor() ([]byte, []int) { func (*ReqPPrivacyAccount) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{51} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{51}
} }
func (m *ReqPPrivacyAccount) XXX_Unmarshal(b []byte) error { func (m *ReqPPrivacyAccount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqPPrivacyAccount.Unmarshal(m, b) return xxx_messageInfo_ReqPPrivacyAccount.Unmarshal(m, b)
} }
func (m *ReqPPrivacyAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqPPrivacyAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqPPrivacyAccount.Marshal(b, m, deterministic) return xxx_messageInfo_ReqPPrivacyAccount.Marshal(b, m, deterministic)
} }
func (m *ReqPPrivacyAccount) XXX_Merge(src proto.Message) { func (dst *ReqPPrivacyAccount) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqPPrivacyAccount.Merge(m, src) xxx_messageInfo_ReqPPrivacyAccount.Merge(dst, src)
} }
func (m *ReqPPrivacyAccount) XXX_Size() int { func (m *ReqPPrivacyAccount) XXX_Size() int {
return xxx_messageInfo_ReqPPrivacyAccount.Size(m) return xxx_messageInfo_ReqPPrivacyAccount.Size(m)
...@@ -3088,17 +3060,16 @@ func (m *ReplyPrivacyAccount) Reset() { *m = ReplyPrivacyAccount{} } ...@@ -3088,17 +3060,16 @@ func (m *ReplyPrivacyAccount) Reset() { *m = ReplyPrivacyAccount{} }
func (m *ReplyPrivacyAccount) String() string { return proto.CompactTextString(m) } func (m *ReplyPrivacyAccount) String() string { return proto.CompactTextString(m) }
func (*ReplyPrivacyAccount) ProtoMessage() {} func (*ReplyPrivacyAccount) ProtoMessage() {}
func (*ReplyPrivacyAccount) Descriptor() ([]byte, []int) { func (*ReplyPrivacyAccount) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{52} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{52}
} }
func (m *ReplyPrivacyAccount) XXX_Unmarshal(b []byte) error { func (m *ReplyPrivacyAccount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyPrivacyAccount.Unmarshal(m, b) return xxx_messageInfo_ReplyPrivacyAccount.Unmarshal(m, b)
} }
func (m *ReplyPrivacyAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReplyPrivacyAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyPrivacyAccount.Marshal(b, m, deterministic) return xxx_messageInfo_ReplyPrivacyAccount.Marshal(b, m, deterministic)
} }
func (m *ReplyPrivacyAccount) XXX_Merge(src proto.Message) { func (dst *ReplyPrivacyAccount) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyPrivacyAccount.Merge(m, src) xxx_messageInfo_ReplyPrivacyAccount.Merge(dst, src)
} }
func (m *ReplyPrivacyAccount) XXX_Size() int { func (m *ReplyPrivacyAccount) XXX_Size() int {
return xxx_messageInfo_ReplyPrivacyAccount.Size(m) return xxx_messageInfo_ReplyPrivacyAccount.Size(m)
...@@ -3142,17 +3113,16 @@ func (m *ReqCreateCacheTxKey) Reset() { *m = ReqCreateCacheTxKey{} } ...@@ -3142,17 +3113,16 @@ func (m *ReqCreateCacheTxKey) Reset() { *m = ReqCreateCacheTxKey{} }
func (m *ReqCreateCacheTxKey) String() string { return proto.CompactTextString(m) } func (m *ReqCreateCacheTxKey) String() string { return proto.CompactTextString(m) }
func (*ReqCreateCacheTxKey) ProtoMessage() {} func (*ReqCreateCacheTxKey) ProtoMessage() {}
func (*ReqCreateCacheTxKey) Descriptor() ([]byte, []int) { func (*ReqCreateCacheTxKey) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{53} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{53}
} }
func (m *ReqCreateCacheTxKey) XXX_Unmarshal(b []byte) error { func (m *ReqCreateCacheTxKey) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCreateCacheTxKey.Unmarshal(m, b) return xxx_messageInfo_ReqCreateCacheTxKey.Unmarshal(m, b)
} }
func (m *ReqCreateCacheTxKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqCreateCacheTxKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqCreateCacheTxKey.Marshal(b, m, deterministic) return xxx_messageInfo_ReqCreateCacheTxKey.Marshal(b, m, deterministic)
} }
func (m *ReqCreateCacheTxKey) XXX_Merge(src proto.Message) { func (dst *ReqCreateCacheTxKey) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqCreateCacheTxKey.Merge(m, src) xxx_messageInfo_ReqCreateCacheTxKey.Merge(dst, src)
} }
func (m *ReqCreateCacheTxKey) XXX_Size() int { func (m *ReqCreateCacheTxKey) XXX_Size() int {
return xxx_messageInfo_ReqCreateCacheTxKey.Size(m) return xxx_messageInfo_ReqCreateCacheTxKey.Size(m)
...@@ -3197,17 +3167,16 @@ func (m *ReqPrivacyTransactionList) Reset() { *m = ReqPrivacyTransaction ...@@ -3197,17 +3167,16 @@ func (m *ReqPrivacyTransactionList) Reset() { *m = ReqPrivacyTransaction
func (m *ReqPrivacyTransactionList) String() string { return proto.CompactTextString(m) } func (m *ReqPrivacyTransactionList) String() string { return proto.CompactTextString(m) }
func (*ReqPrivacyTransactionList) ProtoMessage() {} func (*ReqPrivacyTransactionList) ProtoMessage() {}
func (*ReqPrivacyTransactionList) Descriptor() ([]byte, []int) { func (*ReqPrivacyTransactionList) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{54} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{54}
} }
func (m *ReqPrivacyTransactionList) XXX_Unmarshal(b []byte) error { func (m *ReqPrivacyTransactionList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqPrivacyTransactionList.Unmarshal(m, b) return xxx_messageInfo_ReqPrivacyTransactionList.Unmarshal(m, b)
} }
func (m *ReqPrivacyTransactionList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqPrivacyTransactionList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqPrivacyTransactionList.Marshal(b, m, deterministic) return xxx_messageInfo_ReqPrivacyTransactionList.Marshal(b, m, deterministic)
} }
func (m *ReqPrivacyTransactionList) XXX_Merge(src proto.Message) { func (dst *ReqPrivacyTransactionList) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqPrivacyTransactionList.Merge(m, src) xxx_messageInfo_ReqPrivacyTransactionList.Merge(dst, src)
} }
func (m *ReqPrivacyTransactionList) XXX_Size() int { func (m *ReqPrivacyTransactionList) XXX_Size() int {
return xxx_messageInfo_ReqPrivacyTransactionList.Size(m) return xxx_messageInfo_ReqPrivacyTransactionList.Size(m)
...@@ -3279,17 +3248,16 @@ func (m *ReqRescanUtxos) Reset() { *m = ReqRescanUtxos{} } ...@@ -3279,17 +3248,16 @@ func (m *ReqRescanUtxos) Reset() { *m = ReqRescanUtxos{} }
func (m *ReqRescanUtxos) String() string { return proto.CompactTextString(m) } func (m *ReqRescanUtxos) String() string { return proto.CompactTextString(m) }
func (*ReqRescanUtxos) ProtoMessage() {} func (*ReqRescanUtxos) ProtoMessage() {}
func (*ReqRescanUtxos) Descriptor() ([]byte, []int) { func (*ReqRescanUtxos) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{55} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{55}
} }
func (m *ReqRescanUtxos) XXX_Unmarshal(b []byte) error { func (m *ReqRescanUtxos) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqRescanUtxos.Unmarshal(m, b) return xxx_messageInfo_ReqRescanUtxos.Unmarshal(m, b)
} }
func (m *ReqRescanUtxos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqRescanUtxos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqRescanUtxos.Marshal(b, m, deterministic) return xxx_messageInfo_ReqRescanUtxos.Marshal(b, m, deterministic)
} }
func (m *ReqRescanUtxos) XXX_Merge(src proto.Message) { func (dst *ReqRescanUtxos) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqRescanUtxos.Merge(m, src) xxx_messageInfo_ReqRescanUtxos.Merge(dst, src)
} }
func (m *ReqRescanUtxos) XXX_Size() int { func (m *ReqRescanUtxos) XXX_Size() int {
return xxx_messageInfo_ReqRescanUtxos.Size(m) return xxx_messageInfo_ReqRescanUtxos.Size(m)
...@@ -3326,17 +3294,16 @@ func (m *RepRescanResult) Reset() { *m = RepRescanResult{} } ...@@ -3326,17 +3294,16 @@ func (m *RepRescanResult) Reset() { *m = RepRescanResult{} }
func (m *RepRescanResult) String() string { return proto.CompactTextString(m) } func (m *RepRescanResult) String() string { return proto.CompactTextString(m) }
func (*RepRescanResult) ProtoMessage() {} func (*RepRescanResult) ProtoMessage() {}
func (*RepRescanResult) Descriptor() ([]byte, []int) { func (*RepRescanResult) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{56} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{56}
} }
func (m *RepRescanResult) XXX_Unmarshal(b []byte) error { func (m *RepRescanResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepRescanResult.Unmarshal(m, b) return xxx_messageInfo_RepRescanResult.Unmarshal(m, b)
} }
func (m *RepRescanResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepRescanResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepRescanResult.Marshal(b, m, deterministic) return xxx_messageInfo_RepRescanResult.Marshal(b, m, deterministic)
} }
func (m *RepRescanResult) XXX_Merge(src proto.Message) { func (dst *RepRescanResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepRescanResult.Merge(m, src) xxx_messageInfo_RepRescanResult.Merge(dst, src)
} }
func (m *RepRescanResult) XXX_Size() int { func (m *RepRescanResult) XXX_Size() int {
return xxx_messageInfo_RepRescanResult.Size(m) return xxx_messageInfo_RepRescanResult.Size(m)
...@@ -3373,17 +3340,16 @@ func (m *RepRescanUtxos) Reset() { *m = RepRescanUtxos{} } ...@@ -3373,17 +3340,16 @@ func (m *RepRescanUtxos) Reset() { *m = RepRescanUtxos{} }
func (m *RepRescanUtxos) String() string { return proto.CompactTextString(m) } func (m *RepRescanUtxos) String() string { return proto.CompactTextString(m) }
func (*RepRescanUtxos) ProtoMessage() {} func (*RepRescanUtxos) ProtoMessage() {}
func (*RepRescanUtxos) Descriptor() ([]byte, []int) { func (*RepRescanUtxos) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{57} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{57}
} }
func (m *RepRescanUtxos) XXX_Unmarshal(b []byte) error { func (m *RepRescanUtxos) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepRescanUtxos.Unmarshal(m, b) return xxx_messageInfo_RepRescanUtxos.Unmarshal(m, b)
} }
func (m *RepRescanUtxos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepRescanUtxos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepRescanUtxos.Marshal(b, m, deterministic) return xxx_messageInfo_RepRescanUtxos.Marshal(b, m, deterministic)
} }
func (m *RepRescanUtxos) XXX_Merge(src proto.Message) { func (dst *RepRescanUtxos) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepRescanUtxos.Merge(m, src) xxx_messageInfo_RepRescanUtxos.Merge(dst, src)
} }
func (m *RepRescanUtxos) XXX_Size() int { func (m *RepRescanUtxos) XXX_Size() int {
return xxx_messageInfo_RepRescanUtxos.Size(m) return xxx_messageInfo_RepRescanUtxos.Size(m)
...@@ -3419,17 +3385,16 @@ func (m *ReqEnablePrivacy) Reset() { *m = ReqEnablePrivacy{} } ...@@ -3419,17 +3385,16 @@ func (m *ReqEnablePrivacy) Reset() { *m = ReqEnablePrivacy{} }
func (m *ReqEnablePrivacy) String() string { return proto.CompactTextString(m) } func (m *ReqEnablePrivacy) String() string { return proto.CompactTextString(m) }
func (*ReqEnablePrivacy) ProtoMessage() {} func (*ReqEnablePrivacy) ProtoMessage() {}
func (*ReqEnablePrivacy) Descriptor() ([]byte, []int) { func (*ReqEnablePrivacy) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{58} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{58}
} }
func (m *ReqEnablePrivacy) XXX_Unmarshal(b []byte) error { func (m *ReqEnablePrivacy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqEnablePrivacy.Unmarshal(m, b) return xxx_messageInfo_ReqEnablePrivacy.Unmarshal(m, b)
} }
func (m *ReqEnablePrivacy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqEnablePrivacy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqEnablePrivacy.Marshal(b, m, deterministic) return xxx_messageInfo_ReqEnablePrivacy.Marshal(b, m, deterministic)
} }
func (m *ReqEnablePrivacy) XXX_Merge(src proto.Message) { func (dst *ReqEnablePrivacy) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqEnablePrivacy.Merge(m, src) xxx_messageInfo_ReqEnablePrivacy.Merge(dst, src)
} }
func (m *ReqEnablePrivacy) XXX_Size() int { func (m *ReqEnablePrivacy) XXX_Size() int {
return xxx_messageInfo_ReqEnablePrivacy.Size(m) return xxx_messageInfo_ReqEnablePrivacy.Size(m)
...@@ -3460,17 +3425,16 @@ func (m *PriAddrResult) Reset() { *m = PriAddrResult{} } ...@@ -3460,17 +3425,16 @@ func (m *PriAddrResult) Reset() { *m = PriAddrResult{} }
func (m *PriAddrResult) String() string { return proto.CompactTextString(m) } func (m *PriAddrResult) String() string { return proto.CompactTextString(m) }
func (*PriAddrResult) ProtoMessage() {} func (*PriAddrResult) ProtoMessage() {}
func (*PriAddrResult) Descriptor() ([]byte, []int) { func (*PriAddrResult) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{59} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{59}
} }
func (m *PriAddrResult) XXX_Unmarshal(b []byte) error { func (m *PriAddrResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PriAddrResult.Unmarshal(m, b) return xxx_messageInfo_PriAddrResult.Unmarshal(m, b)
} }
func (m *PriAddrResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PriAddrResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PriAddrResult.Marshal(b, m, deterministic) return xxx_messageInfo_PriAddrResult.Marshal(b, m, deterministic)
} }
func (m *PriAddrResult) XXX_Merge(src proto.Message) { func (dst *PriAddrResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_PriAddrResult.Merge(m, src) xxx_messageInfo_PriAddrResult.Merge(dst, src)
} }
func (m *PriAddrResult) XXX_Size() int { func (m *PriAddrResult) XXX_Size() int {
return xxx_messageInfo_PriAddrResult.Size(m) return xxx_messageInfo_PriAddrResult.Size(m)
...@@ -3513,17 +3477,16 @@ func (m *RepEnablePrivacy) Reset() { *m = RepEnablePrivacy{} } ...@@ -3513,17 +3477,16 @@ func (m *RepEnablePrivacy) Reset() { *m = RepEnablePrivacy{} }
func (m *RepEnablePrivacy) String() string { return proto.CompactTextString(m) } func (m *RepEnablePrivacy) String() string { return proto.CompactTextString(m) }
func (*RepEnablePrivacy) ProtoMessage() {} func (*RepEnablePrivacy) ProtoMessage() {}
func (*RepEnablePrivacy) Descriptor() ([]byte, []int) { func (*RepEnablePrivacy) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{60} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{60}
} }
func (m *RepEnablePrivacy) XXX_Unmarshal(b []byte) error { func (m *RepEnablePrivacy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RepEnablePrivacy.Unmarshal(m, b) return xxx_messageInfo_RepEnablePrivacy.Unmarshal(m, b)
} }
func (m *RepEnablePrivacy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RepEnablePrivacy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RepEnablePrivacy.Marshal(b, m, deterministic) return xxx_messageInfo_RepEnablePrivacy.Marshal(b, m, deterministic)
} }
func (m *RepEnablePrivacy) XXX_Merge(src proto.Message) { func (dst *RepEnablePrivacy) XXX_Merge(src proto.Message) {
xxx_messageInfo_RepEnablePrivacy.Merge(m, src) xxx_messageInfo_RepEnablePrivacy.Merge(dst, src)
} }
func (m *RepEnablePrivacy) XXX_Size() int { func (m *RepEnablePrivacy) XXX_Size() int {
return xxx_messageInfo_RepEnablePrivacy.Size(m) return xxx_messageInfo_RepEnablePrivacy.Size(m)
...@@ -3555,17 +3518,16 @@ func (m *PrivacySignatureParam) Reset() { *m = PrivacySignatureParam{} } ...@@ -3555,17 +3518,16 @@ func (m *PrivacySignatureParam) Reset() { *m = PrivacySignatureParam{} }
func (m *PrivacySignatureParam) String() string { return proto.CompactTextString(m) } func (m *PrivacySignatureParam) String() string { return proto.CompactTextString(m) }
func (*PrivacySignatureParam) ProtoMessage() {} func (*PrivacySignatureParam) ProtoMessage() {}
func (*PrivacySignatureParam) Descriptor() ([]byte, []int) { func (*PrivacySignatureParam) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{61} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{61}
} }
func (m *PrivacySignatureParam) XXX_Unmarshal(b []byte) error { func (m *PrivacySignatureParam) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacySignatureParam.Unmarshal(m, b) return xxx_messageInfo_PrivacySignatureParam.Unmarshal(m, b)
} }
func (m *PrivacySignatureParam) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PrivacySignatureParam) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacySignatureParam.Marshal(b, m, deterministic) return xxx_messageInfo_PrivacySignatureParam.Marshal(b, m, deterministic)
} }
func (m *PrivacySignatureParam) XXX_Merge(src proto.Message) { func (dst *PrivacySignatureParam) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacySignatureParam.Merge(m, src) xxx_messageInfo_PrivacySignatureParam.Merge(dst, src)
} }
func (m *PrivacySignatureParam) XXX_Size() int { func (m *PrivacySignatureParam) XXX_Size() int {
return xxx_messageInfo_PrivacySignatureParam.Size(m) return xxx_messageInfo_PrivacySignatureParam.Size(m)
...@@ -3611,17 +3573,16 @@ func (m *WalletAccountPrivacy) Reset() { *m = WalletAccountPrivacy{} } ...@@ -3611,17 +3573,16 @@ func (m *WalletAccountPrivacy) Reset() { *m = WalletAccountPrivacy{} }
func (m *WalletAccountPrivacy) String() string { return proto.CompactTextString(m) } func (m *WalletAccountPrivacy) String() string { return proto.CompactTextString(m) }
func (*WalletAccountPrivacy) ProtoMessage() {} func (*WalletAccountPrivacy) ProtoMessage() {}
func (*WalletAccountPrivacy) Descriptor() ([]byte, []int) { func (*WalletAccountPrivacy) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{62} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{62}
} }
func (m *WalletAccountPrivacy) XXX_Unmarshal(b []byte) error { func (m *WalletAccountPrivacy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WalletAccountPrivacy.Unmarshal(m, b) return xxx_messageInfo_WalletAccountPrivacy.Unmarshal(m, b)
} }
func (m *WalletAccountPrivacy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *WalletAccountPrivacy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_WalletAccountPrivacy.Marshal(b, m, deterministic) return xxx_messageInfo_WalletAccountPrivacy.Marshal(b, m, deterministic)
} }
func (m *WalletAccountPrivacy) XXX_Merge(src proto.Message) { func (dst *WalletAccountPrivacy) XXX_Merge(src proto.Message) {
xxx_messageInfo_WalletAccountPrivacy.Merge(m, src) xxx_messageInfo_WalletAccountPrivacy.Merge(dst, src)
} }
func (m *WalletAccountPrivacy) XXX_Size() int { func (m *WalletAccountPrivacy) XXX_Size() int {
return xxx_messageInfo_WalletAccountPrivacy.Size(m) return xxx_messageInfo_WalletAccountPrivacy.Size(m)
...@@ -3678,6 +3639,7 @@ type ReqCreatePrivacyTx struct { ...@@ -3678,6 +3639,7 @@ type ReqCreatePrivacyTx struct {
Pubkeypair string `protobuf:"bytes,10,opt,name=pubkeypair,proto3" json:"pubkeypair,omitempty"` Pubkeypair string `protobuf:"bytes,10,opt,name=pubkeypair,proto3" json:"pubkeypair,omitempty"`
Mixcount int32 `protobuf:"varint,11,opt,name=mixcount,proto3" json:"mixcount,omitempty"` Mixcount int32 `protobuf:"varint,11,opt,name=mixcount,proto3" json:"mixcount,omitempty"`
Expire int64 `protobuf:"varint,12,opt,name=expire,proto3" json:"expire,omitempty"` Expire int64 `protobuf:"varint,12,opt,name=expire,proto3" json:"expire,omitempty"`
AssetExec string `protobuf:"bytes,13,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -3687,17 +3649,16 @@ func (m *ReqCreatePrivacyTx) Reset() { *m = ReqCreatePrivacyTx{} } ...@@ -3687,17 +3649,16 @@ func (m *ReqCreatePrivacyTx) Reset() { *m = ReqCreatePrivacyTx{} }
func (m *ReqCreatePrivacyTx) String() string { return proto.CompactTextString(m) } func (m *ReqCreatePrivacyTx) String() string { return proto.CompactTextString(m) }
func (*ReqCreatePrivacyTx) ProtoMessage() {} func (*ReqCreatePrivacyTx) ProtoMessage() {}
func (*ReqCreatePrivacyTx) Descriptor() ([]byte, []int) { func (*ReqCreatePrivacyTx) Descriptor() ([]byte, []int) {
return fileDescriptor_dde03d4df7a6e99a, []int{63} return fileDescriptor_privacy_5bbb0d865ebb40dc, []int{63}
} }
func (m *ReqCreatePrivacyTx) XXX_Unmarshal(b []byte) error { func (m *ReqCreatePrivacyTx) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqCreatePrivacyTx.Unmarshal(m, b) return xxx_messageInfo_ReqCreatePrivacyTx.Unmarshal(m, b)
} }
func (m *ReqCreatePrivacyTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqCreatePrivacyTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqCreatePrivacyTx.Marshal(b, m, deterministic) return xxx_messageInfo_ReqCreatePrivacyTx.Marshal(b, m, deterministic)
} }
func (m *ReqCreatePrivacyTx) XXX_Merge(src proto.Message) { func (dst *ReqCreatePrivacyTx) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqCreatePrivacyTx.Merge(m, src) xxx_messageInfo_ReqCreatePrivacyTx.Merge(dst, src)
} }
func (m *ReqCreatePrivacyTx) XXX_Size() int { func (m *ReqCreatePrivacyTx) XXX_Size() int {
return xxx_messageInfo_ReqCreatePrivacyTx.Size(m) return xxx_messageInfo_ReqCreatePrivacyTx.Size(m)
...@@ -3771,6 +3732,13 @@ func (m *ReqCreatePrivacyTx) GetExpire() int64 { ...@@ -3771,6 +3732,13 @@ func (m *ReqCreatePrivacyTx) GetExpire() int64 {
return 0 return 0
} }
func (m *ReqCreatePrivacyTx) GetAssetExec() string {
if m != nil {
return m.AssetExec
}
return ""
}
func init() { func init() {
proto.RegisterType((*PrivacyAction)(nil), "types.PrivacyAction") proto.RegisterType((*PrivacyAction)(nil), "types.PrivacyAction")
proto.RegisterType((*Public2Privacy)(nil), "types.Public2Privacy") proto.RegisterType((*Public2Privacy)(nil), "types.Public2Privacy")
...@@ -3840,158 +3808,6 @@ func init() { ...@@ -3840,158 +3808,6 @@ func init() {
proto.RegisterType((*ReqCreatePrivacyTx)(nil), "types.ReqCreatePrivacyTx") proto.RegisterType((*ReqCreatePrivacyTx)(nil), "types.ReqCreatePrivacyTx")
} }
func init() { proto.RegisterFile("privacy.proto", fileDescriptor_dde03d4df7a6e99a) }
var fileDescriptor_dde03d4df7a6e99a = []byte{
// 2332 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x19, 0x4b, 0x6f, 0x23, 0x49,
0x39, 0xed, 0x47, 0x92, 0xfe, 0xe2, 0x24, 0x9e, 0x5a, 0x27, 0xeb, 0xf1, 0x44, 0xa3, 0xa1, 0x76,
0x35, 0x0c, 0x0b, 0x0a, 0xda, 0x10, 0x69, 0x1f, 0x0c, 0x9a, 0x8d, 0x33, 0x99, 0x99, 0x28, 0x3b,
0x93, 0x50, 0xc9, 0x0a, 0x84, 0x16, 0x89, 0x8a, 0x5d, 0x49, 0x5a, 0x69, 0x77, 0x77, 0xba, 0xdb,
0x89, 0x7d, 0x5a, 0x4e, 0x88, 0x03, 0x07, 0x24, 0x10, 0x17, 0x10, 0x37, 0xee, 0x1c, 0xf8, 0x01,
0x48, 0x08, 0x4e, 0xf0, 0x1b, 0xb8, 0x73, 0xe0, 0x37, 0xa0, 0x7a, 0x74, 0x57, 0x55, 0xbb, 0x9d,
0x64, 0x20, 0x5c, 0xac, 0xae, 0xaf, 0xbe, 0xfa, 0xea, 0x7b, 0x3f, 0xca, 0xb0, 0x18, 0xc5, 0xde,
0x25, 0xed, 0x8d, 0xd7, 0xa3, 0x38, 0x4c, 0x43, 0x54, 0x4f, 0xc7, 0x11, 0x4b, 0x3a, 0x8d, 0x5e,
0x38, 0x18, 0x84, 0x81, 0x04, 0x76, 0xee, 0xa5, 0x31, 0x0d, 0x12, 0xda, 0x4b, 0xbd, 0x0c, 0x84,
0xff, 0xed, 0xc0, 0xe2, 0x81, 0x3c, 0xb9, 0x25, 0xe0, 0xe8, 0x19, 0x2c, 0x45, 0xc3, 0x63, 0xdf,
0xeb, 0x6d, 0x28, 0x8a, 0x6d, 0xe7, 0x91, 0xf3, 0x64, 0x61, 0x63, 0x65, 0x5d, 0x90, 0x5c, 0x3f,
0x90, 0x9b, 0xea, 0xd0, 0xab, 0x19, 0x52, 0x40, 0x47, 0x5d, 0x58, 0x56, 0x9f, 0x39, 0x85, 0x8a,
0xa0, 0xb0, 0x9a, 0x51, 0x50, 0xbb, 0x9a, 0x44, 0xf1, 0x80, 0x60, 0x22, 0x03, 0x09, 0xea, 0xed,
0xaa, 0xcd, 0x44, 0x46, 0x42, 0x6c, 0x0a, 0x26, 0x2c, 0x74, 0xb4, 0x04, 0x95, 0x74, 0xdc, 0xae,
0x3d, 0x72, 0x9e, 0xd4, 0x49, 0x25, 0x1d, 0x77, 0xe7, 0xa0, 0x7e, 0x49, 0xfd, 0x21, 0xc3, 0x3f,
0x77, 0x60, 0xc9, 0x16, 0x01, 0xad, 0x81, 0x9b, 0x86, 0xe7, 0x2c, 0x08, 0xe8, 0x80, 0x09, 0x61,
0x5d, 0xa2, 0x01, 0x68, 0x15, 0x66, 0xe9, 0x20, 0x1c, 0x06, 0xa9, 0x90, 0xa2, 0x4a, 0xd4, 0x0a,
0x21, 0xa8, 0x05, 0x61, 0xca, 0xda, 0x75, 0x71, 0x40, 0x7c, 0xa3, 0x6f, 0xc1, 0x6c, 0x38, 0x4c,
0xa3, 0x61, 0xda, 0x9e, 0x13, 0xec, 0xb6, 0x6c, 0x76, 0xf7, 0xc5, 0x1e, 0x51, 0x38, 0xf8, 0x4f,
0x0e, 0x2c, 0x17, 0x74, 0x71, 0x87, 0xbc, 0x7c, 0x03, 0xea, 0x5e, 0xc0, 0x59, 0x99, 0x15, 0xac,
0xbc, 0x63, 0xb3, 0xb2, 0xcb, 0xb7, 0x88, 0xc4, 0x78, 0x4b, 0xb6, 0xff, 0xc2, 0x35, 0x68, 0xe9,
0xff, 0x7f, 0xe4, 0xba, 0x6a, 0x70, 0xcd, 0xed, 0x16, 0x0a, 0x96, 0x5d, 0x52, 0x49, 0x43, 0x2d,
0x45, 0xed, 0x2d, 0xa4, 0xa8, 0xdf, 0x42, 0x8a, 0x1d, 0x58, 0xfe, 0xe2, 0xe8, 0x87, 0xfb, 0x2f,
0xfd, 0xf0, 0x98, 0xfa, 0xbb, 0x41, 0x9f, 0x8d, 0x38, 0x9f, 0xe9, 0xe8, 0x8c, 0x26, 0x67, 0x82,
0xa3, 0x06, 0x51, 0x2b, 0xd4, 0x81, 0xf9, 0x70, 0x98, 0x7a, 0x1c, 0x47, 0x79, 0x54, 0xbe, 0xc6,
0x3f, 0x75, 0x60, 0x7e, 0x8f, 0x49, 0x46, 0x0c, 0x41, 0x1d, 0x4b, 0xd0, 0xcf, 0x60, 0x79, 0x98,
0x8e, 0x42, 0xe3, 0xae, 0x76, 0xe5, 0x51, 0xd5, 0x88, 0x88, 0x02, 0x27, 0xa4, 0x88, 0xce, 0x59,
0x38, 0x67, 0xe3, 0xdd, 0x01, 0x3d, 0x65, 0x8a, 0xb9, 0x7c, 0x8d, 0xbf, 0x0b, 0x0d, 0x53, 0x1d,
0xe8, 0x9b, 0x02, 0x57, 0x6a, 0xcd, 0x11, 0xd7, 0x2c, 0xab, 0x6b, 0x32, 0x46, 0x49, 0x8e, 0x80,
0x77, 0xc1, 0x3d, 0x67, 0x4a, 0x37, 0x53, 0xf9, 0x7f, 0x1f, 0x16, 0xc3, 0x80, 0xa5, 0xde, 0x80,
0x45, 0xc3, 0xe3, 0x73, 0x26, 0xe3, 0xb9, 0x41, 0x6c, 0x20, 0xfe, 0x71, 0x9e, 0x49, 0x14, 0xb9,
0x35, 0x70, 0x49, 0x34, 0x3c, 0xde, 0x63, 0xe3, 0x74, 0x24, 0x28, 0x36, 0x88, 0x06, 0xa0, 0x75,
0x71, 0xb3, 0xb2, 0x98, 0x54, 0x47, 0x53, 0xf1, 0x99, 0x73, 0x44, 0x34, 0x0a, 0x8e, 0xa0, 0xf5,
0x32, 0x0e, 0x87, 0x51, 0x89, 0xd5, 0xfe, 0x3f, 0x4a, 0xc7, 0xbf, 0x75, 0x60, 0xf1, 0xf3, 0xb0,
0x47, 0x7d, 0x8e, 0xb9, 0x9b, 0xb2, 0x01, 0xbf, 0xeb, 0x8c, 0x79, 0xa7, 0x67, 0xf9, 0x5d, 0x72,
0x85, 0xda, 0x30, 0x97, 0x8e, 0x3c, 0x75, 0x07, 0x77, 0x90, 0x6c, 0x69, 0xf9, 0x4e, 0xd5, 0xf6,
0x1d, 0xc3, 0xdf, 0x6a, 0x96, 0xbf, 0x4d, 0xa8, 0xbb, 0x5e, 0xa6, 0xee, 0xaf, 0x60, 0x89, 0xb0,
0x0b, 0xce, 0xda, 0x81, 0x50, 0x69, 0x92, 0x47, 0xe1, 0x9b, 0x62, 0x14, 0x72, 0x00, 0xda, 0x87,
0xd6, 0x69, 0x89, 0xfe, 0x94, 0x52, 0x1e, 0x28, 0xa5, 0x94, 0xa9, 0x98, 0x94, 0x1e, 0xc4, 0xef,
0xc1, 0xa2, 0x0c, 0xff, 0x3d, 0x36, 0x7e, 0x4e, 0x53, 0xca, 0xe3, 0xb9, 0x4f, 0x53, 0x2a, 0x9c,
0xae, 0x41, 0xc4, 0x37, 0xde, 0x82, 0xe5, 0x9c, 0xa4, 0xe4, 0x73, 0xaa, 0xc1, 0x56, 0x61, 0x36,
0x77, 0x2f, 0x4e, 0x40, 0xad, 0xf0, 0x11, 0x17, 0x34, 0x31, 0x05, 0xed, 0x42, 0xf3, 0xd4, 0x26,
0x9a, 0x28, 0x4f, 0x5f, 0x2d, 0x8a, 0x21, 0xb7, 0xc9, 0x04, 0x3e, 0x7e, 0x06, 0xcb, 0x84, 0x5d,
0x28, 0x87, 0x3d, 0xe2, 0x5a, 0x42, 0x2d, 0xa8, 0x0b, 0x75, 0x29, 0xdd, 0xc9, 0xc5, 0xb4, 0xec,
0x85, 0x9f, 0x42, 0x63, 0x4b, 0x7c, 0x3d, 0x67, 0x29, 0xf5, 0xfc, 0xa9, 0x62, 0xb5, 0xa0, 0xde,
0x33, 0x8e, 0xcb, 0x05, 0x7e, 0x03, 0xef, 0x10, 0x16, 0xf9, 0xe3, 0xac, 0xf6, 0x0a, 0xdc, 0x04,
0x7d, 0x04, 0x0d, 0x6a, 0x10, 0x55, 0x52, 0x65, 0x59, 0xcf, 0xbc, 0x8f, 0x58, 0x88, 0x98, 0x00,
0x8a, 0x39, 0x3d, 0x2e, 0x62, 0xb2, 0x7f, 0x22, 0x31, 0xd1, 0x53, 0x58, 0xf2, 0x4d, 0x07, 0xce,
0xd4, 0x94, 0xa5, 0x46, 0xcb, 0xbb, 0x49, 0x01, 0x17, 0x7f, 0x09, 0x2d, 0xc2, 0x7a, 0xcc, 0x8b,
0x52, 0x3b, 0xae, 0xcb, 0xf5, 0xf4, 0xb6, 0xf1, 0xfc, 0x4b, 0x07, 0x16, 0x95, 0xd8, 0xfb, 0x27,
0xfc, 0x52, 0xb4, 0x05, 0xae, 0x94, 0xe9, 0x35, 0x8d, 0x14, 0xa3, 0xef, 0x59, 0x92, 0x2b, 0x44,
0xb5, 0x7a, 0x4d, 0xa3, 0x9d, 0x20, 0x8d, 0xc7, 0x44, 0x9f, 0xea, 0x3c, 0x85, 0x25, 0x7b, 0x13,
0x35, 0xa1, 0xca, 0x5d, 0x4a, 0xda, 0x84, 0x7f, 0x72, 0xf6, 0x45, 0x2b, 0x90, 0x19, 0x44, 0x2c,
0x3e, 0xad, 0x7c, 0xec, 0xe0, 0xdf, 0x38, 0xd0, 0x3c, 0xca, 0x02, 0x26, 0xe3, 0xea, 0xb9, 0x8a,
0xaa, 0x44, 0x73, 0xf5, 0x58, 0x71, 0x55, 0xc4, 0x95, 0x80, 0x44, 0x33, 0x96, 0x1f, 0xe4, 0x8c,
0xd9, 0x9b, 0x26, 0x63, 0x6e, 0x09, 0x63, 0xae, 0xc9, 0xd8, 0x1e, 0xac, 0x14, 0xa2, 0x6f, 0xf3,
0x20, 0xf6, 0x64, 0xcc, 0xa8, 0x14, 0x22, 0xe9, 0x94, 0x95, 0xac, 0x4a, 0xa1, 0x64, 0xfd, 0xc2,
0x81, 0xa5, 0xac, 0x12, 0x68, 0x32, 0xa5, 0xbe, 0xfb, 0x62, 0x5a, 0x0e, 0x5d, 0x2b, 0xcf, 0xa1,
0x92, 0xdc, 0xcd, 0xe5, 0xcb, 0x35, 0xca, 0xd7, 0x3e, 0x2c, 0xe7, 0xfe, 0x71, 0x03, 0x3b, 0xa5,
0x75, 0xc8, 0x2d, 0x26, 0xc6, 0x97, 0x80, 0xcc, 0x7a, 0xa8, 0x68, 0x7e, 0x38, 0x51, 0x15, 0x57,
0x0a, 0x55, 0x51, 0x31, 0xaf, 0x6b, 0xa3, 0x07, 0xef, 0x58, 0x8e, 0xaf, 0x28, 0x4d, 0x94, 0x35,
0xd7, 0x2c, 0x6b, 0x9b, 0x93, 0x61, 0xb0, 0x5a, 0x0c, 0x03, 0x75, 0x93, 0x11, 0x0c, 0xbf, 0x76,
0xa0, 0x65, 0x77, 0xa5, 0xfa, 0xb2, 0x3b, 0xea, 0x07, 0x37, 0x0a, 0x4d, 0x5e, 0xa7, 0xac, 0x3d,
0x52, 0x9c, 0x65, 0x4d, 0xd2, 0xdf, 0x1c, 0x58, 0x29, 0x74, 0xa8, 0x77, 0xce, 0xd7, 0xb7, 0xed,
0x3e, 0xf5, 0x7e, 0x49, 0x87, 0xa7, 0xb8, 0x52, 0x7d, 0xde, 0x7f, 0x23, 0xc8, 0x5f, 0xb9, 0x7e,
0xad, 0x9e, 0xf5, 0x4e, 0xe4, 0xa8, 0x96, 0xc9, 0x51, 0x7b, 0x6b, 0x39, 0xea, 0xb7, 0x96, 0xe3,
0x67, 0x95, 0xdc, 0x27, 0xe5, 0xb8, 0xa6, 0xc4, 0xd8, 0x99, 0x32, 0xb4, 0x3d, 0x28, 0x1d, 0xda,
0xe4, 0xa1, 0x92, 0xd1, 0xed, 0xd5, 0xb4, 0xd1, 0x6d, 0xad, 0x7c, 0x74, 0xcb, 0x09, 0x4d, 0x0c,
0x70, 0x3b, 0x53, 0x06, 0xb8, 0x07, 0xa5, 0x03, 0x9c, 0xc1, 0xd0, 0x2d, 0xc7, 0xb8, 0x3f, 0x3b,
0xa2, 0xfd, 0xd9, 0x8e, 0x19, 0x4d, 0x99, 0x28, 0x7a, 0xb6, 0x29, 0xab, 0xd3, 0x4d, 0x59, 0xbb,
0xd1, 0x25, 0x57, 0x61, 0x36, 0x61, 0x41, 0x9f, 0xc5, 0x6a, 0x10, 0x51, 0x2b, 0x5d, 0xca, 0xe7,
0x04, 0x43, 0x72, 0x81, 0x1e, 0x02, 0xc8, 0xcc, 0x13, 0x51, 0x2f, 0x6e, 0xcf, 0x8b, 0x13, 0x06,
0x84, 0x53, 0x63, 0xa3, 0xc8, 0x8b, 0x59, 0xdb, 0x95, 0x37, 0xcb, 0x15, 0xfe, 0x12, 0x90, 0xd9,
0x02, 0x1c, 0x9c, 0x1f, 0x70, 0xec, 0xc7, 0xb0, 0x94, 0x9c, 0x85, 0x57, 0x87, 0xc3, 0x5e, 0x8f,
0x25, 0xc9, 0xc9, 0xd0, 0x17, 0x96, 0x9c, 0x27, 0x05, 0x68, 0xe1, 0xd6, 0x5a, 0xf1, 0x56, 0xfc,
0x19, 0x2f, 0xde, 0xa2, 0xbf, 0xe9, 0x52, 0x7f, 0x73, 0xab, 0xdf, 0x8f, 0x65, 0x93, 0x83, 0xa0,
0x46, 0xfb, 0xfd, 0x58, 0xf9, 0xba, 0xf8, 0xd6, 0x05, 0xbd, 0x62, 0x14, 0x74, 0xfc, 0x7d, 0xbb,
0x45, 0xe9, 0x52, 0x9f, 0x06, 0x3d, 0x86, 0x1e, 0xc1, 0x82, 0xca, 0xb7, 0x06, 0x1d, 0x13, 0xc4,
0xbb, 0xe1, 0x63, 0x89, 0xac, 0xc2, 0x26, 0x5b, 0xe2, 0x3f, 0x56, 0xf2, 0xd1, 0xf1, 0x79, 0xf7,
0x30, 0x0d, 0x63, 0x56, 0xa8, 0x60, 0xba, 0x09, 0xb6, 0xac, 0x59, 0x99, 0x6e, 0xcd, 0xaa, 0x65,
0x4d, 0x59, 0xf7, 0x76, 0x0b, 0xa3, 0x9a, 0x2c, 0x42, 0x18, 0x1a, 0xe9, 0x28, 0xef, 0x58, 0x89,
0xea, 0xaa, 0x2d, 0x18, 0xfa, 0x00, 0x9a, 0x4a, 0x92, 0x1c, 0x28, 0x7c, 0xa0, 0x41, 0x26, 0xe0,
0x5c, 0x6b, 0xe1, 0x55, 0xc0, 0x62, 0xe1, 0x0d, 0x2e, 0x91, 0x0b, 0x63, 0x44, 0x98, 0x9f, 0x36,
0x22, 0xb8, 0xf6, 0x88, 0xb0, 0x06, 0xee, 0xb1, 0x1f, 0xf6, 0xce, 0x85, 0x12, 0x40, 0x8e, 0x49,
0x39, 0x00, 0xbf, 0x81, 0x9a, 0x68, 0x43, 0xa6, 0xd5, 0xc4, 0x75, 0x70, 0x79, 0xb5, 0xed, 0xd2,
0xc4, 0xeb, 0xa9, 0x60, 0x6d, 0x1a, 0xc5, 0x59, 0xc0, 0x89, 0x46, 0xc1, 0x11, 0x2c, 0x71, 0xf8,
0x2b, 0x7a, 0xc9, 0x8e, 0x46, 0xaf, 0xb8, 0xa6, 0xaf, 0xe9, 0xc7, 0x53, 0x81, 0xa1, 0xd4, 0xaf,
0x56, 0xf6, 0x8d, 0xd5, 0x9b, 0x6f, 0xfc, 0x00, 0xea, 0x32, 0x40, 0xbf, 0x06, 0x75, 0x0e, 0xcd,
0x9a, 0xd0, 0x05, 0xe3, 0x10, 0x91, 0x3b, 0x98, 0xc8, 0xa9, 0x5c, 0x73, 0x97, 0xa0, 0x67, 0xb2,
0x07, 0x31, 0x40, 0x85, 0xfa, 0x6d, 0x1f, 0x20, 0x45, 0x6c, 0x7c, 0xc2, 0xe3, 0xec, 0xa2, 0x38,
0x36, 0x5e, 0x9f, 0xf8, 0x3b, 0x30, 0x3f, 0xf0, 0x46, 0xdb, 0x79, 0xea, 0xaf, 0x93, 0x7c, 0x6d,
0xf9, 0x5e, 0xd5, 0x18, 0x08, 0x12, 0x70, 0x73, 0xf9, 0xcb, 0xa6, 0x4f, 0xc7, 0x7a, 0x04, 0xbb,
0x71, 0xe4, 0xd7, 0xcd, 0xce, 0x41, 0xd9, 0xd0, 0x2d, 0x81, 0x98, 0x40, 0x53, 0x34, 0xec, 0xa2,
0xfb, 0xda, 0x1a, 0x14, 0x18, 0xb4, 0x0d, 0xfa, 0x38, 0xd3, 0xbf, 0xdd, 0x9d, 0x6b, 0xa3, 0x29,
0x23, 0xfc, 0xca, 0xe1, 0x1a, 0x4b, 0xee, 0x4e, 0x63, 0xdb, 0xd0, 0xe4, 0x94, 0x4d, 0x26, 0x85,
0xee, 0x16, 0x36, 0xde, 0x35, 0x78, 0x30, 0xb7, 0xc9, 0xc4, 0x01, 0xfc, 0x3b, 0x07, 0xee, 0xbd,
0xe0, 0x7e, 0x74, 0xc8, 0x7f, 0x76, 0x83, 0xfd, 0x80, 0x1d, 0x8d, 0x6e, 0xae, 0xdf, 0x2a, 0x91,
0x57, 0xac, 0x44, 0xae, 0x53, 0x72, 0xd5, 0x4c, 0xc9, 0x85, 0x89, 0x5c, 0xb7, 0xd3, 0xb9, 0xe7,
0xd6, 0xa7, 0x7a, 0xee, 0x8f, 0xa0, 0x41, 0x18, 0xf5, 0xf3, 0xb7, 0x20, 0x0c, 0x8d, 0x98, 0x51,
0x5f, 0x94, 0xfa, 0xac, 0xcf, 0xaf, 0x13, 0x0b, 0xc6, 0x73, 0x7d, 0xd6, 0xba, 0xc6, 0xde, 0xa5,
0xb6, 0x71, 0x01, 0x8a, 0x37, 0x01, 0x72, 0x23, 0x25, 0xda, 0x8c, 0xce, 0xf5, 0x66, 0xfc, 0x7b,
0x05, 0x56, 0x65, 0x7d, 0x3c, 0xd2, 0xcf, 0xbe, 0xdb, 0xb4, 0x77, 0xc6, 0xcc, 0xd9, 0xa3, 0x21,
0x67, 0x8f, 0x87, 0x00, 0x3d, 0x81, 0xcb, 0xef, 0x55, 0x69, 0xdb, 0x80, 0x70, 0xf3, 0x26, 0xde,
0x69, 0x20, 0x76, 0xa5, 0xce, 0xf2, 0xb5, 0xd0, 0x72, 0x4a, 0xd3, 0x61, 0xa2, 0x52, 0xae, 0x5a,
0xa1, 0x4d, 0x58, 0x30, 0x1e, 0x9c, 0x55, 0x97, 0x83, 0xb2, 0xd9, 0x49, 0xef, 0x10, 0x13, 0x6d,
0x6a, 0xf1, 0xfd, 0x48, 0x2a, 0x34, 0x6f, 0xe2, 0xe7, 0xac, 0xd1, 0xd8, 0xd4, 0x3d, 0xb1, 0x10,
0xd1, 0xd7, 0x33, 0x7d, 0xcd, 0x8b, 0x13, 0xf7, 0x8a, 0xfa, 0x4a, 0x94, 0xc2, 0x6c, 0x5f, 0x72,
0x0b, 0xbe, 0x84, 0xbb, 0xb2, 0xe1, 0xe0, 0xfa, 0x3b, 0x1a, 0x7d, 0xee, 0x25, 0x69, 0x69, 0x29,
0xbd, 0xb6, 0x6c, 0xe1, 0x8f, 0xa1, 0x29, 0x4a, 0xaa, 0x49, 0xe5, 0x7d, 0xa8, 0xa6, 0xa3, 0xcc,
0x98, 0x65, 0xda, 0xe1, 0xdb, 0x78, 0x07, 0xee, 0xe9, 0xe7, 0x8a, 0xad, 0x9e, 0xec, 0x3c, 0xae,
0x77, 0xfe, 0x8c, 0xbd, 0x8a, 0x66, 0x0f, 0xff, 0x44, 0xe4, 0xc2, 0x83, 0x02, 0x9d, 0x5b, 0xf7,
0x04, 0xbc, 0xf8, 0xf7, 0xbd, 0x24, 0xf2, 0xe9, 0x78, 0x10, 0xf6, 0x99, 0x7a, 0xd1, 0x32, 0x41,
0xf8, 0xab, 0xc2, 0xc3, 0x86, 0xba, 0x02, 0x6b, 0xa7, 0xe5, 0x5e, 0xd0, 0x30, 0x8c, 0x90, 0xeb,
0x1f, 0x43, 0xfd, 0x44, 0xe5, 0xa7, 0x12, 0x1c, 0xb1, 0x75, 0x0b, 0x06, 0x5e, 0x73, 0x06, 0x54,
0x63, 0xa8, 0xf4, 0xcc, 0xab, 0xf5, 0xf5, 0xba, 0x6a, 0xc3, 0x1c, 0x0f, 0x74, 0x1d, 0x82, 0xd9,
0x12, 0xff, 0xd3, 0x81, 0xfb, 0xc6, 0x43, 0x91, 0xb6, 0x8b, 0x30, 0xde, 0xf5, 0x54, 0x31, 0x34,
0xb8, 0xf3, 0x12, 0xd6, 0xbb, 0x7c, 0xe1, 0xd3, 0x53, 0x95, 0x17, 0x2d, 0x18, 0xa7, 0xd0, 0xf7,
0x62, 0x26, 0x43, 0x44, 0x8a, 0xa3, 0x01, 0xba, 0xe3, 0xac, 0x99, 0x1d, 0x27, 0x82, 0xda, 0x49,
0x1c, 0x0e, 0xb2, 0x9e, 0x95, 0x7f, 0x73, 0x09, 0xb8, 0xdd, 0x58, 0x92, 0xa8, 0xb8, 0xc9, 0x96,
0x3c, 0xb4, 0x13, 0xc6, 0xfa, 0x2a, 0xb1, 0xcd, 0x09, 0xf1, 0x0c, 0x08, 0xfe, 0x54, 0x38, 0x36,
0x61, 0x49, 0x8f, 0x06, 0x5f, 0x08, 0x25, 0xb7, 0xa0, 0xce, 0x0f, 0x4b, 0xa7, 0x74, 0x89, 0x5c,
0x88, 0x5b, 0xb5, 0x14, 0xe2, 0x1b, 0x7f, 0x02, 0xcb, 0x84, 0x45, 0xf2, 0x2c, 0x61, 0xc9, 0xd0,
0x2f, 0x77, 0xa6, 0xb2, 0xa3, 0x67, 0xfc, 0xda, 0xc8, 0xbc, 0x36, 0xc3, 0x72, 0x34, 0x16, 0xea,
0x42, 0x33, 0xb6, 0x2f, 0x48, 0x0a, 0x53, 0x75, 0xe1, 0x7e, 0x32, 0x81, 0x8f, 0x9f, 0xf0, 0xa8,
0xbb, 0xd8, 0x09, 0xe8, 0xb1, 0xcf, 0xb2, 0xff, 0x59, 0x72, 0x11, 0x2b, 0x86, 0x88, 0x78, 0x57,
0x3c, 0x61, 0xf3, 0x66, 0xf9, 0x7a, 0x61, 0x76, 0x93, 0xfd, 0x3d, 0x21, 0xcc, 0x3c, 0x11, 0xdf,
0x3c, 0xa1, 0x0e, 0x92, 0x53, 0x35, 0x75, 0xf0, 0x4f, 0xdc, 0x15, 0xa1, 0x6e, 0x5f, 0xba, 0x0e,
0x73, 0xb1, 0x92, 0xc1, 0x7e, 0x87, 0xb3, 0x2e, 0x25, 0x19, 0x12, 0xfe, 0x83, 0x1e, 0xbf, 0x0f,
0xbd, 0xd3, 0x80, 0xa6, 0xc3, 0x98, 0x1d, 0xd0, 0x98, 0x0e, 0xb8, 0x4d, 0xa5, 0x17, 0x1e, 0x8d,
0x23, 0xa6, 0x14, 0x66, 0x40, 0xd0, 0x87, 0x00, 0x3c, 0xa6, 0x8e, 0x45, 0x7e, 0x53, 0x0a, 0x2b,
0x49, 0x7c, 0x06, 0x12, 0xfa, 0x04, 0x16, 0x63, 0x23, 0x89, 0x26, 0xaa, 0x42, 0x97, 0x26, 0x58,
0x1b, 0x13, 0xff, 0xde, 0x81, 0xd6, 0x0f, 0xa8, 0xef, 0xb3, 0x54, 0x85, 0x7b, 0x26, 0xf0, 0x43,
0x80, 0x4b, 0x8f, 0x5d, 0xa9, 0x06, 0x46, 0x96, 0x1b, 0x03, 0xc2, 0xa3, 0x59, 0xac, 0x62, 0xef,
0x72, 0x2f, 0x0f, 0x3d, 0x13, 0xc4, 0x31, 0x92, 0x88, 0x05, 0x7d, 0x45, 0x42, 0xfe, 0xf7, 0x61,
0x82, 0x44, 0x90, 0x89, 0xa5, 0x22, 0x22, 0xdf, 0xd2, 0x2d, 0x18, 0xfe, 0x97, 0xe8, 0x68, 0x54,
0x52, 0xc8, 0x42, 0x79, 0x74, 0x73, 0xfe, 0xe4, 0xa2, 0x67, 0x4e, 0xcb, 0xbf, 0xa7, 0xce, 0x1d,
0xd9, 0x14, 0x59, 0x33, 0xa6, 0xc8, 0xb2, 0x28, 0x2d, 0xfe, 0xbd, 0x65, 0x4f, 0x71, 0x30, 0x31,
0x3b, 0xca, 0xae, 0x4a, 0xa6, 0x80, 0x85, 0xbc, 0xab, 0xea, 0x65, 0x6d, 0x9e, 0x6a, 0x62, 0x1a,
0x66, 0x13, 0xb3, 0xf1, 0x8f, 0x0a, 0xcc, 0x19, 0xff, 0xa3, 0x1e, 0x9e, 0x85, 0x57, 0x4a, 0x64,
0xae, 0xd0, 0x66, 0x6e, 0xcf, 0x8b, 0xc3, 0x34, 0xf6, 0x82, 0xd3, 0xce, 0x7d, 0x1d, 0x48, 0x85,
0x61, 0x14, 0xcf, 0xf0, 0x1a, 0x6e, 0xce, 0xd8, 0x2b, 0xfa, 0xb4, 0x01, 0xee, 0x34, 0x4c, 0x12,
0x78, 0x06, 0x7d, 0x0f, 0x16, 0xcc, 0xc0, 0x36, 0x4e, 0x19, 0xe0, 0xce, 0x4a, 0x31, 0x82, 0x05,
0x18, 0xcf, 0xa0, 0x6d, 0x58, 0xb4, 0x03, 0xe7, 0x5d, 0x4d, 0xc0, 0xda, 0xe8, 0xe8, 0x0d, 0x3b,
0xd4, 0xf0, 0x0c, 0x7a, 0x09, 0x2d, 0xc9, 0x22, 0xa1, 0x57, 0x46, 0xda, 0x46, 0xf7, 0x8b, 0x22,
0xe4, 0xfe, 0xd0, 0x29, 0xa9, 0xbe, 0x78, 0xe6, 0x78, 0x56, 0xfc, 0x53, 0xfe, 0x9d, 0xff, 0x04,
0x00, 0x00, 0xff, 0xff, 0x81, 0xb7, 0xef, 0x60, 0x62, 0x1f, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
var _ context.Context var _ context.Context
var _ grpc.ClientConn var _ grpc.ClientConn
...@@ -4207,3 +4023,156 @@ var _Privacy_serviceDesc = grpc.ServiceDesc{ ...@@ -4207,3 +4023,156 @@ var _Privacy_serviceDesc = grpc.ServiceDesc{
Streams: []grpc.StreamDesc{}, Streams: []grpc.StreamDesc{},
Metadata: "privacy.proto", Metadata: "privacy.proto",
} }
func init() { proto.RegisterFile("privacy.proto", fileDescriptor_privacy_5bbb0d865ebb40dc) }
var fileDescriptor_privacy_5bbb0d865ebb40dc = []byte{
// 2347 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x19, 0x4b, 0x6f, 0x1c, 0x49,
0xd9, 0x3d, 0x0f, 0xdb, 0xf3, 0x79, 0x6c, 0x4f, 0x3a, 0x63, 0xef, 0x64, 0x12, 0x45, 0xa1, 0x76,
0x15, 0xc2, 0x82, 0x8c, 0x36, 0x58, 0xda, 0x07, 0x41, 0x59, 0x8f, 0xe3, 0x24, 0x96, 0x37, 0xb1,
0x29, 0x7b, 0x05, 0x42, 0x8b, 0x44, 0xb9, 0xa7, 0x3c, 0x6e, 0xb9, 0xa7, 0xbb, 0xdd, 0xdd, 0x63,
0xcf, 0x9c, 0x96, 0x13, 0xe2, 0xc0, 0x01, 0x09, 0xc4, 0x05, 0xc4, 0x0d, 0xce, 0xfc, 0x09, 0x10,
0x07, 0xb8, 0xf0, 0x07, 0x10, 0x7f, 0x80, 0xdf, 0x80, 0xea, 0xd1, 0x5d, 0x8f, 0xe9, 0xb1, 0x13,
0xd6, 0x7b, 0x19, 0x75, 0x7d, 0xf5, 0xd5, 0x57, 0xdf, 0xfb, 0x51, 0x03, 0xcb, 0x71, 0xe2, 0x5f,
0x10, 0x6f, 0xb2, 0x11, 0x27, 0x51, 0x16, 0xb9, 0xf5, 0x6c, 0x12, 0xd3, 0xb4, 0xdb, 0xf4, 0xa2,
0xe1, 0x30, 0x0a, 0x05, 0xb0, 0x7b, 0x2b, 0x4b, 0x48, 0x98, 0x12, 0x2f, 0xf3, 0x73, 0x10, 0xfa,
0xaf, 0x03, 0xcb, 0x07, 0xe2, 0xe4, 0x16, 0x87, 0xbb, 0x4f, 0x61, 0x25, 0x1e, 0x1d, 0x07, 0xbe,
0xf7, 0x58, 0x52, 0xec, 0x38, 0x0f, 0x9c, 0x47, 0x4b, 0x8f, 0xd7, 0x36, 0x38, 0xc9, 0x8d, 0x03,
0xb1, 0x29, 0x0f, 0xbd, 0x9c, 0xc3, 0x16, 0xba, 0xdb, 0x83, 0x55, 0xf9, 0x59, 0x50, 0xa8, 0x70,
0x0a, 0xeb, 0x39, 0x05, 0xb9, 0xab, 0x48, 0xd8, 0x07, 0x38, 0x13, 0x39, 0x88, 0x53, 0xef, 0x54,
0x4d, 0x26, 0x72, 0x12, 0x7c, 0x93, 0x33, 0x61, 0xa0, 0xbb, 0x2b, 0x50, 0xc9, 0x26, 0x9d, 0xda,
0x03, 0xe7, 0x51, 0x1d, 0x57, 0xb2, 0x49, 0x6f, 0x01, 0xea, 0x17, 0x24, 0x18, 0x51, 0xf4, 0x67,
0x07, 0x56, 0x4c, 0x11, 0xdc, 0x7b, 0xd0, 0xc8, 0xa2, 0x33, 0x1a, 0x86, 0x64, 0x48, 0xb9, 0xb0,
0x0d, 0xac, 0x00, 0xee, 0x3a, 0xcc, 0x93, 0x61, 0x34, 0x0a, 0x33, 0x2e, 0x45, 0x15, 0xcb, 0x95,
0xeb, 0x42, 0x2d, 0x8c, 0x32, 0xda, 0xa9, 0xf3, 0x03, 0xfc, 0xdb, 0xfd, 0x0e, 0xcc, 0x47, 0xa3,
0x2c, 0x1e, 0x65, 0x9d, 0x05, 0xce, 0x6e, 0xdb, 0x64, 0x77, 0x9f, 0xef, 0x61, 0x89, 0xc3, 0xee,
0x25, 0x69, 0x4a, 0xb3, 0x9d, 0x31, 0xf5, 0x3a, 0x8b, 0xe2, 0xde, 0x02, 0x80, 0xfe, 0xe5, 0xc0,
0xaa, 0xa5, 0xa9, 0x1b, 0xe4, 0xf4, 0x5b, 0x50, 0xf7, 0x43, 0xc6, 0xe8, 0x3c, 0x67, 0xf4, 0xb6,
0xc9, 0xe8, 0x2e, 0xdb, 0xc2, 0x02, 0xe3, 0x46, 0x85, 0xfa, 0x0f, 0xd3, 0xbe, 0x61, 0xbb, 0xaf,
0x28, 0x53, 0x55, 0x93, 0x89, 0xd9, 0x3c, 0xe2, 0x02, 0x35, 0x70, 0x25, 0x8b, 0x94, 0x8c, 0xb5,
0xb7, 0x90, 0xb1, 0xfe, 0x95, 0x65, 0xdc, 0x81, 0xd5, 0xcf, 0x8f, 0x7e, 0xbc, 0xff, 0x22, 0x88,
0x8e, 0x49, 0xb0, 0x1b, 0xf6, 0xe9, 0x98, 0x49, 0x91, 0x8d, 0x4f, 0x49, 0x7a, 0xca, 0xf9, 0x6d,
0x62, 0xb9, 0x72, 0xbb, 0xb0, 0x18, 0x8d, 0x32, 0x9f, 0xe1, 0x48, 0x5f, 0x2d, 0xd6, 0xe8, 0xe7,
0x0e, 0x2c, 0xee, 0x51, 0xc1, 0xa6, 0xa6, 0x06, 0xc7, 0x50, 0xc3, 0xa7, 0xb0, 0x3a, 0xca, 0xc6,
0x91, 0x76, 0x57, 0xa7, 0xf2, 0xa0, 0xaa, 0xc5, 0x9a, 0xc5, 0x09, 0xb6, 0xd1, 0x19, 0x0b, 0x67,
0x74, 0xb2, 0x3b, 0x24, 0x03, 0x2a, 0x99, 0x2b, 0xd6, 0xe8, 0xfb, 0xd0, 0xd4, 0x95, 0xe5, 0x7e,
0x9b, 0xe3, 0x0a, 0x9d, 0x3a, 0xfc, 0x9a, 0x55, 0x79, 0x4d, 0xce, 0x28, 0x2e, 0x10, 0xd0, 0x2e,
0x34, 0xce, 0xa8, 0xd4, 0xdc, 0x4c, 0xfe, 0xdf, 0x83, 0xe5, 0x28, 0xa4, 0x99, 0x3f, 0xa4, 0xf1,
0xe8, 0xf8, 0x8c, 0x8a, 0x4c, 0xd1, 0xc4, 0x26, 0x10, 0xfd, 0xb4, 0xc8, 0x51, 0xfb, 0x85, 0x01,
0x70, 0x3c, 0x3a, 0xde, 0xa3, 0x93, 0x6c, 0xcc, 0x29, 0x36, 0xb1, 0x02, 0xb8, 0x1b, 0xfc, 0x66,
0x69, 0x4f, 0xa1, 0x8e, 0x96, 0xe4, 0xb3, 0xe0, 0x08, 0x2b, 0x14, 0x14, 0x43, 0xfb, 0x45, 0x12,
0x8d, 0xe2, 0x12, 0xab, 0x7d, 0x3d, 0x4a, 0x47, 0xbf, 0x77, 0x60, 0xf9, 0xb3, 0xc8, 0x23, 0x01,
0xc3, 0xdc, 0xcd, 0xe8, 0x90, 0xdd, 0x75, 0x4a, 0xfd, 0xc1, 0x69, 0x71, 0x97, 0x58, 0xb9, 0x1d,
0x58, 0xc8, 0xc6, 0xbe, 0xbc, 0x83, 0x39, 0x48, 0xbe, 0x34, 0x7c, 0xa7, 0x6a, 0xfa, 0x8e, 0xe6,
0x6f, 0x35, 0xc3, 0xdf, 0xa6, 0xd4, 0x5d, 0x2f, 0x53, 0xf7, 0x97, 0xb0, 0x82, 0xe9, 0x39, 0x63,
0xed, 0x80, 0xab, 0x34, 0x2d, 0x62, 0xf4, 0xb5, 0x1d, 0xa3, 0x0c, 0xe0, 0xee, 0x43, 0x7b, 0x50,
0xa2, 0x3f, 0xa9, 0x94, 0xbb, 0x52, 0x29, 0x65, 0x2a, 0xc6, 0xa5, 0x07, 0xd1, 0xbb, 0xb0, 0x2c,
0x92, 0xc3, 0x1e, 0x9d, 0x3c, 0x23, 0x19, 0x61, 0xd1, 0xde, 0x27, 0x19, 0xe1, 0x4e, 0xd7, 0xc4,
0xfc, 0x1b, 0x6d, 0xc1, 0x6a, 0x41, 0x52, 0xf0, 0x39, 0xd3, 0x60, 0xeb, 0x30, 0x5f, 0xb8, 0x17,
0x23, 0x20, 0x57, 0xe8, 0x88, 0x09, 0x9a, 0xea, 0x82, 0xf6, 0xa0, 0x35, 0x30, 0x89, 0xa6, 0xd2,
0xd3, 0xd7, 0x6d, 0x31, 0xc4, 0x36, 0x9e, 0xc2, 0x47, 0x4f, 0x61, 0x15, 0xd3, 0x73, 0xe9, 0xb0,
0x47, 0x4c, 0x4b, 0x6e, 0x1b, 0xea, 0x5c, 0x5d, 0x52, 0x77, 0x62, 0x31, 0x2b, 0xb7, 0xa1, 0x27,
0xd0, 0xdc, 0xe2, 0x5f, 0xcf, 0x68, 0x46, 0xfc, 0x60, 0xa6, 0x58, 0x6d, 0xa8, 0x7b, 0xda, 0x71,
0xb1, 0x40, 0xaf, 0xe1, 0x36, 0xa6, 0x71, 0x30, 0xc9, 0xab, 0x3a, 0xc7, 0x4d, 0xdd, 0x0f, 0xa1,
0x49, 0x34, 0xa2, 0x52, 0xaa, 0x3c, 0x27, 0xea, 0xf7, 0x61, 0x03, 0x11, 0x61, 0x70, 0x13, 0x46,
0x8f, 0x89, 0x98, 0xee, 0x9f, 0x08, 0x4c, 0xf7, 0x09, 0xac, 0x04, 0xba, 0x03, 0xe7, 0x6a, 0xca,
0x13, 0xa7, 0xe1, 0xdd, 0xd8, 0xc2, 0x45, 0x5f, 0x40, 0x1b, 0x53, 0x8f, 0xfa, 0x71, 0x66, 0xc6,
0x75, 0xb9, 0x9e, 0xde, 0x36, 0x9e, 0x7f, 0xed, 0xc0, 0xb2, 0x14, 0x7b, 0xff, 0x84, 0x5d, 0xea,
0x6e, 0x41, 0x43, 0xc8, 0xf4, 0x8a, 0xc4, 0x92, 0xd1, 0x77, 0x0d, 0xc9, 0x25, 0xa2, 0x5c, 0xbd,
0x22, 0xf1, 0x4e, 0x98, 0x25, 0x13, 0xac, 0x4e, 0x75, 0x9f, 0xc0, 0x8a, 0xb9, 0xe9, 0xb6, 0xa0,
0xca, 0x5c, 0x4a, 0xd8, 0x84, 0x7d, 0x32, 0xf6, 0x79, 0x93, 0x91, 0x1b, 0x84, 0x2f, 0x3e, 0xa9,
0x7c, 0xe4, 0xa0, 0xdf, 0x39, 0xd0, 0x3a, 0xca, 0x03, 0x26, 0xe7, 0xea, 0x99, 0x8c, 0xaa, 0x54,
0x71, 0xf5, 0x50, 0x72, 0x65, 0xe3, 0x0a, 0x40, 0xaa, 0x18, 0x2b, 0x0e, 0x32, 0xc6, 0xcc, 0x4d,
0x9d, 0xb1, 0x46, 0x09, 0x63, 0x0d, 0x9d, 0xb1, 0x3d, 0x58, 0xb3, 0xa2, 0x6f, 0xf3, 0x20, 0xf1,
0x45, 0xcc, 0xc8, 0x14, 0x22, 0xe8, 0x94, 0x95, 0xac, 0x8a, 0x55, 0xb2, 0x7e, 0xe5, 0xc0, 0x4a,
0x5e, 0x09, 0x14, 0x99, 0x52, 0xdf, 0x7d, 0x3e, 0x2b, 0x87, 0xde, 0x2b, 0xcf, 0xa1, 0x82, 0xdc,
0xf5, 0xe5, 0xab, 0xa1, 0x95, 0xaf, 0x7d, 0x58, 0x2d, 0xfc, 0xe3, 0x1a, 0x76, 0x4a, 0xeb, 0x50,
0xc3, 0x4e, 0x8c, 0x2f, 0xc0, 0xd5, 0xeb, 0xa1, 0xa4, 0xf9, 0xc1, 0x54, 0x55, 0x5c, 0xb3, 0xaa,
0xa2, 0x64, 0x5e, 0xd5, 0x46, 0x1f, 0x6e, 0x1b, 0x8e, 0x2f, 0x29, 0x4d, 0x95, 0xb5, 0x86, 0x5e,
0xd6, 0x36, 0xa7, 0xc3, 0x60, 0xdd, 0x0e, 0x03, 0x79, 0x93, 0x16, 0x0c, 0xbf, 0x75, 0xa0, 0x6d,
0xf6, 0xbb, 0xea, 0xb2, 0x1b, 0xea, 0x25, 0x1f, 0x5b, 0x0d, 0x62, 0xb7, 0xac, 0x79, 0x92, 0x9c,
0x49, 0x4c, 0xf4, 0x37, 0x07, 0xd6, 0xac, 0xee, 0xf6, 0xc6, 0xf9, 0xfa, 0xae, 0xd9, 0xe3, 0xde,
0x29, 0xe9, 0xff, 0x24, 0x57, 0xb2, 0x0b, 0xfc, 0x7f, 0x04, 0xf9, 0x2b, 0xd3, 0xaf, 0xd1, 0xd1,
0xde, 0x88, 0x1c, 0xd5, 0x32, 0x39, 0x6a, 0x6f, 0x2d, 0x47, 0xfd, 0x8d, 0xe5, 0xf8, 0x45, 0xa5,
0xf0, 0x49, 0x31, 0x08, 0x4a, 0x31, 0x76, 0x66, 0x8c, 0x83, 0x77, 0x4b, 0xc7, 0x41, 0x71, 0xa8,
0x64, 0x28, 0x7c, 0x39, 0x6b, 0x28, 0xbc, 0x57, 0x3e, 0x14, 0x16, 0x84, 0xa6, 0x46, 0xc3, 0x9d,
0x19, 0xa3, 0xe1, 0xdd, 0xd2, 0xd1, 0x50, 0x63, 0xe8, 0x0d, 0x07, 0xc4, 0xbf, 0x3b, 0xbc, 0xfd,
0xd9, 0x4e, 0x28, 0xc9, 0x28, 0x2f, 0x7a, 0xa6, 0x29, 0xab, 0xb3, 0x4d, 0x59, 0xbb, 0xd6, 0x25,
0xd7, 0x61, 0x3e, 0xa5, 0x61, 0x9f, 0x26, 0x72, 0x4c, 0x91, 0x2b, 0xf7, 0x3e, 0x80, 0xc8, 0x31,
0x31, 0xf1, 0x13, 0x39, 0x52, 0x68, 0x10, 0x76, 0x8e, 0x8e, 0x63, 0x3f, 0xa1, 0x9d, 0x86, 0xb8,
0x43, 0xac, 0xcc, 0x49, 0x04, 0xec, 0x49, 0xe4, 0x0b, 0x70, 0xf5, 0x56, 0xe0, 0xe0, 0xec, 0x80,
0xd1, 0x7a, 0x08, 0x2b, 0xe9, 0x69, 0x74, 0x79, 0x38, 0xf2, 0x3c, 0x9a, 0xa6, 0x27, 0xa3, 0x80,
0x5b, 0x74, 0x11, 0x5b, 0x50, 0x8b, 0xa7, 0x9a, 0xcd, 0x13, 0xfa, 0x94, 0x15, 0x71, 0xde, 0xe7,
0xf4, 0x48, 0xb0, 0xb9, 0xd5, 0xef, 0x27, 0xa2, 0xd9, 0x71, 0xa1, 0x46, 0xfa, 0xfd, 0x44, 0xfa,
0x3c, 0xff, 0x56, 0x85, 0xbd, 0xa2, 0x15, 0x76, 0xf4, 0x43, 0xb3, 0x55, 0xe9, 0x91, 0x80, 0x84,
0x1e, 0x75, 0x1f, 0xc0, 0x92, 0xcc, 0xbb, 0x1a, 0x1d, 0x1d, 0xc4, 0xba, 0xe2, 0x63, 0x81, 0x2c,
0xc3, 0x27, 0x5f, 0xa2, 0xbf, 0x54, 0x8a, 0x01, 0xf3, 0x59, 0xef, 0x30, 0x8b, 0x12, 0x6a, 0x55,
0x32, 0xd5, 0x0c, 0x1b, 0x56, 0xad, 0xcc, 0xb6, 0x6a, 0xd5, 0xb0, 0xaa, 0xa8, 0x7f, 0xbb, 0xd6,
0xc8, 0x26, 0x8a, 0x11, 0x82, 0x66, 0x36, 0x2e, 0x3a, 0x57, 0x2c, 0xbb, 0x6b, 0x03, 0xe6, 0xbe,
0x0f, 0x2d, 0x29, 0x49, 0x01, 0xe4, 0xbe, 0xd0, 0xc4, 0x53, 0x70, 0xa6, 0xb5, 0xe8, 0x32, 0xa4,
0x09, 0x4f, 0x47, 0x0d, 0x2c, 0x16, 0xda, 0xa8, 0xb0, 0x38, 0x6b, 0x54, 0x68, 0x98, 0xa3, 0xc2,
0x3d, 0x68, 0x1c, 0x07, 0x91, 0x77, 0xc6, 0x95, 0x00, 0x62, 0x5c, 0x2a, 0x00, 0xe8, 0x35, 0xd4,
0x78, 0x3b, 0x32, 0xab, 0x36, 0x6e, 0x40, 0x83, 0x55, 0xdd, 0x1e, 0x49, 0x7d, 0x4f, 0x06, 0x6d,
0x4b, 0x2b, 0xd2, 0x1c, 0x8e, 0x15, 0x0a, 0x8a, 0x61, 0x85, 0xc1, 0x5f, 0x92, 0x0b, 0x7a, 0x34,
0x7e, 0xc9, 0x34, 0x7d, 0x45, 0x5f, 0x9e, 0x71, 0x0c, 0xa9, 0x7e, 0xb9, 0x32, 0x6f, 0xac, 0x5e,
0x7f, 0xe3, 0xfb, 0x50, 0x17, 0x81, 0xfa, 0x0d, 0xa8, 0x33, 0x68, 0xde, 0x8c, 0x2e, 0x69, 0x87,
0xb0, 0xd8, 0x41, 0x58, 0x4c, 0xe7, 0x8a, 0xbb, 0xd4, 0x7d, 0x2a, 0x7a, 0x11, 0x0d, 0x64, 0xd5,
0x71, 0xf3, 0x00, 0xb6, 0xb1, 0xd1, 0x09, 0x8b, 0xb3, 0x73, 0x7b, 0x7c, 0xbc, 0xba, 0x00, 0x74,
0x61, 0x71, 0xe8, 0x8f, 0xb7, 0x8b, 0x12, 0x50, 0xc7, 0xc5, 0xda, 0xf0, 0xbd, 0xaa, 0x36, 0x18,
0xa4, 0xd0, 0x28, 0xe4, 0x2f, 0x9b, 0x42, 0x1d, 0xe3, 0x99, 0xed, 0xda, 0xd1, 0x5f, 0x35, 0x3d,
0x07, 0x65, 0xc3, 0xb7, 0x00, 0x22, 0x0c, 0x2d, 0xde, 0xb8, 0xf3, 0x2e, 0x6c, 0x6b, 0x68, 0x31,
0x68, 0x1a, 0xf4, 0x61, 0xae, 0x7f, 0xb3, 0x4b, 0x57, 0x46, 0x93, 0x46, 0xf8, 0x8d, 0xc3, 0x34,
0x96, 0xde, 0x9c, 0xc6, 0xb6, 0xa1, 0xc5, 0x28, 0xeb, 0x4c, 0x72, 0xdd, 0x2d, 0x3d, 0x7e, 0x47,
0xe3, 0x41, 0xdf, 0xc6, 0x53, 0x07, 0xd0, 0x1f, 0x1c, 0xb8, 0xf5, 0x9c, 0xf9, 0xd1, 0x21, 0xfb,
0xd9, 0x0d, 0xf7, 0x43, 0x7a, 0x34, 0xbe, 0xbe, 0x8e, 0xcb, 0x84, 0x5e, 0x31, 0x12, 0xba, 0x4a,
0xd8, 0x55, 0x23, 0x61, 0x9b, 0x93, 0xb9, 0x6a, 0xab, 0x0b, 0xcf, 0xad, 0xcf, 0xf4, 0xdc, 0x9f,
0x40, 0x13, 0x53, 0x12, 0x14, 0x6f, 0x42, 0x08, 0x9a, 0x09, 0x25, 0x01, 0x2f, 0xf9, 0x79, 0xbf,
0x5f, 0xc7, 0x06, 0x8c, 0xe5, 0xfa, 0xbc, 0x85, 0x4d, 0xfc, 0x0b, 0x65, 0x63, 0x0b, 0x8a, 0x36,
0x01, 0x0a, 0x23, 0xa5, 0xca, 0x8c, 0xce, 0xd5, 0x66, 0xfc, 0x47, 0x05, 0xd6, 0x45, 0x9d, 0x3c,
0x52, 0x0f, 0xcb, 0xdb, 0xc4, 0x3b, 0xa5, 0xfa, 0x0c, 0xd2, 0x14, 0x33, 0xc8, 0x7d, 0x00, 0x8f,
0xe3, 0xb2, 0x7b, 0x65, 0xda, 0xd6, 0x20, 0xcc, 0xbc, 0xa9, 0x3f, 0x08, 0xf9, 0xae, 0xd0, 0x59,
0xb1, 0xe6, 0x5a, 0xce, 0x48, 0x36, 0x4a, 0x65, 0xca, 0x95, 0x2b, 0x77, 0x13, 0x96, 0xb4, 0x27,
0x6d, 0xd9, 0xed, 0xb8, 0xf9, 0x0c, 0xa5, 0x76, 0xb0, 0x8e, 0x36, 0xb3, 0x08, 0x7f, 0x28, 0x14,
0x5a, 0x34, 0xf3, 0x0b, 0xc6, 0x88, 0xac, 0xeb, 0x1e, 0x1b, 0x88, 0xee, 0x37, 0x73, 0x7d, 0x2d,
0xf2, 0x13, 0xb7, 0x6c, 0x7d, 0xa5, 0x52, 0x61, 0xa6, 0x2f, 0x35, 0x2c, 0x5f, 0x42, 0x3d, 0xd1,
0x78, 0x30, 0xfd, 0x1d, 0x8d, 0x3f, 0xf3, 0xd3, 0xac, 0xb4, 0x94, 0x5e, 0x59, 0xb6, 0xd0, 0x47,
0xd0, 0xe2, 0x25, 0x55, 0xa7, 0xf2, 0x1e, 0x54, 0xb3, 0x71, 0x6e, 0xcc, 0x32, 0xed, 0xb0, 0x6d,
0xb4, 0x03, 0xb7, 0xd4, 0xb3, 0xc5, 0x96, 0xc7, 0x1f, 0x13, 0xae, 0x71, 0xfe, 0x9c, 0xbd, 0x8a,
0x62, 0x0f, 0xfd, 0x8c, 0xe7, 0xc2, 0x03, 0x8b, 0xce, 0x1b, 0xf7, 0x04, 0xac, 0xf8, 0xf7, 0xfd,
0x34, 0x0e, 0xc8, 0x64, 0x18, 0xf5, 0xa9, 0x7c, 0xd9, 0xd2, 0x41, 0xe8, 0x4b, 0xeb, 0x81, 0x43,
0x5e, 0x81, 0x94, 0xd3, 0x32, 0x2f, 0x68, 0x6a, 0x46, 0x28, 0xf4, 0x8f, 0xa0, 0x7e, 0x22, 0xf3,
0x53, 0x09, 0x0e, 0xdf, 0x7a, 0x03, 0x06, 0x5e, 0x31, 0x06, 0x64, 0x83, 0x28, 0xf5, 0xcc, 0xaa,
0xf5, 0xd5, 0xba, 0xea, 0xc0, 0x02, 0x0b, 0x74, 0x15, 0x82, 0xf9, 0x12, 0xfd, 0xdb, 0x81, 0x3b,
0xda, 0x83, 0x91, 0xb2, 0x0b, 0x37, 0xde, 0xd5, 0x54, 0x11, 0x34, 0x99, 0xf3, 0x62, 0xea, 0x5d,
0x3c, 0x0f, 0xc8, 0x40, 0xe6, 0x45, 0x03, 0xc6, 0x28, 0xf4, 0xfd, 0x84, 0x8a, 0x10, 0x11, 0xe2,
0x28, 0x80, 0x7a, 0x44, 0x12, 0x91, 0x55, 0x2f, 0xec, 0x75, 0x92, 0x44, 0xc3, 0xbc, 0x77, 0x65,
0xdf, 0x4c, 0x02, 0x66, 0x37, 0x9a, 0xa6, 0x32, 0x6e, 0xf2, 0x25, 0x0b, 0xed, 0x94, 0xd2, 0xbe,
0x4c, 0x6c, 0x0b, 0x5c, 0x3c, 0x0d, 0x82, 0x3e, 0xe1, 0x8e, 0x8d, 0x69, 0xea, 0x91, 0xf0, 0x73,
0xae, 0xe4, 0x36, 0xd4, 0xd9, 0x61, 0xe1, 0x94, 0x0d, 0x2c, 0x16, 0xfc, 0x56, 0x25, 0x05, 0xff,
0x46, 0x1f, 0xc3, 0x2a, 0xa6, 0xb1, 0x38, 0x8b, 0x69, 0x3a, 0x0a, 0xca, 0x9d, 0xa9, 0xec, 0xe8,
0x29, 0xbb, 0x36, 0xd6, 0xaf, 0xcd, 0xb1, 0x1c, 0x85, 0xe5, 0xf6, 0xa0, 0x95, 0x98, 0x17, 0xa4,
0xd6, 0x74, 0x6d, 0xdd, 0x8f, 0xa7, 0xf0, 0xd1, 0x23, 0x16, 0x75, 0xe7, 0x3b, 0x21, 0x39, 0x0e,
0x68, 0xfe, 0x5f, 0x4d, 0x21, 0x62, 0x45, 0x13, 0x11, 0xed, 0xf2, 0xa7, 0x6c, 0xd6, 0x2c, 0x5f,
0x2d, 0xcc, 0x6e, 0xba, 0xbf, 0xc7, 0x85, 0x59, 0xc4, 0xfc, 0x9b, 0x25, 0xd4, 0x61, 0x3a, 0x90,
0xd3, 0x07, 0xfb, 0x44, 0x3d, 0x1e, 0xea, 0xe6, 0xa5, 0x1b, 0xb0, 0x90, 0x48, 0x19, 0xcc, 0xf7,
0x38, 0xe3, 0x52, 0x9c, 0x23, 0xa1, 0x3f, 0xa9, 0x31, 0xfc, 0xd0, 0x1f, 0x84, 0x24, 0x1b, 0x25,
0xf4, 0x80, 0x24, 0x64, 0xc8, 0x6c, 0x2a, 0xbc, 0xf0, 0x68, 0x12, 0x53, 0xa9, 0x30, 0x0d, 0xe2,
0x7e, 0x00, 0xc0, 0x62, 0xea, 0x98, 0xe7, 0x37, 0xa9, 0xb0, 0x92, 0xc4, 0xa7, 0x21, 0xb9, 0x1f,
0xc3, 0x72, 0xa2, 0x25, 0xd1, 0x54, 0x56, 0xe8, 0xd2, 0x04, 0x6b, 0x62, 0xa2, 0x3f, 0x3a, 0xd0,
0xfe, 0x11, 0x09, 0x02, 0x9a, 0xc9, 0x70, 0xcf, 0x05, 0xbe, 0x0f, 0x70, 0xe1, 0xd3, 0x4b, 0xd9,
0xc0, 0x88, 0x72, 0xa3, 0x41, 0x58, 0x34, 0xf3, 0x55, 0xe2, 0x5f, 0xec, 0x15, 0xa1, 0xa7, 0x83,
0x18, 0x46, 0x1a, 0xd3, 0xb0, 0x2f, 0x49, 0x88, 0xff, 0x40, 0x74, 0x10, 0x0f, 0x32, 0xbe, 0x94,
0x44, 0xc4, 0x9b, 0xba, 0x01, 0x43, 0xbf, 0xac, 0xf0, 0xbc, 0x27, 0x92, 0x42, 0x1e, 0xca, 0xe3,
0xeb, 0xf3, 0x27, 0x13, 0x3d, 0x77, 0x5a, 0xf6, 0x3d, 0x73, 0xee, 0xc8, 0xa7, 0xc9, 0x9a, 0x36,
0x4d, 0x96, 0x45, 0xa9, 0xfd, 0x27, 0x98, 0x39, 0xc5, 0xc1, 0xd4, 0x64, 0x29, 0xba, 0x2a, 0x91,
0x02, 0x96, 0x8a, 0xae, 0xca, 0xcb, 0xdb, 0x3c, 0xd9, 0xc4, 0x34, 0x67, 0x4f, 0x9d, 0xcb, 0xd6,
0xd4, 0xf9, 0xf8, 0x9f, 0x15, 0x58, 0xd0, 0xfe, 0xc7, 0x3d, 0x3c, 0x8d, 0x2e, 0xa5, 0x42, 0x98,
0xba, 0x5b, 0x85, 0xb5, 0xcf, 0x0f, 0xb3, 0xc4, 0x0f, 0x07, 0xdd, 0x3b, 0x2a, 0xcc, 0xac, 0x51,
0x15, 0xcd, 0xb1, 0x0a, 0xaf, 0x4f, 0xe2, 0x6b, 0xea, 0xb4, 0x06, 0xee, 0x36, 0x75, 0x12, 0x68,
0xce, 0xfd, 0x01, 0x2c, 0xe9, 0x61, 0xaf, 0x9d, 0xd2, 0xc0, 0xdd, 0x35, 0x3b, 0xbe, 0x39, 0x18,
0xcd, 0xb9, 0xdb, 0xb0, 0x6c, 0x86, 0xd5, 0x3b, 0x8a, 0x80, 0xb1, 0xd1, 0x55, 0x1b, 0x66, 0x20,
0xa2, 0x39, 0xf7, 0x05, 0xb4, 0x05, 0x8b, 0x98, 0x5c, 0x6a, 0x49, 0xdd, 0xbd, 0x63, 0x8b, 0x50,
0x78, 0x4b, 0xb7, 0xa4, 0x36, 0xa3, 0xb9, 0xe3, 0x79, 0xfe, 0x4f, 0xfd, 0xf7, 0xfe, 0x17, 0x00,
0x00, 0xff, 0xff, 0x55, 0x8e, 0x3d, 0x9d, 0xe2, 0x1f, 0x00, 0x00,
}
...@@ -49,6 +49,18 @@ func (policy *privacyPolicy) On_CreateTransaction(req *privacytypes.ReqCreatePri ...@@ -49,6 +49,18 @@ func (policy *privacyPolicy) On_CreateTransaction(req *privacytypes.ReqCreatePri
bizlog.Error("createTransaction", "isRescanUtxosFlagScaning cause error.", err) bizlog.Error("createTransaction", "isRescanUtxosFlagScaning cause error.", err)
return nil, err return nil, err
} }
//为空时增加自动设置
if req.GetAssetExec() == "coins" && req.GetTokenname() == "" {
req.Tokenname = types.GetCoinSymbol()
}
if req.AssetExec == "" || req.Tokenname == "" {
bizlog.Error("createTransaction", "checkAssertExecSymbol err", "empty assert exec or token name",
"assertExec", req.GetAssetExec(), "assertSymbol", req.GetTokenname())
return nil, types.ErrInvalidParam
}
if !checkAmountValid(req.Amount) { if !checkAmountValid(req.Amount) {
err = types.ErrAmount err = types.ErrAmount
bizlog.Error("createTransaction", "isRescanUtxosFlagScaning cause error.", err) bizlog.Error("createTransaction", "isRescanUtxosFlagScaning cause error.", err)
......
...@@ -164,6 +164,7 @@ func (policy *privacyPolicy) createUTXOsByPub2Priv(priv crypto.PrivKey, reqCreat ...@@ -164,6 +164,7 @@ func (policy *privacyPolicy) createUTXOsByPub2Priv(priv crypto.PrivKey, reqCreat
Amount: reqCreateUTXOs.Amount, Amount: reqCreateUTXOs.Amount,
Note: reqCreateUTXOs.Note, Note: reqCreateUTXOs.Note,
Output: privacyOutput, Output: privacyOutput,
AssetExec: reqCreateUTXOs.AssetExec,
} }
action := &privacytypes.PrivacyAction{ action := &privacytypes.PrivacyAction{
Ty: privacytypes.ActionPublic2Privacy, Ty: privacytypes.ActionPublic2Privacy,
...@@ -594,6 +595,7 @@ func (policy *privacyPolicy) createPublic2PrivacyTx(req *privacytypes.ReqCreateP ...@@ -594,6 +595,7 @@ func (policy *privacyPolicy) createPublic2PrivacyTx(req *privacytypes.ReqCreateP
Amount: amount, Amount: amount,
Note: req.GetNote(), Note: req.GetNote(),
Output: privacyOutput, Output: privacyOutput,
AssetExec: req.GetAssetExec(),
} }
action := &privacytypes.PrivacyAction{ action := &privacytypes.PrivacyAction{
...@@ -624,10 +626,10 @@ func (policy *privacyPolicy) createPublic2PrivacyTx(req *privacytypes.ReqCreateP ...@@ -624,10 +626,10 @@ func (policy *privacyPolicy) createPublic2PrivacyTx(req *privacytypes.ReqCreateP
func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreatePrivacyTx) (*types.Transaction, error) { func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreatePrivacyTx) (*types.Transaction, error) {
//需要燃烧的utxo //需要燃烧的utxo
utxoBurnedAmount := privacytypes.PrivacyTxFee var utxoBurnedAmount int64
isPara := types.IsPara() isMainetCoins := !types.IsPara() && (req.AssetExec == "coins")
if isPara { if isMainetCoins {
utxoBurnedAmount = 0 utxoBurnedAmount = privacytypes.PrivacyTxFee
} }
buildInfo := &buildInputInfo{ buildInfo := &buildInputInfo{
tokenname: req.GetTokenname(), tokenname: req.GetTokenname(),
...@@ -674,6 +676,7 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate ...@@ -674,6 +676,7 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate
Note: req.GetNote(), Note: req.GetNote(),
Input: privacyInput, Input: privacyInput,
Output: privacyOutput, Output: privacyOutput,
AssetExec: req.GetAssetExec(),
} }
action := &privacytypes.PrivacyAction{ action := &privacytypes.PrivacyAction{
Ty: privacytypes.ActionPrivacy2Privacy, Ty: privacytypes.ActionPrivacy2Privacy,
...@@ -688,7 +691,7 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate ...@@ -688,7 +691,7 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate
To: address.ExecAddress(types.ExecName(privacytypes.PrivacyX)), To: address.ExecAddress(types.ExecName(privacytypes.PrivacyX)),
} }
tx.SetExpire(time.Duration(req.Expire)) tx.SetExpire(time.Duration(req.Expire))
if isPara { if !isMainetCoins {
tx.Fee, err = tx.GetRealFee(types.GInt("MinFee")) tx.Fee, err = tx.GetRealFee(types.GInt("MinFee"))
if err != nil { if err != nil {
bizlog.Error("createPrivacy2PrivacyTx", "calc fee failed", err) bizlog.Error("createPrivacy2PrivacyTx", "calc fee failed", err)
...@@ -697,7 +700,7 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate ...@@ -697,7 +700,7 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate
} }
// 创建交易成功,将已经使用掉的UTXO冻结,需要注意此处获取的txHash和交易发送时的一致 // 创建交易成功,将已经使用掉的UTXO冻结,需要注意此处获取的txHash和交易发送时的一致
policy.saveFTXOInfo(tx.GetExpire(), req.GetTokenname(), req.GetFrom(), hex.EncodeToString(tx.Hash()), selectedUtxo) policy.saveFTXOInfo(tx.GetExpire(), req.Tokenname, req.GetFrom(), hex.EncodeToString(tx.Hash()), selectedUtxo)
tx.Signature = &types.Signature{ tx.Signature = &types.Signature{
Signature: types.Encode(&privacytypes.PrivacySignatureParam{ Signature: types.Encode(&privacytypes.PrivacySignatureParam{
ActionType: action.Ty, ActionType: action.Ty,
...@@ -711,10 +714,11 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate ...@@ -711,10 +714,11 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate
func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreatePrivacyTx) (*types.Transaction, error) { func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreatePrivacyTx) (*types.Transaction, error) {
//需要燃烧的utxo //需要燃烧的utxo
utxoBurnedAmount := privacytypes.PrivacyTxFee //需要燃烧的utxo
isPara := types.IsPara() var utxoBurnedAmount int64
if isPara { isMainetCoins := !types.IsPara() && (req.AssetExec == "coins")
utxoBurnedAmount = 0 if isMainetCoins {
utxoBurnedAmount = privacytypes.PrivacyTxFee
} }
buildInfo := &buildInputInfo{ buildInfo := &buildInputInfo{
tokenname: req.GetTokenname(), tokenname: req.GetTokenname(),
...@@ -760,6 +764,7 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP ...@@ -760,6 +764,7 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP
Input: privacyInput, Input: privacyInput,
Output: privacyOutput, Output: privacyOutput,
To: req.GetTo(), To: req.GetTo(),
AssetExec: req.GetAssetExec(),
} }
action := &privacytypes.PrivacyAction{ action := &privacytypes.PrivacyAction{
Ty: privacytypes.ActionPrivacy2Public, Ty: privacytypes.ActionPrivacy2Public,
...@@ -774,7 +779,7 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP ...@@ -774,7 +779,7 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP
To: address.ExecAddress(types.ExecName(privacytypes.PrivacyX)), To: address.ExecAddress(types.ExecName(privacytypes.PrivacyX)),
} }
tx.SetExpire(time.Duration(req.Expire)) tx.SetExpire(time.Duration(req.Expire))
if isPara { if !isMainetCoins {
tx.Fee, err = tx.GetRealFee(types.GInt("MinFee")) tx.Fee, err = tx.GetRealFee(types.GInt("MinFee"))
if err != nil { if err != nil {
bizlog.Error("createPrivacy2PublicTx", "calc fee failed", err) bizlog.Error("createPrivacy2PublicTx", "calc fee failed", err)
...@@ -782,7 +787,7 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP ...@@ -782,7 +787,7 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP
} }
} }
// 创建交易成功,将已经使用掉的UTXO冻结,需要注意此处获取的txHash和交易发送时的一致 // 创建交易成功,将已经使用掉的UTXO冻结,需要注意此处获取的txHash和交易发送时的一致
policy.saveFTXOInfo(tx.GetExpire(), req.GetTokenname(), req.GetFrom(), hex.EncodeToString(tx.Hash()), selectedUtxo) policy.saveFTXOInfo(tx.GetExpire(), req.Tokenname, req.GetFrom(), hex.EncodeToString(tx.Hash()), selectedUtxo)
tx.Signature = &types.Signature{ tx.Signature = &types.Signature{
Signature: types.Encode(&privacytypes.PrivacySignatureParam{ Signature: types.Encode(&privacytypes.PrivacySignatureParam{
ActionType: action.Ty, ActionType: action.Ty,
...@@ -793,9 +798,9 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP ...@@ -793,9 +798,9 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP
return tx, nil return tx, nil
} }
func (policy *privacyPolicy) saveFTXOInfo(expire int64, token, sender, txhash string, selectedUtxos []*txOutputInfo) { func (policy *privacyPolicy) saveFTXOInfo(expire int64, assertSymbol, sender, txhash string, selectedUtxos []*txOutputInfo) {
//将已经作为本次交易输入的utxo进行冻结,防止产生双花交易 //将已经作为本次交易输入的utxo进行冻结,防止产生双花交易
policy.store.moveUTXO2FTXO(expire, token, sender, txhash, selectedUtxos) policy.store.moveUTXO2FTXO(expire, assertSymbol, sender, txhash, selectedUtxos)
//TODO:需要加入超时处理,需要将此处的txhash写入到数据库中,以免钱包瞬间奔溃后没有对该笔隐私交易的记录, //TODO:需要加入超时处理,需要将此处的txhash写入到数据库中,以免钱包瞬间奔溃后没有对该笔隐私交易的记录,
//TODO:然后当该交易得到执行之后,没法将FTXO转化为STXO,added by hezhengjun on 2018.6.5 //TODO:然后当该交易得到执行之后,没法将FTXO转化为STXO,added by hezhengjun on 2018.6.5
} }
...@@ -878,7 +883,7 @@ func (policy *privacyPolicy) reqUtxosByAddr(addrs []string) { ...@@ -878,7 +883,7 @@ func (policy *privacyPolicy) reqUtxosByAddr(addrs []string) {
} }
policy.store.saveREscanUTXOsAddresses(storeAddrs) policy.store.saveREscanUTXOsAddresses(storeAddrs)
reqAddr := address.ExecAddress(privacytypes.PrivacyX) reqAddr := address.ExecAddress(types.ExecName(privacytypes.PrivacyX))
var txInfo types.ReplyTxInfo var txInfo types.ReplyTxInfo
i := 0 i := 0
operater := policy.getWalletOperate() operater := policy.getWalletOperate()
...@@ -944,6 +949,7 @@ func (policy *privacyPolicy) reqUtxosByAddr(addrs []string) { ...@@ -944,6 +949,7 @@ func (policy *privacyPolicy) reqUtxosByAddr(addrs []string) {
policy.store.saveREscanUTXOsAddresses(storeAddrs) policy.store.saveREscanUTXOsAddresses(storeAddrs)
} }
//TODO:input也可能时混淆的utxo, 需要增加判定实际的utxo
func (policy *privacyPolicy) deleteScanPrivacyInputUtxo() { func (policy *privacyPolicy) deleteScanPrivacyInputUtxo() {
maxUTXOsPerTime := 1000 maxUTXOsPerTime := 1000
for { for {
...@@ -1225,7 +1231,7 @@ func (policy *privacyPolicy) addDelPrivacyTxsFromBlock(tx *types.Transaction, in ...@@ -1225,7 +1231,7 @@ func (policy *privacyPolicy) addDelPrivacyTxsFromBlock(tx *types.Transaction, in
} }
//处理input,对于公对私的交易类型,只会出现在output类型处理中 //处理input,对于公对私的交易类型,只会出现在output类型处理中
//如果该隐私交易是本钱包中的地址发送出去的,则需要对相应的utxo进行处理 //如果该隐私交易是本钱包中的地址发送出去的,则需要对相应的utxo进行处理 TODO:处理其他节点构造并发起的隐私input(需要比较keyimage)
if AddTx == addDelType { if AddTx == addDelType {
ftxos, keys := policy.store.getFTXOlist() ftxos, keys := policy.store.getFTXOlist()
for i, ftxo := range ftxos { for i, ftxo := range ftxos {
......
...@@ -120,6 +120,7 @@ func (mock *PrivacyMock) CreateUTXOs(sender string, pubkeypair string, amount in ...@@ -120,6 +120,7 @@ func (mock *PrivacyMock) CreateUTXOs(sender string, pubkeypair string, amount in
dbbatch := mock.store.NewBatch(true) dbbatch := mock.store.NewBatch(true)
for n := 0; n < count; n++ { for n := 0; n < count; n++ {
tx := mock.createPublic2PrivacyTx(&ty.ReqCreatePrivacyTx{ tx := mock.createPublic2PrivacyTx(&ty.ReqCreatePrivacyTx{
AssetExec: "coins",
Tokenname: mock.tokenName, Tokenname: mock.tokenName,
Type: 1, Type: 1,
Amount: amount, Amount: amount,
......
...@@ -343,10 +343,10 @@ func Test_CreateUTXOs(t *testing.T) { ...@@ -343,10 +343,10 @@ func Test_CreateUTXOs(t *testing.T) {
}, },
{ {
req: &ty.ReqCreateUTXOs{ req: &ty.ReqCreateUTXOs{
AssetExec: "coins",
Tokenname: types.BTY, Tokenname: types.BTY,
Amount: 10 * types.Coin, Amount: 10 * types.Coin,
Note: "say something", Note: "say something",
Count: 16,
Sender: testAddrs[0], Sender: testAddrs[0],
Pubkeypair: testPubkeyPairs[0], Pubkeypair: testPubkeyPairs[0],
}, },
...@@ -384,6 +384,7 @@ func Test_CreateTransaction(t *testing.T) { ...@@ -384,6 +384,7 @@ func Test_CreateTransaction(t *testing.T) {
}, },
{ // 公对私测试 { // 公对私测试
req: &ty.ReqCreatePrivacyTx{ req: &ty.ReqCreatePrivacyTx{
AssetExec: "coins",
Tokenname: types.BTY, Tokenname: types.BTY,
Type: 1, Type: 1,
Amount: 100 * types.Coin, Amount: 100 * types.Coin,
...@@ -394,6 +395,7 @@ func Test_CreateTransaction(t *testing.T) { ...@@ -394,6 +395,7 @@ func Test_CreateTransaction(t *testing.T) {
}, },
{ // 私对私测试 { // 私对私测试
req: &ty.ReqCreatePrivacyTx{ req: &ty.ReqCreatePrivacyTx{
AssetExec: "coins",
Tokenname: types.BTY, Tokenname: types.BTY,
Type: 2, Type: 2,
Amount: 10 * types.Coin, Amount: 10 * types.Coin,
...@@ -404,6 +406,7 @@ func Test_CreateTransaction(t *testing.T) { ...@@ -404,6 +406,7 @@ func Test_CreateTransaction(t *testing.T) {
}, },
{ // 私对公测试 { // 私对公测试
req: &ty.ReqCreatePrivacyTx{ req: &ty.ReqCreatePrivacyTx{
AssetExec: "coins",
Tokenname: types.BTY, Tokenname: types.BTY,
Type: 3, Type: 3,
Amount: 10 * types.Coin, Amount: 10 * types.Coin,
......
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