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
Hide whitespace changes
Inline
Side-by-side
Showing
40 changed files
with
1654 additions
and
1649 deletions
+1654
-1649
dpos_msg.proto
plugin/consensus/dpos/proto/dpos_msg.proto
+46
-46
autonomy.proto
plugin/dapp/autonomy/proto/autonomy.proto
+7
-7
board.proto
plugin/dapp/autonomy/proto/board.proto
+15
-15
change.proto
plugin/dapp/autonomy/proto/change.proto
+15
-15
lcommon.proto
plugin/dapp/autonomy/proto/lcommon.proto
+13
-13
project.proto
plugin/dapp/autonomy/proto/project.proto
+15
-15
rule.proto
plugin/dapp/autonomy/proto/rule.proto
+16
-16
collateralize.proto
plugin/dapp/collateralize/proto/collateralize.proto
+82
-82
dposvote.proto
plugin/dapp/dposvote/proto/dposvote.proto
+244
-247
echo.proto
plugin/dapp/echo/proto/echo.proto
+14
-13
evmcontract.proto
plugin/dapp/evm/proto/evmcontract.proto
+24
-23
exchange.proto
plugin/dapp/exchange/proto/exchange.proto
+24
-28
guess.proto
plugin/dapp/guess/proto/guess.proto
+155
-156
issuance.proto
plugin/dapp/issuance/proto/issuance.proto
+60
-60
js.proto
plugin/dapp/js/proto/js.proto
+5
-5
lottery.proto
plugin/dapp/lottery/proto/lottery.proto
+34
-35
multisig.proto
plugin/dapp/multisig/proto/multisig.proto
+177
-183
norm.proto
plugin/dapp/norm/proto/norm.proto
+4
-4
oracle.proto
plugin/dapp/oracle/proto/oracle.proto
+35
-35
paracross.proto
plugin/dapp/paracross/proto/paracross.proto
+173
-190
pokerbull.proto
plugin/dapp/pokerbull/proto/pokerbull.proto
+42
-43
privacy.go
plugin/dapp/privacy/commands/privacy.go
+13
-5
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
+22
-14
privacy.proto
plugin/dapp/privacy/proto/privacy.proto
+13
-12
rpc_channel_test.go
plugin/dapp/privacy/rpc/rpc_channel_test.go
+4
-3
privacy.pb.go
plugin/dapp/privacy/types/privacy.pb.go
+249
-240
privacy.go
plugin/dapp/privacy/wallet/privacy.go
+14
-11
types.go
plugin/dapp/privacy/wallet/types.go
+5
-4
retrieve.proto
plugin/dapp/retrieve/proto/retrieve.proto
+5
-6
storage.proto
plugin/dapp/storage/proto/storage.proto
+15
-17
ticket.proto
plugin/dapp/ticket/proto/ticket.proto
+5
-5
token.proto
plugin/dapp/token/proto/token.proto
+2
-2
trade.proto
plugin/dapp/trade/proto/trade.proto
+38
-38
unfreeze.proto
plugin/dapp/unfreeze/proto/unfreeze.proto
+10
-10
tendermint.proto
plugin/dapp/valnode/proto/tendermint.proto
+7
-8
No files found.
plugin/consensus/dpos/proto/dpos_msg.proto
View file @
3ef9413b
syntax
=
"proto3"
;
package
types
;
//CycleBoundaryInfo cycle边界信息
message
CycleBoundaryInfo
{
int64
cycle
=
1
;
int64
stopHeight
=
2
;
string
stopHash
=
3
;
//
CycleBoundaryInfo cycle边界信息
message
CycleBoundaryInfo
{
int64
cycle
=
1
;
int64
stopHeight
=
2
;
string
stopHash
=
3
;
}
//SuperNode 超级节点信息
message
SuperNode
{
bytes
address
=
1
;
bytes
pubKey
=
2
;
//
SuperNode 超级节点信息
message
SuperNode
{
bytes
address
=
1
;
bytes
pubKey
=
2
;
}
//VoteItem 投票信息
//
VoteItem 投票信息
message
VoteItem
{
int32
votedNodeIndex
=
1
;
//被投票的节点索引
bytes
votedNodeAddress
=
2
;
//被投票的节点地址
int64
cycle
=
3
;
//大周期序号
int64
cycleStart
=
4
;
//大周期起始时间
int64
cycleStop
=
5
;
//大周期终止时间
int64
periodStart
=
6
;
//新节点负责出块的起始时间
int64
periodStop
=
7
;
//新节点负责出块的终止时间
int64
height
=
8
;
//新节点负责出块的起始高度
bytes
voteID
=
9
;
//选票ID
CycleBoundaryInfo
lastCBInfo
=
10
;
int64
shuffleType
=
11
;
repeated
SuperNode
validators
=
12
;
repeated
SuperNode
vrfValidators
=
13
;
int32
votedNodeIndex
=
1
;
//被投票的节点索引
bytes
votedNodeAddress
=
2
;
//被投票的节点地址
int64
cycle
=
3
;
//大周期序号
int64
cycleStart
=
4
;
//大周期起始时间
int64
cycleStop
=
5
;
//大周期终止时间
int64
periodStart
=
6
;
//新节点负责出块的起始时间
int64
periodStop
=
7
;
//新节点负责出块的终止时间
int64
height
=
8
;
//新节点负责出块的起始高度
bytes
voteID
=
9
;
//选票ID
CycleBoundaryInfo
lastCBInfo
=
10
;
int64
shuffleType
=
11
;
repeated
SuperNode
validators
=
12
;
repeated
SuperNode
vrfValidators
=
13
;
repeated
SuperNode
noVrfValidators
=
14
;
}
//DPosVote Dpos共识的节点投票,为达成共识用。
//
DPosVote Dpos共识的节点投票,为达成共识用。
message
DPosVote
{
VoteItem
voteItem
=
1
;
int64
voteTimestamp
=
2
;
//发起投票的时间
int32
voterNodeIndex
=
3
;
//投票节点索引
bytes
voterNodeAddress
=
4
;
//投票节点地址
bytes
signature
=
5
;
//投票者签名
VoteItem
voteItem
=
1
;
int64
voteTimestamp
=
2
;
//发起投票的时间
int32
voterNodeIndex
=
3
;
//投票节点索引
bytes
voterNodeAddress
=
4
;
//投票节点地址
bytes
signature
=
5
;
//投票者签名
}
//DPosVoteReply 投票响应。
//
DPosVoteReply 投票响应。
message
DPosVoteReply
{
DPosVote
vote
=
1
;
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
signature
=
7
;
//通知节点的签名
VoteItem
vote
=
1
;
int64
heightStop
=
2
;
//新节点负责出块的结束高度
bytes
hashStop
=
3
;
//新节点负责出块的结束hash
int64
notifyTimestamp
=
4
;
//发起通知的时间
int32
notifyNodeIndex
=
5
;
//通知节点的索引
bytes
notifyNodeAddress
=
6
;
//通知节点的地址
bytes
signature
=
7
;
//通知节点的签名
}
//DPosCBInfo Cycle boundary注册信息。
//
DPosCBInfo Cycle boundary注册信息。
message
DPosCBInfo
{
int64
cycle
=
1
;
int64
stopHeight
=
2
;
string
stopHash
=
3
;
string
pubkey
=
4
;
string
signature
=
5
;
int64
cycle
=
1
;
int64
stopHeight
=
2
;
string
stopHash
=
3
;
string
pubkey
=
4
;
string
signature
=
5
;
}
\ No newline at end of file
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"
;
...
...
@@ -27,13 +27,13 @@ message AutonomyAction {
PubVoteProposalProject
pubVotePropProject
=
8
;
TerminateProposalProject
tmintPropProject
=
9
;
// 提案规则修改相关
ProposalRule
propRule
=
10
;
RevokeProposalRule
rvkPropRule
=
11
;
VoteProposalRule
votePropRule
=
12
;
TerminateProposalRule
tmintPropRule
=
13
;
ProposalRule
propRule
=
10
;
RevokeProposalRule
rvkPropRule
=
11
;
VoteProposalRule
votePropRule
=
12
;
TerminateProposalRule
tmintPropRule
=
13
;
// 发展基金转自治系统合约
TransferFund
transfer
=
14
;
Comment
commentProp
=
15
;
TransferFund
transfer
=
14
;
Comment
commentProp
=
15
;
// 提案改变董事会成员
ProposalChange
propChange
=
16
;
RevokeProposalChange
rvkPropChange
=
17
;
...
...
plugin/dapp/autonomy/proto/board.proto
View file @
3ef9413b
...
...
@@ -8,21 +8,20 @@ import "lcommon.proto";
package
types
;
message
AutonomyProposalBoard
{
ProposalBoard
propBoard
=
1
;
ProposalBoard
propBoard
=
1
;
// 投票该提案的规则
RuleConfig
curRule
=
2
;
RuleConfig
curRule
=
2
;
// 投票董事会
ActiveBoard
board
=
3
;
ActiveBoard
board
=
3
;
// 全体持票人投票结果
VoteResult
voteResult
=
4
;
VoteResult
voteResult
=
4
;
// 状态
int32
status
=
5
;
string
address
=
6
;
int64
height
=
7
;
int32
index
=
8
;
string
proposalID
=
9
;
int32
status
=
5
;
string
address
=
6
;
int64
height
=
7
;
int32
index
=
8
;
string
proposalID
=
9
;
}
// action
...
...
@@ -37,9 +36,9 @@ message ProposalBoard {
// 提案董事会成员
repeated
string
boards
=
5
;
// 投票相关
// 投票相关
int64
startBlockHeight
=
6
;
// 提案开始投票高度
int64
endBlockHeight
=
7
;
// 提案结束投票高度
int64
endBlockHeight
=
7
;
// 提案结束投票高度
int64
realEndBlockHeight
=
8
;
// 实际提案结束投票高度
}
...
...
@@ -48,8 +47,8 @@ message RevokeProposalBoard {
}
message
VoteProposalBoard
{
string
proposalID
=
1
;
bool
approve
=
2
;
string
proposalID
=
1
;
bool
approve
=
2
;
repeated
string
originAddr
=
3
;
}
...
...
@@ -79,5 +78,5 @@ message ReqQueryProposalBoard {
}
message
ReplyQueryProposalBoard
{
repeated
AutonomyProposalBoard
propBoards
=
1
;
repeated
AutonomyProposalBoard
propBoards
=
1
;
}
\ No newline at end of file
plugin/dapp/autonomy/proto/change.proto
View file @
3ef9413b
...
...
@@ -8,21 +8,20 @@ import "lcommon.proto";
package
types
;
message
AutonomyProposalChange
{
ProposalChange
propChange
=
1
;
ProposalChange
propChange
=
1
;
// 投票该提案的规则
RuleConfig
curRule
=
2
;
RuleConfig
curRule
=
2
;
// 投票董事会
ActiveBoard
board
=
3
;
ActiveBoard
board
=
3
;
// 全体持票人投票结果
VoteResult
voteResult
=
4
;
VoteResult
voteResult
=
4
;
// 状态
int32
status
=
5
;
string
address
=
6
;
int64
height
=
7
;
int32
index
=
8
;
string
proposalID
=
9
;
int32
status
=
5
;
string
address
=
6
;
int64
height
=
7
;
int32
index
=
8
;
string
proposalID
=
9
;
}
// action
...
...
@@ -33,11 +32,11 @@ message ProposalChange {
int32
day
=
3
;
// 修改董事会成员
repeated
Change
changes
=
4
;
repeated
Change
changes
=
4
;
// 投票相关
// 投票相关
int64
startBlockHeight
=
5
;
// 提案开始投票高度
int64
endBlockHeight
=
6
;
// 提案结束投票高度
int64
endBlockHeight
=
6
;
// 提案结束投票高度
int64
realEndBlockHeight
=
7
;
// 实际提案结束投票高度
}
...
...
@@ -68,7 +67,7 @@ message ReceiptProposalChange {
message
LocalProposalChange
{
AutonomyProposalChange
propBd
=
1
;
repeated
string
comments
=
2
;
repeated
string
comments
=
2
;
}
// query
...
...
@@ -82,5 +81,5 @@ message ReqQueryProposalChange {
}
message
ReplyQueryProposalChange
{
repeated
AutonomyProposalChange
propChanges
=
1
;
repeated
AutonomyProposalChange
propChanges
=
1
;
}
\ No newline at end of file
plugin/dapp/autonomy/proto/lcommon.proto
View file @
3ef9413b
...
...
@@ -8,24 +8,24 @@ package types;
message
VoteResult
{
// 总票数
int32
totalVotes
=
1
;
int32
totalVotes
=
1
;
// 赞成票
int32
approveVotes
=
2
;
int32
approveVotes
=
2
;
// 反对票
int32
opposeVotes
=
3
;
int32
opposeVotes
=
3
;
// 是否通过
bool
pass
=
4
;
bool
pass
=
4
;
}
message
PublicVote
{
// 是否需要公示
bool
publicity
=
1
;
bool
publicity
=
1
;
// 总票数
int32
totalVotes
=
2
;
int32
totalVotes
=
2
;
// 全体持票人反对票
int32
opposeVotes
=
3
;
int32
opposeVotes
=
3
;
// 是否通过
bool
pubPass
=
4
;
bool
pubPass
=
4
;
}
message
VotesRecord
{
...
...
@@ -34,15 +34,15 @@ message VotesRecord {
message
RuleConfig
{
// 董事会成员赞成率,以%为单位,只保留整数部分
int32
boardApproveRatio
=
1
;
int32
boardApproveRatio
=
1
;
// 全体持票人否决率
int32
pubOpposeRatio
=
2
;
int32
pubOpposeRatio
=
2
;
// 提案金额
int64
proposalAmount
=
3
;
int64
proposalAmount
=
3
;
// 重大项目公示金额阈值
int64
largeProjectAmount
=
4
;
int64
largeProjectAmount
=
4
;
// 重大项目公示时间(以区块数为单位)
int32
publicPeriod
=
5
;
int32
publicPeriod
=
5
;
}
message
ActiveBoard
{
...
...
plugin/dapp/autonomy/proto/project.proto
View file @
3ef9413b
...
...
@@ -9,21 +9,21 @@ import "lcommon.proto";
package
types
;
message
AutonomyProposalProject
{
ProposalProject
propProject
=
1
;
ProposalProject
propProject
=
1
;
// 投票该提案的规则
RuleConfig
curRule
=
2
;
RuleConfig
curRule
=
2
;
// 投票该提案的董事会成员
repeated
string
boards
=
3
;
repeated
string
boards
=
3
;
// 董事会投票结果
VoteResult
boardVoteRes
=
4
;
VoteResult
boardVoteRes
=
4
;
// 公示投票
PublicVote
pubVote
=
5
;
PublicVote
pubVote
=
5
;
// 状态
int32
status
=
6
;
string
address
=
7
;
int64
height
=
8
;
int32
index
=
9
;
string
proposalID
=
10
;
int32
status
=
6
;
string
address
=
7
;
int64
height
=
8
;
int32
index
=
9
;
string
proposalID
=
10
;
}
message
ProposalProject
{
...
...
@@ -42,7 +42,7 @@ message ProposalProject {
string
amountDetail
=
10
;
// 经费细则
// 支付相关
string
toAddr
=
11
;
// 收款地址
string
toAddr
=
11
;
// 收款地址
// 投票相关
int64
startBlockHeight
=
12
;
// 提案开始投票高度
...
...
@@ -61,8 +61,8 @@ message VoteProposalProject {
}
message
PubVoteProposalProject
{
string
proposalID
=
1
;
bool
oppose
=
2
;
string
proposalID
=
1
;
bool
oppose
=
2
;
repeated
string
originAddr
=
3
;
}
...
...
@@ -77,8 +77,8 @@ message ReceiptProposalProject {
}
message
LocalProposalProject
{
AutonomyProposalProject
propPrj
=
1
;
repeated
string
comments
=
2
;
AutonomyProposalProject
propPrj
=
1
;
repeated
string
comments
=
2
;
}
// query
...
...
plugin/dapp/autonomy/proto/rule.proto
View file @
3ef9413b
...
...
@@ -9,16 +9,16 @@ import "lcommon.proto";
package
types
;
message
AutonomyProposalRule
{
ProposalRule
propRule
=
1
;
RuleConfig
curRule
=
2
;
ProposalRule
propRule
=
1
;
RuleConfig
curRule
=
2
;
// 全体持票人投票结果
VoteResult
voteResult
=
3
;
VoteResult
voteResult
=
3
;
// 状态
int32
status
=
4
;
string
address
=
5
;
int64
height
=
6
;
int32
index
=
7
;
string
proposalID
=
8
;
int32
status
=
4
;
string
address
=
5
;
int64
height
=
6
;
int32
index
=
7
;
string
proposalID
=
8
;
}
message
ProposalRule
{
...
...
@@ -28,7 +28,7 @@ message ProposalRule {
int32
day
=
3
;
// 规则可修改项,如果某项不修改则置为-1
RuleConfig
ruleCfg
=
4
;
RuleConfig
ruleCfg
=
4
;
// 投票相关
int64
startBlockHeight
=
5
;
// 提案开始投票高度
int64
endBlockHeight
=
6
;
// 提案结束投票高度
...
...
@@ -40,8 +40,8 @@ message RevokeProposalRule {
}
message
VoteProposalRule
{
string
proposalID
=
1
;
bool
approve
=
2
;
string
proposalID
=
1
;
bool
approve
=
2
;
repeated
string
originAddr
=
3
;
}
...
...
@@ -51,13 +51,13 @@ message TerminateProposalRule {
// receipt
message
ReceiptProposalRule
{
AutonomyProposalRule
prev
=
1
;
AutonomyProposalRule
current
=
2
;
AutonomyProposalRule
prev
=
1
;
AutonomyProposalRule
current
=
2
;
}
message
LocalProposalRule
{
AutonomyProposalRule
propRule
=
1
;
repeated
string
comments
=
2
;
repeated
string
comments
=
2
;
}
// query
...
...
@@ -76,8 +76,8 @@ message ReplyQueryProposalRule {
// TransferFund action
message
TransferFund
{
int64
amount
=
1
;
string
note
=
2
;
int64
amount
=
1
;
string
note
=
2
;
}
// Comment action
...
...
plugin/dapp/collateralize/proto/collateralize.proto
View file @
3ef9413b
...
...
@@ -4,68 +4,68 @@ package types;
// 放贷信息
message
Collateralize
{
string
collateralizeId
=
1
;
//放贷ID,一期放贷对应一个ID
int64
totalBalance
=
2
;
//当期放贷的总金额(ccny)
int64
debtCeiling
=
3
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
4
;
//清算比例
int64
stabilityFeeRatio
=
5
;
//稳定费率
string
createAddr
=
6
;
//创建人地址
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
;
//上一个状态
string
collateralizeId
=
1
;
//放贷ID,一期放贷对应一个ID
int64
totalBalance
=
2
;
//当期放贷的总金额(ccny)
int64
debtCeiling
=
3
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
4
;
//清算比例
int64
stabilityFeeRatio
=
5
;
//稳定费率
string
createAddr
=
6
;
//创建人地址
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
;
//上一个状态
}
// 借出记录
message
BorrowRecord
{
string
accountAddr
=
1
;
//借贷人地址
int64
startTime
=
2
;
//借贷时间
int64
collateralValue
=
3
;
//抵押物价值(bty)
int64
collateralPrice
=
4
;
//抵押物价格
int64
debtValue
=
5
;
//债务价值(ccny)
int64
liquidationPrice
=
6
;
//抵押物清算价格
int32
status
=
7
;
//抵押状态,是否被清算
int64
liquidateTime
=
8
;
//清算时间
int64
expireTime
=
9
;
//超时清算时间
int32
preStatus
=
10
;
//上一次抵押状态,用于告警恢复
string
recordId
=
11
;
//借贷id,标识一次借出记录
string
collateralizeId
=
12
;
//放贷id
string
accountAddr
=
1
;
//借贷人地址
int64
startTime
=
2
;
//借贷时间
int64
collateralValue
=
3
;
//抵押物价值(bty)
int64
collateralPrice
=
4
;
//抵押物价格
int64
debtValue
=
5
;
//债务价值(ccny)
int64
liquidationPrice
=
6
;
//抵押物清算价格
int32
status
=
7
;
//抵押状态,是否被清算
int64
liquidateTime
=
8
;
//清算时间
int64
expireTime
=
9
;
//超时清算时间
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
recordTime
=
1
;
//价格记录时间
int64
btyPrice
=
2
;
//
bty价格
int64
btcPrice
=
3
;
//
btc价格
int64
ethPrice
=
4
;
//
eth价格
}
// action
message
CollateralizeAction
{
oneof
value
{
CollateralizeCreate
create
=
1
;
//创建一期借贷
CollateralizeBorrow
borrow
=
2
;
//借贷
CollateralizeRepay
repay
=
3
;
//清算
CollateralizeAppend
append
=
4
;
//追加
CollateralizeFeed
feed
=
5
;
//喂价
CollateralizeRetrieve
retrieve
=
6
;
//收回
CollateralizeManage
manage
=
7
;
//全局配置
CollateralizeCreate
create
=
1
;
//创建一期借贷
CollateralizeBorrow
borrow
=
2
;
//借贷
CollateralizeRepay
repay
=
3
;
//清算
CollateralizeAppend
append
=
4
;
//追加
CollateralizeFeed
feed
=
5
;
//喂价
CollateralizeRetrieve
retrieve
=
6
;
//收回
CollateralizeManage
manage
=
7
;
//全局配置
}
int32
ty
=
10
;
}
message
CollateralizeManage
{
int64
debtCeiling
=
1
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
2
;
//清算比例
int64
stabilityFeeRatio
=
3
;
//稳定费
int64
period
=
4
;
//合约期限
int64
totalBalance
=
5
;
//放贷总量
int64
currentTime
=
6
;
//设置时间
int64
debtCeiling
=
1
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
2
;
//清算比例
int64
stabilityFeeRatio
=
3
;
//稳定费
int64
period
=
4
;
//合约期限
int64
totalBalance
=
5
;
//放贷总量
int64
currentTime
=
6
;
//设置时间
}
message
CollateralizeAddr
{
...
...
@@ -73,13 +73,13 @@ message CollateralizeAddr {
}
// 创建放贷
message
CollateralizeCreate
{
int64
totalBalance
=
1
;
//可借贷总金额
int64
totalBalance
=
1
;
//可借贷总金额
}
// 质押借出
message
CollateralizeBorrow
{
string
collateralizeId
=
1
;
//借贷期数ID
int64
value
=
2
;
//借贷价值(ccny)
string
collateralizeId
=
1
;
//借贷期数ID
int64
value
=
2
;
//借贷价值(ccny)
}
// 质押清算
...
...
@@ -90,31 +90,31 @@ message CollateralizeRepay {
// 追加抵押物
message
CollateralizeAppend
{
string
collateralizeId
=
1
;
//借贷期数ID
string
recordId
=
2
;
//借贷ID
int64
collateralValue
=
3
;
//追加价值(bty)
string
collateralizeId
=
1
;
//借贷期数ID
string
recordId
=
2
;
//借贷ID
int64
collateralValue
=
3
;
//追加价值(bty)
}
// 喂价
message
CollateralizeFeed
{
int32
collType
=
1
;
//抵押物价格类型(1,bty,2,btc,3,eth...)
repeated
int64
price
=
2
;
//喂价
repeated
int64
volume
=
3
;
//成交量
int32
collType
=
1
;
//抵押物价格类型(1,bty,2,btc,3,eth...)
repeated
int64
price
=
2
;
//喂价
repeated
int64
volume
=
3
;
//成交量
}
// 收回
message
CollateralizeRetrieve
{
string
collateralizeId
=
1
;
//借贷期数ID
int64
balance
=
2
;
//收回金额
string
collateralizeId
=
1
;
//借贷期数ID
int64
balance
=
2
;
//收回金额
}
// exec_local 放贷信息
message
ReceiptCollateralize
{
string
collateralizeId
=
1
;
string
accountAddr
=
3
;
string
recordId
=
4
;
int32
status
=
5
;
}
string
collateralizeId
=
1
;
string
accountAddr
=
3
;
string
recordId
=
4
;
int32
status
=
5
;
}
// exec_local 放贷记录信息列表
message
CollateralizeRecords
{
...
...
@@ -128,17 +128,17 @@ message ReqCollateralizeInfo {
// 返回一期放贷信息
message
RepCollateralizeCurrentInfo
{
int32
status
=
1
;
//当期借贷的状态,是否关闭
int64
totalBalance
=
2
;
//当期可借贷的总金额(ccny)
int64
debtCeiling
=
3
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
4
;
//清算比例
int64
stabilityFeeRatio
=
5
;
//稳定费
string
createAddr
=
6
;
//创建人地址
int64
balance
=
7
;
//剩余可借贷金额(ccny)
int64
period
=
8
;
//合约期限
string
collateralizeId
=
9
;
//放贷ID
int64
collBalance
=
10
;
//抵押bty
repeated
BorrowRecord
borrowRecords
=
11
;
//借贷记录
int32
status
=
1
;
//当期借贷的状态,是否关闭
int64
totalBalance
=
2
;
//当期可借贷的总金额(ccny)
int64
debtCeiling
=
3
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
4
;
//清算比例
int64
stabilityFeeRatio
=
5
;
//稳定费
string
createAddr
=
6
;
//创建人地址
int64
balance
=
7
;
//剩余可借贷金额(ccny)
int64
period
=
8
;
//合约期限
string
collateralizeId
=
9
;
//放贷ID
int64
collBalance
=
10
;
//抵押bty
repeated
BorrowRecord
borrowRecords
=
11
;
//借贷记录
}
// 根据ID列表查询多期放贷信息
...
...
@@ -153,14 +153,14 @@ message RepCollateralizeCurrentInfos {
// 根据放贷状态查询
message
ReqCollateralizeByStatus
{
int32
status
=
1
;
int32
status
=
1
;
string
collID
=
2
;
}
// 根据用户地址查询
message
ReqCollateralizeByAddr
{
string
addr
=
1
;
int32
status
=
2
;
string
addr
=
1
;
int32
status
=
2
;
string
collID
=
3
;
}
...
...
@@ -173,7 +173,7 @@ message RepCollateralizeIDs {
message
ReqCollateralizeRecordByAddr
{
string
collateralizeId
=
1
;
string
addr
=
2
;
int32
status
=
3
;
int32
status
=
3
;
string
recordId
=
4
;
}
...
...
@@ -202,13 +202,13 @@ message RepCollateralizeRecord {
// 返回放贷配置
message
RepCollateralizeConfig
{
int64
debtCeiling
=
1
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
2
;
//清算比例
int64
stabilityFeeRatio
=
3
;
//稳定费
int64
period
=
4
;
//合约期限
int64
totalBalance
=
5
;
//放贷总量
int64
balance
=
6
;
//剩余放贷额度
int64
currentTime
=
7
;
//设置时间
int64
debtCeiling
=
1
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
2
;
//清算比例
int64
stabilityFeeRatio
=
3
;
//稳定费
int64
period
=
4
;
//合约期限
int64
totalBalance
=
5
;
//放贷总量
int64
balance
=
6
;
//剩余放贷额度
int64
currentTime
=
7
;
//设置时间
}
// 返回最新抵押物价格
...
...
plugin/dapp/dposvote/proto/dposvote.proto
View file @
3ef9413b
...
...
@@ -2,327 +2,324 @@ syntax = "proto3";
package
types
;
//CandidatorInfo 候选节点信息
//
CandidatorInfo 候选节点信息
message
CandidatorInfo
{
bytes
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//后续节点的地址
string
IP
=
3
;
//候选节点的运行IP
int64
votes
=
4
;
//候选节点的投票数
int64
status
=
5
;
//候选节点的状态,0:注册,1:当选,2:取消注册
int64
preStatus
=
6
;
int64
startTime
=
7
;
//创建候选者的时间
int64
startHeight
=
8
;
//创建候选者的时间
string
startTxHash
=
9
;
//创建候选者的交易hash
int64
startIndex
=
10
;
//创建候选者的交易index
int64
index
=
11
;
int64
preIndex
=
12
;
repeated
DposVoter
voters
=
13
;
}
//DposVoter 投票者信息
message
DposVoter
{
bytes
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//后续节点的地址
string
IP
=
3
;
//候选节点的运行IP
int64
votes
=
4
;
//候选节点的投票数
int64
status
=
5
;
//候选节点的状态,0:注册,1:当选,2:取消注册
int64
preStatus
=
6
;
int64
startTime
=
7
;
//创建候选者的时间
int64
startHeight
=
8
;
//创建候选者的时间
string
startTxHash
=
9
;
//创建候选者的交易hash
int64
startIndex
=
10
;
//创建候选者的交易index
int64
index
=
11
;
int64
preIndex
=
12
;
repeated
DposVoter
voters
=
13
;
}
//
DposVoter 投票者信息
message
DposVoter
{
string
fromAddr
=
1
;
bytes
pubkey
=
2
;
//候选节点的公钥
int64
votes
=
3
;
//投给候选节点的票数,不能超过锁在合约中的未使用票数
bytes
pubkey
=
2
;
//候选节点的公钥
int64
votes
=
3
;
//投给候选节点的票数,不能超过锁在合约中的未使用票数
int64
index
=
4
;
int64
time
=
5
;
}
//Candidator 候选节点信息
//
Candidator 候选节点信息
message
Candidator
{
bytes
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//后续节点的地址
string
IP
=
3
;
//候选节点的运行IP
int64
votes
=
4
;
//候选节点的投票数
int64
status
=
5
;
//候选节点的状态,0:注册,1:当选,2:取消注册
bytes
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//后续节点的地址
string
IP
=
3
;
//候选节点的运行IP
int64
votes
=
4
;
//候选节点的投票数
int64
status
=
5
;
//候选节点的状态,0:注册,1:当选,2:取消注册
}
//DposCandidatorRegist 注册Dpos候选节点,必须抵押一定数量的币,比如:10000个币
message
DposCandidatorRegist
{
string
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//候选节点的地址
string
IP
=
3
;
//候选节点的共识IP地址
//
DposCandidatorRegist 注册Dpos候选节点,必须抵押一定数量的币,比如:10000个币
message
DposCandidatorRegist
{
string
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//候选节点的地址
string
IP
=
3
;
//候选节点的共识IP地址
}
//DposCandidatorCancelRegist 注销Dpos候选节点,解冻抵押的币
message
DposCandidatorCancelRegist
{
string
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//候选节点的地址
//
DposCandidatorCancelRegist 注销Dpos候选节点,解冻抵押的币
message
DposCandidatorCancelRegist
{
string
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//候选节点的地址
}
//DposVote 为Dpos候选节点投票
message
DposVote
{
string
fromAddr
=
1
;
string
pubkey
=
2
;
//候选节点的公钥
int64
votes
=
3
;
//投给候选节点的票数,不能超过锁在合约中的未使用票数
//
DposVote 为Dpos候选节点投票
message
DposVote
{
string
fromAddr
=
1
;
string
pubkey
=
2
;
//候选节点的公钥
int64
votes
=
3
;
//投给候选节点的票数,不能超过锁在合约中的未使用票数
}
//DposCancelVote 撤销为Dpos候选节点投票
message
DposCancelVote
{
string
pubkey
=
1
;
//候选节点的公钥
int64
index
=
3
;
//
DposCancelVote 撤销为Dpos候选节点投票
message
DposCancelVote
{
string
pubkey
=
1
;
//候选节点的公钥
int64
index
=
3
;
}
//DposVoteAction DposVote动作
//
DposVoteAction DposVote动作
message
DposVoteAction
{
oneof
value
{
DposCandidatorRegist
regist
=
1
;
DposCandidatorRegist
regist
=
1
;
DposCandidatorCancelRegist
cancelRegist
=
2
;
DposCandidatorRegist
reRegist
=
3
;
DposVote
vote
=
4
;
DposCancelVote
cancelVote
=
5
;
CandidatorQuery
candidatorQuery
=
6
;
DposVoteQuery
voteQuery
=
7
;
DposVrfMRegist
registVrfM
=
8
;
DposVrfRPRegist
registVrfRP
=
9
;
DposVrfQuery
vrfQuery
=
10
;
DposCBInfo
recordCB
=
11
;
DposCBQuery
cbQuery
=
12
;
TopNCandidatorRegist
registTopN
=
13
;
TopNCandidatorsQuery
topNQuery
=
14
;
DposCandidatorRegist
reRegist
=
3
;
DposVote
vote
=
4
;
DposCancelVote
cancelVote
=
5
;
CandidatorQuery
candidatorQuery
=
6
;
DposVoteQuery
voteQuery
=
7
;
DposVrfMRegist
registVrfM
=
8
;
DposVrfRPRegist
registVrfRP
=
9
;
DposVrfQuery
vrfQuery
=
10
;
DposCBInfo
recordCB
=
11
;
DposCBQuery
cbQuery
=
12
;
TopNCandidatorRegist
registTopN
=
13
;
TopNCandidatorsQuery
topNQuery
=
14
;
}
int32
ty
=
15
;
}
//CandidatorQuery 候选节点查询
message
CandidatorQuery
{
repeated
string
pubkeys
=
1
;
//候选节点公钥集合
int32
topN
=
2
;
//
topN
int32
ty
=
3
;
//
1:按公钥集合查询,2:按topN票数查询
//
CandidatorQuery 候选节点查询
message
CandidatorQuery
{
repeated
string
pubkeys
=
1
;
//候选节点公钥集合
int32
topN
=
2
;
//
topN
int32
ty
=
3
;
//
1:按公钥集合查询,2:按topN票数查询
}
//JSONCandidator 候选节点Json格式信息
// JSONCandidator 候选节点Json格式信息
message
JSONCandidator
{
string
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//后续节点的地址
string
IP
=
3
;
//候选节点的运行IP
int64
votes
=
4
;
//候选节点的投票数
int64
status
=
5
;
//候选节点的状态,0:注册,1:当选,2:取消注册
string
pubkey
=
1
;
//候选节点的公钥
string
address
=
2
;
//后续节点的地址
string
IP
=
3
;
//候选节点的运行IP
int64
votes
=
4
;
//候选节点的投票数
int64
status
=
5
;
//候选节点的状态,0:注册,1:当选,2:取消注册
}
//CandidatorReply 候选节点查询响应
message
CandidatorReply
{
repeated
JSONCandidator
candidators
=
1
;
//候选节点
//
CandidatorReply 候选节点查询响应
message
CandidatorReply
{
repeated
JSONCandidator
candidators
=
1
;
//候选节点
}
//DposVoteQuery 投票查询
message
DposVoteQuery
{
repeated
string
pubkeys
=
1
;
//候选节点的公钥,如果为空,则查询所有,否则,查询该地址给具体候选节点的投票
string
addr
=
2
;
//要查询的地址
//
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
;
//投给候选节点的票数,不能超过锁在合约中的未使用票数
string
pubkey
=
2
;
//候选节点的公钥
int64
votes
=
3
;
//投给候选节点的票数,不能超过锁在合约中的未使用票数
int64
index
=
4
;
int64
time
=
5
;
}
//DposVoteReply 投票查询响应
message
DposVoteReply
{
repeated
JSONDposVoter
votes
=
1
;
//某地址对具体候选节点的投票情况
//
DposVoteReply 投票查询响应
message
DposVoteReply
{
repeated
JSONDposVoter
votes
=
1
;
//某地址对具体候选节点的投票情况
}
//ReceiptCandicator 候选者收据信息
//
ReceiptCandicator 候选者收据信息
message
ReceiptCandicator
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
string
address
=
3
;
int64
status
=
4
;
int64
preStatus
=
5
;
bool
statusChange
=
6
;
int32
voteType
=
7
;
DposVoter
vote
=
8
;
string
fromAddr
=
9
;
CandidatorInfo
candInfo
=
10
;
int64
time
=
11
;
}
//DposVrfM VrfM信息
message
DposVrfM
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
int64
cycle
=
3
;
int64
height
=
4
;
bytes
m
=
5
;
//vrf的输入
int64
time
=
6
;
int64
cycleStart
=
7
;
int64
cycleMiddle
=
8
;
int64
cycleStop
=
9
;
}
//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
int64
time
=
8
;
int64
cycleStart
=
9
;
int64
cycleMiddle
=
10
;
int64
cycleStop
=
11
;
}
//DposVrfMRegist VrfM注册请求
message
DposVrfMRegist
{
string
pubkey
=
1
;
int64
cycle
=
2
;
string
m
=
3
;
//vrf的输入
}
//DposVrfRPRegist VrfRP注册请求
message
DposVrfRPRegist
{
string
pubkey
=
1
;
int64
cycle
=
2
;
string
r
=
3
;
//vrf的hash
string
p
=
4
;
//vrf的hash的proof
}
//ReceiptVrf vrf收据信息
int64
Index
=
1
;
bytes
pubkey
=
2
;
string
address
=
3
;
int64
status
=
4
;
int64
preStatus
=
5
;
bool
statusChange
=
6
;
int32
voteType
=
7
;
DposVoter
vote
=
8
;
string
fromAddr
=
9
;
CandidatorInfo
candInfo
=
10
;
int64
time
=
11
;
}
// DposVrfM VrfM信息
message
DposVrfM
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
int64
cycle
=
3
;
int64
height
=
4
;
bytes
m
=
5
;
// vrf的输入
int64
time
=
6
;
int64
cycleStart
=
7
;
int64
cycleMiddle
=
8
;
int64
cycleStop
=
9
;
}
// 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
int64
time
=
8
;
int64
cycleStart
=
9
;
int64
cycleMiddle
=
10
;
int64
cycleStop
=
11
;
}
// DposVrfMRegist VrfM注册请求
message
DposVrfMRegist
{
string
pubkey
=
1
;
int64
cycle
=
2
;
string
m
=
3
;
// vrf的输入
}
// DposVrfRPRegist VrfRP注册请求
message
DposVrfRPRegist
{
string
pubkey
=
1
;
int64
cycle
=
2
;
string
r
=
3
;
// vrf的hash
string
p
=
4
;
// vrf的hash的proof
}
// ReceiptVrf vrf收据信息
message
ReceiptVrf
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
int64
status
=
3
;
int64
cycle
=
4
;
int64
height
=
5
;
bytes
m
=
6
;
bytes
r
=
7
;
bytes
p
=
8
;
int64
time
=
9
;
int64
cycleStart
=
10
;
int64
cycleMiddle
=
11
;
int64
cycleStop
=
12
;
}
//VrfInfo vrf信息
int64
Index
=
1
;
bytes
pubkey
=
2
;
int64
status
=
3
;
int64
cycle
=
4
;
int64
height
=
5
;
bytes
m
=
6
;
bytes
r
=
7
;
bytes
p
=
8
;
int64
time
=
9
;
int64
cycleStart
=
10
;
int64
cycleMiddle
=
11
;
int64
cycleStop
=
12
;
}
//
VrfInfo vrf信息
message
VrfInfo
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
int64
cycle
=
4
;
int64
height
=
5
;
bytes
m
=
6
;
bytes
r
=
7
;
bytes
p
=
8
;
int64
time
=
9
;
int64
Index
=
1
;
bytes
pubkey
=
2
;
int64
cycle
=
4
;
int64
height
=
5
;
bytes
m
=
6
;
bytes
r
=
7
;
bytes
p
=
8
;
int64
time
=
9
;
}
//DposVrfQuery vrf查询请求
message
DposVrfQuery
{
repeated
string
pubkeys
=
1
;
int64
ty
=
2
;
int64
timestamp
=
3
;
int64
cycle
=
4
;
//
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
;
int64
cycle
=
4
;
int64
height
=
5
;
string
m
=
6
;
string
r
=
7
;
string
p
=
8
;
int64
time
=
9
;
}
//DposVrfReply vrf查询响应
message
DposVrfReply
{
int64
Index
=
1
;
string
pubkey
=
2
;
int64
cycle
=
4
;
int64
height
=
5
;
string
m
=
6
;
string
r
=
7
;
string
p
=
8
;
int64
time
=
9
;
}
//
DposVrfReply vrf查询响应
message
DposVrfReply
{
repeated
JSONVrfInfo
vrf
=
1
;
}
//DposCycleBoundaryInfo cycle边界信息
//
DposCycleBoundaryInfo cycle边界信息
message
DposCycleBoundaryInfo
{
int64
cycle
=
1
;
int64
stopHeight
=
2
;
bytes
stopHash
=
3
;
bytes
pubkey
=
4
;
bytes
signature
=
5
;
int64
cycle
=
1
;
int64
stopHeight
=
2
;
bytes
stopHash
=
3
;
bytes
pubkey
=
4
;
bytes
signature
=
5
;
}
//DposCBInfo cycle边界记录请求消息
//
DposCBInfo cycle边界记录请求消息
message
DposCBInfo
{
int64
cycle
=
1
;
int64
stopHeight
=
2
;
string
stopHash
=
3
;
string
pubkey
=
4
;
string
signature
=
5
;
int64
cycle
=
1
;
int64
stopHeight
=
2
;
string
stopHash
=
3
;
string
pubkey
=
4
;
string
signature
=
5
;
}
//DposCBQuery cycle边界记录查询请求
//
DposCBQuery cycle边界记录查询请求
message
DposCBQuery
{
int64
cycle
=
1
;
int64
stopHeight
=
2
;
string
stopHash
=
3
;
int32
ty
=
4
;
int64
cycle
=
1
;
int64
stopHeight
=
2
;
string
stopHash
=
3
;
int32
ty
=
4
;
}
//DposCBReply cycle边界记录查询响应
//
DposCBReply cycle边界记录查询响应
message
DposCBReply
{
DposCBInfo
cbInfo
=
1
;
}
//ReceiptCB CycleBoundary收据信息
//
ReceiptCB CycleBoundary收据信息
message
ReceiptCB
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
int64
status
=
3
;
int64
cycle
=
4
;
int64
height
=
5
;
int64
time
=
6
;
int64
cycleStart
=
7
;
int64
cycleMiddle
=
8
;
int64
cycleStop
=
9
;
DposCycleBoundaryInfo
cbInfo
=
10
;
}
//TopNCandidator topN候选者
message
TopNCandidator
{
repeated
Candidator
cands
=
1
;
bytes
hash
=
2
;
int64
height
=
3
;
bytes
signerPubkey
=
4
;
bytes
signature
=
5
;
}
//TopNCandidators topN候选者(复数)
message
TopNCandidators
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
int64
status
=
3
;
int64
cycle
=
4
;
int64
height
=
5
;
int64
time
=
6
;
int64
cycleStart
=
7
;
int64
cycleMiddle
=
8
;
int64
cycleStop
=
9
;
DposCycleBoundaryInfo
cbInfo
=
10
;
}
//
TopNCandidator topN候选者
message
TopNCandidator
{
repeated
Candidator
cands
=
1
;
bytes
hash
=
2
;
int64
height
=
3
;
bytes
signerPubkey
=
4
;
bytes
signature
=
5
;
}
//
TopNCandidators topN候选者(复数)
message
TopNCandidators
{
repeated
TopNCandidator
candsVotes
=
1
;
int64
version
=
2
;
int64
status
=
3
;
int64
version
=
2
;
int64
status
=
3
;
repeated
Candidator
finalCands
=
4
;
}
//TopNCandidatorRegist topN候选者注册请求
message
TopNCandidatorRegist
{
TopNCandidator
cand
=
1
;
//
TopNCandidatorRegist topN候选者注册请求
message
TopNCandidatorRegist
{
TopNCandidator
cand
=
1
;
}
//TopNCandidatorsQuery topN候选者查询请求
message
TopNCandidatorsQuery
{
int64
version
=
1
;
//
TopNCandidatorsQuery topN候选者查询请求
message
TopNCandidatorsQuery
{
int64
version
=
1
;
}
//TopNCandidatorsReply topN候选者查询响应
message
TopNCandidatorsReply
{
TopNCandidators
topN
=
1
;
//
TopNCandidatorsReply topN候选者查询响应
message
TopNCandidatorsReply
{
TopNCandidators
topN
=
1
;
}
//ReceiptTopN topN注册的收据信息
//
ReceiptTopN topN注册的收据信息
message
ReceiptTopN
{
int64
Index
=
1
;
bytes
pubkey
=
2
;
int64
status
=
3
;
int64
version
=
4
;
int64
height
=
5
;
int64
time
=
6
;
TopNCandidator
topN
=
10
;
int64
Index
=
1
;
bytes
pubkey
=
2
;
int64
status
=
3
;
int64
version
=
4
;
int64
height
=
5
;
int64
time
=
6
;
TopNCandidator
topN
=
10
;
}
plugin/dapp/echo/proto/echo.proto
View file @
3ef9413b
...
...
@@ -3,38 +3,38 @@ package echo;
// ping操作action
message
Ping
{
string
msg
=
1
;
string
msg
=
1
;
}
// pang操作action
message
Pang
{
string
msg
=
1
;
string
msg
=
1
;
}
// 本执行器的统一Action结构
message
EchoAction
{
oneof
value
{
Ping
ping
=
1
;
Pang
pang
=
2
;
Ping
ping
=
1
;
Pang
pang
=
2
;
}
int32
ty
=
3
;
}
// ping操作生成的日志结构
message
PingLog
{
string
msg
=
1
;
string
echo
=
2
;
int32
count
=
3
;
string
msg
=
1
;
string
echo
=
2
;
int32
count
=
3
;
}
// pang操作生成的日志结构
message
PangLog
{
string
msg
=
1
;
string
echo
=
2
;
int32
count
=
3
;
string
msg
=
1
;
string
echo
=
2
;
int32
count
=
3
;
}
// 查询请求结构
message
Query
{
string
msg
=
1
;
string
msg
=
1
;
}
// 查询结果结构
message
QueryResult
{
string
msg
=
1
;
int32
count
=
2
;
string
msg
=
1
;
int32
count
=
2
;
}
\ No newline at end of file
plugin/dapp/evm/proto/evmcontract.proto
View file @
3ef9413b
...
...
@@ -149,33 +149,33 @@ message EvmQueryResp {
}
message
EvmContractCreateReq
{
string
code
=
1
;
int64
fee
=
2
;
string
note
=
3
;
string
alias
=
4
;
string
caller
=
5
;
string
abi
=
6
;
string
expire
=
7
;
string
paraName
=
8
;
string
code
=
1
;
int64
fee
=
2
;
string
note
=
3
;
string
alias
=
4
;
string
caller
=
5
;
string
abi
=
6
;
string
expire
=
7
;
string
paraName
=
8
;
}
message
EvmContractCallReq
{
uint64
amount
=
1
;
string
code
=
2
;
int64
fee
=
3
;
string
note
=
4
;
string
caller
=
5
;
string
abi
=
6
;
string
exec
=
7
;
string
expire
=
8
;
string
paraName
=
9
;
uint64
amount
=
1
;
string
code
=
2
;
int64
fee
=
3
;
string
note
=
4
;
string
caller
=
5
;
string
abi
=
6
;
string
exec
=
7
;
string
expire
=
8
;
string
paraName
=
9
;
}
message
EvmContractTransferReq
{
string
caller
=
1
;
float
amount
=
2
;
string
exec
=
3
;
string
expire
=
4
;
bool
isWithdraw
=
5
;
string
paraName
=
6
;
string
caller
=
1
;
float
amount
=
2
;
string
exec
=
3
;
string
expire
=
4
;
bool
isWithdraw
=
5
;
string
paraName
=
6
;
}
\ No newline at end of file
plugin/dapp/exchange/proto/exchange.proto
View file @
3ef9413b
syntax
=
"proto3"
;
package
types
;
message
Exchange
{
}
message
Exchange
{}
message
ExchangeAction
{
oneof
value
{
LimitOrder
limitOrder
=
1
;
LimitOrder
limitOrder
=
1
;
MarketOrder
marketOrder
=
2
;
RevokeOrder
revokeOrder
=
3
;
}
...
...
@@ -15,11 +14,11 @@ message ExchangeAction {
//限价订单
message
LimitOrder
{
//交易对
asset
leftAsset
=
1
;
asset
leftAsset
=
1
;
//交易对
asset
rightAsset
=
2
;
asset
rightAsset
=
2
;
//价格
int64
price
=
3
;
int64
price
=
3
;
//总量
int64
amount
=
4
;
//操作, 1为买,2为卖
...
...
@@ -29,7 +28,7 @@ message LimitOrder {
//市价委托
message
MarketOrder
{
//资产1
asset
leftAsset
=
1
;
asset
leftAsset
=
1
;
//资产2
asset
rightAsset
=
2
;
//总量
...
...
@@ -41,7 +40,7 @@ message MarketOrder {
//撤回订单
message
RevokeOrder
{
//订单号
int64
orderID
=
1
;
int64
orderID
=
1
;
}
//资产类型
message
asset
{
...
...
@@ -51,9 +50,9 @@ message asset {
//订单信息
message
Order
{
int64
orderID
=
1
;
int64
orderID
=
1
;
oneof
value
{
LimitOrder
limitOrder
=
2
;
LimitOrder
limitOrder
=
2
;
MarketOrder
marketOrder
=
3
;
}
//挂单类型
...
...
@@ -63,7 +62,7 @@ message Order {
//成交均价
int64
AVG_price
=
6
;
//余额
int64
balance
=
7
;
int64
balance
=
7
;
//状态,0 挂单中ordered, 1 完成completed, 2撤回 revoked
int32
status
=
8
;
//用户地址
...
...
@@ -77,24 +76,24 @@ message Order {
//查询接口
message
QueryMarketDepth
{
//资产1
asset
leftAsset
=
1
;
asset
leftAsset
=
1
;
//资产2
asset
rightAsset
=
2
;
//操作, 1为买,2为卖
int32
op
=
3
;
// 这里用价格作为索引值
string
primaryKey
=
4
;
string
primaryKey
=
4
;
//单页返回多少条记录,默认返回10条,为了系统安全最多单次只能返回20条
int32
count
=
5
;
}
//市场深度
message
MarketDepth
{
//资产1
asset
leftAsset
=
1
;
asset
leftAsset
=
1
;
//资产2
asset
rightAsset
=
2
;
//价格
int64
price
=
3
;
int64
price
=
3
;
//总量
int64
amount
=
4
;
//操作, 1为买,2为卖
...
...
@@ -102,14 +101,14 @@ message MarketDepth {
}
//查询接口返回的市场深度列表
message
MarketDepthList
{
repeated
MarketDepth
list
=
1
;
string
primaryKey
=
2
;
repeated
MarketDepth
list
=
1
;
string
primaryKey
=
2
;
}
//查询最新得成交信息,外部接口
message
QueryHistoryOrderList
{
//资产1
asset
leftAsset
=
1
;
asset
leftAsset
=
1
;
//资产2
asset
rightAsset
=
2
;
// 索引值
...
...
@@ -122,7 +121,7 @@ message QueryHistoryOrderList {
//根据orderID去查询订单信息
message
QueryOrder
{
int64
orderID
=
1
;
int64
orderID
=
1
;
}
//根据地址,状态查询用户自己的挂单信息
message
QueryOrderList
{
...
...
@@ -139,17 +138,14 @@ message QueryOrderList {
}
//订单列表
message
OrderList
{
repeated
Order
list
=
1
;
string
primaryKey
=
2
;
repeated
Order
list
=
1
;
string
primaryKey
=
2
;
}
//exchange执行票据日志
// exchange执行票据日志
message
ReceiptExchange
{
Order
order
=
1
;
Order
order
=
1
;
repeated
Order
matchOrders
=
2
;
int64
index
=
3
;
}
service
exchange
{
int64
index
=
3
;
}
service
exchange
{}
plugin/dapp/guess/proto/guess.proto
View file @
3ef9413b
...
...
@@ -4,235 +4,234 @@ import "transaction.proto";
package
types
;
//GuessGame 竞猜游戏详情
//
GuessGame 竞猜游戏详情
message
GuessGame
{
string
gameID
=
1
;
//游戏ID
int32
status
=
2
;
//游戏的状态:创建->投注->截止投注->开奖
int32
preStatus
=
3
;
int64
startTime
=
4
;
//创建游戏的时间
int64
startHeight
=
5
;
//创建游戏的时间
string
startTxHash
=
6
;
//创建游戏的交易hash
int64
startIndex
=
7
;
//创建游戏的交易index
string
topic
=
8
;
//主题
string
category
=
9
;
//分类
string
options
=
10
;
//选项
int64
maxBetHeight
=
11
;
//截止下注的块高
int64
maxBetsOneTime
=
12
;
//单次可以下多少注,默认100
int64
maxBetsNumber
=
13
;
//最多可以下多少注
int64
devFeeFactor
=
14
;
//开发者抽成比例
string
devFeeAddr
=
15
;
//开发者地址
int64
platFeeFactor
=
16
;
//平台抽成比例
string
platFeeAddr
=
17
;
//平台地址
int64
expireHeight
=
18
;
//游戏过期区块高度
string
adminAddr
=
19
;
//游戏创建者地址,只有该地址可以开奖
int64
betsNumber
=
20
;
//已下注数,如果数量达到maxBetsNumber,则不允许再下注
repeated
GuessPlayer
plays
=
21
;
//参与游戏下注的玩家投注信息
string
result
=
22
;
//公布的中奖结果
GuessBetStat
betStat
=
23
;
int64
index
=
24
;
int64
preIndex
=
25
;
bool
drivenByAdmin
=
26
;
}
//GuessPlayer 竞猜玩家信息
string
gameID
=
1
;
//游戏ID
int32
status
=
2
;
//游戏的状态:创建->投注->截止投注->开奖
int32
preStatus
=
3
;
int64
startTime
=
4
;
//创建游戏的时间
int64
startHeight
=
5
;
//创建游戏的时间
string
startTxHash
=
6
;
//创建游戏的交易hash
int64
startIndex
=
7
;
//创建游戏的交易index
string
topic
=
8
;
//主题
string
category
=
9
;
//分类
string
options
=
10
;
//选项
int64
maxBetHeight
=
11
;
//截止下注的块高
int64
maxBetsOneTime
=
12
;
//单次可以下多少注,默认100
int64
maxBetsNumber
=
13
;
//最多可以下多少注
int64
devFeeFactor
=
14
;
//开发者抽成比例
string
devFeeAddr
=
15
;
//开发者地址
int64
platFeeFactor
=
16
;
//平台抽成比例
string
platFeeAddr
=
17
;
//平台地址
int64
expireHeight
=
18
;
//游戏过期区块高度
string
adminAddr
=
19
;
//游戏创建者地址,只有该地址可以开奖
int64
betsNumber
=
20
;
//已下注数,如果数量达到maxBetsNumber,则不允许再下注
repeated
GuessPlayer
plays
=
21
;
//参与游戏下注的玩家投注信息
string
result
=
22
;
//公布的中奖结果
GuessBetStat
betStat
=
23
;
int64
index
=
24
;
int64
preIndex
=
25
;
bool
drivenByAdmin
=
26
;
}
//
GuessPlayer 竞猜玩家信息
message
GuessPlayer
{
string
addr
=
1
;
GuessBet
bet
=
2
;
string
addr
=
1
;
GuessBet
bet
=
2
;
}
//GuessBet 竞猜下注信息
//
GuessBet 竞猜下注信息
message
GuessBet
{
string
option
=
1
;
string
option
=
1
;
int64
betsNumber
=
2
;
bool
isWinner
=
3
;
int64
profit
=
4
;
int64
index
=
5
;
int64
preIndex
=
6
;
bool
isWinner
=
3
;
int64
profit
=
4
;
int64
index
=
5
;
int64
preIndex
=
6
;
}
//GuessBetStat 竞猜下注统计信息
//
GuessBetStat 竞猜下注统计信息
message
GuessBetStat
{
int64
totalBetTimes
=
1
;
int64
totalBetsNumber
=
2
;
int64
totalBetTimes
=
1
;
int64
totalBetsNumber
=
2
;
repeated
GuessBetStatItem
items
=
3
;
}
//GuessBetStat 竞猜下注子选项统计信息
//
GuessBetStat 竞猜下注子选项统计信息
message
GuessBetStatItem
{
string
option
=
1
;
int64
betsNumber
=
2
;
int64
betsTimes
=
3
;
string
option
=
1
;
int64
betsNumber
=
2
;
int64
betsTimes
=
3
;
}
//GuessGameAction 竞猜游戏动作
//
GuessGameAction 竞猜游戏动作
message
GuessGameAction
{
oneof
value
{
GuessGameStart
start
=
1
;
GuessGameBet
bet
=
2
;
GuessGameStart
start
=
1
;
GuessGameBet
bet
=
2
;
GuessGameStopBet
stopBet
=
3
;
GuessGameAbort
abort
=
4
;
GuessGameAbort
abort
=
4
;
GuessGamePublish
publish
=
5
;
GuessGameQuery
query
=
6
;
GuessGameQuery
query
=
6
;
}
int32
ty
=
7
;
}
//GuessGameStart 游戏创建
message
GuessGameStart
{
string
topic
=
1
;
string
options
=
2
;
string
category
=
3
;
int64
maxBetHeight
=
4
;
int64
maxBetsOneTime
=
5
;
int64
maxBetsNumber
=
6
;
int64
devFeeFactor
=
7
;
//开发者抽成比例
string
devFeeAddr
=
8
;
//开发者地址
int64
platFeeFactor
=
9
;
//平台抽成比例
string
platFeeAddr
=
10
;
//平台地址
int64
expireHeight
=
11
;
bool
drivenByAdmin
=
12
;
}
//GuessGameBet 参与游戏下注
message
GuessGameBet
{
string
gameID
=
1
;
string
option
=
2
;
int64
betsNum
=
3
;
// GuessGameStart 游戏创建
message
GuessGameStart
{
string
topic
=
1
;
string
options
=
2
;
string
category
=
3
;
int64
maxBetHeight
=
4
;
int64
maxBetsOneTime
=
5
;
int64
maxBetsNumber
=
6
;
int64
devFeeFactor
=
7
;
//开发者抽成比例
string
devFeeAddr
=
8
;
//开发者地址
int64
platFeeFactor
=
9
;
//平台抽成比例
string
platFeeAddr
=
10
;
//平台地址
int64
expireHeight
=
11
;
bool
drivenByAdmin
=
12
;
}
//GuessGameStopBet 游戏停止下注
message
GuessGameStopBet
{
string
gameID
=
1
;
// GuessGameBet 参与游戏下注
message
GuessGameBet
{
string
gameID
=
1
;
string
option
=
2
;
int64
betsNum
=
3
;
}
//
GuessGameAbort 游戏异常终止,退还
下注
message
GuessGame
Abort
{
string
gameID
=
1
;
//
GuessGameStopBet 游戏停止
下注
message
GuessGame
StopBet
{
string
gameID
=
1
;
}
//GuessGamePublish 游戏结果揭晓
message
GuessGamePublish
{
string
gameID
=
1
;
string
result
=
2
;
// GuessGameAbort 游戏异常终止,退还下注
message
GuessGameAbort
{
string
gameID
=
1
;
}
//
GuessGameQuery 查询游戏结果
message
GuessGame
Query
{
string
gameID
=
1
;
uint32
ty
=
2
;
//
GuessGamePublish 游戏结果揭晓
message
GuessGame
Publish
{
string
gameID
=
1
;
string
result
=
2
;
}
//
QueryGuessGameInfo 游戏信息查询消息
message
QueryGuessGameInfo
{
//
GuessGameQuery 查询游戏结果
message
GuessGameQuery
{
string
gameID
=
1
;
string
addr
=
2
;
int32
status
=
3
;
int64
index
=
4
;
string
adminAddr
=
5
;
string
category
=
6
;
string
primaryKey
=
7
;
uint32
ty
=
2
;
}
//ReplyGuessGameInfo 游戏信息查询响应消息
// QueryGuessGameInfo 游戏信息查询消息
message
QueryGuessGameInfo
{
string
gameID
=
1
;
string
addr
=
2
;
int32
status
=
3
;
int64
index
=
4
;
string
adminAddr
=
5
;
string
category
=
6
;
string
primaryKey
=
7
;
}
// 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
;
int32
preStatus
=
3
;
int32
status
=
4
;
string
addr
=
5
;
string
adminAddr
=
6
;
int64
preIndex
=
7
;
int64
index
=
8
;
string
category
=
9
;
bool
statusChange
=
10
;
bool
bet
=
11
;
string
option
=
12
;
int64
betsNumber
=
13
;
GuessGame
game
=
14
;
}
//UserBet 用户下注信息
int64
startIndex
=
1
;
string
gameID
=
2
;
int32
preStatus
=
3
;
int32
status
=
4
;
string
addr
=
5
;
string
adminAddr
=
6
;
int64
preIndex
=
7
;
int64
index
=
8
;
string
category
=
9
;
bool
statusChange
=
10
;
bool
bet
=
11
;
string
option
=
12
;
int64
betsNumber
=
13
;
GuessGame
game
=
14
;
}
//
UserBet 用户下注信息
message
UserBet
{
int64
startIndex
=
1
;
int64
index
=
2
;
string
gameID
=
3
;
string
addr
=
4
;
string
option
=
5
;
int64
betsNumber
=
6
;
int64
startIndex
=
1
;
int64
index
=
2
;
string
gameID
=
3
;
string
addr
=
4
;
string
option
=
5
;
int64
betsNumber
=
6
;
}
//GuessStartTxReq 构造start交易的请求
//
GuessStartTxReq 构造start交易的请求
message
GuessStartTxReq
{
string
topic
=
1
;
string
options
=
2
;
string
category
=
3
;
int64
maxHeight
=
4
;
int64
maxBetHeight
=
5
;
int64
maxBetsOneTime
=
6
;
int64
maxBetsNumber
=
7
;
int64
devFeeFactor
=
8
;
string
devFeeAddr
=
9
;
int64
platFeeFactor
=
10
;
string
platFeeAddr
=
11
;
int64
expireHeight
=
12
;
int64
fee
=
13
;
}
//GuessBetTxReq 构造bet交易的请求
string
topic
=
1
;
string
options
=
2
;
string
category
=
3
;
int64
maxHeight
=
4
;
int64
maxBetHeight
=
5
;
int64
maxBetsOneTime
=
6
;
int64
maxBetsNumber
=
7
;
int64
devFeeFactor
=
8
;
string
devFeeAddr
=
9
;
int64
platFeeFactor
=
10
;
string
platFeeAddr
=
11
;
int64
expireHeight
=
12
;
int64
fee
=
13
;
}
//
GuessBetTxReq 构造bet交易的请求
message
GuessBetTxReq
{
string
gameID
=
1
;
string
option
=
2
;
int64
bets
=
3
;
int64
fee
=
4
;
string
gameID
=
1
;
string
option
=
2
;
int64
bets
=
3
;
int64
fee
=
4
;
}
//GuessStopBetTxReq 构造stopBet交易的请求
//
GuessStopBetTxReq 构造stopBet交易的请求
message
GuessStopBetTxReq
{
string
gameID
=
1
;
int64
fee
=
2
;
string
gameID
=
1
;
int64
fee
=
2
;
}
//GuessAbortTxReq 构造abort交易的请求
//
GuessAbortTxReq 构造abort交易的请求
message
GuessAbortTxReq
{
string
gameID
=
1
;
int64
fee
=
2
;
string
gameID
=
1
;
int64
fee
=
2
;
}
//GuessPublishTxReq 构造publish交易的请求
//
GuessPublishTxReq 构造publish交易的请求
message
GuessPublishTxReq
{
string
gameID
=
1
;
string
result
=
2
;
int64
fee
=
3
;
string
gameID
=
1
;
string
result
=
2
;
int64
fee
=
3
;
}
// GuessGameRecord game信息查询记录
message
GuessGameRecord
{
string
gameID
=
1
;
int64
startIndex
=
2
;
string
gameID
=
1
;
int64
startIndex
=
2
;
}
// GuessGameRecords game信息查询记录集
message
GuessGameRecords
{
repeated
GuessGameRecord
records
=
1
;
string
primaryKey
=
2
;
repeated
GuessGameRecord
records
=
1
;
string
primaryKey
=
2
;
}
// service guess 为guess 对外提供服务的接口
service
guess
{
//游戏开始
...
...
plugin/dapp/issuance/proto/issuance.proto
View file @
3ef9413b
...
...
@@ -4,54 +4,54 @@ package types;
// 发行信息
message
Issuance
{
string
issuanceId
=
1
;
//发行ID,一期发行对应一个ID
int64
totalBalance
=
2
;
//当期发行的总金额(ccny)
int64
debtCeiling
=
3
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
4
;
//清算比例
int64
collateralValue
=
5
;
//抵押物总数量(bty)
int64
debtValue
=
6
;
//产生的ccny数量
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
;
//发行地址
string
issuanceId
=
1
;
//发行ID,一期发行对应一个ID
int64
totalBalance
=
2
;
//当期发行的总金额(ccny)
int64
debtCeiling
=
3
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
4
;
//清算比例
int64
collateralValue
=
5
;
//抵押物总数量(bty)
int64
debtValue
=
6
;
//产生的ccny数量
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
;
//发行地址
}
// 抵押记录
message
DebtRecord
{
string
accountAddr
=
1
;
//抵押人地址
int64
startTime
=
2
;
//抵押时间
int64
collateralValue
=
3
;
//抵押物价值(bty)
int64
collateralPrice
=
4
;
//抵押物价格
int64
debtValue
=
5
;
//债务价值(ccny)
int64
liquidationPrice
=
6
;
//抵押物清算价格
int32
status
=
7
;
//抵押状态,是否被清算
int64
liquidateTime
=
8
;
//清算时间
int64
expireTime
=
9
;
//超时清算时间
int32
preStatus
=
10
;
//上一次抵押状态,用于告警恢复
string
debtId
=
11
;
//借贷id
string
issuId
=
12
;
//发行id
string
accountAddr
=
1
;
//抵押人地址
int64
startTime
=
2
;
//抵押时间
int64
collateralValue
=
3
;
//抵押物价值(bty)
int64
collateralPrice
=
4
;
//抵押物价格
int64
debtValue
=
5
;
//债务价值(ccny)
int64
liquidationPrice
=
6
;
//抵押物清算价格
int32
status
=
7
;
//抵押状态,是否被清算
int64
liquidateTime
=
8
;
//清算时间
int64
expireTime
=
9
;
//超时清算时间
int32
preStatus
=
10
;
//上一次抵押状态,用于告警恢复
string
debtId
=
11
;
//借贷id
string
issuId
=
12
;
//发行id
}
// 资产价格记录
message
IssuanceAssetPriceRecord
{
int64
recordTime
=
1
;
//价格记录时间
int64
btyPrice
=
2
;
//
bty价格
int64
recordTime
=
1
;
//价格记录时间
int64
btyPrice
=
2
;
//
bty价格
}
// action
message
IssuanceAction
{
oneof
value
{
IssuanceCreate
create
=
1
;
//创建一期发行
IssuanceDebt
debt
=
2
;
//抵押
IssuanceRepay
repay
=
3
;
//清算
IssuanceFeed
feed
=
4
;
//喂价
IssuanceClose
close
=
5
;
//关闭
IssuanceManage
manage
=
6
;
//全局配置
IssuanceCreate
create
=
1
;
//创建一期发行
IssuanceDebt
debt
=
2
;
//抵押
IssuanceRepay
repay
=
3
;
//清算
IssuanceFeed
feed
=
4
;
//喂价
IssuanceClose
close
=
5
;
//关闭
IssuanceManage
manage
=
6
;
//全局配置
}
int32
ty
=
10
;
}
...
...
@@ -62,10 +62,10 @@ message IssuanceManage {
// 创建发行
message
IssuanceCreate
{
int64
totalBalance
=
1
;
//发行总金额
int64
debtCeiling
=
2
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
3
;
//清算比例
int64
period
=
4
;
//发行最大期限
int64
totalBalance
=
1
;
//发行总金额
int64
debtCeiling
=
2
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
3
;
//清算比例
int64
period
=
4
;
//发行最大期限
}
// 抵押
...
...
@@ -82,9 +82,9 @@ message IssuanceRepay {
// 喂价
message
IssuanceFeed
{
int32
collType
=
1
;
//抵押物价格类型(1,bty,2,btc,3,eth...)
repeated
int64
price
=
2
;
//喂价
repeated
int64
volume
=
3
;
//成交量
int32
collType
=
1
;
//抵押物价格类型(1,bty,2,btc,3,eth...)
repeated
int64
price
=
2
;
//喂价
repeated
int64
volume
=
3
;
//成交量
}
// 借贷关闭
...
...
@@ -94,16 +94,16 @@ message IssuanceClose {
// exec_local 发行信息
message
ReceiptIssuance
{
string
issuanceId
=
1
;
string
accountAddr
=
2
;
string
debtId
=
3
;
int32
status
=
4
;
string
issuanceId
=
1
;
string
accountAddr
=
2
;
string
debtId
=
3
;
int32
status
=
4
;
}
// exec_local issuid记录信息
message
ReceiptIssuanceID
{
string
issuanceId
=
1
;
int32
status
=
2
;
string
issuanceId
=
1
;
int32
status
=
2
;
}
// exec_local 抵押记录信息列表
...
...
@@ -118,16 +118,16 @@ message ReqIssuanceInfo {
// 返回一期发行信息
message
RepIssuanceCurrentInfo
{
int32
status
=
1
;
//当期发行的状态,是否关闭
int64
totalBalance
=
2
;
//当期发行总金额(ccny)
int64
debtCeiling
=
3
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
4
;
//清算比例
int64
balance
=
5
;
//剩余可借贷金额(ccny)
int64
collateralValue
=
6
;
//抵押物总数量(bty)
int64
debtValue
=
7
;
//产生的ccny数量
int64
period
=
8
;
//发行最大期限
string
issuId
=
9
;
//发行ID
int64
createTime
=
10
;
//创建时间
int32
status
=
1
;
//当期发行的状态,是否关闭
int64
totalBalance
=
2
;
//当期发行总金额(ccny)
int64
debtCeiling
=
3
;
//单用户可借出的限额(ccny)
int64
liquidationRatio
=
4
;
//清算比例
int64
balance
=
5
;
//剩余可借贷金额(ccny)
int64
collateralValue
=
6
;
//抵押物总数量(bty)
int64
debtValue
=
7
;
//产生的ccny数量
int64
period
=
8
;
//发行最大期限
string
issuId
=
9
;
//发行ID
int64
createTime
=
10
;
//创建时间
}
// 根据ID列表查询多期发行信息
...
...
@@ -142,7 +142,7 @@ message RepIssuanceCurrentInfos {
// 根据发行状态查询
message
ReqIssuanceByStatus
{
int32
status
=
1
;
int32
status
=
1
;
string
issuanceId
=
2
;
}
...
...
@@ -155,7 +155,7 @@ message RepIssuanceIDs {
message
ReqIssuanceRecords
{
string
issuanceId
=
1
;
string
addr
=
2
;
int32
status
=
3
;
int32
status
=
3
;
string
debtId
=
4
;
}
...
...
plugin/dapp/js/proto/js.proto
View file @
3ef9413b
...
...
@@ -9,15 +9,15 @@ 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
{
oneof
value
{
Create
create
=
1
;
Call
call
=
2
;
Create
create
=
1
;
Call
call
=
2
;
}
int32
ty
=
3
;
}
...
...
plugin/dapp/lottery/proto/lottery.proto
100755 → 100644
View file @
3ef9413b
...
...
@@ -17,28 +17,28 @@ message PurchaseRecords {
}
message
Lottery
{
string
lotteryId
=
1
;
int32
status
=
2
;
int64
createHeight
=
3
;
int64
fund
=
4
;
int64
purBlockNum
=
5
;
int64
drawBlockNum
=
6
;
int64
lastTransToPurState
=
7
;
int64
lastTransToDrawState
=
8
;
//map<string, PurchaseRecords> records = 9;
int64
totalPurchasedTxNum
=
10
;
string
createAddr
=
11
;
int64
round
=
12
;
int64
luckyNumber
=
13
;
int64
createOnMain
=
14
;
int64
lastTransToPurStateOnMain
=
15
;
int64
lastTransToDrawStateOnMain
=
16
;
repeated
MissingRecord
missingRecords
=
17
;
int64
opRewardRatio
=
18
;
int64
devRewardRatio
=
19
;
repeated
PurchaseRecords
purRecords
=
20
;
int64
totalAddrNum
=
21
;
int64
buyAmount
=
22
;
string
lotteryId
=
1
;
int32
status
=
2
;
int64
createHeight
=
3
;
int64
fund
=
4
;
int64
purBlockNum
=
5
;
int64
drawBlockNum
=
6
;
int64
lastTransToPurState
=
7
;
int64
lastTransToDrawState
=
8
;
//
map<string, PurchaseRecords> records = 9;
int64
totalPurchasedTxNum
=
10
;
string
createAddr
=
11
;
int64
round
=
12
;
int64
luckyNumber
=
13
;
int64
createOnMain
=
14
;
int64
lastTransToPurStateOnMain
=
15
;
int64
lastTransToDrawStateOnMain
=
16
;
repeated
MissingRecord
missingRecords
=
17
;
int64
opRewardRatio
=
18
;
int64
devRewardRatio
=
19
;
repeated
PurchaseRecords
purRecords
=
20
;
int64
totalAddrNum
=
21
;
int64
buyAmount
=
22
;
}
message
MissingRecord
{
...
...
@@ -152,8 +152,8 @@ message ReplyLotteryCurrentInfo {
int64
purBlockNum
=
10
;
int64
drawBlockNum
=
11
;
repeated
MissingRecord
missingRecords
=
12
;
int64
totalAddrNum
=
13
;
int64
buyAmount
=
14
;
int64
totalAddrNum
=
13
;
int64
buyAmount
=
14
;
}
message
ReplyLotteryHistoryLuckyNumber
{
...
...
@@ -218,21 +218,21 @@ message ReplyLotteryPurchaseAddr {
repeated
string
address
=
1
;
}
message
LotteryGainInfos
{
message
LotteryGainInfos
{
repeated
LotteryGainInfo
gains
=
1
;
}
message
LotteryGainInfo
{
string
addr
=
1
;
int64
buyAmount
=
2
;
int64
fundAmount
=
3
;
message
LotteryGainInfo
{
string
addr
=
1
;
int64
buyAmount
=
2
;
int64
fundAmount
=
3
;
}
message
LotteryGainRecord
{
string
addr
=
1
;
int64
buyAmount
=
2
;
int64
fundAmount
=
3
;
int64
round
=
4
;
message
LotteryGainRecord
{
string
addr
=
1
;
int64
buyAmount
=
2
;
int64
fundAmount
=
3
;
int64
round
=
4
;
}
message
LotteryGainRecords
{
...
...
@@ -252,4 +252,3 @@ message ReqLotteryGainInfo {
string
addr
=
2
;
int64
round
=
3
;
}
plugin/dapp/multisig/proto/multisig.proto
View file @
3ef9413b
...
...
@@ -6,143 +6,139 @@ 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
;
repeated
Owner
owners
=
3
;
repeated
DailyLimit
dailyLimits
=
4
;
uint64
txCount
=
5
;
uint64
requiredWeight
=
6
;
string
createAddr
=
1
;
string
multiSigAddr
=
2
;
repeated
Owner
owners
=
3
;
repeated
DailyLimit
dailyLimits
=
4
;
uint64
txCount
=
5
;
uint64
requiredWeight
=
6
;
}
//这个地址是否已经确认某个交易
message
ConfirmedOwner
{
repeated
Owner
confirmedOwner
=
1
;
repeated
Owner
confirmedOwner
=
1
;
}
//记录提交的交易详情,在满足确认条件后执行data中的交易
//txHash:用于存贮提交的确认交易。存贮在localdb中,通过txhash可以获取
//
txHash:用于存贮提交的确认交易。存贮在localdb中,通过txhash可以获取
message
MultiSigTx
{
uint64
txid
=
1
;
string
txHash
=
2
;
bool
executed
=
3
;
uint64
txType
=
4
;
string
multiSigAddr
=
5
;
repeated
Owner
confirmedOwner
=
6
;
uint64
txid
=
1
;
string
txHash
=
2
;
bool
executed
=
3
;
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
MultiSigAccCreate
multiSigAccCreate
=
1
;
MultiSigOwnerOperate
multiSigOwnerOperate
=
2
;
MultiSigAccOperate
multiSigAccOperate
=
3
;
MultiSigConfirmTx
multiSigConfirmTx
=
4
;
//确认或者撤销已确认
MultiSigExecTransferTo
multiSigExecTransferTo
=
5
;
//合约中外部账户转账到多重签名账户,Addr --->multiSigAddr
MultiSigExecTransferFrom
multiSigExecTransferFrom
=
6
;
//合约中多重签名账户转账到外部账户,multiSigAddr--->Addr
}
int32
Ty
=
7
;
}
//创建多重签名账户时需要的信息:创建时最少初始化两个owners,资产的每日限额初始时可以不设置
message
MultiSigAccCreate
{
repeated
Owner
owners
=
1
;
uint64
requiredWeight
=
2
;
SymbolDailyLimit
dailyLimit
=
3
;
repeated
Owner
owners
=
1
;
uint64
requiredWeight
=
2
;
SymbolDailyLimit
dailyLimit
=
3
;
}
//对MultiSigAccount账户owner的操作:add/del/replace/modify
message
MultiSigOwnerOperate
{
string
multiSigAccAddr
=
1
;
string
oldOwner
=
2
;
string
newOwner
=
3
;
uint64
newWeight
=
4
;
uint64
operateFlag
=
5
;
string
multiSigAccAddr
=
1
;
string
oldOwner
=
2
;
string
newOwner
=
3
;
uint64
newWeight
=
4
;
uint64
operateFlag
=
5
;
}
//对MultiSigAccount账户的操作:modify/add:SymbolDailyLimit,requiredweight
//修改或者添加每日限额,或者请求权重的值。
message
MultiSigAccOperate
{
string
multiSigAccAddr
=
1
;
SymbolDailyLimit
dailyLimit
=
2
;
uint64
newRequiredWeight
=
3
;
bool
operateFlag
=
4
;
string
multiSigAccAddr
=
1
;
SymbolDailyLimit
dailyLimit
=
2
;
uint64
newRequiredWeight
=
3
;
bool
operateFlag
=
4
;
}
//多重签名合约中账户之间转币操作:增加一个from的字段实现MultiSigAddr--->addr之间的转账
//需要判断from地址是否是多重签名地址
//将MultiSig合约中from地址上execname+symbol的资产转移到to地址
message
MultiSigExecTransferFrom
{
string
symbol
=
1
;
int64
amount
=
2
;
string
note
=
3
;
string
execname
=
4
;
string
to
=
5
;
string
from
=
6
;
string
symbol
=
1
;
int64
amount
=
2
;
string
note
=
3
;
string
execname
=
4
;
string
to
=
5
;
string
from
=
6
;
}
//多重签名合约中账户之间转币操作: addr --->MultiSigAddr之间的转账
//需要判断to地址是否是多重签名地址
//将MultiSig合约中签名地址上execname+symbol的资产转移到to地址
message
MultiSigExecTransferTo
{
string
symbol
=
1
;
int64
amount
=
2
;
string
note
=
3
;
string
execname
=
4
;
string
to
=
5
;
string
symbol
=
1
;
int64
amount
=
2
;
string
note
=
3
;
string
execname
=
4
;
string
to
=
5
;
}
//多重签名账户withdraw交易的确认或者取消确认
//multisigaccaddr:多重签名账户地址
//transactionid:多重签名账户上的withdraw交易的内部id
//
multisigaccaddr:多重签名账户地址
//
transactionid:多重签名账户上的withdraw交易的内部id
message
MultiSigConfirmTx
{
string
multiSigAccAddr
=
1
;
uint64
txId
=
2
;
bool
confirmOrRevoke
=
3
;
string
multiSigAccAddr
=
1
;
uint64
txId
=
2
;
bool
confirmOrRevoke
=
3
;
}
//query的接口:
// query的接口:
//第一步:获取所有多重签名账号
//第二步:获取指定多重签名账号的状态信息:包含创建者,owners,weight权重,以及各个资产的每日限量
//第三步:获取指定多重签名账户下的peding或者executed的交易id
...
...
@@ -151,8 +147,8 @@ message MultiSigConfirmTx {
//获取所有多重签名账号
message
ReqMultiSigAccs
{
int64
start
=
1
;
int64
end
=
2
;
int64
start
=
1
;
int64
end
=
2
;
}
message
ReplyMultiSigAccs
{
...
...
@@ -161,192 +157,189 @@ message ReplyMultiSigAccs {
//获取指定多重签名账号的状态信息
message
ReqMultiSigAccInfo
{
string
multiSigAccAddr
=
1
;
string
multiSigAccAddr
=
1
;
}
//指定多重签名账号的状态信息
message
ReplyMultiSigAccInfo
{
string
createAddr
=
1
;
string
multiSigAddr
=
2
;
repeated
Owner
owners
=
3
;
repeated
DailyLimit
dailyLimits
=
4
;
uint64
txCount
=
5
;
uint64
requiredWeight
=
6
;
string
createAddr
=
1
;
string
multiSigAddr
=
2
;
repeated
Owner
owners
=
3
;
repeated
DailyLimit
dailyLimits
=
4
;
uint64
txCount
=
5
;
uint64
requiredWeight
=
6
;
}
//获取txids设置过滤条件和区间,pending, executed
message
ReqMultiSigTxids
{
string
multiSigAddr
=
1
;
uint64
fromTxId
=
2
;
uint64
toTxId
=
3
;
bool
pending
=
4
;
bool
executed
=
5
;
string
multiSigAddr
=
1
;
uint64
fromTxId
=
2
;
uint64
toTxId
=
3
;
bool
pending
=
4
;
bool
executed
=
5
;
}
message
ReplyMultiSigTxids
{
string
multiSigAddr
=
1
;
repeated
uint64
txids
=
2
;
string
multiSigAddr
=
1
;
repeated
uint64
txids
=
2
;
}
//获取txid交易的信息,以及参与确认的owner信息
message
ReqMultiSigTxInfo
{
string
multiSigAddr
=
1
;
uint64
txId
=
2
;
string
multiSigAddr
=
1
;
uint64
txId
=
2
;
}
message
ReplyMultiSigTxInfo
{
MultiSigTx
multiSigTxInfo
=
1
;
MultiSigTx
multiSigTxInfo
=
1
;
}
//获取指定资产当日剩余的免多重签名的余额
message
ReqMultiSigAccUnSpentToday
{
string
multiSigAddr
=
1
;
string
execer
=
2
;
string
symbol
=
3
;
string
multiSigAddr
=
1
;
string
execer
=
2
;
string
symbol
=
3
;
}
message
ReplyUnSpentAssets
{
repeated
UnSpentAssets
unSpentAssets
=
3
;
repeated
UnSpentAssets
unSpentAssets
=
3
;
}
message
UnSpentAssets
{
Assets
assets
=
1
;
uint64
amount
=
2
;
Assets
assets
=
1
;
uint64
amount
=
2
;
}
//交易执行结果的Receipt信息:
//TyLogMultiSigAccCreate交易的执行Receipt
message
ReceiptMultiSig
{
string
multiSigAddr
=
1
;
//
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
;
Owner
owner
=
2
;
bool
addOrDel
=
3
;
message
ReceiptOwnerAddOrDel
{
string
multiSigAddr
=
1
;
Owner
owner
=
2
;
bool
addOrDel
=
3
;
}
//TyLogMultiSigOwnerModify = 10003 //输出modify的owner:preweight以及currentweight
//TyLogMultiSigOwnerReplace = 10004 //输出old的owner的信息:以及当前的owner信息:addr+weight
message
ReceiptOwnerModOrRep
{
string
multiSigAddr
=
1
;
Owner
prevOwner
=
2
;
Owner
currentOwner
=
3
;
bool
modOrRep
=
4
;
}
//
TyLogMultiSigOwnerModify = 10003 //输出modify的owner:preweight以及currentweight
//
TyLogMultiSigOwnerReplace = 10004 //输出old的owner的信息:以及当前的owner信息:addr+weight
message
ReceiptOwnerModOrRep
{
string
multiSigAddr
=
1
;
Owner
prevOwner
=
2
;
Owner
currentOwner
=
3
;
bool
modOrRep
=
4
;
}
//多重签名账户的操作:ReqWeight,AssetDailyLimit
//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
message
ReceiptDailyLimitOperate
{
string
multiSigAddr
=
1
;
DailyLimit
prevDailyLimit
=
2
;
DailyLimit
curDailyLimit
=
3
;
bool
addOrModify
=
4
;
}
//
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
message
ReceiptDailyLimitOperate
{
string
multiSigAddr
=
1
;
DailyLimit
prevDailyLimit
=
2
;
DailyLimit
curDailyLimit
=
3
;
bool
addOrModify
=
4
;
}
//交易确认或者撤销(撤销值针对未执行的交易)
//TyLogMultiSigConfirmTx = 10008 //输出确认的交易id,以及owner信息:addr+weight
//TyLogMultiSigConfirmTxRevoke = 10009 //输出撤销确认的交易id,以及owner信息:addr+weight
message
ReceiptConfirmTx
{
MultiSigTxOwner
multiSigTxOwner
=
1
;
bool
confirmeOrRevoke
=
2
;
//
TyLogMultiSigConfirmTx = 10008 //输出确认的交易id,以及owner信息:addr+weight
//
TyLogMultiSigConfirmTxRevoke = 10009 //输出撤销确认的交易id,以及owner信息:addr+weight
message
ReceiptConfirmTx
{
MultiSigTxOwner
multiSigTxOwner
=
1
;
bool
confirmeOrRevoke
=
2
;
}
//可能会修改dailyLimit的相关属性
message
ReceiptAccDailyLimitUpdate
{
string
multiSigAddr
=
1
;
DailyLimit
prevDailyLimit
=
2
;
DailyLimit
curDailyLimit
=
3
;
message
ReceiptAccDailyLimitUpdate
{
string
multiSigAddr
=
1
;
DailyLimit
prevDailyLimit
=
2
;
DailyLimit
curDailyLimit
=
3
;
}
//执行MultiSigAcc相关的交易可能会修改tx的执行状态和增加确认owner
message
ReceiptMultiSigTx
{
MultiSigTxOwner
multiSigTxOwner
=
1
;
bool
prevExecuted
=
2
;
bool
curExecuted
=
3
;
bool
submitOrConfirm
=
4
;
string
txHash
=
5
;
uint64
txType
=
6
;
message
ReceiptMultiSigTx
{
MultiSigTxOwner
multiSigTxOwner
=
1
;
bool
prevExecuted
=
2
;
bool
curExecuted
=
3
;
bool
submitOrConfirm
=
4
;
string
txHash
=
5
;
uint64
txType
=
6
;
}
message
ReceiptTxCountUpdate
{
string
multiSigAddr
=
1
;
uint64
curTxCount
=
2
;
message
ReceiptTxCountUpdate
{
string
multiSigAddr
=
1
;
uint64
curTxCount
=
2
;
}
message
MultiSigTxOwner
{
string
multiSigAddr
=
1
;
uint64
txid
=
2
;
Owner
confirmedOwner
=
3
;
message
MultiSigTxOwner
{
string
multiSigAddr
=
1
;
uint64
txid
=
2
;
Owner
confirmedOwner
=
3
;
}
//具体转币的处理;
//
TyLogMultiSigExecTransfer = 10010
//
TyLogMultiSigExecTransfer = 10010
//入币:将from地址在MultiSig合约中的币转移到指定的多重签名账户ExecTransfer中,并将其冻结ExecFrozen
//注释:使用chain33/types中定义的ReceiptExecAccountTransfer即可
//
TyLogMultiSigWithdraw = 10011
//
TyLogMultiSigWithdraw = 10011
//出币:将多重签名地址上冻结的币转给MultiSig合约中TO地址上ExecTransferFrozen
//注释:使用chain33/types中定义的ReceiptExecAccountTransfer即可
//注释:使用chain33/types中定义的ReceiptExecAccountTransfer即可
message
Uint64
{
uint64
data
=
1
;
uint64
data
=
1
;
}
//记录账户收到固定资产的数量
message
AccountAssets
{
string
multiSigAddr
=
1
;
Assets
assets
=
2
;
int64
amount
=
3
;
string
multiSigAddr
=
1
;
Assets
assets
=
2
;
int64
amount
=
3
;
}
//获取多重签名账户上的指定资产或者所有资产
message
ReqAccAssets
{
string
multiSigAddr
=
1
;
Assets
assets
=
2
;
bool
isAll
=
3
;
string
multiSigAddr
=
1
;
Assets
assets
=
2
;
bool
isAll
=
3
;
}
message
ReplyAccAssets
{
repeated
AccAssets
accAssets
=
1
;
repeated
AccAssets
accAssets
=
1
;
}
//账户资产信息
message
AccAssets
{
Assets
assets
=
1
;
int64
recvAmount
=
2
;
Account
account
=
3
;
Assets
assets
=
1
;
int64
recvAmount
=
2
;
Account
account
=
3
;
}
message
Assets
{
string
execer
=
1
;
string
symbol
=
2
;
string
execer
=
1
;
string
symbol
=
2
;
}
//账户地址列表
message
AccAddress
{
repeated
string
address
=
1
;
repeated
string
address
=
1
;
}
//owner拥有的多重签名账户信息
//
owner拥有的多重签名账户信息
message
OwnerAttr
{
string
multiSigAddr
=
1
;
string
ownerAddr
=
2
;
uint64
weight
=
3
;
string
multiSigAddr
=
1
;
string
ownerAddr
=
2
;
uint64
weight
=
3
;
}
message
OwnerAttrs
{
repeated
OwnerAttr
items
=
1
;
repeated
OwnerAttr
items
=
1
;
}
\ No newline at end of file
plugin/dapp/norm/proto/norm.proto
View file @
3ef9413b
...
...
@@ -2,10 +2,10 @@ syntax = "proto3";
package
types
;
message
Norm
{
bytes
normId
=
1
;
int64
createTime
=
2
;
bytes
normId
=
1
;
int64
createTime
=
2
;
bytes
key
=
3
;
bytes
value
=
4
;
bytes
value
=
4
;
}
message
NormAction
{
...
...
@@ -17,7 +17,7 @@ message NormAction {
message
NormPut
{
bytes
key
=
1
;
bytes
value
=
2
;
bytes
value
=
2
;
}
message
NormGetKey
{
...
...
plugin/dapp/oracle/proto/oracle.proto
View file @
3ef9413b
...
...
@@ -4,34 +4,34 @@ package types;
//事件
message
OracleStatus
{
string
eventID
=
1
;
//事件ID
string
addr
=
2
;
//发布者地址
string
type
=
3
;
//游戏类别
string
subType
=
4
;
//游戏子类别
int64
time
=
5
;
//结果公布参考时间
string
content
=
6
;
//事件内容
string
introduction
=
7
;
//事件描述
EventStatus
status
=
8
;
//操作状态
string
source
=
9
;
//数据来源
string
result
=
10
;
//事件结果
EventStatus
preStatus
=
11
;
//上次操作后状态及操作者地址
string
eventID
=
1
;
//事件ID
string
addr
=
2
;
//发布者地址
string
type
=
3
;
//游戏类别
string
subType
=
4
;
//游戏子类别
int64
time
=
5
;
//结果公布参考时间
string
content
=
6
;
//事件内容
string
introduction
=
7
;
//事件描述
EventStatus
status
=
8
;
//操作状态
string
source
=
9
;
//数据来源
string
result
=
10
;
//事件结果
EventStatus
preStatus
=
11
;
//上次操作后状态及操作者地址
}
// action
message
OracleAction
{
oneof
value
{
EventPublish
eventPublish
=
1
;
EventAbort
eventAbort
=
2
;
ResultPrePublish
resultPrePublish
=
3
;
ResultPublish
resultPublish
=
4
;
ResultAbort
resultAbort
=
5
;
EventPublish
eventPublish
=
1
;
EventAbort
eventAbort
=
2
;
ResultPrePublish
resultPrePublish
=
3
;
ResultPublish
resultPublish
=
4
;
ResultAbort
resultAbort
=
5
;
}
int32
Ty
=
7
;
}
message
EventStatus
{
string
opAddr
=
1
;
//修改事件状态的地址
int32
status
=
2
;
//事件状态
int32
status
=
2
;
//事件状态
}
message
EventPublish
{
...
...
@@ -43,23 +43,23 @@ message EventPublish {
}
message
EventAbort
{
string
eventID
=
2
;
//发布事件的ID
string
eventID
=
2
;
//发布事件的ID
}
message
ResultPrePublish
{
string
eventID
=
2
;
//发布事件的ID
string
source
=
3
;
//数据来源
string
result
=
4
;
//发布数据
string
eventID
=
2
;
//发布事件的ID
string
source
=
3
;
//数据来源
string
result
=
4
;
//发布数据
}
message
ResultPublish
{
string
eventID
=
2
;
//发布事件的ID
string
source
=
3
;
//数据来源
string
result
=
4
;
//发布数据
string
eventID
=
2
;
//发布事件的ID
string
source
=
3
;
//数据来源
string
result
=
4
;
//发布数据
}
message
ResultAbort
{
string
eventID
=
2
;
//发布事件的ID
string
eventID
=
2
;
//发布事件的ID
}
// localDB
...
...
@@ -72,22 +72,22 @@ message QueryOracleInfos {
}
message
ReplyEventIDs
{
repeated
string
eventID
=
1
;
//发布事件的ID
repeated
string
eventID
=
1
;
//发布事件的ID
}
message
QueryEventID
{
int32
status
=
1
;
//事件状态
string
addr
=
2
;
//事件发布者的地址
string
type
=
3
;
//事件类型
string
eventID
=
4
;
//事件ID
int32
status
=
1
;
//事件状态
string
addr
=
2
;
//事件发布者的地址
string
type
=
3
;
//事件类型
string
eventID
=
4
;
//事件ID
}
message
ReceiptOracle
{
string
eventID
=
1
;
//发布事件ID
int32
status
=
2
;
//事件状态
string
addr
=
3
;
//事件发布者的地址
string
type
=
4
;
//事件类型
int32
preStatus
=
6
;
//事件的前一个状态
string
eventID
=
1
;
//发布事件ID
int32
status
=
2
;
//事件状态
string
addr
=
3
;
//事件发布者的地址
string
type
=
4
;
//事件类型
int32
preStatus
=
6
;
//事件的前一个状态
}
message
ReplyOracleStatusList
{
...
...
plugin/dapp/paracross/proto/paracross.proto
View file @
3ef9413b
...
...
@@ -8,46 +8,43 @@ package types;
// stateDB
message
ParacrossStatusDetails
{
repeated
string
addrs
=
1
;
repeated
bytes
blockHash
=
2
;
repeated
string
addrs
=
1
;
repeated
bytes
blockHash
=
2
;
}
//记录不同blockHash的详细数据
message
ParacrossStatusBlockDetails
{
repeated
bytes
blockHashs
=
1
;
repeated
bytes
txResults
=
2
;
repeated
bytes
blockHashs
=
1
;
repeated
bytes
txResults
=
2
;
}
message
ParacrossHeightStatus
{
// ing, done
int32
status
=
1
;
string
title
=
2
;
int64
height
=
3
;
ParacrossStatusDetails
details
=
4
;
int64
mainHeight
=
5
;
bytes
mainHash
=
6
;
int32
status
=
1
;
string
title
=
2
;
int64
height
=
3
;
ParacrossStatusDetails
details
=
4
;
int64
mainHeight
=
5
;
bytes
mainHash
=
6
;
ParacrossStatusBlockDetails
blockDetails
=
7
;
}
message
ParacrossHeightStatusRsp
{
int32
status
=
1
;
string
title
=
2
;
int64
height
=
3
;
int64
mainHeight
=
4
;
string
mainHash
=
5
;
repeated
string
commitAddrs
=
6
;
repeated
string
commitBlockHash
=
7
;
int32
status
=
1
;
string
title
=
2
;
int64
height
=
3
;
int64
mainHeight
=
4
;
string
mainHash
=
5
;
repeated
string
commitAddrs
=
6
;
repeated
string
commitBlockHash
=
7
;
}
message
ParacrossStatus
{
string
title
=
1
;
int64
height
=
2
;
bytes
blockHash
=
3
;
int64
mainHeight
=
4
;
bytes
mainHash
=
5
;
string
title
=
1
;
int64
height
=
2
;
bytes
blockHash
=
3
;
int64
mainHeight
=
4
;
bytes
mainHash
=
5
;
}
message
ParacrossConsensusStatus
{
...
...
@@ -58,99 +55,93 @@ message ParacrossConsensusStatus {
}
message
ParaNodeAddrConfig
{
string
title
=
1
;
uint32
op
=
2
;
string
id
=
3
;
string
addr
=
4
;
uint32
value
=
5
;
int64
coinsFrozen
=
6
;
string
title
=
1
;
uint32
op
=
2
;
string
id
=
3
;
string
addr
=
4
;
uint32
value
=
5
;
int64
coinsFrozen
=
6
;
}
message
ParaNodeVoteDetail
{
repeated
string
addrs
=
1
;
repeated
string
votes
=
2
;
repeated
string
addrs
=
1
;
repeated
string
votes
=
2
;
}
message
ParaNodeAddrIdStatus
{
string
addr
=
1
;
string
proposalId
=
2
;
string
quitId
=
3
;
int32
status
=
4
;
string
title
=
5
;
string
addr
=
1
;
string
proposalId
=
2
;
string
quitId
=
3
;
int32
status
=
4
;
string
title
=
5
;
}
message
ParaNodeIdStatus
{
string
id
=
1
;
int32
status
=
2
;
string
title
=
3
;
string
targetAddr
=
4
;
int64
coinsFrozen
=
5
;
ParaNodeVoteDetail
votes
=
6
;
string
fromAddr
=
7
;
int64
height
=
8
;
string
id
=
1
;
int32
status
=
2
;
string
title
=
3
;
string
targetAddr
=
4
;
int64
coinsFrozen
=
5
;
ParaNodeVoteDetail
votes
=
6
;
string
fromAddr
=
7
;
int64
height
=
8
;
}
message
ReceiptParaNodeConfig
{
string
addr
=
1
;
ParaNodeAddrConfig
config
=
2
;
ParaNodeIdStatus
prev
=
3
;
ParaNodeIdStatus
current
=
4
;
string
addr
=
1
;
ParaNodeAddrConfig
config
=
2
;
ParaNodeIdStatus
prev
=
3
;
ParaNodeIdStatus
current
=
4
;
}
message
ReceiptParaNodeAddrStatUpdate
{
string
fromAddr
=
1
;
ParaNodeAddrIdStatus
prev
=
2
;
ParaNodeAddrIdStatus
current
=
3
;
string
fromAddr
=
1
;
ParaNodeAddrIdStatus
prev
=
2
;
ParaNodeAddrIdStatus
current
=
3
;
}
message
ReceiptParaNodeVoteDone
{
string
id
=
1
;
string
title
=
2
;
string
targetAddr
=
3
;
int32
totalNodes
=
4
;
int32
totalVote
=
5
;
int32
mostVote
=
6
;
string
voteRst
=
7
;
int32
doneStatus
=
8
;
string
id
=
1
;
string
title
=
2
;
string
targetAddr
=
3
;
int32
totalNodes
=
4
;
int32
totalVote
=
5
;
int32
mostVote
=
6
;
string
voteRst
=
7
;
int32
doneStatus
=
8
;
}
message
ParaNodeGroupConfig
{
string
title
=
1
;
uint32
op
=
2
;
string
id
=
3
;
string
addrs
=
4
;
int64
coinsFrozen
=
5
;
string
title
=
1
;
uint32
op
=
2
;
string
id
=
3
;
string
addrs
=
4
;
int64
coinsFrozen
=
5
;
}
message
ParaNodeGroupStatus
{
string
id
=
1
;
int32
status
=
2
;
string
title
=
3
;
string
targetAddrs
=
4
;
int64
coinsFrozen
=
5
;
string
fromAddr
=
6
;
int64
height
=
7
;
string
id
=
1
;
int32
status
=
2
;
string
title
=
3
;
string
targetAddrs
=
4
;
int64
coinsFrozen
=
5
;
string
fromAddr
=
6
;
int64
height
=
7
;
}
message
ReceiptParaNodeGroupConfig
{
string
addr
=
1
;
ParaNodeGroupConfig
config
=
2
;
ParaNodeGroupStatus
prev
=
3
;
ParaNodeGroupStatus
current
=
4
;
string
addr
=
1
;
ParaNodeGroupConfig
config
=
2
;
ParaNodeGroupStatus
prev
=
3
;
ParaNodeGroupStatus
current
=
4
;
}
// node query
message
ReqParacrossNodeInfo
{
string
title
=
1
;
string
id
=
2
;
string
addr
=
3
;
int32
status
=
4
;
}
message
RespParacrossNodeAddrs
{
...
...
@@ -174,53 +165,49 @@ message ParaBlock2MainInfo {
// action
message
ParacrossNodeStatus
{
bytes
mainBlockHash
=
1
;
int64
mainBlockHeight
=
2
;
string
title
=
3
;
int64
height
=
4
;
bytes
preBlockHash
=
5
;
bytes
blockHash
=
6
;
bytes
preStateHash
=
7
;
bytes
stateHash
=
8
;
uint32
txCounts
=
9
;
bytes
txResult
=
10
;
repeated
bytes
txHashs
=
11
;
bytes
crossTxResult
=
12
;
repeated
bytes
crossTxHashs
=
13
;
uint32
nonCommitTxCounts
=
14
;
bytes
mainBlockHash
=
1
;
int64
mainBlockHeight
=
2
;
string
title
=
3
;
int64
height
=
4
;
bytes
preBlockHash
=
5
;
bytes
blockHash
=
6
;
bytes
preStateHash
=
7
;
bytes
stateHash
=
8
;
uint32
txCounts
=
9
;
bytes
txResult
=
10
;
repeated
bytes
txHashs
=
11
;
bytes
crossTxResult
=
12
;
repeated
bytes
crossTxHashs
=
13
;
uint32
nonCommitTxCounts
=
14
;
}
message
SelfConsensStages
{
repeated
SelfConsensStage
items
=
1
;
}
message
SelfConsensStage
{
int64
startHeight
=
1
;
uint32
enable
=
2
;
int64
startHeight
=
1
;
uint32
enable
=
2
;
}
message
SelfConsensStageInfo
{
string
id
=
1
;
uint32
status
=
2
;
SelfConsensStage
stage
=
3
;
string
fromAddr
=
4
;
int64
execHeight
=
5
;
ParaNodeVoteDetail
votes
=
6
;
string
id
=
1
;
uint32
status
=
2
;
SelfConsensStage
stage
=
3
;
string
fromAddr
=
4
;
int64
execHeight
=
5
;
ParaNodeVoteDetail
votes
=
6
;
}
message
LocalSelfConsStageInfo
{
SelfConsensStageInfo
stage
=
1
;
string
txIndex
=
2
;
SelfConsensStageInfo
stage
=
1
;
string
txIndex
=
2
;
}
message
ConfigVoteInfo
{
string
id
=
1
;
string
id
=
1
;
// 投票值 1:ok 2:nok
uint32
value
=
2
;
uint32
value
=
2
;
}
message
ConfigCancelInfo
{
...
...
@@ -229,74 +216,70 @@ message ConfigCancelInfo {
//广义配置类型
message
ParaStageConfig
{
string
title
=
1
;
string
title
=
1
;
// 配置类型
uint32
op
=
2
;
uint32
op
=
2
;
oneof
value
{
SelfConsensStage
stage
=
10
;
ConfigVoteInfo
vote
=
11
;
ConfigCancelInfo
cancel
=
12
;
SelfConsensStage
stage
=
10
;
ConfigVoteInfo
vote
=
11
;
ConfigCancelInfo
cancel
=
12
;
}
}
message
ReceiptSelfConsStageConfig
{
SelfConsensStageInfo
prev
=
1
;
SelfConsensStageInfo
current
=
2
;
SelfConsensStageInfo
prev
=
1
;
SelfConsensStageInfo
current
=
2
;
}
message
ReceiptSelfConsStageVoteDone
{
string
id
=
1
;
SelfConsensStage
stage
=
2
;
int32
totalNodes
=
3
;
int32
totalVote
=
4
;
int32
mostVote
=
5
;
string
voteRst
=
6
;
string
id
=
1
;
SelfConsensStage
stage
=
2
;
int32
totalNodes
=
3
;
int32
totalVote
=
4
;
int32
mostVote
=
5
;
string
voteRst
=
6
;
}
message
ReceiptSelfConsStagesUpdate
{
SelfConsensStages
prev
=
1
;
SelfConsensStages
current
=
2
;
message
ReceiptSelfConsStagesUpdate
{
SelfConsensStages
prev
=
1
;
SelfConsensStages
current
=
2
;
}
// query
message
ReqQuerySelfStages
{
uint32
status
=
1
;
string
id
=
2
;
int32
count
=
3
;
int32
direction
=
4
;
int64
height
=
5
;
int32
index
=
6
;
uint32
status
=
1
;
string
id
=
2
;
int32
count
=
3
;
int32
direction
=
4
;
int64
height
=
5
;
int32
index
=
6
;
}
message
ReplyQuerySelfStages
{
repeated
SelfConsensStageInfo
stageInfo
=
1
;
}
message
ParacrossCommitAction
{
ParacrossNodeStatus
status
=
1
;
}
message
ParacrossMinerAction
{
ParacrossNodeStatus
status
=
1
;
bool
isSelfConsensus
=
2
;
ParacrossNodeStatus
status
=
1
;
bool
isSelfConsensus
=
2
;
}
message
ParacrossAction
{
oneof
value
{
ParacrossCommitAction
commit
=
1
;
ParacrossMinerAction
miner
=
3
;
AssetsTransfer
assetTransfer
=
4
;
AssetsWithdraw
assetWithdraw
=
5
;
AssetsTransfer
transfer
=
6
;
AssetsWithdraw
withdraw
=
7
;
AssetsTransferToExec
transferToExec
=
8
;
ParaNodeAddrConfig
nodeConfig
=
9
;
ParacrossCommitAction
commit
=
1
;
ParacrossMinerAction
miner
=
3
;
AssetsTransfer
assetTransfer
=
4
;
AssetsWithdraw
assetWithdraw
=
5
;
AssetsTransfer
transfer
=
6
;
AssetsWithdraw
withdraw
=
7
;
AssetsTransferToExec
transferToExec
=
8
;
ParaNodeAddrConfig
nodeConfig
=
9
;
ParaNodeGroupConfig
nodeGroupConfig
=
10
;
ParaStageConfig
selfStageConfig
=
11
;
}
int32
ty
=
2
;
}
...
...
@@ -314,21 +297,21 @@ message ReceiptParacrossMiner {
}
message
ReceiptParacrossDone
{
int32
totalNodes
=
1
;
int32
totalCommit
=
2
;
int32
mostSameCommit
=
3
;
string
title
=
4
;
int64
height
=
5
;
bytes
stateHash
=
6
;
uint32
txCounts
=
7
;
bytes
txResult
=
8
;
bytes
blockHash
=
9
;
repeated
bytes
txHashs
=
10
;
bytes
crossTxResult
=
11
;
repeated
bytes
crossTxHashs
=
12
;
bytes
mainBlockHash
=
13
;
int64
mainBlockHeight
=
14
;
int64
chainExecHeight
=
15
;
int32
totalNodes
=
1
;
int32
totalCommit
=
2
;
int32
mostSameCommit
=
3
;
string
title
=
4
;
int64
height
=
5
;
bytes
stateHash
=
6
;
uint32
txCounts
=
7
;
bytes
txResult
=
8
;
bytes
blockHash
=
9
;
repeated
bytes
txHashs
=
10
;
bytes
crossTxResult
=
11
;
repeated
bytes
crossTxHashs
=
12
;
bytes
mainBlockHash
=
13
;
int64
mainBlockHeight
=
14
;
int64
chainExecHeight
=
15
;
}
message
ReceiptParacrossRecord
{
...
...
@@ -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
{
...
...
@@ -366,8 +349,8 @@ message RespParacrossTitles {
}
message
ReqParacrossTitleHash
{
string
title
=
1
;
bytes
blockHash
=
2
;
string
title
=
1
;
bytes
blockHash
=
2
;
}
// 跨链转账相关
...
...
@@ -390,37 +373,37 @@ message ParacrossAsset {
message
ParacrossAssetRsp
{
// input
string
from
=
1
;
string
to
=
2
;
string
isWithdraw
=
3
;
string
txHash
=
4
;
int64
amount
=
5
;
string
exec
=
6
;
string
symbol
=
7
;
string
from
=
1
;
string
to
=
2
;
string
isWithdraw
=
3
;
string
txHash
=
4
;
int64
amount
=
5
;
string
exec
=
6
;
string
symbol
=
7
;
// 主链部分
int64
height
=
10
;
int64
height
=
10
;
// 平行链部分
int64
commitDoneHeight
=
21
;
int64
paraHeight
=
22
;
string
success
=
23
;
int64
commitDoneHeight
=
21
;
int64
paraHeight
=
22
;
string
success
=
23
;
}
message
ParaLocalDbBlock
{
int64
height
=
1
;
bytes
mainHash
=
2
;
int64
mainHeight
=
3
;
bytes
parentMainHash
=
4
;
int64
blockTime
=
5
;
int64
height
=
1
;
bytes
mainHash
=
2
;
int64
mainHeight
=
3
;
bytes
parentMainHash
=
4
;
int64
blockTime
=
5
;
repeated
Transaction
txs
=
6
;
}
message
ParaLocalDbBlockInfo
{
int64
height
=
1
;
string
mainHash
=
2
;
int64
mainHeight
=
3
;
string
parentMainHash
=
4
;
int64
blockTime
=
5
;
repeated
string
txs
=
6
;
int64
height
=
1
;
string
mainHash
=
2
;
int64
mainHeight
=
3
;
string
parentMainHash
=
4
;
int64
blockTime
=
5
;
repeated
string
txs
=
6
;
}
service
paracross
{
...
...
plugin/dapp/pokerbull/proto/pokerbull.proto
View file @
3ef9413b
...
...
@@ -4,40 +4,40 @@ package types;
//斗牛游戏内容
message
PokerBull
{
string
gameId
=
1
;
//默认是由创建这局游戏的txHash作为gameId
int32
status
=
2
;
// Start 1 -> Continue 2 -> Quit 3
int64
startTime
=
3
;
//开始时间
string
startTxHash
=
4
;
//游戏启动交易hash
int64
value
=
5
;
//赌注
PBPoker
poker
=
6
;
//扑克牌
repeated
PBPlayer
players
=
7
;
//玩家历史牌和结果集
int32
playerNum
=
8
;
//玩家数
repeated
PBResult
results
=
9
;
//游戏结果集
int64
index
=
10
;
//索引
int64
prevIndex
=
11
;
//上级索引
int64
quitTime
=
12
;
//游戏结束时间
string
quitTxHash
=
13
;
//游戏结束交易hash
string
dealerAddr
=
14
;
//下局庄家地址
bool
isWaiting
=
15
;
//游戏是否处于等待状态
int32
preStatus
=
16
;
//上一index的状态
int32
round
=
17
;
//当前游戏回合数
string
gameId
=
1
;
//默认是由创建这局游戏的txHash作为gameId
int32
status
=
2
;
// Start 1 -> Continue 2 -> Quit 3
int64
startTime
=
3
;
//开始时间
string
startTxHash
=
4
;
//游戏启动交易hash
int64
value
=
5
;
//赌注
PBPoker
poker
=
6
;
//扑克牌
repeated
PBPlayer
players
=
7
;
//玩家历史牌和结果集
int32
playerNum
=
8
;
//玩家数
repeated
PBResult
results
=
9
;
//游戏结果集
int64
index
=
10
;
//索引
int64
prevIndex
=
11
;
//上级索引
int64
quitTime
=
12
;
//游戏结束时间
string
quitTxHash
=
13
;
//游戏结束交易hash
string
dealerAddr
=
14
;
//下局庄家地址
bool
isWaiting
=
15
;
//游戏是否处于等待状态
int32
preStatus
=
16
;
//上一index的状态
int32
round
=
17
;
//当前游戏回合数
}
//一把牌
message
PBHand
{
repeated
int32
cards
=
1
;
//一把牌,五张
int32
result
=
2
;
//斗牛结果 (没牛:0, 牛1-9:1-9, 牛牛:10)
string
address
=
3
;
//玩家地址
bool
isWin
=
4
;
//是否赢庄家
int32
leverage
=
5
;
//赌注倍数
repeated
int32
cards
=
1
;
//一把牌,五张
int32
result
=
2
;
//斗牛结果 (没牛:0, 牛1-9:1-9, 牛牛:10)
string
address
=
3
;
//玩家地址
bool
isWin
=
4
;
//是否赢庄家
int32
leverage
=
5
;
//赌注倍数
}
//玩家
message
PBPlayer
{
repeated
PBHand
hands
=
1
;
//历史发牌和斗牛结果
string
address
=
2
;
//玩家地址
int64
txHash
=
3
;
//发牌随机数因子txhash的整数格式
bool
ready
=
4
;
//
continue状态下,是否ready
repeated
PBHand
hands
=
1
;
//历史发牌和斗牛结果
string
address
=
2
;
//玩家地址
int64
txHash
=
3
;
//发牌随机数因子txhash的整数格式
bool
ready
=
4
;
//
continue状态下,是否ready
}
//本局游戏结果
...
...
@@ -58,11 +58,11 @@ message PBPoker {
//游戏状态
message
PBGameAction
{
oneof
value
{
PBGameStart
start
=
1
;
PBGameStart
start
=
1
;
PBGameContinue
continue
=
2
;
PBGameQuit
quit
=
3
;
PBGameQuery
query
=
4
;
PBGamePlay
play
=
5
;
PBGameQuit
quit
=
3
;
PBGameQuery
query
=
4
;
PBGamePlay
play
=
5
;
}
int32
ty
=
10
;
}
...
...
@@ -90,9 +90,9 @@ message PBGameQuery {
//已匹配玩家直接游戏
message
PBGamePlay
{
string
gameId
=
1
;
//游戏id
int32
round
=
2
;
//当前游戏回合数
int64
value
=
3
;
//当前游戏赌注
string
gameId
=
1
;
//游戏id
int32
round
=
2
;
//当前游戏回合数
int64
value
=
3
;
//当前游戏赌注
repeated
string
address
=
4
;
//玩家地址
}
...
...
@@ -150,13 +150,13 @@ message QueryPBGameByRound {
// ReplyPBGameByRound 某一回合游戏结果
message
ReplyPBGameByRound
{
string
gameId
=
1
;
int32
status
=
2
;
PBResult
result
=
3
;
bool
isWaiting
=
4
;
int64
value
=
5
;
repeated
PBPlayer
players
=
6
;
int64
return
=
7
;
string
gameId
=
1
;
int32
status
=
2
;
PBResult
result
=
3
;
bool
isWaiting
=
4
;
int64
value
=
5
;
repeated
PBPlayer
players
=
6
;
int64
return
=
7
;
}
message
ReceiptPBGame
{
...
...
@@ -169,8 +169,8 @@ message ReceiptPBGame {
int64
value
=
7
;
bool
isWaiting
=
8
;
repeated
string
players
=
9
;
int32
preStatus
=
10
;
int32
round
=
11
;
int32
preStatus
=
10
;
int32
round
=
11
;
}
message
PBStartTxReq
{
...
...
@@ -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,16 +398,20 @@ 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
,
Amount
:
amountInt64
,
AssetExec
:
exec
,
AssetSymbol
:
symbol
,
Amount
:
amountInt64
,
}
var
params
rpctypes
.
Query4Jrpc
params
.
Execer
=
pty
.
PrivacyX
...
...
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,21 +101,23 @@ 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"
,
Amount
:
types
.
Coin
,
AssetSymbol
:
"bty"
,
Amount
:
types
.
Coin
,
},
disableReplyCheck
:
true
,
},
}
for
_
,
tc
:=
range
queryCases
{
req
:=
tc
.
params
.
(
*
pty
.
ReqPrivacyToken
)
req
.
AssetExec
=
"coins"
tc
.
funcName
=
"ShowUTXOs4SpecifiedAmount"
}
testQuery
(
mock
,
queryCases
,
t
)
...
...
@@ -139,9 +143,9 @@ func TestPrivacy_Query_GetUTXOGlobalIndex(t *testing.T) {
{
index
:
2
,
params
:
&
pty
.
ReqUTXOGlobalIndex
{
Tokenname
:
"btc"
,
MixCount
:
1
,
Amount
:
[]
int64
{
types
.
Coin
},
AssetSymbol
:
"btc"
,
MixCount
:
1
,
Amount
:
[]
int64
{
types
.
Coin
},
},
disableReplyCheck
:
true
,
expectErr
:
types
.
ErrNotFound
,
...
...
@@ -149,9 +153,9 @@ func TestPrivacy_Query_GetUTXOGlobalIndex(t *testing.T) {
{
index
:
3
,
params
:
&
pty
.
ReqUTXOGlobalIndex
{
Tokenname
:
"bty"
,
MixCount
:
1
,
Amount
:
[]
int64
{
types
.
Coin
,
types
.
Coin
*
2
},
AssetSymbol
:
"bty"
,
MixCount
:
1
,
Amount
:
[]
int64
{
types
.
Coin
,
types
.
Coin
*
2
},
},
disableReplyCheck
:
true
,
expectErr
:
types
.
ErrNotFound
,
...
...
@@ -159,15 +163,19 @@ func TestPrivacy_Query_GetUTXOGlobalIndex(t *testing.T) {
{
index
:
4
,
params
:
&
pty
.
ReqUTXOGlobalIndex
{
Tokenname
:
"bty"
,
MixCount
:
1
,
Amount
:
[]
int64
{
types
.
Coin
},
AssetSymbol
:
"bty"
,
MixCount
:
1
,
Amount
:
[]
int64
{
types
.
Coin
},
},
disableReplyCheck
:
true
,
},
}
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
;
}
...
...
@@ -402,9 +403,9 @@ message WalletAccountPrivacy {
message
ReqCreatePrivacyTx
{
string
tokenname
=
1
;
// 构建交易类型
int32
actionType
=
2
;
int64
amount
=
3
;
string
note
=
4
;
int32
actionType
=
2
;
int64
amount
=
3
;
string
note
=
4
;
// 普通交易的发送方
string
from
=
5
;
// 普通交易的接收方
...
...
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,8 +106,9 @@ func testShowAmountsOfUTXO(t *testing.T, jrpc *jsonclient.JSONClient) error {
func
testShowUTXOs4SpecifiedAmount
(
t
*
testing
.
T
,
jrpc
*
jsonclient
.
JSONClient
)
error
{
reqPrivacyToken
:=
pty
.
ReqPrivacyToken
{
Token
:
types
.
BTY
,
Amount
:
123456
,
AssetExec
:
"coins"
,
AssetSymbol
:
types
.
BTY
,
Amount
:
123456
,
}
var
params
rpctypes
.
Query4Jrpc
params
.
Execer
=
pty
.
PrivacyX
...
...
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,8 +375,9 @@ func (policy *privacyPolicy) buildInput(privacykeyParirs *privacy.Privacy, build
})
reqGetGlobalIndex
:=
privacytypes
.
ReqUTXOGlobalIndex
{
Tokenname
:
buildInfo
.
tokenname
,
MixCount
:
0
,
AssetExec
:
buildInfo
.
assetExec
,
AssetSymbol
:
buildInfo
.
assetSymbol
,
MixCount
:
0
,
}
if
buildInfo
.
mixcount
>
0
{
...
...
@@ -562,10 +563,11 @@ func (policy *privacyPolicy) createPrivacy2PrivacyTx(req *privacytypes.ReqCreate
utxoBurnedAmount
=
privacytypes
.
PrivacyTxFee
}
buildInfo
:=
&
buildInputInfo
{
tokenname
:
req
.
GetTokenname
(),
sender
:
req
.
GetFrom
(),
amount
:
req
.
GetAmount
()
+
utxoBurnedAmount
,
mixcount
:
req
.
GetMixcount
(),
assetExec
:
req
.
GetAssetExec
(),
assetSymbol
:
req
.
GetTokenname
(),
sender
:
req
.
GetFrom
(),
amount
:
req
.
GetAmount
()
+
utxoBurnedAmount
,
mixcount
:
req
.
GetMixcount
(),
}
privacyInfo
,
err
:=
policy
.
getPrivacykeyPair
(
req
.
GetFrom
())
if
err
!=
nil
{
...
...
@@ -652,10 +654,11 @@ func (policy *privacyPolicy) createPrivacy2PublicTx(req *privacytypes.ReqCreateP
utxoBurnedAmount
=
privacytypes
.
PrivacyTxFee
}
buildInfo
:=
&
buildInputInfo
{
tokenname
:
req
.
GetTokenname
(),
sender
:
req
.
GetFrom
(),
amount
:
req
.
GetAmount
()
+
utxoBurnedAmount
,
mixcount
:
req
.
GetMixcount
(),
assetExec
:
req
.
GetAssetExec
(),
assetSymbol
:
req
.
GetTokenname
(),
sender
:
req
.
GetFrom
(),
amount
:
req
.
GetAmount
()
+
utxoBurnedAmount
,
mixcount
:
req
.
GetMixcount
(),
}
privacyInfo
,
err
:=
policy
.
getPrivacykeyPair
(
req
.
GetFrom
())
if
err
!=
nil
{
...
...
plugin/dapp/privacy/wallet/types.go
View file @
3ef9413b
...
...
@@ -16,10 +16,11 @@ type addrAndprivacy struct {
// buildInputInfo 构建隐私交易输入的参数结构
type
buildInputInfo
struct
{
tokenname
string
sender
string
amount
int64
mixcount
int32
assetExec
string
assetSymbol
string
sender
string
amount
int64
mixcount
int32
}
// txOutputInfo 存储当前钱包地址下被选中的UTXO信息
...
...
plugin/dapp/retrieve/proto/retrieve.proto
View file @
3ef9413b
...
...
@@ -40,15 +40,14 @@ message PrepareRetrieve {
string
defaultAddress
=
2
;
}
message
AssetSymbol
{
string
exec
=
1
;
string
exec
=
1
;
string
symbol
=
2
;
}
message
PerformRetrieve
{
string
backupAddress
=
1
;
string
defaultAddress
=
2
;
string
backupAddress
=
1
;
string
defaultAddress
=
2
;
repeated
AssetSymbol
assets
=
3
;
}
...
...
@@ -60,8 +59,8 @@ message CancelRetrieve {
message
ReqRetrieveInfo
{
string
backupAddress
=
1
;
string
defaultAddress
=
2
;
string
assetExec
=
3
;
string
assetSymbol
=
4
;
string
assetExec
=
3
;
string
assetSymbol
=
4
;
}
message
RetrieveQuery
{
...
...
plugin/dapp/storage/proto/storage.proto
View file @
3ef9413b
...
...
@@ -3,20 +3,20 @@ package types;
//后面如果有其他数据模型可继续往上面添加
message
Storage
{
oneof
value
{
ContentOnlyNotaryStorage
contentStorage
=
1
;
HashOnlyNotaryStorage
hashStorage
=
2
;
LinkNotaryStorage
linkStorage
=
3
;
EncryptNotaryStorage
encryptStorage
=
4
;
ContentOnlyNotaryStorage
contentStorage
=
1
;
HashOnlyNotaryStorage
hashStorage
=
2
;
LinkNotaryStorage
linkStorage
=
3
;
EncryptNotaryStorage
encryptStorage
=
4
;
EncryptShareNotaryStorage
encryptShareStorage
=
5
;
}
}
message
StorageAction
{
oneof
value
{
ContentOnlyNotaryStorage
contentStorage
=
1
;
HashOnlyNotaryStorage
hashStorage
=
2
;
LinkNotaryStorage
linkStorage
=
3
;
EncryptNotaryStorage
encryptStorage
=
4
;
ContentOnlyNotaryStorage
contentStorage
=
1
;
HashOnlyNotaryStorage
hashStorage
=
2
;
LinkNotaryStorage
linkStorage
=
3
;
EncryptNotaryStorage
encryptStorage
=
4
;
EncryptShareNotaryStorage
encryptShareStorage
=
5
;
}
int32
ty
=
6
;
...
...
@@ -24,20 +24,20 @@ message StorageAction {
// 内容存证模型
message
ContentOnlyNotaryStorage
{
//长度需要小于512k
bytes
content
=
1
;
bytes
content
=
1
;
}
//哈希存证模型,推荐使用sha256哈希,限制256位得摘要值
message
HashOnlyNotaryStorage
{
//长度固定为32字节
bytes
hash
=
1
;
bytes
hash
=
1
;
}
// 链接存证模型
message
LinkNotaryStorage
{
//存证内容的链接,可以写入URL,或者其他可用于定位源文件得线索.
bytes
link
=
1
;
bytes
link
=
1
;
//源文件得hash值,推荐使用sha256哈希,限制256位得摘要值
bytes
hash
=
2
;
}
...
...
@@ -45,7 +45,7 @@ message LinkNotaryStorage {
// 隐私存证模型,如果一个文件需要存证,且不公开内容,可以选择将源文件通过对称加密算法加密后上链
message
EncryptNotaryStorage
{
//存证明文内容的hash值,推荐使用sha256哈希,限制256位得摘要值
bytes
contentHash
=
1
;
bytes
contentHash
=
1
;
//源文件得密文,由加密key及nonce对明文加密得到该值。
bytes
encryptContent
=
2
;
//加密iv,通过AES进行加密时制定随机生成的iv,解密时需要使用该值
...
...
@@ -54,7 +54,7 @@ message EncryptNotaryStorage {
// 隐私存证模型
message
EncryptContentOnlyNotaryStorage
{
//存证内容的hash值,推荐使用sha256哈希,限制256位得摘要值
// bytes contentHash = 1;
// bytes contentHash = 1;
//源文件得密文。
bytes
encryptContent
=
1
;
//加密iv,通过AES进行加密时制定随机生成的iv,解密时需要使用该值
...
...
@@ -64,7 +64,7 @@ message EncryptContentOnlyNotaryStorage {
// 分享隐私存证模型,需要完备的sdk或者相应的密钥库支持
message
EncryptShareNotaryStorage
{
//存证明文内容的hash值,推荐使用sha256哈希,限制256位得摘要值
bytes
contentHash
=
1
;
bytes
contentHash
=
1
;
//源文件得密文。
bytes
encryptContent
=
2
;
//密钥的kdf推导路径。密钥tree父节点根据该路径可以推导出私钥key
...
...
@@ -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
;
}
...
...
@@ -84,8 +84,8 @@ message TicketGenesis {
}
message
TicketClose
{
repeated
string
ticketId
=
1
;
string
minerAddress
=
2
;
repeated
string
ticketId
=
1
;
string
minerAddress
=
2
;
}
message
TicketList
{
...
...
plugin/dapp/token/proto/token.proto
View file @
3ef9413b
...
...
@@ -73,8 +73,8 @@ message ReceiptToken {
}
message
ReceiptTokenAmount
{
Token
prev
=
1
;
Token
current
=
2
;
Token
prev
=
1
;
Token
current
=
2
;
}
// local
...
...
plugin/dapp/trade/proto/trade.proto
View file @
3ef9413b
...
...
@@ -35,7 +35,7 @@ message TradeForSell {
// 资产来源
string
assetExec
=
9
;
// 定价资产
string
priceExec
=
10
;
string
priceExec
=
10
;
string
priceSymbol
=
11
;
}
...
...
@@ -60,7 +60,7 @@ message TradeForBuyLimit {
int64
totalBoardlot
=
5
;
string
assetExec
=
6
;
// 定价资产
string
priceExec
=
7
;
string
priceExec
=
7
;
string
priceSymbol
=
8
;
}
...
...
@@ -91,11 +91,11 @@ message SellOrder {
int64
stoptime
=
9
;
bool
crowdfund
=
10
;
//此处使用tx的hash来指定
string
sellID
=
11
;
int32
status
=
12
;
int64
height
=
13
;
string
assetExec
=
14
;
string
priceExec
=
15
;
string
sellID
=
11
;
int32
status
=
12
;
int64
height
=
13
;
string
assetExec
=
14
;
string
priceExec
=
15
;
string
priceSymbol
=
16
;
}
...
...
@@ -112,8 +112,8 @@ message BuyLimitOrder {
int32
status
=
9
;
int64
height
=
10
;
string
assetExec
=
11
;
string
priceExec
=
12
;
string
priceSymbol
=
13
;
string
priceExec
=
12
;
string
priceSymbol
=
13
;
}
// 执行器日志部分
...
...
@@ -131,8 +131,8 @@ message ReceiptBuyBase {
string
txHash
=
11
;
int64
height
=
12
;
string
assetExec
=
13
;
string
priceExec
=
14
;
string
priceSymbol
=
15
;
string
priceExec
=
14
;
string
priceSymbol
=
15
;
}
message
ReceiptSellBase
{
...
...
@@ -153,11 +153,11 @@ message ReceiptSellBase {
string
sellID
=
11
;
string
status
=
12
;
// buyid
string
buyID
=
13
;
string
txHash
=
14
;
int64
height
=
15
;
string
assetExec
=
16
;
string
priceExec
=
17
;
string
buyID
=
13
;
string
txHash
=
14
;
int64
height
=
15
;
string
assetExec
=
16
;
string
priceExec
=
17
;
string
priceSymbol
=
18
;
}
...
...
@@ -277,8 +277,8 @@ message ReplyTradeOrder {
int64
blockTime
=
14
;
bool
isSellOrder
=
15
;
string
assetExec
=
16
;
string
priceExec
=
17
;
string
priceSymbol
=
18
;
string
priceExec
=
17
;
string
priceSymbol
=
18
;
}
message
ReplyTradeOrders
{
...
...
@@ -301,26 +301,26 @@ message ReqBuyToken {
}
message
LocalOrder
{
string
assetSymbol
=
1
;
string
owner
=
2
;
int64
amountPerBoardlot
=
3
;
int64
minBoardlot
=
4
;
int64
pricePerBoardlot
=
5
;
int64
totalBoardlot
=
6
;
int64
tradedBoardlot
=
7
;
string
buyID
=
8
;
int32
status
=
9
;
string
sellID
=
10
;
repeated
string
txHash
=
11
;
int64
height
=
12
;
string
key
=
13
;
int64
blockTime
=
14
;
bool
isSellOrder
=
15
;
string
assetExec
=
16
;
string
txIndex
=
17
;
bool
isFinished
=
18
;
string
priceExec
=
19
;
string
priceSymbol
=
20
;
string
assetSymbol
=
1
;
string
owner
=
2
;
int64
amountPerBoardlot
=
3
;
int64
minBoardlot
=
4
;
int64
pricePerBoardlot
=
5
;
int64
totalBoardlot
=
6
;
int64
tradedBoardlot
=
7
;
string
buyID
=
8
;
int32
status
=
9
;
string
sellID
=
10
;
repeated
string
txHash
=
11
;
int64
height
=
12
;
string
key
=
13
;
int64
blockTime
=
14
;
bool
isSellOrder
=
15
;
string
assetExec
=
16
;
string
txIndex
=
17
;
bool
isFinished
=
18
;
string
priceExec
=
19
;
string
priceSymbol
=
20
;
}
service
trade
{
...
...
plugin/dapp/unfreeze/proto/unfreeze.proto
View file @
3ef9413b
...
...
@@ -79,13 +79,13 @@ message UnfreezeTerminate {
// receipt
message
ReceiptUnfreeze
{
Unfreeze
prev
=
1
;
Unfreeze
current
=
2
;
Unfreeze
prev
=
1
;
Unfreeze
current
=
2
;
}
message
LocalUnfreeze
{
Unfreeze
unfreeze
=
1
;
string
txIndex
=
2
;
string
txIndex
=
2
;
}
// query
...
...
@@ -95,11 +95,11 @@ message ReplyQueryUnfreezeWithdraw {
}
message
ReqUnfreezes
{
int32
direction
=
1
;
int32
count
=
2
;
string
fromKey
=
3
;
string
initiator
=
4
;
string
beneficiary
=
5
;
int32
direction
=
1
;
int32
count
=
2
;
string
fromKey
=
3
;
string
initiator
=
4
;
string
beneficiary
=
5
;
}
message
ReplyUnfreeze
{
...
...
@@ -124,8 +124,8 @@ message ReplyUnfreeze {
FixAmount
fixAmount
=
10
;
LeftProportion
leftProportion
=
11
;
}
bool
terminated
=
12
;
string
key
=
13
;
bool
terminated
=
12
;
string
key
=
13
;
}
message
ReplyUnfreezes
{
repeated
ReplyUnfreeze
unfreeze
=
1
;
...
...
plugin/dapp/valnode/proto/tendermint.proto
View file @
3ef9413b
...
...
@@ -30,9 +30,9 @@ message TendermintCommit {
}
message
TendermintBlockInfo
{
State
State
=
2
;
Proposal
Proposal
=
3
;
TendermintBlock
block
=
4
;
State
State
=
2
;
Proposal
Proposal
=
3
;
TendermintBlock
block
=
4
;
}
message
BlockSize
{
...
...
@@ -87,7 +87,6 @@ message State {
bytes
AppHash
=
12
;
}
message
TendermintBlockHeader
{
string
chainID
=
1
;
int64
height
=
2
;
...
...
@@ -105,9 +104,9 @@ message TendermintBlockHeader {
}
message
TendermintBlock
{
TendermintBlockHeader
header
=
1
;
Block
data
=
2
;
TendermintCommit
lastCommit
=
4
;
TendermintBlockHeader
header
=
1
;
Block
data
=
2
;
TendermintCommit
lastCommit
=
4
;
}
message
Proposal
{
...
...
@@ -132,7 +131,7 @@ message ValidBlockMsg {
int64
height
=
1
;
int32
round
=
2
;
bytes
blockhash
=
3
;
bool
isCommit
=
4
;
bool
isCommit
=
4
;
}
message
ProposalPOLMsg
{
...
...
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