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
419e010a
Commit
419e010a
authored
Sep 23, 2021
by
QM
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add make docker-compose dapp=autonomy
parent
c52d3858
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
788 additions
and
29 deletions
+788
-29
docker-compose.sh
build/docker-compose.sh
+2
-2
build.sh
plugin/dapp/autonomy/cmd/build.sh
+4
-0
autonomyTest.sh
plugin/dapp/autonomy/cmd/build/autonomyTest.sh
+400
-0
publicTest.sh
plugin/dapp/autonomy/cmd/build/publicTest.sh
+329
-0
testcase.sh
plugin/dapp/autonomy/cmd/build/testcase.sh
+15
-0
test-rpc.sh
plugin/dapp/autonomy/cmd/test/test-rpc.sh
+27
-22
proposal_board.go
plugin/dapp/autonomy/commands/proposal_board.go
+3
-3
proposal_project.go
plugin/dapp/autonomy/commands/proposal_project.go
+1
-1
autonomy.go
plugin/dapp/autonomy/executor/autonomy.go
+1
-0
boardaction.go
plugin/dapp/autonomy/executor/boardaction.go
+6
-1
No files found.
build/docker-compose.sh
View file @
419e010a
...
...
@@ -126,8 +126,8 @@ function base_init() {
sed
-i
$sedfix
's/^genesis="12qyocayNF7.*/genesis="1G5Cjy8LuQex2fuYv3gzb7B8MxAnxLEqt3"/g'
chain33.toml
#autonomy
sed
-i
$sedfix
's/^useBalance=.*/useBalance=true/g'
chain33.toml
sed
-i
$sedfix
's/^total="16htvcBNS.*/total="1Q9sQwothzM1gKSzkVZ8Dt1tqKX1uzSagx"/g'
chain33.toml
#
sed -i $sedfix 's/^useBalance=.*/useBalance=true/g' chain33.toml
#
sed -i $sedfix 's/^total="16htvcBNS.*/total="1Q9sQwothzM1gKSzkVZ8Dt1tqKX1uzSagx"/g' chain33.toml
if
[
"
$DAPP
"
==
"x2ethereum"
]
;
then
sed
-i
$sedfix
's/^enableReduceLocaldb=.*/enableReduceLocaldb=false/g'
chain33.toml
...
...
plugin/dapp/autonomy/cmd/build.sh
View file @
419e010a
...
...
@@ -4,6 +4,10 @@ strpwd=$(pwd)
strcmd
=
${
strpwd
##*dapp/
}
strapp
=
${
strcmd
%/cmd*
}
OUT_DIR
=
"
${
1
}
/
$strapp
"
mkdir
-p
"
${
OUT_DIR
}
"
cp
./build/
*
"
${
OUT_DIR
}
"
OUT_TESTDIR
=
"
${
1
}
/dapptest/
$strapp
"
mkdir
-p
"
${
OUT_TESTDIR
}
"
cp
./test/
*
"
${
OUT_TESTDIR
}
"
plugin/dapp/autonomy/cmd/build/autonomyTest.sh
0 → 100755
View file @
419e010a
#!/usr/bin/env bash
# shellcheck disable=SC2128
# shellcheck source=/dev/null
set
-x
set
+e
source
"./publicTest.sh"
# shellcheck disable=SC2034
{
propKey
=
"0xfd0c4a8a1efcd221ee0f36b7d4f57d8ff843cb8bc193b39c7863332d355acafa"
propAddr
=
"15VUiygdxMSZ3rykwe742yomp2cPJ9Tfve"
#votePrKey="1c3e6cac2f887e1ab9180e2d5772dc4ba01accb8d4df434faba097003eb35482"
#voteAddr="1Q9sQwothzM1gKSzkVZ8Dt1tqKX1uzSagx"
votePrKey
=
"CC38546E9E659D15E6B4893F0AB32A06D103931A8230B0BDE71459D2B27D6944"
#14KEKbYtKKQm4wMthSK9J4La4nAiidGozt
voteAddr2
=
"1EbDHAXpoiewjPLX9uqoz38HsKqMXayZrF"
votePrKey2
=
"B0BB75BC49A787A71F4834DA18614763B53A18291ECE6B5EDEC3AD19D150C3E7"
#1EbDHAXpoiewjPLX9uqoz38HsKqMXayZrF
voteAddr3
=
"1KcCVZLSQYRUwE5EXTsAoQs9LuJW6xwfQa"
votePrKey3
=
"2AFF1981291355322C7A6308D46A9C9BA311AA21D94F36B43FC6A6021A1334CF"
boardsAddr
=
"1N578zmVzVR7RxLfnp7XAeDmAy499Jw3q2
, 1DZ1kL9x3rRwz7EZjcLt1kMYu6Zdp3MjGR
, 1HUYR1Mzb91m3dmsEE1vPrv7BsAHmEtVzM
, 1JHmVgchSLjszN9LAYa3gds811c4BH2J51
, 14TDcn95hxHbpySPtxGDK3aY6qDNuk5idg
, 1EpbYadEAcwbrxuh6Ph2qyJZhMY9F9CCCv
, 1NqfXb3YotDTPuShgSAhrBH28ETzCrsZx2
, 138xSezQUi9kynnAZR23kWBwHvDSRX8JDK
, 18bncBidkwRaUYPaqa9Rc58tWeRT2C5tfL
, 16z3gEvRGof8cnQRvicV8BdY54fUfnBo8A
, 1DpzRWk9SYnEvuGrFsJPFvMVRSYRHaCbtU
, 1JSQbsb1hfB6CLzwzVZZEtai4da8m59obK
, 12bRYKMsLSbN5upxoSenypWrygVuQh8rM5
, 1Ew4Cpcfh1u1EeRkYPwVc4PRaSnz4D2eph
, 156yPWN3eeZ4yPiwHRifu41FmrTVPavXQ5
, 192YKhdAkFm18KLcGumM8JeDgWrnpSdo93
, 12kXgBxsKzUmhfX5Mnv9EKRNGjQXhZzDFd
, 1HmyNGYj2xyMmQDTpcuheLKXKBe5rj3QpQ
, 1HGPrjc6H7yBzFV5yCbibvnSUGUgdDNQi3
, 19WGov4b7wLf4f8JHMRDnJsGVNMDzap38w
, 1HmRa1jAnzJ5SpJRrUWqUki6hx1u33Nbq4
, 168Sn1DXnLrZHTcAM9stD6t2P49fNuJfJ9
, 13KTf57aCkVVJYNJBXBBveiA5V811SrLcT
, 1JQwQWsShTHC4zxHzbUfYQK4kRBriUQdEe
, 1NHuKqoKe3hyv52PF8XBAyaTmJWAqA2Jbb"
# shellcheck disable=SC2206
arrayAddr
=(
${
boardsAddr
//,/
}
)
lenAddr
=
${#
arrayAddr
[@]
}
for
((
i
=
0
;
i < lenAddr - 1
;
i++
))
;
do
boards
=
$(
echo
"
${
boards
}${
arrayAddr
[i]
}
-"
)
done
# shellcheck disable=SC2116
boards
=
$(
echo
"
${
boards
}${
arrayAddr
[lenAddr-1]
}
"
)
boardsPrKey
=
"fa54751118c8159ade22c253f85945a4dd2030b1cf2502eaf785d0a4f5ad7e35
,da9371ea52f1fc9d72e75dbc9836774895cd0966fd53c83f5e2c92d878903693
,ad9731261c40c68fee96f7b846408fa33d1f3dc2a27bdb3694ec8f3aa153a98b
,e902d23ad26052cec64e9ed9055853327787b3bf26eb4646a6d6c1bb516f9fcd
,b3af59368bcc6779aecb4e7fbf0cc4040f8f8329eb7632d580be4b6d3be15357
,fd9284c11707b571e347b8f44c54aae89c0810d410a7c1f9613326358c564a5e
,b013948c123986aadc2525bfe9935dd07972e14b250b938153e763f917ada8d3
,5641e3aba9ce0660665cd1a816d1b50267b5bc5f337f73e6ceed0cc5ececa7d2
,5a7631b7101252d685bf2b4ba2f11a72fb867faeaa545064ce8d0901ffc3cb17
,c9d0d2639c0c0f2b275e5bf8a2797122af110316a4e8e1fe03c39693f5028c93
,00b4e3ac1365b89d68c8d5b07b3505cd614408b0d9c8c88df564d4e072deb401
,aa139d3f16c1785b2a9171d7863bc4ee9d45115cc0fa71a14c43536c933d1659
,33f111573a4613477f8291928a9bae012a74fc9858acb22c9c65ecf7844b63f2
,44e43dd0f769bb99638b9cc3c7468225ff703f69c17e9c4751d04e45fdc6c4a0
,9a75d6c779846fe2ad4a36021fe9d08652ca69ce09ab39ad874d921a5ec41716
,f5ca6b2ad545bd4b854871b18c8d37d2fe8c3625e91be86a204c4086f28e8d0f
,89504608a03590e5a4d8c1c82b75e908b28f9963587c85b96b628d238d3a4d1a
,fa653545ae52403665fb803ef410c4d3d7f74628b6d3f92218968ad496e4f81b
,227df96a414e26e85c7d87a12296344e6a731ce73e424ba9845cb305ec963843
,64259075bf2e5a74334442f5048ceaf8427f6097e2dac99c0e463785c7768550
,3b812d92b5c365d698255f55c3f0dca027c2f89f2409c51a6297bcf3343c11e6
,cd284cd17456b73619fa609bb9e3105e8eff5d059c5e0b6eb1effbebd4d64144
,e892212221b3b58211b90194365f4662764b6d5474ef2961ef77c909e31eeed3
,9d19a2e9a440187010634f4f08ce36e2bc7b521581436a99f05568be94dc66ea
,45d4ce009e25e6d5e00d8d3a50565944b2e3604aa473680a656b242d9acbff35"
# shellcheck disable=SC2206
arrayKey
=(
${
boardsPrKey
//,/
}
)
changeKey
=
"0x7503333e74190abdfa10b9e5e3a225136ea7ed1f5beeeb710b1f3933a083b2c5"
changeAddr
=
"15MP8oQXW9UuzbfMsUyVy4ThStm9ZH7hgG"
changeKey2
=
"0x38d12b36d8d84a80131db15f2a067e2706f8367c933c075b3b3cefa3a864ad15"
changeAddr2
=
"1Kubv93zSatYRq6eHdBa4BkMBwtB2UpQum"
minerAddr
=
"12qyocayNF7Lv6C9qW4avxs2E7U41fKSfv"
Chain33Cli
=
"../../chain33-cli"
proposalRuleID
=
""
proposalBoardID
=
""
proposalProjectID
=
""
start
=
0
end
=
0
last_header
=
0
boardApproveRatio
=
50
pubOpposeRatio
=
33
proposalAmount
=
2000000000
largeProjectAmount
=
100000000000000
publicPeriod
=
172800
pubAttendRatio
=
60
pubApproveRatio
=
65
}
function
update_last_header
()
{
last_header
=
$(${
Chain33Cli
}
block last_header | jq
-r
".height"
)
local
h
=
100
if
[
"$#"
-eq
1
]
;
then
h
=
$1
fi
start
=
$((
last_header
+
h
))
end
=
$((
start
+
20
+
720
))
}
function
sign_and_send
()
{
local
raw
=
"
$1
"
local
key
=
"
$2
"
data
=
$(${
Chain33Cli
}
wallet sign
-d
"
${
raw
}
"
-k
"
${
key
}
"
)
hash
=
$(${
Chain33Cli
}
wallet send
-d
"
${
data
}
"
)
check_tx
"
${
Chain33Cli
}
"
"
${
hash
}
"
echo
"
${
hash
}
"
}
function
proposalRuleTx
()
{
raw
=
$(${
Chain33Cli
}
autonomy proposalRule
-e
"
${
end
}
"
-s
"
${
start
}
"
-l
1000000
-p
20
-r
${
boardApproveRatio
}
-a
${
pubAttendRatio
}
-v
${
pubApproveRatio
}
-o
${
pubOpposeRatio
}
-u
${
publicPeriod
})
sign_and_send
"
${
raw
}
"
"
${
propKey
}
"
proposalRuleID
=
"
${
hash
}
"
}
# $1 status
function
showRule_status
()
{
local
status
=
$1
result
=
$(${
Chain33Cli
}
autonomy showRule
-p
"
${
proposalRuleID
}
"
-y
0 | jq
-r
".propRules[0].status"
)
is_equal
"
${
result
}
"
"
${
status
}
"
result
=
$(${
Chain33Cli
}
autonomy showRule
-p
"
${
proposalRuleID
}
"
-y
1
-s
"
${
status
}
"
)
is_not_equal
"
${
result
}
"
"ErrNotFound"
}
function
check_activeRule
()
{
result
=
$(${
Chain33Cli
}
autonomy showActiveRule | jq
-r
".boardApproveRatio"
)
is_equal
"
${
result
}
"
"
${
boardApproveRatio
}
"
result
=
$(${
Chain33Cli
}
autonomy showActiveRule | jq
-r
".pubOpposeRatio"
)
is_equal
"
${
result
}
"
"
${
pubOpposeRatio
}
"
result
=
$(${
Chain33Cli
}
autonomy showActiveRule | jq
-r
".publicPeriod"
)
is_equal
"
${
result
}
"
"
${
publicPeriod
}
"
result
=
$(${
Chain33Cli
}
autonomy showActiveRule | jq
-r
".pubAttendRatio"
)
is_equal
"
${
result
}
"
"
${
pubAttendRatio
}
"
result
=
$(${
Chain33Cli
}
autonomy showActiveRule | jq
-r
".pubApproveRatio"
)
is_equal
"
${
result
}
"
"
${
pubApproveRatio
}
"
}
function
testProposalRule
()
{
# proposal
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
update_last_header 10
proposalRuleTx
#vote
block_wait
"
${
Chain33Cli
}
"
10
raw
=
$(${
Chain33Cli
}
autonomy voteRule
-r
1
-p
"
${
proposalRuleID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
votePrKey
}
"
raw
=
$(${
Chain33Cli
}
autonomy voteRule
-r
1
-p
"
${
proposalRuleID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
votePrKey2
}
"
raw
=
$(${
Chain33Cli
}
autonomy voteRule
-r
1
-p
"
${
proposalRuleID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
votePrKey3
}
"
showRule_status 4
check_activeRule
#test revoke
update_last_header
proposalRuleTx
raw
=
$(${
Chain33Cli
}
autonomy revokeRule
-p
"
${
proposalRuleID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
propKey
}
"
showRule_status 2
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
function
proposalBoardTx
()
{
raw
=
$(${
Chain33Cli
}
autonomy proposalBoard
-e
"
${
end
}
"
-s
"
${
start
}
"
-u
3
-b
"
${
boards
}
"
)
sign_and_send
"
${
raw
}
"
"
${
propKey
}
"
proposalBoardID
=
"
${
hash
}
"
}
# $1 status
function
showBoard_status
()
{
local
status
=
$1
result
=
$(${
Chain33Cli
}
autonomy showBoard
-p
"
${
proposalBoardID
}
"
-y
0 | jq
-r
".propBoards[0].status"
)
is_equal
"
${
result
}
"
"
${
status
}
"
result
=
$(${
Chain33Cli
}
autonomy showBoard
-p
"
${
proposalBoardID
}
"
-y
1
-s
"
${
status
}
"
)
is_not_equal
"
${
result
}
"
"ErrNotFound"
}
function
check_activeBoard
()
{
${
Chain33Cli
}
autonomy showActiveBoard
for
((
i
=
0
;
i < lenAddr
;
i++
))
;
do
ret
=
$(${
Chain33Cli
}
autonomy showActiveBoard | jq
-r
".boards[
$i
]"
)
if
[
"
${
arrayAddr
[i]
}
"
!=
"
${
ret
}
"
]
;
then
exit
1
fi
done
}
function
testProposalBoard
()
{
#proposal
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
update_last_header 10
proposalBoardTx
#vote
block_wait
"
${
Chain33Cli
}
"
10
raw
=
$(${
Chain33Cli
}
autonomy voteBoard
-r
1
-p
"
${
proposalBoardID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
votePrKey
}
"
raw
=
$(${
Chain33Cli
}
autonomy voteBoard
-r
1
-p
"
${
proposalBoardID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
votePrKey2
}
"
#query
showBoard_status 4
check_activeBoard
#test revoke
update_last_header
proposalBoardTx
raw
=
$(${
Chain33Cli
}
autonomy revokeBoard
-p
"
${
proposalBoardID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
propKey
}
"
showBoard_status 2
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
function
proposalProjectTx
()
{
raw
=
$(${
Chain33Cli
}
autonomy proposalProject
-e
"
${
end
}
"
-s
"
${
start
}
"
-a
1
-o
"
${
propAddr
}
"
)
sign_and_send
"
${
raw
}
"
"
${
propKey
}
"
proposalProjectID
=
"
${
hash
}
"
}
function
showProject_status
()
{
local
status
=
$1
result
=
$(${
Chain33Cli
}
autonomy showProject
-p
"
${
proposalProjectID
}
"
-y
0 | jq
-r
".propProjects[0].status"
)
is_equal
"
${
result
}
"
"
${
status
}
"
result
=
$(${
Chain33Cli
}
autonomy showProject
-p
"
${
proposalProjectID
}
"
-y
1
-s
"
${
status
}
"
)
is_not_equal
"
${
result
}
"
"ErrNotFound"
}
function
testProposalProject
()
{
# proposal
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
update_last_header 10
proposalProjectTx
#vote
block_wait
"
${
Chain33Cli
}
"
10
for
((
i
=
0
;
i < 13
;
i++
))
;
do
raw
=
$(${
Chain33Cli
}
autonomy voteProject
-r
1
-p
"
${
proposalProjectID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
arrayKey
[
$i
]
}
"
done
#query
showProject_status 5
#test revoke
update_last_header
proposalProjectTx
raw
=
$(${
Chain33Cli
}
autonomy revokeProject
-p
"
${
proposalProjectID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
propKey
}
"
showProject_status 2
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
function
proposalChangeTx
()
{
local
addr
=
$1
local
key
=
$2
raw
=
$(${
Chain33Cli
}
autonomy proposalChange
-e
"
${
end
}
"
-s
"
${
start
}
"
-c
"
${
addr
}
"
)
sign_and_send
"
${
raw
}
"
"
${
key
}
"
proposalChangeID
=
"
${
hash
}
"
}
function
showChange_status
()
{
local
status
=
$1
result
=
$(${
Chain33Cli
}
autonomy showChange
-p
"
${
proposalChangeID
}
"
-y
0 | jq
-r
".propChanges[0].status"
)
is_equal
"
${
result
}
"
"
${
status
}
"
result
=
$(${
Chain33Cli
}
autonomy showChange
-p
"
${
proposalChangeID
}
"
-y
1
-s
"
${
status
}
"
)
is_not_equal
"
${
result
}
"
"ErrNotFound"
}
function
testProposalChange
()
{
# proposal
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
#init
autonomyAddr
=
$(${
Chain33Cli
}
exec
addr
-e
autonomy
)
hash
=
$(${
Chain33Cli
}
send coins transfer
-a
20
-n
test
-t
"
${
autonomyAddr
}
"
-k
"
${
arrayKey
[20]
}
"
)
check_tx
"
${
Chain33Cli
}
"
"
${
hash
}
"
hash
=
$(${
Chain33Cli
}
send coins transfer
-a
20
-n
test
-t
"
${
autonomyAddr
}
"
-k
"
${
arrayKey
[21]
}
"
)
check_tx
"
${
Chain33Cli
}
"
"
${
hash
}
"
update_last_header 10
proposalChangeTx
"
${
changeAddr
}
"
"
${
arrayKey
[20]
}
"
ret
=
$(${
Chain33Cli
}
autonomy showActiveBoard | jq
-r
".boards[20]"
)
if
[
"
${
arrayAddr
[20]
}
"
!=
"
${
ret
}
"
]
;
then
exit
1
fi
#vote
block_wait
"
${
Chain33Cli
}
"
10
for
((
i
=
0
;
i < 13
;
i++
))
;
do
raw
=
$(${
Chain33Cli
}
autonomy voteChange
-r
1
-p
"
${
proposalChangeID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
arrayKey
[
$i
]
}
"
done
ret
=
$(${
Chain33Cli
}
autonomy showActiveBoard | jq
-r
".boards[20]"
)
if
[
"
${
changeAddr
}
"
!=
"
${
ret
}
"
]
;
then
exit
1
fi
#query
showChange_status 4
#test revoke
update_last_header
proposalChangeTx
"
${
changeAddr2
}
"
"
${
arrayKey
[21]
}
"
raw
=
$(${
Chain33Cli
}
autonomy revokeChange
-p
"
${
proposalChangeID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
arrayKey
[21]
}
"
showChange_status 2
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
function
testProposalTerminate
()
{
#test terminate
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
update_last_header 10
proposalRuleTx
update_last_header 10
proposalBoardTx
update_last_header 10
proposalProjectTx
update_last_header 10
proposalChangeTx
"
${
changeAddr2
}
"
"
${
arrayKey
[21]
}
"
block_wait
"
${
Chain33Cli
}
"
850
raw
=
$(${
Chain33Cli
}
autonomy terminateRule
-p
"
${
proposalRuleID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
propKey
}
"
showRule_status 4
raw
=
$(${
Chain33Cli
}
autonomy terminateBoard
-p
"
${
proposalBoardID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
propKey
}
"
showBoard_status 4
raw
=
$(${
Chain33Cli
}
autonomy terminateProject
-p
"
${
proposalProjectID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
propKey
}
"
showProject_status 5
raw
=
$(${
Chain33Cli
}
autonomy terminateChange
-p
"
${
proposalChangeID
}
"
)
sign_and_send
"
${
raw
}
"
"
${
arrayKey
[21]
}
"
showChange_status 4
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
function
mainTest
()
{
# shellcheck disable=SC2154
docker_chain33_ip
=
$(
get_docker_addr
"
${
dockerNamePrefix
}
_chain33_1"
)
Chain33Cli
=
"./chain33-cli --rpc_laddr http://
${
docker_chain33_ip
}
:8801"
StartChain33
testProposalRule
testProposalBoard
testProposalProject
testProposalChange
testProposalTerminate
}
#Chain33Cli="../../../../../build/chain33-cli --rpc_laddr http://172.20.0.2:8801"
#testProposalProject
#testProposalChange
#testProposalTerminate
#testProposalChange
plugin/dapp/autonomy/cmd/build/publicTest.sh
0 → 100644
View file @
419e010a
#!/usr/bin/env bash
# shellcheck disable=SC2128
# shellcheck source=/dev/null
# shellcheck disable=SC2155
set
-x
set
-e
#color
RED
=
'\033[1;31m'
GRE
=
'\033[1;32m'
NOC
=
'\033[0m'
# 出错退出前拷贝日志文件
function
exit_cp_file
()
{
exit
1
}
# $1 dockerName
function
get_docker_addr
()
{
local
dockerAddr
=
$(
docker inspect
"
${
1
}
"
| jq
".[].NetworkSettings.Networks"
|
grep
"IPAddress"
|
awk
'{ print $2}'
|
sed
's/\"//g'
|
sed
's/,//g'
)
echo
"
${
dockerAddr
}
"
}
#function block_wait() {
# set +x
# set +x
# local block=$1
# for((i=1;i<=block;i++));do
# hash=$(${Chain33Cli} send coins transfer -a 0.001 -n test -t "${propAddr}" -k CC38546E9E659D15E6B4893F0AB32A06D103931A8230B0BDE71459D2B27D6944)
# check_tx "${Chain33Cli}" "${hash}"
# echo "这是第 $i 次调用";
# done;
# set -x
# set -x
#}
# 杀死进程ebrelayer 进程 $1进程名称
function
kill_ebrelayer
()
{
# shellcheck disable=SC2009
ps
-ef
|
grep
"
${
1
}
"
# shellcheck disable=SC2009
pid
=
$(
ps
-ef
|
grep
"
${
1
}
"
|
grep
-v
'grep'
|
awk
'{print $2}'
| xargs
)
if
[
"
${
pid
}
"
==
""
]
;
then
echo
"not find
${
1
}
pid"
return
fi
kill
-9
"
${
pid
}
"
sleep
1
# shellcheck disable=SC2009
pid
=
$(
ps
-ef
|
grep
"
${
1
}
"
|
grep
-v
'grep'
|
awk
'{print $2}'
| xargs
)
if
[
"
${
pid
}
"
!=
""
]
;
then
echo
"kill
${
1
}
failed"
kill
-9
"
${
pid
}
"
fi
sleep
1
}
# 判断结果是否正确
function
cli_ret
()
{
set
+x
if
[[
$#
-lt
2
]]
;
then
echo
-e
"
${
RED
}
wrong parameter
${
NOC
}
"
exit_cp_file
fi
ok
=
$(
echo
"
${
1
}
"
| jq
-r
.isOK
)
if
[[
${
ok
}
!=
"true"
]]
;
then
echo
-e
"
${
RED
}
failed to
${
2
}${
NOC
}
"
exit_cp_file
fi
local
jqMsg
=
".msg"
if
[[
$#
-ge
3
]]
;
then
jqMsg
=
"
${
3
}
"
fi
msg
=
$(
echo
"
${
1
}
"
| jq
-r
"
${
jqMsg
}
"
)
if
[[
$#
-eq
4
]]
;
then
if
[
"
$(
echo
"
$msg
<
$4
"
| bc
)
"
-eq
1
]
||
[
"
$(
echo
"
$msg
>
$4
"
| bc
)
"
-eq
1
]
;
then
echo
-e
"
${
RED
}
The balance is not correct
${
NOC
}
"
exit_cp_file
fi
fi
set
-x
echo
"
${
msg
}
"
}
# 判断 chain33 金额是否正确
function
balance_ret
()
{
set
+x
if
[[
$#
-lt
2
]]
;
then
echo
-e
"
${
RED
}
wrong parameter
${
NOC
}
"
exit_cp_file
fi
local
balance
=
$(
echo
"
${
1
}
"
| jq
-r
".balance"
)
if
[
"
$(
echo
"
$balance
<
$2
"
| bc
)
"
-eq
1
]
||
[
"
$(
echo
"
$balance
>
$2
"
| bc
)
"
-eq
1
]
;
then
echo
-e
"
${
RED
}
The balance is not correct
${
NOC
}
"
exit_cp_file
fi
set
-x
echo
"
${
balance
}
"
}
# 查询关键字所在行然后删除 ${1}文件名称 ${2}关键字
function
delete_line
()
{
line
=
$(
cat
-n
"
${
1
}
"
|
grep
"
${
2
}
"
|
awk
'{print $1}'
| xargs |
awk
'{print $1}'
)
if
[
"
${
line
}
"
]
;
then
sed
-i
"
${
line
}
"
'd'
"
${
1
}
"
# 删除行
fi
}
# 查询关键字所在行然后删除 ${1}文件名称 ${2}关键字
function
delete_line_show
()
{
local
line
=
$(
cat
-n
"
${
1
}
"
|
grep
"
${
2
}
"
|
awk
'{print $1}'
| xargs |
awk
'{print $1}'
)
if
[
"
${
line
}
"
]
;
then
sed
-i
"
${
line
}
"
'd'
"
${
1
}
"
# 删除行
line
=
$((
line
-
1
))
fi
echo
"
${
line
}
"
}
# chain33 区块等待 $1:cli 路径 $2:等待高度
function
block_wait
()
{
set
+x
local
CLI
=
${
1
}
if
[[
$#
-lt
1
]]
;
then
echo
-e
"
${
RED
}
wrong block_wait parameter
${
NOC
}
"
exit_cp_file
fi
local
cur_height
=
$(${
CLI
}
block last_header | jq
".height"
)
local
expect
=
$((
cur_height
+
${
2
}))
local
count
=
0
while
true
;
do
new_height
=
$(${
CLI
}
block last_header | jq
".height"
)
if
[[
${
new_height
}
-ge
${
expect
}
]]
;
then
break
fi
count
=
$((
count
+
1
))
sleep
1
done
count
=
$((
count
+
1
))
set
-x
echo
-e
"
${
GRE
}
chain33 wait new block
$count
s, cur height=
$expect
,old=
$cur_height
${
NOC
}
"
}
# 检查交易是否执行成功 $1:cli 路径 $2:交易hash
function
check_tx
()
{
set
+x
local
CLI
=
${
1
}
if
[[
$#
-lt
2
]]
;
then
echo
-e
"
${
RED
}
wrong check_tx parameters
${
NOC
}
"
exit_cp_file
fi
if
[[
${
2
}
==
""
]]
;
then
echo
-e
"
${
RED
}
wrong check_tx txHash is empty
${
NOC
}
"
exit_cp_file
fi
local
count
=
0
while
true
;
do
ty
=
$(${
CLI
}
tx query
-s
"
${
2
}
"
| jq .receipt.ty
)
if
[[
${
ty
}
!=
""
]]
;
then
break
fi
count
=
$((
count
+
1
))
sleep
1
if
[[
${
count
}
-ge
100
]]
;
then
echo
"chain33 query tx for too long"
break
fi
done
set
-x
ty
=
$(${
CLI
}
tx query
-s
"
${
2
}
"
| jq .receipt.ty
)
if
[[
${
ty
}
!=
2
]]
;
then
echo
-e
"
${
RED
}
check tx error, hash is
${
2
}${
NOC
}
"
exit_cp_file
fi
}
function
check_number
()
{
if
[[
$#
-lt
2
]]
;
then
echo
-e
"
${
RED
}
wrong check number parameters
${
NOC
}
"
exit_cp_file
fi
if
[
"
$(
echo
"
$1
<
$2
"
| bc
)
"
-eq
1
]
||
[
"
$(
echo
"
$1
>
$2
"
| bc
)
"
-eq
1
]
;
then
echo
-e
"
${
RED
}
error number, expect
${
1
}
, get
${
2
}${
NOC
}
"
exit_cp_file
fi
}
# 检查地址是否匹配 $1返回结果 $2匹配地址
function
check_addr
()
{
if
[[
$#
-lt
2
]]
;
then
echo
-e
"
${
RED
}
wrong check number parameters
${
NOC
}
"
exit_cp_file
fi
addr
=
$(
echo
"
${
1
}
"
| jq
-r
".acc.addr"
)
if
[[
${
addr
}
!=
"
${
2
}
"
]]
;
then
echo
-e
"
${
RED
}
error addr, expect
${
1
}
, get
${
2
}${
NOC
}
"
exit_cp_file
fi
}
# 判断结果 $1 和 $2 是否相等
function
is_equal
()
{
set
+x
if
[[
$#
-lt
2
]]
;
then
echo
-e
"
${
RED
}
wrong parameter
${
NOC
}
"
exit_cp_file
fi
if
[[
$1
!=
"
$2
"
]]
;
then
echo
-e
"
${
RED
}
$1
!=
${
2
}${
NOC
}
"
exit_cp_file
fi
set
-x
}
# 判断结果 $1 和 $2 是否不相等
function
is_not_equal
()
{
set
+x
if
[[
$#
-lt
2
]]
;
then
echo
-e
"
${
RED
}
wrong parameter
${
NOC
}
"
exit_cp_file
fi
if
[[
$1
==
"
$2
"
]]
;
then
echo
-e
"
${
RED
}
$1
==
${
2
}${
NOC
}
"
exit_cp_file
fi
set
-x
}
# import_key and transfer $1 key, $2 label, $3 addr, $4 transfer amount
function
import_addr
()
{
local
key
=
"
$1
"
local
label
=
"
$2
"
local
addr
=
"
$3
"
# shellcheck disable=SC2154
result
=
$(${
Chain33Cli
}
account import_key
-k
"
${
key
}
"
-l
"
${
label
}
"
)
check_addr
"
${
result
}
"
"
${
addr
}
"
if
[
"$#"
-eq
4
]
;
then
# shellcheck disable=SC2154
hash
=
$(${
Chain33Cli
}
send coins transfer
-a
"
$4
"
-n
test
-t
"
${
addr
}
"
-k
"
${
minerAddr
}
"
)
check_tx
"
${
Chain33Cli
}
"
"
${
hash
}
"
fi
}
function
InitChain33Account
()
{
# shellcheck disable=SC2154
import_addr
"
${
propKey
}
"
"prop"
"
${
propAddr
}
"
1000
# shellcheck disable=SC2154
import_addr
"
${
votePrKey2
}
"
"vote2"
"
${
voteAddr2
}
"
100
# shellcheck disable=SC2154
import_addr
"
${
votePrKey3
}
"
"vote3"
"
${
voteAddr3
}
"
100
# import_addr "${votePrKey}" "vote" "${voteAddr}" 3200
# shellcheck disable=SC2154
import_addr
"
${
changeKey
}
"
"changeTest"
"
${
changeAddr
}
"
10
autonomyAddr
=
$(${
Chain33Cli
}
exec
addr
-e
autonomy
)
# ticketAddr=$(${Chain33Cli} exec addr -e ticket)
hash
=
$(${
Chain33Cli
}
send coins transfer
-a
900
-n
test
-t
"
${
autonomyAddr
}
"
-k
"
${
propKey
}
"
)
check_tx
"
${
Chain33Cli
}
"
"
${
hash
}
"
# hash=$(${Chain33Cli} send coins transfer -a 3100 -n test -t "${ticketAddr}" -k "${votePrKey}")
# check_tx "${Chain33Cli}" "${hash}"
# shellcheck disable=SC2154
# hash=$(${Chain33Cli} send coins transfer -a 10 -n test -t "${voteAddr2}" -k "${minerAddr}")
# check_tx "${Chain33Cli}" "${hash}"
local
count
=
0
# shellcheck disable=SC2154
# shellcheck disable=SC2068
for
key
in
${
arrayKey
[@]
}
do
import_addr
"
${
key
}
"
"board
${
count
}
"
"
${
arrayAddr
[count]
}
"
100
count
=
$((
count
+
1
))
done
}
# chian33 初始化准备
function
InitChain33
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
# init
# ${Chain33Cli} seed save -p 1314fuzamei -s "tortoise main civil member grace happy century convince father cage beach hip maid merry rib"
# ${Chain33Cli} wallet unlock -p 1314fuzamei -t 0
# ${Chain33Cli} account import_key -k CC38546E9E659D15E6B4893F0AB32A06D103931A8230B0BDE71459D2B27D6944 -l returnAddr
InitChain33Account
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
function
StartChain33
()
{
# kill_ebrelayer chain33
# sleep 2
#
# # delete chain33 datadir
# rm ../../datadir ../../logs -rf
#
# nohup ../../chain33 -f ./ci/autonomy/test.toml >chain33log.log 2>&1 &
#
# sleep 1
InitChain33
}
\ No newline at end of file
plugin/dapp/autonomy/cmd/build/testcase.sh
0 → 100755
View file @
419e010a
#!/usr/bin/env bash
# shellcheck disable=SC2128
# shellcheck source=/dev/null
source
"./autonomyTest.sh"
function
autonomy
()
{
if
[
"
${
2
}
"
==
"test"
]
;
then
echo
"========================== autonomy test =========================="
set
+e
set
-x
mainTest
echo
"========================== autonomy test end =========================="
fi
}
plugin/dapp/autonomy/cmd/test/test-rpc.sh
View file @
419e010a
...
...
@@ -8,13 +8,20 @@ HTTP=""
EXECTOR
=
""
EXECTOR_ADDR
=
""
TICKET_EXECTOR
=
""
TICKET_ADDR
=
""
propKey
=
"0xfd0c4a8a1efcd221ee0f36b7d4f57d8ff843cb8bc193b39c7863332d355acafa"
propAddr
=
"15VUiygdxMSZ3rykwe742yomp2cPJ9Tfve"
votePrKey
=
"1c3e6cac2f887e1ab9180e2d5772dc4ba01accb8d4df434faba097003eb35482"
voteAddr
=
"1Q9sQwothzM1gKSzkVZ8Dt1tqKX1uzSagx"
#votePrKey="1c3e6cac2f887e1ab9180e2d5772dc4ba01accb8d4df434faba097003eb35482"
#voteAddr="1Q9sQwothzM1gKSzkVZ8Dt1tqKX1uzSagx"
voteAddr
=
"14KEKbYtKKQm4wMthSK9J4La4nAiidGozt"
votePrKey
=
"CC38546E9E659D15E6B4893F0AB32A06D103931A8230B0BDE71459D2B27D6944"
#14KEKbYtKKQm4wMthSK9J4La4nAiidGozt
voteAddr2
=
"1EbDHAXpoiewjPLX9uqoz38HsKqMXayZrF"
votePrKey2
=
"B0BB75BC49A787A71F4834DA18614763B53A18291ECE6B5EDEC3AD19D150C3E7"
#1EbDHAXpoiewjPLX9uqoz38HsKqMXayZrF
voteAddr3
=
"1KcCVZLSQYRUwE5EXTsAoQs9LuJW6xwfQa"
votePrKey3
=
"2AFF1981291355322C7A6308D46A9C9BA311AA21D94F36B43FC6A6021A1334CF"
proposalRuleID
=
""
proposalBoardID
=
""
...
...
@@ -100,11 +107,7 @@ boards='
"'
${
boardsAddr
[19]
}
'",
"'
${
boardsAddr
[20]
}
'"
'
chain33_para_init
()
{
ip
=
$1
chain33_ImportPrivkey
"
${
votePrKey
}
"
"
${
voteAddr
}
"
"autonomytest"
"
${
ip
}
"
chain33_SendToAddress
"12qyocayNF7Lv6C9qW4avxs2E7U41fKSfv"
"
$voteAddr
"
630000000000
"
${
ip
}
"
}
chain33_applyCoinsNOLimit
()
{
echo
"chain33_getMainChainCoins"
if
[
"$#"
-lt
3
]
;
then
...
...
@@ -117,6 +120,7 @@ chain33_applyCoinsNOLimit() {
local
poolAddr
=
"1PcGKYYoLn1PLLJJodc1UpgWGeFAQasAkx"
chain33_SendToAddress
"
${
poolAddr
}
"
"
${
targetAddr
}
"
"
$count
"
"
${
ip
}
"
chain33_QueryBalance
"
${
targetAddr
}
"
"
${
ip
}
"
}
handleBoards
()
{
...
...
@@ -220,6 +224,7 @@ testProposalBoard() {
#vote
chain33_BlockWait 100
"
$HTTP
"
voteBoardTx
"
${
proposalBoardID
}
"
"
${
votePrKey
}
"
voteBoardTx
"
${
proposalBoardID
}
"
"
${
votePrKey2
}
"
#query
queryProposal
"
${
proposalBoardID
}
"
"GetProposalBoard"
listProposal 4
"ListProposalBoard"
...
...
@@ -276,6 +281,8 @@ testProposalRule() {
#vote
chain33_BlockWait 100
"
$HTTP
"
voteRuleTx
"
${
proposalRuleID
}
"
${
votePrKey
}
voteRuleTx
"
${
proposalRuleID
}
"
"
${
votePrKey2
}
"
voteRuleTx
"
${
proposalRuleID
}
"
"
${
votePrKey3
}
"
#query
queryProposal
"
${
proposalRuleID
}
"
"GetProposalRule"
listProposal 4
"ListProposalRule"
...
...
@@ -457,45 +464,43 @@ init() {
if
[
"
$ispara
"
==
true
]
;
then
EXECTOR_ADDR
=
$(
curl
-ksd
'{"method":"Chain33.ConvertExectoAddr","params":[{"execname":"user.p.para.autonomy"}]}'
"
${
HTTP
}
"
| jq
-r
".result"
)
EXECTOR
=
"user.p.para.autonomy"
TICKET_ADDR
=
$(
curl
-ksd
'{"method":"Chain33.ConvertExectoAddr","params":[{"execname":"user.p.para.ticket"}]}'
"
${
HTTP
}
"
| jq
-r
".result"
)
TICKET_EXECTOR
=
"user.p.para.ticket"
else
EXECTOR_ADDR
=
$(
curl
-ksd
'{"method":"Chain33.ConvertExectoAddr","params":[{"execname":"autonomy"}]}'
"
${
HTTP
}
"
| jq
-r
".result"
)
EXECTOR
=
"autonomy"
TICKET_ADDR
=
$(
curl
-ksd
'{"method":"Chain33.ConvertExectoAddr","params":[{"execname":"ticket"}]}'
"
${
HTTP
}
"
| jq
-r
".result"
)
TICKET_EXECTOR
=
"ticket"
fi
echo
"EXECTOR_ADDR=
$EXECTOR_ADDR
"
local
main_ip
=
${
HTTP
//8901/8801
}
chain33_ImportPrivkey
"
${
propKey
}
"
"
${
propAddr
}
"
"prop"
"
${
main_ip
}
"
chain33_ImportPrivkey
"
${
votePrKey2
}
"
"
${
voteAddr2
}
"
"voteAddr2"
"
${
main_ip
}
"
chain33_ImportPrivkey
"
${
votePrKey3
}
"
"
${
voteAddr3
}
"
"voteAddr3"
"
${
main_ip
}
"
if
[
"
$ispara
"
==
false
]
;
then
chain33_applyCoinsNOLimit
"
$propAddr
"
100000000000
"
${
main_ip
}
"
chain33_QueryBalance
"
${
propAddr
}
"
"
$main_ip
"
chain33_applyCoinsNOLimit
"
${
voteAddr
}
"
10000000000
"
${
main_ip
}
"
chain33_applyCoinsNOLimit
"
${
voteAddr2
}
"
10000000000
"
${
main_ip
}
"
chain33_applyCoinsNOLimit
"
${
voteAddr3
}
"
10000000000
"
${
main_ip
}
"
else
chain33_applyCoins
"
$propAddr
"
1000000000
"
${
main_ip
}
"
chain33_QueryBalance
"
${
propAddr
}
"
"
$main_ip
"
chain33_applyCoinsNOLimit
"
$propAddr
"
1000000000
"
${
main_ip
}
"
#主链投票账户转帐
handleBoards
"
$main_ip
"
local
para_ip
=
"
${
HTTP
}
"
chain33_ImportPrivkey
"
${
propKey
}
"
"
${
propAddr
}
"
"prop"
"
$para_ip
"
chain33_ImportPrivkey
"
${
votePrKey2
}
"
"
${
voteAddr2
}
"
"voteAddr2"
"
${
para_ip
}
"
chain33_ImportPrivkey
"
${
votePrKey3
}
"
"
${
voteAddr3
}
"
"voteAddr3"
"
${
para_ip
}
"
#平行链中账户转帐
chain33_applyCoinsNOLimit
"
$propAddr
"
100000000000
"
$para_ip
"
chain33_QueryBalance
"
$propAddr
"
"
$para_ip
"
chain33_para_init
"
$para_ip
"
chain33_applyCoinsNOLimit
"
${
voteAddr
}
"
10000000000
"
${
para_ip
}
"
chain33_applyCoinsNOLimit
"
${
voteAddr2
}
"
10000000000
"
${
para_ip
}
"
chain33_applyCoinsNOLimit
"
${
voteAddr3
}
"
10000000000
"
${
para_ip
}
"
fi
# 往合约中转
chain33_SendToAddress
"
$propAddr
"
"
$EXECTOR_ADDR
"
90000000000
"
$HTTP
"
chain33_QueryExecBalance
"
$propAddr
"
"
$EXECTOR
"
"
$HTTP
"
# 往ticket合约中转帐
chain33_SendToAddress
"
$voteAddr
"
"
$TICKET_ADDR
"
300100000000
"
$HTTP
"
chain33_QueryExecBalance
"
$voteAddr
"
"
$TICKET_EXECTOR
"
"
$HTTP
"
# 往投票账户中转帐
handleBoards
"
$HTTP
"
}
...
...
plugin/dapp/autonomy/commands/proposal_board.go
View file @
419e010a
...
...
@@ -88,7 +88,7 @@ func addProposalBoardFlags(cmd *cobra.Command) {
cmd
.
Flags
()
.
Int32P
(
"month"
,
"m"
,
0
,
"month"
)
cmd
.
Flags
()
.
Int32P
(
"day"
,
"d"
,
0
,
"day"
)
cmd
.
Flags
()
.
BoolP
(
"update"
,
"u"
,
false
,
"replace or update boards, default is replace(false); update(true)
"
)
cmd
.
Flags
()
.
Int32P
(
"update"
,
"u"
,
1
,
"addr delete or replace boards, 1:add, 2:delete, 3:replace all, default is 1
"
)
cmd
.
Flags
()
.
Int64P
(
"startBlock"
,
"s"
,
0
,
"start block height"
)
cmd
.
MarkFlagRequired
(
"startBlock"
)
cmd
.
Flags
()
.
Int64P
(
"endBlock"
,
"e"
,
0
,
"end block height"
)
...
...
@@ -106,7 +106,7 @@ func proposalBoard(cmd *cobra.Command, args []string) {
month
,
_
:=
cmd
.
Flags
()
.
GetInt32
(
"month"
)
day
,
_
:=
cmd
.
Flags
()
.
GetInt32
(
"day"
)
update
,
_
:=
cmd
.
Flags
()
.
Get
Bool
(
"update"
)
update
,
_
:=
cmd
.
Flags
()
.
Get
Int32
(
"update"
)
startBlock
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"startBlock"
)
endBlock
,
_
:=
cmd
.
Flags
()
.
GetInt64
(
"endBlock"
)
boardstr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"boards"
)
...
...
@@ -117,7 +117,7 @@ func proposalBoard(cmd *cobra.Command, args []string) {
Year
:
year
,
Month
:
month
,
Day
:
day
,
Update
:
update
,
BoardUpdate
:
auty
.
BoardUpdate
(
update
)
,
Boards
:
boards
,
StartBlockHeight
:
startBlock
,
EndBlockHeight
:
endBlock
,
...
...
plugin/dapp/autonomy/commands/proposal_project.go
View file @
419e010a
...
...
@@ -54,7 +54,7 @@ func addProposalProjectFlags(cmd *cobra.Command) {
cmd
.
Flags
()
.
Int64P
(
"endBlock"
,
"e"
,
0
,
"end block height"
)
cmd
.
MarkFlagRequired
(
"endBlock"
)
cmd
.
Flags
()
.
Int32P
(
"projectNeedBlockNum"
,
"n"
,
0
,
"project complete need time(unit is block number)"
)
cmd
.
MarkFlagRequired
(
"projectNeedBlockNum"
)
//
cmd.MarkFlagRequired("projectNeedBlockNum")
}
func
proposalProject
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
...
...
plugin/dapp/autonomy/executor/autonomy.go
View file @
419e010a
...
...
@@ -15,6 +15,7 @@ import (
type
subConfig
struct
{
Total
string
`json:"total"`
UseBalance
bool
`json:"useBalance"`
Execer
string
`json:"execer"`
}
var
(
...
...
plugin/dapp/autonomy/executor/boardaction.go
View file @
419e010a
...
...
@@ -499,6 +499,7 @@ func (a *action) getTotalVotes(height int64) (int32, error) {
addr
=
subcfg
.
Total
}
voteAccount
,
err
:=
a
.
getStartHeightVoteAccount
(
addr
,
""
,
height
)
if
err
!=
nil
{
return
0
,
err
}
...
...
@@ -539,7 +540,11 @@ func (a *action) batchGetAddressVotes(addrs []string, height int64) (int32, erro
}
func
(
a
*
action
)
getAddressVotes
(
addr
string
,
height
int64
)
(
int32
,
error
)
{
voteAccount
,
err
:=
a
.
getStartHeightVoteAccount
(
addr
,
ticketName
,
height
)
execer
:=
ticketName
if
subcfg
.
Execer
!=
""
{
execer
=
subcfg
.
Execer
}
voteAccount
,
err
:=
a
.
getStartHeightVoteAccount
(
addr
,
execer
,
height
)
if
err
!=
nil
{
return
0
,
err
}
...
...
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