aboutsummaryrefslogtreecommitdiffstats
path: root/common/resolver/resolver.go
diff options
context:
space:
mode:
authorzsfelfoldi <zsfelfoldi@gmail.com>2015-04-03 23:37:59 +0800
committerzelig <viktor.tron@gmail.com>2015-04-20 03:57:49 +0800
commite2d333d2095edb349388433c28f4d6a381b1df62 (patch)
tree2bc2dbf45ffeb1de93606122d263913d790d048f /common/resolver/resolver.go
parentac0e5e8b6de43a40bbc25f541aa2399202bbe420 (diff)
downloadgo-tangerine-e2d333d2095edb349388433c28f4d6a381b1df62.tar
go-tangerine-e2d333d2095edb349388433c28f4d6a381b1df62.tar.gz
go-tangerine-e2d333d2095edb349388433c28f4d6a381b1df62.tar.bz2
go-tangerine-e2d333d2095edb349388433c28f4d6a381b1df62.tar.lz
go-tangerine-e2d333d2095edb349388433c28f4d6a381b1df62.tar.xz
go-tangerine-e2d333d2095edb349388433c28f4d6a381b1df62.tar.zst
go-tangerine-e2d333d2095edb349388433c28f4d6a381b1df62.zip
NatSpec contracts in genesis block, end to end test (unfinished)
Diffstat (limited to 'common/resolver/resolver.go')
-rw-r--r--common/resolver/resolver.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/common/resolver/resolver.go b/common/resolver/resolver.go
index ba592feb0..1d80fdb42 100644
--- a/common/resolver/resolver.go
+++ b/common/resolver/resolver.go
@@ -5,6 +5,7 @@ import (
"fmt"
"github.com/ethereum/go-ethereum/common"
+ "github.com/ethereum/go-ethereum/core"
"github.com/ethereum/go-ethereum/crypto"
)
@@ -17,8 +18,8 @@ The resolver is meant to be called by the roundtripper transport implementation
of a url scheme
*/
const (
- urlHintContractAddress = "urlhint"
- nameRegContractAddress = "nameReg"
+ URLHintContractAddress = core.ContractAddrURLhint
+ NameRegContractAddress = core.ContractAddrHashReg
)
type Resolver struct {
@@ -37,7 +38,7 @@ func New(eth Backend, uhca, nrca string) *Resolver {
func (self *Resolver) NameToContentHash(name string) (chash common.Hash, err error) {
// look up in nameReg
- key := storageAddress(0, common.Hex2Bytes(name))
+ key := storageAddress(1, common.Hex2BytesFixed(name, 32))
hash := self.backend.StorageAt(self.nameRegContractAddress, key)
copy(chash[:], common.Hex2Bytes(hash))
return
@@ -45,8 +46,8 @@ func (self *Resolver) NameToContentHash(name string) (chash common.Hash, err err
func (self *Resolver) ContentHashToUrl(chash common.Hash) (uri string, err error) {
// look up in nameReg
- key := storageAddress(0, chash[:])
- uri = self.backend.StorageAt(self.urlHintContractAddress, key)
+ key := storageAddress(2, chash[:])
+ uri = string(common.Hex2Bytes(self.backend.StorageAt(self.urlHintContractAddress, key)))
l := len(uri)
for (l > 0) && (uri[l-1] == 0) {
l--