import cobo_waas2
from cobo_waas2.models.key_share_holder import KeyShareHolder
from cobo_waas2.rest import ApiException
from pprint import pprint
# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
# Replace `<YOUR_PRIVATE_KEY>` with your private key
api_private_key="<YOUR_PRIVATE_KEY>",
# Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = cobo_waas2.WalletsMPCWalletsApi(api_client)
vault_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
tss_node_id = "coboBTGDvjJG99pABegvPYmavrcTU3SkjTLHVdsko8dWBga4w"
try:
# Get key share holder information
api_response = api_instance.get_key_share_holder_by_tss_node_id(
vault_id, tss_node_id
)
print(
"The response of WalletsMPCWalletsApi->get_key_share_holder_by_tss_node_id:\n"
)
pprint(api_response)
except Exception as e:
print(
"Exception when calling WalletsMPCWalletsApi->get_key_share_holder_by_tss_node_id: %s\n"
% e
)
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.WalletsMpcWalletsApi;
import com.cobo.waas2.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Select the development environment. To use the production environment, replace `Env.DEV` with
// `Env.PROD
defaultClient.setEnv(Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
WalletsMpcWalletsApi apiInstance = new WalletsMpcWalletsApi();
UUID vaultId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479");
String tssNodeId = "coboBTGDvjJG99pABegvPYmavrcTU3SkjTLHVdsko8dWBga4w";
try {
KeyShareHolder result = apiInstance.getKeyShareHolderByTssNodeId(vaultId, tssNodeId);
System.out.println(result);
} catch (ApiException e) {
System.err.println(
"Exception when calling WalletsMpcWalletsApi#getKeyShareHolderByTssNodeId");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
package main
import (
"context"
"fmt"
coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
"os"
)
func main() {
vaultId := "f47ac10b-58cc-4372-a567-0e02b2c3d479"
tssNodeId := "coboBTGDvjJG99pABegvPYmavrcTU3SkjTLHVdsko8dWBga4w"
configuration := coboWaas2.NewConfiguration()
// Initialize the API client
apiClient := coboWaas2.NewAPIClient(configuration)
ctx := context.Background()
// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
// Replace `<YOUR_PRIVATE_KEY>` with your private key
ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
Secret: "<YOUR_PRIVATE_KEY>",
})
resp, r, err := apiClient.WalletsMPCWalletsAPI.GetKeyShareHolderByTssNodeId(ctx, vaultId, tssNodeId).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `WalletsMPCWalletsAPI.GetKeyShareHolderByTssNodeId``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetKeyShareHolderByTssNodeId`: KeyShareHolder
fmt.Fprintf(
os.Stdout,
"Response from `WalletsMPCWalletsAPI.GetKeyShareHolderByTssNodeId`: %v\n",
resp,
)
}
const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.WalletsMPCWalletsApi();
const vault_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
const tss_node_id = "coboBTGDvjJG99pABegvPYmavrcTU3SkjTLHVdsko8dWBga4w";
apiInstance.getKeyShareHolderByTssNodeId(vault_id, tss_node_id).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
{
"name": "Key share holder name",
"type": "API",
"tss_node_id": "coboAbCdEfGhIjKlMnOpQrStUvWxYz1234567890abcdefghi",
"online": true,
"signer": true,
"status": "Valid",
"account_id": "auth0|cobo|839305394802991371"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}Get key share holder information
This operation retrieves detailed information about a specified key share holder.
import cobo_waas2
from cobo_waas2.models.key_share_holder import KeyShareHolder
from cobo_waas2.rest import ApiException
from pprint import pprint
# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
# Replace `<YOUR_PRIVATE_KEY>` with your private key
api_private_key="<YOUR_PRIVATE_KEY>",
# Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = cobo_waas2.WalletsMPCWalletsApi(api_client)
vault_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
tss_node_id = "coboBTGDvjJG99pABegvPYmavrcTU3SkjTLHVdsko8dWBga4w"
try:
# Get key share holder information
api_response = api_instance.get_key_share_holder_by_tss_node_id(
vault_id, tss_node_id
)
print(
"The response of WalletsMPCWalletsApi->get_key_share_holder_by_tss_node_id:\n"
)
pprint(api_response)
except Exception as e:
print(
"Exception when calling WalletsMPCWalletsApi->get_key_share_holder_by_tss_node_id: %s\n"
% e
)
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.WalletsMpcWalletsApi;
import com.cobo.waas2.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Select the development environment. To use the production environment, replace `Env.DEV` with
// `Env.PROD
defaultClient.setEnv(Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
WalletsMpcWalletsApi apiInstance = new WalletsMpcWalletsApi();
UUID vaultId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479");
String tssNodeId = "coboBTGDvjJG99pABegvPYmavrcTU3SkjTLHVdsko8dWBga4w";
try {
KeyShareHolder result = apiInstance.getKeyShareHolderByTssNodeId(vaultId, tssNodeId);
System.out.println(result);
} catch (ApiException e) {
System.err.println(
"Exception when calling WalletsMpcWalletsApi#getKeyShareHolderByTssNodeId");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
package main
import (
"context"
"fmt"
coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
"os"
)
func main() {
vaultId := "f47ac10b-58cc-4372-a567-0e02b2c3d479"
tssNodeId := "coboBTGDvjJG99pABegvPYmavrcTU3SkjTLHVdsko8dWBga4w"
configuration := coboWaas2.NewConfiguration()
// Initialize the API client
apiClient := coboWaas2.NewAPIClient(configuration)
ctx := context.Background()
// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
// Replace `<YOUR_PRIVATE_KEY>` with your private key
ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
Secret: "<YOUR_PRIVATE_KEY>",
})
resp, r, err := apiClient.WalletsMPCWalletsAPI.GetKeyShareHolderByTssNodeId(ctx, vaultId, tssNodeId).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `WalletsMPCWalletsAPI.GetKeyShareHolderByTssNodeId``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetKeyShareHolderByTssNodeId`: KeyShareHolder
fmt.Fprintf(
os.Stdout,
"Response from `WalletsMPCWalletsAPI.GetKeyShareHolderByTssNodeId`: %v\n",
resp,
)
}
const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.WalletsMPCWalletsApi();
const vault_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
const tss_node_id = "coboBTGDvjJG99pABegvPYmavrcTU3SkjTLHVdsko8dWBga4w";
apiInstance.getKeyShareHolderByTssNodeId(vault_id, tss_node_id).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
{
"name": "Key share holder name",
"type": "API",
"tss_node_id": "coboAbCdEfGhIjKlMnOpQrStUvWxYz1234567890abcdefghi",
"online": true,
"signer": true,
"status": "Valid",
"account_id": "auth0|cobo|839305394802991371"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}import cobo_waas2
from cobo_waas2.models.key_share_holder import KeyShareHolder
from cobo_waas2.rest import ApiException
from pprint import pprint
# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
# Replace `<YOUR_PRIVATE_KEY>` with your private key
api_private_key="<YOUR_PRIVATE_KEY>",
# Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = cobo_waas2.WalletsMPCWalletsApi(api_client)
vault_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
tss_node_id = "coboBTGDvjJG99pABegvPYmavrcTU3SkjTLHVdsko8dWBga4w"
try:
# Get key share holder information
api_response = api_instance.get_key_share_holder_by_tss_node_id(
vault_id, tss_node_id
)
print(
"The response of WalletsMPCWalletsApi->get_key_share_holder_by_tss_node_id:\n"
)
pprint(api_response)
except Exception as e:
print(
"Exception when calling WalletsMPCWalletsApi->get_key_share_holder_by_tss_node_id: %s\n"
% e
)
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.WalletsMpcWalletsApi;
import com.cobo.waas2.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Select the development environment. To use the production environment, replace `Env.DEV` with
// `Env.PROD
defaultClient.setEnv(Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
WalletsMpcWalletsApi apiInstance = new WalletsMpcWalletsApi();
UUID vaultId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479");
String tssNodeId = "coboBTGDvjJG99pABegvPYmavrcTU3SkjTLHVdsko8dWBga4w";
try {
KeyShareHolder result = apiInstance.getKeyShareHolderByTssNodeId(vaultId, tssNodeId);
System.out.println(result);
} catch (ApiException e) {
System.err.println(
"Exception when calling WalletsMpcWalletsApi#getKeyShareHolderByTssNodeId");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
package main
import (
"context"
"fmt"
coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
"os"
)
func main() {
vaultId := "f47ac10b-58cc-4372-a567-0e02b2c3d479"
tssNodeId := "coboBTGDvjJG99pABegvPYmavrcTU3SkjTLHVdsko8dWBga4w"
configuration := coboWaas2.NewConfiguration()
// Initialize the API client
apiClient := coboWaas2.NewAPIClient(configuration)
ctx := context.Background()
// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
// Replace `<YOUR_PRIVATE_KEY>` with your private key
ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
Secret: "<YOUR_PRIVATE_KEY>",
})
resp, r, err := apiClient.WalletsMPCWalletsAPI.GetKeyShareHolderByTssNodeId(ctx, vaultId, tssNodeId).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `WalletsMPCWalletsAPI.GetKeyShareHolderByTssNodeId``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetKeyShareHolderByTssNodeId`: KeyShareHolder
fmt.Fprintf(
os.Stdout,
"Response from `WalletsMPCWalletsAPI.GetKeyShareHolderByTssNodeId`: %v\n",
resp,
)
}
const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.WalletsMPCWalletsApi();
const vault_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
const tss_node_id = "coboBTGDvjJG99pABegvPYmavrcTU3SkjTLHVdsko8dWBga4w";
apiInstance.getKeyShareHolderByTssNodeId(vault_id, tss_node_id).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
Authorizations
The API key. For more details, refer to API key.
In the API playground, enter your API secret, and your API key will be accordingly calculated.
Response
Successfully retrieved key share holder information
The data for MPC Wallets' key share holder information.
The key share holder name.
"Key share holder name"
The key share holder's TSS Node type. Possible values include:
-
Cobo: The TSS Node is generated and held by Cobo. -
Mobile: The TSS Node is generated and held by a mobile co-signer using Cobo Guard. -
API: The TSS Node is generated and held by a server co-signer using the TSS Node software package.
Cobo, Mobile, API "API"
The key share holder's TSS Node ID.
"coboAbCdEfGhIjKlMnOpQrStUvWxYz1234567890abcdefghi"
Whether the key share holder's TSS Node is online.
-
true: The TSS Node is online. -
false: The TSS Node is offline.
Whether the key share holder has been selected as the designated transaction signer. For example, in a 2-3 Threshold Signature Scheme (TSS), Cobo will serve as one signer, and you can choose one of the other two key share holders to act as the second transaction signer.
-
true: The key share holder is a designated transaction signer. -
false: The key share holder is not a designated transaction signer.
true
The status of key share holder's TSS Node. Possible values include:
-
Valid: The TSS Node is configured and activated. -
NotConfigured: The TSS Node has not been configured. This status is only applicable to mobile co-signer using the Cobo Guard. -
NotActivated: The TSS Node has not been activated. This status is only applicable to mobile co-signer using the Cobo Guard. -
Changed: The TSS Node has been changed. This happens when the key share holder sets up their Cobo Guard on a new phone. ThisChangedstatus serves as a reminder for you to call Create TSS request with theKeyGenFromKeyGroupandRecoveryactiontypeto finalize the setup of the key share holder's new phone. Once all set, the old TSS Node with theChangedstatus will be deleted.
Valid, NotConfigured, NotActivated, Changed "Valid"
The key share holder's Cobo Portal account ID.
"auth0|cobo|839305394802991371"
Was this page helpful?
