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
58b5def0
Commit
58b5def0
authored
Jul 09, 2019
by
liuyuhang
Committed by
33cn
Aug 14, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add proposal board
parent
af694733
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
338 additions
and
582 deletions
+338
-582
proposal_board.go
plugin/dapp/autonomy/commands/proposal_board.go
+142
-335
board.go
plugin/dapp/autonomy/executor/board.go
+47
-4
query.go
plugin/dapp/autonomy/executor/query.go
+3
-5
plugin.go
plugin/dapp/autonomy/plugin.go
+1
-1
autonomy.proto
plugin/dapp/autonomy/proto/autonomy.proto
+0
-7
board.proto
plugin/dapp/autonomy/proto/board.proto
+9
-4
jrpc.go
plugin/dapp/autonomy/rpc/jrpc.go
+13
-0
rpc.go
plugin/dapp/autonomy/rpc/rpc.go
+15
-0
autonomy.pb.go
plugin/dapp/autonomy/types/autonomy.pb.go
+25
-173
board.pb.go
plugin/dapp/autonomy/types/board.pb.go
+76
-49
const.go
plugin/dapp/autonomy/types/const.go
+7
-4
No files found.
plugin/dapp/autonomy/commands/proposal_board.go
View file @
58b5def0
...
...
@@ -5,410 +5,217 @@
package
commands
import
(
"bytes"
"encoding/json"
"fmt"
"math"
"os"
"strings"
"github.com/33cn/chain33/rpc/jsonclient"
jsonrpc
"github.com/33cn/chain33/rpc/jsonclient"
rpctypes
"github.com/33cn/chain33/rpc/types"
"github.com/spf13/cobra"
"github.com/33cn/chain33/types"
pty
"github.com/33cn/plugin/plugin/dapp/autonomy/types"
"github.com/spf13/cobra"
auty
"github.com/33cn/plugin/plugin/dapp/autonomy/types"
)
// Cmd autonomy 客户端主程序
func
Cmd
()
*
cobra
.
Command
{
// AutonomyCmd 自治系统命令行
func
AutonomyCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"autonomy"
,
Short
:
"autonomy
construct
management"
,
Short
:
"autonomy management"
,
Args
:
cobra
.
MinimumNArgs
(
1
),
}
cmd
.
AddCommand
(
createCmd
())
cmd
.
AddCommand
(
withdrawCmd
())
cmd
.
AddCommand
(
terminateCmd
())
cmd
.
AddCommand
(
showCmd
())
cmd
.
AddCommand
(
queryWithdrawCmd
())
cmd
.
AddCommand
(
listautonomyCmd
())
return
cmd
}
func
createCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"create"
,
Short
:
"create autonomy construct"
,
}
cmd
.
AddCommand
(
fixAmountCmd
())
cmd
.
AddCommand
(
leftCmd
())
return
cmd
}
func
createFlag
(
cmd
*
cobra
.
Command
)
*
cobra
.
Command
{
cmd
.
PersistentFlags
()
.
StringP
(
"beneficiary"
,
"b"
,
""
,
"address of beneficiary"
)
cmd
.
MarkFlagRequired
(
"beneficiary"
)
cmd
.
PersistentFlags
()
.
StringP
(
"asset_exec"
,
"e"
,
""
,
"asset exec"
)
cmd
.
MarkFlagRequired
(
"asset_exec"
)
cmd
.
PersistentFlags
()
.
StringP
(
"asset_symbol"
,
"s"
,
""
,
"asset symbol"
)
cmd
.
MarkFlagRequired
(
"asset_symbol"
)
cmd
.
PersistentFlags
()
.
Float64P
(
"total"
,
"t"
,
0
,
"total count of asset"
)
cmd
.
MarkFlagRequired
(
"total"
)
cmd
.
PersistentFlags
()
.
Int64P
(
"start_ts"
,
""
,
0
,
"effect, UTC timestamp"
)
//cmd.MarkFlagRequired("start_ts")
// board
cmd
.
AddCommand
(
ProposalBoardCmd
(),
RevokeProposalBoardCmd
(),
VoteProposalBoardCmd
(),
TerminateProposalBoardCmd
(),
ShowProposalBoardCmd
(),
)
return
cmd
}
func
checkAmount
(
amount
float64
)
error
{
if
amount
<
0
||
amount
>
float64
(
types
.
MaxCoin
/
types
.
Coin
)
{
return
types
.
ErrAmount
}
return
nil
}
func
getCreateFlags
(
cmd
*
cobra
.
Command
)
(
*
pty
.
autonomyCreate
,
error
)
{
beneficiary
,
_
:=
cmd
.
Flags
()
.
GetString
(
"beneficiary"
)
exec
,
_
:=
cmd
.
Flags
()
.
GetString
(
"asset_exec"
)
symbol
,
_
:=
cmd
.
Flags
()
.
GetString
(
"asset_symbol"
)
total
,
_
:=
cmd
.
Flags
()
.
GetFloat64
(
"total"
)
startTs
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"start_ts"
)
if
err
:=
checkAmount
(
total
);
err
!=
nil
{
return
nil
,
types
.
ErrAmount
}
totalInt64
:=
int64
(
math
.
Trunc
((
total
+
0.0000001
)
*
1e4
))
*
1e4
autonomy
:=
&
pty
.
autonomyCreate
{
StartTime
:
startTs
,
AssetExec
:
exec
,
AssetSymbol
:
symbol
,
TotalCount
:
totalInt64
,
Beneficiary
:
beneficiary
,
Means
:
""
,
}
return
autonomy
,
nil
}
func
fixAmountCmd
()
*
cobra
.
Command
{
// ProposalBoardCmd 创建提案命令
func
ProposalBoardCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"
fix_amount
"
,
Short
:
"create
fix amount means autonomy construct
"
,
Run
:
fixAmount
,
Use
:
"
proposalboard
"
,
Short
:
"create
proposal board
"
,
Run
:
proposalBoard
,
}
cmd
=
createFlag
(
cmd
)
cmd
.
Flags
()
.
Float64P
(
"amount"
,
"a"
,
0
,
"amount every period"
)
cmd
.
MarkFlagRequired
(
"amount"
)
cmd
.
Flags
()
.
Int64P
(
"period"
,
"p"
,
0
,
"period in second"
)
cmd
.
MarkFlagRequired
(
"period"
)
addProposalBoardFlags
(
cmd
)
return
cmd
}
func
fixAmount
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
create
,
err
:=
getCreateFlags
(
cmd
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
func
addProposalBoardFlags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
Int32P
(
"year"
,
"y"
,
0
,
"year"
)
cmd
.
Flags
()
.
Int32P
(
"month"
,
"m"
,
0
,
"month"
)
cmd
.
Flags
()
.
Int32P
(
"day"
,
"d"
,
0
,
"day"
)
cmd
.
Flags
()
.
Int64P
(
"startBlock"
,
"s"
,
0
,
"start block height"
)
cmd
.
MarkFlagRequired
(
"startBlock"
)
cmd
.
Flags
()
.
Int64P
(
"endBlock"
,
"e"
,
0
,
"end block height"
)
cmd
.
MarkFlagRequired
(
"endBlock"
)
amount
,
_
:=
cmd
.
Flags
()
.
GetFloat64
(
"amount"
)
if
err
=
checkAmount
(
amount
);
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
amountInt64
:=
int64
(
math
.
Trunc
((
amount
+
0.0000001
)
*
1e4
))
*
1e4
period
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"period"
)
cmd
.
Flags
()
.
StringP
(
"boards"
,
"b"
,
""
,
"addr1-addr2......addrN (3<=N<=30)"
)
cmd
.
MarkFlagRequired
(
"boards"
)
}
if
period
<=
0
{
fmt
.
Fprintf
(
os
.
Stderr
,
"period must be positive integer"
)
return
}
func
proposalBoard
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
year
,
_
:=
cmd
.
Flags
()
.
GetInt32
(
"year"
)
month
,
_
:=
cmd
.
Flags
()
.
GetInt32
(
"month"
)
day
,
_
:=
cmd
.
Flags
()
.
GetInt32
(
"day"
)
if
create
.
TotalCount
<=
amountInt64
{
fmt
.
Fprintf
(
os
.
Stderr
,
"total must bigger than amount"
)
return
}
startBlock
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"startBlock"
)
endBlock
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"endBlock"
)
boardstr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"gameName"
)
create
.
Means
=
pty
.
FixAmountX
create
.
MeansOpt
=
&
pty
.
autonomyCreate_FixAmount
{
FixAmount
:
&
pty
.
FixAmount
{
Period
:
period
,
Amount
:
amountInt64
}}
boards
:=
strings
.
Split
(
boardstr
,
"-"
)
params
:=
&
rpctypes
.
CreateTxIn
{
Execer
:
types
.
ExecName
(
pty
.
autonomyX
),
ActionName
:
"createautonomy"
,
Payload
:
types
.
MustPBToJSON
(
create
),
params
:=
&
auty
.
ProposalBoard
{
Year
:
year
,
Month
:
month
,
Day
:
day
,
Boards
:
boards
,
StartBlockHeight
:
startBlock
,
EndBlockHeight
:
endBlock
,
}
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
ctx
:=
json
client
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.CreateTransaction"
,
params
,
nil
)
var
res
string
ctx
:=
json
rpc
.
NewRPCCtx
(
rpcLaddr
,
"autonomy.PropBoardTx"
,
params
,
&
res
)
ctx
.
RunWithoutMarshal
()
}
func
leftCmd
()
*
cobra
.
Command
{
// RevokeProposalBoardCmd 撤销提案
func
RevokeProposalBoardCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"
left_proportion
"
,
Short
:
"
create left proportion means autonomy construct
"
,
Run
:
left
,
Use
:
"
revokeBoard
"
,
Short
:
"
revoke proposal board
"
,
Run
:
revokeProposalBoard
,
}
cmd
=
createFlag
(
cmd
)
cmd
.
Flags
()
.
Int64P
(
"ten_thousandth"
,
""
,
0
,
"input/10000 of total"
)
cmd
.
MarkFlagRequired
(
"amount"
)
cmd
.
Flags
()
.
Int64P
(
"period"
,
"p"
,
0
,
"period in second"
)
cmd
.
MarkFlagRequired
(
"period"
)
addRevokeProposalBoardFlags
(
cmd
)
return
cmd
}
func
left
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
create
,
err
:=
getCreateFlags
(
cmd
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
tenThousandth
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"ten_thousandth"
)
period
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"period"
)
create
.
Means
=
pty
.
LeftProportionX
create
.
MeansOpt
=
&
pty
.
autonomyCreate_LeftProportion
{
LeftProportion
:
&
pty
.
LeftProportion
{
Period
:
period
,
TenThousandth
:
tenThousandth
}}
if
period
<=
0
{
fmt
.
Fprintf
(
os
.
Stderr
,
"period must be positive interge"
)
return
}
if
tenThousandth
<=
0
||
tenThousandth
>=
10000
{
fmt
.
Fprintf
(
os
.
Stderr
,
"tenThousandth must be 0~10000"
)
return
}
params
:=
&
rpctypes
.
CreateTxIn
{
Execer
:
types
.
ExecName
(
pty
.
autonomyX
),
ActionName
:
pty
.
Action_Createautonomy
,
Payload
:
types
.
MustPBToJSON
(
create
),
}
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.CreateTransaction"
,
params
,
nil
)
ctx
.
RunWithoutMarshal
()
func
addRevokeProposalBoardFlags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
StringP
(
"proposalID"
,
"p"
,
""
,
"proposal ID"
)
cmd
.
MarkFlagRequired
(
"proposalID"
)
}
func
withdrawCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"withdraw"
,
Short
:
"withdraw asset from construct"
,
Run
:
withdraw
,
}
cmd
.
Flags
()
.
StringP
(
"id"
,
""
,
""
,
"autonomy construct id"
)
cmd
.
MarkFlagRequired
(
"id"
)
return
cmd
}
func
revokeProposalBoard
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
ID
,
_
:=
cmd
.
Flags
()
.
GetString
(
"proposalID"
)
func
terminateCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"terminate"
,
Short
:
"terminate construct"
,
Run
:
terminate
,
params
:=
&
auty
.
RevokeProposalBoard
{
ProposalID
:
ID
,
}
cmd
.
Flags
()
.
StringP
(
"id"
,
""
,
""
,
"autonomy construct id"
)
cmd
.
MarkFlagRequired
(
"id"
)
return
cmd
var
res
string
ctx
:=
jsonrpc
.
NewRPCCtx
(
rpcLaddr
,
"autonomy.RevokeProposalBoardTx"
,
params
,
&
res
)
ctx
.
RunWithoutMarshal
()
}
func
showCmd
()
*
cobra
.
Command
{
// RevokeProposalBoardCmd 撤销提案
func
VoteProposalBoardCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"
show
"
,
Short
:
"
show construct
"
,
Run
:
show
,
Use
:
"
voteBoard
"
,
Short
:
"
vote proposal board
"
,
Run
:
voteProposalBoard
,
}
cmd
.
Flags
()
.
StringP
(
"id"
,
""
,
""
,
"autonomy construct id"
)
cmd
.
MarkFlagRequired
(
"id"
)
addVoteProposalBoardFlags
(
cmd
)
return
cmd
}
func
queryWithdrawCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"show_withdraw"
,
Short
:
"show available withdraw amount of one autonomy construct"
,
Run
:
queryWithdraw
,
}
cmd
.
Flags
()
.
StringP
(
"id"
,
""
,
""
,
"autonomy construct id"
)
cmd
.
MarkFlagRequired
(
"id"
)
return
cmd
func
addVoteProposalBoardFlags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
StringP
(
"proposalID"
,
"p"
,
""
,
"proposal ID"
)
cmd
.
MarkFlagRequired
(
"proposalID"
)
cmd
.
Flags
()
.
BoolP
(
"approve"
,
"ap"
,
true
,
"is approve, default true"
)
}
func
withdraw
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
id
,
_
:=
cmd
.
Flags
()
.
GetString
(
"id"
)
params
:=
&
rpctypes
.
CreateTxIn
{
Execer
:
types
.
ExecName
(
pty
.
autonomyX
),
ActionName
:
pty
.
Action_Withdrawautonomy
,
Payload
:
types
.
MustPBToJSON
(
&
pty
.
autonomyWithdraw
{
autonomyID
:
id
}),
}
func
voteProposalBoard
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.CreateTransaction"
,
params
,
nil
)
ctx
.
RunWithoutMarshal
()
}
func
terminate
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
id
,
_
:=
cmd
.
Flags
()
.
GetString
(
"id"
)
ID
,
_
:=
cmd
.
Flags
()
.
GetString
(
"proposalID"
)
approve
,
_
:=
cmd
.
Flags
()
.
GetBool
(
"approve"
)
params
:=
&
rpctypes
.
CreateTxIn
{
Execer
:
types
.
ExecName
(
pty
.
autonomyX
),
ActionName
:
pty
.
Action_Terminateautonomy
,
Payload
:
types
.
MustPBToJSON
(
&
pty
.
autonomyTerminate
{
autonomyID
:
id
}),
params
:=
&
auty
.
VoteProposalBoard
{
ProposalID
:
ID
,
Approve
:
approve
,
}
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.CreateTransaction"
,
params
,
nil
)
var
res
string
ctx
:=
jsonrpc
.
NewRPCCtx
(
rpcLaddr
,
"autonomy.VoteProposalBoardTx"
,
params
,
&
res
)
ctx
.
RunWithoutMarshal
()
}
func
queryWithdraw
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
paraName
,
_
:=
cmd
.
Flags
()
.
GetString
(
"paraName"
)
id
,
_
:=
cmd
.
Flags
()
.
GetString
(
"id"
)
cli
,
err
:=
jsonclient
.
NewJSONClient
(
rpcLaddr
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
param
:=
&
rpctypes
.
Query4Jrpc
{
Execer
:
getRealExecName
(
paraName
,
pty
.
autonomyX
),
FuncName
:
"GetautonomyWithdraw"
,
Payload
:
types
.
MustPBToJSON
(
&
types
.
ReqString
{
Data
:
id
}),
}
var
resp
pty
.
ReplyQueryautonomyWithdraw
err
=
cli
.
Call
(
"Chain33.Query"
,
param
,
&
resp
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
// TerminateProposalBoard 撤销提案
func
TerminateProposalBoardCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"terminateBoard"
,
Short
:
"terminate proposal board"
,
Run
:
terminateProposalBoard
,
}
jsonOutput
(
&
resp
)
addTerminateProposalBoardFlags
(
cmd
)
return
cmd
}
func
show
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
paraName
,
_
:=
cmd
.
Flags
()
.
GetString
(
"paraName"
)
id
,
_
:=
cmd
.
Flags
()
.
GetString
(
"id"
)
cli
,
err
:=
jsonclient
.
NewJSONClient
(
rpcLaddr
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
param
:=
&
rpctypes
.
Query4Jrpc
{
Execer
:
getRealExecName
(
paraName
,
pty
.
autonomyX
),
FuncName
:
"Getautonomy"
,
Payload
:
types
.
MustPBToJSON
(
&
types
.
ReqString
{
Data
:
id
}),
}
var
resp
pty
.
autonomy
err
=
cli
.
Call
(
"Chain33.Query"
,
param
,
&
resp
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
jsonOutput
(
&
resp
)
func
addTerminateProposalBoardFlags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
StringP
(
"proposalID"
,
"p"
,
""
,
"proposal ID"
)
cmd
.
MarkFlagRequired
(
"proposalID"
)
}
func
getRealExecName
(
paraName
string
,
name
string
)
string
{
if
strings
.
HasPrefix
(
name
,
"user.p."
)
{
return
name
}
return
paraName
+
name
}
func
terminateProposalBoard
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
ID
,
_
:=
cmd
.
Flags
()
.
GetString
(
"proposalID"
)
func
jsonOutput
(
resp
types
.
Message
)
{
data
,
err
:=
types
.
PBToJSON
(
resp
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
var
buf
bytes
.
Buffer
err
=
json
.
Indent
(
&
buf
,
data
,
""
,
" "
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
params
:=
&
auty
.
RevokeProposalBoard
{
ProposalID
:
ID
,
}
fmt
.
Println
(
buf
.
String
())
var
res
string
ctx
:=
jsonrpc
.
NewRPCCtx
(
rpcLaddr
,
"autonomy.TerminateProposalBoardTx"
,
params
,
&
res
)
ctx
.
RunWithoutMarshal
()
}
func
listautonomyCmd
()
*
cobra
.
Command
{
// ShowProposalBoardCmd 显示提案查询信息
func
ShowProposalBoardCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"
list
"
,
Short
:
"
list autonomy
"
,
Run
:
listautonomy
,
Use
:
"
showInfo
"
,
Short
:
"
show proposal board info
"
,
Run
:
showProposalBoard
,
}
cmd
.
Flags
()
.
StringP
(
"last_key"
,
"l"
,
""
,
"last key"
)
cmd
.
Flags
()
.
Int32P
(
"count"
,
""
,
10
,
"list count"
)
cmd
.
Flags
()
.
Int32P
(
"direction"
,
"d"
,
0
,
"list direction: 0/1"
)
cmd
.
Flags
()
.
StringP
(
"create"
,
"c"
,
""
,
"list by creator"
)
cmd
.
Flags
()
.
StringP
(
"beneficiary"
,
"b"
,
""
,
"list by beneficiary"
)
addShowProposalBoardflags
(
cmd
)
return
cmd
}
func
listautonomy
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr
"
)
paraName
,
_
:=
cmd
.
Flags
()
.
GetString
(
"paraNam
e"
)
func
addShowProposalBoardflags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
Uint32P
(
"type"
,
"t"
,
0
,
"type
"
)
cmd
.
MarkFlagRequired
(
"typ
e"
)
create
,
_
:=
cmd
.
Flags
()
.
GetString
(
"create"
)
beneficiary
,
_
:=
cmd
.
Flags
()
.
GetString
(
"beneficiary"
)
if
(
len
(
create
)
==
0
&&
len
(
beneficiary
)
==
0
)
||
(
len
(
create
)
>
0
&&
len
(
beneficiary
)
>
0
)
{
fmt
.
Fprintln
(
os
.
Stderr
,
"must assign one of create or beneficiary"
)
return
}
funcName
:=
"ListautonomyByBeneficiary"
if
len
(
create
)
>
0
{
funcName
=
"ListautonomyByCreator"
}
cmd
.
Flags
()
.
Uint32P
(
"status"
,
"s"
,
0
,
"status"
)
cmd
.
Flags
()
.
Int32P
(
"count"
,
"c"
,
0
,
"count"
)
cmd
.
Flags
()
.
Int32P
(
"direction"
,
"d"
,
0
,
"direction"
)
cmd
.
Flags
()
.
Int64P
(
"index"
,
"i"
,
0
,
"index"
)
}
direction
,
_
:=
cmd
.
Flags
()
.
GetInt32
(
"direction"
)
func
showProposalBoard
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
typ
,
_
:=
cmd
.
Flags
()
.
GetUint32
(
"type"
)
status
,
_
:=
cmd
.
Flags
()
.
GetUint32
(
"status"
)
count
,
_
:=
cmd
.
Flags
()
.
GetInt32
(
"count"
)
last_key
,
_
:=
cmd
.
Flags
()
.
GetString
(
"last_key"
)
req
:=
&
pty
.
Reqautonomys
{
Direction
:
direction
,
Count
:
count
,
FromKey
:
last_key
,
Initiator
:
create
,
Beneficiary
:
beneficiary
,
}
param
:=
&
rpctypes
.
Query4Jrpc
{
Execer
:
getRealExecName
(
paraName
,
pty
.
autonomyX
),
FuncName
:
funcName
,
Payload
:
types
.
MustPBToJSON
(
req
),
}
cli
,
err
:=
jsonclient
.
NewJSONClient
(
rpcLaddr
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
var
resp
pty
.
Replyautonomys
err
=
cli
.
Call
(
"Chain33.Query"
,
param
,
&
resp
)
if
err
!=
nil
{
fmt
.
Fprintln
(
os
.
Stderr
,
err
)
return
}
jsonOutput
(
&
resp
)
direction
,
_
:=
cmd
.
Flags
()
.
GetInt32
(
"direction"
)
index
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"index"
)
var
params
rpctypes
.
Query4Jrpc
var
rep
interface
{}
params
.
Execer
=
auty
.
AutonomyX
if
0
==
typ
{
req
:=
auty
.
ReqQueryProposalBoard
{
Status
:
int32
(
status
),
Count
:
count
,
Direction
:
direction
,
Index
:
index
,
}
params
.
FuncName
=
auty
.
GetProposalBoard
params
.
Payload
=
types
.
MustPBToJSON
(
&
req
)
rep
=
&
auty
.
ReplyQueryProposalBoard
{}
}
ctx
:=
jsonrpc
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.Query"
,
params
,
rep
)
ctx
.
Run
()
}
plugin/dapp/autonomy/executor/board.go
View file @
58b5def0
...
...
@@ -8,6 +8,7 @@ import (
"github.com/33cn/chain33/system/dapp"
"github.com/33cn/chain33/types"
auty
"github.com/33cn/plugin/plugin/dapp/autonomy/types"
"fmt"
)
func
(
a
*
Autonomy
)
execLocalBoard
(
receiptData
*
types
.
ReceiptData
)
(
*
types
.
LocalDBSet
,
error
)
{
...
...
@@ -25,7 +26,7 @@ func (a *Autonomy) execLocalBoard(receiptData *types.ReceiptData) (*types.LocalD
if
err
!=
nil
{
return
nil
,
err
}
kv
:=
a
.
saveHeightIndex
(
&
receipt
)
kv
:=
saveHeightIndex
(
&
receipt
)
set
=
append
(
set
,
kv
...
)
}
default
:
...
...
@@ -36,7 +37,7 @@ func (a *Autonomy) execLocalBoard(receiptData *types.ReceiptData) (*types.LocalD
return
dbSet
,
nil
}
func
(
c
*
Autonomy
)
saveHeightIndex
(
res
*
auty
.
ReceiptProposalBoard
)
(
kvs
[]
*
types
.
KeyValue
)
{
func
saveHeightIndex
(
res
*
auty
.
ReceiptProposalBoard
)
(
kvs
[]
*
types
.
KeyValue
)
{
// 先将之前的状态删除掉,再做更新
if
res
.
Current
.
Status
>
1
{
kv
:=
&
types
.
KeyValue
{}
...
...
@@ -67,7 +68,7 @@ func (a *Autonomy) execDelLocalBoard(receiptData *types.ReceiptData) (*types.Loc
if
err
!=
nil
{
return
nil
,
err
}
kv
:=
a
.
delHeightIndex
(
&
receipt
)
kv
:=
delHeightIndex
(
&
receipt
)
set
=
append
(
set
,
kv
...
)
}
default
:
...
...
@@ -78,7 +79,7 @@ func (a *Autonomy) execDelLocalBoard(receiptData *types.ReceiptData) (*types.Loc
return
dbSet
,
nil
}
func
(
c
*
Autonomy
)
delHeightIndex
(
res
*
auty
.
ReceiptProposalBoard
)
(
kvs
[]
*
types
.
KeyValue
)
{
func
delHeightIndex
(
res
*
auty
.
ReceiptProposalBoard
)
(
kvs
[]
*
types
.
KeyValue
)
{
kv
:=
&
types
.
KeyValue
{}
kv
.
Key
=
calcBoardKey4StatusHeight
(
res
.
Current
.
Status
,
dapp
.
HeightIndexStr
(
res
.
Current
.
Height
,
int64
(
res
.
Current
.
Index
)))
kv
.
Value
=
nil
...
...
@@ -91,4 +92,45 @@ func (c *Autonomy) delHeightIndex(res *auty.ReceiptProposalBoard) (kvs []*types.
kvs
=
append
(
kvs
,
kv
)
}
return
kvs
}
// getProposalBoard
func
(
a
*
Autonomy
)
getProposalBoard
(
req
*
auty
.
ReqQueryProposalBoard
)
(
types
.
Message
,
error
)
{
if
req
==
nil
{
return
nil
,
types
.
ErrInvalidParam
}
var
key
[]
byte
var
values
[][]
byte
var
err
error
localDb
:=
a
.
GetLocalDB
()
if
req
.
GetIndex
()
==
-
1
{
key
=
nil
}
else
{
//翻页查找指定的txhash列表
heightstr
:=
genHeightIndexStr
(
req
.
GetIndex
())
key
=
calcBoardKey4StatusHeight
(
req
.
Status
,
heightstr
)
}
prefix
:=
calcBoardKey4StatusHeight
(
req
.
Status
,
""
)
values
,
err
=
localDb
.
List
(
prefix
,
key
,
req
.
Count
,
req
.
GetDirection
())
if
err
!=
nil
{
return
nil
,
err
}
if
len
(
values
)
==
0
{
return
nil
,
types
.
ErrNotFound
}
var
rep
auty
.
ReplyQueryProposalBoard
for
_
,
value
:=
range
values
{
prop
:=
&
auty
.
AutonomyProposalBoard
{}
err
=
types
.
Decode
(
value
,
prop
)
if
err
!=
nil
{
return
nil
,
err
}
rep
.
ProBoards
=
append
(
rep
.
ProBoards
,
prop
)
}
return
&
rep
,
nil
}
func
genHeightIndexStr
(
index
int64
)
string
{
return
fmt
.
Sprintf
(
"%018d"
,
index
)
}
\ No newline at end of file
plugin/dapp/autonomy/executor/query.go
View file @
58b5def0
...
...
@@ -5,14 +5,11 @@
package
executor
import
(
"time"
dbm
"github.com/33cn/chain33/common/db"
"github.com/33cn/chain33/types"
auty
"github.com/33cn/plugin/plugin/dapp/autonomy/types"
)
// Query_GetUnfreezeWithdraw 查询合约可提币量
func
(
u
*
Unfreeze
)
Query_GetUnfreezeWithdraw
(
in
*
types
.
ReqString
)
(
types
.
Message
,
error
)
{
return
QueryWithdraw
(
u
.
GetStateDB
(),
in
.
GetData
()
)
func
(
a
*
Autonomy
)
Query_GetProposalBoard
(
in
*
auty
.
ReqQueryProposalBoard
)
(
types
.
Message
,
error
)
{
return
a
.
getProposalBoard
(
in
)
}
\ No newline at end of file
plugin/dapp/autonomy/plugin.go
View file @
58b5def0
...
...
@@ -17,7 +17,7 @@ func init() {
Name
:
ptypes
.
PackageName
,
ExecName
:
executor
.
GetName
(),
Exec
:
executor
.
Init
,
Cmd
:
commands
.
Cmd
,
Cmd
:
commands
.
Autonomy
Cmd
,
RPC
:
rpc
.
Init
,
})
}
plugin/dapp/autonomy/proto/autonomy.proto
View file @
58b5def0
...
...
@@ -31,10 +31,4 @@ message AutonomyAction {
TerminateProposalRule
tmintPropRule
=
12
;
}
int32
ty
=
13
;
}
service
autonomy
{
rpc
QueryProposalBoard
(
ReplyQueryProposalBoard
)
returns
(
ReplyProposalBoard
)
{}
rpc
QueryProposalProject
(
ReplyQueryProposalProject
)
returns
(
ReplyProposalProject
)
{}
rpc
QueryProposalRule
(
ReplyQueryProposalRule
)
returns
(
ReplyProposalRule
)
{}
}
\ No newline at end of file
plugin/dapp/autonomy/proto/board.proto
View file @
58b5def0
...
...
@@ -61,10 +61,14 @@ message LocalProposalBoard {
}
// query
message
ReplyQueryProposalBoard
{
string
proposalID
=
1
;
message
ReqQueryProposalBoard
{
//优先根据status查询
int32
status
=
1
;
int32
count
=
2
;
int32
direction
=
3
;
int64
index
=
4
;
}
message
ReplyProposalBoard
{
repeated
LocalProposalBoard
propBoards
=
1
;
message
Reply
Query
ProposalBoard
{
repeated
AutonomyProposalBoard
proBoards
=
1
;
}
\ No newline at end of file
plugin/dapp/autonomy/rpc/jrpc.go
View file @
58b5def0
...
...
@@ -38,6 +38,19 @@ func (c *Jrpc) RevokeProposalBoardTx(parm *auty.RevokeProposalBoard, result *int
return
nil
}
// VoteProposalBoardTx 投票提案董事会成员的RPC接口
func
(
c
*
Jrpc
)
VoteProposalBoardTx
(
parm
*
auty
.
VoteProposalBoard
,
result
*
interface
{})
error
{
if
parm
==
nil
{
return
types
.
ErrInvalidParam
}
reply
,
err
:=
c
.
cli
.
voteProposalBoard
(
context
.
Background
(),
parm
)
if
err
!=
nil
{
return
err
}
*
result
=
hex
.
EncodeToString
(
reply
.
Data
)
return
nil
}
// TerminateProposalBoardTx 终止提案董事会成员的RPC接口
func
(
c
*
Jrpc
)
TerminateProposalBoardTx
(
parm
*
auty
.
TerminateProposalBoard
,
result
*
interface
{})
error
{
if
parm
==
nil
{
...
...
plugin/dapp/autonomy/rpc/rpc.go
View file @
58b5def0
...
...
@@ -42,6 +42,21 @@ func (c *channelClient) revokeProposalBoard(ctx context.Context, head *auty.Revo
return
&
types
.
UnsignTx
{
Data
:
data
},
nil
}
func
(
c
*
channelClient
)
voteProposalBoard
(
ctx
context
.
Context
,
head
*
auty
.
VoteProposalBoard
)
(
*
types
.
UnsignTx
,
error
)
{
val
:=
&
auty
.
AutonomyAction
{
Ty
:
auty
.
AutonomyActionVotePropBoard
,
Value
:
&
auty
.
AutonomyAction_VotePropBoard
{
VotePropBoard
:
head
},
}
tx
:=
&
types
.
Transaction
{
Payload
:
types
.
Encode
(
val
),
}
data
,
err
:=
types
.
FormatTxEncode
(
types
.
ExecName
(
auty
.
AutonomyX
),
tx
)
if
err
!=
nil
{
return
nil
,
err
}
return
&
types
.
UnsignTx
{
Data
:
data
},
nil
}
func
(
c
*
channelClient
)
terminateProposalBoard
(
ctx
context
.
Context
,
head
*
auty
.
TerminateProposalBoard
)
(
*
types
.
UnsignTx
,
error
)
{
val
:=
&
auty
.
AutonomyAction
{
Ty
:
auty
.
AutonomyActionTmintPropBoard
,
...
...
plugin/dapp/autonomy/types/autonomy.pb.go
View file @
58b5def0
...
...
@@ -20,8 +20,8 @@ It has these top-level messages:
TerminateProposalBoard
ReceiptProposalBoard
LocalProposalBoard
ReqQueryProposalBoard
ReplyQueryProposalBoard
ReplyProposalBoard
VotesResult
VotesRecord
AutonomyProposalProject
...
...
@@ -47,11 +47,6 @@ import proto "github.com/golang/protobuf/proto"
import
fmt
"fmt"
import
math
"math"
import
(
context
"golang.org/x/net/context"
grpc
"google.golang.org/grpc"
)
// Reference imports to suppress errors if they are not otherwise used.
var
_
=
proto
.
Marshal
var
_
=
fmt
.
Errorf
...
...
@@ -507,174 +502,31 @@ func init() {
proto
.
RegisterType
((
*
AutonomyAction
)(
nil
),
"types.AutonomyAction"
)
}
// Reference imports to suppress errors if they are not otherwise used.
var
_
context
.
Context
var
_
grpc
.
ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const
_
=
grpc
.
SupportPackageIsVersion4
// Client API for Autonomy service
type
AutonomyClient
interface
{
QueryProposalBoard
(
ctx
context
.
Context
,
in
*
ReplyQueryProposalBoard
,
opts
...
grpc
.
CallOption
)
(
*
ReplyProposalBoard
,
error
)
QueryProposalProject
(
ctx
context
.
Context
,
in
*
ReplyQueryProposalProject
,
opts
...
grpc
.
CallOption
)
(
*
ReplyProposalProject
,
error
)
QueryProposalRule
(
ctx
context
.
Context
,
in
*
ReplyQueryProposalRule
,
opts
...
grpc
.
CallOption
)
(
*
ReplyProposalRule
,
error
)
}
type
autonomyClient
struct
{
cc
*
grpc
.
ClientConn
}
func
NewAutonomyClient
(
cc
*
grpc
.
ClientConn
)
AutonomyClient
{
return
&
autonomyClient
{
cc
}
}
func
(
c
*
autonomyClient
)
QueryProposalBoard
(
ctx
context
.
Context
,
in
*
ReplyQueryProposalBoard
,
opts
...
grpc
.
CallOption
)
(
*
ReplyProposalBoard
,
error
)
{
out
:=
new
(
ReplyProposalBoard
)
err
:=
grpc
.
Invoke
(
ctx
,
"/types.autonomy/QueryProposalBoard"
,
in
,
out
,
c
.
cc
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
func
(
c
*
autonomyClient
)
QueryProposalProject
(
ctx
context
.
Context
,
in
*
ReplyQueryProposalProject
,
opts
...
grpc
.
CallOption
)
(
*
ReplyProposalProject
,
error
)
{
out
:=
new
(
ReplyProposalProject
)
err
:=
grpc
.
Invoke
(
ctx
,
"/types.autonomy/QueryProposalProject"
,
in
,
out
,
c
.
cc
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
func
(
c
*
autonomyClient
)
QueryProposalRule
(
ctx
context
.
Context
,
in
*
ReplyQueryProposalRule
,
opts
...
grpc
.
CallOption
)
(
*
ReplyProposalRule
,
error
)
{
out
:=
new
(
ReplyProposalRule
)
err
:=
grpc
.
Invoke
(
ctx
,
"/types.autonomy/QueryProposalRule"
,
in
,
out
,
c
.
cc
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
// Server API for Autonomy service
type
AutonomyServer
interface
{
QueryProposalBoard
(
context
.
Context
,
*
ReplyQueryProposalBoard
)
(
*
ReplyProposalBoard
,
error
)
QueryProposalProject
(
context
.
Context
,
*
ReplyQueryProposalProject
)
(
*
ReplyProposalProject
,
error
)
QueryProposalRule
(
context
.
Context
,
*
ReplyQueryProposalRule
)
(
*
ReplyProposalRule
,
error
)
}
func
RegisterAutonomyServer
(
s
*
grpc
.
Server
,
srv
AutonomyServer
)
{
s
.
RegisterService
(
&
_Autonomy_serviceDesc
,
srv
)
}
func
_Autonomy_QueryProposalBoard_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
ReplyQueryProposalBoard
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
if
interceptor
==
nil
{
return
srv
.
(
AutonomyServer
)
.
QueryProposalBoard
(
ctx
,
in
)
}
info
:=
&
grpc
.
UnaryServerInfo
{
Server
:
srv
,
FullMethod
:
"/types.autonomy/QueryProposalBoard"
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
AutonomyServer
)
.
QueryProposalBoard
(
ctx
,
req
.
(
*
ReplyQueryProposalBoard
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_Autonomy_QueryProposalProject_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
ReplyQueryProposalProject
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
if
interceptor
==
nil
{
return
srv
.
(
AutonomyServer
)
.
QueryProposalProject
(
ctx
,
in
)
}
info
:=
&
grpc
.
UnaryServerInfo
{
Server
:
srv
,
FullMethod
:
"/types.autonomy/QueryProposalProject"
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
AutonomyServer
)
.
QueryProposalProject
(
ctx
,
req
.
(
*
ReplyQueryProposalProject
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_Autonomy_QueryProposalRule_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
ReplyQueryProposalRule
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
if
interceptor
==
nil
{
return
srv
.
(
AutonomyServer
)
.
QueryProposalRule
(
ctx
,
in
)
}
info
:=
&
grpc
.
UnaryServerInfo
{
Server
:
srv
,
FullMethod
:
"/types.autonomy/QueryProposalRule"
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
AutonomyServer
)
.
QueryProposalRule
(
ctx
,
req
.
(
*
ReplyQueryProposalRule
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
var
_Autonomy_serviceDesc
=
grpc
.
ServiceDesc
{
ServiceName
:
"types.autonomy"
,
HandlerType
:
(
*
AutonomyServer
)(
nil
),
Methods
:
[]
grpc
.
MethodDesc
{
{
MethodName
:
"QueryProposalBoard"
,
Handler
:
_Autonomy_QueryProposalBoard_Handler
,
},
{
MethodName
:
"QueryProposalProject"
,
Handler
:
_Autonomy_QueryProposalProject_Handler
,
},
{
MethodName
:
"QueryProposalRule"
,
Handler
:
_Autonomy_QueryProposalRule_Handler
,
},
},
Streams
:
[]
grpc
.
StreamDesc
{},
Metadata
:
"autonomy.proto"
,
}
func
init
()
{
proto
.
RegisterFile
(
"autonomy.proto"
,
fileDescriptor0
)
}
var
fileDescriptor0
=
[]
byte
{
// 436 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x84
,
0x94
,
0xcf
,
0xae
,
0xd2
,
0x40
,
0x14
,
0xc6
,
0x4b
,
0xb5
,
0x5c
,
0xee
,
0x29
,
0xad
,
0x7a
,
0xbc
,
0x31
,
0xbd
,
0xd5
,
0xab
,
0xa4
,
0x2b
,
0x56
,
0x24
,
0xa2
,
0x2b
,
0x13
,
0x0d
,
0x10
,
0xa2
,
0x6c
,
0x34
,
0xd0
,
0x18
,
0x5d
,
0x17
,
0x9c
,
0x05
,
0x52
,
0x3a
,
0xcd
,
0x30
,
0x6d
,
0xd2
,
0x17
,
0xf0
,
0xad
,
0x7c
,
0xb7
,
0x9b
,
0x0e
,
0xd3
,
0x3f
,
0xd3
,
0x96
,
0xb0
,
0x83
,
0x7e
,
0xe7
,
0xf7
,
0xcb
,
0x7c
,
0x67
,
0xd2
,
0x82
,
0x1d
,
0x24
,
0x9c
,
0x46
,
0xf4
,
0x98
,
0x4d
,
0x62
,
0x46
,
0x39
,
0x45
,
0x83
,
0x67
,
0x31
,
0x39
,
0xb9
,
0xe6
,
0x96
,
0x06
,
0xec
,
0xcf
,
0xf9
,
0x99
,
0x6b
,
0xc5
,
0x8c
,
0xfe
,
0x25
,
0x3b
,
0x2e
,
0xff
,
0x02
,
0x4b
,
0x42
,
0x72
,
0xfe
,
0xed
,
0xfd
,
0xef
,
0x83
,
0x3d
,
0x97
,
0x86
,
0xf9
,
0x8e
,
0xef
,
0x69
,
0x84
,
0x1f
,
0xe1
,
0x36
,
0x66
,
0x34
,
0x5e
,
0xe4
,
0x02
,
0xa7
,
0x37
,
0xea
,
0x8d
,
0xcd
,
0xe9
,
0xdd
,
0x44
,
0x58
,
0x27
,
0x6b
,
0x46
,
0x63
,
0x7a
,
0x0a
,
0x42
,
0x91
,
0xad
,
0x34
,
0xbf
,
0x1a
,
0xc4
,
0x19
,
0x0c
,
0x59
,
0x7a
,
0x58
,
0x97
,
0xa0
,
0x2e
,
0x40
,
0x57
,
0x82
,
0x3e
,
0x49
,
0xe9
,
0x81
,
0x34
,
0x71
,
0x85
,
0xc0
,
0x19
,
0x58
,
0x29
,
0xe5
,
0xa4
,
0x52
,
0x3c
,
0x11
,
0x0a
,
0x47
,
0x2a
,
0x7e
,
0xc9
,
0xac
,
0x2e
,
0x50
,
0x01
,
0xfc
,
0x06
,
0x36
,
0x3f
,
0xee
,
0x23
,
0x5e
,
0x29
,
0x9e
,
0x0a
,
0xc5
,
0x83
,
0x54
,
0xfc
,
0x24
,
0xec
,
0xb8
,
0x8f
,
0x82
,
0xb6
,
0xa7
,
0x81
,
0xe1
,
0x27
,
0x30
,
0xf3
,
0x66
,
0xeb
,
0xf3
,
0xda
,
0x1c
,
0x43
,
0x58
,
0x5e
,
0x35
,
0x96
,
0x20
,
0xd3
,
0x95
,
0xe6
,
0xd7
,
0x87
,
0xf1
,
0x2b
,
0xd8
,
0xb2
,
0x56
,
0x81
,
0xf7
,
0x05
,
0xfe
,
0xa6
,
0x73
,
0x15
,
0x95
,
0xa4
,
0x41
,
0xe1
,
0x12
,
0x9e
,
0x15
,
0xed
,
0x0a
,
0xd1
,
0xcd
,
0xd5
,
0x85
,
0x34
,
0x11
,
0xfc
,
0x0e
,
0xcf
,
0xcb
,
0x6e
,
0x85
,
0x66
,
0x20
,
0x34
,
0xef
,
0x2e
,
0x2d
,
0xa5
,
0x3a
,
0x52
,
0x0b
,
0xc5
,
0xf7
,
0x30
,
0xc8
,
0xbb
,
0xfa
,
0x49
,
0x48
,
0x9c
,
0x5b
,
0xa1
,
0x79
,
0xd9
,
0xd8
,
0x4a
,
0x1e
,
0xad
,
0x34
,
0xbf
,
0x1c
,
0xc3
,
0xcf
,
0x60
,
0xca
,
0x66
,
0x82
,
0x02
,
0x41
,
0xdd
,
0x77
,
0x2e
,
0x43
,
0xb2
,
0xf5
,
0x79
,
0xfc
,
0x02
,
0xc3
,
0xa2
,
0x93
,
0xe0
,
0xcd
,
0xab
,
0x3b
,
0x50
,
0xe6
,
0x71
,
0x09
,
0x56
,
0xd9
,
0x42
,
0x08
,
0x86
,
0xca
,
0x6d
,
0xb4
,
0xda
,
0xcb
,
0x33
,
0xa8
,
0x10
,
0xda
,
0xa0
,
0xf3
,
0xcc
,
0xb1
,
0x46
,
0xbd
,
0xb1
,
0xe1
,
0xeb
,
0x3c
,
0x5b
,
0xdc
,
0x80
,
0x91
,
0x06
,
0x61
,
0x42
,
0xa6
,
0xff
,
0x74
,
0x18
,
0x14
,
0x6f
,
0x20
,
0x6e
,
0x00
,
0x37
,
0x09
,
0x61
,
0x99
,
0x72
,
0x22
,
0x7c
,
0x5b
,
0x76
,
0x8d
,
0xc3
,
0xac
,
0x9d
,
0xbb
,
0xf7
,
0xf5
,
0x5c
,
0x89
,
0x3c
,
0x0d
,
0x7f
,
0xc3
,
0x9d
,
0x82
,
0x14
,
0x17
,
0x31
,
0xba
,
0x28
,
0x95
,
0x13
,
0xee
,
0xeb
,
0x2e
,
0xad
,
0x0c
,
0x3d
,
0x0d
,
0x7f
,
0xc0
,
0x0b
,
0x05
,
0x13
,
0x35
,
0x1f
,
0x2e
,
0x5a
,
0xf3
,
0xd8
,
0x75
,
0xba
,
0x94
,
0x79
,
0xe2
,
0x69
,
0xdb
,
0xbe
,
0xf8
,
0x9e
,
0x7c
,
0x78
,
0x0c
,
0x00
,
0x00
,
0xff
,
0xff
,
0x9d
,
0xc2
,
0xca
,
0x38
,
0x90
,
0x04
,
0x00
,
0x00
,
// 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
,
}
plugin/dapp/autonomy/types/board.pb.go
View file @
58b5def0
...
...
@@ -244,34 +244,59 @@ func (m *LocalProposalBoard) GetComments() []string {
}
// query
type
ReplyQueryProposalBoard
struct
{
ProposalID
string
`protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
type
ReqQueryProposalBoard
struct
{
// 优先根据status查询
Status
int32
`protobuf:"varint,1,opt,name=status" json:"status,omitempty"`
Count
int32
`protobuf:"varint,2,opt,name=count" json:"count,omitempty"`
Direction
int32
`protobuf:"varint,3,opt,name=direction" json:"direction,omitempty"`
Index
int64
`protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
}
func
(
m
*
Re
plyQueryProposalBoard
)
Reset
()
{
*
m
=
Reply
QueryProposalBoard
{}
}
func
(
m
*
Re
ply
QueryProposalBoard
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Re
ply
QueryProposalBoard
)
ProtoMessage
()
{}
func
(
*
Re
ply
QueryProposalBoard
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor1
,
[]
int
{
7
}
}
func
(
m
*
Re
qQueryProposalBoard
)
Reset
()
{
*
m
=
Req
QueryProposalBoard
{}
}
func
(
m
*
Re
q
QueryProposalBoard
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Re
q
QueryProposalBoard
)
ProtoMessage
()
{}
func
(
*
Re
q
QueryProposalBoard
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor1
,
[]
int
{
7
}
}
func
(
m
*
Re
plyQueryProposalBoard
)
GetProposalID
()
string
{
func
(
m
*
Re
qQueryProposalBoard
)
GetStatus
()
int32
{
if
m
!=
nil
{
return
m
.
ProposalID
return
m
.
Status
}
return
""
return
0
}
type
ReplyProposalBoard
struct
{
PropBoards
[]
*
LocalProposalBoard
`protobuf:"bytes,1,rep,name=propBoards" json:"propBoards,omitempty"`
func
(
m
*
ReqQueryProposalBoard
)
GetCount
()
int32
{
if
m
!=
nil
{
return
m
.
Count
}
return
0
}
func
(
m
*
ReplyProposalBoard
)
Reset
()
{
*
m
=
ReplyProposalBoard
{}
}
func
(
m
*
ReplyProposalBoard
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyProposalBoard
)
ProtoMessage
()
{}
func
(
*
ReplyProposalBoard
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor1
,
[]
int
{
8
}
}
func
(
m
*
ReqQueryProposalBoard
)
GetDirection
()
int32
{
if
m
!=
nil
{
return
m
.
Direction
}
return
0
}
func
(
m
*
ReqQueryProposalBoard
)
GetIndex
()
int64
{
if
m
!=
nil
{
return
m
.
Index
}
return
0
}
type
ReplyQueryProposalBoard
struct
{
ProBoards
[]
*
AutonomyProposalBoard
`protobuf:"bytes,1,rep,name=proBoards" json:"proBoards,omitempty"`
}
func
(
m
*
ReplyQueryProposalBoard
)
Reset
()
{
*
m
=
ReplyQueryProposalBoard
{}
}
func
(
m
*
ReplyQueryProposalBoard
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReplyQueryProposalBoard
)
ProtoMessage
()
{}
func
(
*
ReplyQueryProposalBoard
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor1
,
[]
int
{
8
}
}
func
(
m
*
Reply
ProposalBoard
)
GetPropBoards
()
[]
*
Local
ProposalBoard
{
func
(
m
*
Reply
QueryProposalBoard
)
GetProBoards
()
[]
*
Autonomy
ProposalBoard
{
if
m
!=
nil
{
return
m
.
Pro
p
Boards
return
m
.
ProBoards
}
return
nil
}
...
...
@@ -284,42 +309,44 @@ func init() {
proto
.
RegisterType
((
*
TerminateProposalBoard
)(
nil
),
"types.TerminateProposalBoard"
)
proto
.
RegisterType
((
*
ReceiptProposalBoard
)(
nil
),
"types.ReceiptProposalBoard"
)
proto
.
RegisterType
((
*
LocalProposalBoard
)(
nil
),
"types.LocalProposalBoard"
)
proto
.
RegisterType
((
*
ReqQueryProposalBoard
)(
nil
),
"types.ReqQueryProposalBoard"
)
proto
.
RegisterType
((
*
ReplyQueryProposalBoard
)(
nil
),
"types.ReplyQueryProposalBoard"
)
proto
.
RegisterType
((
*
ReplyProposalBoard
)(
nil
),
"types.ReplyProposalBoard"
)
}
func
init
()
{
proto
.
RegisterFile
(
"board.proto"
,
fileDescriptor1
)
}
var
fileDescriptor1
=
[]
byte
{
// 467 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x94
,
0x53
,
0x5d
,
0x8b
,
0xd4
,
0x30
,
0x14
,
0xa5
,
0x76
,
0xda
,
0xd9
,
0xb9
,
0xc3
,
0xca
,
0x1a
,
0xc7
,
0xb5
,
0x2e
,
0x22
,
0xa5
,
0x88
,
0x14
,
0x1f
,
0x06
,
0x19
,
0x3f
,
0x70
,
0x1f
,
0x1d
,
0x14
,
0x14
,
0x14
,
0x35
,
0x88
,
0xef
,
0xd9
,
0xf6
,
0xea
,
0x0c
,
0xdb
,
0x36
,
0x21
,
0x49
,
0x07
,
0xfb
,
0xe6
,
0x5f
,
0xf4
,
0x57
,
0xf8
,
0x37
,
0x24
,
0xb7
,
0x19
,
0x9d
,
0xba
,
0x83
,
0x38
,
0x6f
,
0x39
,
0x37
,
0xe7
,
0x24
,
0xe7
,
0x26
,
0xe7
,
0xc2
,
0xf4
,
0x42
,
0x0a
,
0x5d
,
0xce
,
0x95
,
0x96
,
0x56
,
0xb2
,
0xc8
,
0x76
,
0x0a
,
0xcd
,
0xd9
,
0x71
,
0x55
,
0xc8
,
0xba
,
0x96
,
0x4d
,
0x5f
,
0xcd
,
0x7e
,
0x04
,
0x70
,
0xeb
,
0x45
,
0x6b
,
0x65
,
0x23
,
0xeb
,
0xee
,
0x83
,
0x96
,
0x4a
,
0x1a
,
0x51
,
0x2d
,
0x9d
,
0x8a
,
0x2d
,
0x60
,
0xa2
,
0xb4
,
0x54
,
0x04
,
0x92
,
0x20
,
0x0d
,
0xf2
,
0xe9
,
0x62
,
0x36
,
0xa7
,
0x33
,
0xe6
,
0x03
,
0x22
,
0xff
,
0x43
,
0x63
,
0xf7
,
0x21
,
0xd4
,
0x68
,
0x92
,
0x6b
,
0xc4
,
0x66
,
0x9e
,
0xfd
,
0x59
,
0x5a
,
0x34
,
0x1c
,
0x4d
,
0x5b
,
0x59
,
0xee
,
0xb6
,
0xd9
,
0x29
,
0xc4
,
0xc6
,
0x0a
,
0xdb
,
0x9a
,
0x24
,
0x4c
,
0x83
,
0x3c
,
0xe2
,
0x1e
,
0xb1
,
0x04
,
0xc6
,
0xa2
,
0x2c
,
0x35
,
0x1a
,
0x93
,
0x8c
,
0xd2
,
0x20
,
0x9f
,
0xf0
,
0x2d
,
0x74
,
0x8a
,
0x15
,
0xae
,
0xbf
,
0xae
,
0x6c
,
0x12
,
0xa5
,
0x41
,
0x1e
,
0x72
,
0x8f
,
0xd8
,
0x0c
,
0xa2
,
0x75
,
0x53
,
0xe2
,
0xb7
,
0x24
,
0xa6
,
0x83
,
0x7a
,
0x90
,
0xfd
,
0x0c
,
0xe0
,
0x78
,
0xd8
,
0x0b
,
0x83
,
0x51
,
0x87
,
0x42
,
0x53
,
0x1b
,
0x11
,
0xa7
,
0xb5
,
0xd3
,
0xd6
,
0xb2
,
0xb1
,
0x2b
,
0x72
,
0x1b
,
0xf1
,
0x1e
,
0xb0
,
0x13
,
0x08
,
0x4b
,
0xd1
,
0x79
,
0x63
,
0x6e
,
0xe9
,
0xee
,
0xa6
,
0x67
,
0x74
,
0xa6
,
0xc2
,
0x7c
,
0xc2
,
0x3d
,
0x62
,
0x0f
,
0xe1
,
0xc4
,
0x58
,
0xa1
,
0xed
,
0xb2
,
0x92
,
0xc5
,
0xe5
,
0xeb
,
0x5d
,
0x77
,
0x57
,
0xea
,
0xec
,
0x01
,
0x5c
,
0xc7
,
0xa6
,
0xdc
,
0x65
,
0xc6
,
0xc4
,
0xfc
,
0xab
,
0xca
,
0xe6
,
0xc0
,
0x34
,
0x8a
,
0xea
,
0xd5
,
0x90
,
0x3b
,
0x26
,
0xee
,
0x9e
,
0x9d
,
0xec
,
0x29
,
0xdc
,
0xe4
,
0xb8
,
0x91
,
0x97
,
0x38
,
0x6c
,
0xf7
,
0x1e
,
0x80
,
0xf2
,
0x85
,
0x37
,
0x2f
,
0xa9
,
0xe9
,
0x09
,
0xdf
,
0xa9
,
0x64
,
0xef
,
0xe0
,
0x86
,
0xfb
,
0x94
,
0x83
,
0x44
,
0xf4
,
0x3b
,
0x4a
,
0x69
,
0xb9
,
0x41
,
0x7a
,
0xb1
,
0x23
,
0xbe
,
0x85
,
0xd9
,
0x73
,
0x38
,
0xfd
,
0x84
,
0xba
,
0x5e
,
0x37
,
0xe2
,
0xc0
,
0x33
,
0xb3
,
0xef
,
0x01
,
0xcc
,
0x38
,
0x16
,
0xb8
,
0x56
,
0x76
,
0x28
,
0x7c
,
0x04
,
0x23
,
0xa5
,
0x71
,
0xe3
,
0x73
,
0x77
,
0xd7
,
0x27
,
0x69
,
0x6f
,
0x50
,
0x39
,
0x31
,
0xd9
,
0x33
,
0x18
,
0x17
,
0xad
,
0xd6
,
0xd8
,
0x58
,
0x1f
,
0xbf
,
0x7f
,
0x8b
,
0xb6
,
0xe4
,
0xec
,
0x0b
,
0xb0
,
0xb7
,
0xb2
,
0x10
,
0xd5
,
0xf0
,
0xfe
,
0x27
,
0x10
,
0x53
,
0xaa
,
0xcb
,
0xff
,
0x72
,
0xe0
,
0xb9
,
0xec
,
0x0c
,
0x8e
,
0xdc
,
0x70
,
0x61
,
0x63
,
0xdd
,
0x0c
,
0xb8
,
0xb0
,
0xfc
,
0xc6
,
0xd9
,
0x39
,
0xdc
,
0xe6
,
0xa8
,
0xaa
,
0xee
,
0x63
,
0x8b
,
0xba
,
0x3b
,
0xec
,
0x95
,
0xde
,
0x03
,
0x23
,
0xe9
,
0x50
,
0x75
,
0xde
,
0xab
,
0x96
,
0x7d
,
0x36
,
0x83
,
0x34
,
0xcc
,
0xa7
,
0x8b
,
0x3b
,
0xde
,
0xe6
,
0xd5
,
0x8e
,
0xf8
,
0x0e
,
0xf9
,
0x22
,
0xa6
,
0xd9
,
0x7f
,
0xfc
,
0x2b
,
0x00
,
0x00
,
0xff
,
0xff
,
0x3b
,
0xd3
,
0xb7
,
0x34
,
0x20
,
0x04
,
0x00
,
0x00
,
// 498 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x94
,
0x54
,
0x5d
,
0x8b
,
0xd4
,
0x30
,
0x14
,
0x25
,
0x76
,
0x3a
,
0xb3
,
0xbd
,
0xcb
,
0xca
,
0x1a
,
0x67
,
0xd7
,
0xb2
,
0x2c
,
0x52
,
0x8a
,
0x48
,
0xf1
,
0x61
,
0x90
,
0xf5
,
0x03
,
0xf1
,
0xcd
,
0x41
,
0x41
,
0x41
,
0x41
,
0x83
,
0xfa
,
0x9e
,
0x6d
,
0xaf
,
0x4e
,
0xd9
,
0xb6
,
0x89
,
0x49
,
0x3a
,
0xd8
,
0x37
,
0xff
,
0xa2
,
0xbf
,
0xc2
,
0xbf
,
0x21
,
0x49
,
0x33
,
0x76
,
0xba
,
0x0e
,
0xba
,
0xfb
,
0xd6
,
0x73
,
0x73
,
0x6e
,
0x72
,
0x4f
,
0x72
,
0x4e
,
0x61
,
0xff
,
0x5c
,
0x70
,
0x55
,
0x2c
,
0xa4
,
0x12
,
0x46
,
0xd0
,
0xd0
,
0x74
,
0x12
,
0xf5
,
0xc9
,
0x41
,
0x95
,
0x8b
,
0xba
,
0x16
,
0x4d
,
0x5f
,
0x4d
,
0x7f
,
0x12
,
0x38
,
0x7a
,
0xd1
,
0x1a
,
0xd1
,
0x88
,
0xba
,
0x7b
,
0xaf
,
0x84
,
0x14
,
0x9a
,
0x57
,
0x4b
,
0xdb
,
0x45
,
0xcf
,
0x20
,
0x92
,
0x4a
,
0x48
,
0x07
,
0x62
,
0x92
,
0x90
,
0x6c
,
0xff
,
0x6c
,
0xbe
,
0x70
,
0x7b
,
0x2c
,
0x46
,
0x44
,
0x36
,
0xd0
,
0xe8
,
0x3d
,
0x08
,
0x14
,
0xea
,
0xf8
,
0x86
,
0x63
,
0x53
,
0xcf
,
0xfe
,
0x2c
,
0x0c
,
0x6a
,
0x86
,
0xba
,
0xad
,
0x0c
,
0xb3
,
0xcb
,
0xf4
,
0x18
,
0xa6
,
0xda
,
0x70
,
0xd3
,
0xea
,
0x38
,
0x48
,
0x48
,
0x16
,
0x32
,
0x8f
,
0x68
,
0x0c
,
0x33
,
0x5e
,
0x14
,
0x0a
,
0xb5
,
0x8e
,
0x27
,
0x09
,
0xc9
,
0x22
,
0xb6
,
0x81
,
0xb6
,
0x63
,
0x85
,
0xe5
,
0xd7
,
0x95
,
0x89
,
0xc3
,
0x84
,
0x64
,
0x01
,
0xf3
,
0x88
,
0xce
,
0x21
,
0x2c
,
0x9b
,
0x02
,
0xbf
,
0xc7
,
0x53
,
0xb7
,
0x51
,
0x0f
,
0xd2
,
0x5f
,
0x04
,
0x0e
,
0xc6
,
0x5a
,
0x28
,
0x4c
,
0x3a
,
0xe4
,
0xca
,
0xc9
,
0x08
,
0x99
,
0xfb
,
0xb6
,
0xbd
,
0xb5
,
0x68
,
0xcc
,
0xca
,
0x4d
,
0x1b
,
0xb2
,
0x1e
,
0xd0
,
0x43
,
0x08
,
0x0a
,
0xde
,
0xf9
,
0xc1
,
0xec
,
0xa7
,
0x3d
,
0xdb
,
0x5d
,
0xa3
,
0x1d
,
0x2a
,
0xc8
,
0x22
,
0xe6
,
0x11
,
0x7d
,
0x00
,
0x87
,
0xda
,
0x70
,
0x65
,
0x96
,
0x95
,
0xc8
,
0x2f
,
0x5e
,
0x6f
,
0x4f
,
0xf7
,
0x57
,
0x9d
,
0xde
,
0x87
,
0x9b
,
0xd8
,
0x14
,
0xdb
,
0xcc
,
0xa9
,
0x63
,
0x5e
,
0xaa
,
0xd2
,
0x05
,
0x50
,
0x85
,
0xbc
,
0x7a
,
0x35
,
0xe6
,
0xce
,
0x1c
,
0x77
,
0xc7
,
0x4a
,
0xfa
,
0x04
,
0x6e
,
0x33
,
0x5c
,
0x8b
,
0x0b
,
0x1c
,
0xcb
,
0xbd
,
0x0b
,
0x20
,
0x7d
,
0xe1
,
0xcd
,
0x4b
,
0x27
,
0x3a
,
0x62
,
0x5b
,
0x95
,
0xf4
,
0x1d
,
0xdc
,
0xb2
,
0x8f
,
0x72
,
0xad
,
0x26
,
0xf7
,
0x3a
,
0x52
,
0x2a
,
0xb1
,
0x46
,
0x77
,
0x63
,
0x7b
,
0x6c
,
0x03
,
0xd3
,
0x67
,
0x70
,
0xfc
,
0x11
,
0x55
,
0x5d
,
0x36
,
0xfc
,
0x9a
,
0x7b
,
0xa6
,
0x3f
,
0x08
,
0xcc
,
0x19
,
0xe6
,
0x58
,
0x4a
,
0x33
,
0x6e
,
0x7c
,
0x08
,
0x13
,
0xa9
,
0x70
,
0xed
,
0x7d
,
0x77
,
0xea
,
0x9d
,
0xb4
,
0xd3
,
0xa8
,
0xcc
,
0x31
,
0xe9
,
0x53
,
0x98
,
0xe5
,
0xad
,
0x52
,
0xd8
,
0x18
,
0x6f
,
0xbf
,
0x7f
,
0x37
,
0x6d
,
0xc8
,
0xe9
,
0x17
,
0xa0
,
0x6f
,
0x45
,
0xce
,
0xab
,
0xf1
,
0xf9
,
0x8f
,
0x61
,
0xea
,
0x5c
,
0x5d
,
0x5c
,
0x69
,
0x02
,
0xcf
,
0xa5
,
0x27
,
0xb0
,
0x67
,
0xc3
,
0x85
,
0x8d
,
0xb1
,
0x19
,
0xb0
,
0x66
,
0xf9
,
0x83
,
0xd3
,
0x0e
,
0x8e
,
0x18
,
0x7e
,
0xfb
,
0xd0
,
0xa2
,
0xba
,
0x94
,
0xb3
,
0x21
,
0x0d
,
0x64
,
0x94
,
0x86
,
0x39
,
0x84
,
0xb9
,
0x68
,
0xbd
,
0x9c
,
0x90
,
0xf5
,
0x80
,
0x9e
,
0x42
,
0x54
,
0x94
,
0x0a
,
0x73
,
0x53
,
0x8a
,
0xc6
,
0xbb
,
0x74
,
0x28
,
0x0c
,
0x79
,
0x98
,
0x38
,
0xcb
,
0xf8
,
0x3c
,
0x7c
,
0x82
,
0x3b
,
0x0c
,
0x65
,
0xd5
,
0xed
,
0x38
,
0xfc
,
0xb9
,
0x0b
,
0xf9
,
0xb2
,
0xf7
,
0x37
,
0x49
,
0x82
,
0xff
,
0x4a
,
0x1d
,
0xe8
,
0xe7
,
0x53
,
0xf7
,
0x07
,
0x79
,
0xf4
,
0x3b
,
0x00
,
0x00
,
0xff
,
0xff
,
0x83
,
0xda
,
0x5e
,
0xb4
,
0x66
,
0x04
,
0x00
,
0x00
,
}
plugin/dapp/autonomy/types/const.go
View file @
58b5def0
...
...
@@ -70,12 +70,15 @@ const (
)
const
(
// FuncNameQueryProposalBoard 查询方法名
FuncNameQueryProposalBoard
=
"QueryProposalBoard"
FuncNameQueryProposalProject
=
"QueryProposalProject"
FuncNameQueryProposalRule
=
"QueryProposalRule"
// GetProposalBoard 用于在cmd里面的区分不同的查询
GetProposalBoard
=
"GetProposalBoard"
// GetProposalProject 用于在cmd里面的区分不同的查询
GetProposalProject
=
"GetProposalProject"
// GetProposalRule 用于在cmd里面的区分不同的查询
GetProposalRule
=
"GetProposalRule"
)
//包的名字可以通过配置文件来配置
//建议用github的组织名称,或者用户名字开头, 再加上自己的插件的名字
//如果发生重名,可以通过配置文件修改这些名字
...
...
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