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
579ca570
Commit
579ca570
authored
Jul 12, 2019
by
liuyuhang
Committed by
33cn
Aug 14, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add prob project
parent
0b56fd16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
852 additions
and
276 deletions
+852
-276
boardaction.go
plugin/dapp/autonomy/executor/boardaction.go
+18
-18
boardaction_test.go
plugin/dapp/autonomy/executor/boardaction_test.go
+6
-21
exec.go
plugin/dapp/autonomy/executor/exec.go
+33
-0
kv.go
plugin/dapp/autonomy/executor/kv.go
+24
-5
projectaction.go
plugin/dapp/autonomy/executor/projectaction.go
+338
-0
autonomy.proto
plugin/dapp/autonomy/proto/autonomy.proto
+9
-7
board.proto
plugin/dapp/autonomy/proto/board.proto
+1
-1
lcommon.proto
plugin/dapp/autonomy/proto/lcommon.proto
+11
-1
project.proto
plugin/dapp/autonomy/proto/project.proto
+18
-9
rule.proto
plugin/dapp/autonomy/proto/rule.proto
+6
-1
autonomy.pb.go
plugin/dapp/autonomy/types/autonomy.pb.go
+88
-51
board.pb.go
plugin/dapp/autonomy/types/board.pb.go
+36
-36
const.go
plugin/dapp/autonomy/types/const.go
+14
-0
lcommon.pb.go
plugin/dapp/autonomy/types/lcommon.pb.go
+61
-23
project.pb.go
plugin/dapp/autonomy/types/project.pb.go
+124
-65
rule.pb.go
plugin/dapp/autonomy/types/rule.pb.go
+65
-38
No files found.
plugin/dapp/autonomy/executor/boardaction.go
View file @
579ca570
...
...
@@ -66,7 +66,7 @@ func (a *action) propBoard(prob *auty.ProposalBoard) (*types.Receipt, error) {
cur
:=
&
auty
.
AutonomyProposalBoard
{
PropBoard
:
prob
,
Res
:
&
auty
.
Votes
Result
{},
VoteResult
:
&
auty
.
Vote
Result
{},
Status
:
auty
.
AutonomyStatusProposalBoard
,
Address
:
a
.
fromaddr
,
Height
:
a
.
height
,
...
...
@@ -202,13 +202,13 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
// 加入已经投票的
votes
.
Address
=
append
(
votes
.
Address
,
a
.
fromaddr
)
if
cur
.
Get
Res
()
.
TotalVotes
==
0
{
//需要统计票数
if
cur
.
Get
VoteResult
()
.
TotalVotes
==
0
{
//需要统计票数
addr
:=
"16htvcBNSEA7fZhAdLJphDwQRQJaHpyHTp"
account
,
err
:=
a
.
getStartHeightVoteAccount
(
addr
,
start
)
if
err
!=
nil
{
return
nil
,
err
}
cur
.
Res
.
TotalVotes
=
int32
(
account
.
Balance
/
ticketPrice
)
cur
.
VoteResult
.
TotalVotes
=
int32
(
account
.
Balance
/
ticketPrice
)
}
account
,
err
:=
a
.
getStartHeightVoteAccount
(
a
.
fromaddr
,
start
)
...
...
@@ -216,17 +216,17 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
return
nil
,
err
}
if
voteProb
.
Approve
{
cur
.
Res
.
ApproveVotes
+=
int32
(
account
.
Balance
/
ticketPrice
)
cur
.
VoteResult
.
ApproveVotes
+=
int32
(
account
.
Balance
/
ticketPrice
)
}
else
{
cur
.
Res
.
OpposeVotes
+=
int32
(
account
.
Balance
/
ticketPrice
)
cur
.
VoteResult
.
OpposeVotes
+=
int32
(
account
.
Balance
/
ticketPrice
)
}
var
logs
[]
*
types
.
ReceiptLog
var
kv
[]
*
types
.
KeyValue
if
float32
(
cur
.
Res
.
ApproveVotes
+
cur
.
Res
.
OpposeVotes
)
/
float32
(
cur
.
Res
.
TotalVotes
)
>=
participationRate
&&
float32
(
cur
.
Res
.
ApproveVotes
)
/
float32
(
cur
.
Res
.
ApproveVotes
+
cur
.
Res
.
OpposeVotes
)
>=
approveRate
{
cur
.
Res
.
Pass
=
true
if
float32
(
cur
.
VoteResult
.
ApproveVotes
+
cur
.
VoteResult
.
OpposeVotes
)
/
float32
(
cur
.
VoteResult
.
TotalVotes
)
>=
participationRate
&&
float32
(
cur
.
VoteResult
.
ApproveVotes
)
/
float32
(
cur
.
VoteResult
.
ApproveVotes
+
cur
.
VoteResult
.
OpposeVotes
)
>=
approveRate
{
cur
.
VoteResult
.
Pass
=
true
cur
.
PropBoard
.
RealEndBlockHeight
=
a
.
height
receipt
,
err
:=
a
.
coinsAccount
.
ExecTransferFrozen
(
cur
.
Address
,
autonomyAddr
,
a
.
execaddr
,
lockAmount
)
...
...
@@ -240,7 +240,7 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
key
:=
propBoardID
(
voteProb
.
ProposalID
)
cur
.
Status
=
auty
.
AutonomyStatusVotePropBoard
if
cur
.
Res
.
Pass
{
if
cur
.
VoteResult
.
Pass
{
cur
.
Status
=
auty
.
AutonomyStatusTmintPropBoard
}
value
=
types
.
Encode
(
&
cur
)
...
...
@@ -250,7 +250,7 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
kv
=
append
(
kv
,
&
types
.
KeyValue
{
Key
:
VotesRecord
(
voteProb
.
ProposalID
),
Value
:
types
.
Encode
(
&
votes
)})
ty
:=
auty
.
TyLogVotePropBoard
if
cur
.
Res
.
Pass
{
if
cur
.
VoteResult
.
Pass
{
ty
=
auty
.
TyLogTmintPropBoard
}
receiptLog
:=
getReceiptLog
(
pre
,
&
cur
,
int32
(
ty
))
...
...
@@ -293,20 +293,20 @@ func (a *action) tmintPropBoard(tmintProb *auty.TerminateProposalBoard) (*types.
return
nil
,
err
}
if
cur
.
Get
Res
()
.
TotalVotes
==
0
{
//需要统计票数
if
cur
.
Get
VoteResult
()
.
TotalVotes
==
0
{
//需要统计票数
addr
:=
"16htvcBNSEA7fZhAdLJphDwQRQJaHpyHTp"
account
,
err
:=
a
.
getStartHeightVoteAccount
(
addr
,
start
)
if
err
!=
nil
{
return
nil
,
err
}
cur
.
Res
.
TotalVotes
=
int32
(
account
.
Balance
/
ticketPrice
)
cur
.
VoteResult
.
TotalVotes
=
int32
(
account
.
Balance
/
ticketPrice
)
}
if
float32
(
cur
.
Res
.
ApproveVotes
+
cur
.
Res
.
OpposeVotes
)
/
float32
(
cur
.
Res
.
TotalVotes
)
>=
participationRate
&&
float32
(
cur
.
Res
.
ApproveVotes
)
/
float32
(
cur
.
Res
.
ApproveVotes
+
cur
.
Res
.
OpposeVotes
)
>=
approveRate
{
cur
.
Res
.
Pass
=
true
if
float32
(
cur
.
VoteResult
.
ApproveVotes
+
cur
.
VoteResult
.
OpposeVotes
)
/
float32
(
cur
.
VoteResult
.
TotalVotes
)
>=
participationRate
&&
float32
(
cur
.
VoteResult
.
ApproveVotes
)
/
float32
(
cur
.
VoteResult
.
ApproveVotes
+
cur
.
VoteResult
.
OpposeVotes
)
>=
approveRate
{
cur
.
VoteResult
.
Pass
=
true
}
else
{
cur
.
Res
.
Pass
=
false
cur
.
VoteResult
.
Pass
=
false
}
cur
.
PropBoard
.
RealEndBlockHeight
=
a
.
height
...
...
@@ -366,9 +366,9 @@ func getReceiptLog(pre, cur *auty.AutonomyProposalBoard, ty int32) *types.Receip
func
copyAutonomyProposalBoard
(
cur
*
auty
.
AutonomyProposalBoard
)
*
auty
.
AutonomyProposalBoard
{
newAut
:=
*
cur
newBoard
:=
*
cur
.
GetPropBoard
()
newRes
:=
*
cur
.
Get
Res
()
newRes
:=
*
cur
.
Get
VoteResult
()
newAut
.
PropBoard
=
&
newBoard
newAut
.
Res
=
&
newRes
newAut
.
VoteResult
=
&
newRes
return
&
newAut
}
plugin/dapp/autonomy/executor/boardaction_test.go
View file @
579ca570
...
...
@@ -35,9 +35,6 @@ type execEnv struct {
}
var
(
Symbol
=
"BTY"
Asset
=
"coins"
PrivKeyA
=
"0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b"
// 1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4
PrivKeyB
=
"0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4"
// 1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR
PrivKeyC
=
"0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115"
// 1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k
...
...
@@ -47,18 +44,6 @@ var (
AddrC
=
"1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k"
AddrD
=
"1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs"
AddrBWeight
uint64
=
1
AddrCWeight
uint64
=
4
AddrDWeight
uint64
=
10
NewWeight
uint64
=
2
Requiredweight
uint64
=
5
NewRequiredweight
uint64
=
4
CoinsBtyDailylimit
uint64
=
100
NewCoinsBtyDailylimit
uint64
=
10
PrintFlag
=
false
InAmount
int64
=
10
OutAmount
int64
=
5
boards
=
[]
string
{
"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4"
,
"1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR"
,
"1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k"
}
total
=
types
.
Coin
*
30000
)
...
...
@@ -344,7 +329,7 @@ func voteProposalBoard(t *testing.T, env *execEnv, exec drivers.Driver, stateDB
require
.
NoError
(
t
,
err
)
require
.
Equal
(
t
,
int32
(
auty
.
AutonomyStatusTmintPropBoard
),
cur
.
Status
)
require
.
Equal
(
t
,
AddrA
,
cur
.
Address
)
require
.
Equal
(
t
,
true
,
cur
.
Res
.
Pass
)
require
.
Equal
(
t
,
true
,
cur
.
VoteResult
.
Pass
)
}
func
voteProposalBoardTx
(
parm
*
auty
.
VoteProposalBoard
)
(
*
types
.
Transaction
,
error
)
{
...
...
@@ -452,13 +437,13 @@ func TestGetStartHeightVoteAccount(t *testing.T) {
func
TestGetReceiptLog
(
t
*
testing
.
T
)
{
pre
:=
&
auty
.
AutonomyProposalBoard
{
PropBoard
:
&
auty
.
ProposalBoard
{
Year
:
1800
,
Month
:
1
},
Res
:
&
auty
.
Votes
Result
{
TotalVotes
:
100
},
VoteResult
:
&
auty
.
Vote
Result
{
TotalVotes
:
100
},
Status
:
1
,
Address
:
"121"
,
}
cur
:=
&
auty
.
AutonomyProposalBoard
{
PropBoard
:
&
auty
.
ProposalBoard
{
Year
:
1900
,
Month
:
1
},
Res
:
&
auty
.
Votes
Result
{
TotalVotes
:
100
},
VoteResult
:
&
auty
.
Vote
Result
{
TotalVotes
:
100
},
Status
:
2
,
Address
:
"123"
,
}
...
...
@@ -474,20 +459,20 @@ func TestGetReceiptLog(t *testing.T) {
func
TestCopyAutonomyProposalBoard
(
t
*
testing
.
T
)
{
cur
:=
&
auty
.
AutonomyProposalBoard
{
PropBoard
:
&
auty
.
ProposalBoard
{
Year
:
1900
,
Month
:
1
},
Res
:
&
auty
.
Votes
Result
{
TotalVotes
:
100
},
VoteResult
:
&
auty
.
Vote
Result
{
TotalVotes
:
100
},
Status
:
2
,
Address
:
"123"
,
}
new
:=
copyAutonomyProposalBoard
(
cur
)
cur
.
PropBoard
.
Year
=
1800
cur
.
PropBoard
.
Month
=
2
cur
.
Res
.
TotalVotes
=
50
cur
.
VoteResult
.
TotalVotes
=
50
cur
.
Address
=
"234"
cur
.
Status
=
1
require
.
Equal
(
t
,
1900
,
int
(
new
.
PropBoard
.
Year
))
require
.
Equal
(
t
,
1
,
int
(
new
.
PropBoard
.
Month
))
require
.
Equal
(
t
,
100
,
int
(
new
.
Res
.
TotalVotes
))
require
.
Equal
(
t
,
100
,
int
(
new
.
VoteResult
.
TotalVotes
))
require
.
Equal
(
t
,
"123"
,
new
.
Address
)
require
.
Equal
(
t
,
2
,
int
(
new
.
Status
))
}
...
...
plugin/dapp/autonomy/executor/exec.go
View file @
579ca570
...
...
@@ -9,6 +9,7 @@ import (
auty
"github.com/33cn/plugin/plugin/dapp/autonomy/types"
)
// 提案董事会相关
// Exec_PropBoard 创建提案
func
(
a
*
Autonomy
)
Exec_PropBoard
(
payload
*
auty
.
ProposalBoard
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
action
:=
newAction
(
a
,
tx
,
int32
(
index
))
...
...
@@ -32,3 +33,34 @@ func (a *Autonomy) Exec_TmintPropBoard(payload *auty.TerminateProposalBoard, tx
action
:=
newAction
(
a
,
tx
,
int32
(
index
))
return
action
.
tmintPropBoard
(
payload
)
}
// 提案项目相关
// Exec_PropProject 创建提案项目
func
(
a
*
Autonomy
)
Exec_PropProject
(
payload
*
auty
.
ProposalProject
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
action
:=
newAction
(
a
,
tx
,
int32
(
index
))
return
action
.
propProject
(
payload
)
}
// Exec_RvkPropBoard 撤销提案项目
func
(
a
*
Autonomy
)
Exec_RvkPropProject
(
payload
*
auty
.
RevokeProposalProject
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
action
:=
newAction
(
a
,
tx
,
int32
(
index
))
return
action
.
rvkPropProject
(
payload
)
}
// Exec_VotePropBoard 投票提案项目
func
(
a
*
Autonomy
)
Exec_VotePropProject
(
payload
*
auty
.
VoteProposalProject
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
action
:=
newAction
(
a
,
tx
,
int32
(
index
))
return
action
.
votePropProject
(
payload
)
}
// Exec_VotePropBoard 投票提案项目
func
(
a
*
Autonomy
)
Exec_PubVotePropProject
(
payload
*
auty
.
PubVoteProposalProject
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
action
:=
newAction
(
a
,
tx
,
int32
(
index
))
return
action
.
pubVotePropProject
(
payload
)
}
// Exec_TmintPropBoard 终止提案项目
func
(
a
*
Autonomy
)
Exec_TmintPropProject
(
payload
*
auty
.
TerminateProposalProject
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
action
:=
newAction
(
a
,
tx
,
int32
(
index
))
return
action
.
tmintPropProject
(
payload
)
}
\ No newline at end of file
plugin/dapp/autonomy/executor/kv.go
View file @
579ca570
...
...
@@ -17,21 +17,40 @@ var (
localPrefix
=
"LOCDB"
+
auty
.
AutonomyX
+
"-"
)
func
VotesRecord
(
txHash
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
"%s%s"
,
votesRecordPrefix
,
txHash
))
}
var
(
// board
boardPrefix
=
idPrefix
+
"board"
+
"-"
localBoardPrefix
=
localPrefix
+
"board"
+
"-"
)
func
propBoardID
(
txHash
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
"%s%s"
,
boardPrefix
,
txHash
))
}
func
VotesRecord
(
txHash
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
"%s%s"
,
votesRecordPrefix
,
txHash
))
func
calcBoardKey4StatusHeight
(
status
int32
,
heightindex
string
)
[]
byte
{
key
:=
fmt
.
Sprintf
(
localBoardPrefix
+
"%d-"
+
"%s"
,
status
,
heightindex
)
return
[]
byte
(
key
)
}
func
calcBoardKey4StatusHeight
(
status
int32
,
heightindex
string
)
[]
byte
{
key
:=
fmt
.
Sprintf
(
localPrefix
+
"%d-"
+
"%s"
,
status
,
heightindex
)
var
(
// project
projectPrefix
=
idPrefix
+
"project"
+
"-"
localProjectPrefix
=
localPrefix
+
"project"
+
"-"
)
func
propProjectID
(
txHash
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
"%s%s"
,
projectPrefix
,
txHash
))
}
func
calcProjectKey4StatusHeight
(
status
int32
,
heightindex
string
)
[]
byte
{
key
:=
fmt
.
Sprintf
(
localProjectPrefix
+
"%d-"
+
"%s"
,
status
,
heightindex
)
return
[]
byte
(
key
)
}
plugin/dapp/autonomy/executor/projectaction.go
0 → 100644
View file @
579ca570
// Copyright Fuzamei Corp. 2018 All Rights Reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package
executor
import
(
"github.com/33cn/chain33/common"
"github.com/33cn/chain33/types"
auty
"github.com/33cn/plugin/plugin/dapp/autonomy/types"
"github.com/33cn/chain33/common/address"
)
const
(
// 重大项目金额阈值
largeAmount
=
types
.
Coin
*
100
*
10000
)
func
(
a
*
action
)
propProject
(
prob
*
auty
.
ProposalProject
)
(
*
types
.
Receipt
,
error
)
{
if
err
:=
address
.
CheckAddress
(
prob
.
ToAddr
);
err
!=
nil
{
alog
.
Error
(
"propProject "
,
"check toAddr error"
,
err
)
return
nil
,
types
.
ErrInvalidParam
}
if
prob
.
StartBlockHeight
<
a
.
height
||
prob
.
EndBlockHeight
<
a
.
height
||
prob
.
Amount
<=
0
{
return
nil
,
types
.
ErrInvalidParam
}
receipt
,
err
:=
a
.
coinsAccount
.
ExecFrozen
(
a
.
fromaddr
,
a
.
execaddr
,
lockAmount
)
if
err
!=
nil
{
alog
.
Error
(
"propProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"ExecFrozen amount"
,
lockAmount
)
return
nil
,
err
}
var
logs
[]
*
types
.
ReceiptLog
var
kv
[]
*
types
.
KeyValue
logs
=
append
(
logs
,
receipt
.
Logs
...
)
kv
=
append
(
kv
,
receipt
.
KV
...
)
var
isPubVote
bool
if
prob
.
Amount
>=
largeAmount
{
isPubVote
=
true
}
cur
:=
&
auty
.
AutonomyProposalProject
{
PropProject
:
prob
,
BoardVoteRes
:
&
auty
.
VoteResult
{},
PubVote
:
&
auty
.
PublicVote
{
Publicity
:
isPubVote
},
Status
:
auty
.
AutonomyStatusProposalProject
,
Address
:
a
.
fromaddr
,
Height
:
a
.
height
,
Index
:
a
.
index
,
}
key
:=
propProjectID
(
common
.
ToHex
(
a
.
txhash
))
value
:=
types
.
Encode
(
cur
)
kv
=
append
(
kv
,
&
types
.
KeyValue
{
Key
:
key
,
Value
:
value
})
receiptLog
:=
getProjectReceiptLog
(
nil
,
cur
,
auty
.
TyLogPropProject
)
logs
=
append
(
logs
,
receiptLog
)
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
kv
,
Logs
:
logs
},
nil
}
func
(
a
*
action
)
rvkPropProject
(
rvkProb
*
auty
.
RevokeProposalProject
)
(
*
types
.
Receipt
,
error
)
{
// 获取GameID
value
,
err
:=
a
.
db
.
Get
(
propProjectID
(
rvkProb
.
ProposalID
))
if
err
!=
nil
{
alog
.
Error
(
"rvkPropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"get ProposalProject) failed"
,
rvkProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
var
cur
auty
.
AutonomyProposalProject
err
=
types
.
Decode
(
value
,
&
cur
)
if
err
!=
nil
{
alog
.
Error
(
"rvkPropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"decode ProposalProject failed"
,
rvkProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
pre
:=
copyAutonomyProposalProject
(
&
cur
)
// 检查当前状态
if
cur
.
Status
!=
auty
.
AutonomyStatusProposalProject
{
err
:=
auty
.
ErrProposalStatus
alog
.
Error
(
"rvkPropProject "
,
"addr"
,
a
.
fromaddr
,
"status"
,
cur
.
Status
,
"status is not match"
,
rvkProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
start
:=
cur
.
GetPropProject
()
.
StartBlockHeight
if
a
.
height
>
start
{
err
:=
auty
.
ErrRevokeProposalPeriod
alog
.
Error
(
"rvkPropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"ProposalID"
,
rvkProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
if
a
.
fromaddr
!=
cur
.
Address
{
err
:=
auty
.
ErrRevokeProposalPower
alog
.
Error
(
"rvkPropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"ProposalID"
,
rvkProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
var
logs
[]
*
types
.
ReceiptLog
var
kv
[]
*
types
.
KeyValue
receipt
,
err
:=
a
.
coinsAccount
.
ExecActive
(
a
.
fromaddr
,
a
.
execaddr
,
lockAmount
)
if
err
!=
nil
{
alog
.
Error
(
"rvkPropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"ExecActive amount"
,
lockAmount
,
"err"
,
err
)
return
nil
,
err
}
logs
=
append
(
logs
,
receipt
.
Logs
...
)
kv
=
append
(
kv
,
receipt
.
KV
...
)
cur
.
Status
=
auty
.
AutonomyStatusRvkPropProject
kv
=
append
(
kv
,
&
types
.
KeyValue
{
Key
:
propProjectID
(
rvkProb
.
ProposalID
),
Value
:
types
.
Encode
(
&
cur
)})
getProjectReceiptLog
(
pre
,
&
cur
,
auty
.
TyLogRvkPropProject
)
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
kv
,
Logs
:
logs
},
nil
}
func
(
a
*
action
)
votePropProject
(
voteProb
*
auty
.
VoteProposalProject
)
(
*
types
.
Receipt
,
error
)
{
// 获取GameID
value
,
err
:=
a
.
db
.
Get
(
propProjectID
(
voteProb
.
ProposalID
))
if
err
!=
nil
{
alog
.
Error
(
"votePropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"get propProjectID failed"
,
voteProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
var
cur
auty
.
AutonomyProposalProject
err
=
types
.
Decode
(
value
,
&
cur
)
if
err
!=
nil
{
alog
.
Error
(
"votePropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"decode AutonomyProposalProject failed"
,
voteProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
pre
:=
copyAutonomyProposalProject
(
&
cur
)
start
:=
cur
.
GetPropProject
()
.
StartBlockHeight
end
:=
cur
.
GetPropProject
()
.
EndBlockHeight
real
:=
cur
.
GetPropProject
()
.
RealEndBlockHeight
if
start
<
a
.
height
||
end
<
a
.
height
||
(
real
!=
0
&&
real
<
a
.
height
)
{
err
:=
auty
.
ErrVotePeriod
alog
.
Error
(
"votePropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"ProposalID"
,
voteProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
// 检查当前状态
if
cur
.
Status
!=
auty
.
AutonomyStatusProposalProject
&&
cur
.
Status
!=
auty
.
AutonomyStatusVotePropProject
{
err
:=
auty
.
ErrProposalStatus
alog
.
Error
(
"votePropProject "
,
"addr"
,
a
.
fromaddr
,
"status"
,
cur
.
Status
,
"ProposalID"
,
voteProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
// 检查是否已经参与投票
var
votes
auty
.
VotesRecord
value
,
err
=
a
.
db
.
Get
(
VotesRecord
(
voteProb
.
ProposalID
))
if
err
==
nil
{
err
=
types
.
Decode
(
value
,
&
votes
)
if
err
!=
nil
{
alog
.
Error
(
"votePropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"decode VotesRecord failed"
,
voteProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
}
// 检查是否有重复
for
_
,
addr
:=
range
votes
.
Address
{
if
addr
==
a
.
fromaddr
{
err
:=
auty
.
ErrRepeatVoteAddr
alog
.
Error
(
"votePropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"repeat address GameID"
,
voteProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
}
// 加入已经投票的
votes
.
Address
=
append
(
votes
.
Address
,
a
.
fromaddr
)
if
cur
.
GetBoardVoteRes
()
.
TotalVotes
==
0
{
//需要统计票数
addr
:=
"16htvcBNSEA7fZhAdLJphDwQRQJaHpyHTp"
account
,
err
:=
a
.
getStartHeightVoteAccount
(
addr
,
start
)
if
err
!=
nil
{
return
nil
,
err
}
cur
.
BoardVoteRes
.
TotalVotes
=
int32
(
account
.
Balance
/
ticketPrice
)
}
account
,
err
:=
a
.
getStartHeightVoteAccount
(
a
.
fromaddr
,
start
)
if
err
!=
nil
{
return
nil
,
err
}
if
voteProb
.
Approve
{
cur
.
BoardVoteRes
.
ApproveVotes
+=
int32
(
account
.
Balance
/
ticketPrice
)
}
else
{
cur
.
BoardVoteRes
.
OpposeVotes
+=
int32
(
account
.
Balance
/
ticketPrice
)
}
var
logs
[]
*
types
.
ReceiptLog
var
kv
[]
*
types
.
KeyValue
if
float32
(
cur
.
BoardVoteRes
.
ApproveVotes
+
cur
.
BoardVoteRes
.
OpposeVotes
)
/
float32
(
cur
.
BoardVoteRes
.
TotalVotes
)
>=
participationRate
&&
float32
(
cur
.
BoardVoteRes
.
ApproveVotes
)
/
float32
(
cur
.
BoardVoteRes
.
ApproveVotes
+
cur
.
BoardVoteRes
.
OpposeVotes
)
>=
approveRate
{
cur
.
BoardVoteRes
.
Pass
=
true
cur
.
PropProject
.
RealEndBlockHeight
=
a
.
height
receipt
,
err
:=
a
.
coinsAccount
.
ExecTransferFrozen
(
cur
.
Address
,
autonomyAddr
,
a
.
execaddr
,
lockAmount
)
if
err
!=
nil
{
alog
.
Error
(
"votePropProject "
,
"addr"
,
cur
.
Address
,
"execaddr"
,
a
.
execaddr
,
"ExecTransferFrozen amount fail"
,
err
)
return
nil
,
err
}
logs
=
append
(
logs
,
receipt
.
Logs
...
)
kv
=
append
(
kv
,
receipt
.
KV
...
)
}
key
:=
propProjectID
(
voteProb
.
ProposalID
)
cur
.
Status
=
auty
.
AutonomyStatusVotePropProject
if
cur
.
BoardVoteRes
.
Pass
{
cur
.
Status
=
auty
.
AutonomyStatusTmintPropProject
}
value
=
types
.
Encode
(
&
cur
)
kv
=
append
(
kv
,
&
types
.
KeyValue
{
Key
:
key
,
Value
:
value
})
// 更新VotesRecord
kv
=
append
(
kv
,
&
types
.
KeyValue
{
Key
:
VotesRecord
(
voteProb
.
ProposalID
),
Value
:
types
.
Encode
(
&
votes
)})
ty
:=
auty
.
TyLogVotePropProject
if
cur
.
BoardVoteRes
.
Pass
{
ty
=
auty
.
TyLogTmintPropProject
}
receiptLog
:=
getProjectReceiptLog
(
pre
,
&
cur
,
int32
(
ty
))
logs
=
append
(
logs
,
receiptLog
)
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
kv
,
Logs
:
logs
},
nil
}
func
(
a
*
action
)
pubVotePropProject
(
voteProb
*
auty
.
PubVoteProposalProject
)
(
*
types
.
Receipt
,
error
)
{
return
nil
,
nil
}
func
(
a
*
action
)
tmintPropProject
(
tmintProb
*
auty
.
TerminateProposalProject
)
(
*
types
.
Receipt
,
error
)
{
// 获取GameID
value
,
err
:=
a
.
db
.
Get
(
propProjectID
(
tmintProb
.
ProposalID
))
if
err
!=
nil
{
alog
.
Error
(
"tmintPropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"get propProjectID failed"
,
tmintProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
var
cur
auty
.
AutonomyProposalProject
err
=
types
.
Decode
(
value
,
&
cur
)
if
err
!=
nil
{
alog
.
Error
(
"tmintPropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"decode AutonomyProposalProject failed"
,
tmintProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
pre
:=
copyAutonomyProposalProject
(
&
cur
)
start
:=
cur
.
GetPropProject
()
.
StartBlockHeight
end
:=
cur
.
GetPropProject
()
.
EndBlockHeight
if
a
.
height
<
end
&&
cur
.
Status
!=
auty
.
AutonomyStatusVotePropProject
{
err
:=
auty
.
ErrTerminatePeriod
alog
.
Error
(
"tmintPropProject "
,
"addr"
,
a
.
fromaddr
,
"status"
,
cur
.
Status
,
"height"
,
a
.
height
,
"ProposalID"
,
tmintProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
// 检查当前状态
if
cur
.
Status
==
auty
.
AutonomyStatusTmintPropProject
{
err
:=
auty
.
ErrProposalStatus
alog
.
Error
(
"tmintPropProject "
,
"addr"
,
a
.
fromaddr
,
"status"
,
cur
.
Status
,
"status is not match"
,
tmintProb
.
ProposalID
,
"err"
,
err
)
return
nil
,
err
}
if
cur
.
GetBoardVoteRes
()
.
TotalVotes
==
0
{
//需要统计票数
addr
:=
"16htvcBNSEA7fZhAdLJphDwQRQJaHpyHTp"
account
,
err
:=
a
.
getStartHeightVoteAccount
(
addr
,
start
)
if
err
!=
nil
{
return
nil
,
err
}
cur
.
BoardVoteRes
.
TotalVotes
=
int32
(
account
.
Balance
/
ticketPrice
)
}
if
float32
(
cur
.
BoardVoteRes
.
ApproveVotes
+
cur
.
BoardVoteRes
.
OpposeVotes
)
/
float32
(
cur
.
BoardVoteRes
.
TotalVotes
)
>=
participationRate
&&
float32
(
cur
.
BoardVoteRes
.
ApproveVotes
)
/
float32
(
cur
.
BoardVoteRes
.
ApproveVotes
+
cur
.
BoardVoteRes
.
OpposeVotes
)
>=
approveRate
{
cur
.
BoardVoteRes
.
Pass
=
true
}
else
{
cur
.
BoardVoteRes
.
Pass
=
false
}
cur
.
PropProject
.
RealEndBlockHeight
=
a
.
height
var
logs
[]
*
types
.
ReceiptLog
var
kv
[]
*
types
.
KeyValue
receipt
,
err
:=
a
.
coinsAccount
.
ExecTransferFrozen
(
cur
.
Address
,
autonomyAddr
,
a
.
execaddr
,
lockAmount
)
if
err
!=
nil
{
alog
.
Error
(
"votePropProject "
,
"addr"
,
a
.
fromaddr
,
"execaddr"
,
a
.
execaddr
,
"ExecTransferFrozen amount fail"
,
err
)
return
nil
,
err
}
logs
=
append
(
logs
,
receipt
.
Logs
...
)
kv
=
append
(
kv
,
receipt
.
KV
...
)
cur
.
Status
=
auty
.
AutonomyStatusTmintPropProject
kv
=
append
(
kv
,
&
types
.
KeyValue
{
Key
:
propProjectID
(
tmintProb
.
ProposalID
),
Value
:
types
.
Encode
(
&
cur
)})
getProjectReceiptLog
(
pre
,
&
cur
,
auty
.
TyLogTmintPropProject
)
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
kv
,
Logs
:
logs
},
nil
}
// getProjectReceiptLog 根据提案信息获取log
// 状态变化:
func
getProjectReceiptLog
(
pre
,
cur
*
auty
.
AutonomyProposalProject
,
ty
int32
)
*
types
.
ReceiptLog
{
log
:=
&
types
.
ReceiptLog
{}
log
.
Ty
=
ty
r
:=
&
auty
.
ReceiptProposalProject
{
Prev
:
pre
,
Current
:
cur
}
log
.
Log
=
types
.
Encode
(
r
)
return
log
}
func
copyAutonomyProposalProject
(
cur
*
auty
.
AutonomyProposalProject
)
*
auty
.
AutonomyProposalProject
{
newAut
:=
*
cur
newProject
:=
*
cur
.
GetPropProject
()
newRes
:=
*
cur
.
GetBoardVoteRes
()
newPub
:=
*
cur
.
GetPubVote
()
newAut
.
PropProject
=
&
newProject
newAut
.
BoardVoteRes
=
&
newRes
newAut
.
PubVote
=
&
newPub
return
&
newAut
}
plugin/dapp/autonomy/proto/autonomy.proto
View file @
579ca570
...
...
@@ -22,13 +22,14 @@ message AutonomyAction {
// 提案项目相关
ProposalProject
propProject
=
5
;
RevokeProposalProject
rvkPropProject
=
6
;
VoteProposalBoard
votePropProject
=
7
;
TerminateProposalProject
tmintPropProject
=
8
;
VoteProposalProject
votePropProject
=
7
;
PubVoteProposalProject
pubVotePropProject
=
8
;
TerminateProposalProject
tmintPropProject
=
9
;
// 提案规则修改相关
ProposalRule
propRule
=
9
;
RevokeProposalRule
rvkPropRule
=
1
0
;
VoteProposal
Board
votePropRule
=
11
;
TerminateProposalRule
tmintPropRule
=
1
2
;
ProposalRule
propRule
=
10
;
RevokeProposalRule
rvkPropRule
=
1
1
;
VoteProposal
Rule
votePropRule
=
12
;
TerminateProposalRule
tmintPropRule
=
1
3
;
}
int32
ty
=
1
3
;
int32
ty
=
1
4
;
}
\ No newline at end of file
plugin/dapp/autonomy/proto/board.proto
View file @
579ca570
...
...
@@ -12,7 +12,7 @@ package types;
message
AutonomyProposalBoard
{
ProposalBoard
propBoard
=
1
;
// 全体持票人投票结果
Vote
sResult
res
=
2
;
Vote
Result
voteResult
=
2
;
// 状态
int32
status
=
3
;
string
address
=
4
;
...
...
plugin/dapp/autonomy/proto/lcommon.proto
View file @
579ca570
...
...
@@ -6,7 +6,7 @@ syntax = "proto3";
package
types
;
message
Vote
s
Result
{
message
VoteResult
{
// 总票数
int32
totalVotes
=
1
;
// 赞成票
...
...
@@ -17,6 +17,15 @@ message VotesResult {
bool
pass
=
4
;
}
message
PublicVote
{
// 是否需要公示
bool
publicity
=
1
;
// 全体持票人反对票
int32
opposeVotes
=
2
;
// 是否通过
bool
pubPass
=
3
;
}
message
VotesRecord
{
repeated
string
address
=
1
;
}
\ No newline at end of file
plugin/dapp/autonomy/proto/project.proto
View file @
579ca570
...
...
@@ -11,15 +11,14 @@ package types;
message
AutonomyProposalProject
{
ProposalProject
propProject
=
1
;
// 董事会投票结果
VotesResult
boardResult
=
2
;
// 是否需要公示
bool
publicity
=
3
;
// 全体持票人反对票
int32
opposeVotes
=
4
;
// 是否通过
bool
pubPass
=
5
;
VoteResult
boardVoteRes
=
2
;
// 公示投票
PublicVote
pubVote
=
3
;
// 状态
int32
status
=
6
;
int32
status
=
4
;
string
address
=
5
;
int64
height
=
6
;
int32
index
=
7
;
}
message
ProposalProject
{
...
...
@@ -34,7 +33,7 @@ message ProposalProject {
string
production
=
6
;
// 项目地址
string
description
=
7
;
// 项目阶段性简述
string
contractor
=
8
;
// 承包人
int
32
amount
=
9
;
// 项目经费
int
64
amount
=
9
;
// 项目经费
string
amountDetail
=
10
;
// 经费细则
// 支付相关
...
...
@@ -51,6 +50,16 @@ message RevokeProposalProject {
string
proposalID
=
1
;
}
message
VoteProposalProject
{
string
proposalID
=
1
;
bool
approve
=
2
;
}
message
PubVoteProposalProject
{
string
proposalID
=
1
;
bool
oppose
=
2
;
}
message
TerminateProposalProject
{
string
proposalID
=
1
;
}
...
...
plugin/dapp/autonomy/proto/rule.proto
View file @
579ca570
...
...
@@ -11,7 +11,7 @@ package types;
message
AutonomyProposalRule
{
ProposalRule
propRule
=
1
;
// 全体持票人投票结果
Vote
sResult
res
=
2
;
Vote
Result
res
=
2
;
// 状态
int32
status
=
3
;
}
...
...
@@ -39,6 +39,11 @@ message RevokeProposalRule {
string
proposalID
=
1
;
}
message
VoteProposalRule
{
string
proposalID
=
1
;
bool
approve
=
2
;
}
message
TerminateProposalRule
{
string
proposalID
=
1
;
}
...
...
plugin/dapp/autonomy/types/autonomy.pb.go
View file @
579ca570
...
...
@@ -22,11 +22,14 @@ It has these top-level messages:
LocalProposalBoard
ReqQueryProposalBoard
ReplyQueryProposalBoard
VotesResult
VoteResult
PublicVote
VotesRecord
AutonomyProposalProject
ProposalProject
RevokeProposalProject
VoteProposalProject
PubVoteProposalProject
TerminateProposalProject
ReceiptProposalProject
LocalProposalProject
...
...
@@ -35,6 +38,7 @@ It has these top-level messages:
AutonomyProposalRule
ProposalRule
RevokeProposalRule
VoteProposalRule
TerminateProposalRule
ReceiptProposalRule
LocalProposalRule
...
...
@@ -68,13 +72,14 @@ type AutonomyAction struct {
// *AutonomyAction_PropProject
// *AutonomyAction_RvkPropProject
// *AutonomyAction_VotePropProject
// *AutonomyAction_PubVotePropProject
// *AutonomyAction_TmintPropProject
// *AutonomyAction_PropRule
// *AutonomyAction_RvkPropRule
// *AutonomyAction_VotePropRule
// *AutonomyAction_TmintPropRule
Value
isAutonomyAction_Value
`protobuf_oneof:"value"`
Ty
int32
`protobuf:"varint,1
3
,opt,name=ty" json:"ty,omitempty"`
Ty
int32
`protobuf:"varint,1
4
,opt,name=ty" json:"ty,omitempty"`
}
func
(
m
*
AutonomyAction
)
Reset
()
{
*
m
=
AutonomyAction
{}
}
...
...
@@ -105,22 +110,25 @@ type AutonomyAction_RvkPropProject struct {
RvkPropProject
*
RevokeProposalProject
`protobuf:"bytes,6,opt,name=rvkPropProject,oneof"`
}
type
AutonomyAction_VotePropProject
struct
{
VotePropProject
*
VoteProposalBoard
`protobuf:"bytes,7,opt,name=votePropProject,oneof"`
VotePropProject
*
VoteProposalProject
`protobuf:"bytes,7,opt,name=votePropProject,oneof"`
}
type
AutonomyAction_PubVotePropProject
struct
{
PubVotePropProject
*
PubVoteProposalProject
`protobuf:"bytes,8,opt,name=pubVotePropProject,oneof"`
}
type
AutonomyAction_TmintPropProject
struct
{
TmintPropProject
*
TerminateProposalProject
`protobuf:"bytes,
8
,opt,name=tmintPropProject,oneof"`
TmintPropProject
*
TerminateProposalProject
`protobuf:"bytes,
9
,opt,name=tmintPropProject,oneof"`
}
type
AutonomyAction_PropRule
struct
{
PropRule
*
ProposalRule
`protobuf:"bytes,
9
,opt,name=propRule,oneof"`
PropRule
*
ProposalRule
`protobuf:"bytes,
10
,opt,name=propRule,oneof"`
}
type
AutonomyAction_RvkPropRule
struct
{
RvkPropRule
*
RevokeProposalRule
`protobuf:"bytes,1
0
,opt,name=rvkPropRule,oneof"`
RvkPropRule
*
RevokeProposalRule
`protobuf:"bytes,1
1
,opt,name=rvkPropRule,oneof"`
}
type
AutonomyAction_VotePropRule
struct
{
VotePropRule
*
VoteProposal
Board
`protobuf:"bytes,11
,opt,name=votePropRule,oneof"`
VotePropRule
*
VoteProposal
Rule
`protobuf:"bytes,12
,opt,name=votePropRule,oneof"`
}
type
AutonomyAction_TmintPropRule
struct
{
TmintPropRule
*
TerminateProposalRule
`protobuf:"bytes,1
2
,opt,name=tmintPropRule,oneof"`
TmintPropRule
*
TerminateProposalRule
`protobuf:"bytes,1
3
,opt,name=tmintPropRule,oneof"`
}
func
(
*
AutonomyAction_PropBoard
)
isAutonomyAction_Value
()
{}
...
...
@@ -130,6 +138,7 @@ func (*AutonomyAction_TmintPropBoard) isAutonomyAction_Value() {}
func
(
*
AutonomyAction_PropProject
)
isAutonomyAction_Value
()
{}
func
(
*
AutonomyAction_RvkPropProject
)
isAutonomyAction_Value
()
{}
func
(
*
AutonomyAction_VotePropProject
)
isAutonomyAction_Value
()
{}
func
(
*
AutonomyAction_PubVotePropProject
)
isAutonomyAction_Value
()
{}
func
(
*
AutonomyAction_TmintPropProject
)
isAutonomyAction_Value
()
{}
func
(
*
AutonomyAction_PropRule
)
isAutonomyAction_Value
()
{}
func
(
*
AutonomyAction_RvkPropRule
)
isAutonomyAction_Value
()
{}
...
...
@@ -185,13 +194,20 @@ func (m *AutonomyAction) GetRvkPropProject() *RevokeProposalProject {
return
nil
}
func
(
m
*
AutonomyAction
)
GetVotePropProject
()
*
VoteProposal
Board
{
func
(
m
*
AutonomyAction
)
GetVotePropProject
()
*
VoteProposal
Project
{
if
x
,
ok
:=
m
.
GetValue
()
.
(
*
AutonomyAction_VotePropProject
);
ok
{
return
x
.
VotePropProject
}
return
nil
}
func
(
m
*
AutonomyAction
)
GetPubVotePropProject
()
*
PubVoteProposalProject
{
if
x
,
ok
:=
m
.
GetValue
()
.
(
*
AutonomyAction_PubVotePropProject
);
ok
{
return
x
.
PubVotePropProject
}
return
nil
}
func
(
m
*
AutonomyAction
)
GetTmintPropProject
()
*
TerminateProposalProject
{
if
x
,
ok
:=
m
.
GetValue
()
.
(
*
AutonomyAction_TmintPropProject
);
ok
{
return
x
.
TmintPropProject
...
...
@@ -213,7 +229,7 @@ func (m *AutonomyAction) GetRvkPropRule() *RevokeProposalRule {
return
nil
}
func
(
m
*
AutonomyAction
)
GetVotePropRule
()
*
VoteProposal
Board
{
func
(
m
*
AutonomyAction
)
GetVotePropRule
()
*
VoteProposal
Rule
{
if
x
,
ok
:=
m
.
GetValue
()
.
(
*
AutonomyAction_VotePropRule
);
ok
{
return
x
.
VotePropRule
}
...
...
@@ -244,6 +260,7 @@ func (*AutonomyAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer
(
*
AutonomyAction_PropProject
)(
nil
),
(
*
AutonomyAction_RvkPropProject
)(
nil
),
(
*
AutonomyAction_VotePropProject
)(
nil
),
(
*
AutonomyAction_PubVotePropProject
)(
nil
),
(
*
AutonomyAction_TmintPropProject
)(
nil
),
(
*
AutonomyAction_PropRule
)(
nil
),
(
*
AutonomyAction_RvkPropRule
)(
nil
),
...
...
@@ -291,28 +308,33 @@ func _AutonomyAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
if
err
:=
b
.
EncodeMessage
(
x
.
VotePropProject
);
err
!=
nil
{
return
err
}
case
*
AutonomyAction_
Tmint
PropProject
:
case
*
AutonomyAction_
PubVote
PropProject
:
b
.
EncodeVarint
(
8
<<
3
|
proto
.
WireBytes
)
if
err
:=
b
.
EncodeMessage
(
x
.
PubVotePropProject
);
err
!=
nil
{
return
err
}
case
*
AutonomyAction_TmintPropProject
:
b
.
EncodeVarint
(
9
<<
3
|
proto
.
WireBytes
)
if
err
:=
b
.
EncodeMessage
(
x
.
TmintPropProject
);
err
!=
nil
{
return
err
}
case
*
AutonomyAction_PropRule
:
b
.
EncodeVarint
(
9
<<
3
|
proto
.
WireBytes
)
b
.
EncodeVarint
(
10
<<
3
|
proto
.
WireBytes
)
if
err
:=
b
.
EncodeMessage
(
x
.
PropRule
);
err
!=
nil
{
return
err
}
case
*
AutonomyAction_RvkPropRule
:
b
.
EncodeVarint
(
1
0
<<
3
|
proto
.
WireBytes
)
b
.
EncodeVarint
(
1
1
<<
3
|
proto
.
WireBytes
)
if
err
:=
b
.
EncodeMessage
(
x
.
RvkPropRule
);
err
!=
nil
{
return
err
}
case
*
AutonomyAction_VotePropRule
:
b
.
EncodeVarint
(
1
1
<<
3
|
proto
.
WireBytes
)
b
.
EncodeVarint
(
1
2
<<
3
|
proto
.
WireBytes
)
if
err
:=
b
.
EncodeMessage
(
x
.
VotePropRule
);
err
!=
nil
{
return
err
}
case
*
AutonomyAction_TmintPropRule
:
b
.
EncodeVarint
(
1
2
<<
3
|
proto
.
WireBytes
)
b
.
EncodeVarint
(
1
3
<<
3
|
proto
.
WireBytes
)
if
err
:=
b
.
EncodeMessage
(
x
.
TmintPropRule
);
err
!=
nil
{
return
err
}
...
...
@@ -378,11 +400,19 @@ func _AutonomyAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto
if
wire
!=
proto
.
WireBytes
{
return
true
,
proto
.
ErrInternalBadWireType
}
msg
:=
new
(
VoteProposal
Board
)
msg
:=
new
(
VoteProposal
Project
)
err
:=
b
.
DecodeMessage
(
msg
)
m
.
Value
=
&
AutonomyAction_VotePropProject
{
msg
}
return
true
,
err
case
8
:
// value.tmintPropProject
case
8
:
// value.pubVotePropProject
if
wire
!=
proto
.
WireBytes
{
return
true
,
proto
.
ErrInternalBadWireType
}
msg
:=
new
(
PubVoteProposalProject
)
err
:=
b
.
DecodeMessage
(
msg
)
m
.
Value
=
&
AutonomyAction_PubVotePropProject
{
msg
}
return
true
,
err
case
9
:
// value.tmintPropProject
if
wire
!=
proto
.
WireBytes
{
return
true
,
proto
.
ErrInternalBadWireType
}
...
...
@@ -390,7 +420,7 @@ func _AutonomyAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto
err
:=
b
.
DecodeMessage
(
msg
)
m
.
Value
=
&
AutonomyAction_TmintPropProject
{
msg
}
return
true
,
err
case
9
:
// value.propRule
case
10
:
// value.propRule
if
wire
!=
proto
.
WireBytes
{
return
true
,
proto
.
ErrInternalBadWireType
}
...
...
@@ -398,7 +428,7 @@ func _AutonomyAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto
err
:=
b
.
DecodeMessage
(
msg
)
m
.
Value
=
&
AutonomyAction_PropRule
{
msg
}
return
true
,
err
case
1
0
:
// value.rvkPropRule
case
1
1
:
// value.rvkPropRule
if
wire
!=
proto
.
WireBytes
{
return
true
,
proto
.
ErrInternalBadWireType
}
...
...
@@ -406,15 +436,15 @@ func _AutonomyAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto
err
:=
b
.
DecodeMessage
(
msg
)
m
.
Value
=
&
AutonomyAction_RvkPropRule
{
msg
}
return
true
,
err
case
1
1
:
// value.votePropRule
case
1
2
:
// value.votePropRule
if
wire
!=
proto
.
WireBytes
{
return
true
,
proto
.
ErrInternalBadWireType
}
msg
:=
new
(
VoteProposal
Board
)
msg
:=
new
(
VoteProposal
Rule
)
err
:=
b
.
DecodeMessage
(
msg
)
m
.
Value
=
&
AutonomyAction_VotePropRule
{
msg
}
return
true
,
err
case
1
2
:
// value.tmintPropRule
case
1
3
:
// value.tmintPropRule
if
wire
!=
proto
.
WireBytes
{
return
true
,
proto
.
ErrInternalBadWireType
}
...
...
@@ -466,29 +496,34 @@ func _AutonomyAction_OneofSizer(msg proto.Message) (n int) {
n
+=
proto
.
SizeVarint
(
7
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
uint64
(
s
))
n
+=
s
case
*
AutonomyAction_PubVotePropProject
:
s
:=
proto
.
Size
(
x
.
PubVotePropProject
)
n
+=
proto
.
SizeVarint
(
8
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
uint64
(
s
))
n
+=
s
case
*
AutonomyAction_TmintPropProject
:
s
:=
proto
.
Size
(
x
.
TmintPropProject
)
n
+=
proto
.
SizeVarint
(
8
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
9
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
uint64
(
s
))
n
+=
s
case
*
AutonomyAction_PropRule
:
s
:=
proto
.
Size
(
x
.
PropRule
)
n
+=
proto
.
SizeVarint
(
9
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
10
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
uint64
(
s
))
n
+=
s
case
*
AutonomyAction_RvkPropRule
:
s
:=
proto
.
Size
(
x
.
RvkPropRule
)
n
+=
proto
.
SizeVarint
(
1
0
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
1
1
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
uint64
(
s
))
n
+=
s
case
*
AutonomyAction_VotePropRule
:
s
:=
proto
.
Size
(
x
.
VotePropRule
)
n
+=
proto
.
SizeVarint
(
1
1
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
1
2
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
uint64
(
s
))
n
+=
s
case
*
AutonomyAction_TmintPropRule
:
s
:=
proto
.
Size
(
x
.
TmintPropRule
)
n
+=
proto
.
SizeVarint
(
1
2
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
1
3
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
uint64
(
s
))
n
+=
s
case
nil
:
...
...
@@ -505,28 +540,30 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"autonomy.proto"
,
fileDescriptor0
)
}
var
fileDescriptor0
=
[]
byte
{
// 366 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x84
,
0x93
,
0xcd
,
0x6a
,
0xf2
,
0x40
,
0x14
,
0x86
,
0xd5
,
0xef
,
0x8b
,
0x3f
,
0x27
,
0x26
,
0x2d
,
0xa7
,
0xa5
,
0xa4
,
0xd2
,
0x52
,
0xe9
,
0xca
,
0x95
,
0xd0
,
0x9f
,
0x55
,
0xa1
,
0x45
,
0x45
,
0x5a
,
0x37
,
0x05
,
0x09
,
0xa5
,
0xfb
,
0x68
,
0x67
,
0x61
,
0x8d
,
0x99
,
0x30
,
0x4e
,
0x02
,
0xb9
,
0xb8
,
0xde
,
0x5b
,
0xc9
,
0x71
,
0x92
,
0x98
,
0x89
,
0xc5
,
0x5d
,
0x92
,
0x73
,
0x9e
,
0x87
,
0x79
,
0xdf
,
0x30
,
0x60
,
0x7b
,
0x91
,
0xe4
,
0x01
,
0xdf
,
0x24
,
0xc3
,
0x50
,
0x70
,
0xc9
,
0xd1
,
0x90
,
0x49
,
0xc8
,
0xb6
,
0x3d
,
0x73
,
0xc1
,
0x3d
,
0xf1
,
0xb5
,
0xfb
,
0xd6
,
0xb3
,
0x42
,
0xc1
,
0xbf
,
0xd9
,
0x52
,
0xaa
,
0x57
,
0x10
,
0x91
,
0xcf
,
0x76
,
0xcf
,
0xb7
,
0x3f
,
0x4d
,
0xb0
,
0xc7
,
0xca
,
0x30
,
0x5e
,
0xca
,
0x15
,
0x0f
,
0xf0
,
0x11
,
0x3a
,
0xa1
,
0xe0
,
0xe1
,
0x24
,
0x15
,
0x38
,
0xf5
,
0x7e
,
0x7d
,
0x60
,
0xde
,
0x9f
,
0x0f
,
0xc9
,
0x3a
,
0x9c
,
0x0b
,
0x1e
,
0xf2
,
0xad
,
0xe7
,
0xd3
,
0x6c
,
0x56
,
0x73
,
0x8b
,
0x45
,
0x1c
,
0x41
,
0x57
,
0xc4
,
0xeb
,
0x79
,
0x0e
,
0x36
,
0x08
,
0xec
,
0x29
,
0xd0
,
0x65
,
0x31
,
0x5f
,
0x33
,
0x1d
,
0x2f
,
0x11
,
0x38
,
0x02
,
0x2b
,
0xe6
,
0x92
,
0x15
,
0x8a
,
0x7f
,
0xa4
,
0x70
,
0x94
,
0xe2
,
0x53
,
0xcd
,
0xf6
,
0x05
,
0x65
,
0x00
,
0xdf
,
0xc0
,
0x96
,
0x9b
,
0x55
,
0x20
,
0x0b
,
0xc5
,
0x7f
,
0x52
,
0x5c
,
0x2b
,
0xc5
,
0x07
,
0x13
,
0x9b
,
0x55
,
0xe0
,
0x55
,
0x3d
,
0x1a
,
0x86
,
0x4f
,
0x60
,
0xa6
,
0xc9
,
0xe6
,
0xbb
,
0xda
,
0x1c
,
0x83
,
0x2c
,
0x17
,
0x5a
,
0x09
,
0x6a
,
0x3a
,
0xab
,
0xb9
,
0xfb
,
0xcb
,
0xf8
,
0x0a
,
0xb6
,
0x8a
,
0x95
,
0xe1
,
0x4d
,
0xc2
,
0xaf
,
0x0e
,
0x56
,
0x51
,
0x48
,
0x34
,
0x0a
,
0xa7
,
0x70
,
0x92
,
0xa5
,
0xcb
,
0x44
,
0xad
,
0xa3
,
0x85
,
0xe8
,
0x08
,
0xbe
,
0xc3
,
0x69
,
0x9e
,
0x2d
,
0xd3
,
0xb4
,
0x49
,
0x73
,
0xf3
,
0x57
,
0x29
,
0xc5
,
0x91
,
0x2a
,
0x28
,
0xde
,
0x41
,
0x3b
,
0xcd
,
0xea
,
0x46
,
0x3e
,
0x73
,
0x3a
,
0xa4
,
0x39
,
0xd3
,
0x5a
,
0x49
,
0x47
,
0xb3
,
0x9a
,
0x9b
,
0xaf
,
0xe1
,
0x33
,
0x98
,
0x2a
,
0x19
,
0x51
,
0x40
,
0xd4
,
0xe5
,
0xc1
,
0x32
,
0x14
,
0xbb
,
0xbf
,
0x8f
,
0x2f
,
0xd0
,
0xcd
,
0x32
,
0x11
,
0x6f
,
0x1e
,
0xed
,
0xa0
,
0xb4
,
0x8f
,
0x53
,
0xb0
,
0xf2
,
0x14
,
0x24
,
0xe8
,
0x96
,
0xfe
,
0x46
,
0x25
,
0xbd
,
0x3a
,
0x43
,
0x19
,
0x42
,
0x1b
,
0x1a
,
0x32
,
0x71
,
0xac
,
0x7e
,
0x7d
,
0x60
,
0xb8
,
0x0d
,
0x99
,
0x4c
,
0x5a
,
0x60
,
0xc4
,
0x9e
,
0x1f
,
0xb1
,
0x45
,
0x93
,
0xae
,
0xd1
,
0xc3
,
0x6f
,
0x00
,
0x00
,
0x00
,
0xff
,
0xff
,
0x17
,
0x5d
,
0xfb
,
0x98
,
0x87
,
0x03
,
0x00
,
0x00
,
// 388 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x74
,
0x93
,
0x4b
,
0x6b
,
0xe2
,
0x50
,
0x14
,
0x80
,
0xd5
,
0x99
,
0xf8
,
0x38
,
0x31
,
0x99
,
0xe1
,
0xcc
,
0x30
,
0x93
,
0x91
,
0x19
,
0x46
,
0xba
,
0x72
,
0x25
,
0xf4
,
0xb1
,
0x2a
,
0x08
,
0x2a
,
0xc5
,
0xba
,
0x29
,
0x0d
,
0xa1
,
0xb8
,
0x8f
,
0xf6
,
0x2e
,
0xac
,
0x31
,
0x37
,
0x5c
,
0x6f
,
0x02
,
0xf9
,
0x15
,
0xfd
,
0xcb
,
0x25
,
0xc7
,
0x9b
,
0xc7
,
0x8d
,
0xe9
,
0x4e
,
0x73
,
0xce
,
0xf7
,
0xc1
,
0xf9
,
0x42
,
0xc0
,
0xf6
,
0x63
,
0xc9
,
0x43
,
0x7e
,
0x4c
,
0xa7
,
0x91
,
0xe0
,
0x92
,
0xa3
,
0x21
,
0xd3
,
0x88
,
0x9d
,
0x46
,
0xe6
,
0x96
,
0xfb
,
0xe2
,
0xf5
,
0xfc
,
0x6c
,
0x64
,
0x45
,
0x82
,
0xbf
,
0xb1
,
0x9d
,
0x54
,
0x7f
,
0x41
,
0xc4
,
0x01
,
0x3b
,
0xff
,
0xbe
,
0x7a
,
0xef
,
0x81
,
0xbd
,
0x50
,
0x86
,
0xc5
,
0x4e
,
0xee
,
0x79
,
0x88
,
0x77
,
0x30
,
0x88
,
0x04
,
0x8f
,
0x96
,
0x99
,
0xc0
,
0x69
,
0x8f
,
0xdb
,
0x13
,
0xf3
,
0xe6
,
0xe7
,
0x94
,
0xac
,
0x53
,
0x57
,
0xf0
,
0x88
,
0x9f
,
0xfc
,
0x80
,
0x66
,
0xeb
,
0x96
,
0x57
,
0x2e
,
0xe2
,
0x1c
,
0x86
,
0x22
,
0x39
,
0xb8
,
0x05
,
0xd8
,
0x21
,
0x70
,
0xa4
,
0x40
,
0x8f
,
0x25
,
0xfc
,
0xc0
,
0xea
,
0xb8
,
0x46
,
0xe0
,
0x1c
,
0xac
,
0x84
,
0x4b
,
0x56
,
0x2a
,
0xbe
,
0x90
,
0xc2
,
0x51
,
0x8a
,
0x8d
,
0x9a
,
0x55
,
0x05
,
0x3a
,
0x80
,
0x8f
,
0x60
,
0xcb
,
0xe3
,
0x3e
,
0x94
,
0xa5
,
0xe2
,
0x2b
,
0x29
,
0xfe
,
0x29
,
0xc5
,
0x0b
,
0x13
,
0xc7
,
0x7d
,
0xe8
,
0x5f
,
0x7a
,
0x6a
,
0x18
,
0xde
,
0x83
,
0x99
,
0x5d
,
0xe6
,
0x9e
,
0xb3
,
0x39
,
0x06
,
0x59
,
0x7e
,
0xd5
,
0x22
,
0xa8
,
0xe9
,
0xba
,
0xe5
,
0x55
,
0x97
,
0x71
,
0x05
,
0xb6
,
0x3a
,
0x2b
,
0xc7
,
0xbb
,
0x84
,
0xff
,
0x6d
,
0x4c
,
0x51
,
0x4a
,
0x6a
,
0x14
,
0xae
,
0xe0
,
0x5b
,
0x7e
,
0x5d
,
0x2e
,
0xea
,
0x69
,
0x4d
,
0xab
,
0x41
,
0x4a
,
0x4d
,
0x1d
,
0xc2
,
0x67
,
0xc0
,
0x28
,
0xde
,
0x6e
,
0x6a
,
0xaa
,
0xbe
,
0x16
,
0xc6
,
0x2d
,
0x17
,
0x74
,
0x5b
,
0x03
,
0x8a
,
0x4f
,
0xf0
,
0xbd
,
0xc8
,
0x95
,
0xeb
,
0x06
,
0xa4
,
0xfb
,
0xff
,
0x59
,
0xe7
,
0x52
,
0x78
,
0x81
,
0xe2
,
0x35
,
0xf4
,
0xb3
,
0x7c
,
0x5e
,
0x1c
,
0x30
,
0x07
,
0x48
,
0xf3
,
0xa3
,
0x16
,
0x3a
,
0x1b
,
0xad
,
0x5b
,
0x5e
,
0xb1
,
0x86
,
0x33
,
0x30
,
0x55
,
0x2c
,
0xa2
,
0x4c
,
0xa2
,
0xfe
,
0x34
,
0xf6
,
0x55
,
0x6c
,
0x75
,
0x1f
,
0x67
,
0x30
,
0xcc
,
0x23
,
0x11
,
0x3f
,
0x24
,
0xfe
,
0x77
,
0x43
,
0x56
,
0x45
,
0x6b
,
0xeb
,
0xf8
,
0x00
,
0x56
,
0x71
,
0x04
,
0xf1
,
0x96
,
0xf6
,
0x7e
,
0x2f
,
0x8e
,
0x57
,
0x12
,
0x1d
,
0x42
,
0x1b
,
0x3a
,
0x32
,
0x75
,
0xec
,
0x71
,
0x7b
,
0x62
,
0x78
,
0x1d
,
0x99
,
0x2e
,
0x7b
,
0x60
,
0x24
,
0x7e
,
0x10
,
0xb3
,
0x6d
,
0x97
,
0x3e
,
0xcc
,
0xdb
,
0x8f
,
0x00
,
0x00
,
0x00
,
0xff
,
0xff
,
0x5a
,
0xbe
,
0x86
,
0xe9
,
0xd9
,
0x03
,
0x00
,
0x00
,
}
plugin/dapp/autonomy/types/board.pb.go
View file @
579ca570
...
...
@@ -15,7 +15,7 @@ var _ = math.Inf
type
AutonomyProposalBoard
struct
{
PropBoard
*
ProposalBoard
`protobuf:"bytes,1,opt,name=propBoard" json:"propBoard,omitempty"`
// 全体持票人投票结果
Res
*
VotesResult
`protobuf:"bytes,2,opt,name=res" json:"res
,omitempty"`
VoteResult
*
VoteResult
`protobuf:"bytes,2,opt,name=voteResult" json:"voteResult
,omitempty"`
// 状态
Status
int32
`protobuf:"varint,3,opt,name=status" json:"status,omitempty"`
Address
string
`protobuf:"bytes,4,opt,name=address" json:"address,omitempty"`
...
...
@@ -35,9 +35,9 @@ func (m *AutonomyProposalBoard) GetPropBoard() *ProposalBoard {
return
nil
}
func
(
m
*
AutonomyProposalBoard
)
Get
Res
()
*
Votes
Result
{
func
(
m
*
AutonomyProposalBoard
)
Get
VoteResult
()
*
Vote
Result
{
if
m
!=
nil
{
return
m
.
Res
return
m
.
VoteResult
}
return
nil
}
...
...
@@ -316,37 +316,37 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"board.proto"
,
fileDescriptor1
)
}
var
fileDescriptor1
=
[]
byte
{
// 49
8
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x94
,
0x54
,
0x
5d
,
0x8b
,
0xd4
,
0x30
,
0x1
4
,
0x25
,
0x76
,
0x3a
,
0xb3
,
0xbd
,
0xcb
,
0xca
,
0x1a
,
0x67
,
0xd7
,
0xb2
,
0x2c
,
0x52
,
0x8a
,
0x48
,
0x
f1
,
0x61
,
0x90
,
0xf5
,
0x03
,
0xf1
,
0xcd
,
0x41
,
0x41
,
0x41
,
0x41
,
0x83
,
0xfa
,
0x9e
,
0x6d
,
0xaf
,
0x
4e
,
0xd9
,
0xb6
,
0x89
,
0x49
,
0x3a
,
0xd8
,
0x37
,
0xff
,
0xa2
,
0xbf
,
0xc2
,
0xbf
,
0x21
,
0x49
,
0x33
,
0x
76
,
0xba
,
0x0e
,
0xba
,
0xfb
,
0xd6
,
0x73
,
0x73
,
0x6e
,
0x72
,
0x4f
,
0x72
,
0x4e
,
0x61
,
0xff
,
0x5c
,
0x
70
,
0x55
,
0x2c
,
0xa4
,
0x12
,
0x46
,
0xd0
,
0xd0
,
0x74
,
0x12
,
0xf5
,
0xc9
,
0x41
,
0x95
,
0x8b
,
0xba
,
0x
16
,
0x4d
,
0x5f
,
0x4d
,
0x7f
,
0x12
,
0x38
,
0x7a
,
0xd1
,
0x1a
,
0xd1
,
0x88
,
0xba
,
0x7b
,
0xaf
,
0x84
,
0x
14
,
0x9a
,
0x57
,
0x4b
,
0xdb
,
0x45
,
0xcf
,
0x20
,
0x92
,
0x4a
,
0x48
,
0x07
,
0x62
,
0x92
,
0x90
,
0x6c
,
0x
ff
,
0x6c
,
0xbe
,
0x70
,
0x7b
,
0x2c
,
0x46
,
0x44
,
0x36
,
0xd0
,
0xe8
,
0x3d
,
0x08
,
0x14
,
0xea
,
0xf8
,
0x
86
,
0x63
,
0x53
,
0xcf
,
0xfe
,
0x2c
,
0x0c
,
0x6a
,
0x86
,
0xba
,
0xad
,
0x0c
,
0xb3
,
0xcb
,
0xf4
,
0x18
,
0x
a6
,
0xda
,
0x70
,
0xd3
,
0xea
,
0x38
,
0x48
,
0x48
,
0x16
,
0x32
,
0x8f
,
0x68
,
0x0c
,
0x33
,
0x5e
,
0x14
,
0x
0a
,
0xb5
,
0x8e
,
0x27
,
0x09
,
0xc9
,
0x22
,
0xb6
,
0x81
,
0xb6
,
0x63
,
0x85
,
0xe5
,
0xd7
,
0x95
,
0x89
,
0x
c3
,
0x84
,
0x64
,
0x01
,
0xf3
,
0x88
,
0xce
,
0x21
,
0x2c
,
0x9b
,
0x02
,
0xbf
,
0xc7
,
0x53
,
0xb7
,
0x51
,
0x
0f
,
0xd2
,
0x5f
,
0x04
,
0x0e
,
0xc6
,
0x5a
,
0x28
,
0x4c
,
0x3a
,
0xe4
,
0xca
,
0xc9
,
0x08
,
0x99
,
0xfb
,
0x
b6
,
0xbd
,
0xb5
,
0x68
,
0xcc
,
0xca
,
0x4d
,
0x1b
,
0xb2
,
0x1e
,
0xd0
,
0x43
,
0x08
,
0x0a
,
0xde
,
0xf
9
,
0x
c1
,
0xec
,
0xa7
,
0x3d
,
0xdb
,
0x5d
,
0xa3
,
0x1d
,
0x2a
,
0xc8
,
0x22
,
0xe6
,
0x11
,
0x7d
,
0x00
,
0x87
,
0x
da
,
0x70
,
0x65
,
0x96
,
0x95
,
0xc8
,
0x2f
,
0x5e
,
0x6f
,
0x4f
,
0xf7
,
0x57
,
0x9d
,
0xde
,
0x87
,
0x9b
,
0x
d8
,
0x14
,
0xdb
,
0xcc
,
0xa9
,
0x63
,
0x5e
,
0xaa
,
0xd2
,
0x05
,
0x50
,
0x85
,
0xbc
,
0x7a
,
0x35
,
0xe6
,
0x
ce
,
0x1c
,
0x77
,
0xc7
,
0x4a
,
0xfa
,
0x04
,
0x6e
,
0x33
,
0x5c
,
0x8b
,
0x0b
,
0x1c
,
0xcb
,
0xbd
,
0x0b
,
0x
20
,
0x7d
,
0xe1
,
0xcd
,
0x4b
,
0x27
,
0x3a
,
0x62
,
0x5b
,
0x95
,
0xf4
,
0x1d
,
0xdc
,
0xb2
,
0x8f
,
0x72
,
0x
ad
,
0x26
,
0xf7
,
0x3a
,
0x52
,
0x2a
,
0xb1
,
0x46
,
0x77
,
0x63
,
0x7b
,
0x6c
,
0x03
,
0xd3
,
0x67
,
0x70
,
0x
fc
,
0x11
,
0x55
,
0x5d
,
0x36
,
0xfc
,
0x9a
,
0x7b
,
0xa6
,
0x3f
,
0x08
,
0xcc
,
0x19
,
0xe6
,
0x58
,
0x4a
,
0x
33
,
0x6e
,
0x7c
,
0x08
,
0x13
,
0xa9
,
0x70
,
0xed
,
0x7d
,
0x77
,
0xea
,
0x9d
,
0xb4
,
0xd3
,
0xa8
,
0xcc
,
0x
31
,
0xe9
,
0x53
,
0x98
,
0xe5
,
0xad
,
0x52
,
0xd8
,
0x18
,
0x6f
,
0xbf
,
0x7f
,
0x37
,
0x6d
,
0xc8
,
0xe9
,
0x
17
,
0xa0
,
0x6f
,
0x45
,
0xce
,
0xab
,
0xf1
,
0xf9
,
0x8f
,
0x61
,
0xea
,
0x5c
,
0x5d
,
0x5c
,
0x69
,
0x02
,
0x
cf
,
0xa5
,
0x27
,
0xb0
,
0x67
,
0xc3
,
0x85
,
0x8d
,
0xb1
,
0x19
,
0xb0
,
0x66
,
0xf9
,
0x83
,
0xd3
,
0x0e
,
0x
8e
,
0x18
,
0x7e
,
0xfb
,
0xd0
,
0xa2
,
0xba
,
0x94
,
0xb3
,
0x21
,
0x0d
,
0x64
,
0x94
,
0x86
,
0x39
,
0x84
,
0x
b9
,
0x68
,
0xbd
,
0x9c
,
0x90
,
0xf5
,
0x80
,
0x9e
,
0x42
,
0x54
,
0x94
,
0x0a
,
0x73
,
0x53
,
0x8a
,
0xc6
,
0x
bb
,
0x74
,
0x28
,
0x0c
,
0x79
,
0x98
,
0x38
,
0xcb
,
0xf8
,
0x3c
,
0x7c
,
0x82
,
0x3b
,
0x0c
,
0x65
,
0xd5
,
0x
ed
,
0x38
,
0xfc
,
0xb9
,
0x0b
,
0xf9
,
0xb2
,
0xf7
,
0x37
,
0x49
,
0x82
,
0xff
,
0x4a
,
0x1d
,
0xe8
,
0xe7
,
0x
53
,
0xf7
,
0x07
,
0x79
,
0xf4
,
0x3b
,
0x00
,
0x00
,
0xff
,
0xff
,
0x83
,
0xda
,
0x5e
,
0xb4
,
0x66
,
0x04
,
0x00
,
0x00
,
// 49
9
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x94
,
0x54
,
0x
4d
,
0x6f
,
0xd4
,
0x30
,
0x1
0
,
0x95
,
0xbb
,
0x9b
,
0xb4
,
0x99
,
0xaa
,
0xa8
,
0x35
,
0xdb
,
0x12
,
0x55
,
0x15
,
0x8a
,
0x72
,
0x40
,
0x
11
,
0x87
,
0x15
,
0x94
,
0x0f
,
0x21
,
0x6e
,
0xac
,
0x40
,
0x02
,
0x09
,
0x24
,
0xb0
,
0x80
,
0xbb
,
0x9b
,
0x
0c
,
0x6c
,
0xd4
,
0x24
,
0x36
,
0x8e
,
0xb3
,
0x22
,
0x37
,
0x7e
,
0x29
,
0x57
,
0xfe
,
0x06
,
0xca
,
0xc4
,
0x
db
,
0x6c
,
0xca
,
0x0a
,
0xe8
,
0x2d
,
0x6f
,
0xfc
,
0x9e
,
0x3d
,
0x63
,
0xbf
,
0x17
,
0xd8
,
0xbf
,
0x50
,
0x
d2
,
0x64
,
0x73
,
0x6d
,
0x94
,
0x55
,
0xdc
,
0xb3
,
0xad
,
0xc6
,
0xfa
,
0xf4
,
0xa0
,
0x48
,
0x55
,
0x59
,
0x
aa
,
0xaa
,
0xaf
,
0xc6
,
0x3f
,
0x19
,
0x1c
,
0xbf
,
0x68
,
0xac
,
0xaa
,
0x54
,
0xd9
,
0xbe
,
0x37
,
0x4a
,
0x
ab
,
0x5a
,
0x16
,
0x8b
,
0x4e
,
0xc5
,
0xcf
,
0x21
,
0xd0
,
0x46
,
0x69
,
0x02
,
0x21
,
0x8b
,
0x58
,
0xb2
,
0x
7f
,
0x3e
,
0x9b
,
0xd3
,
0x1e
,
0xf3
,
0x11
,
0x51
,
0x0c
,
0x34
,
0xfe
,
0x10
,
0x60
,
0xa5
,
0x2c
,
0x0a
,
0x
ac
,
0x9b
,
0xc2
,
0x86
,
0x3b
,
0x24
,
0x3a
,
0x72
,
0xa2
,
0xcf
,
0x57
,
0x0b
,
0x62
,
0x83
,
0xc4
,
0x4f
,
0x
c0
,
0xaf
,
0xad
,
0xb4
,
0x4d
,
0x1d
,
0x4e
,
0x22
,
0x96
,
0x78
,
0xc2
,
0x21
,
0x1e
,
0xc2
,
0xae
,
0xcc
,
0x
32
,
0x83
,
0x75
,
0x1d
,
0x4e
,
0x23
,
0x96
,
0x04
,
0x62
,
0x0d
,
0x3b
,
0xc5
,
0x12
,
0xf3
,
0xaf
,
0x4b
,
0x
1b
,
0x7a
,
0x11
,
0x4b
,
0x26
,
0xc2
,
0x21
,
0x3e
,
0x03
,
0x2f
,
0xaf
,
0x32
,
0xfc
,
0x1e
,
0xfa
,
0xb4
,
0x
51
,
0x0f
,
0xe2
,
0x5f
,
0x0c
,
0x0e
,
0xc6
,
0x83
,
0x71
,
0x98
,
0xb6
,
0x28
,
0x0d
,
0xcd
,
0xe4
,
0x09
,
0x
fa
,
0xee
,
0xb4
,
0xa5
,
0xaa
,
0xec
,
0x92
,
0x7a
,
0xf6
,
0x44
,
0x0f
,
0xf8
,
0x21
,
0x4c
,
0x32
,
0xd
9
,
0x
ba
,
0xc6
,
0xba
,
0xcf
,
0xee
,
0x6c
,
0xba
,
0xd3
,
0xae
,
0xa9
,
0x49
,
0x12
,
0x08
,
0x87
,
0xf8
,
0x7d
,
0x
38
,
0xac
,
0xad
,
0x34
,
0x76
,
0x51
,
0xa8
,
0xf4
,
0xf2
,
0xf5
,
0x66
,
0x77
,
0x7f
,
0xd4
,
0xf9
,
0x3d
,
0x
b8
,
0x85
,
0x55
,
0xb6
,
0xc9
,
0xf4
,
0x89
,
0x79
,
0xad
,
0xca
,
0xe7
,
0xc0
,
0x0d
,
0xca
,
0xe2
,
0xd5
,
0x
98
,
0xbb
,
0x4b
,
0xdc
,
0x2d
,
0x2b
,
0xf1
,
0x13
,
0xb8
,
0x2d
,
0x70
,
0xa5
,
0x2e
,
0x71
,
0x3c
,
0xee
,
0x
5d
,
0x00
,
0xed
,
0x0a
,
0x6f
,
0x5e
,
0xd2
,
0xd0
,
0x81
,
0xd8
,
0xa8
,
0xc4
,
0xef
,
0xe0
,
0xa8
,
0x7b
,
0x
9a
,
0x1b
,
0x89
,
0xe8
,
0x75
,
0xb4
,
0x36
,
0x6a
,
0x85
,
0x74
,
0x63
,
0x7b
,
0x62
,
0x0d
,
0xe3
,
0x67
,
0x
70
,
0xf2
,
0x11
,
0x4d
,
0x99
,
0x57
,
0xf2
,
0x86
,
0x7b
,
0xc6
,
0x3f
,
0x18
,
0xcc
,
0x04
,
0xa6
,
0x98
,
0x
6b
,
0x3b
,
0x16
,
0x3e
,
0x80
,
0xa9
,
0x36
,
0xb8
,
0x72
,
0x26
,
0x3c
,
0x73
,
0x7e
,
0xda
,
0xea
,
0x5a
,
0x
41
,
0x4c
,
0xfe
,
0x14
,
0x76
,
0xd3
,
0xc6
,
0x18
,
0xac
,
0xd6
,
0x26
,
0xfc
,
0xbb
,
0x68
,
0x4d
,
0x8e
,
0x
bf
,
0x00
,
0x7f
,
0xab
,
0x52
,
0x59
,
0x8c
,
0xcf
,
0x7f
,
0x0c
,
0x3e
,
0x59
,
0x3c
,
0xfb
,
0xaf
,
0x0e
,
0x
1c
,
0x97
,
0x9f
,
0xc2
,
0x5e
,
0x97
,
0x34
,
0xac
,
0x6c
,
0x1d
,
0xee
,
0x90
,
0x59
,
0xae
,
0x70
,
0xdc
,
0x
c2
,
0xb1
,
0xc0
,
0x6f
,
0x1f
,
0x1a
,
0x34
,
0xd7
,
0x42
,
0x37
,
0xa4
,
0x81
,
0x8d
,
0xd2
,
0x30
,
0x03
,
0x
2f
,
0x55
,
0x8d
,
0x1b
,
0xc7
,
0x13
,
0x3d
,
0xe0
,
0x67
,
0x10
,
0x64
,
0xb9
,
0xc1
,
0xd4
,
0xe6
,
0xaa
,
0x
72
,
0x2e
,
0x1d
,
0x0a
,
0x43
,
0x1e
,
0xa6
,
0x64
,
0x19
,
0x97
,
0x87
,
0x4f
,
0x70
,
0x47
,
0xa0
,
0x2e
,
0x
da
,
0x2d
,
0x87
,
0x3f
,
0xa7
,
0xc4
,
0x2f
,
0x7a
,
0x7f
,
0xb3
,
0x68
,
0xf2
,
0xcf
,
0x51
,
0x07
,
0xfa
,
0x
85
,
0x4f
,
0xbf
,
0x93
,
0x47
,
0xbf
,
0x03
,
0x00
,
0x00
,
0xff
,
0xff
,
0x3f
,
0xce
,
0x7c
,
0xf0
,
0x73
,
0x0
4
,
0x0
0
,
0x00
,
}
plugin/dapp/autonomy/types/const.go
View file @
579ca570
...
...
@@ -70,6 +70,20 @@ const (
)
const
(
AutonomyStatusProposalProject
=
iota
+
1
AutonomyStatusRvkPropProject
AutonomyStatusVotePropProject
AutonomyStatusTmintPropProject
)
const
(
AutonomyStatusProposalRule
=
iota
+
1
AutonomyStatusRvkPropRule
AutonomyStatusVotePropRule
AutonomyStatusTmintPropRule
)
const
(
// GetProposalBoard 用于在cmd里面的区分不同的查询
GetProposalBoard
=
"GetProposalBoard"
// GetProposalProject 用于在cmd里面的区分不同的查询
...
...
plugin/dapp/autonomy/types/lcommon.pb.go
View file @
579ca570
...
...
@@ -12,7 +12,7 @@ var _ = proto.Marshal
var
_
=
fmt
.
Errorf
var
_
=
math
.
Inf
type
Vote
s
Result
struct
{
type
VoteResult
struct
{
// 总票数
TotalVotes
int32
`protobuf:"varint,1,opt,name=totalVotes" json:"totalVotes,omitempty"`
// 赞成票
...
...
@@ -23,39 +23,74 @@ type VotesResult struct {
Pass
bool
`protobuf:"varint,4,opt,name=pass" json:"pass,omitempty"`
}
func
(
m
*
Vote
sResult
)
Reset
()
{
*
m
=
Votes
Result
{}
}
func
(
m
*
Vote
s
Result
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Vote
s
Result
)
ProtoMessage
()
{}
func
(
*
Vote
s
Result
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor2
,
[]
int
{
0
}
}
func
(
m
*
Vote
Result
)
Reset
()
{
*
m
=
Vote
Result
{}
}
func
(
m
*
VoteResult
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
VoteResult
)
ProtoMessage
()
{}
func
(
*
VoteResult
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor2
,
[]
int
{
0
}
}
func
(
m
*
Vote
s
Result
)
GetTotalVotes
()
int32
{
func
(
m
*
VoteResult
)
GetTotalVotes
()
int32
{
if
m
!=
nil
{
return
m
.
TotalVotes
}
return
0
}
func
(
m
*
Vote
s
Result
)
GetApproveVotes
()
int32
{
func
(
m
*
VoteResult
)
GetApproveVotes
()
int32
{
if
m
!=
nil
{
return
m
.
ApproveVotes
}
return
0
}
func
(
m
*
Vote
s
Result
)
GetOpposeVotes
()
int32
{
func
(
m
*
VoteResult
)
GetOpposeVotes
()
int32
{
if
m
!=
nil
{
return
m
.
OpposeVotes
}
return
0
}
func
(
m
*
Vote
s
Result
)
GetPass
()
bool
{
func
(
m
*
VoteResult
)
GetPass
()
bool
{
if
m
!=
nil
{
return
m
.
Pass
}
return
false
}
type
PublicVote
struct
{
// 是否需要公示
Publicity
bool
`protobuf:"varint,1,opt,name=publicity" json:"publicity,omitempty"`
// 全体持票人反对票
OpposeVotes
int32
`protobuf:"varint,2,opt,name=opposeVotes" json:"opposeVotes,omitempty"`
// 是否通过
PubPass
bool
`protobuf:"varint,3,opt,name=pubPass" json:"pubPass,omitempty"`
}
func
(
m
*
PublicVote
)
Reset
()
{
*
m
=
PublicVote
{}
}
func
(
m
*
PublicVote
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PublicVote
)
ProtoMessage
()
{}
func
(
*
PublicVote
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor2
,
[]
int
{
1
}
}
func
(
m
*
PublicVote
)
GetPublicity
()
bool
{
if
m
!=
nil
{
return
m
.
Publicity
}
return
false
}
func
(
m
*
PublicVote
)
GetOpposeVotes
()
int32
{
if
m
!=
nil
{
return
m
.
OpposeVotes
}
return
0
}
func
(
m
*
PublicVote
)
GetPubPass
()
bool
{
if
m
!=
nil
{
return
m
.
PubPass
}
return
false
}
type
VotesRecord
struct
{
Address
[]
string
`protobuf:"bytes,1,rep,name=address" json:"address,omitempty"`
}
...
...
@@ -63,7 +98,7 @@ type VotesRecord struct {
func
(
m
*
VotesRecord
)
Reset
()
{
*
m
=
VotesRecord
{}
}
func
(
m
*
VotesRecord
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
VotesRecord
)
ProtoMessage
()
{}
func
(
*
VotesRecord
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor2
,
[]
int
{
1
}
}
func
(
*
VotesRecord
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor2
,
[]
int
{
2
}
}
func
(
m
*
VotesRecord
)
GetAddress
()
[]
string
{
if
m
!=
nil
{
...
...
@@ -73,23 +108,26 @@ func (m *VotesRecord) GetAddress() []string {
}
func
init
()
{
proto
.
RegisterType
((
*
VotesResult
)(
nil
),
"types.VotesResult"
)
proto
.
RegisterType
((
*
VoteResult
)(
nil
),
"types.VoteResult"
)
proto
.
RegisterType
((
*
PublicVote
)(
nil
),
"types.PublicVote"
)
proto
.
RegisterType
((
*
VotesRecord
)(
nil
),
"types.VotesRecord"
)
}
func
init
()
{
proto
.
RegisterFile
(
"lcommon.proto"
,
fileDescriptor2
)
}
var
fileDescriptor2
=
[]
byte
{
// 161 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x54
,
0x8f
,
0xbd
,
0xae
,
0xc2
,
0x30
,
0x0c
,
0x46
,
0x95
,
0xdb
,
0xf6
,
0x02
,
0x2e
,
0x2c
,
0x9e
,
0x3a
,
0xa1
,
0xaa
,
0x0b
,
0x99
,
0x58
,
0x78
,
0x93
,
0x0c
,
0xec
,
0xa1
,
0xc9
,
0x96
,
0x62
,
0x2b
,
0x36
,
0x48
,
0x3c
,
0x01
,
0xaf
,
0x8d
,
0x08
,
0x3f
,
0x2a
,
0x9b
,
0x7d
,
0x74
,
0x86
,
0xf3
,
0xc1
,
0x26
,
0x8d
,
0x34
,
0x4d
,
0x74
,
0xde
,
0x73
,
0x26
,
0x25
,
0x6c
,
0xf4
,
0xc6
,
0x51
,
0x86
,
0xbb
,
0x81
,
0xf6
,
0x48
,
0x1a
,
0xc5
,
0x45
,
0xb9
,
0x24
,
0xc5
,
0x2d
,
0x80
,
0x92
,
0xfa
,
0x54
,
0x58
,
0x67
,
0x7a
,
0x63
,
0x1b
,
0x37
,
0x23
,
0x38
,
0xc0
,
0xda
,
0x33
,
0x67
,
0xba
,
0xc6
,
0x97
,
0xf1
,
0x57
,
0x8c
,
0x1f
,
0x86
,
0x3d
,
0xb4
,
0xc4
,
0x4c
,
0xf2
,
0x56
,
0xaa
,
0xa2
,
0xcc
,
0x11
,
0x22
,
0xd4
,
0xec
,
0x45
,
0xba
,
0xba
,
0x37
,
0x76
,
0xe9
,
0xca
,
0x3d
,
0xec
,
0xbe
,
0x21
,
0x23
,
0xe5
,
0x80
,
0x1d
,
0x2c
,
0x7c
,
0x08
,
0x39
,
0xca
,
0xb3
,
0xa2
,
0xb2
,
0x2b
,
0xf7
,
0x79
,
0x4f
,
0xff
,
0x65
,
0xc0
,
0xe1
,
0x11
,
0x00
,
0x00
,
0xff
,
0xff
,
0x6b
,
0x42
,
0x8d
,
0xc4
,
0xd1
,
0x00
,
0x00
,
0x00
,
// 205 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x64
,
0x90
,
0xcd
,
0x4e
,
0x85
,
0x30
,
0x10
,
0x85
,
0x53
,
0x7e
,
0x14
,
0x06
,
0xdd
,
0x74
,
0xc5
,
0xc2
,
0x18
,
0xd2
,
0x8d
,
0xac
,
0xdc
,
0xf8
,
0x22
,
0xa4
,
0x0b
,
0xf7
,
0x05
,
0x6a
,
0x42
,
0x52
,
0x9c
,
0x49
,
0x5b
,
0x4c
,
0x78
,
0x01
,
0x9f
,
0xdb
,
0x74
,
0x94
,
0xc8
,
0xbd
,
0x77
,
0xd7
,
0xf3
,
0xe5
,
0x6b
,
0xce
,
0xcc
,
0xc0
,
0xa3
,
0x9b
,
0x70
,
0x5d
,
0xf1
,
0xf3
,
0x95
,
0x3c
,
0x46
,
0x94
,
0x65
,
0xdc
,
0xc9
,
0x06
,
0xf5
,
0x2d
,
0x00
,
0xde
,
0x31
,
0x5a
,
0x6d
,
0xc3
,
0xe6
,
0xa2
,
0x7c
,
0x06
,
0x88
,
0x18
,
0x8d
,
0x4b
,
0x28
,
0xb4
,
0xa2
,
0x13
,
0x7d
,
0xa9
,
0x4f
,
0x44
,
0x2a
,
0x78
,
0x30
,
0x44
,
0x1e
,
0xbf
,
0xec
,
0xaf
,
0x91
,
0xb1
,
0x71
,
0xc1
,
0x64
,
0x07
,
0x0d
,
0x12
,
0x61
,
0xf8
,
0x53
,
0x72
,
0x56
,
0xce
,
0x48
,
0x4a
,
0x28
,
0xc8
,
0x84
,
0xd0
,
0x16
,
0x9d
,
0xe8
,
0x2b
,
0xcd
,
0x6f
,
0xf5
,
0x01
,
0x30
,
0x6c
,
0xa3
,
0x5b
,
0xa6
,
0xa4
,
0xc8
,
0x27
,
0xa8
,
0x89
,
0xd3
,
0x12
,
0x77
,
0x1e
,
0xa3
,
0xd2
,
0xff
,
0xe0
,
0xba
,
0x21
,
0xbb
,
0x6d
,
0x68
,
0xe1
,
0x9e
,
0xb6
,
0x71
,
0x48
,
0x25
,
0x39
,
0xff
,
0x3e
,
0xa2
,
0x7a
,
0x81
,
0x86
,
0x15
,
0x6d
,
0x27
,
0xf4
,
0x73
,
0x12
,
0xcd
,
0x3c
,
0x7b
,
0x1b
,
0xd2
,
0xb6
,
0x79
,
0x5f
,
0xeb
,
0x23
,
0x8e
,
0x77
,
0x7c
,
0xa7
,
0xb7
,
0x9f
,
0x00
,
0x00
,
0x00
,
0xff
,
0xff
,
0xe3
,
0x7b
,
0x84
,
0x76
,
0x38
,
0x01
,
0x00
,
0x00
,
}
plugin/dapp/autonomy/types/project.pb.go
View file @
579ca570
...
...
@@ -15,15 +15,14 @@ var _ = math.Inf
type
AutonomyProposalProject
struct
{
PropProject
*
ProposalProject
`protobuf:"bytes,1,opt,name=propProject" json:"propProject,omitempty"`
// 董事会投票结果
BoardResult
*
VotesResult
`protobuf:"bytes,2,opt,name=boardResult" json:"boardResult,omitempty"`
// 是否需要公示
Publicity
bool
`protobuf:"varint,3,opt,name=publicity" json:"publicity,omitempty"`
// 全体持票人反对票
OpposeVotes
int32
`protobuf:"varint,4,opt,name=opposeVotes" json:"opposeVotes,omitempty"`
// 是否通过
PubPass
bool
`protobuf:"varint,5,opt,name=pubPass" json:"pubPass,omitempty"`
BoardVoteRes
*
VoteResult
`protobuf:"bytes,2,opt,name=boardVoteRes" json:"boardVoteRes,omitempty"`
// 公示投票
PubVote
*
PublicVote
`protobuf:"bytes,3,opt,name=pubVote" json:"pubVote,omitempty"`
// 状态
Status
int32
`protobuf:"varint,6,opt,name=status" json:"status,omitempty"`
Status
int32
`protobuf:"varint,4,opt,name=status" json:"status,omitempty"`
Address
string
`protobuf:"bytes,5,opt,name=address" json:"address,omitempty"`
Height
int64
`protobuf:"varint,6,opt,name=height" json:"height,omitempty"`
Index
int32
`protobuf:"varint,7,opt,name=index" json:"index,omitempty"`
}
func
(
m
*
AutonomyProposalProject
)
Reset
()
{
*
m
=
AutonomyProposalProject
{}
}
...
...
@@ -38,37 +37,44 @@ func (m *AutonomyProposalProject) GetPropProject() *ProposalProject {
return
nil
}
func
(
m
*
AutonomyProposalProject
)
GetBoard
Result
()
*
Votes
Result
{
func
(
m
*
AutonomyProposalProject
)
GetBoard
VoteRes
()
*
Vote
Result
{
if
m
!=
nil
{
return
m
.
Board
Result
return
m
.
Board
VoteRes
}
return
nil
}
func
(
m
*
AutonomyProposalProject
)
GetPub
licity
()
bool
{
func
(
m
*
AutonomyProposalProject
)
GetPub
Vote
()
*
PublicVote
{
if
m
!=
nil
{
return
m
.
Pub
licity
return
m
.
Pub
Vote
}
return
false
return
nil
}
func
(
m
*
AutonomyProposalProject
)
Get
OpposeVote
s
()
int32
{
func
(
m
*
AutonomyProposalProject
)
Get
Statu
s
()
int32
{
if
m
!=
nil
{
return
m
.
OpposeVote
s
return
m
.
Statu
s
}
return
0
}
func
(
m
*
AutonomyProposalProject
)
Get
PubPass
()
bool
{
func
(
m
*
AutonomyProposalProject
)
Get
Address
()
string
{
if
m
!=
nil
{
return
m
.
PubPa
ss
return
m
.
Addre
ss
}
return
false
return
""
}
func
(
m
*
AutonomyProposalProject
)
Get
Status
()
int32
{
func
(
m
*
AutonomyProposalProject
)
Get
Height
()
int64
{
if
m
!=
nil
{
return
m
.
Status
return
m
.
Height
}
return
0
}
func
(
m
*
AutonomyProposalProject
)
GetIndex
()
int32
{
if
m
!=
nil
{
return
m
.
Index
}
return
0
}
...
...
@@ -84,7 +90,7 @@ type ProposalProject struct {
Production
string
`protobuf:"bytes,6,opt,name=production" json:"production,omitempty"`
Description
string
`protobuf:"bytes,7,opt,name=description" json:"description,omitempty"`
Contractor
string
`protobuf:"bytes,8,opt,name=contractor" json:"contractor,omitempty"`
Amount
int
32
`protobuf:"varint,9,opt,name=amount" json:"amount,omitempty"`
Amount
int
64
`protobuf:"varint,9,opt,name=amount" json:"amount,omitempty"`
AmountDetail
string
`protobuf:"bytes,10,opt,name=amountDetail" json:"amountDetail,omitempty"`
// 支付相关
ToAddr
string
`protobuf:"bytes,11,opt,name=toAddr" json:"toAddr,omitempty"`
...
...
@@ -156,7 +162,7 @@ func (m *ProposalProject) GetContractor() string {
return
""
}
func
(
m
*
ProposalProject
)
GetAmount
()
int
32
{
func
(
m
*
ProposalProject
)
GetAmount
()
int
64
{
if
m
!=
nil
{
return
m
.
Amount
}
...
...
@@ -221,6 +227,54 @@ func (m *RevokeProposalProject) GetProposalID() string {
return
""
}
type
VoteProposalProject
struct
{
ProposalID
string
`protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Approve
bool
`protobuf:"varint,2,opt,name=approve" json:"approve,omitempty"`
}
func
(
m
*
VoteProposalProject
)
Reset
()
{
*
m
=
VoteProposalProject
{}
}
func
(
m
*
VoteProposalProject
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
VoteProposalProject
)
ProtoMessage
()
{}
func
(
*
VoteProposalProject
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor3
,
[]
int
{
3
}
}
func
(
m
*
VoteProposalProject
)
GetProposalID
()
string
{
if
m
!=
nil
{
return
m
.
ProposalID
}
return
""
}
func
(
m
*
VoteProposalProject
)
GetApprove
()
bool
{
if
m
!=
nil
{
return
m
.
Approve
}
return
false
}
type
PubVoteProposalProject
struct
{
ProposalID
string
`protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Oppose
bool
`protobuf:"varint,2,opt,name=oppose" json:"oppose,omitempty"`
}
func
(
m
*
PubVoteProposalProject
)
Reset
()
{
*
m
=
PubVoteProposalProject
{}
}
func
(
m
*
PubVoteProposalProject
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
PubVoteProposalProject
)
ProtoMessage
()
{}
func
(
*
PubVoteProposalProject
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor3
,
[]
int
{
4
}
}
func
(
m
*
PubVoteProposalProject
)
GetProposalID
()
string
{
if
m
!=
nil
{
return
m
.
ProposalID
}
return
""
}
func
(
m
*
PubVoteProposalProject
)
GetOppose
()
bool
{
if
m
!=
nil
{
return
m
.
Oppose
}
return
false
}
type
TerminateProposalProject
struct
{
ProposalID
string
`protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
...
...
@@ -228,7 +282,7 @@ type TerminateProposalProject struct {
func
(
m
*
TerminateProposalProject
)
Reset
()
{
*
m
=
TerminateProposalProject
{}
}
func
(
m
*
TerminateProposalProject
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
TerminateProposalProject
)
ProtoMessage
()
{}
func
(
*
TerminateProposalProject
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor3
,
[]
int
{
3
}
}
func
(
*
TerminateProposalProject
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor3
,
[]
int
{
5
}
}
func
(
m
*
TerminateProposalProject
)
GetProposalID
()
string
{
if
m
!=
nil
{
...
...
@@ -246,7 +300,7 @@ type ReceiptProposalProject struct {
func
(
m
*
ReceiptProposalProject
)
Reset
()
{
*
m
=
ReceiptProposalProject
{}
}
func
(
m
*
ReceiptProposalProject
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptProposalProject
)
ProtoMessage
()
{}
func
(
*
ReceiptProposalProject
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor3
,
[]
int
{
4
}
}
func
(
*
ReceiptProposalProject
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor3
,
[]
int
{
6
}
}
func
(
m
*
ReceiptProposalProject
)
GetPrev
()
*
AutonomyProposalProject
{
if
m
!=
nil
{
...
...
@@ -270,7 +324,7 @@ type LocalProposalProject struct {
func
(
m
*
LocalProposalProject
)
Reset
()
{
*
m
=
LocalProposalProject
{}
}
func
(
m
*
LocalProposalProject
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
LocalProposalProject
)
ProtoMessage
()
{}
func
(
*
LocalProposalProject
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor3
,
[]
int
{
5
}
}
func
(
*
LocalProposalProject
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor3
,
[]
int
{
7
}
}
func
(
m
*
LocalProposalProject
)
GetPropPrj
()
*
AutonomyProposalProject
{
if
m
!=
nil
{
...
...
@@ -294,7 +348,7 @@ type ReplyQueryProposalProject struct {
func
(
m
*
ReplyQueryProposalProject
)
Reset
()
{
*
m
=
ReplyQueryProposalProject
{}
}
func
(
m
*
ReplyQueryProposalProject
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyQueryProposalProject
)
ProtoMessage
()
{}
func
(
*
ReplyQueryProposalProject
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor3
,
[]
int
{
6
}
}
func
(
*
ReplyQueryProposalProject
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor3
,
[]
int
{
8
}
}
func
(
m
*
ReplyQueryProposalProject
)
GetProposalID
()
string
{
if
m
!=
nil
{
...
...
@@ -310,7 +364,7 @@ type ReplyProposalProject struct {
func
(
m
*
ReplyProposalProject
)
Reset
()
{
*
m
=
ReplyProposalProject
{}
}
func
(
m
*
ReplyProposalProject
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyProposalProject
)
ProtoMessage
()
{}
func
(
*
ReplyProposalProject
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor3
,
[]
int
{
7
}
}
func
(
*
ReplyProposalProject
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor3
,
[]
int
{
9
}
}
func
(
m
*
ReplyProposalProject
)
GetPropProjects
()
[]
*
LocalProposalProject
{
if
m
!=
nil
{
...
...
@@ -323,6 +377,8 @@ func init() {
proto
.
RegisterType
((
*
AutonomyProposalProject
)(
nil
),
"types.AutonomyProposalProject"
)
proto
.
RegisterType
((
*
ProposalProject
)(
nil
),
"types.ProposalProject"
)
proto
.
RegisterType
((
*
RevokeProposalProject
)(
nil
),
"types.RevokeProposalProject"
)
proto
.
RegisterType
((
*
VoteProposalProject
)(
nil
),
"types.VoteProposalProject"
)
proto
.
RegisterType
((
*
PubVoteProposalProject
)(
nil
),
"types.PubVoteProposalProject"
)
proto
.
RegisterType
((
*
TerminateProposalProject
)(
nil
),
"types.TerminateProposalProject"
)
proto
.
RegisterType
((
*
ReceiptProposalProject
)(
nil
),
"types.ReceiptProposalProject"
)
proto
.
RegisterType
((
*
LocalProposalProject
)(
nil
),
"types.LocalProposalProject"
)
...
...
@@ -333,42 +389,45 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"project.proto"
,
fileDescriptor3
)
}
var
fileDescriptor3
=
[]
byte
{
// 579 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x94
,
0x94
,
0x4f
,
0x6f
,
0xd4
,
0x3c
,
0x10
,
0xc6
,
0x95
,
0x6e
,
0xd3
,
0xed
,
0xce
,
0xf6
,
0x9f
,
0xfc
,
0xf6
,
0x2d
,
0xa6
,
0xa0
,
0x2a
,
0xca
,
0x01
,
0x45
,
0x1c
,
0x56
,
0xa8
,
0x20
,
0x51
,
0xc1
,
0x01
,
0x15
,
0x15
,
0x09
,
0x24
,
0x54
,
0x15
,
0x83
,
0xe0
,
0xec
,
0x4d
,
0x4c
,
0x9b
,
0x36
,
0x89
,
0x2d
,
0x7b
,
0x52
,
0x29
,
0x5f
,
0x80
,
0xaf
,
0xcc
,
0x81
,
0x0b
,
0xca
,
0x38
,
0x4b
,
0xd3
,
0xb0
,
0x08
,
0x7a
,
0xf3
,
0x3c
,
0xf3
,
0xfc
,
0xac
,
0x19
,
0xdb
,
0x63
,
0xd8
,
0x34
,
0x56
,
0x5f
,
0xaa
,
0x14
,
0x67
,
0xc6
,
0x6a
,
0xd4
,
0x2c
,
0xc4
,
0xc6
,
0x28
,
0xb7
,
0xbf
,
0x59
,
0xa4
,
0xba
,
0x2c
,
0x75
,
0xe5
,
0xd5
,
0xf8
,
0x47
,
0x00
,
0xf7
,
0x8e
,
0x6b
,
0xd4
,
0x95
,
0x2e
,
0x9b
,
0x33
,
0xab
,
0x8d
,
0x76
,
0xb2
,
0x38
,
0xf3
,
0x1c
,
0x3b
,
0x82
,
0xa9
,
0xb1
,
0xda
,
0x74
,
0x21
,
0x0f
,
0xa2
,
0x20
,
0x99
,
0x1e
,
0xee
,
0xcd
,
0x68
,
0x9f
,
0xd9
,
0xc0
,
0x2c
,
0xfa
,
0x56
,
0xf6
,
0x0c
,
0xa6
,
0x73
,
0x2d
,
0x6d
,
0x26
,
0x94
,
0xab
,
0x0b
,
0xe4
,
0x2b
,
0x44
,
0xb2
,
0x8e
,
0xfc
,
0xac
,
0x51
,
0x39
,
0x9f
,
0x11
,
0x7d
,
0x1b
,
0x7b
,
0x08
,
0x13
,
0x53
,
0xcf
,
0x8b
,
0x3c
,
0xcd
,
0xb1
,
0xe1
,
0xa3
,
0x28
,
0x48
,
0xd6
,
0xc5
,
0x8d
,
0xc0
,
0x22
,
0x98
,
0x6a
,
0x63
,
0xb4
,
0x53
,
0xc4
,
0xf3
,
0xd5
,
0x28
,
0x48
,
0x42
,
0xd1
,
0x97
,
0x18
,
0x87
,
0xb1
,
0xa9
,
0xe7
,
0x67
,
0xd2
,
0x39
,
0x1e
,
0x12
,
0xbd
,
0x08
,
0xd9
,
0x1e
,
0xac
,
0x39
,
0x94
,
0x58
,
0x3b
,
0xbe
,
0x46
,
0x58
,
0x17
,
0xc5
,
0xdf
,
0x47
,
0xb0
,
0x3d
,
0xec
,
0x9a
,
0xc1
,
0x6a
,
0xa3
,
0xa4
,
0xa5
,
0x76
,
0x43
,
0x41
,
0x6b
,
0xb6
,
0x0b
,
0x61
,
0xa9
,
0x2b
,
0xbc
,
0xa0
,
0x4e
,
0x42
,
0xe1
,
0x03
,
0xb6
,
0x03
,
0xa3
,
0x4c
,
0xfa
,
0x4a
,
0x43
,
0xd1
,
0x2e
,
0xd9
,
0x01
,
0xc0
,
0xd7
,
0xdc
,
0x3a
,
0xfc
,
0x88
,
0xf2
,
0x5c
,
0x51
,
0x89
,
0x13
,
0xd1
,
0x53
,
0xda
,
0x0e
,
0x0b
,
0xb9
,
0x48
,
0x87
,
0x94
,
0xbe
,
0x11
,
0x5a
,
0xda
,
0x58
,
0x9d
,
0xd5
,
0x29
,
0xe6
,
0xba
,
0xa2
,
0x4a
,
0x27
,
0xa2
,
0xa7
,
0xb4
,
0x27
,
0x90
,
0x29
,
0x97
,
0xda
,
0xdc
,
0x90
,
0x61
,
0x4c
,
0x86
,
0xbe
,
0xd4
,
0xee
,
0x90
,
0xea
,
0x0a
,
0xad
,
0x4c
,
0x51
,
0x5b
,
0xbe
,
0xee
,
0x77
,
0xb8
,
0x51
,
0xda
,
0x73
,
0x90
,
0xa5
,
0xae
,
0x2b
,
0xe4
,
0x13
,
0x7f
,
0x0e
,
0x3e
,
0x62
,
0x31
,
0x6c
,
0xf8
,
0xd5
,
0x89
,
0x42
,
0x99
,
0x17
,
0x1c
,
0x88
,
0xbc
,
0xa5
,
0xb5
,
0x2c
,
0xea
,
0xe3
,
0x2c
,
0xb3
,
0x7c
,
0x4a
,
0xd9
,
0x2e
,
0x62
,
0x8f
,
0x61
,
0xc7
,
0xa1
,
0xb4
,
0xf8
,
0xba
,
0xd0
,
0xe9
,
0xd5
,
0x5b
,
0x95
,
0x9f
,
0x5f
,
0x20
,
0xdf
,
0x88
,
0x82
,
0x64
,
0x24
,
0x7e
,
0xd3
,
0xd9
,
0x23
,
0xd8
,
0x52
,
0x55
,
0xd6
,
0x77
,
0x6e
,
0x92
,
0x73
,
0xa0
,
0xb2
,
0x19
,
0x30
,
0xab
,
0x64
,
0xf1
,
0xe6
,
0xb6
,
0x77
,
0x8b
,
0xbc
,
0x4b
,
0x32
,
0xec
,
0x09
,
0xfc
,
0xd7
,
0x3d
,
0xf6
,
0x53
,
0xa5
,
0x7c
,
0xe6
,
0xb4
,
0x2e
,
0xf9
,
0x36
,
0x35
,
0xb9
,
0x2c
,
0x15
,
0x3f
,
0x87
,
0xff
,
0x85
,
0xba
,
0xd6
,
0x57
,
0x6a
,
0x78
,
0xfd
,
0xfe
,
0x12
,
0x48
,
0x7a
,
0x77
,
0x42
,
0x8f
,
0xc0
,
0x5f
,
0x42
,
0xa7
,
0xc4
,
0x2f
,
0x80
,
0x7f
,
0x52
,
0xb6
,
0xcc
,
0x2b
,
0x89
,
0x77
,
0x66
,
0xbf
,
0x05
,
0xb0
,
0x27
,
0x54
,
0xaa
,
0x72
,
0x83
,
0x43
,
0xf4
,
0x10
,
0x56
,
0x8d
,
0x55
,
0xd7
,
0xdd
,
0x90
,
0x1d
,
0x74
,
0xa3
,
0xf2
,
0x87
,
0xc9
,
0x14
,
0xe4
,
0x65
,
0x47
,
0x30
,
0x4e
,
0x6b
,
0x6b
,
0x55
,
0xb5
,
0x98
,
0xb0
,
0xbf
,
0x61
,
0x0b
,
0x7b
,
0x5c
,
0xc0
,
0xee
,
0x7b
,
0x9d
,
0x52
,
0x62
,
0x30
,
0xf1
,
0x63
,
0x3f
,
0xc6
,
0x97
,
0xff
,
0x58
,
0xc8
,
0xc2
,
0xce
,
0xf6
,
0x61
,
0xbd
,
0xfd
,
0x57
,
0x54
,
0x85
,
0x8e
,
0xaf
,
0x44
,
0xa3
,
0x64
,
0x22
,
0x7e
,
0xc5
,
0xf1
,
0x4b
,
0xb8
,
0x2f
,
0x94
,
0x29
,
0x9a
,
0x0f
,
0xb5
,
0xb2
,
0xcd
,
0x5d
,
0xcf
,
0xec
,
0x0b
,
0xec
,
0x12
,
0x3c
,
0xe4
,
0x5e
,
0xc1
,
0x46
,
0xef
,
0xc7
,
0x71
,
0x3c
,
0x88
,
0x46
,
0xc9
,
0xf4
,
0xf0
,
0x41
,
0x57
,
0xef
,
0xb2
,
0xee
,
0xc4
,
0x2d
,
0x60
,
0xbe
,
0x46
,
0x1f
,
0xe0
,
0xd3
,
0x9f
,
0x01
,
0x00
,
0x00
,
0xff
,
0xff
,
0xe1
,
0xe0
,
0x86
,
0xbb
,
0x27
,
0x05
,
0x00
,
0x00
,
// 628 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x94
,
0x54
,
0xdf
,
0x6f
,
0xd3
,
0x30
,
0x10
,
0x56
,
0xd7
,
0xa5
,
0x5d
,
0xaf
,
0xdd
,
0x0f
,
0xbc
,
0x51
,
0xcc
,
0x40
,
0x53
,
0x95
,
0x07
,
0x54
,
0x81
,
0x54
,
0xa1
,
0x21
,
0xc4
,
0x04
,
0x0f
,
0x68
,
0x68
,
0x48
,
0x20
,
0xa1
,
0x51
,
0x0c
,
0x82
,
0x67
,
0x37
,
0x39
,
0xb6
,
0x6c
,
0x49
,
0x6c
,
0x39
,
0xce
,
0x44
,
0xff
,
0x01
,
0xfe
,
0x05
,
0xfe
,
0x54
,
0x5e
,
0x51
,
0xce
,
0x0e
,
0x6b
,
0xc3
,
0x10
,
0xf4
,
0xcd
,
0xdf
,
0x77
,
0xdf
,
0x77
,
0x3a
,
0x9f
,
0xcf
,
0x07
,
0x9b
,
0xda
,
0xa8
,
0x0b
,
0x8c
,
0xec
,
0x44
,
0x1b
,
0x65
,
0x15
,
0x0b
,
0xec
,
0x5c
,
0x63
,
0xb1
,
0xbf
,
0x99
,
0x46
,
0x2a
,
0xcb
,
0x54
,
0xee
,
0xd8
,
0xf0
,
0xc7
,
0x1a
,
0xdc
,
0x39
,
0x2e
,
0xad
,
0xca
,
0x55
,
0x36
,
0x9f
,
0x1a
,
0xa5
,
0x55
,
0x21
,
0xd3
,
0xa9
,
0xf3
,
0xb1
,
0x23
,
0xe8
,
0x6b
,
0xa3
,
0xb4
,
0x87
,
0xbc
,
0x35
,
0x6a
,
0x8d
,
0xfb
,
0x87
,
0xc3
,
0x09
,
0xe5
,
0x99
,
0x34
,
0xc4
,
0x62
,
0x51
,
0xca
,
0x9e
,
0xc2
,
0x60
,
0xa6
,
0xa4
,
0x89
,
0x3f
,
0x2b
,
0x8b
,
0x02
,
0x0b
,
0xbe
,
0x46
,
0xd6
,
0x5b
,
0xde
,
0xea
,
0xd9
,
0x32
,
0xb5
,
0x62
,
0x49
,
0xc6
,
0x1e
,
0x41
,
0x57
,
0x97
,
0xb3
,
0x0a
,
0xf1
,
0xf6
,
0x92
,
0x63
,
0x5a
,
0xce
,
0xd2
,
0x24
,
0x22
,
0x59
,
0xad
,
0x60
,
0x43
,
0xe8
,
0x14
,
0x56
,
0xda
,
0xb2
,
0xe0
,
0xeb
,
0xa3
,
0xd6
,
0x38
,
0x10
,
0x1e
,
0x31
,
0x0e
,
0x5d
,
0x19
,
0xc7
,
0x06
,
0x8b
,
0x82
,
0x07
,
0xa3
,
0xd6
,
0xb8
,
0x27
,
0x6a
,
0x58
,
0x39
,
0xce
,
0x31
,
0x39
,
0x3b
,
0xb7
,
0xbc
,
0x33
,
0x6a
,
0x8d
,
0xdb
,
0xc2
,
0x23
,
0xb6
,
0x07
,
0x41
,
0x92
,
0xc7
,
0xf8
,
0x8d
,
0x77
,
0x29
,
0x91
,
0x03
,
0xe1
,
0xcf
,
0x36
,
0x6c
,
0x37
,
0x3b
,
0xc2
,
0x60
,
0x7d
,
0x8e
,
0xd2
,
0x50
,
0x2b
,
0x02
,
0x41
,
0xe7
,
0xca
,
0x9d
,
0xa9
,
0xdc
,
0x9e
,
0xd3
,
0x25
,
0x03
,
0xe1
,
0x00
,
0xdb
,
0x81
,
0x76
,
0x2c
,
0xe7
,
0x74
,
0x8d
,
0x40
,
0x54
,
0x47
,
0x76
,
0x00
,
0xf0
,
0x35
,
0x31
,
0x85
,
0xfd
,
0x68
,
0xe5
,
0x19
,
0x52
,
0xcd
,
0x3d
,
0xb1
,
0xc0
,
0xb0
,
0xfb
,
0xd0
,
0x4b
,
0x65
,
0x1d
,
0x76
,
0x95
,
0x5f
,
0x13
,
0x95
,
0x5b
,
0x1b
,
0x15
,
0x97
,
0x91
,
0x4d
,
0x54
,
0x4e
,
0xf5
,
0xf7
,
0xc4
,
0x02
,
0xc3
,
0x46
,
0xd0
,
0x8f
,
0xb1
,
0x88
,
0x4c
,
0xa2
,
0x49
,
0xd0
,
0x25
,
0xc1
,
0x22
,
0x55
,
0x65
,
0x88
,
0x54
,
0x6e
,
0x8d
,
0x8c
,
0xac
,
0x32
,
0x7c
,
0xc3
,
0x65
,
0xb8
,
0x66
,
0xaa
,
0xee
,
0xc8
,
0x4c
,
0x95
,
0xb9
,
0xe5
,
0x3d
,
0xd7
,
0x1d
,
0x87
,
0x58
,
0x08
,
0x03
,
0x77
,
0x3a
,
0x41
,
0x2b
,
0x93
,
0x94
,
0x03
,
0x39
,
0x97
,
0xb8
,
0xca
,
0x6b
,
0xd5
,
0x71
,
0x1c
,
0x1b
,
0xde
,
0xa7
,
0xa8
,
0x47
,
0xec
,
0x21
,
0xec
,
0x14
,
0x56
,
0x1a
,
0xfb
,
0x2a
,
0x55
,
0xd1
,
0xe5
,
0x1b
,
0xd7
,
0xfb
,
0x01
,
0x65
,
0xff
,
0x83
,
0x67
,
0x0f
,
0x60
,
0x0b
,
0xf3
,
0x78
,
0x51
,
0xb9
,
0x49
,
0xca
,
0x06
,
0xcb
,
0x26
,
0xc0
,
0x0c
,
0xca
,
0xf4
,
0xf5
,
0xb2
,
0x76
,
0x8b
,
0xb4
,
0x37
,
0x44
,
0xd8
,
0x63
,
0xd8
,
0xf5
,
0x1f
,
0xe1
,
0x14
,
0xd1
,
0x45
,
0x4e
,
0xcb
,
0x8c
,
0x6f
,
0xd3
,
0xcb
,
0xdc
,
0x14
,
0x0a
,
0x9f
,
0xc1
,
0x6d
,
0x81
,
0x57
,
0xea
,
0x12
,
0x9b
,
0xcf
,
0xef
,
0x1e
,
0x81
,
0xa8
,
0xb7
,
0x27
,
0x34
,
0x04
,
0xee
,
0x11
,
0x3c
,
0x13
,
0xbe
,
0x87
,
0xdd
,
0x6a
,
0x34
,
0x57
,
0xb4
,
0xd1
,
0xc4
,
0x6a
,
0x6d
,
0xd4
,
0x15
,
0xd2
,
0x0c
,
0x6d
,
0x88
,
0x1a
,
0x86
,
0x53
,
0x18
,
0x4e
,
0xdd
,
0xb8
,
0xaf
,
0x9a
,
0x73
,
0x08
,
0x1d
,
0xa5
,
0xb5
,
0x2a
,
0xea
,
0x94
,
0x1e
,
0x85
,
0xcf
,
0x81
,
0x7f
,
0x42
,
0x93
,
0x25
,
0xb9
,
0x5c
,
0x39
,
0x67
,
0xf8
,
0xbd
,
0x05
,
0x43
,
0x81
,
0x11
,
0x26
,
0xda
,
0x36
,
0xad
,
0x87
,
0xb0
,
0xae
,
0x0d
,
0x5e
,
0xf9
,
0x1d
,
0x71
,
0xe0
,
0xbf
,
0xed
,
0x5f
,
0x16
,
0x8b
,
0x20
,
0x2d
,
0x3b
,
0x82
,
0x6e
,
0x54
,
0x1a
,
0x83
,
0xb9
,
0xf5
,
0xfb
,
0xe1
,
0x5f
,
0xb6
,
0x5a
,
0x1e
,
0xa6
,
0xb0
,
0xf7
,
0x4e
,
0x45
,
0x14
,
0x68
,
0x2c
,
0xac
,
0xae
,
0xdb
,
0x42
,
0x17
,
0xff
,
0x59
,
0x48
,
0x2d
,
0x67
,
0xfb
,
0xb0
,
0x51
,
0xad
,
0x45
,
0xcc
,
0x6d
,
0xb5
,
0xac
,
0xda
,
0xe3
,
0x9e
,
0xf8
,
0x8d
,
0xc3
,
0x17
,
0x70
,
0x57
,
0xa0
,
0x4e
,
0xe7
,
0x1f
,
0x4a
,
0x34
,
0xf3
,
0x55
,
0x7b
,
0xf6
,
0x05
,
0xf6
,
0xc8
,
0xdc
,
0xf4
,
0xbd
,
0x84
,
0xc1
,
0xc2
,
0xc2
,
0x2c
,
0x78
,
0x6b
,
0xd4
,
0x1e
,
0xf7
,
0x0f
,
0xef
,
0xf9
,
0x7a
,
0x6f
,
0xba
,
0x9d
,
0x58
,
0x32
,
0xcc
,
0x3a
,
0xb4
,
0xbf
,
0x9f
,
0xfc
,
0x0a
,
0x00
,
0x00
,
0xff
,
0xff
,
0x0b
,
0x4e
,
0x93
,
0x26
,
0xe6
,
0x05
,
0x00
,
0x00
,
}
plugin/dapp/autonomy/types/rule.pb.go
View file @
579ca570
...
...
@@ -15,7 +15,7 @@ var _ = math.Inf
type
AutonomyProposalRule
struct
{
PropRule
*
ProposalRule
`protobuf:"bytes,1,opt,name=propRule" json:"propRule,omitempty"`
// 全体持票人投票结果
Res
*
Vote
s
Result
`protobuf:"bytes,2,opt,name=res" json:"res,omitempty"`
Res
*
VoteResult
`protobuf:"bytes,2,opt,name=res" json:"res,omitempty"`
// 状态
Status
int32
`protobuf:"varint,3,opt,name=status" json:"status,omitempty"`
}
...
...
@@ -32,7 +32,7 @@ func (m *AutonomyProposalRule) GetPropRule() *ProposalRule {
return
nil
}
func
(
m
*
AutonomyProposalRule
)
GetRes
()
*
Vote
s
Result
{
func
(
m
*
AutonomyProposalRule
)
GetRes
()
*
VoteResult
{
if
m
!=
nil
{
return
m
.
Res
}
...
...
@@ -161,6 +161,30 @@ func (m *RevokeProposalRule) GetProposalID() string {
return
""
}
type
VoteProposalRule
struct
{
ProposalID
string
`protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Approve
bool
`protobuf:"varint,2,opt,name=approve" json:"approve,omitempty"`
}
func
(
m
*
VoteProposalRule
)
Reset
()
{
*
m
=
VoteProposalRule
{}
}
func
(
m
*
VoteProposalRule
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
VoteProposalRule
)
ProtoMessage
()
{}
func
(
*
VoteProposalRule
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor4
,
[]
int
{
3
}
}
func
(
m
*
VoteProposalRule
)
GetProposalID
()
string
{
if
m
!=
nil
{
return
m
.
ProposalID
}
return
""
}
func
(
m
*
VoteProposalRule
)
GetApprove
()
bool
{
if
m
!=
nil
{
return
m
.
Approve
}
return
false
}
type
TerminateProposalRule
struct
{
ProposalID
string
`protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
...
...
@@ -168,7 +192,7 @@ type TerminateProposalRule struct {
func
(
m
*
TerminateProposalRule
)
Reset
()
{
*
m
=
TerminateProposalRule
{}
}
func
(
m
*
TerminateProposalRule
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
TerminateProposalRule
)
ProtoMessage
()
{}
func
(
*
TerminateProposalRule
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor4
,
[]
int
{
3
}
}
func
(
*
TerminateProposalRule
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor4
,
[]
int
{
4
}
}
func
(
m
*
TerminateProposalRule
)
GetProposalID
()
string
{
if
m
!=
nil
{
...
...
@@ -186,7 +210,7 @@ type ReceiptProposalRule struct {
func
(
m
*
ReceiptProposalRule
)
Reset
()
{
*
m
=
ReceiptProposalRule
{}
}
func
(
m
*
ReceiptProposalRule
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReceiptProposalRule
)
ProtoMessage
()
{}
func
(
*
ReceiptProposalRule
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor4
,
[]
int
{
4
}
}
func
(
*
ReceiptProposalRule
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor4
,
[]
int
{
5
}
}
func
(
m
*
ReceiptProposalRule
)
GetPrev
()
*
AutonomyProposalRule
{
if
m
!=
nil
{
...
...
@@ -210,7 +234,7 @@ type LocalProposalRule struct {
func
(
m
*
LocalProposalRule
)
Reset
()
{
*
m
=
LocalProposalRule
{}
}
func
(
m
*
LocalProposalRule
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
LocalProposalRule
)
ProtoMessage
()
{}
func
(
*
LocalProposalRule
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor4
,
[]
int
{
5
}
}
func
(
*
LocalProposalRule
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor4
,
[]
int
{
6
}
}
func
(
m
*
LocalProposalRule
)
GetPropRule
()
*
AutonomyProposalRule
{
if
m
!=
nil
{
...
...
@@ -234,7 +258,7 @@ type ReplyQueryProposalRule struct {
func
(
m
*
ReplyQueryProposalRule
)
Reset
()
{
*
m
=
ReplyQueryProposalRule
{}
}
func
(
m
*
ReplyQueryProposalRule
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyQueryProposalRule
)
ProtoMessage
()
{}
func
(
*
ReplyQueryProposalRule
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor4
,
[]
int
{
6
}
}
func
(
*
ReplyQueryProposalRule
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor4
,
[]
int
{
7
}
}
func
(
m
*
ReplyQueryProposalRule
)
GetProposalID
()
string
{
if
m
!=
nil
{
...
...
@@ -250,7 +274,7 @@ type ReplyProposalRule struct {
func
(
m
*
ReplyProposalRule
)
Reset
()
{
*
m
=
ReplyProposalRule
{}
}
func
(
m
*
ReplyProposalRule
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyProposalRule
)
ProtoMessage
()
{}
func
(
*
ReplyProposalRule
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor4
,
[]
int
{
7
}
}
func
(
*
ReplyProposalRule
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor4
,
[]
int
{
8
}
}
func
(
m
*
ReplyProposalRule
)
GetPropRules
()
[]
*
LocalProposalRule
{
if
m
!=
nil
{
...
...
@@ -263,6 +287,7 @@ func init() {
proto
.
RegisterType
((
*
AutonomyProposalRule
)(
nil
),
"types.AutonomyProposalRule"
)
proto
.
RegisterType
((
*
ProposalRule
)(
nil
),
"types.ProposalRule"
)
proto
.
RegisterType
((
*
RevokeProposalRule
)(
nil
),
"types.RevokeProposalRule"
)
proto
.
RegisterType
((
*
VoteProposalRule
)(
nil
),
"types.VoteProposalRule"
)
proto
.
RegisterType
((
*
TerminateProposalRule
)(
nil
),
"types.TerminateProposalRule"
)
proto
.
RegisterType
((
*
ReceiptProposalRule
)(
nil
),
"types.ReceiptProposalRule"
)
proto
.
RegisterType
((
*
LocalProposalRule
)(
nil
),
"types.LocalProposalRule"
)
...
...
@@ -273,35 +298,37 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"rule.proto"
,
fileDescriptor4
)
}
var
fileDescriptor4
=
[]
byte
{
// 479 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x94
,
0x94
,
0xcd
,
0x6a
,
0xdb
,
0x40
,
0x10
,
0xc7
,
0x51
,
0x15
,
0x39
,
0xf6
,
0xb8
,
0x69
,
0x93
,
0x4d
,
0x1a
,
0x44
,
0x0a
,
0xc1
,
0x88
,
0x50
,
0x44
,
0x0f
,
0x2e
,
0xa4
,
0x1f
,
0xe9
,
0xd5
,
0xa5
,
0x85
,
0x96
,
0xf6
,
0xe0
,
0x2e
,
0xa1
,
0xf7
,
0xb5
,
0x35
,
0x54
,
0x26
,
0x2b
,
0xcd
,
0xb2
,
0xbb
,
0x0a
,
0xe8
,
0xd0
,
0x63
,
0x5f
,
0xa1
,
0xcf
,
0x5b
,
0x34
,
0x96
,
0x13
,
0xcb
,
0x36
,
0x81
,
0xdc
,
0x76
,
0xfe
,
0xf3
,
0x9b
,
0x8f
,
0xd5
,
0xce
,
0x08
,
0xc0
,
0x56
,
0x1a
,
0xc7
,
0xc6
,
0x92
,
0x27
,
0x11
,
0xf9
,
0xda
,
0xa0
,
0x3b
,
0x3b
,
0xd0
,
0x73
,
0x2a
,
0x0a
,
0x2a
,
0x97
,
0x6a
,
0xf2
,
0x37
,
0x80
,
0x93
,
0x49
,
0xe5
,
0xa9
,
0xa4
,
0xa2
,
0x9e
,
0x5a
,
0x32
,
0xe4
,
0x94
,
0x96
,
0x95
,
0x46
,
0xf1
,
0x06
,
0xfa
,
0xc6
,
0x92
,
0x69
,
0xce
,
0x71
,
0x30
,
0x0a
,
0xd2
,
0xe1
,
0xe5
,
0xf1
,
0x98
,
0x33
,
0x8c
,
0xd7
,
0x31
,
0x79
,
0x07
,
0x89
,
0x0b
,
0x08
,
0x2d
,
0xba
,
0xf8
,
0x09
,
0xb3
,
0xa2
,
0x65
,
0x7f
,
0x91
,
0x47
,
0x27
,
0xd1
,
0x55
,
0xda
,
0xcb
,
0xc6
,
0x2d
,
0x4e
,
0xa1
,
0xe7
,
0xbc
,
0xf2
,
0x95
,
0x8b
,
0xc3
,
0x51
,
0x90
,
0x46
,
0xb2
,
0xb5
,
0x92
,
0x7f
,
0x21
,
0x3c
,
0xed
,
0xd4
,
0x17
,
0xb0
,
0x57
,
0xa3
,
0xb2
,
0x5c
,
0x3b
,
0x92
,
0x7c
,
0x16
,
0x27
,
0x10
,
0x15
,
0x54
,
0xfa
,
0x9c
,
0x8b
,
0x44
,
0x72
,
0x69
,
0x88
,
0x43
,
0x08
,
0x33
,
0x55
,
0xb7
,
0xf9
,
0x9a
,
0xa3
,
0x48
,
0xe1
,
0xf9
,
0x8c
,
0x94
,
0xcd
,
0x26
,
0xde
,
0x63
,
0x99
,
0x4d
,
0x2d
,
0xcd
,
0xe2
,
0x3d
,
0xf6
,
0x6e
,
0xca
,
0xe2
,
0x02
,
0x0e
,
0x58
,
0x9a
,
0x2a
,
0xe7
,
0x98
,
0x8b
,
0x98
,
0xeb
,
0x8a
,
0xe2
,
0x1c
,
0x80
,
0x8c
,
0x21
,
0x87
,
0x8c
,
0xf4
,
0x18
,
0x59
,
0x53
,
0xc4
,
0x2b
,
0x78
,
0x66
,
0xda
,
0xde
,
0x27
,
0x05
,
0x55
,
0xa5
,
0x8f
,
0xf7
,
0x99
,
0xd9
,
0x50
,
0xc5
,
0x18
,
0x84
,
0xa9
,
0x66
,
0x4b
,
0xe3
,
0x3a
,
0xb7
,
0xe8
,
0x72
,
0xd2
,
0x59
,
0xdc
,
0x67
,
0x76
,
0x87
,
0x47
,
0xbc
,
0x86
,
0x43
,
0xe7
,
0x95
,
0xf5
,
0x9f
,
0x34
,
0xcd
,
0x6f
,
0xbe
,
0xe2
,
0xe2
,
0x77
,
0xee
,
0xe3
,
0xc1
,
0x28
,
0x48
,
0x43
,
0xb9
,
0xa5
,
0x37
,
0x3d
,
0x60
,
0x99
,
0xad
,
0x93
,
0xc0
,
0xe4
,
0x86
,
0xda
,
0xf4
,
0x60
,
0x51
,
0xe9
,
0x2f
,
0x5d
,
0x76
,
0xc8
,
0xec
,
0x0e
,
0x4f
,
0xf2
,
0x0e
,
0x84
,
0xc4
,
0x5b
,
0xba
,
0xc1
,
0xce
,
0xeb
,
0x9c
,
0x03
,
0xac
,
0xee
,
0xf6
,
0xed
,
0x33
,
0xbf
,
0xd1
,
0x40
,
0xae
,
0x29
,
0xc9
,
0x15
,
0xbc
,
0xb8
,
0x46
,
0x5b
,
0x2c
,
0x4a
,
0xe5
,
0x1f
,
0x17
,
0xf8
,
0x07
,
0x8e
,
0x25
,
0xce
,
0x71
,
0x61
,
0xfc
,
0xc6
,
0x34
,
0xee
,
0x19
,
0x8b
,
0xb7
,
0xed
,
0x24
,
0xbe
,
0x6c
,
0xa7
,
0x6b
,
0xd7
,
0xe0
,
0x4a
,
0x06
,
0xc5
,
0x7b
,
0xd8
,
0x9f
,
0x57
,
0xd6
,
0x62
,
0xe9
,
0xdb
,
0x89
,
0x7c
,
0x30
,
0x66
,
0xc5
,
0x26
,
0x39
,
0x1c
,
0xfd
,
0xa0
,
0xb9
,
0xd2
,
0x9d
,
0xe2
,
0x57
,
0x5b
,
0xab
,
0xf0
,
0x60
,
0xb2
,
0xfb
,
0x95
,
0x38
,
0x83
,
0x7e
,
0xb3
,
0x6c
,
0x58
,
0xfa
,
0x66
,
0x2f
,
0xc2
,
0x74
,
0x20
,
0xef
,
0xec
,
0xe4
,
0x23
,
0x9c
,
0x4a
,
0x34
,
0xba
,
0xfe
,
0x59
,
0xa1
,
0xad
,
0x1f
,
0xf5
,
0x89
,
0xbe
,
0xc3
,
0x11
,
0x47
,
0x76
,
0x82
,
0x3e
,
0xc0
,
0x60
,
0x55
,
0xd6
,
0xc5
,
0xc1
,
0x28
,
0x4c
,
0x87
,
0x97
,
0x71
,
0xdb
,
0xe4
,
0xd6
,
0x85
,
0xe4
,
0x3d
,
0x3a
,
0xeb
,
0xf1
,
0x6f
,
0xe0
,
0xed
,
0xff
,
0x00
,
0x00
,
0x00
,
0xff
,
0xff
,
0x32
,
0x78
,
0xa2
,
0x76
,
0x2a
,
0x04
,
0x00
,
0x00
,
// 500 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x94
,
0x94
,
0x4d
,
0x6b
,
0xdb
,
0x4c
,
0x10
,
0xc7
,
0xd1
,
0x23
,
0xcb
,
0x2f
,
0xe3
,
0x27
,
0xad
,
0xbd
,
0x49
,
0x83
,
0x48
,
0x21
,
0x18
,
0xb5
,
0x14
,
0xd1
,
0x83
,
0x0b
,
0xe9
,
0x4b
,
0x7a
,
0x75
,
0x69
,
0xa1
,
0xa5
,
0x39
,
0xb8
,
0x4b
,
0xe8
,
0x7d
,
0x6d
,
0x0f
,
0x95
,
0x89
,
0xa4
,
0x59
,
0x76
,
0x57
,
0x06
,
0x1d
,
0x7a
,
0xeb
,
0x67
,
0xe8
,
0xe7
,
0x2d
,
0x1a
,
0xcb
,
0x89
,
0x65
,
0x9b
,
0x80
,
0x6f
,
0x3b
,
0xff
,
0xf9
,
0xcd
,
0x8b
,
0x3c
,
0x33
,
0x06
,
0x30
,
0x45
,
0x8a
,
0x63
,
0x6d
,
0xc8
,
0x91
,
0x08
,
0x5c
,
0xa9
,
0xd1
,
0x5e
,
0x9c
,
0xa4
,
0x73
,
0xca
,
0x32
,
0xca
,
0xd7
,
0x6a
,
0xf4
,
0xc7
,
0x83
,
0xb3
,
0x49
,
0xe1
,
0x28
,
0xa7
,
0xac
,
0x9c
,
0x1a
,
0xd2
,
0x64
,
0x55
,
0x2a
,
0x8b
,
0x14
,
0xc5
,
0x1b
,
0xe8
,
0x6a
,
0x43
,
0xba
,
0x7a
,
0x87
,
0xde
,
0xc8
,
0x8b
,
0xfb
,
0x57
,
0xa7
,
0x63
,
0xce
,
0x30
,
0xde
,
0xc6
,
0xe4
,
0x3d
,
0x24
,
0x5e
,
0x80
,
0x6f
,
0xd0
,
0x86
,
0xff
,
0x31
,
0x3b
,
0xac
,
0xd9
,
0x9f
,
0xe4
,
0x50
,
0xa2
,
0x2d
,
0x52
,
0x27
,
0x2b
,
0xaf
,
0x38
,
0x87
,
0xb6
,
0x75
,
0xca
,
0x15
,
0x36
,
0xf4
,
0x47
,
0x5e
,
0x1c
,
0xc8
,
0xda
,
0x8a
,
0xfe
,
0xfa
,
0xf0
,
0x7f
,
0xa3
,
0xbc
,
0x80
,
0x56
,
0x89
,
0xca
,
0x70
,
0xe9
,
0x40
,
0xf2
,
0x5b
,
0x9c
,
0x41
,
0x90
,
0x51
,
0xee
,
0x12
,
0xae
,
0x11
,
0xc8
,
0xb5
,
0x21
,
0x06
,
0xe0
,
0x2f
,
0x54
,
0x59
,
0xe7
,
0xab
,
0x9e
,
0x22
,
0x86
,
0xa7
,
0x33
,
0x52
,
0x66
,
0x31
,
0x71
,
0x0e
,
0xf3
,
0xc5
,
0xd4
,
0xd0
,
0x2c
,
0x6c
,
0xb1
,
0x77
,
0x57
,
0x16
,
0x2f
,
0xe1
,
0x84
,
0xa5
,
0xa9
,
0xb2
,
0x96
,
0xb9
,
0x80
,
0xb9
,
0xa6
,
0x28
,
0x2e
,
0x01
,
0x48
,
0x6b
,
0xb2
,
0xc8
,
0x48
,
0x9b
,
0x91
,
0x2d
,
0x45
,
0xbc
,
0x82
,
0x27
,
0xba
,
0xee
,
0x7d
,
0x92
,
0x51
,
0x91
,
0xbb
,
0xb0
,
0xc3
,
0xcc
,
0x8e
,
0x2a
,
0xc6
,
0x20
,
0x74
,
0x31
,
0x5b
,
0x1b
,
0xb7
,
0x89
,
0x41
,
0x9b
,
0x50
,
0xba
,
0x08
,
0xbb
,
0xcc
,
0x1e
,
0xf0
,
0x88
,
0xd7
,
0x30
,
0xb0
,
0x4e
,
0x19
,
0xf7
,
0x29
,
0xa5
,
0xf9
,
0xdd
,
0x57
,
0x5c
,
0xfe
,
0x4a
,
0x5c
,
0xd8
,
0x1b
,
0x79
,
0xb1
,
0x2f
,
0xf7
,
0xf4
,
0xaa
,
0x07
,
0xcc
,
0x17
,
0xdb
,
0x24
,
0x30
,
0xb9
,
0xa3
,
0x56
,
0x3d
,
0x18
,
0x54
,
0xe9
,
0x97
,
0x26
,
0xdb
,
0x67
,
0xf6
,
0x80
,
0x27
,
0x7a
,
0x07
,
0x42
,
0xe2
,
0x8a
,
0xee
,
0xb0
,
0x31
,
0x9d
,
0x4b
,
0x80
,
0xcd
,
0xb7
,
0x7d
,
0xfb
,
0xcc
,
0x33
,
0xea
,
0xc9
,
0x2d
,
0x25
,
0xba
,
0x81
,
0x41
,
0x35
,
0xf9
,
0x63
,
0x62
,
0x44
,
0x08
,
0x1d
,
0xa5
,
0xb5
,
0xa1
,
0x15
,
0xf2
,
0x7c
,
0xbb
,
0x72
,
0x63
,
0x46
,
0xd7
,
0xf0
,
0xec
,
0x16
,
0x4d
,
0xb6
,
0xcc
,
0xd5
,
0x71
,
0x29
,
0xa3
,
0xdf
,
0x70
,
0x2a
,
0x71
,
0x8e
,
0x4b
,
0xed
,
0x76
,
0x56
,
0xbb
,
0xa5
,
0x0d
,
0xae
,
0xea
,
0xb5
,
0x7e
,
0x5e
,
0xaf
,
0xea
,
0xa1
,
0x2b
,
0x90
,
0x0c
,
0x8a
,
0xf7
,
0xd0
,
0x99
,
0x17
,
0xc6
,
0x60
,
0xee
,
0xea
,
0xf5
,
0x7e
,
0x34
,
0x66
,
0xc3
,
0x46
,
0x09
,
0x0c
,
0x6f
,
0x68
,
0xae
,
0xd2
,
0x46
,
0xf1
,
0xeb
,
0xbd
,
0xbb
,
0x7a
,
0x34
,
0xd9
,
0xc3
,
0x7d
,
0x5d
,
0x40
,
0xb7
,
0xba
,
0x5c
,
0xcc
,
0x5d
,
0x75
,
0x64
,
0x7e
,
0xdc
,
0x93
,
0xf7
,
0x76
,
0xf4
,
0x11
,
0xce
,
0x25
,
0xea
,
0xb4
,
0xfc
,
0x51
,
0xa0
,
0x29
,
0x8f
,
0xfa
,
0x89
,
0xbe
,
0xc3
,
0x90
,
0x23
,
0x1b
,
0x41
,
0x1f
,
0xa0
,
0xb7
,
0x29
,
0x6b
,
0x43
,
0x6f
,
0xe4
,
0xc7
,
0xfd
,
0xab
,
0xb0
,
0x6e
,
0x72
,
0xef
,
0x83
,
0xe4
,
0x03
,
0x3a
,
0x6b
,
0xf3
,
0x7f
,
0xca
,
0xdb
,
0x7f
,
0x01
,
0x00
,
0x00
,
0xff
,
0xff
,
0x4d
,
0x3e
,
0x74
,
0x94
,
0x77
,
0x04
,
0x00
,
0x00
,
}
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