@@ -13,6 +13,7 @@ import (
1313
1414func main () {
1515
16+
1617 dataFolder := ".ancon"
1718 anconstorage := sdk .NewStorage (dataFolder )
1819 db := dbm .NewMemDB ()
@@ -36,98 +37,34 @@ func main() {
3637 []string {".:." }, /// The mapping preopens
3738 )
3839
39-
4040 // a := wasmedge.NewImportObject("ancon")
4141 /// Instantiate wasm
4242 file := "/home/rogelio/Code/ancon-contracts/contracts/metadata/pkg/metadata_lib_bg.wasm"
4343 vm .LoadWasmFile (file )
44-
45- var type1 = wasmedge .NewFunctionType (
46- []wasmedge.ValType {
47-
48-
49- wasmedge .ValType_I32 ,
50- wasmedge .ValType_I32 ,
51- }, []wasmedge.ValType {
52- wasmedge .ValType_I32 ,
53- })
54- var type2 = wasmedge .NewFunctionType (
55- []wasmedge.ValType {
56-
57- wasmedge .ValType_I32 ,
58- wasmedge .ValType_I32 ,
59- wasmedge .ValType_I32 ,
60- wasmedge .ValType_I32 ,
61- wasmedge .ValType_I32 ,
62-
63- }, []wasmedge.ValType {
64- // wasmedge.ValType_I32,
65- })
66- n := wasmedge .NewImportObject ("env" )
67- fn1 := wasmedge .NewFunction (type2 , host .WriteStore , nil , 0 )
68- n .AddFunction ("write_store" , fn1 )
69-
70- fn2 := wasmedge .NewFunction (type1 , host .ReadStore , nil , 0 )
71- n .AddFunction ("read_store" , fn2 )
72-
73- fn3 := wasmedge .NewFunction (type2 , host .ReadDagBlock , nil , 0 )
74- n .AddFunction ("read_dag_block" , fn3 )
75-
76-
77- fn4 := wasmedge .NewFunction (type1 , host .WriteDagBlock , nil , 0 )
78- n .AddFunction ("write_dag_block" , fn4 )
79- vm .RegisterImport (n )
44+ vm .RegisterImport (host .GetImports ())
8045 // wasi.InitWasi(
8146
8247 vm .Validate ()
8348 vm .Instantiate ()
84-
85- f , e := vm .GetFunctionList ()
86- fmt .Println ("%v" , f )
87- fmt .Println ("%v" , e ) /// Run bindgen functions
8849 var res interface {}
8950 var err error
90- // /// create_line: array, array, array -> array (inputs are JSON stringified)
91- // res, err = vm.ExecuteBindgen("create_line", wasmedge.Bindgen_return_array, []byte("{\"x\":1.5,\"y\":3.8}"), []byte("{\"x\":2.5,\"y\":5.8}"), []byte("A thin red line"))
92- // if err == nil {
93- // fmt.Println("Run bindgen -- create_line:", string(res.([]byte)))
94- // } else {
95- // fmt.Println("Run bindgen -- create_line FAILED")
96- // }
97- // /// say: array -> array
98- // res, err = vm.ExecuteBindgen("say", wasmedge.Bindgen_return_array, []byte("bindgen funcs test"))
99- // if err == nil {
100- // fmt.Println("Run bindgen -- say:", string(res.([]byte)))
101- // } else {
102- // fmt.Println("Run bindgen -- say FAILED")
103- // }
104- // /// obfusticate: array -> array
105- // res, err = vm.ExecuteBindgen("obfusticate", wasmedge.Bindgen_return_array, []byte("A quick brown fox jumps over the lazy dog"))
106- // if err == nil {
107- // fmt.Println("Run bindgen -- obfusticate:", string(res.([]byte)))
108- // } else {
109- // fmt.Println("Run bindgen -- obfusticate FAILED")
110- // }
111- // /// lowest_common_multiple: i32, i32 -> i32
112- // res, err = vm.ExecuteBindgen("lowest_common_multiple", wasmedge.Bindgen_return_i32, int32(123), int32(2))
113- // if err == nil {
114- // fmt.Println("Run bindgen -- lowest_common_multiple:", res.(int32))
115- // } else {
116- // fmt.Println("Run bindgen -- lowest_common_multiple FAILED")
117- // }
118- // /// sha3_digest: array -> array
119- // res, err = vm.ExecuteBindgen("sha3_digest", wasmedge.Bindgen_return_array, []byte("This is an important message"))
120- // if err == nil {
121- // fmt.Println("Run bindgen -- sha3_digest:", res.([]byte))
122- // } else {
123- // fmt.Println("Run bindgen -- sha3_digest FAILED")
124- // }
125- /// keccak_digest: array -> array
126- res , err = vm .ExecuteBindgen ("execute" , wasmedge .Bindgen_return_array , []byte (`query { metadata(cid:"babfy",path:"/") {image}}` ))
51+
52+
53+ payload := []byte (`{ "name":"" , "image":"", "description":""}` )
54+ res , err = vm .ExecuteBindgen ("store" , wasmedge .Bindgen_return_array , payload )
55+ if err == nil {
56+ fmt .Println ("Run bindgen -- store:" , string (res .([]byte )))
57+ } else {
58+ fmt .Println ("Run bindgen -- store FAILED" )
59+ }
60+
61+
62+ q := []byte (`query { metadata(cid:"babfy",path:"/") {image}}` )
63+ res , err = vm .ExecuteBindgen ("execute" , wasmedge .Bindgen_return_array , q )
12764 if err == nil {
128- fmt .Println ("Run bindgen -- query :" , string (res .([]byte )))
65+ fmt .Println ("Run bindgen -- execute :" , string (res .([]byte )))
12966 } else {
130- fmt .Println ("Run bindgen -- query FAILED" )
67+ fmt .Println ("Run bindgen -- execute FAILED" )
13168 }
13269
13370 vm .Release ()
0 commit comments