48 lines
1.3 KiB
Go
48 lines
1.3 KiB
Go
package itests
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/filecoin-project/go-state-types/builtin"
|
|
|
|
"github.com/filecoin-project/lotus/chain/types"
|
|
"github.com/filecoin-project/lotus/chain/types/ethtypes"
|
|
"github.com/filecoin-project/lotus/chain/wallet/key"
|
|
"github.com/filecoin-project/lotus/itests/kit"
|
|
)
|
|
|
|
func TestEthAddressToFilecoinAddress(t *testing.T) {
|
|
client, _, _ := kit.EnsembleMinimal(t, kit.MockProofs(), kit.ThroughRPC())
|
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), time.Minute)
|
|
defer cancel()
|
|
|
|
secpKey, err := key.GenerateKey(types.KTDelegated)
|
|
require.NoError(t, err)
|
|
|
|
filecoinKeyAddr, err := client.WalletImport(ctx, &secpKey.KeyInfo)
|
|
require.NoError(t, err)
|
|
|
|
ethAddr, err := ethtypes.EthAddressFromFilecoinAddress(filecoinKeyAddr)
|
|
require.NoError(t, err)
|
|
|
|
apiFilAddr, err := client.EthAddressToFilecoinAddress(ctx, ethAddr)
|
|
require.NoError(t, err)
|
|
|
|
require.Equal(t, filecoinKeyAddr, apiFilAddr)
|
|
|
|
filecoinIdArr := builtin.StorageMarketActorAddr
|
|
ethAddr, err = ethtypes.EthAddressFromFilecoinAddress(filecoinIdArr)
|
|
require.NoError(t, err)
|
|
|
|
apiFilAddr, err = client.EthAddressToFilecoinAddress(ctx, ethAddr)
|
|
require.NoError(t, err)
|
|
|
|
require.Equal(t, filecoinIdArr, apiFilAddr)
|
|
|
|
}
|