mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2025-05-03 11:41:48 +00:00
compiler: fix a bug with FromAddress handling
Conversion of string to address with FromAddress is performed at compile time so there is no need to push parameters on stack.
This commit is contained in:
parent
330db36168
commit
097d35b9d5
3 changed files with 52 additions and 3 deletions
|
@ -8,10 +8,50 @@ import (
|
|||
|
||||
"github.com/CityOfZion/neo-go/pkg/compiler"
|
||||
"github.com/CityOfZion/neo-go/pkg/crypto/hash"
|
||||
"github.com/CityOfZion/neo-go/pkg/encoding/address"
|
||||
"github.com/CityOfZion/neo-go/pkg/util"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestFromAddress(t *testing.T) {
|
||||
as1 := "Aej1fe4mUgou48Zzup5j8sPrE3973cJ5oz"
|
||||
addr1, err := address.StringToUint160(as1)
|
||||
require.NoError(t, err)
|
||||
|
||||
as2 := "AK2nJJpJr6o664CWJKi1QRXjqeic2zRp8y"
|
||||
addr2, err := address.StringToUint160(as2)
|
||||
require.NoError(t, err)
|
||||
|
||||
t.Run("append 2 addresses", func(t *testing.T) {
|
||||
src := `
|
||||
package foo
|
||||
import "github.com/CityOfZion/neo-go/pkg/interop/util"
|
||||
func Main() []byte {
|
||||
addr1 := util.FromAddress("` + as1 + `")
|
||||
addr2 := util.FromAddress("` + as2 + `")
|
||||
sum := append(addr1, addr2...)
|
||||
return sum
|
||||
}
|
||||
`
|
||||
|
||||
eval(t, src, append(addr1.BytesBE(), addr2.BytesBE()...))
|
||||
})
|
||||
|
||||
t.Run("append 2 addresses inline", func(t *testing.T) {
|
||||
src := `
|
||||
package foo
|
||||
import "github.com/CityOfZion/neo-go/pkg/interop/util"
|
||||
func Main() []byte {
|
||||
addr1 := util.FromAddress("` + as1 + `")
|
||||
sum := append(addr1, util.FromAddress("` + as2 + `")...)
|
||||
return sum
|
||||
}
|
||||
`
|
||||
|
||||
eval(t, src, append(addr1.BytesBE(), addr2.BytesBE()...))
|
||||
})
|
||||
}
|
||||
|
||||
func TestAppCall(t *testing.T) {
|
||||
srcInner := `
|
||||
package foo
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue