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
3ef9413b
Commit
3ef9413b
authored
Jan 20, 2020
by
jiangpeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
privacy:support multiple asset in exec query
* update ShowAmountsOfUTXO and ShowUTXOs4SpecifiedAmount
parent
fe44a8a1
Show whitespace changes
Inline
Side-by-side
Showing
40 changed files
with
548 additions
and
549 deletions
+548
-549
dpos_msg.proto
plugin/consensus/dpos/proto/dpos_msg.proto
+10
-11
autonomy.proto
plugin/dapp/autonomy/proto/autonomy.proto
+1
-1
board.proto
plugin/dapp/autonomy/proto/board.proto
+0
-1
change.proto
plugin/dapp/autonomy/proto/change.proto
+0
-1
lcommon.proto
plugin/dapp/autonomy/proto/lcommon.proto
+0
-0
project.proto
plugin/dapp/autonomy/proto/project.proto
+0
-0
rule.proto
plugin/dapp/autonomy/proto/rule.proto
+0
-0
collateralize.proto
plugin/dapp/collateralize/proto/collateralize.proto
+16
-16
dposvote.proto
plugin/dapp/dposvote/proto/dposvote.proto
+65
-68
echo.proto
plugin/dapp/echo/proto/echo.proto
+0
-0
evmcontract.proto
plugin/dapp/evm/proto/evmcontract.proto
+0
-0
exchange.proto
plugin/dapp/exchange/proto/exchange.proto
+3
-7
guess.proto
plugin/dapp/guess/proto/guess.proto
+30
-31
issuance.proto
plugin/dapp/issuance/proto/issuance.proto
+11
-11
js.proto
plugin/dapp/js/proto/js.proto
+3
-3
lottery.proto
plugin/dapp/lottery/proto/lottery.proto
+4
-5
multisig.proto
plugin/dapp/multisig/proto/multisig.proto
+44
-51
norm.proto
plugin/dapp/norm/proto/norm.proto
+0
-0
oracle.proto
plugin/dapp/oracle/proto/oracle.proto
+2
-2
paracross.proto
plugin/dapp/paracross/proto/paracross.proto
+4
-21
pokerbull.proto
plugin/dapp/pokerbull/proto/pokerbull.proto
+1
-2
privacy.go
plugin/dapp/privacy/commands/privacy.go
+12
-4
exec.go
plugin/dapp/privacy/executor/exec.go
+19
-16
exec_del_local.go
plugin/dapp/privacy/executor/exec_del_local.go
+7
-6
exec_local.go
plugin/dapp/privacy/executor/exec_local.go
+8
-6
kv.go
plugin/dapp/privacy/executor/kv.go
+10
-6
privacy.go
plugin/dapp/privacy/executor/privacy.go
+8
-9
query_test.go
plugin/dapp/privacy/executor/query_test.go
+15
-7
privacy.proto
plugin/dapp/privacy/proto/privacy.proto
+10
-9
rpc_channel_test.go
plugin/dapp/privacy/rpc/rpc_channel_test.go
+3
-2
privacy.pb.go
plugin/dapp/privacy/types/privacy.pb.go
+249
-240
privacy.go
plugin/dapp/privacy/wallet/privacy.go
+7
-4
types.go
plugin/dapp/privacy/wallet/types.go
+2
-1
retrieve.proto
plugin/dapp/retrieve/proto/retrieve.proto
+0
-1
storage.proto
plugin/dapp/storage/proto/storage.proto
+1
-3
ticket.proto
plugin/dapp/ticket/proto/ticket.proto
+3
-3
token.proto
plugin/dapp/token/proto/token.proto
+0
-0
trade.proto
plugin/dapp/trade/proto/trade.proto
+0
-0
unfreeze.proto
plugin/dapp/unfreeze/proto/unfreeze.proto
+0
-0
tendermint.proto
plugin/dapp/valnode/proto/tendermint.proto
+0
-1
No files found.
plugin/consensus/dpos/proto/dpos_msg.proto
View file @
3ef9413b
syntax
=
"proto3"
;
package
types
;
//CycleBoundaryInfo cycle边界信息
message
CycleBoundaryInfo
{
//
CycleBoundaryInfo cycle边界信息
message
CycleBoundaryInfo
{
int64
cycle
=
1
;
int64
stopHeight
=
2
;
string
stopHash
=
3
;
}
//SuperNode 超级节点信息
message
SuperNode
{
//
SuperNode 超级节点信息
message
SuperNode
{
bytes
address
=
1
;
bytes
pubKey
=
2
;
}
//VoteItem 投票信息
//
VoteItem 投票信息
message
VoteItem
{
int32
votedNodeIndex
=
1
;
//被投票的节点索引
bytes
votedNodeAddress
=
2
;
//被投票的节点地址
...
...
@@ -34,7 +33,7 @@ message VoteItem {
repeated
SuperNode
noVrfValidators
=
14
;
}
//DPosVote Dpos共识的节点投票,为达成共识用。
//
DPosVote Dpos共识的节点投票,为达成共识用。
message
DPosVote
{
VoteItem
voteItem
=
1
;
int64
voteTimestamp
=
2
;
//发起投票的时间
...
...
@@ -43,23 +42,23 @@ message DPosVote {
bytes
signature
=
5
;
//投票者签名
}
//DPosVoteReply 投票响应。
//
DPosVoteReply 投票响应。
message
DPosVoteReply
{
DPosVote
vote
=
1
;
}
//DPosNotify Dpos委托节点出块周期结束时,通知其他节点进行高度确认及新节点投票。
//
DPosNotify Dpos委托节点出块周期结束时,通知其他节点进行高度确认及新节点投票。
message
DPosNotify
{
VoteItem
vote
=
1
;
int64
heightStop
=
2
;
//新节点负责出块的结束高度
bytes
hashStop
=
3
;
//新节点负责出块的结束hash
int64
notifyTimestamp
=
4
;
//发起通知的时间
int32
notifyNodeIndex
=
5
;
//通知节点的索引
bytes
notifyNodeAddress
=
6
;
//通知节点的地址
bytes
notifyNodeAddress
=
6
;
//通知节点的地址
bytes
signature
=
7
;
//通知节点的签名
}
//DPosCBInfo Cycle boundary注册信息。
//
DPosCBInfo Cycle boundary注册信息。
message
DPosCBInfo
{
int64
cycle
=
1
;
int64
stopHeight
=
2
;
...
...
plugin/dapp/autonomy/proto/autonomy.proto
View file @
3ef9413b
...
...
@@ -4,7 +4,7 @@
syntax
=
"proto3"
;
//import "common.proto";
//
import "common.proto";
import
"board.proto"
;
import
"project.proto"
;
import
"rule.proto"
;
...
...
plugin/dapp/autonomy/proto/board.proto
View file @
3ef9413b
...
...
@@ -8,7 +8,6 @@ import "lcommon.proto";
package
types
;
message
AutonomyProposalBoard
{
ProposalBoard
propBoard
=
1
;
// 投票该提案的规则
...
...
plugin/dapp/autonomy/proto/change.proto
View file @
3ef9413b
...
...
@@ -8,7 +8,6 @@ import "lcommon.proto";
package
types
;
message
AutonomyProposalChange
{
ProposalChange
propChange
=
1
;
// 投票该提案的规则
...
...
plugin/dapp/autonomy/proto/lcommon.proto
View file @
3ef9413b
plugin/dapp/autonomy/proto/project.proto
View file @
3ef9413b
plugin/dapp/autonomy/proto/rule.proto
View file @
3ef9413b
plugin/dapp/collateralize/proto/collateralize.proto
View file @
3ef9413b
...
...
@@ -13,12 +13,12 @@ message Collateralize {
int64
balance
=
7
;
//放贷剩余金额(ccny)
repeated
BorrowRecord
borrowRecords
=
8
;
//借贷记录
repeated
BorrowRecord
InvalidRecords
=
9
;
//失效的借贷记录
int32
status
=
10
;
//当期借贷的状态,是否关闭
int64
latestLiquidationPrice
=
11
;
//最高清算价格
int64
period
=
12
;
//借贷最大期限
int64
latestExpireTime
=
13
;
//最近超期时间
int64
collBalance
=
14
;
//抵押bty
int32
preStatus
=
15
;
//上一个状态
int32
status
=
10
;
//当期借贷的状态,是否关闭
int64
latestLiquidationPrice
=
11
;
//最高清算价格
int64
period
=
12
;
//借贷最大期限
int64
latestExpireTime
=
13
;
//最近超期时间
int64
collBalance
=
14
;
//抵押bty
int32
preStatus
=
15
;
//上一个状态
}
// 借出记录
...
...
@@ -32,17 +32,17 @@ message BorrowRecord {
int32
status
=
7
;
//抵押状态,是否被清算
int64
liquidateTime
=
8
;
//清算时间
int64
expireTime
=
9
;
//超时清算时间
int32
preStatus
=
10
;
//上一次抵押状态,用于告警恢复
string
recordId
=
11
;
//借贷id,标识一次借出记录
string
collateralizeId
=
12
;
//放贷id
int32
preStatus
=
10
;
//上一次抵押状态,用于告警恢复
string
recordId
=
11
;
//借贷id,标识一次借出记录
string
collateralizeId
=
12
;
//放贷id
}
// 资产价格记录
message
AssetPriceRecord
{
int64
recordTime
=
1
;
//价格记录时间
int64
btyPrice
=
2
;
//
bty价格
int64
btcPrice
=
3
;
//
btc价格
int64
ethPrice
=
4
;
//
eth价格
int64
btyPrice
=
2
;
//
bty价格
int64
btcPrice
=
3
;
//
btc价格
int64
ethPrice
=
4
;
//
eth价格
}
// action
...
...
@@ -114,7 +114,7 @@ message ReceiptCollateralize {
string
accountAddr
=
3
;
string
recordId
=
4
;
int32
status
=
5
;
}
}
// exec_local 放贷记录信息列表
message
CollateralizeRecords
{
...
...
@@ -128,7 +128,7 @@ message ReqCollateralizeInfo {
// 返回一期放贷信息
message
RepCollateralizeCurrentInfo
{
int32
status
=
1
;
//当期借贷的状态,是否关闭
int32
status
=
1
;
//当期借贷的状态,是否关闭
int64
totalBalance
=
2
;
//当期可借贷的总金额(ccny)
int64
debtCeiling
=
3
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
4
;
//清算比例
...
...
@@ -137,8 +137,8 @@ message RepCollateralizeCurrentInfo {
int64
balance
=
7
;
//剩余可借贷金额(ccny)
int64
period
=
8
;
//合约期限
string
collateralizeId
=
9
;
//放贷ID
int64
collBalance
=
10
;
//抵押bty
repeated
BorrowRecord
borrowRecords
=
11
;
//借贷记录
int64
collBalance
=
10
;
//抵押bty
repeated
BorrowRecord
borrowRecords
=
11
;
//借贷记录
}
// 根据ID列表查询多期放贷信息
...
...
plugin/dapp/dposvote/proto/dposvote.proto
View file @
3ef9413b
...
...
@@ -2,7 +2,7 @@ syntax = "proto3";
package
types
;
//CandidatorInfo 候选节点信息
//
CandidatorInfo 候选节点信息
message
CandidatorInfo
{
bytes
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//后续节点的地址
...
...
@@ -19,8 +19,8 @@ message CandidatorInfo {
repeated
DposVoter
voters
=
13
;
}
//DposVoter 投票者信息
message
DposVoter
{
//
DposVoter 投票者信息
message
DposVoter
{
string
fromAddr
=
1
;
bytes
pubkey
=
2
;
//候选节点的公钥
int64
votes
=
3
;
//投给候选节点的票数,不能超过锁在合约中的未使用票数
...
...
@@ -28,7 +28,7 @@ message DposVoter{
int64
time
=
5
;
}
//Candidator 候选节点信息
//
Candidator 候选节点信息
message
Candidator
{
bytes
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//后续节点的地址
...
...
@@ -37,33 +37,33 @@ message Candidator {
int64
status
=
5
;
//候选节点的状态,0:注册,1:当选,2:取消注册
}
//DposCandidatorRegist 注册Dpos候选节点,必须抵押一定数量的币,比如:10000个币
message
DposCandidatorRegist
{
//
DposCandidatorRegist 注册Dpos候选节点,必须抵押一定数量的币,比如:10000个币
message
DposCandidatorRegist
{
string
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//候选节点的地址
string
IP
=
3
;
//候选节点的共识IP地址
}
//DposCandidatorCancelRegist 注销Dpos候选节点,解冻抵押的币
message
DposCandidatorCancelRegist
{
//
DposCandidatorCancelRegist 注销Dpos候选节点,解冻抵押的币
message
DposCandidatorCancelRegist
{
string
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//候选节点的地址
}
//DposVote 为Dpos候选节点投票
message
DposVote
{
//
DposVote 为Dpos候选节点投票
message
DposVote
{
string
fromAddr
=
1
;
string
pubkey
=
2
;
//候选节点的公钥
int64
votes
=
3
;
//投给候选节点的票数,不能超过锁在合约中的未使用票数
}
//DposCancelVote 撤销为Dpos候选节点投票
message
DposCancelVote
{
//
DposCancelVote 撤销为Dpos候选节点投票
message
DposCancelVote
{
string
pubkey
=
1
;
//候选节点的公钥
int64
index
=
3
;
}
//DposVoteAction DposVote动作
//
DposVoteAction DposVote动作
message
DposVoteAction
{
oneof
value
{
DposCandidatorRegist
regist
=
1
;
...
...
@@ -84,16 +84,14 @@ message DposVoteAction {
int32
ty
=
15
;
}
//CandidatorQuery 候选节点查询
message
CandidatorQuery
{
//
CandidatorQuery 候选节点查询
message
CandidatorQuery
{
repeated
string
pubkeys
=
1
;
//候选节点公钥集合
int32
topN
=
2
;
//
topN
int32
ty
=
3
;
//
1:按公钥集合查询,2:按topN票数查询
int32
topN
=
2
;
//
topN
int32
ty
=
3
;
//
1:按公钥集合查询,2:按topN票数查询
}
//JSONCandidator 候选节点Json格式信息
// JSONCandidator 候选节点Json格式信息
message
JSONCandidator
{
string
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//后续节点的地址
...
...
@@ -102,19 +100,19 @@ message JSONCandidator {
int64
status
=
5
;
//候选节点的状态,0:注册,1:当选,2:取消注册
}
//CandidatorReply 候选节点查询响应
message
CandidatorReply
{
//
CandidatorReply 候选节点查询响应
message
CandidatorReply
{
repeated
JSONCandidator
candidators
=
1
;
//候选节点
}
//DposVoteQuery 投票查询
message
DposVoteQuery
{
//
DposVoteQuery 投票查询
message
DposVoteQuery
{
repeated
string
pubkeys
=
1
;
//候选节点的公钥,如果为空,则查询所有,否则,查询该地址给具体候选节点的投票
string
addr
=
2
;
//要查询的地址
}
//JSONDposVoter Json格式的投票者信息
message
JSONDposVoter
{
//
JSONDposVoter Json格式的投票者信息
message
JSONDposVoter
{
string
fromAddr
=
1
;
string
pubkey
=
2
;
//候选节点的公钥
int64
votes
=
3
;
//投给候选节点的票数,不能超过锁在合约中的未使用票数
...
...
@@ -122,12 +120,12 @@ message JSONDposVoter{
int64
time
=
5
;
}
//DposVoteReply 投票查询响应
message
DposVoteReply
{
//
DposVoteReply 投票查询响应
message
DposVoteReply
{
repeated
JSONDposVoter
votes
=
1
;
//某地址对具体候选节点的投票情况
}
//ReceiptCandicator 候选者收据信息
//
ReceiptCandicator 候选者收据信息
message
ReceiptCandicator
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
...
...
@@ -142,51 +140,50 @@ message ReceiptCandicator {
int64
time
=
11
;
}
//DposVrfM VrfM信息
message
DposVrfM
{
//
DposVrfM VrfM信息
message
DposVrfM
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
int64
cycle
=
3
;
int64
height
=
4
;
bytes
m
=
5
;
//
vrf的输入
bytes
m
=
5
;
//
vrf的输入
int64
time
=
6
;
int64
cycleStart
=
7
;
int64
cycleMiddle
=
8
;
int64
cycleStop
=
9
;
}
//DposVrfRP VrfRP信息
message
DposVrfRP
{
//
DposVrfRP VrfRP信息
message
DposVrfRP
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
int64
cycle
=
3
;
int64
height
=
4
;
bytes
m
=
5
;
//
vrf的输入
bytes
r
=
6
;
//
vrf的hash
bytes
p
=
7
;
//
vrf的hash的proof
bytes
m
=
5
;
//
vrf的输入
bytes
r
=
6
;
//
vrf的hash
bytes
p
=
7
;
//
vrf的hash的proof
int64
time
=
8
;
int64
cycleStart
=
9
;
int64
cycleMiddle
=
10
;
int64
cycleStop
=
11
;
}
//DposVrfMRegist VrfM注册请求
message
DposVrfMRegist
{
//
DposVrfMRegist VrfM注册请求
message
DposVrfMRegist
{
string
pubkey
=
1
;
int64
cycle
=
2
;
string
m
=
3
;
//
vrf的输入
string
m
=
3
;
//
vrf的输入
}
//DposVrfRPRegist VrfRP注册请求
message
DposVrfRPRegist
{
//
DposVrfRPRegist VrfRP注册请求
message
DposVrfRPRegist
{
string
pubkey
=
1
;
int64
cycle
=
2
;
string
r
=
3
;
//
vrf的hash
string
p
=
4
;
//
vrf的hash的proof
string
r
=
3
;
//
vrf的hash
string
p
=
4
;
//
vrf的hash的proof
}
//ReceiptVrf vrf收据信息
// ReceiptVrf vrf收据信息
message
ReceiptVrf
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
...
...
@@ -202,7 +199,7 @@ message ReceiptVrf {
int64
cycleStop
=
12
;
}
//VrfInfo vrf信息
//
VrfInfo vrf信息
message
VrfInfo
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
...
...
@@ -214,15 +211,15 @@ message VrfInfo {
int64
time
=
9
;
}
//DposVrfQuery vrf查询请求
message
DposVrfQuery
{
//
DposVrfQuery vrf查询请求
message
DposVrfQuery
{
repeated
string
pubkeys
=
1
;
int64
ty
=
2
;
int64
timestamp
=
3
;
int64
cycle
=
4
;
}
//JSONVrfInfo json格式的vrf信息
//
JSONVrfInfo json格式的vrf信息
message
JSONVrfInfo
{
int64
Index
=
1
;
string
pubkey
=
2
;
...
...
@@ -234,12 +231,12 @@ message JSONVrfInfo {
int64
time
=
9
;
}
//DposVrfReply vrf查询响应
message
DposVrfReply
{
//
DposVrfReply vrf查询响应
message
DposVrfReply
{
repeated
JSONVrfInfo
vrf
=
1
;
}
//DposCycleBoundaryInfo cycle边界信息
//
DposCycleBoundaryInfo cycle边界信息
message
DposCycleBoundaryInfo
{
int64
cycle
=
1
;
int64
stopHeight
=
2
;
...
...
@@ -248,7 +245,7 @@ message DposCycleBoundaryInfo {
bytes
signature
=
5
;
}
//DposCBInfo cycle边界记录请求消息
//
DposCBInfo cycle边界记录请求消息
message
DposCBInfo
{
int64
cycle
=
1
;
int64
stopHeight
=
2
;
...
...
@@ -257,7 +254,7 @@ message DposCBInfo {
string
signature
=
5
;
}
//DposCBQuery cycle边界记录查询请求
//
DposCBQuery cycle边界记录查询请求
message
DposCBQuery
{
int64
cycle
=
1
;
int64
stopHeight
=
2
;
...
...
@@ -265,12 +262,12 @@ message DposCBQuery {
int32
ty
=
4
;
}
//DposCBReply cycle边界记录查询响应
//
DposCBReply cycle边界记录查询响应
message
DposCBReply
{
DposCBInfo
cbInfo
=
1
;
}
//ReceiptCB CycleBoundary收据信息
//
ReceiptCB CycleBoundary收据信息
message
ReceiptCB
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
...
...
@@ -284,8 +281,8 @@ message ReceiptCB {
DposCycleBoundaryInfo
cbInfo
=
10
;
}
//TopNCandidator topN候选者
message
TopNCandidator
{
//
TopNCandidator topN候选者
message
TopNCandidator
{
repeated
Candidator
cands
=
1
;
bytes
hash
=
2
;
int64
height
=
3
;
...
...
@@ -293,30 +290,30 @@ message TopNCandidator{
bytes
signature
=
5
;
}
//TopNCandidators topN候选者(复数)
message
TopNCandidators
{
//
TopNCandidators topN候选者(复数)
message
TopNCandidators
{
repeated
TopNCandidator
candsVotes
=
1
;
int64
version
=
2
;
int64
status
=
3
;
repeated
Candidator
finalCands
=
4
;
}
//TopNCandidatorRegist topN候选者注册请求
message
TopNCandidatorRegist
{
//
TopNCandidatorRegist topN候选者注册请求
message
TopNCandidatorRegist
{
TopNCandidator
cand
=
1
;
}
//TopNCandidatorsQuery topN候选者查询请求
message
TopNCandidatorsQuery
{
//
TopNCandidatorsQuery topN候选者查询请求
message
TopNCandidatorsQuery
{
int64
version
=
1
;
}
//TopNCandidatorsReply topN候选者查询响应
message
TopNCandidatorsReply
{
//
TopNCandidatorsReply topN候选者查询响应
message
TopNCandidatorsReply
{
TopNCandidators
topN
=
1
;
}
//ReceiptTopN topN注册的收据信息
//
ReceiptTopN topN注册的收据信息
message
ReceiptTopN
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
...
...
plugin/dapp/echo/proto/echo.proto
View file @
3ef9413b
plugin/dapp/evm/proto/evmcontract.proto
View file @
3ef9413b
plugin/dapp/exchange/proto/exchange.proto
View file @
3ef9413b
syntax
=
"proto3"
;
package
types
;
message
Exchange
{
}
message
Exchange
{}
message
ExchangeAction
{
oneof
value
{
...
...
@@ -143,13 +142,10 @@ message OrderList {
string
primaryKey
=
2
;
}
//exchange执行票据日志
// exchange执行票据日志
message
ReceiptExchange
{
Order
order
=
1
;
repeated
Order
matchOrders
=
2
;
int64
index
=
3
;
}
service
exchange
{
}
service
exchange
{}
plugin/dapp/guess/proto/guess.proto
View file @
3ef9413b
...
...
@@ -4,7 +4,7 @@ import "transaction.proto";
package
types
;
//GuessGame 竞猜游戏详情
//
GuessGame 竞猜游戏详情
message
GuessGame
{
string
gameID
=
1
;
//游戏ID
int32
status
=
2
;
//游戏的状态:创建->投注->截止投注->开奖
...
...
@@ -34,13 +34,13 @@ message GuessGame {
bool
drivenByAdmin
=
26
;
}
//GuessPlayer 竞猜玩家信息
//
GuessPlayer 竞猜玩家信息
message
GuessPlayer
{
string
addr
=
1
;
GuessBet
bet
=
2
;
}
//GuessBet 竞猜下注信息
//
GuessBet 竞猜下注信息
message
GuessBet
{
string
option
=
1
;
int64
betsNumber
=
2
;
...
...
@@ -50,21 +50,21 @@ message GuessBet {
int64
preIndex
=
6
;
}
//GuessBetStat 竞猜下注统计信息
//
GuessBetStat 竞猜下注统计信息
message
GuessBetStat
{
int64
totalBetTimes
=
1
;
int64
totalBetsNumber
=
2
;
repeated
GuessBetStatItem
items
=
3
;
}
//GuessBetStat 竞猜下注子选项统计信息
//
GuessBetStat 竞猜下注子选项统计信息
message
GuessBetStatItem
{
string
option
=
1
;
int64
betsNumber
=
2
;
int64
betsTimes
=
3
;
}
//GuessGameAction 竞猜游戏动作
//
GuessGameAction 竞猜游戏动作
message
GuessGameAction
{
oneof
value
{
GuessGameStart
start
=
1
;
...
...
@@ -77,13 +77,13 @@ message GuessGameAction {
int32
ty
=
7
;
}
//GuessGameStart 游戏创建
message
GuessGameStart
{
//
GuessGameStart 游戏创建
message
GuessGameStart
{
string
topic
=
1
;
string
options
=
2
;
string
category
=
3
;
int64
maxBetHeight
=
4
;
int64
maxBetsOneTime
=
5
;
int64
maxBetsOneTime
=
5
;
int64
maxBetsNumber
=
6
;
int64
devFeeFactor
=
7
;
//开发者抽成比例
string
devFeeAddr
=
8
;
//开发者地址
...
...
@@ -93,36 +93,36 @@ message GuessGameStart{
bool
drivenByAdmin
=
12
;
}
//GuessGameBet 参与游戏下注
message
GuessGameBet
{
//
GuessGameBet 参与游戏下注
message
GuessGameBet
{
string
gameID
=
1
;
string
option
=
2
;
int64
betsNum
=
3
;
}
//GuessGameStopBet 游戏停止下注
message
GuessGameStopBet
{
//
GuessGameStopBet 游戏停止下注
message
GuessGameStopBet
{
string
gameID
=
1
;
}
//GuessGameAbort 游戏异常终止,退还下注
message
GuessGameAbort
{
//
GuessGameAbort 游戏异常终止,退还下注
message
GuessGameAbort
{
string
gameID
=
1
;
}
//GuessGamePublish 游戏结果揭晓
message
GuessGamePublish
{
//
GuessGamePublish 游戏结果揭晓
message
GuessGamePublish
{
string
gameID
=
1
;
string
result
=
2
;
}
//GuessGameQuery 查询游戏结果
message
GuessGameQuery
{
//
GuessGameQuery 查询游戏结果
message
GuessGameQuery
{
string
gameID
=
1
;
uint32
ty
=
2
;
}
//QueryGuessGameInfo 游戏信息查询消息
//
QueryGuessGameInfo 游戏信息查询消息
message
QueryGuessGameInfo
{
string
gameID
=
1
;
string
addr
=
2
;
...
...
@@ -133,22 +133,22 @@ message QueryGuessGameInfo {
string
primaryKey
=
7
;
}
//ReplyGuessGameInfo 游戏信息查询响应消息
//
ReplyGuessGameInfo 游戏信息查询响应消息
message
ReplyGuessGameInfo
{
GuessGame
game
=
1
;
}
//QueryGuessGameInfos 游戏信息列表查询消息
//
QueryGuessGameInfos 游戏信息列表查询消息
message
QueryGuessGameInfos
{
repeated
string
gameIDs
=
1
;
}
//ReplyGuessGameInfos 游戏信息列表查询响应消息
//
ReplyGuessGameInfos 游戏信息列表查询响应消息
message
ReplyGuessGameInfos
{
repeated
GuessGame
games
=
1
;
}
//ReceiptGuessGame 竞猜游戏收据信息
//
ReceiptGuessGame 竞猜游戏收据信息
message
ReceiptGuessGame
{
int64
startIndex
=
1
;
string
gameID
=
2
;
...
...
@@ -166,7 +166,7 @@ message ReceiptGuessGame {
GuessGame
game
=
14
;
}
//UserBet 用户下注信息
//
UserBet 用户下注信息
message
UserBet
{
int64
startIndex
=
1
;
int64
index
=
2
;
...
...
@@ -176,7 +176,7 @@ message UserBet {
int64
betsNumber
=
6
;
}
//GuessStartTxReq 构造start交易的请求
//
GuessStartTxReq 构造start交易的请求
message
GuessStartTxReq
{
string
topic
=
1
;
string
options
=
2
;
...
...
@@ -193,7 +193,7 @@ message GuessStartTxReq {
int64
fee
=
13
;
}
//GuessBetTxReq 构造bet交易的请求
//
GuessBetTxReq 构造bet交易的请求
message
GuessBetTxReq
{
string
gameID
=
1
;
string
option
=
2
;
...
...
@@ -201,19 +201,19 @@ message GuessBetTxReq {
int64
fee
=
4
;
}
//GuessStopBetTxReq 构造stopBet交易的请求
//
GuessStopBetTxReq 构造stopBet交易的请求
message
GuessStopBetTxReq
{
string
gameID
=
1
;
int64
fee
=
2
;
}
//GuessAbortTxReq 构造abort交易的请求
//
GuessAbortTxReq 构造abort交易的请求
message
GuessAbortTxReq
{
string
gameID
=
1
;
int64
fee
=
2
;
}
//GuessPublishTxReq 构造publish交易的请求
//
GuessPublishTxReq 构造publish交易的请求
message
GuessPublishTxReq
{
string
gameID
=
1
;
string
result
=
2
;
...
...
@@ -232,7 +232,6 @@ message GuessGameRecords {
string
primaryKey
=
2
;
}
// service guess 为guess 对外提供服务的接口
service
guess
{
//游戏开始
...
...
plugin/dapp/issuance/proto/issuance.proto
View file @
3ef9413b
...
...
@@ -13,12 +13,12 @@ message Issuance {
repeated
DebtRecord
debtRecords
=
7
;
//大户抵押记录
repeated
DebtRecord
invalidRecords
=
8
;
//大户抵押记录
int32
status
=
9
;
//当期发行的状态,是否关闭
int64
latestLiquidationPrice
=
10
;
//最高清算价格
int64
period
=
11
;
//发行最大期限
int64
latestExpireTime
=
12
;
//最近超期时间
int64
createTime
=
13
;
//创建时间
int64
balance
=
14
;
//剩余可发行ccny
string
issuerAddr
=
15
;
//发行地址
int64
latestLiquidationPrice
=
10
;
//最高清算价格
int64
period
=
11
;
//发行最大期限
int64
latestExpireTime
=
12
;
//最近超期时间
int64
createTime
=
13
;
//创建时间
int64
balance
=
14
;
//剩余可发行ccny
string
issuerAddr
=
15
;
//发行地址
}
// 抵押记录
...
...
@@ -32,15 +32,15 @@ message DebtRecord {
int32
status
=
7
;
//抵押状态,是否被清算
int64
liquidateTime
=
8
;
//清算时间
int64
expireTime
=
9
;
//超时清算时间
int32
preStatus
=
10
;
//上一次抵押状态,用于告警恢复
string
debtId
=
11
;
//借贷id
string
issuId
=
12
;
//发行id
int32
preStatus
=
10
;
//上一次抵押状态,用于告警恢复
string
debtId
=
11
;
//借贷id
string
issuId
=
12
;
//发行id
}
// 资产价格记录
message
IssuanceAssetPriceRecord
{
int64
recordTime
=
1
;
//价格记录时间
int64
btyPrice
=
2
;
//
bty价格
int64
btyPrice
=
2
;
//
bty价格
}
// action
...
...
@@ -127,7 +127,7 @@ message RepIssuanceCurrentInfo {
int64
debtValue
=
7
;
//产生的ccny数量
int64
period
=
8
;
//发行最大期限
string
issuId
=
9
;
//发行ID
int64
createTime
=
10
;
//创建时间
int64
createTime
=
10
;
//创建时间
}
// 根据ID列表查询多期发行信息
...
...
plugin/dapp/js/proto/js.proto
View file @
3ef9413b
...
...
@@ -9,9 +9,9 @@ message Create {
// call action
message
Call
{
string
name
=
1
;
//
exec name
string
funcname
=
2
;
//call function name
string
args
=
3
;
//
json args
string
name
=
1
;
//
exec name
string
funcname
=
2
;
//
call function name
string
args
=
3
;
//
json args
}
message
JsAction
{
...
...
plugin/dapp/lottery/proto/lottery.proto
100755 → 100644
View file @
3ef9413b
...
...
@@ -25,7 +25,7 @@ message Lottery {
int64
drawBlockNum
=
6
;
int64
lastTransToPurState
=
7
;
int64
lastTransToDrawState
=
8
;
//map<string, PurchaseRecords> records = 9;
//
map<string, PurchaseRecords> records = 9;
int64
totalPurchasedTxNum
=
10
;
string
createAddr
=
11
;
int64
round
=
12
;
...
...
@@ -218,17 +218,17 @@ message ReplyLotteryPurchaseAddr {
repeated
string
address
=
1
;
}
message
LotteryGainInfos
{
message
LotteryGainInfos
{
repeated
LotteryGainInfo
gains
=
1
;
}
message
LotteryGainInfo
{
message
LotteryGainInfo
{
string
addr
=
1
;
int64
buyAmount
=
2
;
int64
fundAmount
=
3
;
}
message
LotteryGainRecord
{
message
LotteryGainRecord
{
string
addr
=
1
;
int64
buyAmount
=
2
;
int64
fundAmount
=
3
;
...
...
@@ -252,4 +252,3 @@ message ReqLotteryGainInfo {
string
addr
=
2
;
int64
round
=
3
;
}
plugin/dapp/multisig/proto/multisig.proto
View file @
3ef9413b
...
...
@@ -6,12 +6,12 @@ package types;
// message for multisig start/////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//多重签名账户的状态信息,存在在statedb中,通过多重签名账户作为key值
//createaddr: 创建多重签名地址的创建者账户
//multisigaddr: 多重签名地址
//owners: 可以操作此多重签名地址的owner账户列表
//DailyLimit: 不同资产的每日限额,通过symbol来区分,本连的原生币,以及跨链过来的其他链的原生币
//txCount:记录此多重签名地址上提交的withdraw交易数
//requiredweight:确认一笔withdraw交易需要的权重。
//
createaddr: 创建多重签名地址的创建者账户
//
multisigaddr: 多重签名地址
//
owners: 可以操作此多重签名地址的owner账户列表
//
DailyLimit: 不同资产的每日限额,通过symbol来区分,本连的原生币,以及跨链过来的其他链的原生币
//
txCount:记录此多重签名地址上提交的withdraw交易数
//
requiredweight:确认一笔withdraw交易需要的权重。
message
MultiSig
{
string
createAddr
=
1
;
string
multiSigAddr
=
2
;
...
...
@@ -27,7 +27,7 @@ message ConfirmedOwner {
}
//记录提交的交易详情,在满足确认条件后执行data中的交易
//txHash:用于存贮提交的确认交易。存贮在localdb中,通过txhash可以获取
//
txHash:用于存贮提交的确认交易。存贮在localdb中,通过txhash可以获取
message
MultiSigTx
{
uint64
txid
=
1
;
string
txHash
=
2
;
...
...
@@ -35,51 +35,49 @@ message MultiSigTx {
uint64
txType
=
4
;
string
multiSigAddr
=
5
;
repeated
Owner
confirmedOwner
=
6
;
}
// owner 结构体:owner账户地址,以及权重
message
Owner
{
string
ownerAddr
=
1
;
uint64
weight
=
2
;
string
ownerAddr
=
1
;
uint64
weight
=
2
;
}
// 资产symbol的定义,可能存在不同的平行链上发布相同名字的token,
//或者在主链发布一个token:HYB 而在guodun的平行链上也会发布一个token:HYB
// coins.bty和coins.guodun
//1:原始数据
//
1:原始数据
//主链上:原始币symbol:BTY,token.symbol(例如:TEST)
//guodun平行链上的原始币symbol:guodun,token.symbol(例如:TEST)
//2:主链原始币转移到平行链上:
//guodun平行链上的现有原始币symbol:guodun,token.symbol(例如:TEST)
//
guodun平行链上的原始币symbol:guodun,token.symbol(例如:TEST)
//
2:主链原始币转移到平行链上:
//
guodun平行链上的现有原始币symbol:guodun,token.symbol(例如:TEST)
//以及主链转移过来的symbol: coins.BTY和token.TEST (主链转移过来的资产在平行链上的symbol)
//每日资产限额,不同的资产价格不一致,需要设置各自的每日限额。没有设置或者限额是0时,表示不能取币
//spentToday今天已经花费的额度。用于和dailyLimit做对比,超过每日限额时需要多重签名
//lastDay记录当天开始的时间戳,新的一天需要重置spentToday为初始值0,并修改lastDay的时间戳
//
spentToday今天已经花费的额度。用于和dailyLimit做对比,超过每日限额时需要多重签名
//
lastDay记录当天开始的时间戳,新的一天需要重置spentToday为初始值0,并修改lastDay的时间戳
message
DailyLimit
{
string
symbol
=
1
;
string
execer
=
2
;
uint64
dailyLimit
=
3
;
uint64
spentToday
=
4
;
int64
lastDay
=
5
;
string
symbol
=
1
;
string
execer
=
2
;
uint64
dailyLimit
=
3
;
uint64
spentToday
=
4
;
int64
lastDay
=
5
;
}
message
SymbolDailyLimit
{
string
symbol
=
1
;
string
execer
=
2
;
uint64
dailyLimit
=
3
;
string
symbol
=
1
;
string
execer
=
2
;
uint64
dailyLimit
=
3
;
}
//
MultiSig 所有可能的交易action
//
MultiSig 所有可能的交易action
message
MultiSigAction
{
oneof
value
{
MultiSigAccCreate
multiSigAccCreate
=
1
;
MultiSigOwnerOperate
multiSigOwnerOperate
=
2
;
MultiSigAccOperate
multiSigAccOperate
=
3
;
MultiSigConfirmTx
multiSigConfirmTx
=
4
;
//确认或者撤销已确认
MultiSigExecTransferTo
multiSigExecTransferTo
=
5
;
//合约中外部账户转账到多重签名账户,Addr --->multiSigAddr
MultiSigExecTransferFrom
multiSigExecTransferFrom
=
6
;
//合约中多重签名账户转账到外部账户,multiSigAddr--->Addr
MultiSigConfirmTx
multiSigConfirmTx
=
4
;
//确认或者撤销已确认
MultiSigExecTransferTo
multiSigExecTransferTo
=
5
;
//合约中外部账户转账到多重签名账户,Addr --->multiSigAddr
MultiSigExecTransferFrom
multiSigExecTransferFrom
=
6
;
//合约中多重签名账户转账到外部账户,multiSigAddr--->Addr
}
int32
Ty
=
7
;
}
...
...
@@ -132,17 +130,15 @@ message MultiSigExecTransferTo {
}
//多重签名账户withdraw交易的确认或者取消确认
//multisigaccaddr:多重签名账户地址
//transactionid:多重签名账户上的withdraw交易的内部id
//
multisigaccaddr:多重签名账户地址
//
transactionid:多重签名账户上的withdraw交易的内部id
message
MultiSigConfirmTx
{
string
multiSigAccAddr
=
1
;
uint64
txId
=
2
;
bool
confirmOrRevoke
=
3
;
}
//query的接口:
// query的接口:
//第一步:获取所有多重签名账号
//第二步:获取指定多重签名账号的状态信息:包含创建者,owners,weight权重,以及各个资产的每日限量
//第三步:获取指定多重签名账户下的peding或者executed的交易id
...
...
@@ -187,7 +183,6 @@ message ReplyMultiSigTxids {
repeated
uint64
txids
=
2
;
}
//获取txid交易的信息,以及参与确认的owner信息
message
ReqMultiSigTxInfo
{
string
multiSigAddr
=
1
;
...
...
@@ -216,14 +211,14 @@ message UnSpentAssets {
//交易执行结果的Receipt信息:
//TyLogMultiSigAccCreate交易的执行Receipt
//
TyLogMultiSigAccCreate交易的执行Receipt
message
ReceiptMultiSig
{
string
multiSigAddr
=
1
;
}
//owner的操作:
//TyLogMultiSigOwnerAdd = 10001 //输出add的owner:addr和weight
//TyLogMultiSigOwnerDel = 10002 //输出del的owner:addr和weight
//
owner的操作:
//
TyLogMultiSigOwnerAdd = 10001 //输出add的owner:addr和weight
//
TyLogMultiSigOwnerDel = 10002 //输出del的owner:addr和weight
message
ReceiptOwnerAddOrDel
{
string
multiSigAddr
=
1
;
...
...
@@ -231,8 +226,8 @@ message ReceiptOwnerAddOrDel {
bool
addOrDel
=
3
;
}
//TyLogMultiSigOwnerModify = 10003 //输出modify的owner:preweight以及currentweight
//TyLogMultiSigOwnerReplace = 10004 //输出old的owner的信息:以及当前的owner信息:addr+weight
//
TyLogMultiSigOwnerModify = 10003 //输出modify的owner:preweight以及currentweight
//
TyLogMultiSigOwnerReplace = 10004 //输出old的owner的信息:以及当前的owner信息:addr+weight
message
ReceiptOwnerModOrRep
{
string
multiSigAddr
=
1
;
Owner
prevOwner
=
2
;
...
...
@@ -241,14 +236,14 @@ message ReceiptOwnerModOrRep {
}
//多重签名账户的操作:ReqWeight,AssetDailyLimit
//TyLogMultiSigAccWeightModify = 10005 //输出修改前后确认权重的值:preReqWeight和curReqWeight
//
TyLogMultiSigAccWeightModify = 10005 //输出修改前后确认权重的值:preReqWeight和curReqWeight
message
ReceiptWeightModify
{
string
multiSigAddr
=
1
;
uint64
prevWeight
=
2
;
uint64
currentWeight
=
3
;
}
//TyLogMultiSigAccDailyLimitAdd = 10006 //输出add的DailyLimit:Symbol和DailyLimit
//TyLogMultiSigAccDailyLimitModify = 10007 //输出modify的DailyLimit:preDailyLimit以及currentDailyLimit
//
TyLogMultiSigAccDailyLimitAdd = 10006 //输出add的DailyLimit:Symbol和DailyLimit
//
TyLogMultiSigAccDailyLimitModify = 10007 //输出modify的DailyLimit:preDailyLimit以及currentDailyLimit
message
ReceiptDailyLimitOperate
{
string
multiSigAddr
=
1
;
DailyLimit
prevDailyLimit
=
2
;
...
...
@@ -257,8 +252,8 @@ message ReceiptDailyLimitOperate {
}
//交易确认或者撤销(撤销值针对未执行的交易)
//TyLogMultiSigConfirmTx = 10008 //输出确认的交易id,以及owner信息:addr+weight
//TyLogMultiSigConfirmTxRevoke = 10009 //输出撤销确认的交易id,以及owner信息:addr+weight
//
TyLogMultiSigConfirmTx = 10008 //输出确认的交易id,以及owner信息:addr+weight
//
TyLogMultiSigConfirmTxRevoke = 10009 //输出撤销确认的交易id,以及owner信息:addr+weight
message
ReceiptConfirmTx
{
MultiSigTxOwner
multiSigTxOwner
=
1
;
bool
confirmeOrRevoke
=
2
;
...
...
@@ -277,7 +272,6 @@ message ReceiptMultiSigTx {
bool
submitOrConfirm
=
4
;
string
txHash
=
5
;
uint64
txType
=
6
;
}
message
ReceiptTxCountUpdate
{
...
...
@@ -292,15 +286,14 @@ message MultiSigTxOwner {
}
//具体转币的处理;
//
TyLogMultiSigExecTransfer = 10010
//
TyLogMultiSigExecTransfer = 10010
//入币:将from地址在MultiSig合约中的币转移到指定的多重签名账户ExecTransfer中,并将其冻结ExecFrozen
//注释:使用chain33/types中定义的ReceiptExecAccountTransfer即可
//
TyLogMultiSigWithdraw = 10011
//
TyLogMultiSigWithdraw = 10011
//出币:将多重签名地址上冻结的币转给MultiSig合约中TO地址上ExecTransferFrozen
//注释:使用chain33/types中定义的ReceiptExecAccountTransfer即可
message
Uint64
{
uint64
data
=
1
;
}
...
...
@@ -340,7 +333,7 @@ message AccAddress {
repeated
string
address
=
1
;
}
//owner拥有的多重签名账户信息
//
owner拥有的多重签名账户信息
message
OwnerAttr
{
string
multiSigAddr
=
1
;
string
ownerAddr
=
2
;
...
...
plugin/dapp/norm/proto/norm.proto
View file @
3ef9413b
plugin/dapp/oracle/proto/oracle.proto
View file @
3ef9413b
...
...
@@ -14,7 +14,7 @@ message OracleStatus {
EventStatus
status
=
8
;
//操作状态
string
source
=
9
;
//数据来源
string
result
=
10
;
//事件结果
EventStatus
preStatus
=
11
;
//上次操作后状态及操作者地址
EventStatus
preStatus
=
11
;
//上次操作后状态及操作者地址
}
// action
...
...
@@ -87,7 +87,7 @@ message ReceiptOracle {
int32
status
=
2
;
//事件状态
string
addr
=
3
;
//事件发布者的地址
string
type
=
4
;
//事件类型
int32
preStatus
=
6
;
//事件的前一个状态
int32
preStatus
=
6
;
//事件的前一个状态
}
message
ReplyOracleStatusList
{
...
...
plugin/dapp/paracross/proto/paracross.proto
View file @
3ef9413b
...
...
@@ -16,8 +16,6 @@ message ParacrossStatusDetails {
message
ParacrossStatusBlockDetails
{
repeated
bytes
blockHashs
=
1
;
repeated
bytes
txResults
=
2
;
}
message
ParacrossHeightStatus
{
...
...
@@ -39,7 +37,6 @@ message ParacrossHeightStatusRsp {
string
mainHash
=
5
;
repeated
string
commitAddrs
=
6
;
repeated
string
commitBlockHash
=
7
;
}
message
ParacrossStatus
{
...
...
@@ -64,7 +61,6 @@ message ParaNodeAddrConfig {
string
addr
=
4
;
uint32
value
=
5
;
int64
coinsFrozen
=
6
;
}
message
ParaNodeVoteDetail
{
...
...
@@ -91,7 +87,6 @@ message ParaNodeIdStatus {
int64
height
=
8
;
}
message
ReceiptParaNodeConfig
{
string
addr
=
1
;
ParaNodeAddrConfig
config
=
2
;
...
...
@@ -114,7 +109,6 @@ message ReceiptParaNodeVoteDone {
int32
mostVote
=
6
;
string
voteRst
=
7
;
int32
doneStatus
=
8
;
}
message
ParaNodeGroupConfig
{
...
...
@@ -125,7 +119,6 @@ message ParaNodeGroupConfig {
int64
coinsFrozen
=
5
;
}
message
ParaNodeGroupStatus
{
string
id
=
1
;
int32
status
=
2
;
...
...
@@ -143,14 +136,12 @@ message ReceiptParaNodeGroupConfig {
ParaNodeGroupStatus
current
=
4
;
}
// node query
message
ReqParacrossNodeInfo
{
string
title
=
1
;
string
id
=
2
;
string
addr
=
3
;
int32
status
=
4
;
}
message
RespParacrossNodeAddrs
{
...
...
@@ -194,7 +185,6 @@ message SelfConsensStages {
repeated
SelfConsensStage
items
=
1
;
}
message
SelfConsensStage
{
int64
startHeight
=
1
;
uint32
enable
=
2
;
...
...
@@ -214,9 +204,6 @@ message LocalSelfConsStageInfo {
string
txIndex
=
2
;
}
message
ConfigVoteInfo
{
string
id
=
1
;
// 投票值 1:ok 2:nok
...
...
@@ -235,8 +222,7 @@ message ParaStageConfig {
oneof
value
{
SelfConsensStage
stage
=
10
;
ConfigVoteInfo
vote
=
11
;
ConfigCancelInfo
cancel
=
12
;
ConfigCancelInfo
cancel
=
12
;
}
}
...
...
@@ -254,7 +240,7 @@ message ReceiptSelfConsStageVoteDone {
string
voteRst
=
6
;
}
message
ReceiptSelfConsStagesUpdate
{
message
ReceiptSelfConsStagesUpdate
{
SelfConsensStages
prev
=
1
;
SelfConsensStages
current
=
2
;
}
...
...
@@ -273,7 +259,6 @@ message ReplyQuerySelfStages {
repeated
SelfConsensStageInfo
stageInfo
=
1
;
}
message
ParacrossCommitAction
{
ParacrossNodeStatus
status
=
1
;
}
...
...
@@ -295,8 +280,6 @@ message ParacrossAction {
ParaNodeAddrConfig
nodeConfig
=
9
;
ParaNodeGroupConfig
nodeGroupConfig
=
10
;
ParaStageConfig
selfStageConfig
=
11
;
}
int32
ty
=
2
;
}
...
...
@@ -357,8 +340,8 @@ message RespParacrossDone {
string
stateHash
=
6
;
uint32
txCounts
=
7
;
string
txResult
=
8
;
//commitDone chainHeight
int64
chainExecHeight
=
9
;
//
commitDone chainHeight
int64
chainExecHeight
=
9
;
}
message
RespParacrossTitles
{
...
...
plugin/dapp/pokerbull/proto/pokerbull.proto
View file @
3ef9413b
...
...
@@ -37,7 +37,7 @@ message PBPlayer {
repeated
PBHand
hands
=
1
;
//历史发牌和斗牛结果
string
address
=
2
;
//玩家地址
int64
txHash
=
3
;
//发牌随机数因子txhash的整数格式
bool
ready
=
4
;
//
continue状态下,是否ready
bool
ready
=
4
;
//
continue状态下,是否ready
}
//本局游戏结果
...
...
@@ -193,4 +193,3 @@ message PBQueryReq {
string
gameId
=
1
;
int64
fee
=
2
;
}
plugin/dapp/privacy/commands/privacy.go
View file @
3ef9413b
...
...
@@ -356,12 +356,16 @@ func showAmountsOfUTXOCmd() *cobra.Command {
}
func
showAmountOfUTXOFlag
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
StringP
(
"symbol"
,
"s"
,
"BTY"
,
"asset symbol, default BTY"
)
cmd
.
Flags
()
.
StringP
(
"exec"
,
"e"
,
"coins"
,
"asset executor(coins, token, paracross), default coins"
)
}
func
showAmountOfUTXO
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
reqPrivacyToken
:=
pty
.
ReqPrivacyToken
{
Token
:
types
.
BTY
}
exec
,
_
:=
cmd
.
Flags
()
.
GetString
(
"exec"
)
symbol
,
_
:=
cmd
.
Flags
()
.
GetString
(
"symbol"
)
reqPrivacyToken
:=
pty
.
ReqPrivacyToken
{
AssetExec
:
exec
,
AssetSymbol
:
symbol
}
var
params
rpctypes
.
Query4Jrpc
params
.
Execer
=
pty
.
PrivacyX
params
.
FuncName
=
"ShowAmountsOfUTXO"
...
...
@@ -394,15 +398,19 @@ func showUTXOs4SpecifiedAmountCmd() *cobra.Command {
func
showUTXOs4SpecifiedAmountFlag
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
Float64P
(
"amount"
,
"a"
,
0
,
"amount"
)
cmd
.
MarkFlagRequired
(
"amount"
)
cmd
.
Flags
()
.
StringP
(
"exec"
,
"e"
,
"coins"
,
"asset executor(coins, token, paracross), default coins"
)
cmd
.
Flags
()
.
StringP
(
"symbol"
,
"s"
,
"BTY"
,
"asset symbol, default BTY"
)
}
func
showUTXOs4SpecifiedAmount
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
amount
,
_
:=
cmd
.
Flags
()
.
GetFloat64
(
"amount"
)
amountInt64
:=
int64
(
amount
*
types
.
InputPrecision
)
*
types
.
Multiple1E4
exec
,
_
:=
cmd
.
Flags
()
.
GetString
(
"exec"
)
symbol
,
_
:=
cmd
.
Flags
()
.
GetString
(
"symbol"
)
reqPrivacyToken
:=
pty
.
ReqPrivacyToken
{
Token
:
types
.
BTY
,
AssetExec
:
exec
,
AssetSymbol
:
symbol
,
Amount
:
amountInt64
,
}
var
params
rpctypes
.
Query4Jrpc
...
...
plugin/dapp/privacy/executor/exec.go
View file @
3ef9413b
...
...
@@ -44,11 +44,8 @@ func (p *privacy) Exec_Public2Privacy(payload *ty.Public2Privacy, tx *types.Tran
receipt
.
KV
=
append
(
receipt
.
KV
,
&
types
.
KeyValue
{
Key
:
key
,
Value
:
value
})
}
receiptPrivacyOutput
:=
&
ty
.
ReceiptPrivacyOutput
{
Token
:
payload
.
Tokenname
,
Keyoutput
:
payload
.
GetOutput
()
.
Keyoutput
,
}
execlog
:=
&
types
.
ReceiptLog
{
Ty
:
ty
.
TyLogPrivacyOutput
,
Log
:
types
.
Encode
(
receiptPrivacyOutput
)}
receiptLogs
:=
p
.
buildPrivacyReceiptLog
(
payload
.
GetAssetExec
(),
payload
.
GetTokenname
(),
payload
.
GetOutput
()
.
GetKeyoutput
())
execlog
:=
&
types
.
ReceiptLog
{
Ty
:
ty
.
TyLogPrivacyOutput
,
Log
:
types
.
Encode
(
receiptLogs
)}
receipt
.
Logs
=
append
(
receipt
.
Logs
,
execlog
)
//////////////////debug code begin///////////////
...
...
@@ -82,12 +79,8 @@ func (p *privacy) Exec_Privacy2Privacy(payload *ty.Privacy2Privacy, tx *types.Tr
value
:=
types
.
Encode
(
keyOutput
)
receipt
.
KV
=
append
(
receipt
.
KV
,
&
types
.
KeyValue
{
Key
:
key
,
Value
:
value
})
}
receiptPrivacyOutput
:=
&
ty
.
ReceiptPrivacyOutput
{
Token
:
payload
.
Tokenname
,
Keyoutput
:
payload
.
GetOutput
()
.
Keyoutput
,
}
execlog
=
&
types
.
ReceiptLog
{
Ty
:
ty
.
TyLogPrivacyOutput
,
Log
:
types
.
Encode
(
receiptPrivacyOutput
)}
receiptLogs
:=
p
.
buildPrivacyReceiptLog
(
payload
.
GetAssetExec
(),
payload
.
GetTokenname
(),
payload
.
GetOutput
()
.
GetKeyoutput
())
execlog
=
&
types
.
ReceiptLog
{
Ty
:
ty
.
TyLogPrivacyOutput
,
Log
:
types
.
Encode
(
receiptLogs
)}
receipt
.
Logs
=
append
(
receipt
.
Logs
,
execlog
)
receipt
.
Ty
=
types
.
ExecOk
...
...
@@ -132,11 +125,8 @@ func (p *privacy) Exec_Privacy2Public(payload *ty.Privacy2Public, tx *types.Tran
receipt
.
KV
=
append
(
receipt
.
KV
,
&
types
.
KeyValue
{
Key
:
key
,
Value
:
value
})
}
receiptPrivacyOutput
:=
&
ty
.
ReceiptPrivacyOutput
{
Token
:
payload
.
Tokenname
,
Keyoutput
:
payload
.
GetOutput
()
.
Keyoutput
,
}
execlog
=
&
types
.
ReceiptLog
{
Ty
:
ty
.
TyLogPrivacyOutput
,
Log
:
types
.
Encode
(
receiptPrivacyOutput
)}
receiptLog
:=
p
.
buildPrivacyReceiptLog
(
payload
.
GetAssetExec
(),
payload
.
GetTokenname
(),
payload
.
GetOutput
()
.
GetKeyoutput
())
execlog
=
&
types
.
ReceiptLog
{
Ty
:
ty
.
TyLogPrivacyOutput
,
Log
:
types
.
Encode
(
receiptLog
)}
receipt
.
Logs
=
append
(
receipt
.
Logs
,
execlog
)
receipt
.
Ty
=
types
.
ExecOk
...
...
@@ -155,3 +145,16 @@ func (p *privacy) createAccountDB(exec, symbol string) (*account.DB, error) {
cfg
:=
p
.
GetAPI
()
.
GetConfig
()
return
account
.
NewAccountDB
(
cfg
,
exec
,
symbol
,
p
.
GetStateDB
())
}
func
(
p
*
privacy
)
buildPrivacyReceiptLog
(
assetExec
,
assetSymbol
string
,
output
[]
*
ty
.
KeyOutput
)
*
ty
.
ReceiptPrivacyOutput
{
if
assetExec
==
""
{
assetExec
=
"coins"
}
receipt
:=
&
ty
.
ReceiptPrivacyOutput
{
AssetExec
:
assetExec
,
AssetSymbol
:
assetSymbol
,
Keyoutput
:
output
,
}
return
receipt
}
plugin/dapp/privacy/executor/exec_del_local.go
View file @
3ef9413b
...
...
@@ -26,19 +26,19 @@ func (p *privacy) execDelLocal(tx *types.Transaction, receiptData *types.Receipt
privacylog
.
Error
(
"PrivacyTrading ExecDelLocal"
,
"txhash"
,
txhashstr
,
"Decode item.Log error "
,
err
)
panic
(
err
)
}
token
:=
receiptPrivacyOutput
.
Token
assetExec
:=
receiptPrivacyOutput
.
GetAssetExec
()
assetSymbol
:=
receiptPrivacyOutput
.
GetAssetSymbol
()
txhashInByte
:=
tx
.
Hash
()
txhash
:=
common
.
ToHex
(
txhashInByte
)
for
m
,
keyOutput
:=
range
receiptPrivacyOutput
.
Keyoutput
{
//kv1,添加一个具体的UTXO,方便我们可以查询相应token下特定额度下,不同高度时,不同txhash的UTXO
key
:=
CalcPrivacyUTXOkeyHeight
(
token
,
keyOutput
.
Amount
,
p
.
GetHeight
(),
txhash
,
i
,
m
)
key
:=
CalcPrivacyUTXOkeyHeight
(
assetExec
,
assetSymbol
,
keyOutput
.
Amount
,
p
.
GetHeight
(),
txhash
,
i
,
m
)
kv
:=
&
types
.
KeyValue
{
Key
:
key
,
Value
:
nil
}
dbSet
.
KV
=
append
(
dbSet
.
KV
,
kv
)
//kv2,添加各种不同额度的kv记录,能让我们很方便的获知本系统存在的所有不同的额度的UTXO
var
amountTypes
ty
.
AmountsOfUTXO
key2
:=
CalcprivacyKeyTokenAmountType
(
token
)
key2
:=
CalcprivacyKeyTokenAmountType
(
assetExec
,
assetSymbol
)
value2
,
err
:=
localDB
.
Get
(
key2
)
//如果该种token不是第一次进行隐私操作
if
err
==
nil
&&
value2
!=
nil
{
...
...
@@ -63,15 +63,16 @@ func (p *privacy) execDelLocal(tx *types.Transaction, receiptData *types.Receipt
}
//kv3,添加存在隐私交易token的类型
assetKey
:=
calcExecLocalAssetKey
(
assetExec
,
assetSymbol
)
var
tokenNames
ty
.
TokenNamesOfUTXO
key3
:=
CalcprivacyKeyTokenTypes
()
value3
,
err
:=
localDB
.
Get
(
key3
)
if
err
==
nil
&&
value3
!=
nil
{
err
:=
types
.
Decode
(
value3
,
&
tokenNames
)
if
err
==
nil
{
if
settxhash
,
ok
:=
tokenNames
.
TokensMap
[
token
];
ok
{
if
settxhash
,
ok
:=
tokenNames
.
TokensMap
[
assetKey
];
ok
{
if
settxhash
==
txhash
{
delete
(
tokenNames
.
TokensMap
,
token
)
delete
(
tokenNames
.
TokensMap
,
assetKey
)
value3
:=
types
.
Encode
(
&
tokenNames
)
kv
:=
&
types
.
KeyValue
{
Key
:
key3
,
Value
:
value3
}
dbSet
.
KV
=
append
(
dbSet
.
KV
,
kv
)
...
...
plugin/dapp/privacy/executor/exec_local.go
View file @
3ef9413b
...
...
@@ -27,12 +27,13 @@ func (p *privacy) execLocal(receiptData *types.ReceiptData, tx *types.Transactio
panic
(
err
)
//数据错误了,已经被修改了
}
token
:=
receiptPrivacyOutput
.
Token
assetExec
:=
receiptPrivacyOutput
.
GetAssetExec
()
assetSymbol
:=
receiptPrivacyOutput
.
GetAssetSymbol
()
txhashInByte
:=
tx
.
Hash
()
txhash
:=
common
.
ToHex
(
txhashInByte
)
for
outputIndex
,
keyOutput
:=
range
receiptPrivacyOutput
.
Keyoutput
{
//kv1,添加一个具体的UTXO,方便我们可以查询相应token下特定额度下,不同高度时,不同txhash的UTXO
key
:=
CalcPrivacyUTXOkeyHeight
(
token
,
keyOutput
.
Amount
,
p
.
GetHeight
(),
txhash
,
index
,
outputIndex
)
key
:=
CalcPrivacyUTXOkeyHeight
(
assetExec
,
assetSymbol
,
keyOutput
.
Amount
,
p
.
GetHeight
(),
txhash
,
index
,
outputIndex
)
localUTXOItem
:=
&
ty
.
LocalUTXOItem
{
Height
:
p
.
GetHeight
(),
Txindex
:
int32
(
index
),
...
...
@@ -46,7 +47,7 @@ func (p *privacy) execLocal(receiptData *types.ReceiptData, tx *types.Transactio
//kv2,添加各种不同额度的kv记录,能让我们很方便的获知本系统存在的所有不同的额度的UTXO
var
amountTypes
ty
.
AmountsOfUTXO
key2
:=
CalcprivacyKeyTokenAmountType
(
token
)
key2
:=
CalcprivacyKeyTokenAmountType
(
assetExec
,
assetSymbol
)
value2
,
err
:=
localDB
.
Get
(
key2
)
//如果该种token不是第一次进行隐私操作
if
err
==
nil
&&
value2
!=
nil
{
...
...
@@ -78,14 +79,15 @@ func (p *privacy) execLocal(receiptData *types.ReceiptData, tx *types.Transactio
}
//kv3,添加存在隐私交易token的类型
assetKey
:=
calcExecLocalAssetKey
(
assetExec
,
assetSymbol
)
var
tokenNames
ty
.
TokenNamesOfUTXO
key3
:=
CalcprivacyKeyTokenTypes
()
value3
,
err
:=
localDB
.
Get
(
key3
)
if
err
==
nil
&&
len
(
value3
)
!=
0
{
err
:=
types
.
Decode
(
value3
,
&
tokenNames
)
if
err
==
nil
{
if
_
,
ok
:=
tokenNames
.
TokensMap
[
token
];
!
ok
{
tokenNames
.
TokensMap
[
token
]
=
txhash
if
_
,
ok
:=
tokenNames
.
TokensMap
[
assetKey
];
!
ok
{
tokenNames
.
TokensMap
[
assetKey
]
=
txhash
kv
:=
&
types
.
KeyValue
{
Key
:
key3
,
Value
:
types
.
Encode
(
&
tokenNames
)}
dbSet
.
KV
=
append
(
dbSet
.
KV
,
kv
)
localDB
.
Set
(
key3
,
types
.
Encode
(
&
tokenNames
))
...
...
@@ -93,7 +95,7 @@ func (p *privacy) execLocal(receiptData *types.ReceiptData, tx *types.Transactio
}
}
else
{
tokenNames
.
TokensMap
=
make
(
map
[
string
]
string
)
tokenNames
.
TokensMap
[
token
]
=
txhash
tokenNames
.
TokensMap
[
assetKey
]
=
txhash
kv
:=
&
types
.
KeyValue
{
Key
:
key3
,
Value
:
types
.
Encode
(
&
tokenNames
)}
dbSet
.
KV
=
append
(
dbSet
.
KV
,
kv
)
localDB
.
Set
(
key3
,
types
.
Encode
(
&
tokenNames
))
...
...
plugin/dapp/privacy/executor/kv.go
View file @
3ef9413b
...
...
@@ -40,21 +40,25 @@ func calcPrivacyKeyImageKey(exec, token string, keyimage []byte) []byte {
}
//CalcPrivacyUTXOkeyHeight 在本地数据库中设置一条可以找到对应amount的对应的utxo的global index
func
CalcPrivacyUTXOkeyHeight
(
token
string
,
amount
,
height
int64
,
txhash
string
,
txindex
,
outindex
int
)
(
key
[]
byte
)
{
return
[]
byte
(
fmt
.
Sprintf
(
privacyUTXOKEYPrefix
+
"-%s-%
d-%d-%s-%d-%d"
,
token
,
amount
,
height
,
txhash
,
txindex
,
outindex
))
func
CalcPrivacyUTXOkeyHeight
(
exec
,
token
string
,
amount
,
height
int64
,
txhash
string
,
txindex
,
outindex
int
)
(
key
[]
byte
)
{
return
[]
byte
(
fmt
.
Sprintf
(
privacyUTXOKEYPrefix
+
"-%s-%
s-%d-%d-%s-%d-%d"
,
exec
,
token
,
amount
,
height
,
txhash
,
txindex
,
outindex
))
}
// CalcPrivacyUTXOkeyHeightPrefix get privacy utxo key by height and prefix
func
CalcPrivacyUTXOkeyHeightPrefix
(
token
string
,
amount
int64
)
(
key
[]
byte
)
{
return
[]
byte
(
fmt
.
Sprintf
(
privacyUTXOKEYPrefix
+
"-%s-%
d-"
,
token
,
amount
))
func
CalcPrivacyUTXOkeyHeightPrefix
(
exec
,
token
string
,
amount
int64
)
(
key
[]
byte
)
{
return
[]
byte
(
fmt
.
Sprintf
(
privacyUTXOKEYPrefix
+
"-%s-%
s-%d-"
,
exec
,
token
,
amount
))
}
//CalcprivacyKeyTokenAmountType 设置当前系统存在的token的amount的类型,如存在1,3,5,100...等等的类型,
func
CalcprivacyKeyTokenAmountType
(
token
string
)
(
key
[]
byte
)
{
return
[]
byte
(
fmt
.
Sprintf
(
privacyAmountTypePrefix
+
"-%s-
"
,
token
))
func
CalcprivacyKeyTokenAmountType
(
exec
,
token
string
)
(
key
[]
byte
)
{
return
[]
byte
(
fmt
.
Sprintf
(
privacyAmountTypePrefix
+
"-%s-
%s-"
,
exec
,
token
))
}
// CalcprivacyKeyTokenTypes get privacy token types key
func
CalcprivacyKeyTokenTypes
()
(
key
[]
byte
)
{
return
[]
byte
(
privacyTokenTypesPrefix
)
}
func
calcExecLocalAssetKey
(
exec
,
symbol
string
)
string
{
return
exec
+
"-"
+
symbol
}
plugin/dapp/privacy/executor/privacy.go
View file @
3ef9413b
...
...
@@ -72,10 +72,10 @@ func (p *privacy) GetDriverName() string {
return
driverName
}
func
(
p
*
privacy
)
getUtxosByTokenAndAmount
(
tokenName
string
,
amount
int64
,
count
int32
)
([]
*
pty
.
LocalUTXOItem
,
error
)
{
func
(
p
*
privacy
)
getUtxosByTokenAndAmount
(
exec
,
tokenName
string
,
amount
int64
,
count
int32
)
([]
*
pty
.
LocalUTXOItem
,
error
)
{
localDB
:=
p
.
GetLocalDB
()
var
utxos
[]
*
pty
.
LocalUTXOItem
prefix
:=
CalcPrivacyUTXOkeyHeightPrefix
(
tokenName
,
amount
)
prefix
:=
CalcPrivacyUTXOkeyHeightPrefix
(
exec
,
tokenName
,
amount
)
values
,
err
:=
localDB
.
List
(
prefix
,
nil
,
count
,
0
)
if
err
!=
nil
{
return
utxos
,
err
...
...
@@ -97,13 +97,12 @@ func (p *privacy) getUtxosByTokenAndAmount(tokenName string, amount int64, count
return
utxos
,
nil
}
func
(
p
*
privacy
)
getGlobalUtxoIndex
(
getUtxoIndexR
eq
*
pty
.
ReqUTXOGlobalIndex
)
(
types
.
Message
,
error
)
{
func
(
p
*
privacy
)
getGlobalUtxoIndex
(
r
eq
*
pty
.
ReqUTXOGlobalIndex
)
(
types
.
Message
,
error
)
{
debugBeginTime
:=
time
.
Now
()
utxoGlobalIndexResp
:=
&
pty
.
ResUTXOGlobalIndex
{}
tokenName
:=
getUtxoIndexReq
.
Tokenname
currentHeight
:=
p
.
GetHeight
()
for
_
,
amount
:=
range
getUtxoIndexReq
.
Amount
{
utxos
,
err
:=
p
.
getUtxosByTokenAndAmount
(
tokenName
,
amount
,
pty
.
UTXOCacheCount
)
for
_
,
amount
:=
range
req
.
GetAmount
()
{
utxos
,
err
:=
p
.
getUtxosByTokenAndAmount
(
req
.
GetAssetExec
(),
req
.
GetAssetSymbol
()
,
amount
,
pty
.
UTXOCacheCount
)
if
err
!=
nil
{
return
utxoGlobalIndexResp
,
err
}
...
...
@@ -115,7 +114,7 @@ func (p *privacy) getGlobalUtxoIndex(getUtxoIndexReq *pty.ReqUTXOGlobalIndex) (t
}
}
mixCount
:=
getUtxoIndexReq
.
MixCount
mixCount
:=
req
.
GetMixCount
()
totalCnt
:=
int32
(
index
+
1
)
if
mixCount
>
totalCnt
{
mixCount
=
totalCnt
...
...
@@ -154,7 +153,7 @@ func (p *privacy) getGlobalUtxoIndex(getUtxoIndexReq *pty.ReqUTXOGlobalIndex) (t
func
(
p
*
privacy
)
ShowAmountsOfUTXO
(
reqtoken
*
pty
.
ReqPrivacyToken
)
(
types
.
Message
,
error
)
{
querydb
:=
p
.
GetLocalDB
()
key
:=
CalcprivacyKeyTokenAmountType
(
reqtoken
.
Token
)
key
:=
CalcprivacyKeyTokenAmountType
(
reqtoken
.
GetAssetExec
(),
reqtoken
.
GetAssetSymbol
()
)
replyAmounts
:=
&
pty
.
ReplyPrivacyAmounts
{}
value
,
err
:=
querydb
.
Get
(
key
)
if
err
!=
nil
{
...
...
@@ -182,7 +181,7 @@ func (p *privacy) ShowUTXOs4SpecifiedAmount(reqtoken *pty.ReqPrivacyToken) (type
querydb
:=
p
.
GetLocalDB
()
var
replyUTXOsOfAmount
pty
.
ReplyUTXOsOfAmount
values
,
err
:=
querydb
.
List
(
CalcPrivacyUTXOkeyHeightPrefix
(
reqtoken
.
Token
,
reqtoken
.
Amount
),
nil
,
0
,
0
)
values
,
err
:=
querydb
.
List
(
CalcPrivacyUTXOkeyHeightPrefix
(
reqtoken
.
GetAssetExec
(),
reqtoken
.
GetAssetSymbol
()
,
reqtoken
.
Amount
),
nil
,
0
,
0
)
if
err
!=
nil
{
return
&
replyUTXOsOfAmount
,
err
}
...
...
plugin/dapp/privacy/executor/query_test.go
View file @
3ef9413b
...
...
@@ -61,14 +61,14 @@ func TestPrivacy_Query_ShowAmountsOfUTXO(t *testing.T) {
{
index
:
1
,
params
:
&
pty
.
ReqPrivacyToken
{
Token
:
"btc"
,
AssetSymbol
:
"btc"
,
},
expectErr
:
types
.
ErrNotFound
,
},
{
index
:
2
,
params
:
&
pty
.
ReqPrivacyToken
{
Token
:
"bty"
,
AssetSymbol
:
"bty"
,
},
expectReply
:
&
pty
.
ReplyPrivacyAmounts
{
AmountDetail
:
[]
*
pty
.
AmountDetail
{
...
...
@@ -79,6 +79,8 @@ func TestPrivacy_Query_ShowAmountsOfUTXO(t *testing.T) {
}
for
_
,
tc
:=
range
queryCases
{
req
:=
tc
.
params
.
(
*
pty
.
ReqPrivacyToken
)
req
.
AssetExec
=
"coins"
tc
.
funcName
=
"ShowAmountsOfUTXO"
}
testQuery
(
mock
,
queryCases
,
t
)
...
...
@@ -99,14 +101,14 @@ func TestPrivacy_Query_ShowUTXOs4SpecifiedAmount(t *testing.T) {
{
index
:
1
,
params
:
&
pty
.
ReqPrivacyToken
{
Token
:
"bty"
,
AssetSymbol
:
"bty"
,
},
expectErr
:
types
.
ErrNotFound
,
},
{
index
:
2
,
params
:
&
pty
.
ReqPrivacyToken
{
Token
:
"bty"
,
AssetSymbol
:
"bty"
,
Amount
:
types
.
Coin
,
},
disableReplyCheck
:
true
,
...
...
@@ -114,6 +116,8 @@ func TestPrivacy_Query_ShowUTXOs4SpecifiedAmount(t *testing.T) {
}
for
_
,
tc
:=
range
queryCases
{
req
:=
tc
.
params
.
(
*
pty
.
ReqPrivacyToken
)
req
.
AssetExec
=
"coins"
tc
.
funcName
=
"ShowUTXOs4SpecifiedAmount"
}
testQuery
(
mock
,
queryCases
,
t
)
...
...
@@ -139,7 +143,7 @@ func TestPrivacy_Query_GetUTXOGlobalIndex(t *testing.T) {
{
index
:
2
,
params
:
&
pty
.
ReqUTXOGlobalIndex
{
Tokenname
:
"btc"
,
AssetSymbol
:
"btc"
,
MixCount
:
1
,
Amount
:
[]
int64
{
types
.
Coin
},
},
...
...
@@ -149,7 +153,7 @@ func TestPrivacy_Query_GetUTXOGlobalIndex(t *testing.T) {
{
index
:
3
,
params
:
&
pty
.
ReqUTXOGlobalIndex
{
Tokenname
:
"bty"
,
AssetSymbol
:
"bty"
,
MixCount
:
1
,
Amount
:
[]
int64
{
types
.
Coin
,
types
.
Coin
*
2
},
},
...
...
@@ -159,7 +163,7 @@ func TestPrivacy_Query_GetUTXOGlobalIndex(t *testing.T) {
{
index
:
4
,
params
:
&
pty
.
ReqUTXOGlobalIndex
{
Tokenname
:
"bty"
,
AssetSymbol
:
"bty"
,
MixCount
:
1
,
Amount
:
[]
int64
{
types
.
Coin
},
},
...
...
@@ -168,6 +172,10 @@ func TestPrivacy_Query_GetUTXOGlobalIndex(t *testing.T) {
}
for
_
,
tc
:=
range
queryCases
{
req
:=
tc
.
params
.
(
*
pty
.
ReqUTXOGlobalIndex
)
if
req
.
AssetExec
==
""
{
req
.
AssetExec
=
"coins"
}
tc
.
funcName
=
"GetUTXOGlobalIndex"
}
testQuery
(
mock
,
queryCases
,
t
)
...
...
plugin/dapp/privacy/proto/privacy.proto
View file @
3ef9413b
...
...
@@ -108,8 +108,9 @@ message ResUTXOPubKeys {
}
message
ReqPrivacyToken
{
string
token
=
1
;
int64
amount
=
2
;
string
assetExec
=
1
;
string
assetSymbol
=
2
;
int64
amount
=
3
;
}
message
AmountDetail
{
...
...
@@ -126,8 +127,9 @@ message replyUTXOsOfAmount {
}
message
ReceiptPrivacyOutput
{
string
token
=
1
;
repeated
keyOutput
keyoutput
=
2
;
string
assetExec
=
1
;
string
assetSymbol
=
2
;
repeated
keyOutput
keyoutput
=
3
;
}
//各种amount额度的UTXO在链上的数量
message
AmountsOfUTXO
{
...
...
@@ -245,9 +247,10 @@ message UTXOHaveTxHashs {
}
message
ReqUTXOGlobalIndex
{
string
tokenname
=
1
;
int32
mixCount
=
2
;
repeated
int64
amount
=
3
;
string
assetExec
=
1
;
string
assetSymbol
=
2
;
int32
mixCount
=
3
;
repeated
int64
amount
=
4
;
}
message
UTXOBasic
{
...
...
@@ -261,8 +264,6 @@ message UTXOIndex4Amount {
}
message
ResUTXOGlobalIndex
{
string
tokenname
=
1
;
int32
mixCount
=
2
;
repeated
UTXOIndex4Amount
utxoIndex4Amount
=
3
;
}
...
...
plugin/dapp/privacy/rpc/rpc_channel_test.go
View file @
3ef9413b
...
...
@@ -93,7 +93,7 @@ func testShowPrivacyAccountSpend(t *testing.T, jrpc *jsonclient.JSONClient) erro
}
func
testShowAmountsOfUTXO
(
t
*
testing
.
T
,
jrpc
*
jsonclient
.
JSONClient
)
error
{
reqPrivacyToken
:=
pty
.
ReqPrivacyToken
{
Token
:
types
.
BTY
}
reqPrivacyToken
:=
pty
.
ReqPrivacyToken
{
AssetExec
:
"coins"
,
AssetSymbol
:
types
.
BTY
}
var
params
rpctypes
.
Query4Jrpc
params
.
Execer
=
pty
.
PrivacyX
params
.
FuncName
=
"ShowAmountsOfUTXO"
...
...
@@ -106,7 +106,8 @@ func testShowAmountsOfUTXO(t *testing.T, jrpc *jsonclient.JSONClient) error {
func
testShowUTXOs4SpecifiedAmount
(
t
*
testing
.
T
,
jrpc
*
jsonclient
.
JSONClient
)
error
{
reqPrivacyToken
:=
pty
.
ReqPrivacyToken
{
Token
:
types
.
BTY
,
AssetExec
:
"coins"
,
AssetSymbol
:
types
.
BTY
,
Amount
:
123456
,
}
var
params
rpctypes
.
Query4Jrpc
...
...
plugin/dapp/privacy/types/privacy.pb.go
View file @
3ef9413b
...
...
@@ -44,7 +44,7 @@ func (m *PrivacyAction) Reset() { *m = PrivacyAction{} }
func
(
m
*
PrivacyAction
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyAction
)
ProtoMessage
()
{}
func
(
*
PrivacyAction
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
0
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
0
}
}
func
(
m
*
PrivacyAction
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyAction
.
Unmarshal
(
m
,
b
)
...
...
@@ -229,7 +229,7 @@ func (m *Public2Privacy) Reset() { *m = Public2Privacy{} }
func
(
m
*
Public2Privacy
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Public2Privacy
)
ProtoMessage
()
{}
func
(
*
Public2Privacy
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
1
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
1
}
}
func
(
m
*
Public2Privacy
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Public2Privacy
.
Unmarshal
(
m
,
b
)
...
...
@@ -300,7 +300,7 @@ func (m *Privacy2Privacy) Reset() { *m = Privacy2Privacy{} }
func
(
m
*
Privacy2Privacy
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Privacy2Privacy
)
ProtoMessage
()
{}
func
(
*
Privacy2Privacy
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
2
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
2
}
}
func
(
m
*
Privacy2Privacy
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Privacy2Privacy
.
Unmarshal
(
m
,
b
)
...
...
@@ -379,7 +379,7 @@ func (m *Privacy2Public) Reset() { *m = Privacy2Public{} }
func
(
m
*
Privacy2Public
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Privacy2Public
)
ProtoMessage
()
{}
func
(
*
Privacy2Public
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
3
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
3
}
}
func
(
m
*
Privacy2Public
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Privacy2Public
.
Unmarshal
(
m
,
b
)
...
...
@@ -462,7 +462,7 @@ func (m *UTXOGlobalIndex) Reset() { *m = UTXOGlobalIndex{} }
func
(
m
*
UTXOGlobalIndex
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOGlobalIndex
)
ProtoMessage
()
{}
func
(
*
UTXOGlobalIndex
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
4
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
4
}
}
func
(
m
*
UTXOGlobalIndex
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOGlobalIndex
.
Unmarshal
(
m
,
b
)
...
...
@@ -510,7 +510,7 @@ func (m *KeyInput) Reset() { *m = KeyInput{} }
func
(
m
*
KeyInput
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
KeyInput
)
ProtoMessage
()
{}
func
(
*
KeyInput
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
5
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
5
}
}
func
(
m
*
KeyInput
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_KeyInput
.
Unmarshal
(
m
,
b
)
...
...
@@ -562,7 +562,7 @@ func (m *PrivacyInput) Reset() { *m = PrivacyInput{} }
func
(
m
*
PrivacyInput
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyInput
)
ProtoMessage
()
{}
func
(
*
PrivacyInput
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
6
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
6
}
}
func
(
m
*
PrivacyInput
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyInput
.
Unmarshal
(
m
,
b
)
...
...
@@ -602,7 +602,7 @@ func (m *KeyOutput) Reset() { *m = KeyOutput{} }
func
(
m
*
KeyOutput
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
KeyOutput
)
ProtoMessage
()
{}
func
(
*
KeyOutput
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
7
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
7
}
}
func
(
m
*
KeyOutput
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_KeyOutput
.
Unmarshal
(
m
,
b
)
...
...
@@ -648,7 +648,7 @@ func (m *PrivacyOutput) Reset() { *m = PrivacyOutput{} }
func
(
m
*
PrivacyOutput
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyOutput
)
ProtoMessage
()
{}
func
(
*
PrivacyOutput
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
8
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
8
}
}
func
(
m
*
PrivacyOutput
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyOutput
.
Unmarshal
(
m
,
b
)
...
...
@@ -694,7 +694,7 @@ func (m *GroupUTXOGlobalIndex) Reset() { *m = GroupUTXOGlobalIndex{} }
func
(
m
*
GroupUTXOGlobalIndex
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
GroupUTXOGlobalIndex
)
ProtoMessage
()
{}
func
(
*
GroupUTXOGlobalIndex
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
9
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
9
}
}
func
(
m
*
GroupUTXOGlobalIndex
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_GroupUTXOGlobalIndex
.
Unmarshal
(
m
,
b
)
...
...
@@ -743,7 +743,7 @@ func (m *LocalUTXOItem) Reset() { *m = LocalUTXOItem{} }
func
(
m
*
LocalUTXOItem
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
LocalUTXOItem
)
ProtoMessage
()
{}
func
(
*
LocalUTXOItem
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
10
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
10
}
}
func
(
m
*
LocalUTXOItem
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_LocalUTXOItem
.
Unmarshal
(
m
,
b
)
...
...
@@ -810,7 +810,7 @@ func (m *ReqUTXOPubKeys) Reset() { *m = ReqUTXOPubKeys{} }
func
(
m
*
ReqUTXOPubKeys
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqUTXOPubKeys
)
ProtoMessage
()
{}
func
(
*
ReqUTXOPubKeys
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
11
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
11
}
}
func
(
m
*
ReqUTXOPubKeys
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqUTXOPubKeys
.
Unmarshal
(
m
,
b
)
...
...
@@ -856,7 +856,7 @@ func (m *PublicKeyData) Reset() { *m = PublicKeyData{} }
func
(
m
*
PublicKeyData
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PublicKeyData
)
ProtoMessage
()
{}
func
(
*
PublicKeyData
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
12
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
12
}
}
func
(
m
*
PublicKeyData
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PublicKeyData
.
Unmarshal
(
m
,
b
)
...
...
@@ -896,7 +896,7 @@ func (m *GroupUTXOPubKey) Reset() { *m = GroupUTXOPubKey{} }
func
(
m
*
GroupUTXOPubKey
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
GroupUTXOPubKey
)
ProtoMessage
()
{}
func
(
*
GroupUTXOPubKey
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
13
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
13
}
}
func
(
m
*
GroupUTXOPubKey
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_GroupUTXOPubKey
.
Unmarshal
(
m
,
b
)
...
...
@@ -941,7 +941,7 @@ func (m *ResUTXOPubKeys) Reset() { *m = ResUTXOPubKeys{} }
func
(
m
*
ResUTXOPubKeys
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ResUTXOPubKeys
)
ProtoMessage
()
{}
func
(
*
ResUTXOPubKeys
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
14
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
14
}
}
func
(
m
*
ResUTXOPubKeys
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ResUTXOPubKeys
.
Unmarshal
(
m
,
b
)
...
...
@@ -969,8 +969,9 @@ func (m *ResUTXOPubKeys) GetGroupUTXOPubKeys() []*GroupUTXOPubKey {
}
type
ReqPrivacyToken
struct
{
Token
string
`protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
Amount
int64
`protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
AssetExec
string
`protobuf:"bytes,1,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
AssetSymbol
string
`protobuf:"bytes,2,opt,name=assetSymbol,proto3" json:"assetSymbol,omitempty"`
Amount
int64
`protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -980,7 +981,7 @@ func (m *ReqPrivacyToken) Reset() { *m = ReqPrivacyToken{} }
func
(
m
*
ReqPrivacyToken
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqPrivacyToken
)
ProtoMessage
()
{}
func
(
*
ReqPrivacyToken
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
15
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
15
}
}
func
(
m
*
ReqPrivacyToken
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqPrivacyToken
.
Unmarshal
(
m
,
b
)
...
...
@@ -1000,9 +1001,16 @@ func (m *ReqPrivacyToken) XXX_DiscardUnknown() {
var
xxx_messageInfo_ReqPrivacyToken
proto
.
InternalMessageInfo
func
(
m
*
ReqPrivacyToken
)
Get
Token
()
string
{
func
(
m
*
ReqPrivacyToken
)
Get
AssetExec
()
string
{
if
m
!=
nil
{
return
m
.
Token
return
m
.
AssetExec
}
return
""
}
func
(
m
*
ReqPrivacyToken
)
GetAssetSymbol
()
string
{
if
m
!=
nil
{
return
m
.
AssetSymbol
}
return
""
}
...
...
@@ -1026,7 +1034,7 @@ func (m *AmountDetail) Reset() { *m = AmountDetail{} }
func
(
m
*
AmountDetail
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
AmountDetail
)
ProtoMessage
()
{}
func
(
*
AmountDetail
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
16
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
16
}
}
func
(
m
*
AmountDetail
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_AmountDetail
.
Unmarshal
(
m
,
b
)
...
...
@@ -1071,7 +1079,7 @@ func (m *ReplyPrivacyAmounts) Reset() { *m = ReplyPrivacyAmounts{} }
func
(
m
*
ReplyPrivacyAmounts
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyPrivacyAmounts
)
ProtoMessage
()
{}
func
(
*
ReplyPrivacyAmounts
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
17
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
17
}
}
func
(
m
*
ReplyPrivacyAmounts
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReplyPrivacyAmounts
.
Unmarshal
(
m
,
b
)
...
...
@@ -1109,7 +1117,7 @@ func (m *ReplyUTXOsOfAmount) Reset() { *m = ReplyUTXOsOfAmount{} }
func
(
m
*
ReplyUTXOsOfAmount
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyUTXOsOfAmount
)
ProtoMessage
()
{}
func
(
*
ReplyUTXOsOfAmount
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
18
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
18
}
}
func
(
m
*
ReplyUTXOsOfAmount
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReplyUTXOsOfAmount
.
Unmarshal
(
m
,
b
)
...
...
@@ -1137,8 +1145,9 @@ func (m *ReplyUTXOsOfAmount) GetLocalUTXOItems() []*LocalUTXOItem {
}
type
ReceiptPrivacyOutput
struct
{
Token
string
`protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
Keyoutput
[]
*
KeyOutput
`protobuf:"bytes,2,rep,name=keyoutput,proto3" json:"keyoutput,omitempty"`
AssetExec
string
`protobuf:"bytes,1,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
AssetSymbol
string
`protobuf:"bytes,2,opt,name=assetSymbol,proto3" json:"assetSymbol,omitempty"`
Keyoutput
[]
*
KeyOutput
`protobuf:"bytes,3,rep,name=keyoutput,proto3" json:"keyoutput,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -1148,7 +1157,7 @@ func (m *ReceiptPrivacyOutput) Reset() { *m = ReceiptPrivacyOutput{} }
func
(
m
*
ReceiptPrivacyOutput
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptPrivacyOutput
)
ProtoMessage
()
{}
func
(
*
ReceiptPrivacyOutput
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
19
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
19
}
}
func
(
m
*
ReceiptPrivacyOutput
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReceiptPrivacyOutput
.
Unmarshal
(
m
,
b
)
...
...
@@ -1168,9 +1177,16 @@ func (m *ReceiptPrivacyOutput) XXX_DiscardUnknown() {
var
xxx_messageInfo_ReceiptPrivacyOutput
proto
.
InternalMessageInfo
func
(
m
*
ReceiptPrivacyOutput
)
Get
Token
()
string
{
func
(
m
*
ReceiptPrivacyOutput
)
Get
AssetExec
()
string
{
if
m
!=
nil
{
return
m
.
Token
return
m
.
AssetExec
}
return
""
}
func
(
m
*
ReceiptPrivacyOutput
)
GetAssetSymbol
()
string
{
if
m
!=
nil
{
return
m
.
AssetSymbol
}
return
""
}
...
...
@@ -1194,7 +1210,7 @@ func (m *AmountsOfUTXO) Reset() { *m = AmountsOfUTXO{} }
func
(
m
*
AmountsOfUTXO
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
AmountsOfUTXO
)
ProtoMessage
()
{}
func
(
*
AmountsOfUTXO
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
20
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
20
}
}
func
(
m
*
AmountsOfUTXO
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_AmountsOfUTXO
.
Unmarshal
(
m
,
b
)
...
...
@@ -1232,7 +1248,7 @@ func (m *TokenNamesOfUTXO) Reset() { *m = TokenNamesOfUTXO{} }
func
(
m
*
TokenNamesOfUTXO
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
TokenNamesOfUTXO
)
ProtoMessage
()
{}
func
(
*
TokenNamesOfUTXO
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
21
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
21
}
}
func
(
m
*
TokenNamesOfUTXO
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_TokenNamesOfUTXO
.
Unmarshal
(
m
,
b
)
...
...
@@ -1272,7 +1288,7 @@ func (m *UTXOGlobalIndex4Print) Reset() { *m = UTXOGlobalIndex4Print{} }
func
(
m
*
UTXOGlobalIndex4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOGlobalIndex4Print
)
ProtoMessage
()
{}
func
(
*
UTXOGlobalIndex4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
22
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
22
}
}
func
(
m
*
UTXOGlobalIndex4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOGlobalIndex4Print
.
Unmarshal
(
m
,
b
)
...
...
@@ -1319,7 +1335,7 @@ func (m *KeyInput4Print) Reset() { *m = KeyInput4Print{} }
func
(
m
*
KeyInput4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
KeyInput4Print
)
ProtoMessage
()
{}
func
(
*
KeyInput4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
23
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
23
}
}
func
(
m
*
KeyInput4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_KeyInput4Print
.
Unmarshal
(
m
,
b
)
...
...
@@ -1372,7 +1388,7 @@ func (m *KeyOutput4Print) Reset() { *m = KeyOutput4Print{} }
func
(
m
*
KeyOutput4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
KeyOutput4Print
)
ProtoMessage
()
{}
func
(
*
KeyOutput4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
24
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
24
}
}
func
(
m
*
KeyOutput4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_KeyOutput4Print
.
Unmarshal
(
m
,
b
)
...
...
@@ -1417,7 +1433,7 @@ func (m *PrivacyInput4Print) Reset() { *m = PrivacyInput4Print{} }
func
(
m
*
PrivacyInput4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyInput4Print
)
ProtoMessage
()
{}
func
(
*
PrivacyInput4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
25
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
25
}
}
func
(
m
*
PrivacyInput4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyInput4Print
.
Unmarshal
(
m
,
b
)
...
...
@@ -1456,7 +1472,7 @@ func (m *PrivacyOutput4Print) Reset() { *m = PrivacyOutput4Print{} }
func
(
m
*
PrivacyOutput4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyOutput4Print
)
ProtoMessage
()
{}
func
(
*
PrivacyOutput4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
26
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
26
}
}
func
(
m
*
PrivacyOutput4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyOutput4Print
.
Unmarshal
(
m
,
b
)
...
...
@@ -1504,7 +1520,7 @@ func (m *Public2Privacy4Print) Reset() { *m = Public2Privacy4Print{} }
func
(
m
*
Public2Privacy4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Public2Privacy4Print
)
ProtoMessage
()
{}
func
(
*
Public2Privacy4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
27
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
27
}
}
func
(
m
*
Public2Privacy4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Public2Privacy4Print
.
Unmarshal
(
m
,
b
)
...
...
@@ -1567,7 +1583,7 @@ func (m *Privacy2Privacy4Print) Reset() { *m = Privacy2Privacy4Print{} }
func
(
m
*
Privacy2Privacy4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Privacy2Privacy4Print
)
ProtoMessage
()
{}
func
(
*
Privacy2Privacy4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
28
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
28
}
}
func
(
m
*
Privacy2Privacy4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Privacy2Privacy4Print
.
Unmarshal
(
m
,
b
)
...
...
@@ -1637,7 +1653,7 @@ func (m *Privacy2Public4Print) Reset() { *m = Privacy2Public4Print{} }
func
(
m
*
Privacy2Public4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Privacy2Public4Print
)
ProtoMessage
()
{}
func
(
*
Privacy2Public4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
29
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
29
}
}
func
(
m
*
Privacy2Public4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Privacy2Public4Print
.
Unmarshal
(
m
,
b
)
...
...
@@ -1708,7 +1724,7 @@ func (m *PrivacyAction4Print) Reset() { *m = PrivacyAction4Print{} }
func
(
m
*
PrivacyAction4Print
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyAction4Print
)
ProtoMessage
()
{}
func
(
*
PrivacyAction4Print
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
30
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
30
}
}
func
(
m
*
PrivacyAction4Print
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyAction4Print
.
Unmarshal
(
m
,
b
)
...
...
@@ -1892,7 +1908,7 @@ func (m *ReplyPrivacyPkPair) Reset() { *m = ReplyPrivacyPkPair{} }
func
(
m
*
ReplyPrivacyPkPair
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyPrivacyPkPair
)
ProtoMessage
()
{}
func
(
*
ReplyPrivacyPkPair
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
31
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
31
}
}
func
(
m
*
ReplyPrivacyPkPair
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReplyPrivacyPkPair
.
Unmarshal
(
m
,
b
)
...
...
@@ -1938,7 +1954,7 @@ func (m *ReqPrivBal4AddrToken) Reset() { *m = ReqPrivBal4AddrToken{} }
func
(
m
*
ReqPrivBal4AddrToken
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqPrivBal4AddrToken
)
ProtoMessage
()
{}
func
(
*
ReqPrivBal4AddrToken
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
32
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
32
}
}
func
(
m
*
ReqPrivBal4AddrToken
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqPrivBal4AddrToken
.
Unmarshal
(
m
,
b
)
...
...
@@ -1984,7 +2000,7 @@ func (m *ReplyPrivacyBalance) Reset() { *m = ReplyPrivacyBalance{} }
func
(
m
*
ReplyPrivacyBalance
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyPrivacyBalance
)
ProtoMessage
()
{}
func
(
*
ReplyPrivacyBalance
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
33
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
33
}
}
func
(
m
*
ReplyPrivacyBalance
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReplyPrivacyBalance
.
Unmarshal
(
m
,
b
)
...
...
@@ -2038,7 +2054,7 @@ func (m *PrivacyDBStore) Reset() { *m = PrivacyDBStore{} }
func
(
m
*
PrivacyDBStore
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacyDBStore
)
ProtoMessage
()
{}
func
(
*
PrivacyDBStore
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
34
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
34
}
}
func
(
m
*
PrivacyDBStore
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacyDBStore
.
Unmarshal
(
m
,
b
)
...
...
@@ -2140,7 +2156,7 @@ func (m *UTXO) Reset() { *m = UTXO{} }
func
(
m
*
UTXO
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXO
)
ProtoMessage
()
{}
func
(
*
UTXO
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
35
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
35
}
}
func
(
m
*
UTXO
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXO
.
Unmarshal
(
m
,
b
)
...
...
@@ -2187,7 +2203,7 @@ func (m *UTXOHaveTxHash) Reset() { *m = UTXOHaveTxHash{} }
func
(
m
*
UTXOHaveTxHash
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOHaveTxHash
)
ProtoMessage
()
{}
func
(
*
UTXOHaveTxHash
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
36
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
36
}
}
func
(
m
*
UTXOHaveTxHash
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOHaveTxHash
.
Unmarshal
(
m
,
b
)
...
...
@@ -2239,7 +2255,7 @@ func (m *UTXOs) Reset() { *m = UTXOs{} }
func
(
m
*
UTXOs
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOs
)
ProtoMessage
()
{}
func
(
*
UTXOs
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
37
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
37
}
}
func
(
m
*
UTXOs
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOs
.
Unmarshal
(
m
,
b
)
...
...
@@ -2277,7 +2293,7 @@ func (m *UTXOHaveTxHashs) Reset() { *m = UTXOHaveTxHashs{} }
func
(
m
*
UTXOHaveTxHashs
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOHaveTxHashs
)
ProtoMessage
()
{}
func
(
*
UTXOHaveTxHashs
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
38
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
38
}
}
func
(
m
*
UTXOHaveTxHashs
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOHaveTxHashs
.
Unmarshal
(
m
,
b
)
...
...
@@ -2305,9 +2321,10 @@ func (m *UTXOHaveTxHashs) GetUtxoHaveTxHashs() []*UTXOHaveTxHash {
}
type
ReqUTXOGlobalIndex
struct
{
Tokenname
string
`protobuf:"bytes,1,opt,name=tokenname,proto3" json:"tokenname,omitempty"`
MixCount
int32
`protobuf:"varint,2,opt,name=mixCount,proto3" json:"mixCount,omitempty"`
Amount
[]
int64
`protobuf:"varint,3,rep,packed,name=amount,proto3" json:"amount,omitempty"`
AssetExec
string
`protobuf:"bytes,1,opt,name=assetExec,proto3" json:"assetExec,omitempty"`
AssetSymbol
string
`protobuf:"bytes,2,opt,name=assetSymbol,proto3" json:"assetSymbol,omitempty"`
MixCount
int32
`protobuf:"varint,3,opt,name=mixCount,proto3" json:"mixCount,omitempty"`
Amount
[]
int64
`protobuf:"varint,4,rep,packed,name=amount,proto3" json:"amount,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
...
...
@@ -2317,7 +2334,7 @@ func (m *ReqUTXOGlobalIndex) Reset() { *m = ReqUTXOGlobalIndex{} }
func
(
m
*
ReqUTXOGlobalIndex
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqUTXOGlobalIndex
)
ProtoMessage
()
{}
func
(
*
ReqUTXOGlobalIndex
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
39
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
39
}
}
func
(
m
*
ReqUTXOGlobalIndex
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqUTXOGlobalIndex
.
Unmarshal
(
m
,
b
)
...
...
@@ -2337,9 +2354,16 @@ func (m *ReqUTXOGlobalIndex) XXX_DiscardUnknown() {
var
xxx_messageInfo_ReqUTXOGlobalIndex
proto
.
InternalMessageInfo
func
(
m
*
ReqUTXOGlobalIndex
)
Get
Tokenname
()
string
{
func
(
m
*
ReqUTXOGlobalIndex
)
Get
AssetExec
()
string
{
if
m
!=
nil
{
return
m
.
Tokenname
return
m
.
AssetExec
}
return
""
}
func
(
m
*
ReqUTXOGlobalIndex
)
GetAssetSymbol
()
string
{
if
m
!=
nil
{
return
m
.
AssetSymbol
}
return
""
}
...
...
@@ -2370,7 +2394,7 @@ func (m *UTXOBasic) Reset() { *m = UTXOBasic{} }
func
(
m
*
UTXOBasic
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOBasic
)
ProtoMessage
()
{}
func
(
*
UTXOBasic
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
40
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
40
}
}
func
(
m
*
UTXOBasic
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOBasic
.
Unmarshal
(
m
,
b
)
...
...
@@ -2416,7 +2440,7 @@ func (m *UTXOIndex4Amount) Reset() { *m = UTXOIndex4Amount{} }
func
(
m
*
UTXOIndex4Amount
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOIndex4Amount
)
ProtoMessage
()
{}
func
(
*
UTXOIndex4Amount
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
41
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
41
}
}
func
(
m
*
UTXOIndex4Amount
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOIndex4Amount
.
Unmarshal
(
m
,
b
)
...
...
@@ -2451,8 +2475,6 @@ func (m *UTXOIndex4Amount) GetUtxos() []*UTXOBasic {
}
type
ResUTXOGlobalIndex
struct
{
Tokenname
string
`protobuf:"bytes,1,opt,name=tokenname,proto3" json:"tokenname,omitempty"`
MixCount
int32
`protobuf:"varint,2,opt,name=mixCount,proto3" json:"mixCount,omitempty"`
UtxoIndex4Amount
[]
*
UTXOIndex4Amount
`protobuf:"bytes,3,rep,name=utxoIndex4Amount,proto3" json:"utxoIndex4Amount,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
...
...
@@ -2463,7 +2485,7 @@ func (m *ResUTXOGlobalIndex) Reset() { *m = ResUTXOGlobalIndex{} }
func
(
m
*
ResUTXOGlobalIndex
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ResUTXOGlobalIndex
)
ProtoMessage
()
{}
func
(
*
ResUTXOGlobalIndex
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
42
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
42
}
}
func
(
m
*
ResUTXOGlobalIndex
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ResUTXOGlobalIndex
.
Unmarshal
(
m
,
b
)
...
...
@@ -2483,20 +2505,6 @@ func (m *ResUTXOGlobalIndex) XXX_DiscardUnknown() {
var
xxx_messageInfo_ResUTXOGlobalIndex
proto
.
InternalMessageInfo
func
(
m
*
ResUTXOGlobalIndex
)
GetTokenname
()
string
{
if
m
!=
nil
{
return
m
.
Tokenname
}
return
""
}
func
(
m
*
ResUTXOGlobalIndex
)
GetMixCount
()
int32
{
if
m
!=
nil
{
return
m
.
MixCount
}
return
0
}
func
(
m
*
ResUTXOGlobalIndex
)
GetUtxoIndex4Amount
()
[]
*
UTXOIndex4Amount
{
if
m
!=
nil
{
return
m
.
UtxoIndex4Amount
...
...
@@ -2520,7 +2528,7 @@ func (m *FTXOsSTXOsInOneTx) Reset() { *m = FTXOsSTXOsInOneTx{} }
func
(
m
*
FTXOsSTXOsInOneTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
FTXOsSTXOsInOneTx
)
ProtoMessage
()
{}
func
(
*
FTXOsSTXOsInOneTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
43
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
43
}
}
func
(
m
*
FTXOsSTXOsInOneTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_FTXOsSTXOsInOneTx
.
Unmarshal
(
m
,
b
)
...
...
@@ -2587,7 +2595,7 @@ func (m *RealKeyInput) Reset() { *m = RealKeyInput{} }
func
(
m
*
RealKeyInput
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RealKeyInput
)
ProtoMessage
()
{}
func
(
*
RealKeyInput
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
44
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
44
}
}
func
(
m
*
RealKeyInput
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RealKeyInput
.
Unmarshal
(
m
,
b
)
...
...
@@ -2632,7 +2640,7 @@ func (m *UTXOBasics) Reset() { *m = UTXOBasics{} }
func
(
m
*
UTXOBasics
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
UTXOBasics
)
ProtoMessage
()
{}
func
(
*
UTXOBasics
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
45
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
45
}
}
func
(
m
*
UTXOBasics
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_UTXOBasics
.
Unmarshal
(
m
,
b
)
...
...
@@ -2684,7 +2692,7 @@ func (m *CreateTransactionCache) Reset() { *m = CreateTransactionCache{}
func
(
m
*
CreateTransactionCache
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
CreateTransactionCache
)
ProtoMessage
()
{}
func
(
*
CreateTransactionCache
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
46
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
46
}
}
func
(
m
*
CreateTransactionCache
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_CreateTransactionCache
.
Unmarshal
(
m
,
b
)
...
...
@@ -2779,7 +2787,7 @@ func (m *ReqCacheTxList) Reset() { *m = ReqCacheTxList{} }
func
(
m
*
ReqCacheTxList
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqCacheTxList
)
ProtoMessage
()
{}
func
(
*
ReqCacheTxList
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
47
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
47
}
}
func
(
m
*
ReqCacheTxList
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqCacheTxList
.
Unmarshal
(
m
,
b
)
...
...
@@ -2824,7 +2832,7 @@ func (m *ReplyCacheTxList) Reset() { *m = ReplyCacheTxList{} }
func
(
m
*
ReplyCacheTxList
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyCacheTxList
)
ProtoMessage
()
{}
func
(
*
ReplyCacheTxList
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
48
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
48
}
}
func
(
m
*
ReplyCacheTxList
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReplyCacheTxList
.
Unmarshal
(
m
,
b
)
...
...
@@ -2863,7 +2871,7 @@ func (m *ReqPrivacyAccount) Reset() { *m = ReqPrivacyAccount{} }
func
(
m
*
ReqPrivacyAccount
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqPrivacyAccount
)
ProtoMessage
()
{}
func
(
*
ReqPrivacyAccount
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
49
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
49
}
}
func
(
m
*
ReqPrivacyAccount
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqPrivacyAccount
.
Unmarshal
(
m
,
b
)
...
...
@@ -2915,7 +2923,7 @@ func (m *ReqPPrivacyAccount) Reset() { *m = ReqPPrivacyAccount{} }
func
(
m
*
ReqPPrivacyAccount
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqPPrivacyAccount
)
ProtoMessage
()
{}
func
(
*
ReqPPrivacyAccount
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
50
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
50
}
}
func
(
m
*
ReqPPrivacyAccount
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqPPrivacyAccount
.
Unmarshal
(
m
,
b
)
...
...
@@ -2972,7 +2980,7 @@ func (m *ReplyPrivacyAccount) Reset() { *m = ReplyPrivacyAccount{} }
func
(
m
*
ReplyPrivacyAccount
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyPrivacyAccount
)
ProtoMessage
()
{}
func
(
*
ReplyPrivacyAccount
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
51
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
51
}
}
func
(
m
*
ReplyPrivacyAccount
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReplyPrivacyAccount
.
Unmarshal
(
m
,
b
)
...
...
@@ -3025,7 +3033,7 @@ func (m *ReqCreateCacheTxKey) Reset() { *m = ReqCreateCacheTxKey{} }
func
(
m
*
ReqCreateCacheTxKey
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqCreateCacheTxKey
)
ProtoMessage
()
{}
func
(
*
ReqCreateCacheTxKey
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
52
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
52
}
}
func
(
m
*
ReqCreateCacheTxKey
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqCreateCacheTxKey
.
Unmarshal
(
m
,
b
)
...
...
@@ -3079,7 +3087,7 @@ func (m *ReqPrivacyTransactionList) Reset() { *m = ReqPrivacyTransaction
func
(
m
*
ReqPrivacyTransactionList
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqPrivacyTransactionList
)
ProtoMessage
()
{}
func
(
*
ReqPrivacyTransactionList
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
53
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
53
}
}
func
(
m
*
ReqPrivacyTransactionList
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqPrivacyTransactionList
.
Unmarshal
(
m
,
b
)
...
...
@@ -3160,7 +3168,7 @@ func (m *ReqRescanUtxos) Reset() { *m = ReqRescanUtxos{} }
func
(
m
*
ReqRescanUtxos
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqRescanUtxos
)
ProtoMessage
()
{}
func
(
*
ReqRescanUtxos
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
54
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
54
}
}
func
(
m
*
ReqRescanUtxos
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqRescanUtxos
.
Unmarshal
(
m
,
b
)
...
...
@@ -3206,7 +3214,7 @@ func (m *RepRescanResult) Reset() { *m = RepRescanResult{} }
func
(
m
*
RepRescanResult
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RepRescanResult
)
ProtoMessage
()
{}
func
(
*
RepRescanResult
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
55
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
55
}
}
func
(
m
*
RepRescanResult
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RepRescanResult
.
Unmarshal
(
m
,
b
)
...
...
@@ -3252,7 +3260,7 @@ func (m *RepRescanUtxos) Reset() { *m = RepRescanUtxos{} }
func
(
m
*
RepRescanUtxos
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RepRescanUtxos
)
ProtoMessage
()
{}
func
(
*
RepRescanUtxos
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
56
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
56
}
}
func
(
m
*
RepRescanUtxos
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RepRescanUtxos
.
Unmarshal
(
m
,
b
)
...
...
@@ -3297,7 +3305,7 @@ func (m *ReqEnablePrivacy) Reset() { *m = ReqEnablePrivacy{} }
func
(
m
*
ReqEnablePrivacy
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqEnablePrivacy
)
ProtoMessage
()
{}
func
(
*
ReqEnablePrivacy
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
57
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
57
}
}
func
(
m
*
ReqEnablePrivacy
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqEnablePrivacy
.
Unmarshal
(
m
,
b
)
...
...
@@ -3337,7 +3345,7 @@ func (m *PriAddrResult) Reset() { *m = PriAddrResult{} }
func
(
m
*
PriAddrResult
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PriAddrResult
)
ProtoMessage
()
{}
func
(
*
PriAddrResult
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
58
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
58
}
}
func
(
m
*
PriAddrResult
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PriAddrResult
.
Unmarshal
(
m
,
b
)
...
...
@@ -3389,7 +3397,7 @@ func (m *RepEnablePrivacy) Reset() { *m = RepEnablePrivacy{} }
func
(
m
*
RepEnablePrivacy
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RepEnablePrivacy
)
ProtoMessage
()
{}
func
(
*
RepEnablePrivacy
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
59
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
59
}
}
func
(
m
*
RepEnablePrivacy
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RepEnablePrivacy
.
Unmarshal
(
m
,
b
)
...
...
@@ -3430,7 +3438,7 @@ func (m *PrivacySignatureParam) Reset() { *m = PrivacySignatureParam{} }
func
(
m
*
PrivacySignatureParam
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PrivacySignatureParam
)
ProtoMessage
()
{}
func
(
*
PrivacySignatureParam
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
60
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
60
}
}
func
(
m
*
PrivacySignatureParam
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_PrivacySignatureParam
.
Unmarshal
(
m
,
b
)
...
...
@@ -3485,7 +3493,7 @@ func (m *WalletAccountPrivacy) Reset() { *m = WalletAccountPrivacy{} }
func
(
m
*
WalletAccountPrivacy
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
WalletAccountPrivacy
)
ProtoMessage
()
{}
func
(
*
WalletAccountPrivacy
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
61
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
61
}
}
func
(
m
*
WalletAccountPrivacy
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_WalletAccountPrivacy
.
Unmarshal
(
m
,
b
)
...
...
@@ -3558,7 +3566,7 @@ func (m *ReqCreatePrivacyTx) Reset() { *m = ReqCreatePrivacyTx{} }
func
(
m
*
ReqCreatePrivacyTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqCreatePrivacyTx
)
ProtoMessage
()
{}
func
(
*
ReqCreatePrivacyTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_privacy_
b04022b2c709b5e6
,
[]
int
{
62
}
return
fileDescriptor_privacy_
84669f04cb5de16e
,
[]
int
{
62
}
}
func
(
m
*
ReqCreatePrivacyTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ReqCreatePrivacyTx
.
Unmarshal
(
m
,
b
)
...
...
@@ -3897,152 +3905,153 @@ var _Privacy_serviceDesc = grpc.ServiceDesc{
Metadata
:
"privacy.proto"
,
}
func
init
()
{
proto
.
RegisterFile
(
"privacy.proto"
,
fileDescriptor_privacy_b04022b2c709b5e6
)
}
var
fileDescriptor_privacy_b04022b2c709b5e6
=
[]
byte
{
// 2295 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xb4
,
0x19
,
0x4b
,
0x6f
,
0x1c
,
0x49
,
0x39
,
0x3d
,
0xe3
,
0xb1
,
0x3d
,
0x9f
,
0xc7
,
0xf6
,
0xa4
,
0x76
,
0xec
,
0x75
,
0x26
,
0x51
,
0x14
,
0x6a
,
0x57
,
0x21
,
0x2c
,
0xc8
,
0x68
,
0x83
,
0xa5
,
0x7d
,
0x10
,
0x94
,
0xf5
,
0x38
,
0x4e
,
0x62
,
0x79
,
0x13
,
0x9b
,
0xb2
,
0x57
,
0x20
,
0xb4
,
0x48
,
0x94
,
0x7b
,
0xca
,
0x76
,
0xcb
,
0x3d
,
0xdd
,
0xed
,
0xee
,
0x1e
,
0x7b
,
0xe6
,
0xb4
,
0x9c
,
0x38
,
0x71
,
0x40
,
0x62
,
0x05
,
0x07
,
0x10
,
0x37
,
0x38
,
0xf3
,
0x27
,
0xe0
,
0xc4
,
0x89
,
0x3f
,
0x80
,
0xf8
,
0x03
,
0xfc
,
0x06
,
0x54
,
0x8f
,
0xee
,
0x7a
,
0x4c
,
0x8f
,
0x9d
,
0xb0
,
0xe6
,
0x32
,
0xea
,
0xfa
,
0xea
,
0xab
,
0xaf
,
0xbe
,
0xf7
,
0xa3
,
0x06
,
0x16
,
0x93
,
0x34
,
0xb8
,
0xa0
,
0xfe
,
0x78
,
0x3d
,
0x49
,
0xe3
,
0x3c
,
0x46
,
0x8d
,
0x7c
,
0x9c
,
0xb0
,
0xac
,
0xdb
,
0xf2
,
0xe3
,
0xc1
,
0x20
,
0x8e
,
0x24
,
0xb0
,
0x7b
,
0x3b
,
0x4f
,
0x69
,
0x94
,
0x51
,
0x3f
,
0x0f
,
0x0a
,
0x10
,
0xfe
,
0x8f
,
0x07
,
0x8b
,
0xfb
,
0xf2
,
0xe4
,
0xa6
,
0x80
,
0xa3
,
0xa7
,
0xb0
,
0x94
,
0x0c
,
0x8f
,
0xc2
,
0xc0
,
0x7f
,
0xac
,
0x28
,
0xae
,
0x79
,
0x0f
,
0xbc
,
0x47
,
0x0b
,
0x8f
,
0x57
,
0xd6
,
0x05
,
0xc9
,
0xf5
,
0x7d
,
0xb9
,
0xa9
,
0x0e
,
0xbd
,
0xbc
,
0x45
,
0x1c
,
0x74
,
0xd4
,
0x83
,
0x65
,
0xf5
,
0x59
,
0x52
,
0xa8
,
0x09
,
0x0a
,
0xab
,
0x05
,
0x05
,
0xb5
,
0xab
,
0x49
,
0xb8
,
0x07
,
0x04
,
0x13
,
0x05
,
0x48
,
0x50
,
0x5f
,
0xab
,
0xdb
,
0x4c
,
0x14
,
0x24
,
0xc4
,
0xa6
,
0x60
,
0xc2
,
0x42
,
0x47
,
0x4b
,
0x50
,
0xcb
,
0xc7
,
0x6b
,
0x33
,
0x0f
,
0xbc
,
0x47
,
0x0d
,
0x52
,
0xcb
,
0xc7
,
0xbd
,
0x39
,
0x68
,
0x5c
,
0xd0
,
0x70
,
0xc8
,
0xf0
,
0x5f
,
0x3c
,
0x58
,
0xb2
,
0x45
,
0x40
,
0xf7
,
0xa0
,
0x99
,
0xc7
,
0x67
,
0x2c
,
0x8a
,
0xe8
,
0x80
,
0x09
,
0x61
,
0x9b
,
0x44
,
0x03
,
0xd0
,
0x2a
,
0xcc
,
0xd2
,
0x41
,
0x3c
,
0x8c
,
0x72
,
0x21
,
0x45
,
0x9d
,
0xa8
,
0x15
,
0x42
,
0x30
,
0x13
,
0xc5
,
0x39
,
0x5b
,
0x6b
,
0x88
,
0x03
,
0xe2
,
0x1b
,
0x7d
,
0x0f
,
0x66
,
0xe3
,
0x61
,
0x9e
,
0x0c
,
0xf3
,
0xb5
,
0x39
,
0xc1
,
0x6e
,
0xc7
,
0x66
,
0x77
,
0x4f
,
0xec
,
0x11
,
0x85
,
0xc3
,
0xef
,
0xa5
,
0x59
,
0xc6
,
0xf2
,
0xed
,
0x11
,
0xf3
,
0xd7
,
0xe6
,
0xe5
,
0xbd
,
0x25
,
0x00
,
0xff
,
0xd3
,
0x83
,
0x65
,
0x47
,
0x53
,
0x37
,
0xc8
,
0xe9
,
0x77
,
0xa0
,
0x11
,
0x44
,
0x9c
,
0xd1
,
0x59
,
0xc1
,
0xe8
,
0x3b
,
0x36
,
0xa3
,
0x3b
,
0x7c
,
0x8b
,
0x48
,
0x8c
,
0x1b
,
0x15
,
0xea
,
0xdf
,
0x5c
,
0xfb
,
0x96
,
0xed
,
0xbe
,
0xa1
,
0x4c
,
0x75
,
0x43
,
0x26
,
0x6e
,
0xf3
,
0x58
,
0x08
,
0xd4
,
0x24
,
0xb5
,
0x3c
,
0xd6
,
0x32
,
0xce
,
0xbc
,
0x85
,
0x8c
,
0x8d
,
0x6f
,
0x2c
,
0xe3
,
0x36
,
0x2c
,
0x7f
,
0x71
,
0xf8
,
0xd3
,
0xbd
,
0x17
,
0x61
,
0x7c
,
0x44
,
0xc3
,
0x9d
,
0xa8
,
0xcf
,
0x46
,
0x5c
,
0x8a
,
0x7c
,
0x74
,
0x4a
,
0xb3
,
0x53
,
0xc1
,
0x6f
,
0x8b
,
0xa8
,
0x15
,
0xea
,
0xc2
,
0x7c
,
0x3c
,
0xcc
,
0x03
,
0x8e
,
0xa3
,
0x7c
,
0xb5
,
0x5c
,
0xe3
,
0x5f
,
0x7a
,
0x30
,
0xbf
,
0xcb
,
0x24
,
0x9b
,
0x86
,
0x1a
,
0x3c
,
0x4b
,
0x0d
,
0x9f
,
0xc1
,
0xf2
,
0x30
,
0x1f
,
0xc5
,
0xc6
,
0x5d
,
0x6b
,
0xb5
,
0x07
,
0x75
,
0x23
,
0xd6
,
0x1c
,
0x4e
,
0x88
,
0x8b
,
0xce
,
0x59
,
0x38
,
0x63
,
0xe3
,
0x9d
,
0x01
,
0x3d
,
0x61
,
0x8a
,
0xb9
,
0x72
,
0x8d
,
0x7f
,
0x08
,
0x2d
,
0x53
,
0x59
,
0xe8
,
0xbb
,
0x02
,
0x57
,
0xea
,
0xd4
,
0x13
,
0xd7
,
0x2c
,
0xab
,
0x6b
,
0x0a
,
0x46
,
0x49
,
0x89
,
0x80
,
0x77
,
0xa0
,
0x79
,
0xc6
,
0x94
,
0xe6
,
0xa6
,
0xf2
,
0xff
,
0x3e
,
0x2c
,
0xc6
,
0x11
,
0xcb
,
0x83
,
0x01
,
0x4b
,
0x86
,
0x47
,
0x67
,
0x4c
,
0x66
,
0x8a
,
0x16
,
0xb1
,
0x81
,
0xf8
,
0xe7
,
0x65
,
0x8e
,
0xda
,
0x2b
,
0x0d
,
0x40
,
0x92
,
0xe1
,
0xd1
,
0x2e
,
0x1b
,
0xe7
,
0x23
,
0x41
,
0xb1
,
0x45
,
0x34
,
0x00
,
0xad
,
0x8b
,
0x9b
,
0x95
,
0x3d
,
0xa5
,
0x3a
,
0xda
,
0x8a
,
0xcf
,
0x92
,
0x23
,
0xa2
,
0x51
,
0x70
,
0x02
,
0x9d
,
0x17
,
0x69
,
0x3c
,
0x4c
,
0x2a
,
0xac
,
0xf6
,
0xff
,
0x51
,
0x3a
,
0xfe
,
0x83
,
0x07
,
0x8b
,
0x9f
,
0xc7
,
0x3e
,
0x0d
,
0x39
,
0xe6
,
0x4e
,
0xce
,
0x06
,
0xfc
,
0xae
,
0x53
,
0x16
,
0x9c
,
0x9c
,
0x96
,
0x77
,
0xc9
,
0x15
,
0x5a
,
0x83
,
0xb9
,
0x7c
,
0x14
,
0xa8
,
0x3b
,
0xb8
,
0x83
,
0x14
,
0x4b
,
0xcb
,
0x77
,
0xea
,
0xb6
,
0xef
,
0x18
,
0xfe
,
0x36
,
0x63
,
0xf9
,
0xdb
,
0x84
,
0xba
,
0x1b
,
0x55
,
0xea
,
0xfe
,
0x0a
,
0x96
,
0x08
,
0x3b
,
0xe7
,
0xac
,
0xed
,
0x0b
,
0x95
,
0x66
,
0x65
,
0x8c
,
0xbe
,
0x76
,
0x63
,
0x94
,
0x03
,
0xd0
,
0x1e
,
0x74
,
0x4e
,
0x2a
,
0xf4
,
0xa7
,
0x94
,
0x72
,
0x57
,
0x29
,
0xa5
,
0x4a
,
0xc5
,
0xa4
,
0xf2
,
0x20
,
0x7e
,
0x0f
,
0x16
,
0x65
,
0x72
,
0xd8
,
0x65
,
0xe3
,
0x67
,
0x34
,
0xa7
,
0x3c
,
0xda
,
0xfb
,
0x34
,
0xa7
,
0xc2
,
0xe9
,
0x5a
,
0x44
,
0x7c
,
0xe3
,
0x4d
,
0x58
,
0x2e
,
0x49
,
0x4a
,
0x3e
,
0xa7
,
0x1a
,
0x6c
,
0x15
,
0x66
,
0x4b
,
0xf7
,
0xe2
,
0x04
,
0xd4
,
0x0a
,
0x1f
,
0x72
,
0x41
,
0x33
,
0x53
,
0xd0
,
0x1e
,
0xb4
,
0x4f
,
0x6c
,
0xa2
,
0x99
,
0xf2
,
0xf4
,
0x55
,
0x57
,
0x0c
,
0xb9
,
0x4d
,
0x26
,
0xf0
,
0xf1
,
0x53
,
0x58
,
0x26
,
0xec
,
0x5c
,
0x39
,
0xec
,
0x21
,
0xd7
,
0x12
,
0xea
,
0x40
,
0x43
,
0xa8
,
0x4b
,
0xe9
,
0x4e
,
0x2e
,
0xa6
,
0xe5
,
0x36
,
0xfc
,
0x04
,
0x5a
,
0x9b
,
0xe2
,
0xeb
,
0x19
,
0xcb
,
0x69
,
0x10
,
0x4e
,
0x15
,
0xab
,
0x03
,
0x0d
,
0xdf
,
0x38
,
0x2e
,
0x17
,
0xf8
,
0x35
,
0xbc
,
0x43
,
0x58
,
0x12
,
0x8e
,
0x8b
,
0xaa
,
0x2e
,
0x70
,
0x33
,
0xf4
,
0x11
,
0xb4
,
0xa8
,
0x41
,
0x54
,
0x49
,
0x55
,
0xe4
,
0x44
,
0xf3
,
0x3e
,
0x62
,
0x21
,
0x62
,
0x02
,
0x28
,
0xe5
,
0xf4
,
0xb8
,
0x88
,
0xd9
,
0xde
,
0xb1
,
0xc4
,
0x44
,
0x4f
,
0x60
,
0x29
,
0x34
,
0x1d
,
0xb8
,
0x50
,
0x53
,
0x91
,
0x38
,
0x2d
,
0xef
,
0x26
,
0x0e
,
0x2e
,
0xfe
,
0x12
,
0x3a
,
0x84
,
0xf9
,
0x2c
,
0x48
,
0x72
,
0x3b
,
0xae
,
0xab
,
0xf5
,
0xf4
,
0xb6
,
0xf1
,
0xfc
,
0x1b
,
0x0f
,
0x16
,
0x95
,
0xd8
,
0x7b
,
0xc7
,
0xfc
,
0x52
,
0xb4
,
0x09
,
0x4d
,
0x29
,
0xd3
,
0x2b
,
0x9a
,
0x28
,
0x46
,
0xdf
,
0xb3
,
0x24
,
0x57
,
0x88
,
0x6a
,
0xf5
,
0x8a
,
0x26
,
0xdb
,
0x51
,
0x9e
,
0x8e
,
0x89
,
0x3e
,
0xd5
,
0x7d
,
0x02
,
0x4b
,
0xf6
,
0x26
,
0x6a
,
0x43
,
0x9d
,
0xbb
,
0x94
,
0xb4
,
0x09
,
0xff
,
0xe4
,
0xec
,
0x8b
,
0x26
,
0xa3
,
0x30
,
0x88
,
0x58
,
0x7c
,
0x5a
,
0xfb
,
0xd8
,
0xc3
,
0xbf
,
0xf3
,
0xa0
,
0x7d
,
0x58
,
0x04
,
0x4c
,
0xc1
,
0xd5
,
0x33
,
0x15
,
0x55
,
0x99
,
0xe6
,
0xea
,
0xa1
,
0xe2
,
0xca
,
0xc5
,
0x95
,
0x80
,
0x4c
,
0x33
,
0x56
,
0x1e
,
0xe4
,
0x8c
,
0xd9
,
0x9b
,
0x26
,
0x63
,
0xcd
,
0x0a
,
0xc6
,
0x9a
,
0x26
,
0x63
,
0xbb
,
0xb0
,
0xe2
,
0x44
,
0xdf
,
0xc6
,
0x7e
,
0x1a
,
0xc8
,
0x98
,
0x51
,
0x29
,
0x44
,
0xd2
,
0xa9
,
0x2a
,
0x59
,
0x35
,
0xa7
,
0x64
,
0xfd
,
0xda
,
0x83
,
0xa5
,
0xa2
,
0x12
,
0x68
,
0x32
,
0x95
,
0xbe
,
0xfb
,
0x7c
,
0x5a
,
0x0e
,
0xbd
,
0x57
,
0x9d
,
0x43
,
0x25
,
0xb9
,
0xeb
,
0xcb
,
0x57
,
0xd3
,
0x28
,
0x5f
,
0x7b
,
0xb0
,
0x5c
,
0xfa
,
0xc7
,
0x35
,
0xec
,
0x54
,
0xd6
,
0xa1
,
0xa6
,
0x9b
,
0x18
,
0x5f
,
0x00
,
0x32
,
0xeb
,
0xa1
,
0xa2
,
0xf9
,
0xe1
,
0x44
,
0x55
,
0x5c
,
0x71
,
0xaa
,
0xa2
,
0x62
,
0x5e
,
0xd7
,
0xc6
,
0x00
,
0xde
,
0xb1
,
0x1c
,
0x5f
,
0x51
,
0x9a
,
0x28
,
0x6b
,
0x4d
,
0xb3
,
0xac
,
0x6d
,
0x4c
,
0x86
,
0xc1
,
0xaa
,
0x1b
,
0x06
,
0xea
,
0x26
,
0x23
,
0x18
,
0xbe
,
0xf6
,
0xa0
,
0x63
,
0xf7
,
0xbb
,
0xfa
,
0xb2
,
0x1b
,
0xea
,
0x25
,
0x1f
,
0x3b
,
0x0d
,
0x62
,
0xb7
,
0xaa
,
0x79
,
0x52
,
0x9c
,
0x29
,
0x4c
,
0xfc
,
0x77
,
0x0f
,
0x56
,
0x9c
,
0xee
,
0xf6
,
0xc6
,
0xf9
,
0xfa
,
0xbe
,
0xdd
,
0xe3
,
0xde
,
0xa9
,
0xe8
,
0xff
,
0x14
,
0x57
,
0xaa
,
0x0b
,
0xfc
,
0x5f
,
0x04
,
0xf9
,
0x1b
,
0xd7
,
0xaf
,
0xd5
,
0xd1
,
0xde
,
0x88
,
0x1c
,
0xf5
,
0x2a
,
0x39
,
0x66
,
0xde
,
0x5a
,
0x8e
,
0xc6
,
0x1b
,
0xcb
,
0xf1
,
0xab
,
0x5a
,
0xe9
,
0x93
,
0x72
,
0x10
,
0x54
,
0x62
,
0x6c
,
0x4f
,
0x19
,
0x07
,
0xef
,
0x56
,
0x8e
,
0x83
,
0xf2
,
0x50
,
0xc5
,
0x50
,
0xf8
,
0x72
,
0xda
,
0x50
,
0x78
,
0xaf
,
0x7a
,
0x28
,
0x2c
,
0x09
,
0x4d
,
0x8c
,
0x86
,
0xdb
,
0x53
,
0x46
,
0xc3
,
0xbb
,
0x95
,
0xa3
,
0xa1
,
0xc1
,
0xd0
,
0x1b
,
0x0e
,
0x88
,
0x5f
,
0x02
,
0x32
,
0xeb
,
0xe7
,
0xfe
,
0xd9
,
0x3e
,
0x0d
,
0x52
,
0xf4
,
0x10
,
0x96
,
0xb2
,
0xd3
,
0xf8
,
0xf2
,
0x60
,
0xe8
,
0xfb
,
0x2c
,
0xcb
,
0x8e
,
0x87
,
0xa1
,
0x50
,
0xc3
,
0x3c
,
0x71
,
0xa0
,
0xe8
,
0x3e
,
0x80
,
0x4c
,
0x16
,
0x09
,
0x0d
,
0x52
,
0x41
,
0xbe
,
0x49
,
0x0c
,
0x08
,
0xfe
,
0x8c
,
0x57
,
0x3e
,
0xd1
,
0x1c
,
0xf4
,
0x68
,
0xb8
,
0xb1
,
0xd9
,
0xef
,
0xa7
,
0xb2
,
0x43
,
0x40
,
0x30
,
0x43
,
0xfb
,
0xfd
,
0x54
,
0x39
,
0x8a
,
0xf8
,
0xd6
,
0xd5
,
0xb0
,
0x66
,
0x54
,
0x43
,
0xfc
,
0x63
,
0xbb
,
0xbe
,
0xf7
,
0x68
,
0x48
,
0x23
,
0x9f
,
0xa1
,
0x07
,
0xb0
,
0xa0
,
0x92
,
0x95
,
0x41
,
0xc7
,
0x04
,
0xf1
,
0x56
,
0xf2
,
0x48
,
0x22
,
0x2b
,
0x9f
,
0x2b
,
0x96
,
0xf8
,
0xaf
,
0xb5
,
0x72
,
0x2a
,
0x7b
,
0xd6
,
0x3b
,
0xc8
,
0xe3
,
0x94
,
0x39
,
0xe9
,
0x5f
,
0x77
,
0x90
,
0x96
,
0x57
,
0xd7
,
0xa6
,
0x7b
,
0x75
,
0xdd
,
0xf2
,
0x6a
,
0x59
,
0x34
,
0x76
,
0x9c
,
0x39
,
0x47
,
0x66
,
0x70
,
0x0c
,
0xad
,
0x7c
,
0x54
,
0xb6
,
0x7b
,
0x44
,
0xb5
,
0xa4
,
0x16
,
0x0c
,
0x7d
,
0x00
,
0x6d
,
0x25
,
0x49
,
0x09
,
0x14
,
0x41
,
0xdd
,
0x22
,
0x13
,
0x70
,
0xae
,
0xb5
,
0xf8
,
0x32
,
0x62
,
0xa9
,
0x88
,
0xe1
,
0x26
,
0x91
,
0x0b
,
0xa3
,
0xbf
,
0x9e
,
0x9f
,
0xd6
,
0x5f
,
0x37
,
0xed
,
0xfe
,
0xfa
,
0x1e
,
0x34
,
0x8f
,
0xc2
,
0xd8
,
0x3f
,
0x13
,
0x4a
,
0x00
,
0x39
,
0x63
,
0x94
,
0x00
,
0xfc
,
0x1a
,
0x66
,
0x44
,
0x0d
,
0x9f
,
0x56
,
0x50
,
0xd6
,
0xa1
,
0xc9
,
0x4b
,
0x55
,
0x8f
,
0x66
,
0x81
,
0xaf
,
0x3c
,
0xbd
,
0x6d
,
0x54
,
0x36
,
0x01
,
0x27
,
0x1a
,
0x05
,
0x27
,
0xb0
,
0xc4
,
0xe1
,
0x2f
,
0xe9
,
0x05
,
0x3b
,
0x1c
,
0xbd
,
0xe4
,
0x9a
,
0xbe
,
0xa2
,
0x99
,
0xcd
,
0x05
,
0x86
,
0x52
,
0xbf
,
0x5a
,
0xd9
,
0x37
,
0xd6
,
0xaf
,
0xbf
,
0xf1
,
0x03
,
0x68
,
0x88
,
0x96
,
0x0e
,
0x7d
,
0x0b
,
0x1a
,
0x1c
,
0x5a
,
0x74
,
0x70
,
0x0b
,
0xc6
,
0x21
,
0x22
,
0x77
,
0x30
,
0x91
,
0x23
,
0xad
,
0xe6
,
0x2e
,
0x43
,
0x4f
,
0x65
,
0x01
,
0x37
,
0x40
,
0x4e
,
0xf1
,
0xb3
,
0x0f
,
0x10
,
0x17
,
0x1b
,
0x1f
,
0xf3
,
0x38
,
0x3b
,
0x77
,
0x67
,
0xae
,
0xab
,
0xb3
,
0x66
,
0x17
,
0xe6
,
0x07
,
0xc1
,
0x68
,
0xab
,
0xcc
,
0x9b
,
0x0d
,
0x52
,
0xae
,
0x2d
,
0xdf
,
0xab
,
0x1b
,
0xdd
,
0x74
,
0x06
,
0xcd
,
0x52
,
0xfe
,
0xaa
,
0xd1
,
0xcd
,
0xb3
,
0xde
,
0xa6
,
0xae
,
0x9d
,
0x97
,
0x75
,
0xa7
,
0xb0
,
0x5f
,
0x35
,
0xb1
,
0x4a
,
0x20
,
0x26
,
0xd0
,
0x16
,
0xdd
,
0xae
,
0x68
,
0x5d
,
0x36
,
0x07
,
0x0e
,
0x83
,
0xb6
,
0x41
,
0x1f
,
0x16
,
0xfa
,
0xb7
,
0x5b
,
0x5b
,
0x6d
,
0x34
,
0x65
,
0x84
,
0xdf
,
0x7a
,
0x5c
,
0x63
,
0xd9
,
0xcd
,
0x69
,
0x6c
,
0x0b
,
0xda
,
0x9c
,
0xb2
,
0xc9
,
0xa4
,
0xd0
,
0xdd
,
0xc2
,
0xe3
,
0x77
,
0x0d
,
0x1e
,
0xcc
,
0x6d
,
0x32
,
0x71
,
0x00
,
0xff
,
0xd1
,
0x83
,
0xdb
,
0xcf
,
0xb9
,
0x1f
,
0x1d
,
0xf0
,
0x9f
,
0x9d
,
0x68
,
0x2f
,
0x62
,
0x87
,
0xa3
,
0xeb
,
0x8b
,
0x5f
,
0xc6
,
0xa2
,
0x3e
,
0x4b
,
0x0b
,
0x17
,
0x96
,
0x2b
,
0x0e
,
0x67
,
0xa3
,
0x24
,
0x48
,
0x59
,
0x91
,
0x3e
,
0xe4
,
0xca
,
0x19
,
0x67
,
0x75
,
0x2f
,
0x5a
,
0x7a
,
0x6e
,
0x63
,
0xaa
,
0xe7
,
0xfe
,
0x0c
,
0x5a
,
0x84
,
0xd1
,
0xb0
,
0x7c
,
0x48
,
0xc1
,
0xd0
,
0x4a
,
0x19
,
0x0d
,
0x45
,
0x9d
,
0x2c
,
0x9a
,
0xe4
,
0x06
,
0xb1
,
0x60
,
0x3c
,
0xd7
,
0x17
,
0x7d
,
0x5f
,
0x1a
,
0x5c
,
0x68
,
0x1b
,
0x3b
,
0x50
,
0xbc
,
0x01
,
0x50
,
0x1a
,
0x29
,
0xd3
,
0x66
,
0xf4
,
0xae
,
0x36
,
0xe3
,
0x3f
,
0x6a
,
0xb0
,
0xba
,
0x95
,
0x32
,
0x9a
,
0xb3
,
0x43
,
0xfd
,
0x1a
,
0xbb
,
0x45
,
0xfd
,
0x53
,
0x66
,
0x36
,
0xee
,
0x2d
,
0xd9
,
0xb8
,
0xdf
,
0x07
,
0xf0
,
0x05
,
0x2e
,
0xbf
,
0x57
,
0xa5
,
0x6d
,
0x03
,
0xc2
,
0xcd
,
0x9b
,
0x05
,
0x27
,
0x91
,
0xd8
,
0x95
,
0x3a
,
0x2b
,
0xd7
,
0x42
,
0xcb
,
0x39
,
0xcd
,
0x87
,
0x99
,
0x4a
,
0xb9
,
0x6a
,
0x85
,
0x36
,
0x60
,
0xc1
,
0x78
,
0x07
,
0x56
,
0x2d
,
0x02
,
0x2a
,
0x06
,
0x0f
,
0xbd
,
0x43
,
0x4c
,
0x34
,
0xc3
,
0x66
,
0xb3
,
0x96
,
0xcd
,
0x3e
,
0x92
,
0x0a
,
0x2d
,
0x3b
,
0xe0
,
0x39
,
0x6b
,
0xae
,
0x34
,
0x75
,
0x4f
,
0x2c
,
0x44
,
0xf4
,
0xed
,
0x42
,
0x5f
,
0xf3
,
0xe2
,
0xc4
,
0x6d
,
0x57
,
0x5f
,
0x99
,
0x52
,
0x98
,
0xed
,
0x4b
,
0x4d
,
0xc7
,
0x97
,
0x70
,
0x4f
,
0x3c
,
0x56
,
0x08
,
0xfd
,
0x1d
,
0x8e
,
0x3e
,
0x0f
,
0xb2
,
0xbc
,
0xb2
,
0x94
,
0x5e
,
0x59
,
0xb6
,
0xf0
,
0xc7
,
0xd0
,
0x16
,
0x25
,
0xd5
,
0xa4
,
0xf2
,
0x3e
,
0xd4
,
0xf3
,
0x51
,
0x61
,
0xcc
,
0x2a
,
0xed
,
0xf0
,
0x6d
,
0xbc
,
0x0d
,
0xb7
,
0xf5
,
0xac
,
0xbf
,
0xe9
,
0x8b
,
0x09
,
0xfc
,
0x1a
,
0xe7
,
0x2f
,
0xd8
,
0xab
,
0x69
,
0xf6
,
0xf0
,
0x2f
,
0x44
,
0x2e
,
0xdc
,
0x77
,
0xe8
,
0xbc
,
0x71
,
0x4f
,
0xc0
,
0x8b
,
0x7f
,
0x3f
,
0xc8
,
0x92
,
0x90
,
0x8e
,
0x07
,
0x71
,
0x9f
,
0xa9
,
0xe7
,
0x20
,
0x13
,
0x84
,
0xbf
,
0x72
,
0x5e
,
0x05
,
0xd4
,
0x15
,
0x58
,
0x3b
,
0x2d
,
0xf7
,
0x82
,
0x96
,
0x61
,
0x84
,
0x52
,
0xff
,
0x18
,
0x1a
,
0xc7
,
0x2a
,
0x3f
,
0x55
,
0xe0
,
0x88
,
0xad
,
0x37
,
0x60
,
0xe0
,
0x15
,
0x67
,
0xe0
,
0x5c
,
0x3a
,
0xbe
,
0xd2
,
0x33
,
0xaf
,
0xd6
,
0x57
,
0xeb
,
0x6a
,
0x0d
,
0xe6
,
0x78
,
0xa0
,
0xeb
,
0x10
,
0x2c
,
0x96
,
0xf8
,
0x5f
,
0x1e
,
0xdc
,
0x31
,
0x5e
,
0x59
,
0xb4
,
0x5d
,
0x84
,
0xf1
,
0xae
,
0xa6
,
0x8a
,
0xa1
,
0xc5
,
0x9d
,
0x97
,
0x30
,
0xff
,
0xe2
,
0x79
,
0x48
,
0x4f
,
0x54
,
0x5e
,
0xb4
,
0x60
,
0x9c
,
0x42
,
0x3f
,
0x48
,
0x99
,
0x0c
,
0x11
,
0x29
,
0x8e
,
0x06
,
0xe8
,
0x97
,
0x17
,
0x19
,
0x59
,
0x8d
,
0xd2
,
0x5e
,
0xc7
,
0x69
,
0x3c
,
0x28
,
0x66
,
0x10
,
0xfe
,
0xcd
,
0x25
,
0xe0
,
0x76
,
0x63
,
0x59
,
0xa6
,
0xe2
,
0xa6
,
0x58
,
0xf2
,
0xd0
,
0xce
,
0x18
,
0xeb
,
0xab
,
0xc4
,
0x36
,
0x27
,
0xc4
,
0x33
,
0x20
,
0xf8
,
0x53
,
0xe1
,
0xd8
,
0x84
,
0x65
,
0x3e
,
0x8d
,
0xbe
,
0x10
,
0x4a
,
0xee
,
0x40
,
0x83
,
0x1f
,
0x96
,
0x4e
,
0xd9
,
0x24
,
0x72
,
0x21
,
0x6e
,
0xd5
,
0x52
,
0x88
,
0x6f
,
0xfc
,
0x09
,
0x2c
,
0x13
,
0x96
,
0xc8
,
0xb3
,
0x84
,
0x65
,
0xc3
,
0xb0
,
0xda
,
0x99
,
0xaa
,
0x8e
,
0x9e
,
0xf2
,
0x6b
,
0x13
,
0xf3
,
0xda
,
0x02
,
0xcb
,
0xd3
,
0x58
,
0xa8
,
0x07
,
0xed
,
0xd4
,
0xbe
,
0x20
,
0x73
,
0x46
,
0x52
,
0xe7
,
0x7e
,
0x32
,
0x81
,
0x8f
,
0x1f
,
0xf1
,
0xa8
,
0x3b
,
0xdf
,
0x8e
,
0xe8
,
0x51
,
0xc8
,
0x8a
,
0x3f
,
0x38
,
0x4a
,
0x11
,
0x6b
,
0x86
,
0x88
,
0x78
,
0x47
,
0xbc
,
0xff
,
0xf2
,
0x66
,
0xf9
,
0x6a
,
0x61
,
0x76
,
0xb2
,
0xbd
,
0x5d
,
0x21
,
0xcc
,
0x3c
,
0x11
,
0xdf
,
0x3c
,
0xa1
,
0x0e
,
0xb2
,
0x13
,
0x35
,
0x4c
,
0xf1
,
0x4f
,
0xdc
,
0x13
,
0xa1
,
0x6e
,
0x5f
,
0xba
,
0x0e
,
0x73
,
0xa9
,
0x92
,
0xc1
,
0x7e
,
0xc4
,
0xb2
,
0x2e
,
0x25
,
0x05
,
0x12
,
0xfe
,
0xb3
,
0x9e
,
0x5d
,
0x0f
,
0x82
,
0x93
,
0x88
,
0xe6
,
0xc3
,
0x94
,
0xed
,
0xd3
,
0x94
,
0x0e
,
0xb8
,
0x4d
,
0xa5
,
0x17
,
0x1e
,
0x8e
,
0x13
,
0xa6
,
0x14
,
0x66
,
0x40
,
0xd0
,
0x87
,
0x00
,
0x3c
,
0xa6
,
0x8e
,
0x44
,
0x7e
,
0x53
,
0x0a
,
0xab
,
0x48
,
0x7c
,
0x06
,
0x12
,
0xfa
,
0x04
,
0x16
,
0x53
,
0x23
,
0x89
,
0x66
,
0xaa
,
0x42
,
0x57
,
0x26
,
0x58
,
0x1b
,
0x13
,
0xff
,
0xc9
,
0x83
,
0xce
,
0x4f
,
0x68
,
0x18
,
0xb2
,
0x5c
,
0x85
,
0x7b
,
0x21
,
0xf0
,
0x7d
,
0x80
,
0x8b
,
0x80
,
0x5d
,
0xaa
,
0x06
,
0x46
,
0x96
,
0x1b
,
0x03
,
0xc2
,
0xa3
,
0x59
,
0xac
,
0xd2
,
0xe0
,
0x62
,
0xb7
,
0x0c
,
0x3d
,
0x13
,
0xc4
,
0x31
,
0xb2
,
0x84
,
0x45
,
0x7d
,
0x45
,
0x42
,
0xfe
,
0x71
,
0x60
,
0x82
,
0x44
,
0x90
,
0x89
,
0xa5
,
0x22
,
0x22
,
0x1f
,
0xa2
,
0x2d
,
0x18
,
0xfe
,
0xba
,
0x26
,
0xf2
,
0x9e
,
0x4c
,
0x0a
,
0x45
,
0x28
,
0x5f
,
0xd7
,
0x3c
,
0xd8
,
0x3a
,
0xae
,
0x4d
,
0xe8
,
0x78
,
0xda
,
0x0c
,
0x52
,
0x4c
,
0xd6
,
0x33
,
0xc6
,
0x64
,
0x5d
,
0x15
,
0xb1
,
0xee
,
0xbf
,
0x48
,
0xf6
,
0x44
,
0x07
,
0xee
,
0x44
,
0xa7
,
0x3a
,
0x2c
,
0x99
,
0x0e
,
0x16
,
0xca
,
0x0e
,
0xcb
,
0x2f
,
0x5a
,
0x3e
,
0xd5
,
0xd0
,
0xb4
,
0xac
,
0x86
,
0xc6
,
0xfa
,
0x03
,
0x69
,
0xd1
,
0xf9
,
0x03
,
0xe9
,
0xf1
,
0xef
,
0x6b
,
0x30
,
0x67
,
0xfc
,
0x11
,
0x7a
,
0x70
,
0x1a
,
0x5f
,
0x2a
,
0xe5
,
0x70
,
0xd5
,
0xb7
,
0x4b
,
0xcb
,
0x9f
,
0x1f
,
0xe4
,
0x69
,
0x10
,
0x9d
,
0x74
,
0xef
,
0xe8
,
0x90
,
0x73
,
0xc6
,
0x56
,
0x7c
,
0x0b
,
0xfd
,
0x08
,
0x16
,
0xcc
,
0x60
,
0x5e
,
0xd1
,
0xa7
,
0x0d
,
0x70
,
0x77
,
0xc5
,
0x8d
,
0x5a
,
0x01
,
0xc6
,
0xb7
,
0xd0
,
0x16
,
0x2c
,
0xda
,
0xc1
,
0xf2
,
0xae
,
0x26
,
0x60
,
0x6d
,
0x74
,
0xf5
,
0x86
,
0x1d
,
0x5e
,
0xf8
,
0x16
,
0x7a
,
0x01
,
0x1d
,
0x69
,
0x63
,
0x42
,
0x2f
,
0x8d
,
0x54
,
0x8d
,
0x34
,
0xe3
,
0xae
,
0x0f
,
0x74
,
0x2b
,
0x2a
,
0x2e
,
0xbe
,
0x75
,
0x34
,
0x2b
,
0xfe
,
0xb4
,
0xfe
,
0xc1
,
0x7f
,
0x03
,
0x00
,
0x00
,
0xff
,
0xff
,
0xc3
,
0x82
,
0x9d
,
0xff
,
0xed
,
0x1e
,
0x00
,
0x00
,
func
init
()
{
proto
.
RegisterFile
(
"privacy.proto"
,
fileDescriptor_privacy_84669f04cb5de16e
)
}
var
fileDescriptor_privacy_84669f04cb5de16e
=
[]
byte
{
// 2318 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xb4
,
0x39
,
0x4d
,
0x6f
,
0x1c
,
0x49
,
0xd9
,
0xee
,
0x19
,
0x8f
,
0xed
,
0x7e
,
0x3c
,
0xb6
,
0x27
,
0x15
,
0xdb
,
0xeb
,
0x4c
,
0xa2
,
0xc8
,
0x6f
,
0xed
,
0x2a
,
0x6f
,
0x58
,
0x90
,
0xd1
,
0x06
,
0x4b
,
0xfb
,
0x41
,
0xd0
,
0xae
,
0xc7
,
0x71
,
0x12
,
0xcb
,
0x9b
,
0xd8
,
0x94
,
0xbd
,
0xe2
,
0x43
,
0x20
,
0x51
,
0xd3
,
0x53
,
0x1e
,
0xb7
,
0xdc
,
0xd3
,
0xdd
,
0xee
,
0xee
,
0xb1
,
0x67
,
0x4e
,
0xcb
,
0x69
,
0xc5
,
0x81
,
0x03
,
0x87
,
0x15
,
0x1c
,
0x40
,
0xdc
,
0xe0
,
0xcc
,
0x9f
,
0x80
,
0x13
,
0x27
,
0xfe
,
0x00
,
0xe2
,
0x0f
,
0xf0
,
0x1b
,
0x50
,
0x7d
,
0x74
,
0x77
,
0x55
,
0x4d
,
0x8f
,
0x9d
,
0x25
,
0xe6
,
0x32
,
0xea
,
0x7a
,
0xea
,
0xa9
,
0xa7
,
0x9e
,
0xef
,
0x8f
,
0x1a
,
0x58
,
0x8a
,
0x13
,
0xff
,
0x92
,
0x7a
,
0xe3
,
0xad
,
0x38
,
0x89
,
0xb2
,
0x08
,
0x35
,
0xb2
,
0x71
,
0xcc
,
0xd2
,
0x76
,
0xd3
,
0x8b
,
0x06
,
0x83
,
0x28
,
0x94
,
0xc0
,
0xf6
,
0x9d
,
0x2c
,
0xa1
,
0x61
,
0x4a
,
0xbd
,
0xcc
,
0xcf
,
0x41
,
0xf8
,
0xdf
,
0x0e
,
0x2c
,
0x1d
,
0xc9
,
0x93
,
0x3b
,
0x02
,
0x8e
,
0x3e
,
0x85
,
0xe5
,
0x78
,
0xd8
,
0x0d
,
0x7c
,
0xef
,
0x89
,
0xa2
,
0xb8
,
0xe1
,
0x6c
,
0x3a
,
0x8f
,
0x17
,
0x9f
,
0xac
,
0x6d
,
0x09
,
0x92
,
0x5b
,
0x47
,
0x72
,
0x53
,
0x1d
,
0x7a
,
0x39
,
0x43
,
0x2c
,
0x74
,
0xd4
,
0x81
,
0x15
,
0xf5
,
0x59
,
0x50
,
0xa8
,
0x09
,
0x0a
,
0xeb
,
0x39
,
0x05
,
0xb5
,
0x5b
,
0x92
,
0xb0
,
0x0f
,
0x08
,
0x26
,
0x72
,
0x90
,
0xa0
,
0xbe
,
0x51
,
0x37
,
0x99
,
0xc8
,
0x49
,
0x88
,
0x4d
,
0xc1
,
0x84
,
0x81
,
0x8e
,
0x96
,
0xa1
,
0x96
,
0x8d
,
0x37
,
0x66
,
0x37
,
0x9d
,
0xc7
,
0x0d
,
0x52
,
0xcb
,
0xc6
,
0x9d
,
0x79
,
0x68
,
0x5c
,
0xd2
,
0x60
,
0xc8
,
0xf0
,
0x9f
,
0x1d
,
0x58
,
0x36
,
0x45
,
0x40
,
0x0f
,
0xc0
,
0xcd
,
0xa2
,
0x73
,
0x16
,
0x86
,
0x74
,
0xc0
,
0x84
,
0xb0
,
0x2e
,
0x29
,
0x01
,
0x68
,
0x1d
,
0xe6
,
0xe8
,
0x20
,
0x1a
,
0x86
,
0x99
,
0x90
,
0xa2
,
0x4e
,
0xd4
,
0x0a
,
0x21
,
0x98
,
0x0d
,
0xa3
,
0x8c
,
0x6d
,
0x34
,
0xc4
,
0x01
,
0xf1
,
0x8d
,
0xbe
,
0x03
,
0x73
,
0xd1
,
0x30
,
0x8b
,
0x87
,
0xd9
,
0xc6
,
0xbc
,
0x60
,
0x77
,
0xd5
,
0x64
,
0xf7
,
0x50
,
0xec
,
0x11
,
0x85
,
0xc3
,
0xef
,
0xa5
,
0x69
,
0xca
,
0xb2
,
0xbd
,
0x11
,
0xf3
,
0x36
,
0x16
,
0xe4
,
0xbd
,
0x05
,
0x00
,
0xff
,
0xc3
,
0x81
,
0x15
,
0x4b
,
0x53
,
0xb7
,
0xc8
,
0xe9
,
0xb7
,
0xa0
,
0xe1
,
0x87
,
0x9c
,
0xd1
,
0x39
,
0xc1
,
0xe8
,
0x5d
,
0x93
,
0xd1
,
0x7d
,
0xbe
,
0x45
,
0x24
,
0xc6
,
0xad
,
0x0a
,
0xf5
,
0x2f
,
0xae
,
0x7d
,
0xc3
,
0x76
,
0x6f
,
0x29
,
0x53
,
0x5d
,
0x93
,
0x89
,
0xdb
,
0x3c
,
0x12
,
0x02
,
0xb9
,
0xa4
,
0x96
,
0x45
,
0xa5
,
0x8c
,
0xb3
,
0xdf
,
0x40
,
0xc6
,
0xc6
,
0x5b
,
0xcb
,
0xb8
,
0x07
,
0x2b
,
0x5f
,
0x9c
,
0xfc
,
0xf8
,
0xf0
,
0x45
,
0x10
,
0x75
,
0x69
,
0xb0
,
0x1f
,
0xf6
,
0xd8
,
0x88
,
0x4b
,
0x91
,
0x8d
,
0xce
,
0x68
,
0x7a
,
0x26
,
0xf8
,
0x6d
,
0x12
,
0xb5
,
0x42
,
0x6d
,
0x58
,
0x88
,
0x86
,
0x99
,
0xcf
,
0x71
,
0x94
,
0xaf
,
0x16
,
0x6b
,
0xfc
,
0x4b
,
0x07
,
0x16
,
0x0e
,
0x98
,
0x64
,
0x53
,
0x53
,
0x83
,
0x63
,
0xa8
,
0xe1
,
0x33
,
0x58
,
0x19
,
0x66
,
0xa3
,
0x48
,
0xbb
,
0x6b
,
0xa3
,
0xb6
,
0x59
,
0xd7
,
0x62
,
0xcd
,
0xe2
,
0x84
,
0xd8
,
0xe8
,
0x9c
,
0x85
,
0x73
,
0x36
,
0xde
,
0x1f
,
0xd0
,
0x3e
,
0x53
,
0xcc
,
0x15
,
0x6b
,
0xfc
,
0x7d
,
0x68
,
0xea
,
0xca
,
0x42
,
0xdf
,
0x16
,
0xb8
,
0x52
,
0xa7
,
0x8e
,
0xb8
,
0x66
,
0x45
,
0x5d
,
0x93
,
0x33
,
0x4a
,
0x0a
,
0x04
,
0xbc
,
0x0f
,
0xee
,
0x39
,
0x53
,
0x9a
,
0x9b
,
0xca
,
0xff
,
0x7b
,
0xb0
,
0x14
,
0x85
,
0x2c
,
0xf3
,
0x07
,
0x2c
,
0x1e
,
0x76
,
0xcf
,
0x99
,
0xcc
,
0x14
,
0x4d
,
0x62
,
0x02
,
0xf1
,
0xcf
,
0x8b
,
0x1c
,
0x75
,
0x58
,
0x18
,
0x80
,
0xc4
,
0xc3
,
0xee
,
0x01
,
0x1b
,
0x67
,
0x23
,
0x41
,
0xb1
,
0x49
,
0x4a
,
0x00
,
0xda
,
0x12
,
0x37
,
0x2b
,
0x7b
,
0x4a
,
0x75
,
0xb4
,
0x14
,
0x9f
,
0x05
,
0x47
,
0xa4
,
0x44
,
0xc1
,
0x31
,
0xac
,
0xbe
,
0x48
,
0xa2
,
0x61
,
0x5c
,
0x61
,
0xb5
,
0xff
,
0x8d
,
0xd2
,
0xf1
,
0xef
,
0x1d
,
0x58
,
0xfa
,
0x3c
,
0xf2
,
0x68
,
0xc0
,
0x31
,
0xf7
,
0x33
,
0x36
,
0xe0
,
0x77
,
0x9d
,
0x31
,
0xbf
,
0x7f
,
0x56
,
0xdc
,
0x25
,
0x57
,
0x68
,
0x03
,
0xe6
,
0xb3
,
0x91
,
0xaf
,
0xee
,
0xe0
,
0x0e
,
0x92
,
0x2f
,
0x0d
,
0xdf
,
0xa9
,
0x9b
,
0xbe
,
0xa3
,
0xf9
,
0xdb
,
0xac
,
0xe1
,
0x6f
,
0x13
,
0xea
,
0x6e
,
0x54
,
0xa9
,
0xfb
,
0x4b
,
0x58
,
0x26
,
0xec
,
0x82
,
0xb3
,
0x76
,
0x24
,
0x54
,
0x9a
,
0x16
,
0x31
,
0xfa
,
0xda
,
0x8e
,
0x51
,
0x0e
,
0x40
,
0x87
,
0xb0
,
0xda
,
0xaf
,
0xd0
,
0x9f
,
0x52
,
0xca
,
0x7d
,
0xa5
,
0x94
,
0x2a
,
0x15
,
0x93
,
0xca
,
0x83
,
0xf8
,
0x5d
,
0x58
,
0x92
,
0xc9
,
0xe1
,
0x80
,
0x8d
,
0x9f
,
0xd1
,
0x8c
,
0xf2
,
0x68
,
0xef
,
0xd1
,
0x8c
,
0x0a
,
0xa7
,
0x6b
,
0x12
,
0xf1
,
0x8d
,
0x77
,
0x60
,
0xa5
,
0x20
,
0x29
,
0xf9
,
0x9c
,
0x6a
,
0xb0
,
0x75
,
0x98
,
0x2b
,
0xdc
,
0x8b
,
0x13
,
0x50
,
0x2b
,
0x7c
,
0xc2
,
0x05
,
0x4d
,
0x75
,
0x41
,
0x3b
,
0xd0
,
0xea
,
0x9b
,
0x44
,
0x53
,
0xe5
,
0xe9
,
0xeb
,
0xb6
,
0x18
,
0x72
,
0x9b
,
0x4c
,
0xe0
,
0x63
,
0x1f
,
0x56
,
0x08
,
0xbb
,
0x50
,
0x0e
,
0x7b
,
0xc2
,
0xb5
,
0x64
,
0x26
,
0x0c
,
0xc7
,
0x4a
,
0x18
,
0x68
,
0x13
,
0x16
,
0xc5
,
0xe2
,
0x78
,
0x3c
,
0xe8
,
0x46
,
0x81
,
0xb0
,
0xb3
,
0x4b
,
0x74
,
0x90
,
0x26
,
0x58
,
0x5d
,
0x17
,
0x0c
,
0x3f
,
0x85
,
0xe6
,
0x8e
,
0xf8
,
0x7a
,
0xc6
,
0x32
,
0xea
,
0x07
,
0x53
,
0x15
,
0xb0
,
0x0a
,
0x0d
,
0x4f
,
0x4b
,
0xa2
,
0x72
,
0x81
,
0x5f
,
0xc3
,
0x5d
,
0xc2
,
0xe2
,
0x60
,
0x9c
,
0xd7
,
0x7f
,
0x81
,
0x9b
,
0xa2
,
0x0f
,
0xa1
,
0x49
,
0x35
,
0xa2
,
0x4a
,
0xfe
,
0x3c
,
0x7b
,
0xea
,
0xf7
,
0x11
,
0x03
,
0x11
,
0x13
,
0x40
,
0x09
,
0xa7
,
0xc7
,
0x95
,
0x91
,
0x1e
,
0x9e
,
0x4a
,
0x4c
,
0xf4
,
0x14
,
0x96
,
0x03
,
0xdd
,
0xd5
,
0x73
,
0x85
,
0xe6
,
0x29
,
0xd6
,
0x88
,
0x03
,
0x62
,
0xe1
,
0xe2
,
0xaf
,
0x1c
,
0x58
,
0x25
,
0xcc
,
0x63
,
0x7e
,
0x9c
,
0x4d
,
0xa4
,
0x80
,
0xb7
,
0x52
,
0xa9
,
0x91
,
0x24
,
0xea
,
0x37
,
0x27
,
0x89
,
0xdf
,
0x38
,
0xb0
,
0xa4
,
0x34
,
0x74
,
0x78
,
0xca
,
0xf9
,
0x43
,
0x3b
,
0xe0
,
0x4a
,
0xf1
,
0x5f
,
0xd1
,
0x58
,
0xc9
,
0xf4
,
0xae
,
0xa1
,
0x24
,
0x85
,
0xa8
,
0x56
,
0xaf
,
0x68
,
0xbc
,
0x17
,
0x66
,
0xc9
,
0x98
,
0x94
,
0xa7
,
0xda
,
0x4f
,
0x61
,
0xd9
,
0xdc
,
0x44
,
0x2d
,
0xa8
,
0x73
,
0x3f
,
0x95
,
0xe6
,
0xe3
,
0x9f
,
0xdc
,
0x76
,
0xa2
,
0x73
,
0xc9
,
0x6d
,
0x27
,
0x16
,
0x9f
,
0xd4
,
0x3e
,
0x72
,
0xf0
,
0x6f
,
0x1d
,
0x68
,
0x9d
,
0xe4
,
0x51
,
0x98
,
0x73
,
0xf5
,
0x4c
,
0x85
,
0x6a
,
0x5a
,
0x72
,
0xf5
,
0x48
,
0x71
,
0x65
,
0xe3
,
0x4a
,
0x40
,
0x5a
,
0x32
,
0x56
,
0x1c
,
0xe4
,
0x8c
,
0x99
,
0x9b
,
0x3a
,
0x63
,
0x6e
,
0x05
,
0x63
,
0xae
,
0xce
,
0xd8
,
0x01
,
0xac
,
0x59
,
0x21
,
0xbd
,
0x7d
,
0x94
,
0xf8
,
0x32
,
0x10
,
0x55
,
0x5e
,
0x92
,
0x74
,
0xaa
,
0xea
,
0x60
,
0xcd
,
0xaa
,
0x83
,
0xbf
,
0x76
,
0x60
,
0x39
,
0x2f
,
0x2f
,
0x25
,
0x99
,
0x4a
,
0x37
,
0x7f
,
0x3e
,
0x2d
,
0x31
,
0x3f
,
0xa8
,
0x4e
,
0xcc
,
0x92
,
0xdc
,
0xcd
,
0x35
,
0xd1
,
0xd5
,
0x6a
,
0xe2
,
0x21
,
0xac
,
0x14
,
0xfe
,
0x71
,
0x03
,
0x3b
,
0x95
,
0xc5
,
0xcd
,
0xb5
,
0xb3
,
0xed
,
0x0b
,
0x40
,
0x7a
,
0x91
,
0x55
,
0x34
,
0x3f
,
0x98
,
0x28
,
0xb5
,
0x6b
,
0x56
,
0xa9
,
0x55
,
0xcc
,
0x97
,
0x05
,
0xd7
,
0x87
,
0xbb
,
0x46
,
0x88
,
0x28
,
0x4a
,
0x13
,
0xb5
,
0xd2
,
0xd5
,
0x6b
,
0xe5
,
0xf6
,
0x64
,
0xad
,
0x5c
,
0xb7
,
0xc3
,
0x40
,
0xdd
,
0xa4
,
0x05
,
0xc3
,
0xd7
,
0x0e
,
0xac
,
0x9a
,
0x4d
,
0x74
,
0x79
,
0xd9
,
0x2d
,
0x35
,
0xa8
,
0x4f
,
0xac
,
0xae
,
0xb3
,
0x5d
,
0xd5
,
0x91
,
0x29
,
0xce
,
0x14
,
0x26
,
0xfe
,
0x9b
,
0x03
,
0x6b
,
0x56
,
0xcb
,
0x7c
,
0xeb
,
0x7c
,
0x7d
,
0xd7
,
0x6c
,
0x9c
,
0xef
,
0x55
,
0x34
,
0x95
,
0x8a
,
0x2b
,
0xd5
,
0x5a
,
0xfe
,
0x37
,
0x82
,
0xfc
,
0x95
,
0xeb
,
0xd7
,
0x68
,
0x93
,
0x6f
,
0x45
,
0x8e
,
0x7a
,
0x95
,
0x1c
,
0xb3
,
0xdf
,
0x58
,
0x8e
,
0xc6
,
0x1b
,
0xcb
,
0xf1
,
0x55
,
0xad
,
0xf0
,
0x49
,
0x39
,
0x5d
,
0x2a
,
0x31
,
0xf6
,
0xa6
,
0xcc
,
0x98
,
0xf7
,
0x2b
,
0x67
,
0x4c
,
0x79
,
0xa8
,
0x62
,
0xd2
,
0x7c
,
0x39
,
0x6d
,
0xd2
,
0x7c
,
0x50
,
0x3d
,
0x69
,
0x16
,
0x84
,
0x26
,
0xe6
,
0xcd
,
0xbd
,
0x29
,
0xf3
,
0xe6
,
0xfd
,
0xca
,
0x79
,
0x53
,
0x63
,
0xe8
,
0x0d
,
0xa7
,
0xce
,
0x9f
,
0x01
,
0xd2
,
0x4b
,
0xed
,
0xd1
,
0xf9
,
0x11
,
0xf5
,
0x13
,
0xf4
,
0x08
,
0x96
,
0xd3
,
0xb3
,
0xe8
,
0xea
,
0x78
,
0xe8
,
0x79
,
0x2c
,
0x4d
,
0x4f
,
0x87
,
0x81
,
0x50
,
0xc3
,
0x02
,
0xb1
,
0xa0
,
0xe8
,
0x21
,
0x80
,
0x4c
,
0x16
,
0x31
,
0xf5
,
0x13
,
0x41
,
0xde
,
0x25
,
0x1a
,
0x04
,
0x7f
,
0xc6
,
0x6b
,
0xa4
,
0xe8
,
0x38
,
0x3a
,
0x34
,
0xd8
,
0xde
,
0xe9
,
0xf5
,
0x12
,
0xd9
,
0x76
,
0x20
,
0x98
,
0xa5
,
0xbd
,
0x5e
,
0xa2
,
0x1c
,
0x45
,
0x7c
,
0xf3
,
0xac
,
0x2d
,
0x1c
,
0x26
,
0xcf
,
0xda
,
0x62
,
0x81
,
0x7f
,
0x68
,
0xb6
,
0x02
,
0x1d
,
0x1a
,
0xd0
,
0xd0
,
0x63
,
0xbc
,
0x8c
,
0xaa
,
0x64
,
0xa5
,
0xd1
,
0xd1
,
0x41
,
0xbc
,
0x3f
,
0xed
,
0x4a
,
0x64
,
0xe5
,
0x73
,
0xf9
,
0x12
,
0xff
,
0xa5
,
0x56
,
0x8c
,
0x7a
,
0xcf
,
0x3a
,
0xc7
,
0x59
,
0x94
,
0x30
,
0x2b
,
0xfd
,
0x97
,
0x6d
,
0xa9
,
0xe1
,
0xd5
,
0xb5
,
0xe9
,
0x5e
,
0x6d
,
0x34
,
0x3f
,
0xaa
,
0x68
,
0xec
,
0x5b
,
0xc3
,
0x93
,
0xcc
,
0xe0
,
0x18
,
0x9a
,
0xd9
,
0xa8
,
0xe8
,
0x21
,
0x89
,
0xea
,
0x73
,
0x0d
,
0x18
,
0x7a
,
0x1f
,
0x5a
,
0x4a
,
0x92
,
0x02
,
0x28
,
0x82
,
0xba
,
0x49
,
0x26
,
0xe0
,
0x5c
,
0x6b
,
0xd1
,
0x55
,
0xc8
,
0x12
,
0x11
,
0xc3
,
0x2e
,
0x91
,
0x0b
,
0xad
,
0x69
,
0x5f
,
0x98
,
0xd6
,
0xb4
,
0xbb
,
0x66
,
0xd3
,
0xfe
,
0x00
,
0xdc
,
0x6e
,
0x10
,
0x79
,
0xe7
,
0x42
,
0x09
,
0x20
,
0x07
,
0x97
,
0x02
,
0x80
,
0x5f
,
0xc3
,
0xac
,
0xa8
,
0xe1
,
0xd3
,
0x0a
,
0xca
,
0x16
,
0xb8
,
0xbc
,
0x54
,
0x75
,
0x68
,
0xea
,
0x7b
,
0xca
,
0xd3
,
0x5b
,
0x5a
,
0x65
,
0x13
,
0x70
,
0x52
,
0xa2
,
0xe0
,
0x18
,
0x96
,
0x39
,
0xfc
,
0x25
,
0xbd
,
0x64
,
0x27
,
0xa3
,
0x97
,
0x5c
,
0xd3
,
0xd7
,
0x74
,
0xc8
,
0x99
,
0xc0
,
0x50
,
0xea
,
0x57
,
0x2b
,
0xf3
,
0xc6
,
0xfa
,
0xcd
,
0x37
,
0xbe
,
0x0f
,
0x0d
,
0xd1
,
0xfd
,
0xa1
,
0xff
,
0x83
,
0x06
,
0x87
,
0xe6
,
0xcd
,
0xde
,
0xa2
,
0x76
,
0x88
,
0xc8
,
0x1d
,
0x4c
,
0xe4
,
0x9c
,
0x5c
,
0x72
,
0x97
,
0xa2
,
0x4f
,
0x65
,
0x01
,
0xd7
,
0x40
,
0x56
,
0xf1
,
0x33
,
0x0f
,
0x10
,
0x1b
,
0x1b
,
0xff
,
0xca
,
0xe1
,
0x81
,
0x76
,
0x61
,
0x4f
,
0x72
,
0x6f
,
0xdb
,
0x2c
,
0xb6
,
0x61
,
0x61
,
0xe0
,
0x8f
,
0x76
,
0x0b
,
0x27
,
0x6c
,
0x90
,
0x62
,
0xad
,
0xa9
,
0x74
,
0x76
,
0xb3
,
0xae
,
0xf5
,
0xe6
,
0x29
,
0xb8
,
0x85
,
0x8a
,
0xaa
,
0x46
,
0x46
,
0xc7
,
0x78
,
0x13
,
0xbb
,
0x71
,
0x4e
,
0x2f
,
0x9b
,
0x89
,
0xa3
,
0xaa
,
0x49
,
0x59
,
0x02
,
0x31
,
0x81
,
0x96
,
0xe8
,
0x9d
,
0x45
,
0x77
,
0xb3
,
0x33
,
0xb0
,
0x18
,
0x34
,
0x6d
,
0xfe
,
0x28
,
0x37
,
0x91
,
0x39
,
0x22
,
0x97
,
0x76
,
0x55
,
0x76
,
0xfa
,
0x09
,
0x57
,
0x69
,
0x6a
,
0xab
,
0x74
,
0x17
,
0x5a
,
0x7c
,
0x5b
,
0xbf
,
0x49
,
0xb5
,
0xd1
,
0xef
,
0x68
,
0x84
,
0xf4
,
0x6d
,
0x32
,
0x71
,
0x00
,
0xff
,
0xc1
,
0x81
,
0x3b
,
0xcf
,
0xb9
,
0xbf
,
0x1c
,
0xf3
,
0x9f
,
0xfd
,
0xf0
,
0x30
,
0x64
,
0x27
,
0xa3
,
0x9b
,
0x8b
,
0x5c
,
0xca
,
0xc2
,
0x1e
,
0x4b
,
0x72
,
0x57
,
0x95
,
0x2b
,
0x0e
,
0x67
,
0xa3
,
0xd8
,
0x4f
,
0x58
,
0x9e
,
0x26
,
0xe4
,
0xca
,
0x9a
,
0x85
,
0xcb
,
0x9e
,
0xb3
,
0xf0
,
0xd0
,
0xc6
,
0x54
,
0x0f
,
0xfd
,
0x29
,
0x34
,
0x09
,
0xa3
,
0x41
,
0xf1
,
0x0a
,
0x83
,
0xa1
,
0x99
,
0x30
,
0x1a
,
0x88
,
0x7a
,
0x98
,
0x37
,
0xc3
,
0x0d
,
0x62
,
0xc0
,
0x78
,
0x4e
,
0xcf
,
0xfb
,
0xbb
,
0xc4
,
0xbf
,
0x2c
,
0x0d
,
0x65
,
0x41
,
0xf1
,
0x36
,
0x40
,
0xa1
,
0xe9
,
0xb4
,
0xb4
,
0x85
,
0x73
,
0xbd
,
0x2d
,
0xfe
,
0x5e
,
0x83
,
0xf5
,
0xdd
,
0x84
,
0xd1
,
0x8c
,
0x9d
,
0x94
,
0x4f
,
0xb9
,
0xbb
,
0xd4
,
0x3b
,
0x63
,
0x7a
,
0x83
,
0xde
,
0x94
,
0x0d
,
0xfa
,
0x43
,
0x00
,
0x4f
,
0xe0
,
0xf2
,
0x7b
,
0x55
,
0x7a
,
0xd6
,
0x20
,
0xdc
,
0xab
,
0x53
,
0xbf
,
0x1f
,
0x8a
,
0x5d
,
0xa9
,
0xb3
,
0x62
,
0x2d
,
0xb4
,
0x9c
,
0xd1
,
0x6c
,
0x98
,
0xaa
,
0xd4
,
0xaa
,
0x56
,
0x68
,
0x1b
,
0x16
,
0xb5
,
0x47
,
0x64
,
0xd5
,
0x0a
,
0xa0
,
0x7c
,
0xc0
,
0x28
,
0x77
,
0x88
,
0x8e
,
0xa6
,
0xd9
,
0x6c
,
0xce
,
0xb0
,
0xd9
,
0x87
,
0x52
,
0xa1
,
0x45
,
0xa7
,
0x3b
,
0x6f
,
0x8c
,
0x9a
,
0xba
,
0xee
,
0x89
,
0x81
,
0x88
,
0xfe
,
0x3f
,
0xd7
,
0xd7
,
0x82
,
0x38
,
0x71
,
0xc7
,
0xd6
,
0x57
,
0xaa
,
0x14
,
0x66
,
0xfa
,
0x92
,
0x6b
,
0xf9
,
0x12
,
0xee
,
0x88
,
0x97
,
0x0e
,
0xa1
,
0xbf
,
0x93
,
0xd1
,
0xe7
,
0x7e
,
0x9a
,
0x55
,
0x96
,
0xcc
,
0x6b
,
0xcb
,
0x13
,
0xfe
,
0x08
,
0x5a
,
0xa2
,
0x74
,
0xea
,
0x54
,
0xde
,
0x83
,
0x7a
,
0x36
,
0xca
,
0x8d
,
0x59
,
0xa5
,
0x1d
,
0xbe
,
0x8d
,
0xf7
,
0xe0
,
0x4e
,
0xf9
,
0x50
,
0xb0
,
0xe3
,
0x89
,
0xa1
,
0xfc
,
0x06
,
0xe7
,
0xcf
,
0xd9
,
0xab
,
0x95
,
0xec
,
0xe1
,
0x5f
,
0x88
,
0x94
,
0x77
,
0x64
,
0xd1
,
0x79
,
0xe3
,
0xda
,
0xcf
,
0xd3
,
0x5f
,
0xcf
,
0x4f
,
0xe3
,
0x80
,
0x8e
,
0x07
,
0x51
,
0x8f
,
0xa9
,
0xfc
,
0xa6
,
0x83
,
0xf0
,
0x97
,
0xd6
,
0x43
,
0x81
,
0xba
,
0x02
,
0x97
,
0x4e
,
0xcb
,
0xbd
,
0xa0
,
0xa9
,
0x19
,
0xa1
,
0xd0
,
0x3f
,
0x86
,
0xc6
,
0xa9
,
0x4a
,
0x32
,
0x15
,
0x38
,
0x62
,
0xeb
,
0x0d
,
0x18
,
0x78
,
0xc5
,
0x19
,
0xb8
,
0x90
,
0x8e
,
0xaf
,
0xf4
,
0xcc
,
0xab
,
0xf2
,
0xf5
,
0xba
,
0xda
,
0x80
,
0x79
,
0x1e
,
0xe8
,
0x65
,
0x08
,
0xe6
,
0x4b
,
0xfc
,
0x4f
,
0x07
,
0xee
,
0x69
,
0x4f
,
0x34
,
0xa5
,
0x5d
,
0x84
,
0xf1
,
0xae
,
0xa7
,
0x8a
,
0xa1
,
0xc9
,
0x9d
,
0x97
,
0x30
,
0xef
,
0xf2
,
0x79
,
0x40
,
0xfb
,
0x6a
,
0x5c
,
0x35
,
0x60
,
0x9c
,
0x42
,
0xcf
,
0x4f
,
0x98
,
0x0c
,
0x11
,
0x29
,
0x4e
,
0x09
,
0x28
,
0x1f
,
0x63
,
0x64
,
0x64
,
0x35
,
0x0a
,
0x7b
,
0x9d
,
0x26
,
0xd1
,
0x20
,
0x9f
,
0x35
,
0xf8
,
0x37
,
0x97
,
0x80
,
0xdb
,
0x8d
,
0xa5
,
0xa9
,
0x8a
,
0x9b
,
0x7c
,
0xc9
,
0x43
,
0x3b
,
0x65
,
0xac
,
0xa7
,
0x12
,
0xdb
,
0xbc
,
0x10
,
0x4f
,
0x83
,
0xe0
,
0x4f
,
0x84
,
0x63
,
0x13
,
0x96
,
0x7a
,
0x34
,
0xfc
,
0x42
,
0x28
,
0x79
,
0x15
,
0x1a
,
0xfc
,
0xb0
,
0x74
,
0x4a
,
0x97
,
0xc8
,
0x85
,
0xb8
,
0xb5
,
0x94
,
0x42
,
0x7c
,
0xe3
,
0x8f
,
0x61
,
0x85
,
0xb0
,
0x58
,
0x9e
,
0x25
,
0x2c
,
0x1d
,
0x06
,
0xd5
,
0xce
,
0x54
,
0x75
,
0xf4
,
0x8c
,
0x5f
,
0x1b
,
0xeb
,
0xd7
,
0xe6
,
0x58
,
0x4e
,
0x89
,
0x85
,
0x3a
,
0xd0
,
0x4a
,
0xcc
,
0x0b
,
0x52
,
0x6b
,
0xf4
,
0xb4
,
0xee
,
0x27
,
0x13
,
0xf8
,
0xf8
,
0x31
,
0x8f
,
0xba
,
0x8b
,
0xbd
,
0x90
,
0x76
,
0x03
,
0x96
,
0xff
,
0x3b
,
0x52
,
0x88
,
0x58
,
0xd3
,
0x44
,
0xc4
,
0xfb
,
0xe2
,
0xf1
,
0x98
,
0x37
,
0xc5
,
0xd7
,
0x0b
,
0xb3
,
0x9f
,
0x1e
,
0x1e
,
0x08
,
0x61
,
0x16
,
0x88
,
0xf8
,
0xe6
,
0x09
,
0x75
,
0x90
,
0xf6
,
0xd5
,
0xd0
,
0xc4
,
0x3f
,
0x71
,
0x47
,
0x84
,
0xba
,
0x79
,
0xe9
,
0x16
,
0xcc
,
0x27
,
0x4a
,
0x06
,
0xf3
,
0x5d
,
0xcb
,
0xb8
,
0x94
,
0xe4
,
0x48
,
0xf8
,
0x4f
,
0xe5
,
0x8c
,
0x7a
,
0xec
,
0xf7
,
0x43
,
0x9a
,
0x0d
,
0x13
,
0x76
,
0x44
,
0x13
,
0x3a
,
0xe0
,
0x36
,
0x95
,
0x5e
,
0x78
,
0x32
,
0x8e
,
0x99
,
0x52
,
0x98
,
0x06
,
0x41
,
0x1f
,
0x00
,
0xf0
,
0x98
,
0xea
,
0x8a
,
0xfc
,
0xa6
,
0x14
,
0x56
,
0x91
,
0xf8
,
0x34
,
0x24
,
0xf4
,
0x31
,
0x2c
,
0x25
,
0x5a
,
0x12
,
0x4d
,
0x55
,
0x85
,
0xae
,
0x4c
,
0xb0
,
0x26
,
0x26
,
0xfe
,
0xa3
,
0x03
,
0xab
,
0x3f
,
0xa2
,
0x41
,
0xc0
,
0x32
,
0x15
,
0xee
,
0xb9
,
0xc0
,
0x0f
,
0x01
,
0x2e
,
0x7d
,
0x76
,
0xa5
,
0xba
,
0x10
,
0x59
,
0x6e
,
0x34
,
0x08
,
0x8f
,
0x66
,
0xb1
,
0x4a
,
0xfc
,
0xcb
,
0x83
,
0x22
,
0xf4
,
0x74
,
0x10
,
0xc7
,
0x48
,
0x63
,
0x16
,
0xf6
,
0x14
,
0x09
,
0xf9
,
0xaf
,
0x83
,
0x0e
,
0x12
,
0x41
,
0x26
,
0x96
,
0x8a
,
0x88
,
0x7c
,
0xc5
,
0x36
,
0x60
,
0xf8
,
0xeb
,
0x9a
,
0xc8
,
0x7b
,
0x32
,
0x29
,
0xe4
,
0xa1
,
0x7c
,
0x53
,
0xf3
,
0x60
,
0xea
,
0xb8
,
0x36
,
0xa1
,
0xe3
,
0x69
,
0xb3
,
0x46
,
0x3e
,
0x41
,
0xcf
,
0x6a
,
0x13
,
0x74
,
0x55
,
0xc4
,
0xda
,
0x7f
,
0x41
,
0x99
,
0x93
,
0x1b
,
0xd8
,
0x93
,
0x9b
,
0x6a
,
0x2c
,
0x65
,
0x3a
,
0x58
,
0x2c
,
0x1a
,
0x4b
,
0x2f
,
0xef
,
0xdb
,
0x54
,
0x43
,
0xd3
,
0x34
,
0x1a
,
0x1a
,
0xa3
,
0x99
,
0x5d
,
0xb2
,
0x9a
,
0xd9
,
0x27
,
0xbf
,
0xab
,
0xc1
,
0xbc
,
0xf6
,
0x2f
,
0xea
,
0xf1
,
0x59
,
0x74
,
0xa5
,
0x94
,
0xc3
,
0x55
,
0xdf
,
0x2a
,
0x2c
,
0x7f
,
0x71
,
0x9c
,
0x25
,
0x7e
,
0xd8
,
0x6f
,
0xdf
,
0x2b
,
0x43
,
0xce
,
0x1a
,
0x4f
,
0xf1
,
0x0c
,
0xfa
,
0x01
,
0x2c
,
0xea
,
0xc1
,
0xbc
,
0x56
,
0x9e
,
0xd6
,
0xc0
,
0xed
,
0x35
,
0x3b
,
0x6a
,
0x05
,
0x18
,
0xcf
,
0xa0
,
0x5d
,
0x58
,
0x32
,
0x83
,
0xe5
,
0x9d
,
0x92
,
0x80
,
0xb1
,
0xd1
,
0x2e
,
0x37
,
0xcc
,
0xf0
,
0xc2
,
0x33
,
0xe8
,
0x05
,
0xac
,
0x4a
,
0x1b
,
0x13
,
0x7a
,
0xa5
,
0xa5
,
0x6a
,
0x54
,
0x32
,
0x6e
,
0xfb
,
0x40
,
0xbb
,
0xa2
,
0xe2
,
0xe2
,
0x99
,
0xee
,
0x9c
,
0xf8
,
0xc7
,
0xfb
,
0x7b
,
0xff
,
0x09
,
0x00
,
0x00
,
0xff
,
0xff
,
0x8c
,
0x61
,
0xaa
,
0x59
,
0x2a
,
0x1f
,
0x00
,
0x00
,
}
plugin/dapp/privacy/wallet/privacy.go
View file @
3ef9413b
...
...
@@ -364,7 +364,7 @@ buildInput 构建隐私交易的输入信息
func
(
policy
*
privacyPolicy
)
buildInput
(
privacykeyParirs
*
privacy
.
Privacy
,
buildInfo
*
buildInputInfo
)
(
*
privacytypes
.
PrivacyInput
,
[]
*
privacytypes
.
UTXOBasics
,
[]
*
privacytypes
.
RealKeyInput
,
[]
*
txOutputInfo
,
error
)
{
operater
:=
policy
.
getWalletOperate
()
//挑选满足额度的utxo
selectedUtxo
,
err
:=
policy
.
selectUTXO
(
buildInfo
.
tokenname
,
buildInfo
.
sender
,
buildInfo
.
amount
)
selectedUtxo
,
err
:=
policy
.
selectUTXO
(
buildInfo
.
assetSymbol
,
buildInfo
.
sender
,
buildInfo
.
amount
)
if
err
!=
nil
{
bizlog
.
Error
(
"buildInput"
,
"Failed to selectOutput for amount"
,
buildInfo
.
amount
,
"Due to cause"
,
err
)
...
...
@@ -375,7 +375,8 @@ func (policy *privacyPolicy) buildInput(privacykeyParirs *privacy.Privacy, build
})
reqGetGlobalIndex
:=
privacytypes
.
ReqUTXOGlobalIndex
{
Tokenname
:
buildInfo
.
tokenname
,
AssetExec
:
buildInfo
.
assetExec
,
AssetSymbol
:
buildInfo
.
assetSymbol
,
MixCount
:
0
,
}
...
...
@@ -562,7 +563,8 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate
utxoBurnedAmount
=
privacytypes
.
PrivacyTxFee
}
buildInfo
:=
&
buildInputInfo
{
tokenname
:
req
.
GetTokenname
(),
assetExec
:
req
.
GetAssetExec
(),
assetSymbol
:
req
.
GetTokenname
(),
sender
:
req
.
GetFrom
(),
amount
:
req
.
GetAmount
()
+
utxoBurnedAmount
,
mixcount
:
req
.
GetMixcount
(),
...
...
@@ -652,7 +654,8 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP
utxoBurnedAmount
=
privacytypes
.
PrivacyTxFee
}
buildInfo
:=
&
buildInputInfo
{
tokenname
:
req
.
GetTokenname
(),
assetExec
:
req
.
GetAssetExec
(),
assetSymbol
:
req
.
GetTokenname
(),
sender
:
req
.
GetFrom
(),
amount
:
req
.
GetAmount
()
+
utxoBurnedAmount
,
mixcount
:
req
.
GetMixcount
(),
...
...
plugin/dapp/privacy/wallet/types.go
View file @
3ef9413b
...
...
@@ -16,7 +16,8 @@ type addrAndprivacy struct {
// buildInputInfo 构建隐私交易输入的参数结构
type
buildInputInfo
struct
{
tokenname
string
assetExec
string
assetSymbol
string
sender
string
amount
int64
mixcount
int32
...
...
plugin/dapp/retrieve/proto/retrieve.proto
View file @
3ef9413b
...
...
@@ -40,7 +40,6 @@ message PrepareRetrieve {
string
defaultAddress
=
2
;
}
message
AssetSymbol
{
string
exec
=
1
;
string
symbol
=
2
;
...
...
plugin/dapp/storage/proto/storage.proto
View file @
3ef9413b
...
...
@@ -76,9 +76,7 @@ message EncryptShareNotaryStorage {
bytes
nonce
=
5
;
}
service
storage
{
}
service
storage
{}
//根据txhash去状态数据库中查询存储内容
message
QueryStorage
{
string
txHash
=
1
;
...
...
plugin/dapp/ticket/proto/ticket.proto
View file @
3ef9413b
...
...
@@ -18,7 +18,7 @@ message Ticket {
string
minerAddress
=
6
;
// return wallet
string
returnAddress
=
7
;
//miner Price
//
miner Price
int64
price
=
9
;
}
...
...
@@ -41,9 +41,9 @@ message TicketMiner {
bytes
modify
=
4
;
//挖到区块时公开
bytes
privHash
=
5
;
//VRF计算得到的hash
//
VRF计算得到的hash
bytes
vrfHash
=
6
;
//VRF计算得到的proof
//
VRF计算得到的proof
bytes
vrfProof
=
7
;
}
...
...
plugin/dapp/token/proto/token.proto
View file @
3ef9413b
plugin/dapp/trade/proto/trade.proto
View file @
3ef9413b
plugin/dapp/unfreeze/proto/unfreeze.proto
View file @
3ef9413b
plugin/dapp/valnode/proto/tendermint.proto
View file @
3ef9413b
...
...
@@ -87,7 +87,6 @@ message State {
bytes
AppHash
=
12
;
}
message
TendermintBlockHeader
{
string
chainID
=
1
;
int64
height
=
2
;
...
...
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