import cobo_waas2
from cobo_waas2.models.cobo_safe_delegate import CoboSafeDelegate
from cobo_waas2.models.safe_wallet_delegates import SafeWalletDelegates
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.WalletsSmartContractWalletsApi(api_client)
wallet_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
safe_wallet_delegates = cobo_waas2.SafeWalletDelegates(
cobo_waas2.SafeWalletDelegatesContractCall(request_type="Transfer")
)
try:
# List Delegates
api_response = api_instance.list_safe_wallet_delegates(
wallet_id, safe_wallet_delegates=safe_wallet_delegates
)
print(
"The response of WalletsSmartContractWalletsApi->list_safe_wallet_delegates:\n"
)
pprint(api_response)
except Exception as e:
print(
"Exception when calling WalletsSmartContractWalletsApi->list_safe_wallet_delegates: %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.WalletsSmartContractWalletsApi;
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>");
WalletsSmartContractWalletsApi apiInstance = new WalletsSmartContractWalletsApi();
UUID walletId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479");
SafeWalletDelegates safeWalletDelegates =
new SafeWalletDelegates(
new SafeWalletDelegatesContractCall().requestType(EstimateFeeRequestType.TRANSFER));
try {
List<CoboSafeDelegate> result =
apiInstance.listSafeWalletDelegates(walletId, safeWalletDelegates);
System.out.println(result);
} catch (ApiException e) {
System.err.println(
"Exception when calling WalletsSmartContractWalletsApi#listSafeWalletDelegates");
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() {
walletId := "f47ac10b-58cc-4372-a567-0e02b2c3d479"
safeWalletDelegates := coboWaas2.SafeWalletDelegates{
SafeWalletDelegatesContractCall: coboWaas2.NewSafeWalletDelegatesContractCall(
coboWaas2.EstimateFeeRequestType("Transfer"),
),
}
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.WalletsSmartContractWalletsAPI.ListSafeWalletDelegates(ctx, walletId).
SafeWalletDelegates(safeWalletDelegates).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `WalletsSmartContractWalletsAPI.ListSafeWalletDelegates``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `ListSafeWalletDelegates`: []CoboSafeDelegate
fmt.Fprintf(
os.Stdout,
"Response from `WalletsSmartContractWalletsAPI.ListSafeWalletDelegates`: %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.WalletsSmartContractWalletsApi();
const wallet_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
const opts = {
SafeWalletDelegates: CoboWaas2.SafeWalletDelegates.constructFromObject({
request_type: "Transfer",
}),
};
apiInstance.listSafeWalletDelegates(wallet_id, opts).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
[
{
"delegate_type": "Org-Controlled",
"wallet_id": "123e4567-e89b-12d3-a456-426614174000",
"address": "0x1234567890123456789012345678901234567890"
}
]{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}List Delegates
This operation retrieves all available Delegates of a Safe{Wallet} for a given transfer or contract call request.
import cobo_waas2
from cobo_waas2.models.cobo_safe_delegate import CoboSafeDelegate
from cobo_waas2.models.safe_wallet_delegates import SafeWalletDelegates
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.WalletsSmartContractWalletsApi(api_client)
wallet_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
safe_wallet_delegates = cobo_waas2.SafeWalletDelegates(
cobo_waas2.SafeWalletDelegatesContractCall(request_type="Transfer")
)
try:
# List Delegates
api_response = api_instance.list_safe_wallet_delegates(
wallet_id, safe_wallet_delegates=safe_wallet_delegates
)
print(
"The response of WalletsSmartContractWalletsApi->list_safe_wallet_delegates:\n"
)
pprint(api_response)
except Exception as e:
print(
"Exception when calling WalletsSmartContractWalletsApi->list_safe_wallet_delegates: %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.WalletsSmartContractWalletsApi;
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>");
WalletsSmartContractWalletsApi apiInstance = new WalletsSmartContractWalletsApi();
UUID walletId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479");
SafeWalletDelegates safeWalletDelegates =
new SafeWalletDelegates(
new SafeWalletDelegatesContractCall().requestType(EstimateFeeRequestType.TRANSFER));
try {
List<CoboSafeDelegate> result =
apiInstance.listSafeWalletDelegates(walletId, safeWalletDelegates);
System.out.println(result);
} catch (ApiException e) {
System.err.println(
"Exception when calling WalletsSmartContractWalletsApi#listSafeWalletDelegates");
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() {
walletId := "f47ac10b-58cc-4372-a567-0e02b2c3d479"
safeWalletDelegates := coboWaas2.SafeWalletDelegates{
SafeWalletDelegatesContractCall: coboWaas2.NewSafeWalletDelegatesContractCall(
coboWaas2.EstimateFeeRequestType("Transfer"),
),
}
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.WalletsSmartContractWalletsAPI.ListSafeWalletDelegates(ctx, walletId).
SafeWalletDelegates(safeWalletDelegates).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `WalletsSmartContractWalletsAPI.ListSafeWalletDelegates``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `ListSafeWalletDelegates`: []CoboSafeDelegate
fmt.Fprintf(
os.Stdout,
"Response from `WalletsSmartContractWalletsAPI.ListSafeWalletDelegates`: %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.WalletsSmartContractWalletsApi();
const wallet_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
const opts = {
SafeWalletDelegates: CoboWaas2.SafeWalletDelegates.constructFromObject({
request_type: "Transfer",
}),
};
apiInstance.listSafeWalletDelegates(wallet_id, opts).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
[
{
"delegate_type": "Org-Controlled",
"wallet_id": "123e4567-e89b-12d3-a456-426614174000",
"address": "0x1234567890123456789012345678901234567890"
}
]{
"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.cobo_safe_delegate import CoboSafeDelegate
from cobo_waas2.models.safe_wallet_delegates import SafeWalletDelegates
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.WalletsSmartContractWalletsApi(api_client)
wallet_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
safe_wallet_delegates = cobo_waas2.SafeWalletDelegates(
cobo_waas2.SafeWalletDelegatesContractCall(request_type="Transfer")
)
try:
# List Delegates
api_response = api_instance.list_safe_wallet_delegates(
wallet_id, safe_wallet_delegates=safe_wallet_delegates
)
print(
"The response of WalletsSmartContractWalletsApi->list_safe_wallet_delegates:\n"
)
pprint(api_response)
except Exception as e:
print(
"Exception when calling WalletsSmartContractWalletsApi->list_safe_wallet_delegates: %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.WalletsSmartContractWalletsApi;
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>");
WalletsSmartContractWalletsApi apiInstance = new WalletsSmartContractWalletsApi();
UUID walletId = UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479");
SafeWalletDelegates safeWalletDelegates =
new SafeWalletDelegates(
new SafeWalletDelegatesContractCall().requestType(EstimateFeeRequestType.TRANSFER));
try {
List<CoboSafeDelegate> result =
apiInstance.listSafeWalletDelegates(walletId, safeWalletDelegates);
System.out.println(result);
} catch (ApiException e) {
System.err.println(
"Exception when calling WalletsSmartContractWalletsApi#listSafeWalletDelegates");
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() {
walletId := "f47ac10b-58cc-4372-a567-0e02b2c3d479"
safeWalletDelegates := coboWaas2.SafeWalletDelegates{
SafeWalletDelegatesContractCall: coboWaas2.NewSafeWalletDelegatesContractCall(
coboWaas2.EstimateFeeRequestType("Transfer"),
),
}
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.WalletsSmartContractWalletsAPI.ListSafeWalletDelegates(ctx, walletId).
SafeWalletDelegates(safeWalletDelegates).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `WalletsSmartContractWalletsAPI.ListSafeWalletDelegates``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `ListSafeWalletDelegates`: []CoboSafeDelegate
fmt.Fprintf(
os.Stdout,
"Response from `WalletsSmartContractWalletsAPI.ListSafeWalletDelegates`: %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.WalletsSmartContractWalletsApi();
const wallet_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
const opts = {
SafeWalletDelegates: CoboWaas2.SafeWalletDelegates.constructFromObject({
request_type: "Transfer",
}),
};
apiInstance.listSafeWalletDelegates(wallet_id, opts).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.
Path Parameters
The wallet ID.
Body
The request body to query the Delegates of a Safe{Wallet}.
- Contract Call by Delegates
- Transfer by Delegates
The request type. Possible values include:
Transfer: A request to transfer tokens.ContractCall: A request to interact with a smart contract.
Transfer, ContractCall "Transfer"
The destination address.
"0x0406db8351aa6839169bb363f63c2c808fee8f99"
The transfer amount. For example, if you trade 1.5 ETH, then the value is 1.5.
"1.5"
The data used to invoke a specific function or method within the specified contract at the destination address, with a maximum length of 65,000 characters.
"0xa22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c71000000000000000000000000000000000000000000000000000000000000DEMO"
Response
Delegates successfully retrieved.
The wallet subtype of the Delegate. Possible values include:
Org-Controlled: MPC Wallets (Organization-Controlled Wallets).User-Controlled: MPC Wallets (User-Controlled Wallets).
Org-Controlled, User-Controlled "Org-Controlled"
The wallet ID of the Delegate. This is required when initiating a transfer or contract call from Smart Contract Wallets (Safe{Wallet}).
"123e4567-e89b-12d3-a456-426614174000"
The wallet address of the Delegate. This is required when initiating a transfer or contract call from Smart Contract Wallets (Safe{Wallet}).
"0x1234567890123456789012345678901234567890"
Was this page helpful?
