@maestro-org/typescript-sdk
Version:
TypeScript SDK for the Maestro Dapp Platform
222 lines (203 loc) • 10.3 kB
text/typescript
import { AxiosRequestConfig } from 'axios';
import { RequestArgs } from '../../base';
import {
DUMMY_BASE_URL,
setApiKeyToObject,
setSearchParams,
toPathString,
assertParamExists,
createRequestFunction,
} from '../../common';
import { Configuration } from '../../configuration';
import { TxManagerState } from '../type';
import { TxManagerHistoryQueryParams } from './type';
/**
* TransactionManagerApi - axios parameter creator
* @export
*/
export const TransactionManagerApiAxiosParamCreator = (configuration: Configuration) => ({
/**
* Returns the history of submitted transactions
* @summary Transactions history
* @param {TxManagerHistoryQueryParams} [localVarQueryParameter] Query parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
txManagerHistory: (
localVarQueryParameter: TxManagerHistoryQueryParams = {},
options: AxiosRequestConfig = {},
): RequestArgs => {
const localVarPath = `/txmanager/history`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
const { baseOptions } = configuration;
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
const localVarHeaderParameter = {} as Record<string, string>;
// authentication api-key required
setApiKeyToObject(localVarHeaderParameter, 'api-key', configuration);
setSearchParams(localVarUrlObj, localVarQueryParameter);
const headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {
...localVarHeaderParameter,
...headersFromBaseOptions,
...options.headers,
};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Returns the most recent state of a transaction
* @summary Transaction state
* @param {string} txHash Hex encoded transaction hash
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
txManagerState: (txHash: string, options: AxiosRequestConfig = {}): RequestArgs => {
// verify required parameter 'txHash' is not null or undefined
assertParamExists('txManagerState', 'txHash', txHash);
const localVarPath = `/txmanager/{tx_hash}/state`.replace(`{${'tx_hash'}}`, encodeURIComponent(String(txHash)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
const { baseOptions } = configuration;
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
const localVarHeaderParameter = {} as Record<string, string>;
const localVarQueryParameter = {} as Record<string, string>;
// authentication api-key required
setApiKeyToObject(localVarHeaderParameter, 'api-key', configuration);
setSearchParams(localVarUrlObj, localVarQueryParameter);
const headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {
...localVarHeaderParameter,
...headersFromBaseOptions,
...options.headers,
};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Submit a signed and serialized transaction to the network. A transaction submited with this endpoint will be [monitored by Maestro](../Dapp%20Platform/Transaction%20Manager).
* @summary Submit transaction
* @param {string | Uint8Array} body CBOR encoded transaction
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
txManagerSubmit: (body: string | Uint8Array, options: AxiosRequestConfig = {}): RequestArgs => {
// verify required parameter 'body' is not null or undefined
assertParamExists('txManagerSubmit', 'body', body);
const localVarPath = `/txmanager`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
const { baseOptions } = configuration;
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
const localVarHeaderParameter = {} as Record<string, string>;
const localVarQueryParameter = {} as Record<string, string>;
// authentication api-key required
setApiKeyToObject(localVarHeaderParameter, 'api-key', configuration);
localVarHeaderParameter['Content-Type'] = 'application/cbor';
setSearchParams(localVarUrlObj, localVarQueryParameter);
const headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {
...localVarHeaderParameter,
...headersFromBaseOptions,
...options.headers,
};
localVarRequestOptions.data = typeof body === 'string' ? Buffer.from(body, 'hex') : Buffer.from(body);
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Submit a signed and serialized transaction to the network. A transaction submited with this endpoint will be [Turbo Submitted and Monitored by Maestro](../Dapp%20Platform/Turbo%20Transaction).
* @summary Turbo submit transaction
* @param {string | Uint8Array} body CBOR encoded transaction
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
txManagerTurboSubmit: (body: string | Uint8Array, options: AxiosRequestConfig = {}): RequestArgs => {
// verify required parameter 'body' is not null or undefined
assertParamExists('txManagerTurboSubmit', 'body', body);
const localVarPath = `/txmanager/turbosubmit`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
const { baseOptions } = configuration;
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
const localVarHeaderParameter = {} as Record<string, string>;
const localVarQueryParameter = {} as Record<string, string>;
// authentication api-key required
setApiKeyToObject(localVarHeaderParameter, 'api-key', configuration);
localVarHeaderParameter['Content-Type'] = 'application/cbor';
setSearchParams(localVarUrlObj, localVarQueryParameter);
const headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {
...localVarHeaderParameter,
...headersFromBaseOptions,
...options.headers,
};
localVarRequestOptions.data = typeof body === 'string' ? Buffer.from(body, 'hex') : Buffer.from(body);
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
});
/**
* TransactionManagerApi - functional programming interface
* @export
*/
export const TransactionManagerApiFp = (configuration: Configuration) => {
const localVarAxiosParamCreator = TransactionManagerApiAxiosParamCreator(configuration);
return {
/**
* Returns the history of submitted transactions
* @summary Transactions history
* @param {TxManagerHistoryQueryParams} [queryParams] Query parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
txManagerHistory(
queryParams?: TxManagerHistoryQueryParams,
options?: AxiosRequestConfig,
): () => Promise<Array<TxManagerState>> {
const localVarAxiosArgs = localVarAxiosParamCreator.txManagerHistory(queryParams, options);
return createRequestFunction(localVarAxiosArgs, configuration);
},
/**
* Returns the most recent state of a transaction
* @summary Transaction state
* @param {string} txHash Hex encoded transaction hash
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
txManagerState(txHash: string, options?: AxiosRequestConfig): () => Promise<TxManagerState> {
const localVarAxiosArgs = localVarAxiosParamCreator.txManagerState(txHash, options);
return createRequestFunction(localVarAxiosArgs, configuration);
},
/**
* Submit a signed and serialized transaction to the network. A transaction submited with this endpoint will be [monitored by Maestro](../Dapp%20Platform/Transaction%20Manager).
* @summary Submit transaction
* @param {string | Uint8Array} body CBOR encoded transaction
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
txManagerSubmit(body: string | Uint8Array, options?: AxiosRequestConfig): () => Promise<string> {
const localVarAxiosArgs = localVarAxiosParamCreator.txManagerSubmit(body, options);
return createRequestFunction(localVarAxiosArgs, configuration);
},
/**
* Submit a signed and serialized transaction to the network. A transaction submited with this endpoint will be [Turbo Submitted and Monitored by Maestro](../Dapp%20Platform/Turbo%20Transaction).
* @summary Turbo submit transaction
* @param {string | Uint8Array} body CBOR encoded transaction
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
txManagerTurboSubmit(body: string | Uint8Array, options?: AxiosRequestConfig): () => Promise<string> {
const localVarAxiosArgs = localVarAxiosParamCreator.txManagerTurboSubmit(body, options);
return createRequestFunction(localVarAxiosArgs, configuration);
},
};
};