forked from eoscanada/eos-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
propose.go
25 lines (22 loc) · 835 Bytes
/
propose.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package msig
import (
eos "github.com/eoscanada/eos-go"
)
// NewPropose returns a `propose` action that lives on the
// `eosio.msig` contract.
func NewPropose(proposer eos.AccountName, proposalName eos.Name, requested []eos.PermissionLevel, transaction *eos.Transaction) *eos.Action {
return &eos.Action{
Account: eos.AccountName("eosio.msig"),
Name: eos.ActionName("propose"),
Authorization: []eos.PermissionLevel{
{Actor: proposer, Permission: eos.PermissionName("active")},
},
ActionData: eos.NewActionData(Propose{proposer, proposalName, requested, transaction}),
}
}
type Propose struct {
Proposer eos.AccountName `json:"proposer"`
ProposalName eos.Name `json:"proposal_name"`
Requested []eos.PermissionLevel `json:"requested"`
Transaction *eos.Transaction `json:"trx"`
}