mirror of
https://github.com/aljazceru/ark.git
synced 2025-12-18 20:54:20 +01:00
* Add gRPC, REST, and gRPC-Web clients for server access This commit introduces clients for gRPC, REST, and gRPC-Web to access the server. - gRPC client: Includes additional argument opts ...grpc.CallOption in the interface for future extensibility. - REST client: Factory function accepts http.Client as an argument to allow user customization. - gRPC-Web client: Added a Log method for fast debugging in JavaScript. The decision to use different interfaces for each client type is to accommodate specific features and extensibility requirements for each protocol. * remove grpc web * generate rest * use grpc sdk in CLI * temp wasm * ark sdk * renaming * pr review refactor * pr review refactor * walletStore & configStore * ark sdk wasm wrapper * handle event stream with rest * wip on supporting rest * store init * simulate event stream with rest * fix rest sdk wip * Fix returning forfeit txs in round event * wasm first working e2e example * pr review refactor * pr review refactor * pr review refactor * Fixes --------- Co-authored-by: altafan <18440657+altafan@users.noreply.github.com>
51 lines
1.1 KiB
Go
51 lines
1.1 KiB
Go
package arksdkwasm
|
|
|
|
import (
|
|
"context"
|
|
"syscall/js"
|
|
)
|
|
|
|
func CreatePrivateKeyWrapper() js.Func {
|
|
return js.FuncOf(func(this js.Value, p []js.Value) interface{} {
|
|
_, err := inMemoryWalletStore.CreatePrivateKey()
|
|
if err != nil {
|
|
return js.ValueOf(map[string]interface{}{
|
|
"error": err.Error(),
|
|
})
|
|
}
|
|
|
|
pkHex, err := inMemoryWalletStore.GetPrivateKeyHex()
|
|
if err != nil {
|
|
return js.ValueOf(map[string]interface{}{
|
|
"error": err.Error(),
|
|
})
|
|
}
|
|
|
|
return js.ValueOf(pkHex)
|
|
})
|
|
}
|
|
|
|
func GetPrivateKeyHexWrapper() js.Func {
|
|
return js.FuncOf(func(this js.Value, p []js.Value) interface{} {
|
|
keyHex, err := inMemoryWalletStore.GetPrivateKeyHex()
|
|
if err != nil {
|
|
return js.ValueOf(map[string]interface{}{
|
|
"error": err.Error(),
|
|
})
|
|
}
|
|
return js.ValueOf(keyHex)
|
|
})
|
|
}
|
|
|
|
func SaveWalletStoreWrapper() js.Func {
|
|
return js.FuncOf(func(this js.Value, p []js.Value) interface{} {
|
|
err := inMemoryWalletStore.Save(context.Background())
|
|
if err != nil {
|
|
return js.ValueOf(map[string]interface{}{
|
|
"error": err.Error(),
|
|
})
|
|
}
|
|
return nil
|
|
})
|
|
}
|