Skip to content
This repository has been archived by the owner on Apr 4, 2024. It is now read-only.

Commit

Permalink
rpc: personal_unpair (#733)
Browse files Browse the repository at this point in the history
* Problem: need to add rpc endpoint personal_unpair

Closes #730

* this is aimed at smartcard wallet which is not supported yet.

* will return unsupported error now.

* Update rpc/ethereum/namespaces/personal/api.go

* add changelog entry and use errors.Is

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Tomas Tauber <2410580+tomtau@users.noreply.github.com>
  • Loading branch information
3 people authored Nov 10, 2021
1 parent d647988 commit a3f1d8d
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
* (rpc) [tharsis#624](https://github.com/tharsis/ethermint/pull/624) Implement new JSON-RPC endpoints from latest geth version
* (evm) [tharsis#662](https://github.com/tharsis/ethermint/pull/662) Disable basefee for non london blocks
* (cmd) [tharsis#712](https://github.com/tharsis/ethermint/pull/712) add tx cli to build evm transaction
* (rpc) [tharsis#733](https://github.com/tharsis/ethermint/pull/733) add JSON_RPC endpoint personal_unpair

### Bug Fixes

Expand Down
8 changes: 8 additions & 0 deletions rpc/ethereum/namespaces/personal/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -222,3 +222,11 @@ func (api *PrivateAccountAPI) EcRecover(_ context.Context, data, sig hexutil.Byt

return crypto.PubkeyToAddress(*pubkey), nil
}

// Unpair deletes a pairing between wallet and ethermint.
func (api *PrivateAccountAPI) Unpair(_ context.Context, url, pin string) error {
api.logger.Debug("personal_unpair", "url", url, "pin", pin)
api.logger.Info("personal_unpair for smartcard wallet not supported")
// TODO: Smartcard wallet not supported yet, refer to: https://github.com/ethereum/go-ethereum/blob/master/accounts/scwallet/README.md
return fmt.Errorf("smartcard wallet not supported yet")
}
12 changes: 12 additions & 0 deletions tests/rpc/personal_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package rpc

import (
"encoding/json"
"errors"
"fmt"
"testing"

"github.com/stretchr/testify/require"
Expand Down Expand Up @@ -142,3 +144,13 @@ func TestPersonal_LockAccount(t *testing.T) {
_, err = CallWithError("personal_sign", []interface{}{hexutil.Bytes{0x88}, addr, ""})
require.Error(t, err)
}

func TestPersonal_Unpair(t *testing.T) {
t.Skip("skipping TestPersonal_Unpair")

rpcRes := Call(t, "personal_unpair", []interface{}{"", 0})

var res error
err := json.Unmarshal(rpcRes.Result, &res)
require.True(t, errors.Is(err, fmt.Errorf("smartcard wallet not supported yet")))
}

0 comments on commit a3f1d8d

Please sign in to comment.