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
499f1612
Commit
499f1612
authored
Nov 05, 2020
by
QM
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
平行链监督节点组,不维护组的状态,只维护当个节点的状态
parent
3d524381
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
125 additions
and
292 deletions
+125
-292
parablssign.go
plugin/consensus/para/parablssign.go
+1
-1
testcase.sh
plugin/dapp/paracross/cmd/build/testcase.sh
+2
-15
test-rpc.sh
plugin/dapp/paracross/cmd/test/test-rpc.sh
+1
-2
paracross.go
plugin/dapp/paracross/commands/paracross.go
+19
-42
action.go
plugin/dapp/paracross/executor/action.go
+0
-6
exec.go
plugin/dapp/paracross/executor/exec.go
+3
-3
exec_del_local.go
plugin/dapp/paracross/executor/exec_del_local.go
+4
-19
exec_local.go
plugin/dapp/paracross/executor/exec_local.go
+4
-17
kv.go
plugin/dapp/paracross/executor/kv.go
+9
-23
paracross.go
plugin/dapp/paracross/executor/paracross.go
+1
-1
paracross_test.go
plugin/dapp/paracross/executor/paracross_test.go
+2
-2
query.go
plugin/dapp/paracross/executor/query.go
+11
-23
reward.go
plugin/dapp/paracross/executor/reward.go
+12
-1
superaccount.go
plugin/dapp/paracross/executor/superaccount.go
+1
-1
supervisionaccount.go
plugin/dapp/paracross/executor/supervisionaccount.go
+9
-80
supervisionaccount_test.go
plugin/dapp/paracross/executor/supervisionaccount_test.go
+3
-9
paracross.proto
plugin/dapp/paracross/proto/paracross.proto
+3
-3
paracross.go
plugin/dapp/paracross/types/paracross.go
+5
-8
paracross.pb.go
plugin/dapp/paracross/types/paracross.pb.go
+0
-0
type.go
plugin/dapp/paracross/types/type.go
+35
-36
No files found.
plugin/consensus/para/parablssign.go
View file @
499f1612
...
...
@@ -281,7 +281,7 @@ func (b *blsClient) sendAggregateTx(nodes []string) error {
func
(
b
*
blsClient
)
rcvCommitTx
(
tx
*
types
.
Transaction
)
error
{
if
!
b
.
isValidNodes
(
tx
.
From
())
{
plog
.
Error
(
"rcvCommitTx is not valid node"
,
"addr"
,
tx
.
From
())
plog
.
Error
(
"rcvCommitTx is not valid node"
,
"addr"
,
tx
.
From
()
,
"typeNode"
,
b
.
typeNode
)
return
pt
.
ErrParaNodeAddrNotExisted
}
...
...
plugin/dapp/paracross/cmd/build/testcase.sh
View file @
499f1612
...
...
@@ -793,24 +793,14 @@ function para_create_nodegroup() {
# $1 status, $2 hash
function
check_supervision_node_group_list
()
{
newid
=
$(${
PARA_CLI
}
para supervision_node list
-s
"
$1
"
| jq
-r
".ids[0].id"
)
newid
=
$(${
PARA_CLI
}
para supervision_node
id_
list
-s
"
$1
"
| jq
-r
".ids[0].id"
)
if
[
"
$newid
"
!=
"
$2
"
]
;
then
${
PARA_CLI
}
para supervision_node list
-s
"
$1
"
${
PARA_CLI
}
para supervision_node
id_
list
-s
"
$1
"
echo
"cancel status error "
exit
1
fi
}
# $1 status
function
check_supervision_node_group_status
()
{
status
=
$(${
PARA_CLI
}
para supervision_node status | jq
-r
".status"
)
if
[
"
$status
"
!=
"
$1
"
]
;
then
${
PARA_CLI
}
para supervision_node status
echo
"status
$status
not eq target status
$1
"
exit
1
fi
}
# $1 status $2 addr
function
check_supervision_node_addr_status
()
{
status
=
$(${
PARA_CLI
}
para supervision_node addr_status
-a
"
$2
"
| jq
-r
".status"
)
...
...
@@ -874,7 +864,6 @@ function para_create_supervision_nodegroup_quit() {
check_supervision_node_addr_status 2
"
$ADDR_25
"
check_supervision_node_group_list 2
"
$id
"
check_supervision_node_group_status 2
check_supervision_node_addrs
"
$ADDR_25
"
echo
"=========== # para chain quit supervision node group 25 ============="
...
...
@@ -885,7 +874,6 @@ function para_create_supervision_nodegroup_quit() {
check_balance_1ka
"
$balancePre
"
-6
check_supervision_node_group_list 3
"
$id
"
check_supervision_node_group_status 3
check_supervision_node_addr_status 3
"
$ADDR_25
"
check_supervision_node_addrs null
echo
"=========== #
${
FUNCNAME
}
end ============="
...
...
@@ -910,7 +898,6 @@ function para_create_supervision_nodegroup_approve() {
query_tx
"
${
PARA_CLI
}
"
"
${
txhash
}
"
check_supervision_node_group_list 2
"
$id
"
check_supervision_node_group_status 2
check_supervision_node_addr_status 2
"
$ADDR_28
"
check_supervision_node_addrs
"
$ADDR_28
"
...
...
plugin/dapp/paracross/cmd/test/test-rpc.sh
View file @
499f1612
...
...
@@ -236,8 +236,7 @@ function paracross_ListNodeStatus() {
function
paracross_GetSupervisionInfo
()
{
chain33_Http
'{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"GetSupervisionNodeGroupAddrs","payload":{"title":"user.p.para."}}]}'
${
UNIT_HTTP
}
'(.error|not) and (.result| [has("key","value"),true])'
"GetSupervisionNodeGroupAddrs"
chain33_Http
'{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"GetSupervisionNodeGroupStatus","payload":{"title":"user.p.para."}}]}'
${
UNIT_HTTP
}
'(.error|not) and (.result| [has("status"),true])'
"GetSupervisionNodeGroupStatus"
chain33_Http
'{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"ListSupervisionNodeGroupStatus","payload":{"title":"user.p.para.","status":2}}]}'
${
UNIT_HTTP
}
'(.error|not) and (.result| [has("status"),true])'
"ListSupervisionNodeGroupStatus status:2"
chain33_Http
'{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"ListSupervisionNodeGroupStatus","payload":{"title":"user.p.para.","status":3}}]}'
${
UNIT_HTTP
}
'(.error|not) and (.result| [has("status"),true])'
"ListSupervisionNodeGroupStatus status:3"
chain33_Http
'{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"ListSupervisionNodeStatusInfo","payload":{"title":"user.p.para.","status":0}}]}'
${
UNIT_HTTP
}
'(.error|not) and (.result| [has("status"),true])'
"ListSupervisionNodeStatusInfo status:0"
}
para_test_addr
=
"1MAuE8QSbbech3bVKK2JPJJxYxNtT95oSU"
...
...
plugin/dapp/paracross/commands/paracross.go
View file @
499f1612
...
...
@@ -1167,7 +1167,6 @@ func GetBlockInfoCmd() *cobra.Command {
func
addLocalBlockBodyCmdFlags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
Int64P
(
"start"
,
"t"
,
0
,
"block height,-1:latest height"
)
_
=
cmd
.
MarkFlagRequired
(
"start"
)
}
func
localBlockInfo
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
...
...
@@ -1197,7 +1196,6 @@ func GetLocalBlockInfoCmd() *cobra.Command {
func
addParaBodyCmdFlags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
Int64P
(
"height"
,
"g"
,
0
,
"height to para chain"
)
_
=
cmd
.
MarkFlagRequired
(
"height"
)
}
func
paraInfo
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
...
...
@@ -1525,8 +1523,7 @@ func supervisionNodeCmd() *cobra.Command {
cmd
.
AddCommand
(
supervisionNodeCancelCmd
())
cmd
.
AddCommand
(
getSupervisionNodeGroupAddrsCmd
())
cmd
.
AddCommand
(
supervisionNodeGroupStatusCmd
())
cmd
.
AddCommand
(
supervisionNodeGroupListCmd
())
cmd
.
AddCommand
(
supervisionNodeListInfoCmd
())
cmd
.
AddCommand
(
getSupervisionNodeInfoCmd
())
return
cmd
...
...
@@ -1565,7 +1562,7 @@ func supervisionNodeApply(cmd *cobra.Command, args []string) {
payload
:=
&
pt
.
ParaNodeAddrConfig
{
Title
:
paraName
,
Op
:
1
,
Addr
:
addr
,
BlsPubKey
:
blspub
,
CoinsFrozen
:
int64
(
math
.
Trunc
((
coins
+
0.0000001
)
*
1e4
))
*
1e4
}
params
:=
&
rpctypes
.
CreateTxIn
{
Execer
:
getRealExecName
(
paraName
,
pt
.
ParaX
),
ActionName
:
"SupervisionNode
Group
Config"
,
ActionName
:
"SupervisionNodeConfig"
,
Payload
:
types
.
MustPBToJSON
(
payload
),
}
...
...
@@ -1605,7 +1602,7 @@ func supervisionNodeApprove(cmd *cobra.Command, args []string) {
payload
:=
&
pt
.
ParaNodeAddrConfig
{
Title
:
paraName
,
Op
:
2
,
Id
:
id
,
CoinsFrozen
:
int64
(
math
.
Trunc
((
coins
+
0.0000001
)
*
1e4
))
*
1e4
}
params
:=
&
rpctypes
.
CreateTxIn
{
Execer
:
getRealExecName
(
paraName
,
pt
.
ParaX
),
ActionName
:
"SupervisionNode
Group
Config"
,
ActionName
:
"SupervisionNodeConfig"
,
Payload
:
types
.
MustPBToJSON
(
payload
),
}
...
...
@@ -1639,7 +1636,7 @@ func supervisionNodeQuit(cmd *cobra.Command, args []string) {
payload
:=
&
pt
.
ParaNodeAddrConfig
{
Title
:
paraName
,
Op
:
3
,
Addr
:
opAddr
}
params
:=
&
rpctypes
.
CreateTxIn
{
Execer
:
getRealExecName
(
paraName
,
pt
.
ParaX
),
ActionName
:
"SupervisionNode
Group
Config"
,
ActionName
:
"SupervisionNodeConfig"
,
Payload
:
types
.
MustPBToJSON
(
payload
),
}
...
...
@@ -1673,7 +1670,7 @@ func supervisionNodeCancel(cmd *cobra.Command, args []string) {
payload
:=
&
pt
.
ParaNodeAddrConfig
{
Title
:
paraName
,
Op
:
4
,
Id
:
id
}
params
:=
&
rpctypes
.
CreateTxIn
{
Execer
:
getRealExecName
(
paraName
,
pt
.
ParaX
),
ActionName
:
"SupervisionNode
Group
Config"
,
ActionName
:
"SupervisionNodeConfig"
,
Payload
:
types
.
MustPBToJSON
(
payload
),
}
...
...
@@ -1706,58 +1703,38 @@ func supervisionNodeGroup(cmd *cobra.Command, args []string) {
ctx
.
Run
()
}
func
supervisionNodeGroupStatusCmd
()
*
cobra
.
Command
{
// supervisionNodeListInfoCmd get node list by status
func
supervisionNodeListInfoCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"status"
,
Short
:
"query supervision node group apply status by title"
,
Run
:
supervisionNodeGroupStatus
,
}
return
cmd
}
func
supervisionNodeGroupStatus
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
paraName
,
_
:=
cmd
.
Flags
()
.
GetString
(
"paraName"
)
var
params
rpctypes
.
Query4Jrpc
params
.
Execer
=
pt
.
ParaX
params
.
FuncName
=
"GetSupervisionNodeGroupStatus"
req
:=
pt
.
ReqParacrossNodeInfo
{
Title
:
paraName
}
params
.
Payload
=
types
.
MustPBToJSON
(
&
req
)
var
res
pt
.
ParaNodeGroupStatus
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.Query"
,
params
,
&
res
)
ctx
.
Run
()
}
func
supervisionNodeGroupListCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"list"
,
Short
:
"query supervision node group apply list by status"
,
Run
:
supervisionNodeGroupList
,
Use
:
"id_list"
,
Short
:
"Get supervision node apply id list info by status"
,
Run
:
supervisionNodeListInfo
,
}
getSupervisionNode
GroupList
CmdFlags
(
cmd
)
getSupervisionNode
ListInfo
CmdFlags
(
cmd
)
return
cmd
}
func
getSupervisionNode
GroupList
CmdFlags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
Int32P
(
"status"
,
"s"
,
0
,
"status:
2:approve, 3:quit
"
)
func
getSupervisionNode
ListInfo
CmdFlags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
Int32P
(
"status"
,
"s"
,
0
,
"status:
0:all,1:joining,2:quiting,3:closed,4:canceled
"
)
_
=
cmd
.
MarkFlagRequired
(
"status"
)
}
func
supervisionNode
GroupList
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
func
supervisionNode
ListInfo
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
paraName
,
_
:=
cmd
.
Flags
()
.
GetString
(
"paraName"
)
status
,
_
:=
cmd
.
Flags
()
.
GetInt32
(
"status"
)
var
params
rpctypes
.
Query4Jrpc
params
.
Execer
=
pt
.
ParaX
params
.
FuncName
=
"ListSupervisionNode
GroupStatus
"
params
.
FuncName
=
"ListSupervisionNode
StatusInfo
"
req
:=
pt
.
ReqParacrossNodeInfo
{
Title
:
paraName
,
Status
:
status
,
}
params
.
Payload
=
types
.
MustPBToJSON
(
&
req
)
var
res
pt
.
RespParacrossNode
Group
s
var
res
pt
.
RespParacrossNode
Addr
s
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.Query"
,
params
,
&
res
)
ctx
.
Run
()
}
...
...
plugin/dapp/paracross/executor/action.go
View file @
499f1612
...
...
@@ -774,7 +774,6 @@ func (a *action) commitTxDone(nodeStatus *pt.ParacrossNodeStatus, stat *pt.Parac
func
(
a
*
action
)
commitTxDoneStep2
(
nodeStatus
*
pt
.
ParacrossNodeStatus
,
stat
*
pt
.
ParacrossHeightStatus
,
titleStatus
*
pt
.
ParacrossStatus
)
(
*
types
.
Receipt
,
error
)
{
receipt
:=
&
types
.
Receipt
{}
titleStatus
.
Title
=
nodeStatus
.
Title
titleStatus
.
Height
=
nodeStatus
.
Height
titleStatus
.
BlockHash
=
nodeStatus
.
BlockHash
...
...
@@ -1547,8 +1546,3 @@ func (a *action) TransferToExec(transfer *types.AssetsTransferToExec, tx *types.
}
return
nil
,
types
.
ErrToAddrNotSameToExecAddr
}
func
getParacrossSupervisonNodes
(
db
dbm
.
KV
,
title
string
)
(
map
[
string
]
struct
{},
[]
string
,
error
)
{
key
:=
calcParaSupervisionNodeGroupAddrsKey
(
title
)
return
getNodes
(
db
,
key
)
}
plugin/dapp/paracross/executor/exec.go
View file @
499f1612
...
...
@@ -126,8 +126,8 @@ func (e *Paracross) Exec_ParaBindMiner(payload *pt.ParaBindMinerCmd, tx *types.T
return
a
.
bindMiner
(
payload
)
}
//Exec_SupervisionNode
Group
Config exec Supervision node config
func
(
e
*
Paracross
)
Exec_SupervisionNode
Group
Config
(
payload
*
pt
.
ParaNodeAddrConfig
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
//Exec_SupervisionNodeConfig exec Supervision node config
func
(
e
*
Paracross
)
Exec_SupervisionNodeConfig
(
payload
*
pt
.
ParaNodeAddrConfig
,
tx
*
types
.
Transaction
,
index
int
)
(
*
types
.
Receipt
,
error
)
{
a
:=
newAction
(
e
,
tx
)
return
a
.
SupervisionNode
Group
Config
(
payload
)
return
a
.
SupervisionNodeConfig
(
payload
)
}
plugin/dapp/paracross/executor/exec_del_local.go
View file @
499f1612
...
...
@@ -97,7 +97,6 @@ func (e *Paracross) ExecDelLocal_NodeConfig(payload *pt.ParaNodeAddrConfig, tx *
}
set
.
KV
=
append
(
set
.
KV
,
r
.
KV
...
)
}
}
}
return
&
set
,
nil
...
...
@@ -138,24 +137,10 @@ func (e *Paracross) ExecDelLocal_NodeGroupConfig(payload *pt.ParaNodeGroupConfig
return
&
set
,
nil
}
// ExecDelLocal_NodeGroupConfig node group config tx delete process
func
(
e
*
Paracross
)
ExecDelLocal_SupervisionNodeGroupConfig
(
payload
*
pt
.
ParaNodeAddrConfig
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
e
*
Paracross
)
ExecDelLocal_SupervisionNodeConfig
(
payload
*
pt
.
ParaNodeAddrConfig
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
var
set
types
.
LocalDBSet
for
_
,
log
:=
range
receiptData
.
Logs
{
if
log
.
Ty
==
pt
.
TyLogParaSupervisionNodeGroupStatusUpdate
{
var
g
pt
.
ReceiptParaNodeGroupConfig
err
:=
types
.
Decode
(
log
.
Log
,
&
g
)
if
err
!=
nil
{
return
nil
,
err
}
if
g
.
Prev
!=
nil
{
set
.
KV
=
append
(
set
.
KV
,
&
types
.
KeyValue
{
Key
:
calcLocalSupervisionNodeGroupStatusTitle
(
g
.
Prev
.
Status
,
g
.
Current
.
Title
,
g
.
Current
.
Id
),
Value
:
types
.
Encode
(
g
.
Prev
)})
}
set
.
KV
=
append
(
set
.
KV
,
&
types
.
KeyValue
{
Key
:
calcLocalSupervisionNodeGroupStatusTitle
(
g
.
Current
.
Status
,
g
.
Current
.
Title
,
g
.
Current
.
Id
),
Value
:
nil
})
}
else
if
log
.
Ty
==
pt
.
TyLogParaSupervisionNodeConfig
{
if
log
.
Ty
==
pt
.
TyLogParaSupervisionNodeConfig
{
var
g
pt
.
ReceiptParaNodeConfig
err
:=
types
.
Decode
(
log
.
Log
,
&
g
)
if
err
!=
nil
{
...
...
@@ -163,11 +148,11 @@ func (e *Paracross) ExecDelLocal_SupervisionNodeGroupConfig(payload *pt.ParaNode
}
if
g
.
Prev
!=
nil
{
set
.
KV
=
append
(
set
.
KV
,
&
types
.
KeyValue
{
Key
:
calcLocalSupervisionNodeStatusTitle
(
g
.
Prev
.
Status
,
g
.
Current
.
Title
,
g
.
Current
.
TargetAddr
,
g
.
Current
.
Id
),
Value
:
types
.
Encode
(
g
.
Prev
)})
Key
:
calcLocalSupervisionNodeStatusTitle
(
g
.
Current
.
Title
,
g
.
Prev
.
Status
,
g
.
Current
.
TargetAddr
,
g
.
Current
.
Id
),
Value
:
types
.
Encode
(
g
.
Prev
)})
}
set
.
KV
=
append
(
set
.
KV
,
&
types
.
KeyValue
{
Key
:
calcLocalSupervisionNodeStatusTitle
(
g
.
Current
.
Status
,
g
.
Current
.
Title
,
g
.
Current
.
TargetAddr
,
g
.
Current
.
Id
),
Value
:
nil
})
Key
:
calcLocalSupervisionNodeStatusTitle
(
g
.
Current
.
Title
,
g
.
Current
.
Status
,
g
.
Current
.
TargetAddr
,
g
.
Current
.
Id
),
Value
:
nil
})
}
}
return
&
set
,
nil
...
...
plugin/dapp/paracross/executor/exec_local.go
View file @
499f1612
...
...
@@ -140,23 +140,10 @@ func (e *Paracross) ExecLocal_NodeGroupConfig(payload *pt.ParaNodeGroupConfig, t
return
&
set
,
nil
}
func
(
e
*
Paracross
)
ExecLocal_SupervisionNode
Group
Config
(
payload
*
pt
.
ParaNodeAddrConfig
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
e
*
Paracross
)
ExecLocal_SupervisionNodeConfig
(
payload
*
pt
.
ParaNodeAddrConfig
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
var
set
types
.
LocalDBSet
for
_
,
log
:=
range
receiptData
.
Logs
{
if
log
.
Ty
==
pt
.
TyLogParaSupervisionNodeGroupStatusUpdate
{
var
g
pt
.
ReceiptParaNodeGroupConfig
err
:=
types
.
Decode
(
log
.
Log
,
&
g
)
if
err
!=
nil
{
return
nil
,
err
}
if
g
.
Prev
!=
nil
{
set
.
KV
=
append
(
set
.
KV
,
&
types
.
KeyValue
{
Key
:
calcLocalSupervisionNodeGroupStatusTitle
(
g
.
Prev
.
Status
,
g
.
Current
.
Title
,
g
.
Current
.
Id
),
Value
:
nil
})
}
set
.
KV
=
append
(
set
.
KV
,
&
types
.
KeyValue
{
Key
:
calcLocalSupervisionNodeGroupStatusTitle
(
g
.
Current
.
Status
,
g
.
Current
.
Title
,
g
.
Current
.
Id
),
Value
:
types
.
Encode
(
g
.
Current
)})
}
else
if
log
.
Ty
==
pt
.
TyLogParaSupervisionNodeConfig
{
if
log
.
Ty
==
pt
.
TyLogParaSupervisionNodeConfig
{
var
g
pt
.
ReceiptParaNodeConfig
err
:=
types
.
Decode
(
log
.
Log
,
&
g
)
if
err
!=
nil
{
...
...
@@ -164,11 +151,11 @@ func (e *Paracross) ExecLocal_SupervisionNodeGroupConfig(payload *pt.ParaNodeAdd
}
if
g
.
Prev
!=
nil
{
set
.
KV
=
append
(
set
.
KV
,
&
types
.
KeyValue
{
Key
:
calcLocalSupervisionNodeStatusTitle
(
g
.
Prev
.
Status
,
g
.
Current
.
Title
,
g
.
Current
.
TargetAddr
,
g
.
Current
.
Id
),
Value
:
types
.
Encode
(
g
.
Prev
)
})
Key
:
calcLocalSupervisionNodeStatusTitle
(
g
.
Current
.
Title
,
g
.
Prev
.
Status
,
g
.
Current
.
TargetAddr
,
g
.
Current
.
Id
),
Value
:
nil
})
}
set
.
KV
=
append
(
set
.
KV
,
&
types
.
KeyValue
{
Key
:
calcLocalSupervisionNodeStatusTitle
(
g
.
Current
.
Status
,
g
.
Current
.
Title
,
g
.
Current
.
TargetAddr
,
g
.
Current
.
Id
),
Value
:
nil
})
Key
:
calcLocalSupervisionNodeStatusTitle
(
g
.
Current
.
Title
,
g
.
Current
.
Status
,
g
.
Current
.
TargetAddr
,
g
.
Current
.
Id
),
Value
:
types
.
Encode
(
g
.
Current
)
})
}
}
return
&
set
,
nil
...
...
plugin/dapp/paracross/executor/kv.go
View file @
499f1612
...
...
@@ -40,12 +40,9 @@ var (
paraBindMinderNode
string
//监督节点
paraSupervisionNodes
string
paraSupervisionNodeGroupStatusAddrs
string
paraSupervisionNodeIDPrefix
string
localSupervisionNodeGroupStatusTitle
string
localSupervisionNodeStatusTitle
string
paraSupervisionNodes
string
paraSupervisionNodeIDPrefix
string
localSupervisionNodeStatusTitle
string
)
func
setPrefix
()
{
...
...
@@ -76,10 +73,7 @@ func setPrefix() {
localNodeGroupStatusTitle
=
"LODB-paracross-nodegroupStatusTitle-"
paraSupervisionNodes
=
"mavl-paracross-supervision-nodes-title-"
paraSupervisionNodeGroupStatusAddrs
=
"mavl-paracross-supervision-nodegroup-status-title-"
paraSupervisionNodeIDPrefix
=
"mavl-paracross-title-nodeid-supervision-"
localSupervisionNodeGroupStatusTitle
=
"LODB-paracross-supervision-nodegroupStatusTitle-"
localSupervisionNodeStatusTitle
=
"LODB-paracross-supervision-nodeStatusTitle-"
}
...
...
@@ -201,20 +195,16 @@ func calcLocalNodeGroupAllPrefix() []byte {
return
[]
byte
(
fmt
.
Sprintf
(
localNodeGroupStatusTitle
))
}
func
calcLocalSupervisionNodeGroupStatusTitle
(
status
int32
,
title
,
id
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
localSupervisionNodeGroupStatusTitle
+
"%02d-%s-%s"
,
status
,
title
,
id
))
}
func
calcLocalSupervisionNodeGroupStatusPrefix
(
status
int32
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
localSupervisionNodeGroupStatusTitle
+
"%02d-"
,
status
))
func
calcLocalSupervisionNodeStatusTitle
(
title
string
,
status
int32
,
addr
,
id
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
localSupervisionNodeStatusTitle
+
"%s-%02d-%s-%s-%s"
,
title
,
status
,
addr
,
id
))
}
func
calcLocalSupervisionNode
GroupAllPrefix
(
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
localSupervisionNode
GroupStatusTitle
))
func
calcLocalSupervisionNode
StatusTitlePrefix
(
title
string
,
status
int32
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
localSupervisionNode
StatusTitle
+
"%s-%02d"
,
title
,
status
))
}
func
calcLocalSupervisionNodeStatusTitle
(
status
int32
,
addr
,
title
,
id
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
localSupervisionNodeStatusTitle
+
"%s-
%02d-%s-%s"
,
addr
,
status
,
title
,
id
))
func
calcLocalSupervisionNodeStatusTitle
AllPrefix
(
title
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
localSupervisionNodeStatusTitle
+
"%s-
"
,
title
))
}
//bind miner
...
...
@@ -230,10 +220,6 @@ func calcParaSupervisionNodeGroupAddrsKey(title string) []byte {
return
[]
byte
(
fmt
.
Sprintf
(
paraSupervisionNodes
+
"%s"
,
title
))
}
func
calcParaSupervisionNodeGroupStatusKey
(
title
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
paraSupervisionNodeGroupStatusAddrs
+
"%s"
,
title
))
}
func
calcParaSupervisionNodeIDKey
(
title
,
hash
string
)
string
{
return
fmt
.
Sprintf
(
paraSupervisionNodeIDPrefix
+
"%s-%s"
,
title
,
hash
)
}
plugin/dapp/paracross/executor/paracross.go
View file @
499f1612
...
...
@@ -356,7 +356,7 @@ func (c *Paracross) allow(tx *types.Transaction, index int) error {
}
}
if
cfg
.
IsDappFork
(
c
.
GetHeight
(),
pt
.
ParaX
,
pt
.
ForkParaSupervision
)
{
if
payload
.
Ty
==
pt
.
ParacrossActionSupervisionNode
Group
Config
{
if
payload
.
Ty
==
pt
.
ParacrossActionSupervisionNodeConfig
{
return
nil
}
}
...
...
plugin/dapp/paracross/executor/paracross_test.go
View file @
499f1612
...
...
@@ -302,8 +302,8 @@ func checkCommitReceipt(suite *CommitTestSuite, receipt *types.Receipt, commitCn
func
checkDoneReceipt
(
suite
suite
.
Suite
,
receipt
*
types
.
Receipt
,
commitCnt
int
)
{
assert
.
Equal
(
suite
.
T
(),
receipt
.
Ty
,
int32
(
types
.
ExecOk
))
assert
.
Len
(
suite
.
T
(),
receipt
.
KV
,
6
)
assert
.
Len
(
suite
.
T
(),
receipt
.
Logs
,
6
)
assert
.
Len
(
suite
.
T
(),
receipt
.
KV
,
8
)
assert
.
Len
(
suite
.
T
(),
receipt
.
Logs
,
8
)
key
:=
calcTitleHeightKey
(
Title
,
TitleHeight
)
suite
.
T
()
.
Log
(
"title height key"
,
string
(
key
))
...
...
plugin/dapp/paracross/executor/query.go
View file @
499f1612
...
...
@@ -33,7 +33,7 @@ func (p *Paracross) Query_GetTitleHeight(in *pt.ReqParacrossTitleHeight) (types.
}
stat
,
err
:=
p
.
paracrossGetStateTitleHeight
(
in
.
Title
,
in
.
Height
)
if
err
!=
nil
{
clog
.
Error
(
"paracross.GetTitleHeight"
,
"title"
,
t
itle
,
"height"
,
in
.
Height
,
"err"
,
err
.
Error
())
clog
.
Error
(
"paracross.GetTitleHeight"
,
"title"
,
in
.
T
itle
,
"height"
,
in
.
Height
,
"err"
,
err
.
Error
())
return
nil
,
err
}
status
:=
stat
.
(
*
pt
.
ParacrossHeightStatus
)
...
...
@@ -243,19 +243,6 @@ func (p *Paracross) Query_GetNodeGroupStatus(in *pt.ReqParacrossNodeInfo) (types
return
stat
,
nil
}
//Query_GetSupervisionNodeGroupStatus get specific node addr info
func
(
p
*
Paracross
)
Query_GetSupervisionNodeGroupStatus
(
in
*
pt
.
ReqParacrossNodeInfo
)
(
types
.
Message
,
error
)
{
if
in
==
nil
||
in
.
Title
==
""
{
return
nil
,
types
.
ErrInvalidParam
}
stat
,
err
:=
getSupervisionNodeGroupStatus
(
p
.
GetStateDB
(),
in
.
Title
)
if
err
!=
nil
{
return
stat
,
err
}
stat
.
Id
=
getParaNodeIDSuffix
(
stat
.
Id
)
return
stat
,
err
}
//Query_ListNodeGroupStatus list node info by status
func
(
p
*
Paracross
)
Query_ListNodeGroupStatus
(
in
*
pt
.
ReqParacrossNodeInfo
)
(
types
.
Message
,
error
)
{
if
in
==
nil
{
...
...
@@ -281,28 +268,29 @@ func (p *Paracross) Query_ListNodeGroupStatus(in *pt.ReqParacrossNodeInfo) (type
return
resp
,
nil
}
//Query_ListSupervisionNode
GroupStatus
list node info by status
func
(
p
*
Paracross
)
Query_ListSupervisionNode
GroupStatus
(
in
*
pt
.
ReqParacrossNodeInfo
)
(
types
.
Message
,
error
)
{
if
in
==
nil
{
//Query_ListSupervisionNode
StatusInfo
list node info by status
func
(
p
*
Paracross
)
Query_ListSupervisionNode
StatusInfo
(
in
*
pt
.
ReqParacrossNodeInfo
)
(
types
.
Message
,
error
)
{
if
in
==
nil
||
in
.
Title
==
""
{
return
nil
,
types
.
ErrInvalidParam
}
var
prefix
[]
byte
if
in
.
Status
==
0
{
prefix
=
calcLocalSupervisionNode
GroupAllPrefix
(
)
prefix
=
calcLocalSupervisionNode
StatusTitleAllPrefix
(
in
.
Title
)
}
else
{
prefix
=
calcLocalSupervisionNode
GroupStatusPrefix
(
in
.
Status
)
prefix
=
calcLocalSupervisionNode
StatusTitlePrefix
(
in
.
Title
,
in
.
Status
)
}
resp
,
err
:=
listNode
Group
Status
(
p
.
GetLocalDB
(),
prefix
)
resp
,
err
:=
listNodeStatus
(
p
.
GetLocalDB
(),
prefix
)
if
err
!=
nil
{
return
resp
,
err
}
addrs
:=
resp
.
(
*
pt
.
RespParacrossNodeGroups
)
addrs
:=
resp
.
(
*
pt
.
RespParacrossNodeAddrs
)
for
_
,
id
:=
range
addrs
.
Ids
{
id
.
Id
=
getParaNodeIDSuffix
(
id
.
Id
)
}
return
resp
,
err
return
resp
,
nil
}
//Query_ListTitles query paracross titles list
...
...
plugin/dapp/paracross/executor/reward.go
View file @
499f1612
...
...
@@ -125,6 +125,12 @@ func (a *action) reward(nodeStatus *pt.ParacrossNodeStatus, stat *pt.ParacrossHe
return
nil
,
err
}
// 监督节点地址
supervisionAddrs
:=
make
([]
string
,
0
)
if
stat
.
SupervisionDetails
!=
nil
{
supervisionAddrs
=
getSuperNodes
(
stat
.
SupervisionDetails
,
nodeStatus
.
BlockHash
)
}
//奖励超级节点
minderRewards
:=
coinReward
//如果有委托挖矿地址,则超级节点分baseReward部分,否则全部
...
...
@@ -132,7 +138,12 @@ func (a *action) reward(nodeStatus *pt.ParacrossNodeStatus, stat *pt.ParacrossHe
minderRewards
=
coinBaseReward
}
receipt
:=
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
}
r
,
change
,
err
:=
a
.
rewardSuperNode
(
minderRewards
,
nodeAddrs
,
nodeStatus
.
Height
)
miners
:=
nodeAddrs
for
_
,
addr
:=
range
supervisionAddrs
{
miners
=
append
(
miners
,
addr
)
}
r
,
change
,
err
:=
a
.
rewardSuperNode
(
minderRewards
,
miners
,
nodeStatus
.
Height
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
plugin/dapp/paracross/executor/superaccount.go
View file @
499f1612
...
...
@@ -623,7 +623,7 @@ func (a *action) nodeVote(config *pt.ParaNodeAddrConfig) (*types.Receipt, error)
//node quit后,如果committx满足2/3目标,自动触发commitDone
r
,
err
=
a
.
loopCommitTxDone
(
config
.
Title
)
if
err
!=
nil
{
clog
.
Error
(
"updateNodeGroup.loopCommitTxDone"
,
"title"
,
title
,
"err"
,
err
.
Error
())
clog
.
Error
(
"updateNodeGroup.loopCommitTxDone"
,
"title"
,
cfg
.
GetTitle
()
,
"err"
,
err
.
Error
())
}
receipt
=
mergeReceipt
(
receipt
,
r
)
}
...
...
plugin/dapp/paracross/executor/supervisionaccount.go
View file @
499f1612
...
...
@@ -70,39 +70,6 @@ func makeParaSupervisionNodeStatusReceipt(fromAddr string, prev, current *pt.Par
}
}
func
makeParaSupervisionNodeGroupStatusReceipt
(
title
string
,
addr
string
,
prev
,
current
*
pt
.
ParaNodeGroupStatus
)
*
types
.
Receipt
{
key
:=
calcParaSupervisionNodeGroupStatusKey
(
title
)
log
:=
&
pt
.
ReceiptParaNodeGroupConfig
{
Addr
:
addr
,
Prev
:
prev
,
Current
:
current
,
}
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
[]
*
types
.
KeyValue
{
{
Key
:
key
,
Value
:
types
.
Encode
(
current
)},
},
Logs
:
[]
*
types
.
ReceiptLog
{
{
Ty
:
pt
.
TyLogParaSupervisionNodeGroupStatusUpdate
,
Log
:
types
.
Encode
(
log
),
},
},
}
}
func
getSupervisionNodeGroupStatus
(
db
dbm
.
KV
,
title
string
)
(
*
pt
.
ParaNodeGroupStatus
,
error
)
{
key
:=
calcParaSupervisionNodeGroupStatusKey
(
title
)
val
,
err
:=
db
.
Get
(
key
)
if
err
!=
nil
{
return
nil
,
err
}
var
status
pt
.
ParaNodeGroupStatus
err
=
types
.
Decode
(
val
,
&
status
)
return
&
status
,
err
}
func
getSupervisionNodeID
(
db
dbm
.
KV
,
title
string
,
id
string
)
(
*
pt
.
ParaNodeIdStatus
,
error
)
{
id
=
calcParaSupervisionNodeIDKey
(
title
,
id
)
val
,
err
:=
getDb
(
db
,
[]
byte
(
id
))
...
...
@@ -148,20 +115,6 @@ func (a *action) updateSupervisionNodeGroup(title, addr string, add bool) (*type
}
}
clog
.
Info
(
"updateSupervisionNodeGroup delete"
,
"addr"
,
addr
)
// 如果全部退出 监督组也删除
if
len
(
item
.
GetArr
()
.
Value
)
<=
0
{
nodeGroupStatus
,
err
:=
getSupervisionNodeGroupStatus
(
a
.
db
,
title
)
if
err
!=
nil
&&
!
isNotFound
(
err
)
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaSupervisionNodeGroupNotSet
,
"nodegroup not exist:%s"
,
title
)
}
copyStat
:=
*
nodeGroupStatus
nodeGroupStatus
.
Status
=
pt
.
ParacrossNodeGroupQuit
nodeGroupStatus
.
Height
=
a
.
height
r
:=
makeParaSupervisionNodeGroupStatusReceipt
(
title
,
a
.
fromaddr
,
&
copyStat
,
nodeGroupStatus
)
receipt
=
mergeReceipt
(
receipt
,
r
)
}
}
err
=
a
.
db
.
Set
(
key
,
types
.
Encode
(
&
item
))
if
err
!=
nil
{
...
...
@@ -173,8 +126,9 @@ func (a *action) updateSupervisionNodeGroup(title, addr string, add bool) (*type
}
func
(
a
*
action
)
checkValidSupervisionNode
(
config
*
pt
.
ParaNodeAddrConfig
)
(
bool
,
error
)
{
nodes
,
_
,
err
:=
getParacrossSupervisonNodes
(
a
.
db
,
config
.
Title
)
if
err
!=
nil
&&
!
isNotFound
(
err
)
{
key
:=
calcParaSupervisionNodeGroupAddrsKey
(
config
.
Title
)
nodes
,
_
,
err
:=
getNodes
(
a
.
db
,
key
)
if
err
!=
nil
&&
!
(
isNotFound
(
err
)
||
errors
.
Cause
(
err
)
==
pt
.
ErrTitleNotExist
)
{
return
false
,
errors
.
Wrapf
(
err
,
"getNodes for title:%s"
,
config
.
Title
)
}
...
...
@@ -210,17 +164,17 @@ func (a *action) checkSupervisionNodeGroupExist(title string) (error, bool) {
return
nil
,
false
}
func
(
a
*
action
)
supervisionNodeGroupCreate
(
status
*
pt
.
ParaNodeGroupStatus
)
(
*
types
.
Receipt
,
error
)
{
func
(
a
*
action
)
supervisionNodeGroupCreate
(
title
,
targetAddrs
string
)
(
*
types
.
Receipt
,
error
)
{
var
item
types
.
ConfigItem
key
:=
calcParaSupervisionNodeGroupAddrsKey
(
status
.
T
itle
)
key
:=
calcParaSupervisionNodeGroupAddrsKey
(
t
itle
)
item
.
Key
=
string
(
key
)
emptyValue
:=
&
types
.
ArrayConfig
{
Value
:
make
([]
string
,
0
)}
arr
:=
types
.
ConfigItem_Arr
{
Arr
:
emptyValue
}
item
.
Value
=
&
arr
item
.
GetArr
()
.
Value
=
append
(
item
.
GetArr
()
.
Value
,
status
.
T
argetAddrs
)
item
.
GetArr
()
.
Value
=
append
(
item
.
GetArr
()
.
Value
,
t
argetAddrs
)
item
.
Addr
=
a
.
fromaddr
receipt
:=
makeParaSupervisionNodeGroupReceipt
(
status
.
T
itle
,
nil
,
&
item
)
receipt
:=
makeParaSupervisionNodeGroupReceipt
(
t
itle
,
nil
,
&
item
)
return
receipt
,
nil
}
...
...
@@ -304,17 +258,6 @@ func (a *action) supervisionNodeApply(config *pt.ParaNodeAddrConfig) (*types.Rec
return
nil
,
pt
.
ErrParaSupervisionNodeAddrExisted
}
// 判断和监督组冻结金额是否一致
nodeGroupStatus
,
err
:=
getSupervisionNodeGroupStatus
(
a
.
db
,
config
.
Title
)
if
err
!=
nil
&&
!
isNotFound
(
err
)
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaSupervisionNodeGroupNotSet
,
"nodegroup not exist:%s"
,
config
.
Title
)
}
if
nodeGroupStatus
!=
nil
&&
config
.
CoinsFrozen
<
nodeGroupStatus
.
CoinsFrozen
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaNodeGroupFrozenCoinsNotEnough
,
"coinFrozen not enough:%d,expected:%d"
,
config
.
CoinsFrozen
,
nodeGroupStatus
.
CoinsFrozen
)
}
// 在主链上冻结金额
receipt
:=
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
}
cfg
:=
a
.
api
.
GetConfig
()
...
...
@@ -371,25 +314,11 @@ func (a *action) supervisionNodeApprove(config *pt.ParaNodeAddrConfig) (*types.R
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaNodeGroupFrozenCoinsNotEnough
,
"id not enough coins apply:%d,config:%d"
,
apply
.
CoinsFrozen
,
config
.
CoinsFrozen
)
}
statGroup
:=
&
pt
.
ParaNodeGroupStatus
{
Id
:
apply
.
Id
,
Status
:
pt
.
ParacrossSupervisionNodeApprove
,
Title
:
apply
.
Title
,
TargetAddrs
:
apply
.
TargetAddr
,
BlsPubKeys
:
apply
.
BlsPubKey
,
CoinsFrozen
:
apply
.
CoinsFrozen
,
FromAddr
:
a
.
fromaddr
,
Height
:
a
.
height
,
}
r
,
err
:=
a
.
supervisionNodeGroupCreate
(
statGroup
)
r
,
err
:=
a
.
supervisionNodeGroupCreate
(
apply
.
Title
,
apply
.
TargetAddr
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"nodegroup create:title:%s,addrs:%s"
,
config
.
Title
,
apply
.
TargetAddr
)
}
receipt
=
mergeReceipt
(
receipt
,
r
)
r
=
makeParaSupervisionNodeGroupStatusReceipt
(
config
.
Title
,
a
.
fromaddr
,
nil
,
statGroup
)
receipt
=
mergeReceipt
(
receipt
,
r
)
}
else
{
// 监督账户组已经存在
r
,
err
:=
a
.
updateSupervisionNodeGroup
(
config
.
Title
,
apply
.
TargetAddr
,
true
)
...
...
@@ -517,7 +446,7 @@ func (a *action) supervisionNodeCancel(config *pt.ParaNodeAddrConfig) (*types.Re
return
receipt
,
nil
}
func
(
a
*
action
)
SupervisionNode
Group
Config
(
config
*
pt
.
ParaNodeAddrConfig
)
(
*
types
.
Receipt
,
error
)
{
func
(
a
*
action
)
SupervisionNodeConfig
(
config
*
pt
.
ParaNodeAddrConfig
)
(
*
types
.
Receipt
,
error
)
{
cfg
:=
a
.
api
.
GetConfig
()
if
!
validTitle
(
cfg
,
config
.
Title
)
{
return
nil
,
pt
.
ErrInvalidTitle
...
...
plugin/dapp/paracross/executor/supervisionaccount_test.go
View file @
499f1612
...
...
@@ -9,8 +9,8 @@ import (
// createRawSupervisionNodeConfigTx create raw tx for node config
func
createRawSupervisionNodeConfigTx
(
config
*
pt
.
ParaNodeAddrConfig
)
*
types
.
Transaction
{
action
:=
&
pt
.
ParacrossAction
{
Ty
:
pt
.
ParacrossActionSupervisionNode
Group
Config
,
Value
:
&
pt
.
ParacrossAction_SupervisionNode
GroupConfig
{
SupervisionNodeGroup
Config
:
config
},
Ty
:
pt
.
ParacrossActionSupervisionNodeConfig
,
Value
:
&
pt
.
ParacrossAction_SupervisionNode
Config
{
SupervisionNode
Config
:
config
},
}
tx
:=
&
types
.
Transaction
{
Payload
:
types
.
Encode
(
action
),
...
...
@@ -86,7 +86,7 @@ func (suite *NodeManageTestSuite) testSupervisionNodeError() {
Addr
:
Account1M3
,
}
tx
:=
createRawSupervisionNodeConfigTx
(
config
)
tx
,
_
=
signTx
(
suite
.
Suite
,
tx
,
PrivKey1
Ku
)
tx
,
_
=
signTx
(
suite
.
Suite
,
tx
,
PrivKey1
M3
)
_
,
err
:=
suite
.
exec
.
Exec
(
tx
,
0
)
assert
.
Equal
(
suite
.
T
(),
err
,
pt
.
ErrParaSupervisionNodeAddrExisted
)
...
...
@@ -140,10 +140,4 @@ func (suite *NodeManageTestSuite) testSupervisionQuery() {
resp2
,
ok
:=
ret
.
(
*
pt
.
ParaNodeAddrIdStatus
)
assert
.
Equal
(
suite
.
T
(),
ok
,
true
)
assert
.
NotNil
(
suite
.
T
(),
resp2
)
ret
,
err
=
suite
.
exec
.
Query_GetSupervisionNodeGroupStatus
(
&
pt
.
ReqParacrossNodeInfo
{
Title
:
chain33TestCfg
.
GetTitle
()})
suite
.
Nil
(
err
)
resp3
,
ok
:=
ret
.
(
*
pt
.
ParaNodeGroupStatus
)
assert
.
Equal
(
suite
.
T
(),
ok
,
true
)
assert
.
Equal
(
suite
.
T
(),
resp3
.
Status
,
int32
(
pt
.
ParacrossSupervisionNodeApprove
))
}
plugin/dapp/paracross/proto/paracross.proto
View file @
499f1612
...
...
@@ -347,9 +347,9 @@ message ParacrossAction {
ParaNodeAddrConfig
nodeConfig
=
9
;
ParaNodeGroupConfig
nodeGroupConfig
=
10
;
ParaStageConfig
selfStageConfig
=
11
;
CrossAssetTransfer
crossAssetTransfer
=
12
;
ParaBindMinerCmd
paraBindMiner
=
13
;
ParaNodeAddrConfig
supervisionNodeGroupConfig
=
14
;
CrossAssetTransfer
crossAssetTransfer
=
12
;
ParaBindMinerCmd
paraBindMiner
=
13
;
ParaNodeAddrConfig
supervisionNodeConfig
=
14
;
}
int32
ty
=
2
;
}
...
...
plugin/dapp/paracross/types/paracross.go
View file @
499f1612
...
...
@@ -50,10 +50,9 @@ const (
TyLogParaBindMinerAddr
=
671
TyLogParaBindMinerNode
=
672
// Supervision Node
TyLogParaSupervisionNodeConfig
=
680
TyLogParaSupervisionNodeGroupAddrsUpdate
=
681
TyLogParaSupervisionNodeStatusUpdate
=
682
TyLogParaSupervisionNodeGroupStatusUpdate
=
683
TyLogParaSupervisionNodeConfig
=
680
TyLogParaSupervisionNodeGroupAddrsUpdate
=
681
TyLogParaSupervisionNodeStatusUpdate
=
682
)
// action type
...
...
@@ -90,8 +89,8 @@ const (
ParacrossActionSelfStageConfig
// ParacrossActionCrossAssetTransfer crossChain asset transfer key
ParacrossActionCrossAssetTransfer
// ParacrossActionSupervisionNode
Group
Config
ParacrossActionSupervisionNode
Group
Config
// ParacrossActionSupervisionNodeConfig
ParacrossActionSupervisionNodeConfig
)
//paracross asset porcess
...
...
@@ -327,8 +326,6 @@ func GetDappForkHeight(cfg *types.Chain33Config, forkKey string) int64 {
key
=
MainForkParacrossCommitTx
case
ForkLoopCheckCommitTxDone
:
key
=
MainLoopCheckCommitTxDoneForkHeight
//case ForkParaSupervision:
// key = MainForkParaSupervision
}
forkHeight
=
types
.
Conf
(
cfg
,
ParaPrefixConsSubConf
)
.
GInt
(
key
)
...
...
plugin/dapp/paracross/types/paracross.pb.go
View file @
499f1612
This diff is collapsed.
Click to expand it.
plugin/dapp/paracross/types/type.go
View file @
499f1612
...
...
@@ -97,48 +97,47 @@ func (p *ParacrossType) GetName() string {
// GetLogMap get receipt log map
func
(
p
*
ParacrossType
)
GetLogMap
()
map
[
int64
]
*
types
.
LogInfo
{
return
map
[
int64
]
*
types
.
LogInfo
{
TyLogParacrossCommit
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParacrossCommit
{}),
Name
:
"LogParacrossCommit"
},
TyLogParacrossCommitDone
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParacrossDone
{}),
Name
:
"LogParacrossCommitDone"
},
TyLogParacrossCommitRecord
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParacrossRecord
{}),
Name
:
"LogParacrossCommitRecord"
},
TyLogParaAssetWithdraw
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptAccountTransfer
{}),
Name
:
"LogParaAssetWithdraw"
},
TyLogParaAssetTransfer
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptAccountTransfer
{}),
Name
:
"LogParaAssetTransfer"
},
TyLogParaAssetDeposit
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptAccountTransfer
{}),
Name
:
"LogParaAssetDeposit"
},
TyLogParaCrossAssetTransfer
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptAccountTransfer
{}),
Name
:
"LogParaCrossAssetTransfer"
},
TyLogParacrossMiner
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParacrossMiner
{}),
Name
:
"LogParacrossMiner"
},
TyLogParaNodeConfig
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeConfig
{}),
Name
:
"LogParaNodeConfig"
},
TyLogParaNodeStatusUpdate
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeAddrStatUpdate
{}),
Name
:
"LogParaNodeAddrStatUpdate"
},
TyLogParaNodeGroupAddrsUpdate
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptConfig
{}),
Name
:
"LogParaNodeGroupAddrsUpdate"
},
TyLogParaNodeVoteDone
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeVoteDone
{}),
Name
:
"LogParaNodeVoteDone"
},
TyLogParaNodeGroupConfig
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeGroupConfig
{}),
Name
:
"LogParaNodeGroupConfig"
},
TyLogParaNodeGroupStatusUpdate
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeGroupConfig
{}),
Name
:
"LogParaNodeGroupStatusUpdate"
},
TyLogParaSelfConsStageConfig
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptSelfConsStageConfig
{}),
Name
:
"LogParaSelfConsStageConfig"
},
TyLogParaStageVoteDone
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptSelfConsStageVoteDone
{}),
Name
:
"LogParaSelfConfStageVoteDoen"
},
TyLogParaStageGroupUpdate
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptSelfConsStagesUpdate
{}),
Name
:
"LogParaSelfConfStagesUpdate"
},
TyLogParaBindMinerAddr
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaBindMinerInfo
{}),
Name
:
"TyLogParaBindMinerAddrUpdate"
},
TyLogParaBindMinerNode
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeBindListUpdate
{}),
Name
:
"TyLogParaBindNodeListUpdate"
},
TyLogParaSupervisionNodeConfig
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeConfig
{}),
Name
:
"LogParaSupervisionNodeConfig"
},
TyLogParaSupervisionNodeGroupAddrsUpdate
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptConfig
{}),
Name
:
"LogParaSupervisionNodeGroupAddrsUpdate"
},
TyLogParaSupervisionNodeStatusUpdate
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeAddrStatUpdate
{}),
Name
:
"LogParaSupervisionNodeStatusUpdate"
},
TyLogParaSupervisionNodeGroupStatusUpdate
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeGroupConfig
{}),
Name
:
"LogParaSupervisionNodeGroupStatusUpdate"
},
TyLogParacrossCommit
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParacrossCommit
{}),
Name
:
"LogParacrossCommit"
},
TyLogParacrossCommitDone
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParacrossDone
{}),
Name
:
"LogParacrossCommitDone"
},
TyLogParacrossCommitRecord
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParacrossRecord
{}),
Name
:
"LogParacrossCommitRecord"
},
TyLogParaAssetWithdraw
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptAccountTransfer
{}),
Name
:
"LogParaAssetWithdraw"
},
TyLogParaAssetTransfer
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptAccountTransfer
{}),
Name
:
"LogParaAssetTransfer"
},
TyLogParaAssetDeposit
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptAccountTransfer
{}),
Name
:
"LogParaAssetDeposit"
},
TyLogParaCrossAssetTransfer
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptAccountTransfer
{}),
Name
:
"LogParaCrossAssetTransfer"
},
TyLogParacrossMiner
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParacrossMiner
{}),
Name
:
"LogParacrossMiner"
},
TyLogParaNodeConfig
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeConfig
{}),
Name
:
"LogParaNodeConfig"
},
TyLogParaNodeStatusUpdate
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeAddrStatUpdate
{}),
Name
:
"LogParaNodeAddrStatUpdate"
},
TyLogParaNodeGroupAddrsUpdate
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptConfig
{}),
Name
:
"LogParaNodeGroupAddrsUpdate"
},
TyLogParaNodeVoteDone
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeVoteDone
{}),
Name
:
"LogParaNodeVoteDone"
},
TyLogParaNodeGroupConfig
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeGroupConfig
{}),
Name
:
"LogParaNodeGroupConfig"
},
TyLogParaNodeGroupStatusUpdate
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeGroupConfig
{}),
Name
:
"LogParaNodeGroupStatusUpdate"
},
TyLogParaSelfConsStageConfig
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptSelfConsStageConfig
{}),
Name
:
"LogParaSelfConsStageConfig"
},
TyLogParaStageVoteDone
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptSelfConsStageVoteDone
{}),
Name
:
"LogParaSelfConfStageVoteDoen"
},
TyLogParaStageGroupUpdate
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptSelfConsStagesUpdate
{}),
Name
:
"LogParaSelfConfStagesUpdate"
},
TyLogParaBindMinerAddr
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaBindMinerInfo
{}),
Name
:
"TyLogParaBindMinerAddrUpdate"
},
TyLogParaBindMinerNode
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeBindListUpdate
{}),
Name
:
"TyLogParaBindNodeListUpdate"
},
TyLogParaSupervisionNodeConfig
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeConfig
{}),
Name
:
"LogParaSupervisionNodeConfig"
},
TyLogParaSupervisionNodeGroupAddrsUpdate
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptConfig
{}),
Name
:
"LogParaSupervisionNodeGroupAddrsUpdate"
},
TyLogParaSupervisionNodeStatusUpdate
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeAddrStatUpdate
{}),
Name
:
"LogParaSupervisionNodeStatusUpdate"
},
}
}
// GetTypeMap get action type
func
(
p
*
ParacrossType
)
GetTypeMap
()
map
[
string
]
int32
{
return
map
[
string
]
int32
{
"Commit"
:
ParacrossActionCommit
,
"Miner"
:
ParacrossActionMiner
,
"AssetTransfer"
:
ParacrossActionAssetTransfer
,
"AssetWithdraw"
:
ParacrossActionAssetWithdraw
,
"Transfer"
:
ParacrossActionTransfer
,
"Withdraw"
:
ParacrossActionWithdraw
,
"TransferToExec"
:
ParacrossActionTransferToExec
,
"CrossAssetTransfer"
:
ParacrossActionCrossAssetTransfer
,
"NodeConfig"
:
ParacrossActionNodeConfig
,
"NodeGroupConfig"
:
ParacrossActionNodeGroupApply
,
"SelfStageConfig"
:
ParacrossActionSelfStageConfig
,
"ParaBindMiner"
:
ParacrossActionParaBindMiner
,
"SupervisionNode
GroupConfig"
:
ParacrossActionSupervisionNodeGroup
Config
,
"Commit"
:
ParacrossActionCommit
,
"Miner"
:
ParacrossActionMiner
,
"AssetTransfer"
:
ParacrossActionAssetTransfer
,
"AssetWithdraw"
:
ParacrossActionAssetWithdraw
,
"Transfer"
:
ParacrossActionTransfer
,
"Withdraw"
:
ParacrossActionWithdraw
,
"TransferToExec"
:
ParacrossActionTransferToExec
,
"CrossAssetTransfer"
:
ParacrossActionCrossAssetTransfer
,
"NodeConfig"
:
ParacrossActionNodeConfig
,
"NodeGroupConfig"
:
ParacrossActionNodeGroupApply
,
"SelfStageConfig"
:
ParacrossActionSelfStageConfig
,
"ParaBindMiner"
:
ParacrossActionParaBindMiner
,
"SupervisionNode
Config"
:
ParacrossActionSupervisionNode
Config
,
}
}
...
...
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