From 4a601337c05c4537915d2117858c54e31e8a3c56 Mon Sep 17 00:00:00 2001 From: Elad Date: Fri, 8 Mar 2019 21:58:43 +0700 Subject: [PATCH] contracts/ens: fix ens tests to use cid decode and encode --- contracts/ens/ens.go | 5 +++-- contracts/ens/ens_test.go | 22 +++++++++++++--------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/contracts/ens/ens.go b/contracts/ens/ens.go index bbca8f2028..6fed172dcd 100644 --- a/contracts/ens/ens.go +++ b/contracts/ens/ens.go @@ -179,11 +179,12 @@ func (ens *ENS) Resolve(name string) (common.Hash, error) { // END DEPRECATED CODE - ret, err := resolver.Contenthash(node) + contentHash, err := resolver.Contenthash(node) if err != nil { return common.Hash{}, err } - return common.BytesToHash(ret[:]), nil + + return extractContentHash(contentHash) } // Addr is a non-transactional call that returns the address associated with a name. diff --git a/contracts/ens/ens_test.go b/contracts/ens/ens_test.go index 764a575cb7..26a8addb61 100644 --- a/contracts/ens/ens_test.go +++ b/contracts/ens/ens_test.go @@ -65,18 +65,23 @@ func TestENS(t *testing.T) { contractBackend.Commit() // Set the content hash for the name. - if _, err = ens.SetContentHash(name, hash.Bytes()); err != nil { + + cid, err := encodeSwarmHash(hash) + if err != nil { + t.Fatal(err) + } + if _, err = ens.SetContentHash(name, cid); err != nil { t.Fatalf("can't set content hash: %v", err) } contractBackend.Commit() // Try to resolve the name. - vhost, err := ens.Resolve(name) + resolvedHash, err := ens.Resolve(name) if err != nil { t.Fatalf("expected no error, got %v", err) } - if vhost != hash { - t.Fatalf("resolve error, expected %v, got %v", hash.Hex(), vhost.Hex()) + if resolvedHash.Hex() != hash.Hex() { + t.Fatalf("resolve error, expected %v, got %v", hash.Hex(), resolvedHash.Hex()) } // set the address for the name @@ -90,7 +95,7 @@ func TestENS(t *testing.T) { if err != nil { t.Fatalf("expected no error, got %v", err) } - if testAddr != recoveredAddr { + if testAddr.Hex() != recoveredAddr.Hex() { t.Fatalf("resolve error, expected %v, got %v", testAddr.Hex(), recoveredAddr.Hex()) } @@ -111,12 +116,11 @@ func TestENS(t *testing.T) { contractBackend.Commit() // Try to resolve the name. - vhost, err = ens.Resolve(name) + fallbackResolvedHash, err := ens.Resolve(name) if err != nil { t.Fatalf("expected no error, got %v", err) } - if vhost != fallbackHash { - t.Fatalf("resolve error, expected %v, got %v", hash.Hex(), vhost.Hex()) + if fallbackResolvedHash.Hex() != fallbackHash.Hex() { + t.Fatalf("resolve error, expected %v, got %v", hash.Hex(), resolvedHash.Hex()) } - t.Fatal("todo: try to set old contract with new multicodec stuff and assert fail, set new contract with multicodec stuff, encode, decode and assert returns correct hash") }