Skip to content

Commit

Permalink
Fixed multisig list to show even when no approval given yet
Browse files Browse the repository at this point in the history
  • Loading branch information
fproulx-dfuse committed May 21, 2019
1 parent 8bff850 commit 6e8e306
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 10 deletions.
42 changes: 38 additions & 4 deletions eosc/cmd/msigList.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,38 @@ var msigListCmd = &cobra.Command{
proposer := toAccount(args[0], "proposer")

response, err := api.GetTableRows(
eos.GetTableRowsRequest{
Code: "eosio.msig",
Scope: string(proposer),
Table: "proposal",
JSON: true,
},
)
errorCheck("get table row", err)

var proposals []proposalRow
err = response.JSONToStructs(&proposals)
errorCheck("reading proposal list", err)

if printJSON, _ := cmd.Flags().GetBool("json"); printJSON == true {
data, err := json.MarshalIndent(proposals, "", " ")
errorCheck("json marshal", err)
fmt.Println(string(data))
return
}

if len(proposals) == 0 {
errorCheck("No multisig proposal found", fmt.Errorf("not found"))
} else {
fmt.Println("All active proposals")
fmt.Println("---------------------")
for _, proposal := range proposals {
fmt.Println("Proposal name:", proposal.ProposalName)
}
fmt.Println("---------------------")
}

response, err = api.GetTableRows(
eos.GetTableRowsRequest{
Code: "eosio.msig",
Scope: string(proposer),
Expand All @@ -32,7 +64,7 @@ var msigListCmd = &cobra.Command{

var approvals []approvalRow
err = response.JSONToStructs(&approvals)
errorCheck("reading approvals_info list", err)
errorCheck("reading approval_info list", err)

if printJSON, _ := cmd.Flags().GetBool("json"); printJSON == true {
data, err := json.MarshalIndent(approvals, "", " ")
Expand All @@ -45,12 +77,13 @@ var msigListCmd = &cobra.Command{
info.Show()
fmt.Println()
}
if len(approvals) == 0 {
errorCheck("No multisig proposal found", fmt.Errorf("not found"))
}
},
}

type proposalRow struct {
ProposalName eos.Name `json:"proposal_name"`
Transaction eos.HexBytes `json:"packed_transaction"`
}
type approvalRow struct {
ProposalName eos.Name `json:"proposal_name"`
RequestedApprovals []eos.PermissionLevel `json:"requested_approvals"`
Expand All @@ -63,6 +96,7 @@ func (a approvalRow) Show() {
fmt.Print(formatAuths(a.RequestedApprovals))
fmt.Println("Provided approvals:")
fmt.Print(formatAuths(a.ProvidedApprovals))
fmt.Println("---------------------")
}

func formatAuths(perms []eos.PermissionLevel) string {
Expand Down
12 changes: 6 additions & 6 deletions eosc/cmd/msigReview.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,17 @@ var msigReviewCmd = &cobra.Command{
)
errorCheck("get table row", err)

var transactions []struct {
var proposals []struct {
ProposalName eos.Name `json:"proposal_name"`
Transaction eos.HexBytes `json:"packed_transaction"`
}
err = response.JSONToStructs(&transactions)
errorCheck("reading proposed transactions", err)
err = response.JSONToStructs(&proposals)
errorCheck("reading proposed proposals", err)

var tx *eos.Transaction
for _, txData := range transactions {
if txData.ProposalName == proposalName {
err := eos.UnmarshalBinary(txData.Transaction, &tx)
for _, proposalRow := range proposals {
if proposalRow.ProposalName == proposalName {
err := eos.UnmarshalBinary(proposalRow.Transaction, &tx)
errorCheck("unmarshalling packed transaction", err)

ana := analysis.NewAnalyzer(viper.GetBool("multisig-review-cmd-dump"))
Expand Down

0 comments on commit 6e8e306

Please sign in to comment.