diff --git a/pkg/workflows/cmd/gen_owners/main.go b/pkg/workflows/cmd/gen_owners/main.go new file mode 100644 index 000000000..c166af8e0 --- /dev/null +++ b/pkg/workflows/cmd/gen_owners/main.go @@ -0,0 +1,30 @@ +// gen_owners derives workflow owner addresses from org IDs. +// Usage: go run ./pkg/workflows/cmd/gen_owners org_abc org_def org_xyz +package main + +import ( + "encoding/hex" + "fmt" + "os" + + "github.com/smartcontractkit/chainlink-common/pkg/workflows" +) + +func main() { + orgIDs := os.Args[1:] + if len(orgIDs) == 0 { + fmt.Fprintln(os.Stderr, "usage: gen_owners ...") + os.Exit(1) + } + + fmt.Printf("%-40s %s\n", "orgID", "workflowOwner") + fmt.Printf("%-40s %s\n", "-----", "-------------") + for _, orgID := range orgIDs { + addr, err := workflows.GenerateWorkflowOwnerAddress("1", orgID) + if err != nil { + fmt.Fprintf(os.Stderr, "error for %s: %v\n", orgID, err) + continue + } + fmt.Printf("%-40s 0x%s\n", orgID, hex.EncodeToString(addr)) + } +}