Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
6a6fefbe
Commit
6a6fefbe
authored
Jul 25, 2019
by
jiangpeng
Committed by
33cn
Jul 29, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
privacy:add asset support
parent
a17b2960
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
512 additions
and
478 deletions
+512
-478
privacy.go
plugin/dapp/privacy/commands/privacy.go
+26
-15
exec.go
plugin/dapp/privacy/executor/exec.go
+23
-11
privacy.go
plugin/dapp/privacy/executor/privacy.go
+10
-6
privacy.proto
plugin/dapp/privacy/proto/privacy.proto
+5
-1
rpc_channel_test.go
plugin/dapp/privacy/rpc/rpc_channel_test.go
+1
-1
privacy.go
plugin/dapp/privacy/types/privacy.go
+12
-0
privacy.pb.go
plugin/dapp/privacy/types/privacy.pb.go
+396
-427
exec.go
plugin/dapp/privacy/wallet/exec.go
+12
-0
privacy.go
plugin/dapp/privacy/wallet/privacy.go
+22
-16
privacy_test.go
plugin/dapp/privacy/wallet/privacy_test.go
+1
-0
privacybizpolicy_test.go
plugin/dapp/privacy/wallet/privacybizpolicy_test.go
+4
-1
No files found.
plugin/dapp/privacy/commands/privacy.go
View file @
6a6fefbe
...
...
@@ -96,9 +96,10 @@ func createPub2PrivTxFlags(cmd *cobra.Command) {
cmd
.
Flags
()
.
Float64P
(
"amount"
,
"a"
,
0.0
,
"transfer amount, at most 4 decimal places"
)
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
()
.
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"
)
}
...
...
@@ -110,6 +111,7 @@ func createPub2PrivTx(cmd *cobra.Command, args []string) {
note
,
_
:=
cmd
.
Flags
()
.
GetString
(
"note"
)
expire
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"expire"
)
expiretype
,
_
:=
cmd
.
Flags
()
.
GetInt
(
"expiretype"
)
assetExec
,
_
:=
cmd
.
Flags
()
.
GetString
(
"exec"
)
if
expiretype
==
0
{
if
expire
<=
0
{
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) {
}
}
else
if
expiretype
==
1
{
if
expire
<=
0
{
expire
=
int64
(
time
.
Hour
)
expire
=
int64
(
time
.
Minute
*
10
)
}
}
else
{
fmt
.
Println
(
"Invalid expiretype"
,
expiretype
)
...
...
@@ -131,6 +133,7 @@ func createPub2PrivTx(cmd *cobra.Command, args []string) {
Note
:
note
,
Pubkeypair
:
pubkeypair
,
Expire
:
expire
,
AssetExec
:
assetExec
,
}
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"privacy.CreateRawTransaction"
,
params
,
nil
)
ctx
.
RunWithoutMarshal
()
...
...
@@ -156,9 +159,10 @@ func createPriv2PrivTxFlags(cmd *cobra.Command) {
cmd
.
MarkFlagRequired
(
"from"
)
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
()
.
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"
)
}
...
...
@@ -172,6 +176,7 @@ func createPriv2PrivTx(cmd *cobra.Command, args []string) {
sender
,
_
:=
cmd
.
Flags
()
.
GetString
(
"from"
)
expire
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"expire"
)
expiretype
,
_
:=
cmd
.
Flags
()
.
GetInt
(
"expiretype"
)
assetExec
,
_
:=
cmd
.
Flags
()
.
GetString
(
"exec"
)
if
expiretype
==
0
{
if
expire
<=
0
{
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) {
}
}
else
if
expiretype
==
1
{
if
expire
<=
0
{
expire
=
int64
(
time
.
Hour
)
expire
=
int64
(
time
.
Minute
*
10
)
}
}
else
{
fmt
.
Println
(
"Invalid expiretype"
,
expiretype
)
...
...
@@ -195,6 +200,7 @@ func createPriv2PrivTx(cmd *cobra.Command, args []string) {
From
:
sender
,
Mixcount
:
mixCount
,
Expire
:
expire
,
AssetExec
:
assetExec
,
}
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"privacy.CreateRawTransaction"
,
params
,
nil
)
ctx
.
RunWithoutMarshal
()
...
...
@@ -220,9 +226,10 @@ func createPriv2PubTxFlags(cmd *cobra.Command) {
cmd
.
MarkFlagRequired
(
"to"
)
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
()
.
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"
)
}
...
...
@@ -236,6 +243,7 @@ func createPriv2PubTx(cmd *cobra.Command, args []string) {
note
,
_
:=
cmd
.
Flags
()
.
GetString
(
"note"
)
expire
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"expire"
)
expiretype
,
_
:=
cmd
.
Flags
()
.
GetInt
(
"expiretype"
)
assetExec
,
_
:=
cmd
.
Flags
()
.
GetString
(
"exec"
)
if
expiretype
==
0
{
if
expire
<=
0
{
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) {
}
}
else
if
expiretype
==
1
{
if
expire
<=
0
{
expire
=
int64
(
time
.
Hour
)
expire
=
int64
(
time
.
Minute
*
10
)
}
}
else
{
fmt
.
Println
(
"Invalid expiretype"
,
expiretype
)
...
...
@@ -259,6 +267,7 @@ func createPriv2PubTx(cmd *cobra.Command, args []string) {
To
:
to
,
Mixcount
:
mixCount
,
Expire
:
expire
,
AssetExec
:
assetExec
,
}
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"privacy.CreateRawTransaction"
,
params
,
nil
)
ctx
.
RunWithoutMarshal
()
...
...
@@ -439,9 +448,10 @@ func createUTXOsFlag(cmd *cobra.Command) {
cmd
.
MarkFlagRequired
(
"pubkeypair"
)
cmd
.
Flags
()
.
Float64P
(
"amount"
,
"a"
,
0
,
"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
()
.
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
)
{
...
...
@@ -449,22 +459,23 @@ func createUTXOs(cmd *cobra.Command, args []string) {
from
,
_
:=
cmd
.
Flags
()
.
GetString
(
"from"
)
pubkeypair
,
_
:=
cmd
.
Flags
()
.
GetString
(
"pubkeypair"
)
note
,
_
:=
cmd
.
Flags
()
.
GetString
(
"note"
)
count
,
_
:=
cmd
.
Flags
()
.
GetInt32
(
"count"
)
amount
,
_
:=
cmd
.
Flags
()
.
GetFloat64
(
"amount"
)
amountInt64
:=
int64
(
amount
*
types
.
InputPrecision
)
*
types
.
Multiple1E4
expire
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"expire"
)
symbol
,
_
:=
cmd
.
Flags
()
.
GetString
(
"symbol"
)
assetExec
,
_
:=
cmd
.
Flags
()
.
GetString
(
"exec"
)
if
expire
<=
0
{
expire
=
int64
(
time
.
Hour
)
expire
=
int64
(
time
.
Minute
*
10
)
}
params
:=
&
pty
.
ReqCreateUTXOs
{
Tokenname
:
types
.
BTY
,
Tokenname
:
symbol
,
Sender
:
from
,
Pubkeypair
:
pubkeypair
,
Amount
:
amountInt64
,
Count
:
count
,
Note
:
note
,
Expire
:
expire
,
AssetExec
:
assetExec
,
}
var
res
rpctypes
.
ReplyHash
...
...
plugin/dapp/privacy/executor/exec.go
View file @
6a6fefbe
...
...
@@ -7,6 +7,8 @@ package executor
import
(
"encoding/hex"
"github.com/33cn/chain33/account"
"github.com/33cn/chain33/common"
"github.com/33cn/chain33/common/address"
"github.com/33cn/chain33/types"
...
...
@@ -15,13 +17,15 @@ import (
// Exec_Public2Privacy execute public to privacy
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
())
coinsAccount
:=
p
.
GetCoinsAccount
()
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
{
privacylog
.
Error
(
"PrivacyTrading Exec"
,
"txhash"
,
txhashstr
,
"ExecWithdraw error "
,
err
)
return
nil
,
err
...
...
@@ -55,9 +59,7 @@ func (p *privacy) Exec_Public2Privacy(payload *ty.Public2Privacy, tx *types.Tran
// Exec_Privacy2Privacy execute privacy to privacy transaction
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
())
receipt
:=
&
types
.
Receipt
{
KV
:
make
([]
*
types
.
KeyValue
,
0
)}
privacyInput
:=
payload
.
Input
...
...
@@ -97,12 +99,13 @@ func (p *privacy) Exec_Privacy2Privacy(payload *ty.Privacy2Privacy, tx *types.Tr
// Exec_Privacy2Public execute privacy to public transaction
func
(
p
*
privacy
)
Exec_Privacy2Public
(
payload
*
ty
.
Privacy2Public
,
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
())
coinsAccount
:=
p
.
GetCoinsAccount
()
receipt
,
err
:=
coinsAccount
.
ExecDeposit
(
payload
.
To
,
address
.
ExecAddress
(
string
(
tx
.
Execer
)),
payload
.
Amount
)
receipt
,
err
:=
accDB
.
ExecDeposit
(
payload
.
To
,
address
.
ExecAddress
(
string
(
tx
.
Execer
)),
payload
.
Amount
)
if
err
!=
nil
{
privacylog
.
Error
(
"PrivacyTrading Exec"
,
"ActionPrivacy2Public txhash"
,
txhashstr
,
"ExecDeposit error "
,
err
)
return
nil
,
err
...
...
@@ -141,3 +144,12 @@ func (p *privacy) Exec_Privacy2Public(payload *ty.Privacy2Public, tx *types.Tran
//////////////////debug code end///////////////
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
())
}
plugin/dapp/privacy/executor/privacy.go
View file @
6a6fefbe
...
...
@@ -220,8 +220,13 @@ func (p *privacy) CheckTx(tx *types.Transaction, index int) error {
//如果是私到私 或者私到公,交易费扣除则需要utxo实现,交易费并不生成真正的UTXO,也是即时燃烧掉而已
var
amount
int64
keyinput
:=
input
.
Keyinput
keyOutput
:=
output
.
Keyoutput
assertExec
:=
action
.
GetAssertExec
()
token
:=
action
.
GetTokenName
()
if
assertExec
==
""
||
token
==
""
{
return
types
.
ErrInvalidParam
}
if
action
.
Ty
==
pty
.
ActionPrivacy2Public
&&
action
.
GetPrivacy2Public
()
!=
nil
{
amount
=
action
.
GetPrivacy2Public
()
.
Amount
}
...
...
@@ -264,13 +269,12 @@ func (p *privacy) CheckTx(tx *types.Transaction, index int) error {
return
pty
.
ErrPubkeysOfUTXO
}
for
_
,
output
:=
range
keyOutput
{
totalOutput
+=
output
.
Amount
}
//平行链下的隐私交易,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
{
privacylog
.
Error
(
"PrivacyTrading CheckTx"
,
"txhash"
,
txhashstr
,
"fee set:"
,
tx
.
Fee
,
"required:"
,
pty
.
PrivacyTxFee
,
" error ErrPrivacyTxFeeNotEnough"
)
return
pty
.
ErrPrivacyTxFeeNotEnough
...
...
plugin/dapp/privacy/proto/privacy.proto
View file @
6a6fefbe
...
...
@@ -23,6 +23,7 @@ message Public2Privacy {
int64
amount
=
2
;
string
note
=
5
;
PrivacyOutput
output
=
7
;
string
assetExec
=
8
;
}
message
Privacy2Privacy
{
...
...
@@ -31,6 +32,7 @@ message Privacy2Privacy {
string
note
=
5
;
PrivacyInput
input
=
6
;
PrivacyOutput
output
=
7
;
string
assetExec
=
8
;
}
message
Privacy2Public
{
...
...
@@ -40,6 +42,7 @@ message Privacy2Public {
string
to
=
6
;
PrivacyInput
input
=
4
;
PrivacyOutput
output
=
5
;
string
assetExec
=
8
;
}
message
UTXOGlobalIndex
{
...
...
@@ -200,9 +203,9 @@ message ReqCreateUTXOs {
int64
amount
=
4
;
string
note
=
5
;
string
sender
=
6
;
//发送人地址
int32
count
=
7
;
string
pubkeypair
=
8
;
int64
expire
=
9
;
string
assetExec
=
10
;
}
message
ReplyPrivacyPkPair
{
...
...
@@ -425,6 +428,7 @@ message ReqCreatePrivacyTx {
string
pubkeypair
=
10
;
int32
mixcount
=
11
;
int64
expire
=
12
;
string
assetExec
=
13
;
}
service
privacy
{
...
...
plugin/dapp/privacy/rpc/rpc_channel_test.go
View file @
6a6fefbe
...
...
@@ -123,11 +123,11 @@ func testShowUTXOs4SpecifiedAmount(t *testing.T, jrpc *jsonclient.JSONClient) er
func
testCreateUTXOs
(
t
*
testing
.
T
,
jrpc
*
jsonclient
.
JSONClient
)
error
{
params
:=
&
pty
.
ReqCreateUTXOs
{
AssetExec
:
"coins"
,
Tokenname
:
types
.
BTY
,
Sender
:
"1JSRSwp16NvXiTjYBYK9iUQ9wqp3sCxz2p"
,
Pubkeypair
:
"92fe6cfec2e19cd15f203f83b5d440ddb63d0cb71559f96dc81208d819fea85886b08f6e874fca15108d244b40f9086d8c03260d4b954a40dfb3cbe41ebc7389"
,
Amount
:
123456
,
Count
:
12
,
Note
:
"for test"
,
Expire
:
int64
(
time
.
Hour
),
}
...
...
plugin/dapp/privacy/types/privacy.go
View file @
6a6fefbe
...
...
@@ -205,3 +205,15 @@ func (action *PrivacyAction) GetTokenName() string {
}
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
""
}
plugin/dapp/privacy/types/privacy.pb.go
View file @
6a6fefbe
...
...
@@ -3,13 +3,13 @@
package
types
import
(
context
"contex
t"
fmt
"fmt
"
math
"math
"
import
proto
"github.com/golang/protobuf/proto"
import
fmt
"fm
t"
import
math
"math
"
import
types
"github.com/33cn/chain33/types
"
types
"github.com/33cn/chain33/types"
proto
"github.com/golang/protobuf/proto
"
import
(
context
"golang.org/x/net/context
"
grpc
"google.golang.org/grpc"
)
...
...
@@ -24,10 +24,10 @@ var _ = math.Inf
// proto package needs to be updated.
const
_
=
proto
.
ProtoPackageIsVersion2
// please upgrade the proto package
//////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////
// message for Privacy
// start/////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////
type
PrivacyAction
struct
{
// Types that are valid to be assigned to Value:
// *PrivacyAction_Public2Privacy
...
...
@@ -44,17 +44,16 @@ func (m *PrivacyAction) Reset() { *m = PrivacyAction{} }
func
(
m
*
PrivacyAction
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyAction
)
ProtoMessage
()
{}
func
(
*
PrivacyAction
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
0
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
0
}
}
func
(
m
*
PrivacyAction
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyAction
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
PrivacyAction
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_PrivacyAction
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
PrivacyAction
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyAction
.
Merge
(
m
,
src
)
func
(
dst
*
PrivacyAction
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyAction
.
Merge
(
dst
,
src
)
}
func
(
m
*
PrivacyAction
)
XXX_Size
()
int
{
return
xxx_messageInfo_PrivacyAction
.
Size
(
m
)
...
...
@@ -220,6 +219,7 @@ type Public2Privacy struct {
Amount
int64
`protobuf:"varint,2,opt,name=amount,proto3" json:"amount,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"`
AssetExec
string
`protobuf:"bytes,8,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -229,17 +229,16 @@ func (m *Public2Privacy) Reset() { *m = Public2Privacy{} }
func
(
m
*
Public2Privacy
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Public2Privacy
)
ProtoMessage
()
{}
func
(
*
Public2Privacy
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
1
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
1
}
}
func
(
m
*
Public2Privacy
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Public2Privacy
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
Public2Privacy
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_Public2Privacy
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
Public2Privacy
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Public2Privacy
.
Merge
(
m
,
src
)
func
(
dst
*
Public2Privacy
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Public2Privacy
.
Merge
(
dst
,
src
)
}
func
(
m
*
Public2Privacy
)
XXX_Size
()
int
{
return
xxx_messageInfo_Public2Privacy
.
Size
(
m
)
...
...
@@ -278,12 +277,20 @@ func (m *Public2Privacy) GetOutput() *PrivacyOutput {
return
nil
}
func
(
m
*
Public2Privacy
)
GetAssetExec
()
string
{
if
m
!=
nil
{
return
m
.
AssetExec
}
return
""
}
type
Privacy2Privacy
struct
{
Tokenname
string
`protobuf:"bytes,1,opt,name=tokenname,proto3" json:"tokenname,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"`
Input
*
PrivacyInput
`protobuf:"bytes,6,opt,name=input,proto3" json:"input,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_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -293,17 +300,16 @@ func (m *Privacy2Privacy) Reset() { *m = Privacy2Privacy{} }
func
(
m
*
Privacy2Privacy
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Privacy2Privacy
)
ProtoMessage
()
{}
func
(
*
Privacy2Privacy
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
2
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
2
}
}
func
(
m
*
Privacy2Privacy
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Privacy2Privacy
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
Privacy2Privacy
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_Privacy2Privacy
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
Privacy2Privacy
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Privacy2Privacy
.
Merge
(
m
,
src
)
func
(
dst
*
Privacy2Privacy
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Privacy2Privacy
.
Merge
(
dst
,
src
)
}
func
(
m
*
Privacy2Privacy
)
XXX_Size
()
int
{
return
xxx_messageInfo_Privacy2Privacy
.
Size
(
m
)
...
...
@@ -349,6 +355,13 @@ func (m *Privacy2Privacy) GetOutput() *PrivacyOutput {
return
nil
}
func
(
m
*
Privacy2Privacy
)
GetAssetExec
()
string
{
if
m
!=
nil
{
return
m
.
AssetExec
}
return
""
}
type
Privacy2Public
struct
{
Tokenname
string
`protobuf:"bytes,1,opt,name=tokenname,proto3" json:"tokenname,omitempty"`
Amount
int64
`protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
...
...
@@ -356,6 +369,7 @@ type Privacy2Public struct {
To
string
`protobuf:"bytes,6,opt,name=to,proto3" json:"to,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"`
AssetExec
string
`protobuf:"bytes,8,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -365,17 +379,16 @@ func (m *Privacy2Public) Reset() { *m = Privacy2Public{} }
func
(
m
*
Privacy2Public
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Privacy2Public
)
ProtoMessage
()
{}
func
(
*
Privacy2Public
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
3
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
3
}
}
func
(
m
*
Privacy2Public
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Privacy2Public
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
Privacy2Public
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_Privacy2Public
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
Privacy2Public
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Privacy2Public
.
Merge
(
m
,
src
)
func
(
dst
*
Privacy2Public
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Privacy2Public
.
Merge
(
dst
,
src
)
}
func
(
m
*
Privacy2Public
)
XXX_Size
()
int
{
return
xxx_messageInfo_Privacy2Public
.
Size
(
m
)
...
...
@@ -428,9 +441,16 @@ func (m *Privacy2Public) GetOutput() *PrivacyOutput {
return
nil
}
func
(
m
*
Privacy2Public
)
GetAssetExec
()
string
{
if
m
!=
nil
{
return
m
.
AssetExec
}
return
""
}
type
UTXOGlobalIndex
struct
{
// int64 height = 1;
// int32 txindex = 2;
//
int64 height = 1;
//
int32 txindex = 2;
Txhash
[]
byte
`protobuf:"bytes,3,opt,name=txhash,proto3" json:"txhash,omitempty"`
Outindex
int32
`protobuf:"varint,4,opt,name=outindex,proto3" json:"outindex,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -442,17 +462,16 @@ func (m *UTXOGlobalIndex) Reset() { *m = UTXOGlobalIndex{} }
func
(
m
*
UTXOGlobalIndex
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOGlobalIndex
)
ProtoMessage
()
{}
func
(
*
UTXOGlobalIndex
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
4
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
4
}
}
func
(
m
*
UTXOGlobalIndex
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOGlobalIndex
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
UTXOGlobalIndex
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_UTXOGlobalIndex
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
UTXOGlobalIndex
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOGlobalIndex
.
Merge
(
m
,
src
)
func
(
dst
*
UTXOGlobalIndex
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOGlobalIndex
.
Merge
(
dst
,
src
)
}
func
(
m
*
UTXOGlobalIndex
)
XXX_Size
()
int
{
return
xxx_messageInfo_UTXOGlobalIndex
.
Size
(
m
)
...
...
@@ -491,17 +510,16 @@ func (m *KeyInput) Reset() { *m = KeyInput{} }
func
(
m
*
KeyInput
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
KeyInput
)
ProtoMessage
()
{}
func
(
*
KeyInput
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
5
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
5
}
}
func
(
m
*
KeyInput
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_KeyInput
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
KeyInput
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_KeyInput
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
KeyInput
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_KeyInput
.
Merge
(
m
,
src
)
func
(
dst
*
KeyInput
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_KeyInput
.
Merge
(
dst
,
src
)
}
func
(
m
*
KeyInput
)
XXX_Size
()
int
{
return
xxx_messageInfo_KeyInput
.
Size
(
m
)
...
...
@@ -544,17 +562,16 @@ func (m *PrivacyInput) Reset() { *m = PrivacyInput{} }
func
(
m
*
PrivacyInput
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyInput
)
ProtoMessage
()
{}
func
(
*
PrivacyInput
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
6
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
6
}
}
func
(
m
*
PrivacyInput
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyInput
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
PrivacyInput
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_PrivacyInput
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
PrivacyInput
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyInput
.
Merge
(
m
,
src
)
func
(
dst
*
PrivacyInput
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyInput
.
Merge
(
dst
,
src
)
}
func
(
m
*
PrivacyInput
)
XXX_Size
()
int
{
return
xxx_messageInfo_PrivacyInput
.
Size
(
m
)
...
...
@@ -585,17 +602,16 @@ func (m *KeyOutput) Reset() { *m = KeyOutput{} }
func
(
m
*
KeyOutput
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
KeyOutput
)
ProtoMessage
()
{}
func
(
*
KeyOutput
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
7
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
7
}
}
func
(
m
*
KeyOutput
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_KeyOutput
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
KeyOutput
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_KeyOutput
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
KeyOutput
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_KeyOutput
.
Merge
(
m
,
src
)
func
(
dst
*
KeyOutput
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_KeyOutput
.
Merge
(
dst
,
src
)
}
func
(
m
*
KeyOutput
)
XXX_Size
()
int
{
return
xxx_messageInfo_KeyOutput
.
Size
(
m
)
...
...
@@ -632,17 +648,16 @@ func (m *PrivacyOutput) Reset() { *m = PrivacyOutput{} }
func
(
m
*
PrivacyOutput
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyOutput
)
ProtoMessage
()
{}
func
(
*
PrivacyOutput
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
8
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
8
}
}
func
(
m
*
PrivacyOutput
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyOutput
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
PrivacyOutput
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_PrivacyOutput
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
PrivacyOutput
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyOutput
.
Merge
(
m
,
src
)
func
(
dst
*
PrivacyOutput
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyOutput
.
Merge
(
dst
,
src
)
}
func
(
m
*
PrivacyOutput
)
XXX_Size
()
int
{
return
xxx_messageInfo_PrivacyOutput
.
Size
(
m
)
...
...
@@ -679,17 +694,16 @@ func (m *GroupUTXOGlobalIndex) Reset() { *m = GroupUTXOGlobalIndex{} }
func
(
m
*
GroupUTXOGlobalIndex
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
GroupUTXOGlobalIndex
)
ProtoMessage
()
{}
func
(
*
GroupUTXOGlobalIndex
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
9
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
9
}
}
func
(
m
*
GroupUTXOGlobalIndex
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_GroupUTXOGlobalIndex
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
GroupUTXOGlobalIndex
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_GroupUTXOGlobalIndex
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
GroupUTXOGlobalIndex
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_GroupUTXOGlobalIndex
.
Merge
(
m
,
src
)
func
(
dst
*
GroupUTXOGlobalIndex
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_GroupUTXOGlobalIndex
.
Merge
(
dst
,
src
)
}
func
(
m
*
GroupUTXOGlobalIndex
)
XXX_Size
()
int
{
return
xxx_messageInfo_GroupUTXOGlobalIndex
.
Size
(
m
)
...
...
@@ -729,17 +743,16 @@ func (m *LocalUTXOItem) Reset() { *m = LocalUTXOItem{} }
func
(
m
*
LocalUTXOItem
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
LocalUTXOItem
)
ProtoMessage
()
{}
func
(
*
LocalUTXOItem
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
10
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
10
}
}
func
(
m
*
LocalUTXOItem
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_LocalUTXOItem
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
LocalUTXOItem
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_LocalUTXOItem
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
LocalUTXOItem
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_LocalUTXOItem
.
Merge
(
m
,
src
)
func
(
dst
*
LocalUTXOItem
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_LocalUTXOItem
.
Merge
(
dst
,
src
)
}
func
(
m
*
LocalUTXOItem
)
XXX_Size
()
int
{
return
xxx_messageInfo_LocalUTXOItem
.
Size
(
m
)
...
...
@@ -797,17 +810,16 @@ func (m *ReqUTXOPubKeys) Reset() { *m = ReqUTXOPubKeys{} }
func
(
m
*
ReqUTXOPubKeys
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqUTXOPubKeys
)
ProtoMessage
()
{}
func
(
*
ReqUTXOPubKeys
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
11
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
11
}
}
func
(
m
*
ReqUTXOPubKeys
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqUTXOPubKeys
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqUTXOPubKeys
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqUTXOPubKeys
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqUTXOPubKeys
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqUTXOPubKeys
.
Merge
(
m
,
src
)
func
(
dst
*
ReqUTXOPubKeys
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqUTXOPubKeys
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqUTXOPubKeys
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqUTXOPubKeys
.
Size
(
m
)
...
...
@@ -844,17 +856,16 @@ func (m *PublicKeyData) Reset() { *m = PublicKeyData{} }
func
(
m
*
PublicKeyData
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PublicKeyData
)
ProtoMessage
()
{}
func
(
*
PublicKeyData
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
12
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
12
}
}
func
(
m
*
PublicKeyData
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PublicKeyData
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
PublicKeyData
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_PublicKeyData
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
PublicKeyData
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PublicKeyData
.
Merge
(
m
,
src
)
func
(
dst
*
PublicKeyData
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PublicKeyData
.
Merge
(
dst
,
src
)
}
func
(
m
*
PublicKeyData
)
XXX_Size
()
int
{
return
xxx_messageInfo_PublicKeyData
.
Size
(
m
)
...
...
@@ -885,17 +896,16 @@ func (m *GroupUTXOPubKey) Reset() { *m = GroupUTXOPubKey{} }
func
(
m
*
GroupUTXOPubKey
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
GroupUTXOPubKey
)
ProtoMessage
()
{}
func
(
*
GroupUTXOPubKey
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
13
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
13
}
}
func
(
m
*
GroupUTXOPubKey
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_GroupUTXOPubKey
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
GroupUTXOPubKey
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_GroupUTXOPubKey
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
GroupUTXOPubKey
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_GroupUTXOPubKey
.
Merge
(
m
,
src
)
func
(
dst
*
GroupUTXOPubKey
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_GroupUTXOPubKey
.
Merge
(
dst
,
src
)
}
func
(
m
*
GroupUTXOPubKey
)
XXX_Size
()
int
{
return
xxx_messageInfo_GroupUTXOPubKey
.
Size
(
m
)
...
...
@@ -931,17 +941,16 @@ func (m *ResUTXOPubKeys) Reset() { *m = ResUTXOPubKeys{} }
func
(
m
*
ResUTXOPubKeys
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ResUTXOPubKeys
)
ProtoMessage
()
{}
func
(
*
ResUTXOPubKeys
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
14
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
14
}
}
func
(
m
*
ResUTXOPubKeys
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ResUTXOPubKeys
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ResUTXOPubKeys
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ResUTXOPubKeys
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ResUTXOPubKeys
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ResUTXOPubKeys
.
Merge
(
m
,
src
)
func
(
dst
*
ResUTXOPubKeys
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ResUTXOPubKeys
.
Merge
(
dst
,
src
)
}
func
(
m
*
ResUTXOPubKeys
)
XXX_Size
()
int
{
return
xxx_messageInfo_ResUTXOPubKeys
.
Size
(
m
)
...
...
@@ -971,17 +980,16 @@ func (m *ReqPrivacyToken) Reset() { *m = ReqPrivacyToken{} }
func
(
m
*
ReqPrivacyToken
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqPrivacyToken
)
ProtoMessage
()
{}
func
(
*
ReqPrivacyToken
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
15
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
15
}
}
func
(
m
*
ReqPrivacyToken
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqPrivacyToken
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqPrivacyToken
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqPrivacyToken
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqPrivacyToken
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqPrivacyToken
.
Merge
(
m
,
src
)
func
(
dst
*
ReqPrivacyToken
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqPrivacyToken
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqPrivacyToken
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqPrivacyToken
.
Size
(
m
)
...
...
@@ -1018,17 +1026,16 @@ func (m *AmountDetail) Reset() { *m = AmountDetail{} }
func
(
m
*
AmountDetail
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
AmountDetail
)
ProtoMessage
()
{}
func
(
*
AmountDetail
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
16
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
16
}
}
func
(
m
*
AmountDetail
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_AmountDetail
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
AmountDetail
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_AmountDetail
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
AmountDetail
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_AmountDetail
.
Merge
(
m
,
src
)
func
(
dst
*
AmountDetail
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_AmountDetail
.
Merge
(
dst
,
src
)
}
func
(
m
*
AmountDetail
)
XXX_Size
()
int
{
return
xxx_messageInfo_AmountDetail
.
Size
(
m
)
...
...
@@ -1064,17 +1071,16 @@ func (m *ReplyPrivacyAmounts) Reset() { *m = ReplyPrivacyAmounts{} }
func
(
m
*
ReplyPrivacyAmounts
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyPrivacyAmounts
)
ProtoMessage
()
{}
func
(
*
ReplyPrivacyAmounts
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
17
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
17
}
}
func
(
m
*
ReplyPrivacyAmounts
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReplyPrivacyAmounts
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReplyPrivacyAmounts
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReplyPrivacyAmounts
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReplyPrivacyAmounts
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReplyPrivacyAmounts
.
Merge
(
m
,
src
)
func
(
dst
*
ReplyPrivacyAmounts
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReplyPrivacyAmounts
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReplyPrivacyAmounts
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReplyPrivacyAmounts
.
Size
(
m
)
...
...
@@ -1103,17 +1109,16 @@ func (m *ReplyUTXOsOfAmount) Reset() { *m = ReplyUTXOsOfAmount{} }
func
(
m
*
ReplyUTXOsOfAmount
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyUTXOsOfAmount
)
ProtoMessage
()
{}
func
(
*
ReplyUTXOsOfAmount
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
18
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
18
}
}
func
(
m
*
ReplyUTXOsOfAmount
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReplyUTXOsOfAmount
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReplyUTXOsOfAmount
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReplyUTXOsOfAmount
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReplyUTXOsOfAmount
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReplyUTXOsOfAmount
.
Merge
(
m
,
src
)
func
(
dst
*
ReplyUTXOsOfAmount
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReplyUTXOsOfAmount
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReplyUTXOsOfAmount
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReplyUTXOsOfAmount
.
Size
(
m
)
...
...
@@ -1143,17 +1148,16 @@ func (m *ReceiptPrivacyOutput) Reset() { *m = ReceiptPrivacyOutput{} }
func
(
m
*
ReceiptPrivacyOutput
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptPrivacyOutput
)
ProtoMessage
()
{}
func
(
*
ReceiptPrivacyOutput
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
19
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
19
}
}
func
(
m
*
ReceiptPrivacyOutput
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReceiptPrivacyOutput
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReceiptPrivacyOutput
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReceiptPrivacyOutput
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReceiptPrivacyOutput
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReceiptPrivacyOutput
.
Merge
(
m
,
src
)
func
(
dst
*
ReceiptPrivacyOutput
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReceiptPrivacyOutput
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReceiptPrivacyOutput
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReceiptPrivacyOutput
.
Size
(
m
)
...
...
@@ -1178,7 +1182,7 @@ func (m *ReceiptPrivacyOutput) GetKeyoutput() []*KeyOutput {
return
nil
}
//各种amount额度的UTXO在链上的数量
//
各种amount额度的UTXO在链上的数量
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"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1190,17 +1194,16 @@ func (m *AmountsOfUTXO) Reset() { *m = AmountsOfUTXO{} }
func
(
m
*
AmountsOfUTXO
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
AmountsOfUTXO
)
ProtoMessage
()
{}
func
(
*
AmountsOfUTXO
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
20
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
20
}
}
func
(
m
*
AmountsOfUTXO
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_AmountsOfUTXO
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
AmountsOfUTXO
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_AmountsOfUTXO
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
AmountsOfUTXO
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_AmountsOfUTXO
.
Merge
(
m
,
src
)
func
(
dst
*
AmountsOfUTXO
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_AmountsOfUTXO
.
Merge
(
dst
,
src
)
}
func
(
m
*
AmountsOfUTXO
)
XXX_Size
()
int
{
return
xxx_messageInfo_AmountsOfUTXO
.
Size
(
m
)
...
...
@@ -1229,17 +1232,16 @@ func (m *TokenNamesOfUTXO) Reset() { *m = TokenNamesOfUTXO{} }
func
(
m
*
TokenNamesOfUTXO
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
TokenNamesOfUTXO
)
ProtoMessage
()
{}
func
(
*
TokenNamesOfUTXO
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
21
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
21
}
}
func
(
m
*
TokenNamesOfUTXO
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_TokenNamesOfUTXO
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
TokenNamesOfUTXO
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_TokenNamesOfUTXO
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
TokenNamesOfUTXO
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_TokenNamesOfUTXO
.
Merge
(
m
,
src
)
func
(
dst
*
TokenNamesOfUTXO
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_TokenNamesOfUTXO
.
Merge
(
dst
,
src
)
}
func
(
m
*
TokenNamesOfUTXO
)
XXX_Size
()
int
{
return
xxx_messageInfo_TokenNamesOfUTXO
.
Size
(
m
)
...
...
@@ -1270,17 +1272,16 @@ func (m *UTXOGlobalIndex4Print) Reset() { *m = UTXOGlobalIndex4Print{} }
func
(
m
*
UTXOGlobalIndex4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOGlobalIndex4Print
)
ProtoMessage
()
{}
func
(
*
UTXOGlobalIndex4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
22
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
22
}
}
func
(
m
*
UTXOGlobalIndex4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOGlobalIndex4Print
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
UTXOGlobalIndex4Print
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_UTXOGlobalIndex4Print
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
UTXOGlobalIndex4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOGlobalIndex4Print
.
Merge
(
m
,
src
)
func
(
dst
*
UTXOGlobalIndex4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOGlobalIndex4Print
.
Merge
(
dst
,
src
)
}
func
(
m
*
UTXOGlobalIndex4Print
)
XXX_Size
()
int
{
return
xxx_messageInfo_UTXOGlobalIndex4Print
.
Size
(
m
)
...
...
@@ -1318,17 +1319,16 @@ func (m *KeyInput4Print) Reset() { *m = KeyInput4Print{} }
func
(
m
*
KeyInput4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
KeyInput4Print
)
ProtoMessage
()
{}
func
(
*
KeyInput4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
23
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
23
}
}
func
(
m
*
KeyInput4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_KeyInput4Print
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
KeyInput4Print
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_KeyInput4Print
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
KeyInput4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_KeyInput4Print
.
Merge
(
m
,
src
)
func
(
dst
*
KeyInput4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_KeyInput4Print
.
Merge
(
dst
,
src
)
}
func
(
m
*
KeyInput4Print
)
XXX_Size
()
int
{
return
xxx_messageInfo_KeyInput4Print
.
Size
(
m
)
...
...
@@ -1372,17 +1372,16 @@ func (m *KeyOutput4Print) Reset() { *m = KeyOutput4Print{} }
func
(
m
*
KeyOutput4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
KeyOutput4Print
)
ProtoMessage
()
{}
func
(
*
KeyOutput4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
24
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
24
}
}
func
(
m
*
KeyOutput4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_KeyOutput4Print
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
KeyOutput4Print
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_KeyOutput4Print
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
KeyOutput4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_KeyOutput4Print
.
Merge
(
m
,
src
)
func
(
dst
*
KeyOutput4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_KeyOutput4Print
.
Merge
(
dst
,
src
)
}
func
(
m
*
KeyOutput4Print
)
XXX_Size
()
int
{
return
xxx_messageInfo_KeyOutput4Print
.
Size
(
m
)
...
...
@@ -1418,17 +1417,16 @@ func (m *PrivacyInput4Print) Reset() { *m = PrivacyInput4Print{} }
func
(
m
*
PrivacyInput4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyInput4Print
)
ProtoMessage
()
{}
func
(
*
PrivacyInput4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
25
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
25
}
}
func
(
m
*
PrivacyInput4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyInput4Print
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
PrivacyInput4Print
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_PrivacyInput4Print
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
PrivacyInput4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyInput4Print
.
Merge
(
m
,
src
)
func
(
dst
*
PrivacyInput4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyInput4Print
.
Merge
(
dst
,
src
)
}
func
(
m
*
PrivacyInput4Print
)
XXX_Size
()
int
{
return
xxx_messageInfo_PrivacyInput4Print
.
Size
(
m
)
...
...
@@ -1458,17 +1456,16 @@ func (m *PrivacyOutput4Print) Reset() { *m = PrivacyOutput4Print{} }
func
(
m
*
PrivacyOutput4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyOutput4Print
)
ProtoMessage
()
{}
func
(
*
PrivacyOutput4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
26
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
26
}
}
func
(
m
*
PrivacyOutput4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyOutput4Print
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
PrivacyOutput4Print
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_PrivacyOutput4Print
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
PrivacyOutput4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyOutput4Print
.
Merge
(
m
,
src
)
func
(
dst
*
PrivacyOutput4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyOutput4Print
.
Merge
(
dst
,
src
)
}
func
(
m
*
PrivacyOutput4Print
)
XXX_Size
()
int
{
return
xxx_messageInfo_PrivacyOutput4Print
.
Size
(
m
)
...
...
@@ -1507,17 +1504,16 @@ func (m *Public2Privacy4Print) Reset() { *m = Public2Privacy4Print{} }
func
(
m
*
Public2Privacy4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Public2Privacy4Print
)
ProtoMessage
()
{}
func
(
*
Public2Privacy4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
27
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
27
}
}
func
(
m
*
Public2Privacy4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Public2Privacy4Print
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
Public2Privacy4Print
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_Public2Privacy4Print
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
Public2Privacy4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Public2Privacy4Print
.
Merge
(
m
,
src
)
func
(
dst
*
Public2Privacy4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Public2Privacy4Print
.
Merge
(
dst
,
src
)
}
func
(
m
*
Public2Privacy4Print
)
XXX_Size
()
int
{
return
xxx_messageInfo_Public2Privacy4Print
.
Size
(
m
)
...
...
@@ -1571,17 +1567,16 @@ func (m *Privacy2Privacy4Print) Reset() { *m = Privacy2Privacy4Print{} }
func
(
m
*
Privacy2Privacy4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Privacy2Privacy4Print
)
ProtoMessage
()
{}
func
(
*
Privacy2Privacy4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
28
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
28
}
}
func
(
m
*
Privacy2Privacy4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Privacy2Privacy4Print
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
Privacy2Privacy4Print
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_Privacy2Privacy4Print
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
Privacy2Privacy4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Privacy2Privacy4Print
.
Merge
(
m
,
src
)
func
(
dst
*
Privacy2Privacy4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Privacy2Privacy4Print
.
Merge
(
dst
,
src
)
}
func
(
m
*
Privacy2Privacy4Print
)
XXX_Size
()
int
{
return
xxx_messageInfo_Privacy2Privacy4Print
.
Size
(
m
)
...
...
@@ -1642,17 +1637,16 @@ func (m *Privacy2Public4Print) Reset() { *m = Privacy2Public4Print{} }
func
(
m
*
Privacy2Public4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Privacy2Public4Print
)
ProtoMessage
()
{}
func
(
*
Privacy2Public4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
29
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
29
}
}
func
(
m
*
Privacy2Public4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Privacy2Public4Print
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
Privacy2Public4Print
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_Privacy2Public4Print
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
Privacy2Public4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Privacy2Public4Print
.
Merge
(
m
,
src
)
func
(
dst
*
Privacy2Public4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Privacy2Public4Print
.
Merge
(
dst
,
src
)
}
func
(
m
*
Privacy2Public4Print
)
XXX_Size
()
int
{
return
xxx_messageInfo_Privacy2Public4Print
.
Size
(
m
)
...
...
@@ -1714,17 +1708,16 @@ func (m *PrivacyAction4Print) Reset() { *m = PrivacyAction4Print{} }
func
(
m
*
PrivacyAction4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyAction4Print
)
ProtoMessage
()
{}
func
(
*
PrivacyAction4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
30
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
30
}
}
func
(
m
*
PrivacyAction4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyAction4Print
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
PrivacyAction4Print
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_PrivacyAction4Print
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
PrivacyAction4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyAction4Print
.
Merge
(
m
,
src
)
func
(
dst
*
PrivacyAction4Print
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyAction4Print
.
Merge
(
dst
,
src
)
}
func
(
m
*
PrivacyAction4Print
)
XXX_Size
()
int
{
return
xxx_messageInfo_PrivacyAction4Print
.
Size
(
m
)
...
...
@@ -1892,9 +1885,9 @@ type ReqCreateUTXOs struct {
Amount
int64
`protobuf:"varint,4,opt,name=amount,proto3" json:"amount,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"`
Count
int32
`protobuf:"varint,7,opt,name=count,proto3" json:"count,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"`
AssetExec
string
`protobuf:"bytes,10,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -1904,17 +1897,16 @@ func (m *ReqCreateUTXOs) Reset() { *m = ReqCreateUTXOs{} }
func
(
m
*
ReqCreateUTXOs
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqCreateUTXOs
)
ProtoMessage
()
{}
func
(
*
ReqCreateUTXOs
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
31
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
31
}
}
func
(
m
*
ReqCreateUTXOs
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqCreateUTXOs
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqCreateUTXOs
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqCreateUTXOs
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqCreateUTXOs
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqCreateUTXOs
.
Merge
(
m
,
src
)
func
(
dst
*
ReqCreateUTXOs
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqCreateUTXOs
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqCreateUTXOs
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqCreateUTXOs
.
Size
(
m
)
...
...
@@ -1953,13 +1945,6 @@ func (m *ReqCreateUTXOs) GetSender() string {
return
""
}
func
(
m
*
ReqCreateUTXOs
)
GetCount
()
int32
{
if
m
!=
nil
{
return
m
.
Count
}
return
0
}
func
(
m
*
ReqCreateUTXOs
)
GetPubkeypair
()
string
{
if
m
!=
nil
{
return
m
.
Pubkeypair
...
...
@@ -1974,6 +1959,13 @@ func (m *ReqCreateUTXOs) GetExpire() int64 {
return
0
}
func
(
m
*
ReqCreateUTXOs
)
GetAssetExec
()
string
{
if
m
!=
nil
{
return
m
.
AssetExec
}
return
""
}
type
ReplyPrivacyPkPair
struct
{
ShowSuccessful
bool
`protobuf:"varint,1,opt,name=showSuccessful,proto3" json:"showSuccessful,omitempty"`
// string viewPub = 2;
...
...
@@ -1988,17 +1980,16 @@ func (m *ReplyPrivacyPkPair) Reset() { *m = ReplyPrivacyPkPair{} }
func
(
m
*
ReplyPrivacyPkPair
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyPrivacyPkPair
)
ProtoMessage
()
{}
func
(
*
ReplyPrivacyPkPair
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
32
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
32
}
}
func
(
m
*
ReplyPrivacyPkPair
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReplyPrivacyPkPair
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReplyPrivacyPkPair
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReplyPrivacyPkPair
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReplyPrivacyPkPair
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReplyPrivacyPkPair
.
Merge
(
m
,
src
)
func
(
dst
*
ReplyPrivacyPkPair
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReplyPrivacyPkPair
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReplyPrivacyPkPair
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReplyPrivacyPkPair
.
Size
(
m
)
...
...
@@ -2035,17 +2026,16 @@ func (m *ReqPrivBal4AddrToken) Reset() { *m = ReqPrivBal4AddrToken{} }
func
(
m
*
ReqPrivBal4AddrToken
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqPrivBal4AddrToken
)
ProtoMessage
()
{}
func
(
*
ReqPrivBal4AddrToken
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
33
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
33
}
}
func
(
m
*
ReqPrivBal4AddrToken
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqPrivBal4AddrToken
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqPrivBal4AddrToken
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqPrivBal4AddrToken
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqPrivBal4AddrToken
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqPrivBal4AddrToken
.
Merge
(
m
,
src
)
func
(
dst
*
ReqPrivBal4AddrToken
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqPrivBal4AddrToken
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqPrivBal4AddrToken
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqPrivBal4AddrToken
.
Size
(
m
)
...
...
@@ -2082,17 +2072,16 @@ func (m *ReplyPrivacyBalance) Reset() { *m = ReplyPrivacyBalance{} }
func
(
m
*
ReplyPrivacyBalance
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyPrivacyBalance
)
ProtoMessage
()
{}
func
(
*
ReplyPrivacyBalance
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
34
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
34
}
}
func
(
m
*
ReplyPrivacyBalance
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReplyPrivacyBalance
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReplyPrivacyBalance
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReplyPrivacyBalance
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReplyPrivacyBalance
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReplyPrivacyBalance
.
Merge
(
m
,
src
)
func
(
dst
*
ReplyPrivacyBalance
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReplyPrivacyBalance
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReplyPrivacyBalance
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReplyPrivacyBalance
.
Size
(
m
)
...
...
@@ -2137,17 +2126,16 @@ func (m *PrivacyDBStore) Reset() { *m = PrivacyDBStore{} }
func
(
m
*
PrivacyDBStore
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyDBStore
)
ProtoMessage
()
{}
func
(
*
PrivacyDBStore
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
35
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
35
}
}
func
(
m
*
PrivacyDBStore
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyDBStore
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
PrivacyDBStore
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_PrivacyDBStore
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
PrivacyDBStore
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyDBStore
.
Merge
(
m
,
src
)
func
(
dst
*
PrivacyDBStore
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacyDBStore
.
Merge
(
dst
,
src
)
}
func
(
m
*
PrivacyDBStore
)
XXX_Size
()
int
{
return
xxx_messageInfo_PrivacyDBStore
.
Size
(
m
)
...
...
@@ -2240,17 +2228,16 @@ func (m *UTXO) Reset() { *m = UTXO{} }
func
(
m
*
UTXO
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXO
)
ProtoMessage
()
{}
func
(
*
UTXO
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
36
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
36
}
}
func
(
m
*
UTXO
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXO
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
UTXO
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_UTXO
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
UTXO
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXO
.
Merge
(
m
,
src
)
func
(
dst
*
UTXO
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXO
.
Merge
(
dst
,
src
)
}
func
(
m
*
UTXO
)
XXX_Size
()
int
{
return
xxx_messageInfo_UTXO
.
Size
(
m
)
...
...
@@ -2288,17 +2275,16 @@ func (m *UTXOHaveTxHash) Reset() { *m = UTXOHaveTxHash{} }
func
(
m
*
UTXOHaveTxHash
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOHaveTxHash
)
ProtoMessage
()
{}
func
(
*
UTXOHaveTxHash
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
37
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
37
}
}
func
(
m
*
UTXOHaveTxHash
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOHaveTxHash
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
UTXOHaveTxHash
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_UTXOHaveTxHash
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
UTXOHaveTxHash
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOHaveTxHash
.
Merge
(
m
,
src
)
func
(
dst
*
UTXOHaveTxHash
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOHaveTxHash
.
Merge
(
dst
,
src
)
}
func
(
m
*
UTXOHaveTxHash
)
XXX_Size
()
int
{
return
xxx_messageInfo_UTXOHaveTxHash
.
Size
(
m
)
...
...
@@ -2341,17 +2327,16 @@ func (m *UTXOs) Reset() { *m = UTXOs{} }
func
(
m
*
UTXOs
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOs
)
ProtoMessage
()
{}
func
(
*
UTXOs
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
38
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
38
}
}
func
(
m
*
UTXOs
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOs
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
UTXOs
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_UTXOs
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
UTXOs
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOs
.
Merge
(
m
,
src
)
func
(
dst
*
UTXOs
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOs
.
Merge
(
dst
,
src
)
}
func
(
m
*
UTXOs
)
XXX_Size
()
int
{
return
xxx_messageInfo_UTXOs
.
Size
(
m
)
...
...
@@ -2380,17 +2365,16 @@ func (m *UTXOHaveTxHashs) Reset() { *m = UTXOHaveTxHashs{} }
func
(
m
*
UTXOHaveTxHashs
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOHaveTxHashs
)
ProtoMessage
()
{}
func
(
*
UTXOHaveTxHashs
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
39
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
39
}
}
func
(
m
*
UTXOHaveTxHashs
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOHaveTxHashs
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
UTXOHaveTxHashs
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_UTXOHaveTxHashs
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
UTXOHaveTxHashs
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOHaveTxHashs
.
Merge
(
m
,
src
)
func
(
dst
*
UTXOHaveTxHashs
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOHaveTxHashs
.
Merge
(
dst
,
src
)
}
func
(
m
*
UTXOHaveTxHashs
)
XXX_Size
()
int
{
return
xxx_messageInfo_UTXOHaveTxHashs
.
Size
(
m
)
...
...
@@ -2421,17 +2405,16 @@ func (m *ReqUTXOGlobalIndex) Reset() { *m = ReqUTXOGlobalIndex{} }
func
(
m
*
ReqUTXOGlobalIndex
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqUTXOGlobalIndex
)
ProtoMessage
()
{}
func
(
*
ReqUTXOGlobalIndex
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
40
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
40
}
}
func
(
m
*
ReqUTXOGlobalIndex
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqUTXOGlobalIndex
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqUTXOGlobalIndex
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqUTXOGlobalIndex
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqUTXOGlobalIndex
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqUTXOGlobalIndex
.
Merge
(
m
,
src
)
func
(
dst
*
ReqUTXOGlobalIndex
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqUTXOGlobalIndex
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqUTXOGlobalIndex
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqUTXOGlobalIndex
.
Size
(
m
)
...
...
@@ -2475,17 +2458,16 @@ func (m *UTXOBasic) Reset() { *m = UTXOBasic{} }
func
(
m
*
UTXOBasic
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOBasic
)
ProtoMessage
()
{}
func
(
*
UTXOBasic
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
41
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
41
}
}
func
(
m
*
UTXOBasic
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOBasic
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
UTXOBasic
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_UTXOBasic
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
UTXOBasic
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOBasic
.
Merge
(
m
,
src
)
func
(
dst
*
UTXOBasic
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOBasic
.
Merge
(
dst
,
src
)
}
func
(
m
*
UTXOBasic
)
XXX_Size
()
int
{
return
xxx_messageInfo_UTXOBasic
.
Size
(
m
)
...
...
@@ -2522,17 +2504,16 @@ func (m *UTXOIndex4Amount) Reset() { *m = UTXOIndex4Amount{} }
func
(
m
*
UTXOIndex4Amount
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOIndex4Amount
)
ProtoMessage
()
{}
func
(
*
UTXOIndex4Amount
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
42
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
42
}
}
func
(
m
*
UTXOIndex4Amount
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOIndex4Amount
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
UTXOIndex4Amount
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_UTXOIndex4Amount
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
UTXOIndex4Amount
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOIndex4Amount
.
Merge
(
m
,
src
)
func
(
dst
*
UTXOIndex4Amount
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOIndex4Amount
.
Merge
(
dst
,
src
)
}
func
(
m
*
UTXOIndex4Amount
)
XXX_Size
()
int
{
return
xxx_messageInfo_UTXOIndex4Amount
.
Size
(
m
)
...
...
@@ -2570,17 +2551,16 @@ func (m *ResUTXOGlobalIndex) Reset() { *m = ResUTXOGlobalIndex{} }
func
(
m
*
ResUTXOGlobalIndex
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ResUTXOGlobalIndex
)
ProtoMessage
()
{}
func
(
*
ResUTXOGlobalIndex
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
43
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
43
}
}
func
(
m
*
ResUTXOGlobalIndex
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ResUTXOGlobalIndex
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ResUTXOGlobalIndex
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ResUTXOGlobalIndex
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ResUTXOGlobalIndex
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ResUTXOGlobalIndex
.
Merge
(
m
,
src
)
func
(
dst
*
ResUTXOGlobalIndex
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ResUTXOGlobalIndex
.
Merge
(
dst
,
src
)
}
func
(
m
*
ResUTXOGlobalIndex
)
XXX_Size
()
int
{
return
xxx_messageInfo_ResUTXOGlobalIndex
.
Size
(
m
)
...
...
@@ -2628,17 +2608,16 @@ func (m *FTXOsSTXOsInOneTx) Reset() { *m = FTXOsSTXOsInOneTx{} }
func
(
m
*
FTXOsSTXOsInOneTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
FTXOsSTXOsInOneTx
)
ProtoMessage
()
{}
func
(
*
FTXOsSTXOsInOneTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
44
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
44
}
}
func
(
m
*
FTXOsSTXOsInOneTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_FTXOsSTXOsInOneTx
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
FTXOsSTXOsInOneTx
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_FTXOsSTXOsInOneTx
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
FTXOsSTXOsInOneTx
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_FTXOsSTXOsInOneTx
.
Merge
(
m
,
src
)
func
(
dst
*
FTXOsSTXOsInOneTx
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_FTXOsSTXOsInOneTx
.
Merge
(
dst
,
src
)
}
func
(
m
*
FTXOsSTXOsInOneTx
)
XXX_Size
()
int
{
return
xxx_messageInfo_FTXOsSTXOsInOneTx
.
Size
(
m
)
...
...
@@ -2696,17 +2675,16 @@ func (m *RealKeyInput) Reset() { *m = RealKeyInput{} }
func
(
m
*
RealKeyInput
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RealKeyInput
)
ProtoMessage
()
{}
func
(
*
RealKeyInput
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
45
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
45
}
}
func
(
m
*
RealKeyInput
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RealKeyInput
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
RealKeyInput
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_RealKeyInput
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
RealKeyInput
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RealKeyInput
.
Merge
(
m
,
src
)
func
(
dst
*
RealKeyInput
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RealKeyInput
.
Merge
(
dst
,
src
)
}
func
(
m
*
RealKeyInput
)
XXX_Size
()
int
{
return
xxx_messageInfo_RealKeyInput
.
Size
(
m
)
...
...
@@ -2742,17 +2720,16 @@ func (m *UTXOBasics) Reset() { *m = UTXOBasics{} }
func
(
m
*
UTXOBasics
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOBasics
)
ProtoMessage
()
{}
func
(
*
UTXOBasics
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
46
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
46
}
}
func
(
m
*
UTXOBasics
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOBasics
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
UTXOBasics
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_UTXOBasics
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
UTXOBasics
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOBasics
.
Merge
(
m
,
src
)
func
(
dst
*
UTXOBasics
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_UTXOBasics
.
Merge
(
dst
,
src
)
}
func
(
m
*
UTXOBasics
)
XXX_Size
()
int
{
return
xxx_messageInfo_UTXOBasics
.
Size
(
m
)
...
...
@@ -2795,17 +2772,16 @@ func (m *CreateTransactionCache) Reset() { *m = CreateTransactionCache{}
func
(
m
*
CreateTransactionCache
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
CreateTransactionCache
)
ProtoMessage
()
{}
func
(
*
CreateTransactionCache
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
47
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
47
}
}
func
(
m
*
CreateTransactionCache
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_CreateTransactionCache
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
CreateTransactionCache
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_CreateTransactionCache
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
CreateTransactionCache
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_CreateTransactionCache
.
Merge
(
m
,
src
)
func
(
dst
*
CreateTransactionCache
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_CreateTransactionCache
.
Merge
(
dst
,
src
)
}
func
(
m
*
CreateTransactionCache
)
XXX_Size
()
int
{
return
xxx_messageInfo_CreateTransactionCache
.
Size
(
m
)
...
...
@@ -2891,17 +2867,16 @@ func (m *ReqCacheTxList) Reset() { *m = ReqCacheTxList{} }
func
(
m
*
ReqCacheTxList
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqCacheTxList
)
ProtoMessage
()
{}
func
(
*
ReqCacheTxList
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
48
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
48
}
}
func
(
m
*
ReqCacheTxList
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqCacheTxList
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqCacheTxList
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqCacheTxList
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqCacheTxList
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqCacheTxList
.
Merge
(
m
,
src
)
func
(
dst
*
ReqCacheTxList
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqCacheTxList
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqCacheTxList
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqCacheTxList
.
Size
(
m
)
...
...
@@ -2937,17 +2912,16 @@ func (m *ReplyCacheTxList) Reset() { *m = ReplyCacheTxList{} }
func
(
m
*
ReplyCacheTxList
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyCacheTxList
)
ProtoMessage
()
{}
func
(
*
ReplyCacheTxList
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
49
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
49
}
}
func
(
m
*
ReplyCacheTxList
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReplyCacheTxList
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReplyCacheTxList
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReplyCacheTxList
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReplyCacheTxList
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReplyCacheTxList
.
Merge
(
m
,
src
)
func
(
dst
*
ReplyCacheTxList
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReplyCacheTxList
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReplyCacheTxList
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReplyCacheTxList
.
Size
(
m
)
...
...
@@ -2977,17 +2951,16 @@ func (m *ReqPrivacyAccount) Reset() { *m = ReqPrivacyAccount{} }
func
(
m
*
ReqPrivacyAccount
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqPrivacyAccount
)
ProtoMessage
()
{}
func
(
*
ReqPrivacyAccount
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
50
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
50
}
}
func
(
m
*
ReqPrivacyAccount
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqPrivacyAccount
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqPrivacyAccount
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqPrivacyAccount
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqPrivacyAccount
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqPrivacyAccount
.
Merge
(
m
,
src
)
func
(
dst
*
ReqPrivacyAccount
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqPrivacyAccount
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqPrivacyAccount
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqPrivacyAccount
.
Size
(
m
)
...
...
@@ -3030,17 +3003,16 @@ func (m *ReqPPrivacyAccount) Reset() { *m = ReqPPrivacyAccount{} }
func
(
m
*
ReqPPrivacyAccount
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqPPrivacyAccount
)
ProtoMessage
()
{}
func
(
*
ReqPPrivacyAccount
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
51
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
51
}
}
func
(
m
*
ReqPPrivacyAccount
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqPPrivacyAccount
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqPPrivacyAccount
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqPPrivacyAccount
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqPPrivacyAccount
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqPPrivacyAccount
.
Merge
(
m
,
src
)
func
(
dst
*
ReqPPrivacyAccount
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqPPrivacyAccount
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqPPrivacyAccount
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqPPrivacyAccount
.
Size
(
m
)
...
...
@@ -3088,17 +3060,16 @@ func (m *ReplyPrivacyAccount) Reset() { *m = ReplyPrivacyAccount{} }
func
(
m
*
ReplyPrivacyAccount
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyPrivacyAccount
)
ProtoMessage
()
{}
func
(
*
ReplyPrivacyAccount
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
52
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
52
}
}
func
(
m
*
ReplyPrivacyAccount
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReplyPrivacyAccount
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReplyPrivacyAccount
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReplyPrivacyAccount
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReplyPrivacyAccount
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReplyPrivacyAccount
.
Merge
(
m
,
src
)
func
(
dst
*
ReplyPrivacyAccount
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReplyPrivacyAccount
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReplyPrivacyAccount
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReplyPrivacyAccount
.
Size
(
m
)
...
...
@@ -3142,17 +3113,16 @@ func (m *ReqCreateCacheTxKey) Reset() { *m = ReqCreateCacheTxKey{} }
func
(
m
*
ReqCreateCacheTxKey
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqCreateCacheTxKey
)
ProtoMessage
()
{}
func
(
*
ReqCreateCacheTxKey
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
53
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
53
}
}
func
(
m
*
ReqCreateCacheTxKey
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqCreateCacheTxKey
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqCreateCacheTxKey
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqCreateCacheTxKey
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqCreateCacheTxKey
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqCreateCacheTxKey
.
Merge
(
m
,
src
)
func
(
dst
*
ReqCreateCacheTxKey
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqCreateCacheTxKey
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqCreateCacheTxKey
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqCreateCacheTxKey
.
Size
(
m
)
...
...
@@ -3197,17 +3167,16 @@ func (m *ReqPrivacyTransactionList) Reset() { *m = ReqPrivacyTransaction
func
(
m
*
ReqPrivacyTransactionList
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqPrivacyTransactionList
)
ProtoMessage
()
{}
func
(
*
ReqPrivacyTransactionList
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
54
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
54
}
}
func
(
m
*
ReqPrivacyTransactionList
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqPrivacyTransactionList
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqPrivacyTransactionList
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqPrivacyTransactionList
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqPrivacyTransactionList
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqPrivacyTransactionList
.
Merge
(
m
,
src
)
func
(
dst
*
ReqPrivacyTransactionList
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqPrivacyTransactionList
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqPrivacyTransactionList
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqPrivacyTransactionList
.
Size
(
m
)
...
...
@@ -3279,17 +3248,16 @@ func (m *ReqRescanUtxos) Reset() { *m = ReqRescanUtxos{} }
func
(
m
*
ReqRescanUtxos
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqRescanUtxos
)
ProtoMessage
()
{}
func
(
*
ReqRescanUtxos
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
55
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
55
}
}
func
(
m
*
ReqRescanUtxos
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqRescanUtxos
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqRescanUtxos
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqRescanUtxos
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqRescanUtxos
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqRescanUtxos
.
Merge
(
m
,
src
)
func
(
dst
*
ReqRescanUtxos
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqRescanUtxos
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqRescanUtxos
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqRescanUtxos
.
Size
(
m
)
...
...
@@ -3326,17 +3294,16 @@ func (m *RepRescanResult) Reset() { *m = RepRescanResult{} }
func
(
m
*
RepRescanResult
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RepRescanResult
)
ProtoMessage
()
{}
func
(
*
RepRescanResult
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
56
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
56
}
}
func
(
m
*
RepRescanResult
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RepRescanResult
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
RepRescanResult
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_RepRescanResult
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
RepRescanResult
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RepRescanResult
.
Merge
(
m
,
src
)
func
(
dst
*
RepRescanResult
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RepRescanResult
.
Merge
(
dst
,
src
)
}
func
(
m
*
RepRescanResult
)
XXX_Size
()
int
{
return
xxx_messageInfo_RepRescanResult
.
Size
(
m
)
...
...
@@ -3373,17 +3340,16 @@ func (m *RepRescanUtxos) Reset() { *m = RepRescanUtxos{} }
func
(
m
*
RepRescanUtxos
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RepRescanUtxos
)
ProtoMessage
()
{}
func
(
*
RepRescanUtxos
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
57
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
57
}
}
func
(
m
*
RepRescanUtxos
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RepRescanUtxos
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
RepRescanUtxos
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_RepRescanUtxos
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
RepRescanUtxos
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RepRescanUtxos
.
Merge
(
m
,
src
)
func
(
dst
*
RepRescanUtxos
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RepRescanUtxos
.
Merge
(
dst
,
src
)
}
func
(
m
*
RepRescanUtxos
)
XXX_Size
()
int
{
return
xxx_messageInfo_RepRescanUtxos
.
Size
(
m
)
...
...
@@ -3419,17 +3385,16 @@ func (m *ReqEnablePrivacy) Reset() { *m = ReqEnablePrivacy{} }
func
(
m
*
ReqEnablePrivacy
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqEnablePrivacy
)
ProtoMessage
()
{}
func
(
*
ReqEnablePrivacy
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
58
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
58
}
}
func
(
m
*
ReqEnablePrivacy
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqEnablePrivacy
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqEnablePrivacy
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqEnablePrivacy
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqEnablePrivacy
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqEnablePrivacy
.
Merge
(
m
,
src
)
func
(
dst
*
ReqEnablePrivacy
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqEnablePrivacy
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqEnablePrivacy
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqEnablePrivacy
.
Size
(
m
)
...
...
@@ -3460,17 +3425,16 @@ func (m *PriAddrResult) Reset() { *m = PriAddrResult{} }
func
(
m
*
PriAddrResult
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PriAddrResult
)
ProtoMessage
()
{}
func
(
*
PriAddrResult
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
59
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
59
}
}
func
(
m
*
PriAddrResult
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PriAddrResult
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
PriAddrResult
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_PriAddrResult
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
PriAddrResult
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PriAddrResult
.
Merge
(
m
,
src
)
func
(
dst
*
PriAddrResult
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PriAddrResult
.
Merge
(
dst
,
src
)
}
func
(
m
*
PriAddrResult
)
XXX_Size
()
int
{
return
xxx_messageInfo_PriAddrResult
.
Size
(
m
)
...
...
@@ -3513,17 +3477,16 @@ func (m *RepEnablePrivacy) Reset() { *m = RepEnablePrivacy{} }
func
(
m
*
RepEnablePrivacy
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RepEnablePrivacy
)
ProtoMessage
()
{}
func
(
*
RepEnablePrivacy
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
60
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
60
}
}
func
(
m
*
RepEnablePrivacy
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RepEnablePrivacy
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
RepEnablePrivacy
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_RepEnablePrivacy
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
RepEnablePrivacy
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RepEnablePrivacy
.
Merge
(
m
,
src
)
func
(
dst
*
RepEnablePrivacy
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RepEnablePrivacy
.
Merge
(
dst
,
src
)
}
func
(
m
*
RepEnablePrivacy
)
XXX_Size
()
int
{
return
xxx_messageInfo_RepEnablePrivacy
.
Size
(
m
)
...
...
@@ -3555,17 +3518,16 @@ func (m *PrivacySignatureParam) Reset() { *m = PrivacySignatureParam{} }
func
(
m
*
PrivacySignatureParam
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacySignatureParam
)
ProtoMessage
()
{}
func
(
*
PrivacySignatureParam
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
61
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
61
}
}
func
(
m
*
PrivacySignatureParam
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacySignatureParam
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
PrivacySignatureParam
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_PrivacySignatureParam
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
PrivacySignatureParam
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacySignatureParam
.
Merge
(
m
,
src
)
func
(
dst
*
PrivacySignatureParam
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_PrivacySignatureParam
.
Merge
(
dst
,
src
)
}
func
(
m
*
PrivacySignatureParam
)
XXX_Size
()
int
{
return
xxx_messageInfo_PrivacySignatureParam
.
Size
(
m
)
...
...
@@ -3611,17 +3573,16 @@ func (m *WalletAccountPrivacy) Reset() { *m = WalletAccountPrivacy{} }
func
(
m
*
WalletAccountPrivacy
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
WalletAccountPrivacy
)
ProtoMessage
()
{}
func
(
*
WalletAccountPrivacy
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
62
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
62
}
}
func
(
m
*
WalletAccountPrivacy
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_WalletAccountPrivacy
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
WalletAccountPrivacy
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_WalletAccountPrivacy
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
WalletAccountPrivacy
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_WalletAccountPrivacy
.
Merge
(
m
,
src
)
func
(
dst
*
WalletAccountPrivacy
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_WalletAccountPrivacy
.
Merge
(
dst
,
src
)
}
func
(
m
*
WalletAccountPrivacy
)
XXX_Size
()
int
{
return
xxx_messageInfo_WalletAccountPrivacy
.
Size
(
m
)
...
...
@@ -3678,6 +3639,7 @@ type ReqCreatePrivacyTx struct {
Pubkeypair
string
`protobuf:"bytes,10,opt,name=pubkeypair,proto3" json:"pubkeypair,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"`
AssetExec
string
`protobuf:"bytes,13,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -3687,17 +3649,16 @@ func (m *ReqCreatePrivacyTx) Reset() { *m = ReqCreatePrivacyTx{} }
func
(
m
*
ReqCreatePrivacyTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqCreatePrivacyTx
)
ProtoMessage
()
{}
func
(
*
ReqCreatePrivacyTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_
dde03d4df7a6e99a
,
[]
int
{
63
}
return
fileDescriptor_
privacy_5bbb0d865ebb40dc
,
[]
int
{
63
}
}
func
(
m
*
ReqCreatePrivacyTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqCreatePrivacyTx
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ReqCreatePrivacyTx
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ReqCreatePrivacyTx
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ReqCreatePrivacyTx
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqCreatePrivacyTx
.
Merge
(
m
,
src
)
func
(
dst
*
ReqCreatePrivacyTx
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ReqCreatePrivacyTx
.
Merge
(
dst
,
src
)
}
func
(
m
*
ReqCreatePrivacyTx
)
XXX_Size
()
int
{
return
xxx_messageInfo_ReqCreatePrivacyTx
.
Size
(
m
)
...
...
@@ -3771,6 +3732,13 @@ func (m *ReqCreatePrivacyTx) GetExpire() int64 {
return
0
}
func
(
m
*
ReqCreatePrivacyTx
)
GetAssetExec
()
string
{
if
m
!=
nil
{
return
m
.
AssetExec
}
return
""
}
func
init
()
{
proto
.
RegisterType
((
*
PrivacyAction
)(
nil
),
"types.PrivacyAction"
)
proto
.
RegisterType
((
*
Public2Privacy
)(
nil
),
"types.Public2Privacy"
)
...
...
@@ -3840,158 +3808,6 @@ func init() {
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.
var
_
context
.
Context
var
_
grpc
.
ClientConn
...
...
@@ -4207,3 +4023,156 @@ var _Privacy_serviceDesc = grpc.ServiceDesc{
Streams
:
[]
grpc
.
StreamDesc
{},
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
,
}
plugin/dapp/privacy/wallet/exec.go
View file @
6a6fefbe
...
...
@@ -49,6 +49,18 @@ func (policy *privacyPolicy) On_CreateTransaction(req *privacytypes.ReqCreatePri
bizlog
.
Error
(
"createTransaction"
,
"isRescanUtxosFlagScaning cause error."
,
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
)
{
err
=
types
.
ErrAmount
bizlog
.
Error
(
"createTransaction"
,
"isRescanUtxosFlagScaning cause error."
,
err
)
...
...
plugin/dapp/privacy/wallet/privacy.go
View file @
6a6fefbe
...
...
@@ -164,6 +164,7 @@ func (policy *privacyPolicy) createUTXOsByPub2Priv(priv crypto.PrivKey, reqCreat
Amount
:
reqCreateUTXOs
.
Amount
,
Note
:
reqCreateUTXOs
.
Note
,
Output
:
privacyOutput
,
AssetExec
:
reqCreateUTXOs
.
AssetExec
,
}
action
:=
&
privacytypes
.
PrivacyAction
{
Ty
:
privacytypes
.
ActionPublic2Privacy
,
...
...
@@ -594,6 +595,7 @@ func (policy *privacyPolicy) createPublic2PrivacyTx(req *privacytypes.ReqCreateP
Amount
:
amount
,
Note
:
req
.
GetNote
(),
Output
:
privacyOutput
,
AssetExec
:
req
.
GetAssetExec
(),
}
action
:=
&
privacytypes
.
PrivacyAction
{
...
...
@@ -624,10 +626,10 @@ func (policy *privacyPolicy) createPublic2PrivacyTx(req *privacytypes.ReqCreateP
func
(
policy
*
privacyPolicy
)
createPrivacy2PrivacyTx
(
req
*
privacytypes
.
ReqCreatePrivacyTx
)
(
*
types
.
Transaction
,
error
)
{
//需要燃烧的utxo
utxoBurnedAmount
:=
privacytypes
.
PrivacyTxFee
is
Para
:=
types
.
IsPara
(
)
if
is
Para
{
utxoBurnedAmount
=
0
var
utxoBurnedAmount
int64
is
MainetCoins
:=
!
types
.
IsPara
()
&&
(
req
.
AssetExec
==
"coins"
)
if
is
MainetCoins
{
utxoBurnedAmount
=
privacytypes
.
PrivacyTxFee
}
buildInfo
:=
&
buildInputInfo
{
tokenname
:
req
.
GetTokenname
(),
...
...
@@ -674,6 +676,7 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate
Note
:
req
.
GetNote
(),
Input
:
privacyInput
,
Output
:
privacyOutput
,
AssetExec
:
req
.
GetAssetExec
(),
}
action
:=
&
privacytypes
.
PrivacyAction
{
Ty
:
privacytypes
.
ActionPrivacy2Privacy
,
...
...
@@ -688,7 +691,7 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate
To
:
address
.
ExecAddress
(
types
.
ExecName
(
privacytypes
.
PrivacyX
)),
}
tx
.
SetExpire
(
time
.
Duration
(
req
.
Expire
))
if
isPara
{
if
!
isMainetCoins
{
tx
.
Fee
,
err
=
tx
.
GetRealFee
(
types
.
GInt
(
"MinFee"
))
if
err
!=
nil
{
bizlog
.
Error
(
"createPrivacy2PrivacyTx"
,
"calc fee failed"
,
err
)
...
...
@@ -697,7 +700,7 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate
}
// 创建交易成功,将已经使用掉的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
{
Signature
:
types
.
Encode
(
&
privacytypes
.
PrivacySignatureParam
{
ActionType
:
action
.
Ty
,
...
...
@@ -711,10 +714,11 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate
func
(
policy
*
privacyPolicy
)
createPrivacy2PublicTx
(
req
*
privacytypes
.
ReqCreatePrivacyTx
)
(
*
types
.
Transaction
,
error
)
{
//需要燃烧的utxo
utxoBurnedAmount
:=
privacytypes
.
PrivacyTxFee
isPara
:=
types
.
IsPara
()
if
isPara
{
utxoBurnedAmount
=
0
//需要燃烧的utxo
var
utxoBurnedAmount
int64
isMainetCoins
:=
!
types
.
IsPara
()
&&
(
req
.
AssetExec
==
"coins"
)
if
isMainetCoins
{
utxoBurnedAmount
=
privacytypes
.
PrivacyTxFee
}
buildInfo
:=
&
buildInputInfo
{
tokenname
:
req
.
GetTokenname
(),
...
...
@@ -760,6 +764,7 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP
Input
:
privacyInput
,
Output
:
privacyOutput
,
To
:
req
.
GetTo
(),
AssetExec
:
req
.
GetAssetExec
(),
}
action
:=
&
privacytypes
.
PrivacyAction
{
Ty
:
privacytypes
.
ActionPrivacy2Public
,
...
...
@@ -774,7 +779,7 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP
To
:
address
.
ExecAddress
(
types
.
ExecName
(
privacytypes
.
PrivacyX
)),
}
tx
.
SetExpire
(
time
.
Duration
(
req
.
Expire
))
if
isPara
{
if
!
isMainetCoins
{
tx
.
Fee
,
err
=
tx
.
GetRealFee
(
types
.
GInt
(
"MinFee"
))
if
err
!=
nil
{
bizlog
.
Error
(
"createPrivacy2PublicTx"
,
"calc fee failed"
,
err
)
...
...
@@ -782,7 +787,7 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP
}
}
// 创建交易成功,将已经使用掉的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
{
Signature
:
types
.
Encode
(
&
privacytypes
.
PrivacySignatureParam
{
ActionType
:
action
.
Ty
,
...
...
@@ -793,9 +798,9 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP
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进行冻结,防止产生双花交易
policy
.
store
.
moveUTXO2FTXO
(
expire
,
token
,
sender
,
txhash
,
selectedUtxos
)
policy
.
store
.
moveUTXO2FTXO
(
expire
,
assertSymbol
,
sender
,
txhash
,
selectedUtxos
)
//TODO:需要加入超时处理,需要将此处的txhash写入到数据库中,以免钱包瞬间奔溃后没有对该笔隐私交易的记录,
//TODO:然后当该交易得到执行之后,没法将FTXO转化为STXO,added by hezhengjun on 2018.6.5
}
...
...
@@ -878,7 +883,7 @@ func (policy *privacyPolicy) reqUtxosByAddr(addrs []string) {
}
policy
.
store
.
saveREscanUTXOsAddresses
(
storeAddrs
)
reqAddr
:=
address
.
ExecAddress
(
privacytypes
.
PrivacyX
)
reqAddr
:=
address
.
ExecAddress
(
types
.
ExecName
(
privacytypes
.
PrivacyX
)
)
var
txInfo
types
.
ReplyTxInfo
i
:=
0
operater
:=
policy
.
getWalletOperate
()
...
...
@@ -944,6 +949,7 @@ func (policy *privacyPolicy) reqUtxosByAddr(addrs []string) {
policy
.
store
.
saveREscanUTXOsAddresses
(
storeAddrs
)
}
//TODO:input也可能时混淆的utxo, 需要增加判定实际的utxo
func
(
policy
*
privacyPolicy
)
deleteScanPrivacyInputUtxo
()
{
maxUTXOsPerTime
:=
1000
for
{
...
...
@@ -1225,7 +1231,7 @@ func (policy *privacyPolicy) addDelPrivacyTxsFromBlock(tx *types.Transaction, in
}
//处理input,对于公对私的交易类型,只会出现在output类型处理中
//如果该隐私交易是本钱包中的地址发送出去的,则需要对相应的utxo进行处理
//如果该隐私交易是本钱包中的地址发送出去的,则需要对相应的utxo进行处理
TODO:处理其他节点构造并发起的隐私input(需要比较keyimage)
if
AddTx
==
addDelType
{
ftxos
,
keys
:=
policy
.
store
.
getFTXOlist
()
for
i
,
ftxo
:=
range
ftxos
{
...
...
plugin/dapp/privacy/wallet/privacy_test.go
View file @
6a6fefbe
...
...
@@ -120,6 +120,7 @@ func (mock *PrivacyMock) CreateUTXOs(sender string, pubkeypair string, amount in
dbbatch
:=
mock
.
store
.
NewBatch
(
true
)
for
n
:=
0
;
n
<
count
;
n
++
{
tx
:=
mock
.
createPublic2PrivacyTx
(
&
ty
.
ReqCreatePrivacyTx
{
AssetExec
:
"coins"
,
Tokenname
:
mock
.
tokenName
,
Type
:
1
,
Amount
:
amount
,
...
...
plugin/dapp/privacy/wallet/privacybizpolicy_test.go
View file @
6a6fefbe
...
...
@@ -343,10 +343,10 @@ func Test_CreateUTXOs(t *testing.T) {
},
{
req
:
&
ty
.
ReqCreateUTXOs
{
AssetExec
:
"coins"
,
Tokenname
:
types
.
BTY
,
Amount
:
10
*
types
.
Coin
,
Note
:
"say something"
,
Count
:
16
,
Sender
:
testAddrs
[
0
],
Pubkeypair
:
testPubkeyPairs
[
0
],
},
...
...
@@ -384,6 +384,7 @@ func Test_CreateTransaction(t *testing.T) {
},
{
// 公对私测试
req
:
&
ty
.
ReqCreatePrivacyTx
{
AssetExec
:
"coins"
,
Tokenname
:
types
.
BTY
,
Type
:
1
,
Amount
:
100
*
types
.
Coin
,
...
...
@@ -394,6 +395,7 @@ func Test_CreateTransaction(t *testing.T) {
},
{
// 私对私测试
req
:
&
ty
.
ReqCreatePrivacyTx
{
AssetExec
:
"coins"
,
Tokenname
:
types
.
BTY
,
Type
:
2
,
Amount
:
10
*
types
.
Coin
,
...
...
@@ -404,6 +406,7 @@ func Test_CreateTransaction(t *testing.T) {
},
{
// 私对公测试
req
:
&
ty
.
ReqCreatePrivacyTx
{
AssetExec
:
"coins"
,
Tokenname
:
types
.
BTY
,
Type
:
3
,
Amount
:
10
*
types
.
Coin
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment