Skip to content

Commit 8b49364

Browse files
bdchathamshrimalmadhur
authored andcommitted
Refactoring user commands to remove user nomenclature and replacing with appointee (#254)
Co-authored-by: Brandon Chatham <[email protected]>
1 parent ba86af9 commit 8b49364

18 files changed

+185
-189
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ require (
1010
//<<<<<<< HEAD
1111
// github.com/Layr-Labs/eigensdk-go v0.1.14-0.20241212190947-9985122d81fe
1212
//=======
13-
github.com/Layr-Labs/eigensdk-go v0.1.14-0.20241211204646-f49e96f7ee7a
13+
github.com/Layr-Labs/eigensdk-go v0.1.14-0.20241212003044-37139a7d8ea8
1414
github.com/blang/semver/v4 v4.0.0
1515
github.com/consensys/gnark-crypto v0.12.1
1616
github.com/ethereum/go-ethereum v1.14.5

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ github.com/Layr-Labs/eigenlayer-rewards-proofs v0.2.12 h1:G5Q1SnLmFbEjhOkky3vIHk
1212
github.com/Layr-Labs/eigenlayer-rewards-proofs v0.2.12/go.mod h1:OlJd1QjqEW53wfWG/lJyPCGvrXwWVEjPQsP4TV+gttQ=
1313
github.com/Layr-Labs/eigenpod-proofs-generation v0.0.14-stable.0.20240730152248-5c11a259293e h1:DvW0/kWHV9mZsbH2KOjEHKTSIONNPUj6X05FJvUohy4=
1414
github.com/Layr-Labs/eigenpod-proofs-generation v0.0.14-stable.0.20240730152248-5c11a259293e/go.mod h1:T7tYN8bTdca2pkMnz9G2+ZwXYWw5gWqQUIu4KLgC/vM=
15-
github.com/Layr-Labs/eigensdk-go v0.1.14-0.20241211204646-f49e96f7ee7a h1:U1pibFpUsMfL8h9EGrHtm/z94nKKuEvLdWEpkCkCZr4=
16-
github.com/Layr-Labs/eigensdk-go v0.1.14-0.20241211204646-f49e96f7ee7a/go.mod h1:aYdNURUhaqeYOS+Cq12TfSdPbjFfiLaHkxPdR4Exq/s=
15+
github.com/Layr-Labs/eigensdk-go v0.1.14-0.20241212003044-37139a7d8ea8 h1:flOwiF9Z9xburwDodNbd6VBi8rzzNSbRy2KG5kqoAak=
16+
github.com/Layr-Labs/eigensdk-go v0.1.14-0.20241212003044-37139a7d8ea8/go.mod h1:aYdNURUhaqeYOS+Cq12TfSdPbjFfiLaHkxPdR4Exq/s=
1717
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
1818
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
1919
github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8=

pkg/user/admin/flags.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,6 @@ var (
1515
Usage: "user admin ... --admin-address \"0x...\"",
1616
EnvVars: []string{"ADMIN_ADDRESS"},
1717
}
18-
CallerAddressFlag = cli.StringFlag{
19-
Name: "caller-address",
20-
Aliases: []string{"ca"},
21-
Usage: "user admin ... --caller-address \"0x...\"",
22-
EnvVars: []string{"CALLER_ADDRESS"},
23-
}
2418
PendingAdminAddressFlag = cli.StringFlag{
2519
Name: "pending-admin-address",
2620
Aliases: []string{"paa"},

pkg/user/admin/is_admin.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ type IsAdminReader interface {
2929
func IsAdminCmd(readerGenerator func(logging.Logger, *isAdminConfig) (IsAdminReader, error)) *cli.Command {
3030
cmd := &cli.Command{
3131
Name: "is-admin",
32-
Usage: "user admin is-admin --account-address <AccountAddress> --caller-address <CallerAddress>",
32+
Usage: "user admin is-admin --account-address <AccountAddress> --admin-address <AdminAddress>",
3333
UsageText: "Checks if a user is an admin.",
3434
Description: `
3535
Checks if a user is an admin.
@@ -133,7 +133,7 @@ func IsAdminFlags() []cli.Flag {
133133
cmdFlags := []cli.Flag{
134134
&flags.VerboseFlag,
135135
&AccountAddressFlag,
136-
&CallerAddressFlag,
136+
&AdminAddressFlag,
137137
&PermissionControllerAddressFlag,
138138
&flags.NetworkFlag,
139139
&flags.EnvironmentFlag,

pkg/user/admin/is_admin_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func TestIsAdminCmd_Success(t *testing.T) {
4444
"TestIsAdminCmd_Success",
4545
"is-admin",
4646
"--account-address", "0xabcdef1234567890abcdef1234567890abcdef12",
47-
"--caller-address", "0x1234567890abcdef1234567890abcdef12345678",
47+
"--admin-address", "0x1234567890abcdef1234567890abcdef12345678",
4848
"--eth-rpc-url", "https://ethereum-holesky.publicnode.com/",
4949
"--network", "holesky",
5050
}
@@ -63,7 +63,7 @@ func TestIsAdminCmd_NotAdmin(t *testing.T) {
6363
"TestIsAdminCmd_NotAdmin",
6464
"is-admin",
6565
"--account-address", "0xabcdef1234567890abcdef1234567890abcdef12",
66-
"--caller-address", "0x1234567890abcdef1234567890abcdef12345678",
66+
"--admin-address", "0x1234567890abcdef1234567890abcdef12345678",
6767
"--eth-rpc-url", "https://ethereum-holesky.publicnode.com/",
6868
"--network", "holesky",
6969
}
@@ -85,7 +85,7 @@ func TestIsAdminCmd_GeneratorError(t *testing.T) {
8585
"TestIsAdminCmd_GeneratorError",
8686
"is-admin",
8787
"--account-address", "0xabcdef1234567890abcdef1234567890abcdef12",
88-
"--caller-address", "0x1234567890abcdef1234567890abcdef12345678",
88+
"--admin-address", "0x1234567890abcdef1234567890abcdef12345678",
8989
"--eth-rpc-url", "https://ethereum-holesky.publicnode.com/",
9090
"--network", "holesky",
9191
}
@@ -106,7 +106,7 @@ func TestIsAdminCmd_IsAdminError(t *testing.T) {
106106
"TestIsAdminCmd_IsAdminError",
107107
"is-admin",
108108
"--account-address", "0xabcdef1234567890abcdef1234567890abcdef12",
109-
"--caller-address", "0x1234567890abcdef1234567890abcdef12345678",
109+
"--admin-address", "0x1234567890abcdef1234567890abcdef12345678",
110110
"--eth-rpc-url", "https://ethereum-holesky.publicnode.com/",
111111
"--network", "holesky",
112112
}

pkg/user/appointee/appointee.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ func AppointeeCmd(prompter utils.Prompter) *cli.Command {
2121
},
2222
Subcommands: []*cli.Command{
2323
BatchSetCmd(),
24-
canCallCmd(generateUserCanCallReader),
25-
ListCmd(generateListUsersReader),
26-
ListPermissionsCmd(generateListUserPermissionsReader),
27-
RemoveCmd(generateRemoveUserPermissionWriter(prompter)),
28-
SetCmd(generateSetUserPermissionWriter(prompter)),
24+
canCallCmd(generateCanCallReader),
25+
ListCmd(generateListAppointeesReader),
26+
ListPermissionsCmd(generateListAppointeePermissionsReader),
27+
RemoveCmd(generateRemoveAppointeePermissionWriter(prompter)),
28+
SetCmd(generateSetAppointeePermissionWriter(prompter)),
2929
},
3030
}
3131

pkg/user/appointee/can_call.go

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,23 @@ import (
1717
"github.com/urfave/cli/v2"
1818
)
1919

20-
type UserCanCallReader interface {
21-
UserCanCall(
20+
type CanCallReader interface {
21+
CanCall(
2222
ctx context.Context,
23-
userAddress gethcommon.Address,
24-
callerAddress gethcommon.Address,
23+
accountAddress gethcommon.Address,
24+
appointeeAddress gethcommon.Address,
2525
target gethcommon.Address,
2626
selector [4]byte,
2727
) (bool, error)
2828
}
2929

30-
func canCallCmd(readerGenerator func(logging.Logger, *canCallConfig) (UserCanCallReader, error)) *cli.Command {
30+
func canCallCmd(readerGenerator func(logging.Logger, *canCallConfig) (CanCallReader, error)) *cli.Command {
3131
cmd := &cli.Command{
3232
Name: "can-call",
33-
Usage: "user appointee can-call --account-address <AccountsAddress> --caller-address <CallerAddress> --taget-address <TargetAddress> --selector <Selector>",
34-
UsageText: "Checks if a user has a specific permission.",
33+
Usage: "user appointee can-call --account-address <AccountsAddress> --appointee-address <AppointeeAddress> --target-address <TargetAddress> --selector <Selector>",
34+
UsageText: "Checks if an appointee has a specific permission.",
3535
Description: `
36-
Checks if a user has a specific permission.
36+
Checks if an appointee has a specific permission.
3737
`,
3838
Action: func(c *cli.Context) error {
3939
return canCall(c, readerGenerator)
@@ -45,11 +45,11 @@ func canCallCmd(readerGenerator func(logging.Logger, *canCallConfig) (UserCanCal
4545
return cmd
4646
}
4747

48-
func canCall(cliCtx *cli.Context, generator func(logging.Logger, *canCallConfig) (UserCanCallReader, error)) error {
48+
func canCall(cliCtx *cli.Context, generator func(logging.Logger, *canCallConfig) (CanCallReader, error)) error {
4949
ctx := cliCtx.Context
5050
logger := common.GetLogger(cliCtx)
5151

52-
config, err := readAndValidateUserConfig(cliCtx, logger)
52+
config, err := readAndValidateCanCallConfig(cliCtx, logger)
5353
if err != nil {
5454
return eigenSdkUtils.WrapError("failed to read and validate user can call config", err)
5555
}
@@ -59,15 +59,20 @@ func canCall(cliCtx *cli.Context, generator func(logging.Logger, *canCallConfig)
5959
return err
6060
}
6161

62-
result, err := elReader.UserCanCall(ctx, config.UserAddress, config.CallerAddress, config.Target, config.Selector)
62+
result, err := elReader.CanCall(ctx, config.AppointeeAddress, config.AccountAddress, config.Target, config.Selector)
6363
fmt.Printf("CanCall Result: %v\n", result)
64-
fmt.Printf("Selector, Target and User: %s, %x, %s\n", config.Target, string(config.Selector[:]), config.UserAddress)
64+
fmt.Printf(
65+
"Selector, Target and Appointee: %s, %x, %s\n",
66+
config.Target,
67+
string(config.Selector[:]),
68+
config.AppointeeAddress,
69+
)
6570
return err
6671
}
6772

68-
func readAndValidateUserConfig(cliContext *cli.Context, logger logging.Logger) (*canCallConfig, error) {
69-
userAddress := gethcommon.HexToAddress(cliContext.String(AccountAddressFlag.Name))
70-
callerAddress := gethcommon.HexToAddress(cliContext.String(CallerAddressFlag.Name))
73+
func readAndValidateCanCallConfig(cliContext *cli.Context, logger logging.Logger) (*canCallConfig, error) {
74+
accountAddress := gethcommon.HexToAddress(cliContext.String(AccountAddressFlag.Name))
75+
appointeeAddress := gethcommon.HexToAddress(cliContext.String(AppointeeAddressFlag.Name))
7176
ethRpcUrl := cliContext.String(flags.ETHRpcUrlFlag.Name)
7277
network := cliContext.String(flags.NetworkFlag.Name)
7378
environment := cliContext.String(flags.EnvironmentFlag.Name)
@@ -103,8 +108,8 @@ func readAndValidateUserConfig(cliContext *cli.Context, logger logging.Logger) (
103108
return &canCallConfig{
104109
Network: network,
105110
RPCUrl: ethRpcUrl,
106-
UserAddress: userAddress,
107-
CallerAddress: callerAddress,
111+
AccountAddress: accountAddress,
112+
AppointeeAddress: appointeeAddress,
108113
Target: target,
109114
Selector: selectorBytes,
110115
PermissionManagerAddress: gethcommon.HexToAddress(permissionManagerAddress),
@@ -113,10 +118,10 @@ func readAndValidateUserConfig(cliContext *cli.Context, logger logging.Logger) (
113118
}, nil
114119
}
115120

116-
func generateUserCanCallReader(
121+
func generateCanCallReader(
117122
logger logging.Logger,
118123
config *canCallConfig,
119-
) (UserCanCallReader, error) {
124+
) (CanCallReader, error) {
120125
ethClient, err := ethclient.Dial(config.RPCUrl)
121126
if err != nil {
122127
return nil, eigenSdkUtils.WrapError("failed to create new eth client", err)
@@ -134,7 +139,7 @@ func generateUserCanCallReader(
134139
func canCallFlags() []cli.Flag {
135140
cmdFlags := []cli.Flag{
136141
&AccountAddressFlag,
137-
&CallerAddressFlag,
142+
&AppointeeAddressFlag,
138143
&TargetAddressFlag,
139144
&SelectorFlag,
140145
&PermissionControllerAddressFlag,

pkg/user/appointee/can_call_test.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,36 +14,36 @@ import (
1414
type mockElChainReader struct {
1515
canCallFunc func(
1616
ctx context.Context,
17-
userAddress gethcommon.Address,
18-
callerAddress gethcommon.Address,
17+
accountAddress gethcommon.Address,
18+
appointeeAddress gethcommon.Address,
1919
target gethcommon.Address,
2020
selector [4]byte,
2121
) (bool, error)
2222
}
2323

2424
func newMockElChainReader() mockElChainReader {
2525
return mockElChainReader{
26-
canCallFunc: func(ctx context.Context, userAddress, callerAddress, target gethcommon.Address, selector [4]byte) (bool, error) {
26+
canCallFunc: func(ctx context.Context, accountAddress, appointeeAddress, target gethcommon.Address, selector [4]byte) (bool, error) {
2727
return true, nil
2828
},
2929
}
3030
}
3131

3232
func newErrorMockElChainReader(expectedError string) mockElChainReader {
3333
return mockElChainReader{
34-
canCallFunc: func(ctx context.Context, userAddress, callerAddress, target gethcommon.Address, selector [4]byte) (bool, error) {
34+
canCallFunc: func(ctx context.Context, accountAddress, appointeeAddress, target gethcommon.Address, selector [4]byte) (bool, error) {
3535
return false, errors.New(expectedError)
3636
},
3737
}
3838
}
3939

40-
func (m *mockElChainReader) UserCanCall(
40+
func (m *mockElChainReader) CanCall(
4141
ctx context.Context,
42-
userAddress, callerAddress,
42+
accountAddress, appointeeAddress,
4343
target gethcommon.Address,
4444
selector [4]byte,
4545
) (bool, error) {
46-
return m.canCallFunc(ctx, userAddress, callerAddress, target, selector)
46+
return m.canCallFunc(ctx, accountAddress, appointeeAddress, target, selector)
4747
}
4848

4949
func TestCanCallCmd_Success(t *testing.T) {
@@ -54,7 +54,7 @@ func TestCanCallCmd_Success(t *testing.T) {
5454
"TestCanCallCmd_Success",
5555
"can-call",
5656
"--account-address", "0x1234567890abcdef1234567890abcdef12345678",
57-
"--caller-address", "0x9876543210fedcba9876543210fedcba98765432",
57+
"--appointee-address", "0x9876543210fedcba9876543210fedcba98765432",
5858
"--target-address", "0xabcdef1234567890abcdef1234567890abcdef12",
5959
"--selector", "0x1A2B3C4D",
6060
"--network", "holesky",
@@ -66,22 +66,22 @@ func TestCanCallCmd_Success(t *testing.T) {
6666
assert.NoError(t, err)
6767
}
6868

69-
func TestCanCallCmd_UserCanCallError(t *testing.T) {
69+
func TestCanCallCmd_CanCallError(t *testing.T) {
7070
errString := "Error while executing call from reader"
7171
mockReader := newErrorMockElChainReader(errString)
7272

7373
app := cli.NewApp()
7474
app.Commands = []*cli.Command{
75-
canCallCmd(func(logger logging.Logger, config *canCallConfig) (UserCanCallReader, error) {
76-
return UserCanCallReader(&mockReader), nil
75+
canCallCmd(func(logger logging.Logger, config *canCallConfig) (CanCallReader, error) {
76+
return CanCallReader(&mockReader), nil
7777
}),
7878
}
7979

8080
args := []string{
81-
"TestCanCallCmd_UserCanCallError",
81+
"TestCanCallCmd_CanCallError",
8282
"can-call",
8383
"--account-address", "0x1234567890abcdef1234567890abcdef12345678",
84-
"--caller-address", "0x9876543210fedcba9876543210fedcba98765432",
84+
"--appointee-address", "0x9876543210fedcba9876543210fedcba98765432",
8585
"--target-address", "0xabcdef1234567890abcdef1234567890abcdef12",
8686
"--selector", "0x1A2B3C4D",
8787
"--network", "holesky",
@@ -102,7 +102,7 @@ func TestCanCallCmd_InvalidSelector(t *testing.T) {
102102
"TestCanCallCmd_InvalidSelector",
103103
"can-call",
104104
"--account-address", "0x1234567890abcdef1234567890abcdef12345678",
105-
"--caller-address", "0x9876543210fedcba9876543210fedcba98765432",
105+
"--appointee-address", "0x9876543210fedcba9876543210fedcba98765432",
106106
"--target-address", "0xabcdef1234567890abcdef1234567890abcdef12",
107107
"--selector", "incorrect-format",
108108
"--permission-controller-address", "0xe4dB7125ef7a9D99F809B6b7788f75c8D84d8455",
@@ -117,7 +117,7 @@ func TestCanCallCmd_InvalidSelector(t *testing.T) {
117117
"TestCanCallCmd_InvalidSelector",
118118
"can-call",
119119
"--account-address", "0x1234567890abcdef1234567890abcdef12345678",
120-
"--caller-address", "0x9876543210fedcba9876543210fedcba98765432",
120+
"--appointee-address", "0x9876543210fedcba9876543210fedcba98765432",
121121
"--target-address", "0xabcdef1234567890abcdef1234567890abcdef12",
122122
"--selector", "0xincorrect-format",
123123
"--permission-controller-address", "0xe4dB7125ef7a9D99F809B6b7788f75c8D84d8455",
@@ -129,9 +129,9 @@ func TestCanCallCmd_InvalidSelector(t *testing.T) {
129129
assert.Contains(t, err.Error(), "selector must be a 4-byte hex string prefixed with '0x'")
130130
}
131131

132-
func generateMockReader() func(logger logging.Logger, config *canCallConfig) (UserCanCallReader, error) {
133-
return func(logger logging.Logger, config *canCallConfig) (UserCanCallReader, error) {
132+
func generateMockReader() func(logger logging.Logger, config *canCallConfig) (CanCallReader, error) {
133+
return func(logger logging.Logger, config *canCallConfig) (CanCallReader, error) {
134134
mockReader := newMockElChainReader()
135-
return UserCanCallReader(&mockReader), nil
135+
return CanCallReader(&mockReader), nil
136136
}
137137
}

pkg/user/appointee/flags.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,6 @@ var (
1515
Usage: "The Ethereum address of the user. Example: --appointee-address \"0x...\"",
1616
EnvVars: []string{"APPOINTEE_ADDRESS"},
1717
}
18-
CallerAddressFlag = cli.StringFlag{
19-
Name: "caller-address",
20-
Aliases: []string{"ca"},
21-
Usage: "The Ethereum address of the caller. Example: --caller-address \"0x...\"",
22-
EnvVars: []string{"CALLER_ADDRESS"},
23-
}
2418
SelectorFlag = cli.StringFlag{
2519
Name: "selector",
2620
Aliases: []string{"s"},

0 commit comments

Comments
 (0)