Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@settlemint/sdk-utils

Package Overview
Dependencies
Maintainers
0
Versions
1559
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@settlemint/sdk-utils

SettleMint SDK, integrate SettleMint into your application with ease.

  • 0.9.3-mainaf7d49d5
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
17K
decreased by-0.3%
Maintainers
0
Weekly downloads
 
Created
Source

SettleMint logo

SettleMint SDK

https://settlemint.com
Integrate SettleMint into your application with ease.

CI status License npm stars

Documentation   •   Discord   •   NPM   •   Issues

Table of Contents

About

The SettleMint Utils SDK provides a collection of shared utilities and helper functions used across the SettleMint SDK packages. It includes common functionality for configuration management, error handling, validation, and type definitions that ensure consistency and reliability across the SDK ecosystem.

API Reference

Functions

ascii()

ascii(): void

Defined in: sdk/utils/src/terminal/ascii.ts:13

Prints the SettleMint ASCII art logo to the console in magenta color. Used for CLI branding and visual identification.

Returns

void

Example
import { ascii } from "@settlemint/sdk-utils";

// Prints the SettleMint logo
ascii();

cancel()

cancel(msg): never

Defined in: sdk/utils/src/terminal/cancel.ts:17

Displays an error message in red inverse text and exits the process. Used to terminate execution with a visible error message. Any sensitive tokens in the message are masked before display.

Parameters
ParameterTypeDescription
msgstringThe error message to display
Returns

never

never - Function does not return as it exits the process

Example
import { cancel } from "@settlemint/sdk-utils";

// Exits process with error message
cancel("An error occurred");

capitalizeFirstLetter()

capitalizeFirstLetter(val): string

Defined in: sdk/utils/src/string.ts:13

Capitalizes the first letter of a string.

Parameters
ParameterTypeDescription
valstringThe string to capitalize
Returns

string

The input string with its first letter capitalized

Example
import { capitalizeFirstLetter } from "@settlemint/sdk-utils";

const capitalized = capitalizeFirstLetter("hello");
// Returns: "Hello"

emptyDir()

emptyDir(dir): Promise<void>

Defined in: sdk/utils/src/package-manager/download-and-extract.ts:53

Removes all contents of a directory except the .git folder

Parameters
ParameterTypeDescription
dirstringThe directory path to empty
Returns

Promise<void>

Example
import { emptyDir } from "@settlemint/sdk-utils";

await emptyDir("/path/to/dir"); // Removes all contents except .git

ensureBrowser()

ensureBrowser(): void

Defined in: sdk/utils/src/runtime/ensure-server.ts:31

Ensures that code is running in a browser environment and not on the server.

Returns

void

Throws

If called from a server environment

Example
import { ensureBrowser } from "@settlemint/sdk-utils";

// Will throw if running on server
ensureBrowser();

ensureServer()

ensureServer(): void

Defined in: sdk/utils/src/runtime/ensure-server.ts:13

Ensures that code is running on the server and not in a browser environment.

Returns

void

Throws

If called from a browser environment

Example
import { ensureServer } from "@settlemint/sdk-utils";

// Will throw if running in browser
ensureServer();

executeCommand()

executeCommand(command, args, options?): Promise<string[]>

Defined in: sdk/utils/src/terminal/execute-command.ts:31

Executes a command with the given arguments in a child process. Pipes stdin to the child process and captures stdout/stderr output. Masks any sensitive tokens in the output before displaying or returning.

Parameters
ParameterTypeDescription
commandstringThe command to execute
argsstring[]Array of arguments to pass to the command
options?ExecuteCommandOptionsOptions for customizing command execution
Returns

Promise<string[]>

Array of output strings from stdout and stderr

Throws

If the process fails to start or exits with non-zero code

Example
import { executeCommand } from "@settlemint/sdk-utils";

// Execute git clone
await executeCommand("git", ["clone", "repo-url"]);

// Execute silently
await executeCommand("npm", ["install"], { silent: true });

exists()

exists(path): Promise<boolean>

Defined in: sdk/utils/src/filesystem/exists.ts:17

Checks if a file or directory exists at the given path

Parameters
ParameterTypeDescription
pathPathLikeThe file system path to check for existence
Returns

Promise<boolean>

Promise that resolves to true if the path exists, false otherwise

Example
import { exists } from "@settlemint/sdk-utils";

// Check if file exists before reading
if (await exists('/path/to/file.txt')) {
  // File exists, safe to read
}

formatTargetDir()

formatTargetDir(targetDir): string

Defined in: sdk/utils/src/package-manager/download-and-extract.ts:23

Formats a directory path by removing trailing slashes and whitespace

Parameters
ParameterTypeDescription
targetDirstringThe directory path to format
Returns

string

The formatted directory path

Example
import { formatTargetDir } from "@settlemint/sdk-utils";

const formatted = formatTargetDir("/path/to/dir/ "); // "/path/to/dir"

getPackageManager()

getPackageManager(targetDir?): Promise<AgentName>

Defined in: sdk/utils/src/package-manager/get-package-manager.ts:15

Detects the package manager used in the current project

Parameters
ParameterTypeDescription
targetDir?stringThe directory to check for package manager (optional, defaults to process.cwd())
Returns

Promise<AgentName>

The name of the package manager

Example
import { getPackageManager } from "@settlemint/sdk-utils";

const packageManager = await getPackageManager();
console.log(`Using ${packageManager}`);

getPackageManagerExecutable()

getPackageManagerExecutable(targetDir?): Promise<{ args: string[]; command: string; }>

Defined in: sdk/utils/src/package-manager/get-package-manager-executable.ts:14

Retrieves the executable command and arguments for the package manager

Parameters
ParameterTypeDescription
targetDir?stringThe directory to check for package manager (optional, defaults to process.cwd())
Returns

Promise<{ args: string[]; command: string; }>

An object containing the command and arguments for the package manager

Example
import { getPackageManagerExecutable } from "@settlemint/sdk-utils";

const { command, args } = await getPackageManagerExecutable();
console.log(`Using ${command} with args: ${args.join(" ")}`);

installDependencies()

installDependencies(pkgs): Promise<void>

Defined in: sdk/utils/src/package-manager/install-dependencies.ts:18

Installs one or more packages as dependencies using the detected package manager

Parameters
ParameterTypeDescription
pkgsstring | string[]A single package name or array of package names to install
Returns

Promise<void>

A promise that resolves when installation is complete

Throws

If package installation fails

Example
import { installDependencies } from "@settlemint/sdk-utils";

// Install a single package
await installDependencies("express");

// Install multiple packages
await installDependencies(["express", "cors"]);

intro()

intro(msg): void

Defined in: sdk/utils/src/terminal/intro.ts:15

Displays an introductory message in magenta text with padding. Any sensitive tokens in the message are masked before display.

Parameters
ParameterTypeDescription
msgstringThe message to display as introduction
Returns

void

Example
import { intro } from "@settlemint/sdk-utils";

// Display intro message
intro("Starting deployment...");

isEmpty()

isEmpty(path): Promise<boolean>

Defined in: sdk/utils/src/package-manager/download-and-extract.ts:39

Checks if a directory is empty or contains only a .git folder

Parameters
ParameterTypeDescription
pathstringThe directory path to check
Returns

Promise<boolean>

True if directory is empty or contains only .git, false otherwise

Example
import { isEmpty } from "@settlemint/sdk-utils";

if (await isEmpty("/path/to/dir")) {
  // Directory is empty
}

isPackageInstalled()

isPackageInstalled(name, path?): Promise<boolean>

Defined in: sdk/utils/src/package-manager/is-package-installed.ts:12

Checks if a package is installed in the project's dependencies, devDependencies, or peerDependencies.

Parameters
ParameterTypeDescription
namestringThe name of the package to check
path?stringThe path to the project root directory. If not provided, will be automatically determined
Returns

Promise<boolean>

Whether the package is installed

Throws

If unable to read or parse the package.json file


loadEnv()

loadEnv<T>(validateEnv, prod, path): Promise<T extends true ? DotEnv : DotEnvPartial>

Defined in: sdk/utils/src/environment/load-env.ts:25

Loads environment variables from .env files. To enable encryption with dotenvx (https://www.dotenvx.com/docs) run bunx dotenvx encrypt

Type Parameters
Type ParameterDefault type
T extends booleantrue
Parameters
ParameterTypeDescription
validateEnvTWhether to validate the environment variables against the schema
prodbooleanWhether to load production environment variables
pathstringOptional path to the directory containing .env files. Defaults to process.cwd()
Returns

Promise<T extends true ? DotEnv : DotEnvPartial>

A promise that resolves to the validated environment variables

Throws

Will throw an error if validation fails and validateEnv is true

Example
import { loadEnv } from '@settlemint/sdk-utils';

// Load and validate environment variables
const env = await loadEnv(true, false);
console.log(env.SETTLEMINT_INSTANCE);

// Load without validation
const rawEnv = await loadEnv(false, false);

maskTokens()

maskTokens(output): string

Defined in: sdk/utils/src/terminal/mask-tokens.ts:13

Masks sensitive SettleMint tokens in output text by replacing them with asterisks. Handles personal access tokens (PAT), application access tokens (AAT), and service account tokens (SAT).

Parameters
ParameterTypeDescription
outputstringThe text string that may contain sensitive tokens
Returns

string

The text with any sensitive tokens masked with asterisks

Example
import { maskTokens } from "@settlemint/sdk-utils";

// Masks a token in text
const masked = maskTokens("Token: sm_pat_****"); // "Token: ***"

note()

note(message, level): void

Defined in: sdk/utils/src/terminal/note.ts:20

Displays a note message with optional warning level formatting. Regular notes are displayed in normal text, while warnings are shown in yellow. Any sensitive tokens in the message are masked before display.

Parameters
ParameterTypeDefault valueDescription
messagestringundefinedThe message to display as a note
level"info" | "warn""info"The note level: "info" (default) or "warn" for warning styling
Returns

void

Example
import { note } from "@settlemint/sdk-utils";

// Display info note
note("Operation completed successfully");

// Display warning note
note("Low disk space remaining", "warn");

outro()

outro(msg): void

Defined in: sdk/utils/src/terminal/outro.ts:15

Displays a closing message in green inverted text with padding. Any sensitive tokens in the message are masked before display.

Parameters
ParameterTypeDescription
msgstringThe message to display as conclusion
Returns

void

Example
import { outro } from "@settlemint/sdk-utils";

// Display outro message
outro("Deployment completed successfully!");

projectRoot()

projectRoot(): Promise<string>

Defined in: sdk/utils/src/filesystem/project-root.ts:16

Finds the root directory of the current project by locating the nearest package.json file

Returns

Promise<string>

Promise that resolves to the absolute path of the project root directory

Throws

Will throw an error if no package.json is found in the directory tree

Example
import { projectRoot } from "@settlemint/sdk-utils";

// Get project root path
const rootDir = await projectRoot();
console.log(`Project root is at: ${rootDir}`);

setName()

setName(name, path?): Promise<void>

Defined in: sdk/utils/src/package-manager/set-name.ts:16

Sets the name field in the package.json file

Parameters
ParameterTypeDescription
namestringThe new name to set in the package.json file
path?stringThe path to the project root directory. If not provided, will be automatically determined
Returns

Promise<void>

A promise that resolves when the package.json has been updated

Throws

If unable to read, update or save the package.json file

Example
import { setName } from "@settlemint/sdk-utils";

await setName("my-new-project-name");

spinner()

spinner<R>(options): Promise<R>

Defined in: sdk/utils/src/terminal/spinner.ts:39

Displays a loading spinner while executing an async task. Shows progress with start/stop messages and handles errors. Spinner is disabled in CI environments.

Type Parameters
Type Parameter
R
Parameters
ParameterTypeDescription
optionsSpinnerOptions<R>Configuration options for the spinner
Returns

Promise<R>

The result from the executed task

Throws

Will exit process with code 1 if task fails

Example
import { spinner } from "@settlemint/sdk-utils";

// Show spinner during async task
const result = await spinner({
  startMessage: "Deploying...",
  task: async () => {
    // Async work here
    return "success";
  },
  stopMessage: "Deployed successfully!"
});

tryParseJson()

tryParseJson<T>(value, defaultValue): T | null

Defined in: sdk/utils/src/json.ts:23

Attempts to parse a JSON string into a typed value, returning a default value if parsing fails.

Type Parameters
Type Parameter
T
Parameters
ParameterTypeDefault valueDescription
valuestringundefinedThe JSON string to parse
defaultValuenull | TnullThe value to return if parsing fails or results in null/undefined
Returns

T | null

The parsed JSON value as type T, or the default value if parsing fails

Example
import { tryParseJson } from "@settlemint/sdk-utils";

const config = tryParseJson<{ port: number }>(
  '{"port": 3000}',
  { port: 8080 }
);
// Returns: { port: 3000 }

const invalid = tryParseJson<string[]>(
  'invalid json',
  []
);
// Returns: []

validate()

validate<T>(schema, value): T["_output"]

Defined in: sdk/utils/src/validation.ts:14

Validates a value against a given Zod schema.

Type Parameters
Type Parameter
T extends ZodType
Parameters
ParameterTypeDescription
schemaTThe Zod schema to validate against.
valueunknownThe value to validate.
Returns

T["_output"]

The validated and parsed value.

Throws

Will throw an error if validation fails, with formatted error messages.

Example
const validatedId = validate(IdSchema, "550e8400-e29b-41d4-a716-446655440000");

writeEnv()

writeEnv(prod, env, secrets): Promise<void>

Defined in: sdk/utils/src/environment/write-env.ts:81

Writes environment variables to .env files across a project or monorepo

Parameters
ParameterTypeDescription
prodbooleanWhether to write production environment variables
envPartial<{ SETTLEMINT_ACCESS_TOKEN: string; SETTLEMINT_APPLICATION: string; SETTLEMINT_BLOCKCHAIN_NETWORK: string; SETTLEMINT_BLOCKCHAIN_NODE: string; SETTLEMINT_BLOCKSCOUT: string; SETTLEMINT_BLOCKSCOUT_GRAPHQL_ENDPOINT: string; SETTLEMINT_BLOCKSCOUT_UI_ENDPOINT: string; SETTLEMINT_CUSTOM_DEPLOYMENT: string; SETTLEMINT_CUSTOM_DEPLOYMENT_ENDPOINT: string; SETTLEMINT_HASURA: string; SETTLEMINT_HASURA_ADMIN_SECRET: string; SETTLEMINT_HASURA_DATABASE_URL: string; SETTLEMINT_HASURA_ENDPOINT: string; SETTLEMINT_HD_PRIVATE_KEY: string; SETTLEMINT_INSTANCE: string; SETTLEMINT_IPFS: string; SETTLEMINT_IPFS_API_ENDPOINT: string; SETTLEMINT_IPFS_GATEWAY_ENDPOINT: string; SETTLEMINT_IPFS_PINNING_ENDPOINT: string; SETTLEMINT_LOAD_BALANCER: string; SETTLEMINT_MINIO: string; SETTLEMINT_MINIO_ACCESS_KEY: string; SETTLEMINT_MINIO_ENDPOINT: string; SETTLEMINT_MINIO_SECRET_KEY: string; SETTLEMINT_NEW_PROJECT_NAME: string; SETTLEMINT_PERSONAL_ACCESS_TOKEN: string; SETTLEMINT_PORTAL: string; SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT: string; SETTLEMINT_PORTAL_REST_ENDPOINT: string; SETTLEMINT_SMART_CONTRACT_ADDRESS: string; SETTLEMINT_SMART_CONTRACT_DEPLOYMENT_ID: string; SETTLEMINT_THEGRAPH: string; SETTLEMINT_THEGRAPH_SUBGRAPH_NAME: string; SETTLEMINT_THEGRAPH_SUBGRAPHS_ENDPOINTS: string[]; SETTLEMINT_WORKSPACE: string; }>The environment variables to write
secretsbooleanWhether to write to .env.local files for secrets
Returns

Promise<void>

Promise that resolves when writing is complete

Throws

Will throw an error if writing fails

Example
import { writeEnv } from '@settlemint/sdk-utils';

// Write development environment variables
await writeEnv(false, {
  SETTLEMINT_INSTANCE: 'https://dev.example.com'
}, false);

// Write production secrets
await writeEnv(true, {
  SETTLEMINT_ACCESS_TOKEN: 'secret-token'
}, true);

Interfaces

ExecuteCommandOptions

Defined in: sdk/utils/src/terminal/execute-command.ts:7

Options for executing a command, extending SpawnOptionsWithoutStdio

Extends
  • SpawnOptionsWithoutStdio
Properties
PropertyTypeDescriptionDefined in
silent?booleanWhether to suppress output to stdout/stderrsdk/utils/src/terminal/execute-command.ts:9

SpinnerOptions<R>

Defined in: sdk/utils/src/terminal/spinner.ts:9

Options for configuring the spinner behavior

Type Parameters
Type Parameter
R
Properties
PropertyTypeDescriptionDefined in
startMessagestringMessage to display when spinner startssdk/utils/src/terminal/spinner.ts:11
stopMessagestringMessage to display when spinner completes successfullysdk/utils/src/terminal/spinner.ts:15
task() => Promise<R>Async task to execute while spinner is activesdk/utils/src/terminal/spinner.ts:13

Type Aliases

AccessToken

AccessToken: string

Defined in: sdk/utils/src/validation/access-token.schema.ts:22

Schema for validating both application and personal access tokens. Accepts tokens starting with either 'sm_pat_' or 'sm_aat_' prefix.


ApplicationAccessToken

ApplicationAccessToken: string

Defined in: sdk/utils/src/validation/access-token.schema.ts:8

Schema for validating application access tokens. Application access tokens start with 'sm_aat_' prefix.


DotEnv

DotEnv: object

Defined in: sdk/utils/src/validation/dot-env.schema.ts:91

Type definition for the environment variables schema.

Type declaration
NameTypeDescriptionDefined in
SETTLEMINT_ACCESS_TOKEN?stringApplication access token for authenticating with SettleMint servicessdk/utils/src/validation/dot-env.schema.ts:16
SETTLEMINT_APPLICATION?stringUnique name of the applicationsdk/utils/src/validation/dot-env.schema.ts:22
SETTLEMINT_BLOCKCHAIN_NETWORK?stringUnique name of the blockchain networksdk/utils/src/validation/dot-env.schema.ts:24
SETTLEMINT_BLOCKCHAIN_NODE?stringUnique name of the blockchain nodesdk/utils/src/validation/dot-env.schema.ts:26
SETTLEMINT_BLOCKSCOUT?stringUnique name of the Blockscout instancesdk/utils/src/validation/dot-env.schema.ts:75
SETTLEMINT_BLOCKSCOUT_GRAPHQL_ENDPOINT?stringGraphQL endpoint URL for Blockscoutsdk/utils/src/validation/dot-env.schema.ts:77
SETTLEMINT_BLOCKSCOUT_UI_ENDPOINT?stringUI endpoint URL for Blockscoutsdk/utils/src/validation/dot-env.schema.ts:79
SETTLEMINT_CUSTOM_DEPLOYMENT?stringUnique name of the custom deploymentsdk/utils/src/validation/dot-env.schema.ts:71
SETTLEMINT_CUSTOM_DEPLOYMENT_ENDPOINT?stringEndpoint URL for the custom deploymentsdk/utils/src/validation/dot-env.schema.ts:73
SETTLEMINT_HASURA?stringUnique name of the Hasura instancesdk/utils/src/validation/dot-env.schema.ts:30
SETTLEMINT_HASURA_ADMIN_SECRET?stringAdmin secret for authenticating with Hasurasdk/utils/src/validation/dot-env.schema.ts:34
SETTLEMINT_HASURA_DATABASE_URL?stringDatabase connection URL for Hasurasdk/utils/src/validation/dot-env.schema.ts:36
SETTLEMINT_HASURA_ENDPOINT?stringEndpoint URL for the Hasura GraphQL APIsdk/utils/src/validation/dot-env.schema.ts:32
SETTLEMINT_HD_PRIVATE_KEY?stringUnique name of the HD private keysdk/utils/src/validation/dot-env.schema.ts:53
SETTLEMINT_INSTANCEstringBase URL of the SettleMint platform instancesdk/utils/src/validation/dot-env.schema.ts:14
SETTLEMINT_IPFS?stringUnique name of the IPFS instancesdk/utils/src/validation/dot-env.schema.ts:63
SETTLEMINT_IPFS_API_ENDPOINT?stringAPI endpoint URL for IPFSsdk/utils/src/validation/dot-env.schema.ts:65
SETTLEMINT_IPFS_GATEWAY_ENDPOINT?stringGateway endpoint URL for IPFSsdk/utils/src/validation/dot-env.schema.ts:69
SETTLEMINT_IPFS_PINNING_ENDPOINT?stringPinning service endpoint URL for IPFSsdk/utils/src/validation/dot-env.schema.ts:67
SETTLEMINT_LOAD_BALANCER?stringUnique name of the load balancersdk/utils/src/validation/dot-env.schema.ts:28
SETTLEMINT_MINIO?stringUnique name of the MinIO instancesdk/utils/src/validation/dot-env.schema.ts:55
SETTLEMINT_MINIO_ACCESS_KEY?stringAccess key for MinIO authenticationsdk/utils/src/validation/dot-env.schema.ts:59
SETTLEMINT_MINIO_ENDPOINT?stringEndpoint URL for MinIOsdk/utils/src/validation/dot-env.schema.ts:57
SETTLEMINT_MINIO_SECRET_KEY?stringSecret key for MinIO authenticationsdk/utils/src/validation/dot-env.schema.ts:61
SETTLEMINT_NEW_PROJECT_NAME?stringName of the new project being createdsdk/utils/src/validation/dot-env.schema.ts:81
SETTLEMINT_PERSONAL_ACCESS_TOKEN?stringPersonal access token for authenticating with SettleMint servicessdk/utils/src/validation/dot-env.schema.ts:18
SETTLEMINT_PORTAL?stringUnique name of the Smart Contract Portal instancesdk/utils/src/validation/dot-env.schema.ts:47
SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT?stringGraphQL endpoint URL for the Portalsdk/utils/src/validation/dot-env.schema.ts:49
SETTLEMINT_PORTAL_REST_ENDPOINT?stringREST endpoint URL for the Portalsdk/utils/src/validation/dot-env.schema.ts:51
SETTLEMINT_SMART_CONTRACT_ADDRESS?stringAddress of the deployed smart contractsdk/utils/src/validation/dot-env.schema.ts:83
SETTLEMINT_SMART_CONTRACT_DEPLOYMENT_ID?stringDeployment ID of the smart contractsdk/utils/src/validation/dot-env.schema.ts:85
SETTLEMINT_THEGRAPH?stringUnique name of The Graph instancesdk/utils/src/validation/dot-env.schema.ts:38
SETTLEMINT_THEGRAPH_SUBGRAPH_NAME?stringName of The Graph subgraphsdk/utils/src/validation/dot-env.schema.ts:45
SETTLEMINT_THEGRAPH_SUBGRAPHS_ENDPOINTS?string[]Array of endpoint URLs for The Graph subgraphssdk/utils/src/validation/dot-env.schema.ts:40
SETTLEMINT_WORKSPACE?stringUnique name of the workspacesdk/utils/src/validation/dot-env.schema.ts:20

DotEnvPartial

DotEnvPartial: object

Defined in: sdk/utils/src/validation/dot-env.schema.ts:102

Type definition for the partial environment variables schema.

Type declaration
NameTypeDescriptionDefined in
SETTLEMINT_ACCESS_TOKEN?stringApplication access token for authenticating with SettleMint servicessdk/utils/src/validation/dot-env.schema.ts:16
SETTLEMINT_APPLICATION?stringUnique name of the applicationsdk/utils/src/validation/dot-env.schema.ts:22
SETTLEMINT_BLOCKCHAIN_NETWORK?stringUnique name of the blockchain networksdk/utils/src/validation/dot-env.schema.ts:24
SETTLEMINT_BLOCKCHAIN_NODE?stringUnique name of the blockchain nodesdk/utils/src/validation/dot-env.schema.ts:26
SETTLEMINT_BLOCKSCOUT?stringUnique name of the Blockscout instancesdk/utils/src/validation/dot-env.schema.ts:75
SETTLEMINT_BLOCKSCOUT_GRAPHQL_ENDPOINT?stringGraphQL endpoint URL for Blockscoutsdk/utils/src/validation/dot-env.schema.ts:77
SETTLEMINT_BLOCKSCOUT_UI_ENDPOINT?stringUI endpoint URL for Blockscoutsdk/utils/src/validation/dot-env.schema.ts:79
SETTLEMINT_CUSTOM_DEPLOYMENT?stringUnique name of the custom deploymentsdk/utils/src/validation/dot-env.schema.ts:71
SETTLEMINT_CUSTOM_DEPLOYMENT_ENDPOINT?stringEndpoint URL for the custom deploymentsdk/utils/src/validation/dot-env.schema.ts:73
SETTLEMINT_HASURA?stringUnique name of the Hasura instancesdk/utils/src/validation/dot-env.schema.ts:30
SETTLEMINT_HASURA_ADMIN_SECRET?stringAdmin secret for authenticating with Hasurasdk/utils/src/validation/dot-env.schema.ts:34
SETTLEMINT_HASURA_DATABASE_URL?stringDatabase connection URL for Hasurasdk/utils/src/validation/dot-env.schema.ts:36
SETTLEMINT_HASURA_ENDPOINT?stringEndpoint URL for the Hasura GraphQL APIsdk/utils/src/validation/dot-env.schema.ts:32
SETTLEMINT_HD_PRIVATE_KEY?stringUnique name of the HD private keysdk/utils/src/validation/dot-env.schema.ts:53
SETTLEMINT_INSTANCE?stringBase URL of the SettleMint platform instancesdk/utils/src/validation/dot-env.schema.ts:14
SETTLEMINT_IPFS?stringUnique name of the IPFS instancesdk/utils/src/validation/dot-env.schema.ts:63
SETTLEMINT_IPFS_API_ENDPOINT?stringAPI endpoint URL for IPFSsdk/utils/src/validation/dot-env.schema.ts:65
SETTLEMINT_IPFS_GATEWAY_ENDPOINT?stringGateway endpoint URL for IPFSsdk/utils/src/validation/dot-env.schema.ts:69
SETTLEMINT_IPFS_PINNING_ENDPOINT?stringPinning service endpoint URL for IPFSsdk/utils/src/validation/dot-env.schema.ts:67
SETTLEMINT_LOAD_BALANCER?stringUnique name of the load balancersdk/utils/src/validation/dot-env.schema.ts:28
SETTLEMINT_MINIO?stringUnique name of the MinIO instancesdk/utils/src/validation/dot-env.schema.ts:55
SETTLEMINT_MINIO_ACCESS_KEY?stringAccess key for MinIO authenticationsdk/utils/src/validation/dot-env.schema.ts:59
SETTLEMINT_MINIO_ENDPOINT?stringEndpoint URL for MinIOsdk/utils/src/validation/dot-env.schema.ts:57
SETTLEMINT_MINIO_SECRET_KEY?stringSecret key for MinIO authenticationsdk/utils/src/validation/dot-env.schema.ts:61
SETTLEMINT_NEW_PROJECT_NAME?stringName of the new project being createdsdk/utils/src/validation/dot-env.schema.ts:81
SETTLEMINT_PERSONAL_ACCESS_TOKEN?stringPersonal access token for authenticating with SettleMint servicessdk/utils/src/validation/dot-env.schema.ts:18
SETTLEMINT_PORTAL?stringUnique name of the Smart Contract Portal instancesdk/utils/src/validation/dot-env.schema.ts:47
SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT?stringGraphQL endpoint URL for the Portalsdk/utils/src/validation/dot-env.schema.ts:49
SETTLEMINT_PORTAL_REST_ENDPOINT?stringREST endpoint URL for the Portalsdk/utils/src/validation/dot-env.schema.ts:51
SETTLEMINT_SMART_CONTRACT_ADDRESS?stringAddress of the deployed smart contractsdk/utils/src/validation/dot-env.schema.ts:83
SETTLEMINT_SMART_CONTRACT_DEPLOYMENT_ID?stringDeployment ID of the smart contractsdk/utils/src/validation/dot-env.schema.ts:85
SETTLEMINT_THEGRAPH?stringUnique name of The Graph instancesdk/utils/src/validation/dot-env.schema.ts:38
SETTLEMINT_THEGRAPH_SUBGRAPH_NAME?stringName of The Graph subgraphsdk/utils/src/validation/dot-env.schema.ts:45
SETTLEMINT_THEGRAPH_SUBGRAPHS_ENDPOINTS?string[]Array of endpoint URLs for The Graph subgraphssdk/utils/src/validation/dot-env.schema.ts:40
SETTLEMINT_WORKSPACE?stringUnique name of the workspacesdk/utils/src/validation/dot-env.schema.ts:20

Id

Id: string

Defined in: sdk/utils/src/validation/id.schema.ts:30

Type definition for database IDs, inferred from IdSchema. Can be either a PostgreSQL UUID string or MongoDB ObjectID string.


PersonalAccessToken

PersonalAccessToken: string

Defined in: sdk/utils/src/validation/access-token.schema.ts:15

Schema for validating personal access tokens. Personal access tokens start with 'sm_pat_' prefix.


Template

Template: object

Defined in: sdk/utils/src/package-manager/download-and-extract.ts:8

Available templates for project creation

Type declaration
NameTypeDefined in
labelstringsdk/utils/src/package-manager/download-and-extract.ts:8
valuestringsdk/utils/src/package-manager/download-and-extract.ts:8

Url

Url: string

Defined in: sdk/utils/src/validation/url.schema.ts:18

Schema for validating URLs.

Example
import { UrlSchema } from "@settlemint/sdk-utils";

// Validate a URL
const isValidUrl = UrlSchema.safeParse("https://console.settlemint.com").success;
// true

// Invalid URLs will fail validation
const isInvalidUrl = UrlSchema.safeParse("not-a-url").success;
// false

UrlOrPath

UrlOrPath: string

Defined in: sdk/utils/src/validation/url.schema.ts:55

Schema that accepts either a full URL or a URL path.

Example
import { UrlOrPathSchema } from "@settlemint/sdk-utils";

// Validate a URL
const isValidUrl = UrlOrPathSchema.safeParse("https://console.settlemint.com").success;
// true

// Validate a path
const isValidPath = UrlOrPathSchema.safeParse("/api/v1/users").success;
// true

UrlPath

UrlPath: string

Defined in: sdk/utils/src/validation/url.schema.ts:38

Schema for validating URL paths.

Example
import { UrlPathSchema } from "@settlemint/sdk-utils";

// Validate a URL path
const isValidPath = UrlPathSchema.safeParse("/api/v1/users").success;
// true

// Invalid paths will fail validation
const isInvalidPath = UrlPathSchema.safeParse("not-a-path").success;
// false

Variables

AccessTokenSchema

const AccessTokenSchema: ZodString<AccessToken>

Defined in: sdk/utils/src/validation/access-token.schema.ts:21

Schema for validating both application and personal access tokens. Accepts tokens starting with either 'sm_pat_' or 'sm_aat_' prefix.


ApplicationAccessTokenSchema

const ApplicationAccessTokenSchema: ZodString<ApplicationAccessToken>

Defined in: sdk/utils/src/validation/access-token.schema.ts:7

Schema for validating application access tokens. Application access tokens start with 'sm_aat_' prefix.


DotEnvSchema

const DotEnvSchema: ZodObject<DotEnv>

Defined in: sdk/utils/src/validation/dot-env.schema.ts:12

Schema for validating environment variables used by the SettleMint SDK. Defines validation rules and types for configuration values like URLs, access tokens, workspace names, and service endpoints.


DotEnvSchemaPartial

const DotEnvSchemaPartial: ZodObject<DotEnvPartial>

Defined in: sdk/utils/src/validation/dot-env.schema.ts:97

Partial version of the environment variables schema where all fields are optional. Useful for validating incomplete configurations during development or build time.


IdSchema

const IdSchema: ZodUnion<Id>

Defined in: sdk/utils/src/validation/id.schema.ts:17

Schema for validating database IDs. Accepts both PostgreSQL UUIDs and MongoDB ObjectIDs. PostgreSQL UUIDs are 32 hexadecimal characters with hyphens (e.g. 123e4567-e89b-12d3-a456-426614174000). MongoDB ObjectIDs are 24 hexadecimal characters (e.g. 507f1f77bcf86cd799439011).

Example
import { IdSchema } from "@settlemint/sdk-utils";

// Validate PostgreSQL UUID
const isValidUuid = IdSchema.safeParse("123e4567-e89b-12d3-a456-426614174000").success;

// Validate MongoDB ObjectID
const isValidObjectId = IdSchema.safeParse("507f1f77bcf86cd799439011").success;

PersonalAccessTokenSchema

const PersonalAccessTokenSchema: ZodString<PersonalAccessToken>

Defined in: sdk/utils/src/validation/access-token.schema.ts:14

Schema for validating personal access tokens. Personal access tokens start with 'sm_pat_' prefix.


runsInBrowser

const runsInBrowser: boolean = isBrowser

Defined in: sdk/utils/src/runtime/ensure-server.ts:40

Boolean indicating if code is currently running in a browser environment


runsOnServer

const runsOnServer: boolean = !isBrowser

Defined in: sdk/utils/src/runtime/ensure-server.ts:45

Boolean indicating if code is currently running in a server environment


UniqueNameSchema

const UniqueNameSchema: ZodString

Defined in: sdk/utils/src/validation/unique-name.schema.ts:19

Schema for validating unique names used across the SettleMint platform. Only accepts lowercase alphanumeric characters and hyphens. Used for workspace names, application names, service names etc.

Example
import { UniqueNameSchema } from "@settlemint/sdk-utils";

// Validate a workspace name
const isValidName = UniqueNameSchema.safeParse("my-workspace-123").success;
// true

// Invalid names will fail validation
const isInvalidName = UniqueNameSchema.safeParse("My Workspace!").success;
// false

UrlOrPathSchema

const UrlOrPathSchema: ZodUnion<UrlOrPath>

Defined in: sdk/utils/src/validation/url.schema.ts:54

Schema that accepts either a full URL or a URL path.

Example
import { UrlOrPathSchema } from "@settlemint/sdk-utils";

// Validate a URL
const isValidUrl = UrlOrPathSchema.safeParse("https://console.settlemint.com").success;
// true

// Validate a path
const isValidPath = UrlOrPathSchema.safeParse("/api/v1/users").success;
// true

UrlPathSchema

const UrlPathSchema: ZodString<UrlPath>

Defined in: sdk/utils/src/validation/url.schema.ts:34

Schema for validating URL paths.

Example
import { UrlPathSchema } from "@settlemint/sdk-utils";

// Validate a URL path
const isValidPath = UrlPathSchema.safeParse("/api/v1/users").success;
// true

// Invalid paths will fail validation
const isInvalidPath = UrlPathSchema.safeParse("not-a-path").success;
// false

UrlSchema

const UrlSchema: ZodString<Url>

Defined in: sdk/utils/src/validation/url.schema.ts:17

Schema for validating URLs.

Example
import { UrlSchema } from "@settlemint/sdk-utils";

// Validate a URL
const isValidUrl = UrlSchema.safeParse("https://console.settlemint.com").success;
// true

// Invalid URLs will fail validation
const isInvalidUrl = UrlSchema.safeParse("not-a-url").success;
// false

Contributing

We welcome contributions from the community! Please check out our Contributing guide to learn how you can help improve the SettleMint SDK through bug reports, feature requests, documentation updates, or code contributions.

License

The SettleMint SDK is released under the FSL Software License. See the LICENSE file for more details.

Keywords

FAQs

Package last updated on 10 Jan 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc