func NewUpdateAuth(account eos.AccountName, permission, parent eos.PermissionName, authority eos.Authority, usingPermission eos.PermissionName) *eos.Action {
	a := &eos.Action{
		Account: AN("eosio"),
		Name:    ActN("updateauth"),
		Authorization: []eos.PermissionLevel{
			{account, usingPermission},
		},
		ActionData: eos.NewActionData(UpdateAuth{
			Account:    account,
			Permission: permission,
			Parent:     parent,
			Auth:       authority,
		}),
	}
	return a
}
NewUpdateAuth creates an action from the `eosio.system` contract
called `updateauth`.

usingPermission needs to be `owner` if you want to modify the
`owner` authorization, otherwise `active` will do for the rest.
package system
import "github.com/eoscanada/eos-go"