Skip to content

Commit

Permalink
fix:fix some issues mentioned in PR
Browse files Browse the repository at this point in the history
  • Loading branch information
trestinlsd committed Apr 11, 2024
1 parent 69f5202 commit 018ceec
Show file tree
Hide file tree
Showing 15 changed files with 91 additions and 76 deletions.
5 changes: 4 additions & 1 deletion precompiles/avsTask/methods.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,10 @@ func (p Precompile) RegisterAVSTask(
) ([]byte, error) {
// check the invalidation of caller contract
callerAddress, _ := bech32.EncodeFromBase256("exo", contract.CallerAddress.Bytes())

Check warning

Code scanning / gosec

Returned error is not propagated up the stack. Warning

Returned error is not propagated up the stack.
avs, _ := p.avsKeeper.GetAVSInfo(ctx, callerAddress)
avs, err := p.avsKeeper.GetAVSInfo(ctx, callerAddress)
if err != nil {
return nil, err
}

if avs.GetInfo() == nil {
return nil, fmt.Errorf(ErrNotYetRegistered, contract.CallerAddress)
Expand Down
4 changes: 2 additions & 2 deletions precompiles/avsTask/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ func (p Precompile) GetTaskParamsFromInputs(_ sdk.Context, args []interface{}) (
taskinfo := &types.TaskContractInfo{}

taskaddr, ok := args[0].(string)
if !ok {
if !ok || taskaddr == "" {
return nil, xerrors.Errorf(exocmn.ErrContractInputParaOrType, 0, "string", taskaddr)
}
taskinfo.TaskContractAddress = taskaddr

taskName, ok := args[1].(string)
if !ok {
if !ok || taskName == "" {
return nil, xerrors.Errorf(exocmn.ErrContractInputParaOrType, 1, "string", taskName)
}
taskinfo.Name = taskName
Expand Down
4 changes: 3 additions & 1 deletion precompiles/avsTask/task.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,9 @@ func (p Precompile) Run(evm *vm.EVM, contract *vm.Contract, readOnly bool) (bz [
// - RegisterAVSTask
func (Precompile) IsTransaction(methodID string) bool {
switch methodID {
case MethodRegisterAVSTask:
case MethodRegisterAVSTask,
MethodRegisterBLSPublicKey,
MethodGetRegisteredPubkey:
return true
default:
return false
Expand Down
29 changes: 27 additions & 2 deletions precompiles/bls/bls.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import (
"bytes"
"embed"
"fmt"

Check failure on line 6 in precompiles/bls/bls.go

View workflow job for this annotation

GitHub Actions / Run golangci-lint

File is not `gofumpt`-ed (gofumpt)
"github.com/cometbft/cometbft/libs/log"
sdk "github.com/cosmos/cosmos-sdk/types"

"github.com/ethereum/go-ethereum/accounts/abi"
"github.com/ethereum/go-ethereum/common"
Expand Down Expand Up @@ -99,7 +101,30 @@ func (p Precompile) Run(_ *vm.EVM, contract *vm.Contract, _ bool) (bz []byte, er
return nil, err
}

// fmt.Printf("calling method: %s\n", method.Name)
// fmt.Printf("precompile result: %x\n", bz)
return bz, nil
}

// IsTransaction checks if the given methodID corresponds to a transaction or query.
//
// Available bls transactions are:
// - MethodVerify
func (Precompile) IsTransaction(methodID string) bool {
switch methodID {
case MethodVerify,
MethodFastAggregateVerify,
MethodGeneratePrivateKey,
MethodPublicKey,
MethodSign,
MethodAggregatePubkeys,
MethodAggregateSignatures,
MethodAddTwoPubkeys:
return true
default:
return false
}
}

// Logger returns a precompile-specific logger.
func (p Precompile) Logger(ctx sdk.Context) log.Logger {
return ctx.Logger().With("ExoCore module", "bls")
}
2 changes: 1 addition & 1 deletion precompiles/bls/bls_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ func (s *PrecompileTestSuite) TestRun() {

// Run precompiled contract

// NOTE: we can ignore the EVM and readonly args since it's a stateless
// NOTE: we can ignore the EVM and readonly args since it's a stateless-
// precompiled contract
bz, err := s.precompile.Run(nil, contract, true)

Expand Down
2 changes: 1 addition & 1 deletion proto/exocore/avstask/v1/query.proto
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ message GetAVSTaskInfoReq {
// Query defines the gRPC querier service.
service Query {
// TaskInfo queries the task information.
rpc GetAVSTaskInfo(GetAVSTaskInfoReq) returns (TaskContractInfo) {
rpc QueryAVSTaskInfo(GetAVSTaskInfoReq) returns (TaskContractInfo) {
option (google.api.http).get = "/exocore/avstask/v1/GetAVSTaskInfoReq";
}
}
2 changes: 1 addition & 1 deletion x/avstask/client/cli/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func GetTaskInfo() *cobra.Command {
req := &avstasktypes.GetAVSTaskInfoReq{
TaskAddr: args[0],
}
res, err := queryClient.GetAVSTaskInfo(context.Background(), req)
res, err := queryClient.QueryAVSTaskInfo(context.Background(), req)
if err != nil {
return err
}
Expand Down
7 changes: 5 additions & 2 deletions x/avstask/keeper/msg_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@ var _ types.MsgServer = &Keeper{}

func (k *Keeper) RegisterAVSTask(ctx context.Context, req *types.RegisterAVSTaskReq) (*types.RegisterAVSTaskResponse, error) {
c := sdk.UnwrapSDKContext(ctx)
avs, _ := k.avsKeeper.GetAVSInfo(c, req.FromAddress)
avs, err := k.avsKeeper.GetAVSInfo(c, req.FromAddress)
if err != nil {
return nil, err
}
if avs.GetInfo() == nil {
return nil, errorsmod.Wrap(types.ErrNotYetRegistered, fmt.Sprintf("RegisterAVSTask: avs address is %s", req.FromAddress))
}
err := k.SetAvsTaskInfo(c, req)
err = k.SetAVSTaskInfo(c, req)
if err != nil {
return nil, err
}
Expand Down
4 changes: 2 additions & 2 deletions x/avstask/keeper/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (

var _ avstasktypes.QueryServer = &Keeper{}

func (k *Keeper) GetAVSTaskInfo(ctx context.Context, req *avstasktypes.GetAVSTaskInfoReq) (*avstasktypes.TaskContractInfo, error) {
func (k *Keeper) QueryAVSTaskInfo(ctx context.Context, req *avstasktypes.GetAVSTaskInfoReq) (*avstasktypes.TaskContractInfo, error) {
c := sdk.UnwrapSDKContext(ctx)
return k.GetAvsTaskInfo(c, req.TaskAddr)
return k.GetAVSTaskInfo(c, req.TaskAddr)
}
10 changes: 5 additions & 5 deletions x/avstask/keeper/task.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
)

func (k *Keeper) SetAvsTaskInfo(ctx sdk.Context, info *types.RegisterAVSTaskReq) (err error) {
func (k *Keeper) SetAVSTaskInfo(ctx sdk.Context, info *types.RegisterAVSTaskReq) (err error) {
taskAccAddr, err := sdk.AccAddressFromBech32(info.Task.TaskContractAddress)
if err != nil {
return errorsmod.Wrap(err, "SetTaskInfo: error occurred when parse acc address from Bech32")
Expand All @@ -23,15 +23,15 @@ func (k *Keeper) SetAvsTaskInfo(ctx sdk.Context, info *types.RegisterAVSTaskReq)
return nil
}

func (k *Keeper) GetAvsTaskInfo(ctx sdk.Context, addr string) (info *types.TaskContractInfo, err error) {
func (k *Keeper) GetAVSTaskInfo(ctx sdk.Context, addr string) (info *types.TaskContractInfo, err error) {
taskAccAddr, err := sdk.AccAddressFromBech32(addr)
if err != nil {
return nil, errorsmod.Wrap(err, "GetTaskInfo: error occurred when parse acc address from Bech32")
}
store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefixAVSTaskInfo)
isExist := store.Has(taskAccAddr)
if !isExist {
return nil, errorsmod.Wrap(types.ErrNoKeyInTheStore, fmt.Sprintf("GetAvsTaskInfo: key is %s", taskAccAddr))
return nil, errorsmod.Wrap(types.ErrNoKeyInTheStore, fmt.Sprintf("GetAVSTaskInfo: key is %s", taskAccAddr))
}

value := store.Get(taskAccAddr)
Expand All @@ -49,7 +49,7 @@ func (k *Keeper) IsExistTask(ctx sdk.Context, addr sdk.AccAddress) bool {
func (k *Keeper) SetOperatorPubKey(ctx sdk.Context, addr string, pub []byte) (err error) {
opAccAddr, err := sdk.AccAddressFromBech32(addr)
if err != nil {
return errorsmod.Wrap(err, "SetTaskInfo: error occurred when parse acc address from Bech32")
return errorsmod.Wrap(err, "SetOperatorPubKey: error occurred when parse acc address from Bech32")
}
store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefixOperatePub)

Expand All @@ -60,7 +60,7 @@ func (k *Keeper) SetOperatorPubKey(ctx sdk.Context, addr string, pub []byte) (er
func (k *Keeper) GetOperatorPubKey(ctx sdk.Context, addr string) (pub []byte, err error) {
opAccAddr, err := sdk.AccAddressFromBech32(addr)
if err != nil {
return nil, errorsmod.Wrap(err, "GetTaskInfo: error occurred when parse acc address from Bech32")
return nil, errorsmod.Wrap(err, "GetOperatorPubKey: error occurred when parse acc address from Bech32")
}
store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefixOperatePub)
// key := common.HexToAddress(incentive.Contract)
Expand Down
4 changes: 2 additions & 2 deletions x/avstask/keeper/task_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ func (suite *AvsTaskTestSuite) TestTaskInfo() {
Status: "active",
},
}
err := suite.App.TaskKeeper.SetAvsTaskInfo(suite.Ctx, info)
err := suite.App.TaskKeeper.SetAVSTaskInfo(suite.Ctx, info)
suite.NoError(err)

getTaskInfo, err := suite.App.TaskKeeper.GetAvsTaskInfo(suite.Ctx, "exo1j9ly7f0jynscjgvct0enevaa659te58k3xztc8")
getTaskInfo, err := suite.App.TaskKeeper.GetAVSTaskInfo(suite.Ctx, "exo1j9ly7f0jynscjgvct0enevaa659te58k3xztc8")
suite.NoError(err)
suite.Equal(*info.Task, *getTaskInfo)
}
Expand Down
2 changes: 1 addition & 1 deletion x/avstask/types/errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ import (
// x/avs_task module sentinel errors
var (
ErrSample = errorsmod.Register(ModuleName, 1100, "sample error")
ErrNoKeyInTheStore = errorsmod.Register(ModuleName, 0, "there is not the key for in the store")
ErrNoKeyInTheStore = errorsmod.Register(ModuleName, 0, "there is no such key in the store")
ErrNotYetRegistered = errorsmod.Register(ModuleName, 1101, "this AVS has not been registered yet")
)
18 changes: 0 additions & 18 deletions x/avstask/types/expected_keepers.go

This file was deleted.

44 changes: 22 additions & 22 deletions x/avstask/types/query.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 018ceec

Please sign in to comment.