forked from TrueCloudLab/neoneo-go
_pkg.dev: drop address pkg, move test into crypto
address wrappers don't seem to fit well into master's code, so just drop 'em, but pick the testing function with good known input/output pair.
This commit is contained in:
parent
d7701fe7db
commit
2275b9e4ad
3 changed files with 13 additions and 61 deletions
|
@ -1,43 +0,0 @@
|
||||||
package address
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/CityOfZion/neo-go/pkg/crypto/base58"
|
|
||||||
"github.com/CityOfZion/neo-go/pkg/wire/util"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ToScriptHash converts an address to a script hash
|
|
||||||
func ToScriptHash(address string) string {
|
|
||||||
a, err := Uint160Decode(address)
|
|
||||||
if err != nil {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
return a.String()
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToReverseScriptHash converts an address to a reverse script hash
|
|
||||||
func ToReverseScriptHash(address string) string {
|
|
||||||
a, err := Uint160Decode(address)
|
|
||||||
if err != nil {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
return a.ReverseString()
|
|
||||||
}
|
|
||||||
|
|
||||||
// FromUint160 returns the "NEO address" from the given
|
|
||||||
// Uint160.
|
|
||||||
func FromUint160(u util.Uint160) (string, error) {
|
|
||||||
// Dont forget to prepend the Address version 0x17 (23) A
|
|
||||||
b := append([]byte{0x17}, u.Bytes()...)
|
|
||||||
return base58.CheckEncode(b)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Uint160Decode attempts to decode the given NEO address string
|
|
||||||
// into an Uint160.
|
|
||||||
func Uint160Decode(s string) (u util.Uint160, err error) {
|
|
||||||
b, err := base58.CheckDecode(s)
|
|
||||||
if err != nil {
|
|
||||||
return u, err
|
|
||||||
}
|
|
||||||
return util.Uint160DecodeBytes(b[1:21])
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
package address
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestScriptHash(t *testing.T) {
|
|
||||||
address := "AJeAEsmeD6t279Dx4n2HWdUvUmmXQ4iJvP"
|
|
||||||
|
|
||||||
hash := ToScriptHash(address)
|
|
||||||
reverseHash := ToReverseScriptHash(address)
|
|
||||||
|
|
||||||
assert.Equal(t, "b28427088a3729b2536d10122960394e8be6721f", reverseHash)
|
|
||||||
assert.Equal(t, "1f72e68b4e39602912106d53b229378a082784b2", hash)
|
|
||||||
}
|
|
|
@ -6,7 +6,7 @@ import (
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestUint160DecodeAddress(t *testing.T) {
|
func TestUint160DecodeEncodeAddress(t *testing.T) {
|
||||||
addrs := []string{
|
addrs := []string{
|
||||||
"AMLr1CpPQtbEdiJdriX1HpRNMZUwbU2Huj",
|
"AMLr1CpPQtbEdiJdriX1HpRNMZUwbU2Huj",
|
||||||
"AKtwd3DRXj3nL5kHMUoNsdnsCEVjnuuTFF",
|
"AKtwd3DRXj3nL5kHMUoNsdnsCEVjnuuTFF",
|
||||||
|
@ -20,3 +20,15 @@ func TestUint160DecodeAddress(t *testing.T) {
|
||||||
assert.Equal(t, addr, AddressFromUint160(val))
|
assert.Equal(t, addr, AddressFromUint160(val))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUint160DecodeKnownAddress(t *testing.T) {
|
||||||
|
address := "AJeAEsmeD6t279Dx4n2HWdUvUmmXQ4iJvP"
|
||||||
|
|
||||||
|
val, err := Uint160DecodeAddress(address)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.Equal(t, "b28427088a3729b2536d10122960394e8be6721f", val.ReverseString())
|
||||||
|
assert.Equal(t, "1f72e68b4e39602912106d53b229378a082784b2", val.String())
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue