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
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
245 additions
and
130 deletions
+245
-130
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
+0
-0
autonomy.proto
plugin/dapp/autonomy/proto/autonomy.proto
+11
-9
board.proto
plugin/dapp/autonomy/proto/board.proto
+6
-6
lcommon.proto
plugin/dapp/autonomy/proto/lcommon.proto
+11
-1
project.proto
plugin/dapp/autonomy/proto/project.proto
+19
-10
rule.proto
plugin/dapp/autonomy/proto/rule.proto
+6
-1
autonomy.pb.go
plugin/dapp/autonomy/types/autonomy.pb.go
+0
-0
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
+0
-0
rule.pb.go
plugin/dapp/autonomy/types/rule.pb.go
+0
-0
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) {
...
@@ -66,7 +66,7 @@ func (a *action) propBoard(prob *auty.ProposalBoard) (*types.Receipt, error) {
cur
:=
&
auty
.
AutonomyProposalBoard
{
cur
:=
&
auty
.
AutonomyProposalBoard
{
PropBoard
:
prob
,
PropBoard
:
prob
,
Res
:
&
auty
.
Votes
Result
{},
VoteResult
:
&
auty
.
Vote
Result
{},
Status
:
auty
.
AutonomyStatusProposalBoard
,
Status
:
auty
.
AutonomyStatusProposalBoard
,
Address
:
a
.
fromaddr
,
Address
:
a
.
fromaddr
,
Height
:
a
.
height
,
Height
:
a
.
height
,
...
@@ -202,13 +202,13 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
...
@@ -202,13 +202,13 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
// 加入已经投票的
// 加入已经投票的
votes
.
Address
=
append
(
votes
.
Address
,
a
.
fromaddr
)
votes
.
Address
=
append
(
votes
.
Address
,
a
.
fromaddr
)
if
cur
.
Get
Res
()
.
TotalVotes
==
0
{
//需要统计票数
if
cur
.
Get
VoteResult
()
.
TotalVotes
==
0
{
//需要统计票数
addr
:=
"16htvcBNSEA7fZhAdLJphDwQRQJaHpyHTp"
addr
:=
"16htvcBNSEA7fZhAdLJphDwQRQJaHpyHTp"
account
,
err
:=
a
.
getStartHeightVoteAccount
(
addr
,
start
)
account
,
err
:=
a
.
getStartHeightVoteAccount
(
addr
,
start
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
cur
.
Res
.
TotalVotes
=
int32
(
account
.
Balance
/
ticketPrice
)
cur
.
VoteResult
.
TotalVotes
=
int32
(
account
.
Balance
/
ticketPrice
)
}
}
account
,
err
:=
a
.
getStartHeightVoteAccount
(
a
.
fromaddr
,
start
)
account
,
err
:=
a
.
getStartHeightVoteAccount
(
a
.
fromaddr
,
start
)
...
@@ -216,17 +216,17 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
...
@@ -216,17 +216,17 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
return
nil
,
err
return
nil
,
err
}
}
if
voteProb
.
Approve
{
if
voteProb
.
Approve
{
cur
.
Res
.
ApproveVotes
+=
int32
(
account
.
Balance
/
ticketPrice
)
cur
.
VoteResult
.
ApproveVotes
+=
int32
(
account
.
Balance
/
ticketPrice
)
}
else
{
}
else
{
cur
.
Res
.
OpposeVotes
+=
int32
(
account
.
Balance
/
ticketPrice
)
cur
.
VoteResult
.
OpposeVotes
+=
int32
(
account
.
Balance
/
ticketPrice
)
}
}
var
logs
[]
*
types
.
ReceiptLog
var
logs
[]
*
types
.
ReceiptLog
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
if
float32
(
cur
.
Res
.
ApproveVotes
+
cur
.
Res
.
OpposeVotes
)
/
float32
(
cur
.
Res
.
TotalVotes
)
>=
participationRate
&&
if
float32
(
cur
.
VoteResult
.
ApproveVotes
+
cur
.
VoteResult
.
OpposeVotes
)
/
float32
(
cur
.
VoteResult
.
TotalVotes
)
>=
participationRate
&&
float32
(
cur
.
Res
.
ApproveVotes
)
/
float32
(
cur
.
Res
.
ApproveVotes
+
cur
.
Res
.
OpposeVotes
)
>=
approveRate
{
float32
(
cur
.
VoteResult
.
ApproveVotes
)
/
float32
(
cur
.
VoteResult
.
ApproveVotes
+
cur
.
VoteResult
.
OpposeVotes
)
>=
approveRate
{
cur
.
Res
.
Pass
=
true
cur
.
VoteResult
.
Pass
=
true
cur
.
PropBoard
.
RealEndBlockHeight
=
a
.
height
cur
.
PropBoard
.
RealEndBlockHeight
=
a
.
height
receipt
,
err
:=
a
.
coinsAccount
.
ExecTransferFrozen
(
cur
.
Address
,
autonomyAddr
,
a
.
execaddr
,
lockAmount
)
receipt
,
err
:=
a
.
coinsAccount
.
ExecTransferFrozen
(
cur
.
Address
,
autonomyAddr
,
a
.
execaddr
,
lockAmount
)
...
@@ -240,7 +240,7 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
...
@@ -240,7 +240,7 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
key
:=
propBoardID
(
voteProb
.
ProposalID
)
key
:=
propBoardID
(
voteProb
.
ProposalID
)
cur
.
Status
=
auty
.
AutonomyStatusVotePropBoard
cur
.
Status
=
auty
.
AutonomyStatusVotePropBoard
if
cur
.
Res
.
Pass
{
if
cur
.
VoteResult
.
Pass
{
cur
.
Status
=
auty
.
AutonomyStatusTmintPropBoard
cur
.
Status
=
auty
.
AutonomyStatusTmintPropBoard
}
}
value
=
types
.
Encode
(
&
cur
)
value
=
types
.
Encode
(
&
cur
)
...
@@ -250,7 +250,7 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
...
@@ -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
)})
kv
=
append
(
kv
,
&
types
.
KeyValue
{
Key
:
VotesRecord
(
voteProb
.
ProposalID
),
Value
:
types
.
Encode
(
&
votes
)})
ty
:=
auty
.
TyLogVotePropBoard
ty
:=
auty
.
TyLogVotePropBoard
if
cur
.
Res
.
Pass
{
if
cur
.
VoteResult
.
Pass
{
ty
=
auty
.
TyLogTmintPropBoard
ty
=
auty
.
TyLogTmintPropBoard
}
}
receiptLog
:=
getReceiptLog
(
pre
,
&
cur
,
int32
(
ty
))
receiptLog
:=
getReceiptLog
(
pre
,
&
cur
,
int32
(
ty
))
...
@@ -293,20 +293,20 @@ func (a *action) tmintPropBoard(tmintProb *auty.TerminateProposalBoard) (*types.
...
@@ -293,20 +293,20 @@ func (a *action) tmintPropBoard(tmintProb *auty.TerminateProposalBoard) (*types.
return
nil
,
err
return
nil
,
err
}
}
if
cur
.
Get
Res
()
.
TotalVotes
==
0
{
//需要统计票数
if
cur
.
Get
VoteResult
()
.
TotalVotes
==
0
{
//需要统计票数
addr
:=
"16htvcBNSEA7fZhAdLJphDwQRQJaHpyHTp"
addr
:=
"16htvcBNSEA7fZhAdLJphDwQRQJaHpyHTp"
account
,
err
:=
a
.
getStartHeightVoteAccount
(
addr
,
start
)
account
,
err
:=
a
.
getStartHeightVoteAccount
(
addr
,
start
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
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
&&
if
float32
(
cur
.
VoteResult
.
ApproveVotes
+
cur
.
VoteResult
.
OpposeVotes
)
/
float32
(
cur
.
VoteResult
.
TotalVotes
)
>=
participationRate
&&
float32
(
cur
.
Res
.
ApproveVotes
)
/
float32
(
cur
.
Res
.
ApproveVotes
+
cur
.
Res
.
OpposeVotes
)
>=
approveRate
{
float32
(
cur
.
VoteResult
.
ApproveVotes
)
/
float32
(
cur
.
VoteResult
.
ApproveVotes
+
cur
.
VoteResult
.
OpposeVotes
)
>=
approveRate
{
cur
.
Res
.
Pass
=
true
cur
.
VoteResult
.
Pass
=
true
}
else
{
}
else
{
cur
.
Res
.
Pass
=
false
cur
.
VoteResult
.
Pass
=
false
}
}
cur
.
PropBoard
.
RealEndBlockHeight
=
a
.
height
cur
.
PropBoard
.
RealEndBlockHeight
=
a
.
height
...
@@ -366,9 +366,9 @@ func getReceiptLog(pre, cur *auty.AutonomyProposalBoard, ty int32) *types.Receip
...
@@ -366,9 +366,9 @@ func getReceiptLog(pre, cur *auty.AutonomyProposalBoard, ty int32) *types.Receip
func
copyAutonomyProposalBoard
(
cur
*
auty
.
AutonomyProposalBoard
)
*
auty
.
AutonomyProposalBoard
{
func
copyAutonomyProposalBoard
(
cur
*
auty
.
AutonomyProposalBoard
)
*
auty
.
AutonomyProposalBoard
{
newAut
:=
*
cur
newAut
:=
*
cur
newBoard
:=
*
cur
.
GetPropBoard
()
newBoard
:=
*
cur
.
GetPropBoard
()
newRes
:=
*
cur
.
Get
Res
()
newRes
:=
*
cur
.
Get
VoteResult
()
newAut
.
PropBoard
=
&
newBoard
newAut
.
PropBoard
=
&
newBoard
newAut
.
Res
=
&
newRes
newAut
.
VoteResult
=
&
newRes
return
&
newAut
return
&
newAut
}
}
plugin/dapp/autonomy/executor/boardaction_test.go
View file @
579ca570
...
@@ -35,9 +35,6 @@ type execEnv struct {
...
@@ -35,9 +35,6 @@ type execEnv struct {
}
}
var
(
var
(
Symbol
=
"BTY"
Asset
=
"coins"
PrivKeyA
=
"0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b"
// 1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4
PrivKeyA
=
"0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b"
// 1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4
PrivKeyB
=
"0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4"
// 1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR
PrivKeyB
=
"0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4"
// 1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR
PrivKeyC
=
"0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115"
// 1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k
PrivKeyC
=
"0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115"
// 1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k
...
@@ -47,18 +44,6 @@ var (
...
@@ -47,18 +44,6 @@ var (
AddrC
=
"1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k"
AddrC
=
"1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k"
AddrD
=
"1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs"
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"
}
boards
=
[]
string
{
"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4"
,
"1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR"
,
"1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k"
}
total
=
types
.
Coin
*
30000
total
=
types
.
Coin
*
30000
)
)
...
@@ -344,7 +329,7 @@ func voteProposalBoard(t *testing.T, env *execEnv, exec drivers.Driver, stateDB
...
@@ -344,7 +329,7 @@ func voteProposalBoard(t *testing.T, env *execEnv, exec drivers.Driver, stateDB
require
.
NoError
(
t
,
err
)
require
.
NoError
(
t
,
err
)
require
.
Equal
(
t
,
int32
(
auty
.
AutonomyStatusTmintPropBoard
),
cur
.
Status
)
require
.
Equal
(
t
,
int32
(
auty
.
AutonomyStatusTmintPropBoard
),
cur
.
Status
)
require
.
Equal
(
t
,
AddrA
,
cur
.
Address
)
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
)
{
func
voteProposalBoardTx
(
parm
*
auty
.
VoteProposalBoard
)
(
*
types
.
Transaction
,
error
)
{
...
@@ -452,13 +437,13 @@ func TestGetStartHeightVoteAccount(t *testing.T) {
...
@@ -452,13 +437,13 @@ func TestGetStartHeightVoteAccount(t *testing.T) {
func
TestGetReceiptLog
(
t
*
testing
.
T
)
{
func
TestGetReceiptLog
(
t
*
testing
.
T
)
{
pre
:=
&
auty
.
AutonomyProposalBoard
{
pre
:=
&
auty
.
AutonomyProposalBoard
{
PropBoard
:
&
auty
.
ProposalBoard
{
Year
:
1800
,
Month
:
1
},
PropBoard
:
&
auty
.
ProposalBoard
{
Year
:
1800
,
Month
:
1
},
Res
:
&
auty
.
Votes
Result
{
TotalVotes
:
100
},
VoteResult
:
&
auty
.
Vote
Result
{
TotalVotes
:
100
},
Status
:
1
,
Status
:
1
,
Address
:
"121"
,
Address
:
"121"
,
}
}
cur
:=
&
auty
.
AutonomyProposalBoard
{
cur
:=
&
auty
.
AutonomyProposalBoard
{
PropBoard
:
&
auty
.
ProposalBoard
{
Year
:
1900
,
Month
:
1
},
PropBoard
:
&
auty
.
ProposalBoard
{
Year
:
1900
,
Month
:
1
},
Res
:
&
auty
.
Votes
Result
{
TotalVotes
:
100
},
VoteResult
:
&
auty
.
Vote
Result
{
TotalVotes
:
100
},
Status
:
2
,
Status
:
2
,
Address
:
"123"
,
Address
:
"123"
,
}
}
...
@@ -474,20 +459,20 @@ func TestGetReceiptLog(t *testing.T) {
...
@@ -474,20 +459,20 @@ func TestGetReceiptLog(t *testing.T) {
func
TestCopyAutonomyProposalBoard
(
t
*
testing
.
T
)
{
func
TestCopyAutonomyProposalBoard
(
t
*
testing
.
T
)
{
cur
:=
&
auty
.
AutonomyProposalBoard
{
cur
:=
&
auty
.
AutonomyProposalBoard
{
PropBoard
:
&
auty
.
ProposalBoard
{
Year
:
1900
,
Month
:
1
},
PropBoard
:
&
auty
.
ProposalBoard
{
Year
:
1900
,
Month
:
1
},
Res
:
&
auty
.
Votes
Result
{
TotalVotes
:
100
},
VoteResult
:
&
auty
.
Vote
Result
{
TotalVotes
:
100
},
Status
:
2
,
Status
:
2
,
Address
:
"123"
,
Address
:
"123"
,
}
}
new
:=
copyAutonomyProposalBoard
(
cur
)
new
:=
copyAutonomyProposalBoard
(
cur
)
cur
.
PropBoard
.
Year
=
1800
cur
.
PropBoard
.
Year
=
1800
cur
.
PropBoard
.
Month
=
2
cur
.
PropBoard
.
Month
=
2
cur
.
Res
.
TotalVotes
=
50
cur
.
VoteResult
.
TotalVotes
=
50
cur
.
Address
=
"234"
cur
.
Address
=
"234"
cur
.
Status
=
1
cur
.
Status
=
1
require
.
Equal
(
t
,
1900
,
int
(
new
.
PropBoard
.
Year
))
require
.
Equal
(
t
,
1900
,
int
(
new
.
PropBoard
.
Year
))
require
.
Equal
(
t
,
1
,
int
(
new
.
PropBoard
.
Month
))
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
,
"123"
,
new
.
Address
)
require
.
Equal
(
t
,
2
,
int
(
new
.
Status
))
require
.
Equal
(
t
,
2
,
int
(
new
.
Status
))
}
}
...
...
plugin/dapp/autonomy/executor/exec.go
View file @
579ca570
...
@@ -9,6 +9,7 @@ import (
...
@@ -9,6 +9,7 @@ import (
auty
"github.com/33cn/plugin/plugin/dapp/autonomy/types"
auty
"github.com/33cn/plugin/plugin/dapp/autonomy/types"
)
)
// 提案董事会相关
// Exec_PropBoard 创建提案
// Exec_PropBoard 创建提案
func
(
a
*
Autonomy
)
Exec_PropBoard
(
payload
*
auty
.
ProposalBoard
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
func
(
a
*
Autonomy
)
Exec_PropBoard
(
payload
*
auty
.
ProposalBoard
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
action
:=
newAction
(
a
,
tx
,
int32
(
index
))
action
:=
newAction
(
a
,
tx
,
int32
(
index
))
...
@@ -31,4 +32,35 @@ func (a *Autonomy) Exec_VotePropBoard(payload *auty.VoteProposalBoard, tx *types
...
@@ -31,4 +32,35 @@ func (a *Autonomy) Exec_VotePropBoard(payload *auty.VoteProposalBoard, tx *types
func
(
a
*
Autonomy
)
Exec_TmintPropBoard
(
payload
*
auty
.
TerminateProposalBoard
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
func
(
a
*
Autonomy
)
Exec_TmintPropBoard
(
payload
*
auty
.
TerminateProposalBoard
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
action
:=
newAction
(
a
,
tx
,
int32
(
index
))
action
:=
newAction
(
a
,
tx
,
int32
(
index
))
return
action
.
tmintPropBoard
(
payload
)
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 (
...
@@ -17,21 +17,40 @@ var (
localPrefix
=
"LOCDB"
+
auty
.
AutonomyX
+
"-"
localPrefix
=
"LOCDB"
+
auty
.
AutonomyX
+
"-"
)
)
func
VotesRecord
(
txHash
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
"%s%s"
,
votesRecordPrefix
,
txHash
))
}
var
(
var
(
// board
// board
boardPrefix
=
idPrefix
+
"board"
+
"-"
boardPrefix
=
idPrefix
+
"board"
+
"-"
localBoardPrefix
=
localPrefix
+
"board"
+
"-"
)
)
func
propBoardID
(
txHash
string
)
[]
byte
{
func
propBoardID
(
txHash
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
"%s%s"
,
boardPrefix
,
txHash
))
return
[]
byte
(
fmt
.
Sprintf
(
"%s%s"
,
boardPrefix
,
txHash
))
}
}
func
VotesRecord
(
txHash
string
)
[]
byte
{
func
calcBoardKey4StatusHeight
(
status
int32
,
heightindex
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
"%s%s"
,
votesRecordPrefix
,
txHash
))
key
:=
fmt
.
Sprintf
(
localBoardPrefix
+
"%d-"
+
"%s"
,
status
,
heightindex
)
return
[]
byte
(
key
)
}
}
func
calcBoardKey4StatusHeight
(
status
int32
,
heightindex
string
)
[]
byte
{
var
(
key
:=
fmt
.
Sprintf
(
localPrefix
+
"%d-"
+
"%s"
,
status
,
heightindex
)
// 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
)
return
[]
byte
(
key
)
}
}
plugin/dapp/autonomy/executor/projectaction.go
0 → 100644
View file @
579ca570
This diff is collapsed.
Click to expand it.
plugin/dapp/autonomy/proto/autonomy.proto
View file @
579ca570
...
@@ -20,15 +20,16 @@ message AutonomyAction {
...
@@ -20,15 +20,16 @@ message AutonomyAction {
VoteProposalBoard
votePropBoard
=
3
;
VoteProposalBoard
votePropBoard
=
3
;
TerminateProposalBoard
tmintPropBoard
=
4
;
TerminateProposalBoard
tmintPropBoard
=
4
;
// 提案项目相关
// 提案项目相关
ProposalProject
propProject
=
5
;
ProposalProject
propProject
=
5
;
RevokeProposalProject
rvkPropProject
=
6
;
RevokeProposalProject
rvkPropProject
=
6
;
VoteProposalBoard
votePropProject
=
7
;
VoteProposalProject
votePropProject
=
7
;
TerminateProposalProject
tmintPropProject
=
8
;
PubVoteProposalProject
pubVotePropProject
=
8
;
TerminateProposalProject
tmintPropProject
=
9
;
// 提案规则修改相关
// 提案规则修改相关
ProposalRule
propRule
=
9
;
ProposalRule
propRule
=
10
;
RevokeProposalRule
rvkPropRule
=
1
0
;
RevokeProposalRule
rvkPropRule
=
1
1
;
VoteProposal
Board
votePropRule
=
11
;
VoteProposal
Rule
votePropRule
=
12
;
TerminateProposalRule
tmintPropRule
=
1
2
;
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
...
@@ -10,14 +10,14 @@ package types;
...
@@ -10,14 +10,14 @@ package types;
message
AutonomyProposalBoard
{
message
AutonomyProposalBoard
{
ProposalBoard
propBoard
=
1
;
ProposalBoard
propBoard
=
1
;
// 全体持票人投票结果
// 全体持票人投票结果
Vote
sResult
res
=
2
;
Vote
Result
voteResult
=
2
;
// 状态
// 状态
int32
status
=
3
;
int32
status
=
3
;
string
address
=
4
;
string
address
=
4
;
int64
height
=
5
;
int64
height
=
5
;
int32
index
=
6
;
int32
index
=
6
;
}
}
// action
// action
...
...
plugin/dapp/autonomy/proto/lcommon.proto
View file @
579ca570
...
@@ -6,7 +6,7 @@ syntax = "proto3";
...
@@ -6,7 +6,7 @@ syntax = "proto3";
package
types
;
package
types
;
message
Vote
s
Result
{
message
VoteResult
{
// 总票数
// 总票数
int32
totalVotes
=
1
;
int32
totalVotes
=
1
;
// 赞成票
// 赞成票
...
@@ -17,6 +17,15 @@ message VotesResult {
...
@@ -17,6 +17,15 @@ message VotesResult {
bool
pass
=
4
;
bool
pass
=
4
;
}
}
message
PublicVote
{
// 是否需要公示
bool
publicity
=
1
;
// 全体持票人反对票
int32
opposeVotes
=
2
;
// 是否通过
bool
pubPass
=
3
;
}
message
VotesRecord
{
message
VotesRecord
{
repeated
string
address
=
1
;
repeated
string
address
=
1
;
}
}
\ No newline at end of file
plugin/dapp/autonomy/proto/project.proto
View file @
579ca570
...
@@ -9,17 +9,16 @@ import "lcommon.proto";
...
@@ -9,17 +9,16 @@ import "lcommon.proto";
package
types
;
package
types
;
message
AutonomyProposalProject
{
message
AutonomyProposalProject
{
ProposalProject
propProject
=
1
;
ProposalProject
propProject
=
1
;
// 董事会投票结果
// 董事会投票结果
VotesResult
boardResult
=
2
;
VoteResult
boardVoteRes
=
2
;
// 是否需要公示
// 公示投票
bool
publicity
=
3
;
PublicVote
pubVote
=
3
;
// 全体持票人反对票
int32
opposeVotes
=
4
;
// 是否通过
bool
pubPass
=
5
;
// 状态
// 状态
int32
status
=
6
;
int32
status
=
4
;
string
address
=
5
;
int64
height
=
6
;
int32
index
=
7
;
}
}
message
ProposalProject
{
message
ProposalProject
{
...
@@ -34,7 +33,7 @@ message ProposalProject {
...
@@ -34,7 +33,7 @@ message ProposalProject {
string
production
=
6
;
// 项目地址
string
production
=
6
;
// 项目地址
string
description
=
7
;
// 项目阶段性简述
string
description
=
7
;
// 项目阶段性简述
string
contractor
=
8
;
// 承包人
string
contractor
=
8
;
// 承包人
int
32
amount
=
9
;
// 项目经费
int
64
amount
=
9
;
// 项目经费
string
amountDetail
=
10
;
// 经费细则
string
amountDetail
=
10
;
// 经费细则
// 支付相关
// 支付相关
...
@@ -51,6 +50,16 @@ message RevokeProposalProject {
...
@@ -51,6 +50,16 @@ message RevokeProposalProject {
string
proposalID
=
1
;
string
proposalID
=
1
;
}
}
message
VoteProposalProject
{
string
proposalID
=
1
;
bool
approve
=
2
;
}
message
PubVoteProposalProject
{
string
proposalID
=
1
;
bool
oppose
=
2
;
}
message
TerminateProposalProject
{
message
TerminateProposalProject
{
string
proposalID
=
1
;
string
proposalID
=
1
;
}
}
...
...
plugin/dapp/autonomy/proto/rule.proto
View file @
579ca570
...
@@ -11,7 +11,7 @@ package types;
...
@@ -11,7 +11,7 @@ package types;
message
AutonomyProposalRule
{
message
AutonomyProposalRule
{
ProposalRule
propRule
=
1
;
ProposalRule
propRule
=
1
;
// 全体持票人投票结果
// 全体持票人投票结果
Vote
sResult
res
=
2
;
Vote
Result
res
=
2
;
// 状态
// 状态
int32
status
=
3
;
int32
status
=
3
;
}
}
...
@@ -39,6 +39,11 @@ message RevokeProposalRule {
...
@@ -39,6 +39,11 @@ message RevokeProposalRule {
string
proposalID
=
1
;
string
proposalID
=
1
;
}
}
message
VoteProposalRule
{
string
proposalID
=
1
;
bool
approve
=
2
;
}
message
TerminateProposalRule
{
message
TerminateProposalRule
{
string
proposalID
=
1
;
string
proposalID
=
1
;
}
}
...
...
plugin/dapp/autonomy/types/autonomy.pb.go
View file @
579ca570
This diff is collapsed.
Click to expand it.
plugin/dapp/autonomy/types/board.pb.go
View file @
579ca570
...
@@ -15,7 +15,7 @@ var _ = math.Inf
...
@@ -15,7 +15,7 @@ var _ = math.Inf
type
AutonomyProposalBoard
struct
{
type
AutonomyProposalBoard
struct
{
PropBoard
*
ProposalBoard
`protobuf:"bytes,1,opt,name=propBoard" json:"propBoard,omitempty"`
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"`
Status
int32
`protobuf:"varint,3,opt,name=status" json:"status,omitempty"`
Address
string
`protobuf:"bytes,4,opt,name=address" json:"address,omitempty"`
Address
string
`protobuf:"bytes,4,opt,name=address" json:"address,omitempty"`
...
@@ -35,9 +35,9 @@ func (m *AutonomyProposalBoard) GetPropBoard() *ProposalBoard {
...
@@ -35,9 +35,9 @@ func (m *AutonomyProposalBoard) GetPropBoard() *ProposalBoard {
return
nil
return
nil
}
}
func
(
m
*
AutonomyProposalBoard
)
Get
Res
()
*
Votes
Result
{
func
(
m
*
AutonomyProposalBoard
)
Get
VoteResult
()
*
Vote
Result
{
if
m
!=
nil
{
if
m
!=
nil
{
return
m
.
Res
return
m
.
VoteResult
}
}
return
nil
return
nil
}
}
...
@@ -316,37 +316,37 @@ func init() {
...
@@ -316,37 +316,37 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"board.proto"
,
fileDescriptor1
)
}
func
init
()
{
proto
.
RegisterFile
(
"board.proto"
,
fileDescriptor1
)
}
var
fileDescriptor1
=
[]
byte
{
var
fileDescriptor1
=
[]
byte
{
// 49
8
bytes of a gzipped FileDescriptorProto
// 49
9
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x94
,
0x54
,
0x
5d
,
0x8b
,
0xd4
,
0x30
,
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x94
,
0x54
,
0x
4d
,
0x6f
,
0xd4
,
0x30
,
0x1
4
,
0x25
,
0x76
,
0x3a
,
0xb3
,
0xbd
,
0xcb
,
0xca
,
0x1a
,
0x67
,
0xd7
,
0xb2
,
0x2c
,
0x52
,
0x8a
,
0x48
,
0x1
0
,
0x95
,
0xbb
,
0x9b
,
0xb4
,
0x99
,
0xaa
,
0xa8
,
0x35
,
0xdb
,
0x12
,
0x55
,
0x15
,
0x8a
,
0x72
,
0x40
,
0x
f1
,
0x61
,
0x90
,
0xf5
,
0x03
,
0xf1
,
0xcd
,
0x41
,
0x41
,
0x41
,
0x41
,
0x83
,
0xfa
,
0x9e
,
0x6d
,
0xaf
,
0x
11
,
0x87
,
0x15
,
0x94
,
0x0f
,
0x21
,
0x6e
,
0xac
,
0x40
,
0x02
,
0x09
,
0x24
,
0xb0
,
0x80
,
0xbb
,
0x9b
,
0x
4e
,
0xd9
,
0xb6
,
0x89
,
0x49
,
0x3a
,
0xd8
,
0x37
,
0xff
,
0xa2
,
0xbf
,
0xc2
,
0xbf
,
0x21
,
0x49
,
0x33
,
0x
0c
,
0x6c
,
0xd4
,
0x24
,
0x36
,
0x8e
,
0xb3
,
0x22
,
0x37
,
0x7e
,
0x29
,
0x57
,
0xfe
,
0x06
,
0xca
,
0xc4
,
0x
76
,
0xba
,
0x0e
,
0xba
,
0xfb
,
0xd6
,
0x73
,
0x73
,
0x6e
,
0x72
,
0x4f
,
0x72
,
0x4e
,
0x61
,
0xff
,
0x5c
,
0x
db
,
0x6c
,
0xca
,
0x0a
,
0xe8
,
0x2d
,
0x6f
,
0xfc
,
0x9e
,
0x3d
,
0x63
,
0xbf
,
0x17
,
0xd8
,
0xbf
,
0x50
,
0x
70
,
0x55
,
0x2c
,
0xa4
,
0x12
,
0x46
,
0xd0
,
0xd0
,
0x74
,
0x12
,
0xf5
,
0xc9
,
0x41
,
0x95
,
0x8b
,
0xba
,
0x
d2
,
0x64
,
0x73
,
0x6d
,
0x94
,
0x55
,
0xdc
,
0xb3
,
0xad
,
0xc6
,
0xfa
,
0xf4
,
0xa0
,
0x48
,
0x55
,
0x59
,
0x
16
,
0x4d
,
0x5f
,
0x4d
,
0x7f
,
0x12
,
0x38
,
0x7a
,
0xd1
,
0x1a
,
0xd1
,
0x88
,
0xba
,
0x7b
,
0xaf
,
0x84
,
0x
aa
,
0xaa
,
0xaf
,
0xc6
,
0x3f
,
0x19
,
0x1c
,
0xbf
,
0x68
,
0xac
,
0xaa
,
0x54
,
0xd9
,
0xbe
,
0x37
,
0x4a
,
0x
14
,
0x9a
,
0x57
,
0x4b
,
0xdb
,
0x45
,
0xcf
,
0x20
,
0x92
,
0x4a
,
0x48
,
0x07
,
0x62
,
0x92
,
0x90
,
0x6c
,
0x
ab
,
0x5a
,
0x16
,
0x8b
,
0x4e
,
0xc5
,
0xcf
,
0x21
,
0xd0
,
0x46
,
0x69
,
0x02
,
0x21
,
0x8b
,
0x58
,
0xb2
,
0x
ff
,
0x6c
,
0xbe
,
0x70
,
0x7b
,
0x2c
,
0x46
,
0x44
,
0x36
,
0xd0
,
0xe8
,
0x3d
,
0x08
,
0x14
,
0xea
,
0xf8
,
0x
7f
,
0x3e
,
0x9b
,
0xd3
,
0x1e
,
0xf3
,
0x11
,
0x51
,
0x0c
,
0x34
,
0xfe
,
0x10
,
0x60
,
0xa5
,
0x2c
,
0x0a
,
0x
86
,
0x63
,
0x53
,
0xcf
,
0xfe
,
0x2c
,
0x0c
,
0x6a
,
0x86
,
0xba
,
0xad
,
0x0c
,
0xb3
,
0xcb
,
0xf4
,
0x18
,
0x
ac
,
0x9b
,
0xc2
,
0x86
,
0x3b
,
0x24
,
0x3a
,
0x72
,
0xa2
,
0xcf
,
0x57
,
0x0b
,
0x62
,
0x83
,
0xc4
,
0x4f
,
0x
a6
,
0xda
,
0x70
,
0xd3
,
0xea
,
0x38
,
0x48
,
0x48
,
0x16
,
0x32
,
0x8f
,
0x68
,
0x0c
,
0x33
,
0x5e
,
0x14
,
0x
c0
,
0xaf
,
0xad
,
0xb4
,
0x4d
,
0x1d
,
0x4e
,
0x22
,
0x96
,
0x78
,
0xc2
,
0x21
,
0x1e
,
0xc2
,
0xae
,
0xcc
,
0x
0a
,
0xb5
,
0x8e
,
0x27
,
0x09
,
0xc9
,
0x22
,
0xb6
,
0x81
,
0xb6
,
0x63
,
0x85
,
0xe5
,
0xd7
,
0x95
,
0x89
,
0x
32
,
0x83
,
0x75
,
0x1d
,
0x4e
,
0x23
,
0x96
,
0x04
,
0x62
,
0x0d
,
0x3b
,
0xc5
,
0x12
,
0xf3
,
0xaf
,
0x4b
,
0x
c3
,
0x84
,
0x64
,
0x01
,
0xf3
,
0x88
,
0xce
,
0x21
,
0x2c
,
0x9b
,
0x02
,
0xbf
,
0xc7
,
0x53
,
0xb7
,
0x51
,
0x
1b
,
0x7a
,
0x11
,
0x4b
,
0x26
,
0xc2
,
0x21
,
0x3e
,
0x03
,
0x2f
,
0xaf
,
0x32
,
0xfc
,
0x1e
,
0xfa
,
0xb4
,
0x
0f
,
0xd2
,
0x5f
,
0x04
,
0x0e
,
0xc6
,
0x5a
,
0x28
,
0x4c
,
0x3a
,
0xe4
,
0xca
,
0xc9
,
0x08
,
0x99
,
0xfb
,
0x
51
,
0x0f
,
0xe2
,
0x5f
,
0x0c
,
0x0e
,
0xc6
,
0x83
,
0x71
,
0x98
,
0xb6
,
0x28
,
0x0d
,
0xcd
,
0xe4
,
0x09
,
0x
b6
,
0xbd
,
0xb5
,
0x68
,
0xcc
,
0xca
,
0x4d
,
0x1b
,
0xb2
,
0x1e
,
0xd0
,
0x43
,
0x08
,
0x0a
,
0xde
,
0xf
9
,
0x
fa
,
0xee
,
0xb4
,
0xa5
,
0xaa
,
0xec
,
0x92
,
0x7a
,
0xf6
,
0x44
,
0x0f
,
0xf8
,
0x21
,
0x4c
,
0x32
,
0xd
9
,
0x
c1
,
0xec
,
0xa7
,
0x3d
,
0xdb
,
0x5d
,
0xa3
,
0x1d
,
0x2a
,
0xc8
,
0x22
,
0xe6
,
0x11
,
0x7d
,
0x00
,
0x87
,
0x
ba
,
0xc6
,
0xba
,
0xcf
,
0xee
,
0x6c
,
0xba
,
0xd3
,
0xae
,
0xa9
,
0x49
,
0x12
,
0x08
,
0x87
,
0xf8
,
0x7d
,
0x
da
,
0x70
,
0x65
,
0x96
,
0x95
,
0xc8
,
0x2f
,
0x5e
,
0x6f
,
0x4f
,
0xf7
,
0x57
,
0x9d
,
0xde
,
0x87
,
0x9b
,
0x
38
,
0xac
,
0xad
,
0x34
,
0x76
,
0x51
,
0xa8
,
0xf4
,
0xf2
,
0xf5
,
0x66
,
0x77
,
0x7f
,
0xd4
,
0xf9
,
0x3d
,
0x
d8
,
0x14
,
0xdb
,
0xcc
,
0xa9
,
0x63
,
0x5e
,
0xaa
,
0xd2
,
0x05
,
0x50
,
0x85
,
0xbc
,
0x7a
,
0x35
,
0xe6
,
0x
b8
,
0x85
,
0x55
,
0xb6
,
0xc9
,
0xf4
,
0x89
,
0x79
,
0xad
,
0xca
,
0xe7
,
0xc0
,
0x0d
,
0xca
,
0xe2
,
0xd5
,
0x
ce
,
0x1c
,
0x77
,
0xc7
,
0x4a
,
0xfa
,
0x04
,
0x6e
,
0x33
,
0x5c
,
0x8b
,
0x0b
,
0x1c
,
0xcb
,
0xbd
,
0x0b
,
0x
98
,
0xbb
,
0x4b
,
0xdc
,
0x2d
,
0x2b
,
0xf1
,
0x13
,
0xb8
,
0x2d
,
0x70
,
0xa5
,
0x2e
,
0x71
,
0x3c
,
0xee
,
0x
20
,
0x7d
,
0xe1
,
0xcd
,
0x4b
,
0x27
,
0x3a
,
0x62
,
0x5b
,
0x95
,
0xf4
,
0x1d
,
0xdc
,
0xb2
,
0x8f
,
0x72
,
0x
5d
,
0x00
,
0xed
,
0x0a
,
0x6f
,
0x5e
,
0xd2
,
0xd0
,
0x81
,
0xd8
,
0xa8
,
0xc4
,
0xef
,
0xe0
,
0xa8
,
0x7b
,
0x
ad
,
0x26
,
0xf7
,
0x3a
,
0x52
,
0x2a
,
0xb1
,
0x46
,
0x77
,
0x63
,
0x7b
,
0x6c
,
0x03
,
0xd3
,
0x67
,
0x70
,
0x
9a
,
0x1b
,
0x89
,
0xe8
,
0x75
,
0xb4
,
0x36
,
0x6a
,
0x85
,
0x74
,
0x63
,
0x7b
,
0x62
,
0x0d
,
0xe3
,
0x67
,
0x
fc
,
0x11
,
0x55
,
0x5d
,
0x36
,
0xfc
,
0x9a
,
0x7b
,
0xa6
,
0x3f
,
0x08
,
0xcc
,
0x19
,
0xe6
,
0x58
,
0x4a
,
0x
70
,
0xf2
,
0x11
,
0x4d
,
0x99
,
0x57
,
0xf2
,
0x86
,
0x7b
,
0xc6
,
0x3f
,
0x18
,
0xcc
,
0x04
,
0xa6
,
0x98
,
0x
33
,
0x6e
,
0x7c
,
0x08
,
0x13
,
0xa9
,
0x70
,
0xed
,
0x7d
,
0x77
,
0xea
,
0x9d
,
0xb4
,
0xd3
,
0xa8
,
0xcc
,
0x
6b
,
0x3b
,
0x16
,
0x3e
,
0x80
,
0xa9
,
0x36
,
0xb8
,
0x72
,
0x26
,
0x3c
,
0x73
,
0x7e
,
0xda
,
0xea
,
0x5a
,
0x
31
,
0xe9
,
0x53
,
0x98
,
0xe5
,
0xad
,
0x52
,
0xd8
,
0x18
,
0x6f
,
0xbf
,
0x7f
,
0x37
,
0x6d
,
0xc8
,
0xe9
,
0x
41
,
0x4c
,
0xfe
,
0x14
,
0x76
,
0xd3
,
0xc6
,
0x18
,
0xac
,
0xd6
,
0x26
,
0xfc
,
0xbb
,
0x68
,
0x4d
,
0x8e
,
0x
17
,
0xa0
,
0x6f
,
0x45
,
0xce
,
0xab
,
0xf1
,
0xf9
,
0x8f
,
0x61
,
0xea
,
0x5c
,
0x5d
,
0x5c
,
0x69
,
0x02
,
0x
bf
,
0x00
,
0x7f
,
0xab
,
0x52
,
0x59
,
0x8c
,
0xcf
,
0x7f
,
0x0c
,
0x3e
,
0x59
,
0x3c
,
0xfb
,
0xaf
,
0x0e
,
0x
cf
,
0xa5
,
0x27
,
0xb0
,
0x67
,
0xc3
,
0x85
,
0x8d
,
0xb1
,
0x19
,
0xb0
,
0x66
,
0xf9
,
0x83
,
0xd3
,
0x0e
,
0x
1c
,
0x97
,
0x9f
,
0xc2
,
0x5e
,
0x97
,
0x34
,
0xac
,
0x6c
,
0x1d
,
0xee
,
0x90
,
0x59
,
0xae
,
0x70
,
0xdc
,
0x
8e
,
0x18
,
0x7e
,
0xfb
,
0xd0
,
0xa2
,
0xba
,
0x94
,
0xb3
,
0x21
,
0x0d
,
0x64
,
0x94
,
0x86
,
0x39
,
0x84
,
0x
c2
,
0xb1
,
0xc0
,
0x6f
,
0x1f
,
0x1a
,
0x34
,
0xd7
,
0x42
,
0x37
,
0xa4
,
0x81
,
0x8d
,
0xd2
,
0x30
,
0x03
,
0x
b9
,
0x68
,
0xbd
,
0x9c
,
0x90
,
0xf5
,
0x80
,
0x9e
,
0x42
,
0x54
,
0x94
,
0x0a
,
0x73
,
0x53
,
0x8a
,
0xc6
,
0x
2f
,
0x55
,
0x8d
,
0x1b
,
0xc7
,
0x13
,
0x3d
,
0xe0
,
0x67
,
0x10
,
0x64
,
0xb9
,
0xc1
,
0xd4
,
0xe6
,
0xaa
,
0x
bb
,
0x74
,
0x28
,
0x0c
,
0x79
,
0x98
,
0x38
,
0xcb
,
0xf8
,
0x3c
,
0x7c
,
0x82
,
0x3b
,
0x0c
,
0x65
,
0xd5
,
0x
72
,
0x2e
,
0x1d
,
0x0a
,
0x43
,
0x1e
,
0xa6
,
0x64
,
0x19
,
0x97
,
0x87
,
0x4f
,
0x70
,
0x47
,
0xa0
,
0x2e
,
0x
ed
,
0x38
,
0xfc
,
0xb9
,
0x0b
,
0xf9
,
0xb2
,
0xf7
,
0x37
,
0x49
,
0x82
,
0xff
,
0x4a
,
0x1d
,
0xe8
,
0xe7
,
0x
da
,
0x2d
,
0x87
,
0x3f
,
0xa7
,
0xc4
,
0x2f
,
0x7a
,
0x7f
,
0xb3
,
0x68
,
0xf2
,
0xcf
,
0x51
,
0x07
,
0xfa
,
0x
53
,
0xf7
,
0x07
,
0x79
,
0xf4
,
0x3b
,
0x00
,
0x00
,
0xff
,
0xff
,
0x83
,
0xda
,
0x5e
,
0xb4
,
0x66
,
0x04
,
0x
85
,
0x4f
,
0xbf
,
0x93
,
0x47
,
0xbf
,
0x03
,
0x00
,
0x00
,
0xff
,
0xff
,
0x3f
,
0xce
,
0x7c
,
0xf0
,
0x73
,
0x00
,
0x00
,
0x0
4
,
0x0
0
,
0x00
,
}
}
plugin/dapp/autonomy/types/const.go
View file @
579ca570
...
@@ -70,6 +70,20 @@ const (
...
@@ -70,6 +70,20 @@ const (
)
)
const
(
const
(
AutonomyStatusProposalProject
=
iota
+
1
AutonomyStatusRvkPropProject
AutonomyStatusVotePropProject
AutonomyStatusTmintPropProject
)
const
(
AutonomyStatusProposalRule
=
iota
+
1
AutonomyStatusRvkPropRule
AutonomyStatusVotePropRule
AutonomyStatusTmintPropRule
)
const
(
// GetProposalBoard 用于在cmd里面的区分不同的查询
// GetProposalBoard 用于在cmd里面的区分不同的查询
GetProposalBoard
=
"GetProposalBoard"
GetProposalBoard
=
"GetProposalBoard"
// GetProposalProject 用于在cmd里面的区分不同的查询
// GetProposalProject 用于在cmd里面的区分不同的查询
...
...
plugin/dapp/autonomy/types/lcommon.pb.go
View file @
579ca570
...
@@ -12,7 +12,7 @@ var _ = proto.Marshal
...
@@ -12,7 +12,7 @@ var _ = proto.Marshal
var
_
=
fmt
.
Errorf
var
_
=
fmt
.
Errorf
var
_
=
math
.
Inf
var
_
=
math
.
Inf
type
Vote
s
Result
struct
{
type
VoteResult
struct
{
// 总票数
// 总票数
TotalVotes
int32
`protobuf:"varint,1,opt,name=totalVotes" json:"totalVotes,omitempty"`
TotalVotes
int32
`protobuf:"varint,1,opt,name=totalVotes" json:"totalVotes,omitempty"`
// 赞成票
// 赞成票
...
@@ -23,39 +23,74 @@ type VotesResult struct {
...
@@ -23,39 +23,74 @@ type VotesResult struct {
Pass
bool
`protobuf:"varint,4,opt,name=pass" json:"pass,omitempty"`
Pass
bool
`protobuf:"varint,4,opt,name=pass" json:"pass,omitempty"`
}
}
func
(
m
*
Vote
sResult
)
Reset
()
{
*
m
=
Votes
Result
{}
}
func
(
m
*
Vote
Result
)
Reset
()
{
*
m
=
Vote
Result
{}
}
func
(
m
*
Vote
s
Result
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
VoteResult
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Vote
s
Result
)
ProtoMessage
()
{}
func
(
*
VoteResult
)
ProtoMessage
()
{}
func
(
*
Vote
s
Result
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor2
,
[]
int
{
0
}
}
func
(
*
VoteResult
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor2
,
[]
int
{
0
}
}
func
(
m
*
Vote
s
Result
)
GetTotalVotes
()
int32
{
func
(
m
*
VoteResult
)
GetTotalVotes
()
int32
{
if
m
!=
nil
{
if
m
!=
nil
{
return
m
.
TotalVotes
return
m
.
TotalVotes
}
}
return
0
return
0
}
}
func
(
m
*
Vote
s
Result
)
GetApproveVotes
()
int32
{
func
(
m
*
VoteResult
)
GetApproveVotes
()
int32
{
if
m
!=
nil
{
if
m
!=
nil
{
return
m
.
ApproveVotes
return
m
.
ApproveVotes
}
}
return
0
return
0
}
}
func
(
m
*
Vote
s
Result
)
GetOpposeVotes
()
int32
{
func
(
m
*
VoteResult
)
GetOpposeVotes
()
int32
{
if
m
!=
nil
{
if
m
!=
nil
{
return
m
.
OpposeVotes
return
m
.
OpposeVotes
}
}
return
0
return
0
}
}
func
(
m
*
Vote
s
Result
)
GetPass
()
bool
{
func
(
m
*
VoteResult
)
GetPass
()
bool
{
if
m
!=
nil
{
if
m
!=
nil
{
return
m
.
Pass
return
m
.
Pass
}
}
return
false
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
{
type
VotesRecord
struct
{
Address
[]
string
`protobuf:"bytes,1,rep,name=address" json:"address,omitempty"`
Address
[]
string
`protobuf:"bytes,1,rep,name=address" json:"address,omitempty"`
}
}
...
@@ -63,7 +98,7 @@ type VotesRecord struct {
...
@@ -63,7 +98,7 @@ type VotesRecord struct {
func
(
m
*
VotesRecord
)
Reset
()
{
*
m
=
VotesRecord
{}
}
func
(
m
*
VotesRecord
)
Reset
()
{
*
m
=
VotesRecord
{}
}
func
(
m
*
VotesRecord
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
VotesRecord
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
VotesRecord
)
ProtoMessage
()
{}
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
{
func
(
m
*
VotesRecord
)
GetAddress
()
[]
string
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -73,23 +108,26 @@ func (m *VotesRecord) GetAddress() []string {
...
@@ -73,23 +108,26 @@ func (m *VotesRecord) GetAddress() []string {
}
}
func
init
()
{
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"
)
proto
.
RegisterType
((
*
VotesRecord
)(
nil
),
"types.VotesRecord"
)
}
}
func
init
()
{
proto
.
RegisterFile
(
"lcommon.proto"
,
fileDescriptor2
)
}
func
init
()
{
proto
.
RegisterFile
(
"lcommon.proto"
,
fileDescriptor2
)
}
var
fileDescriptor2
=
[]
byte
{
var
fileDescriptor2
=
[]
byte
{
// 161 bytes of a gzipped FileDescriptorProto
// 205 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x54
,
0x8f
,
0xbd
,
0xae
,
0xc2
,
0x30
,
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x64
,
0x90
,
0xcd
,
0x4e
,
0x85
,
0x30
,
0x0c
,
0x46
,
0x95
,
0xdb
,
0xf6
,
0x02
,
0x2e
,
0x2c
,
0x9e
,
0x3a
,
0xa1
,
0xaa
,
0x0b
,
0x99
,
0x58
,
0x78
,
0x10
,
0x85
,
0x53
,
0x7e
,
0x14
,
0x06
,
0xdd
,
0x74
,
0xc5
,
0xc2
,
0x18
,
0xd2
,
0x8d
,
0xac
,
0xdc
,
0xf8
,
0x93
,
0x0c
,
0xec
,
0xa1
,
0xc9
,
0x96
,
0x62
,
0x2b
,
0x36
,
0x48
,
0x3c
,
0x01
,
0xaf
,
0x8d
,
0x08
,
0x3f
,
0x22
,
0xa4
,
0x0b
,
0xf7
,
0x05
,
0x6a
,
0x42
,
0x52
,
0x9c
,
0x49
,
0x5b
,
0x4c
,
0x78
,
0x01
,
0x9f
,
0xdb
,
0x2a
,
0x9b
,
0x7d
,
0x74
,
0x86
,
0xf3
,
0xc1
,
0x26
,
0x8d
,
0x34
,
0x4d
,
0x74
,
0xde
,
0x73
,
0x26
,
0x25
,
0x74
,
0x94
,
0xc8
,
0xbd
,
0x77
,
0xd7
,
0xf3
,
0xe5
,
0x6b
,
0xce
,
0xcc
,
0xc0
,
0xa3
,
0x9b
,
0x70
,
0x5d
,
0x6c
,
0xf4
,
0xc6
,
0x51
,
0x86
,
0xbb
,
0x81
,
0xf6
,
0x48
,
0x1a
,
0xc5
,
0x45
,
0xb9
,
0x24
,
0xc5
,
0x2d
,
0xf1
,
0xf3
,
0x95
,
0x3c
,
0x46
,
0x94
,
0x65
,
0xdc
,
0xc9
,
0x06
,
0xf5
,
0x2d
,
0x00
,
0xde
,
0x31
,
0x5a
,
0x80
,
0x92
,
0xfa
,
0x54
,
0x58
,
0x67
,
0x7a
,
0x63
,
0x1b
,
0x37
,
0x23
,
0x38
,
0xc0
,
0xda
,
0x33
,
0x67
,
0x6d
,
0xc3
,
0xe6
,
0xa2
,
0x7c
,
0x06
,
0x88
,
0x18
,
0x8d
,
0x4b
,
0x28
,
0xb4
,
0xa2
,
0x13
,
0x7d
,
0xa9
,
0xba
,
0xc6
,
0x97
,
0xf1
,
0x57
,
0x8c
,
0x1f
,
0x86
,
0x3d
,
0xb4
,
0xc4
,
0x4c
,
0xf2
,
0x56
,
0xaa
,
0xa2
,
0x4f
,
0x44
,
0x2a
,
0x78
,
0x30
,
0x44
,
0x1e
,
0xbf
,
0xec
,
0xaf
,
0x91
,
0xb1
,
0x71
,
0xc1
,
0x64
,
0x07
,
0xcc
,
0x11
,
0x22
,
0xd4
,
0xec
,
0x45
,
0xba
,
0xba
,
0x37
,
0x76
,
0xe9
,
0xca
,
0x3d
,
0xec
,
0xbe
,
0x21
,
0x0d
,
0x12
,
0x61
,
0xf8
,
0x53
,
0x72
,
0x56
,
0xce
,
0x48
,
0x4a
,
0x28
,
0xc8
,
0x84
,
0xd0
,
0x16
,
0x9d
,
0x23
,
0xe5
,
0x80
,
0x1d
,
0x2c
,
0x7c
,
0x08
,
0x39
,
0xca
,
0xb3
,
0xa2
,
0xb2
,
0x2b
,
0xf7
,
0x79
,
0x4f
,
0xe8
,
0x2b
,
0xcd
,
0x6f
,
0xf5
,
0x01
,
0x30
,
0x6c
,
0xa3
,
0x5b
,
0xa6
,
0xa4
,
0xc8
,
0x27
,
0xa8
,
0x89
,
0xff
,
0x65
,
0xc0
,
0xe1
,
0x11
,
0x00
,
0x00
,
0xff
,
0xff
,
0x6b
,
0x42
,
0x8d
,
0xc4
,
0xd1
,
0x00
,
0x00
,
0xd3
,
0x12
,
0x77
,
0x1e
,
0xa3
,
0xd2
,
0xff
,
0xe0
,
0xba
,
0x21
,
0xbb
,
0x6d
,
0x68
,
0xe1
,
0x9e
,
0xb6
,
0x00
,
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
This diff is collapsed.
Click to expand it.
plugin/dapp/autonomy/types/rule.pb.go
View file @
579ca570
This diff is collapsed.
Click to expand it.
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