Cosmos
The Cosmos class from the @moonup/moon-api package provides methods to interact with Cosmos accounts and transactions.
Initialization
To use the Cosmos class, you need to create an instance of it by passing an instance of the HttpClient class to its constructor. The HttpClient class is also part of the @moonup/moon-api package and provides a convenient way to make HTTP requests.
Here's an example of how to create an instance of the Cosmos class:
import { HttpClient, Cosmos } from '@moonup/moon-api';
const http = new HttpClient({
baseUrl: 'https://beta.usemoon.ai',
securityWorker: async (securityData) => {
return {
headers: {
Authorization: `Bearer ${securityData.token}`,
},
};
},
});
const cosmos = new Cosmos(http);Methods
The Cosmos class provides the following methods:
createCosmosAccount(data: CosmosInput, params?: RequestParams): Promise<CreateCosmosAccountData>Creates a new Cosmos account.
datais an object of typeCosmosInputthat contains the necessary information to create the account.paramsis an optional object of typeRequestParamsthat can be used to customize the request.Returns a promise that resolves to an object of type
CreateCosmosAccountData.
Example usage:
const data = { name: 'my_account', network: 'testnet', private_key: 'private_key', }; const result = await cosmos.createCosmosAccount(data); console.log(result);getCosmosAccount(accountName: string, params?: RequestParams): Promise<GetCosmosAccountData>Retrieves information about a specific Cosmos account.
accountNameis a string that represents the name of the account.paramsis an optional object of typeRequestParamsthat can be used to customize the request.Returns a promise that resolves to an object of type
GetCosmosAccountData.
Example usage:
const accountName = 'my_account'; const result = await cosmos.getCosmosAccount(accountName); console.log(result);listCosmosAccounts(params?: RequestParams): Promise<ListCosmosAccountsData>Retrieves a list of all Cosmos accounts.
paramsis an optional object of typeRequestParamsthat can be used to customize the request.Returns a promise that resolves to an object of type
ListCosmosAccountsData.
Example usage:
const result = await cosmos.listCosmosAccounts(); console.log(result);signCosmosTransaction(accountName: string, data: CosmosTransactionInput, params?: RequestParams): Promise<SignCosmosTransactionData>Signs a Cosmos transaction for a specific account.
accountNameis a string that represents the name of the account.datais an object of typeCosmosTransactionInputthat contains the necessary information to sign the transaction.paramsis an optional object of typeRequestParamsthat can be used to customize the request.Returns a promise that resolves to an object of type
SignCosmosTransactionData.
Example usage:
const accountName = 'my_account'; const data = { to: 'recipient_address', value: 0.1, }; const result = await cosmos.signCosmosTransaction(accountName, data); console.log(result);
These methods can be used to perform various operations on Cosmos accounts and transactions, such as creating new accounts, retrieving account information, signing transactions, and more. The Cosmos class is a part of the @moonup/moon-api package, which provides a convenient way to interact with the Moon API.
Last updated