@rarible/types
Version:
`@rarible/types` is a TypeScript library that provides type definitions and interfaces for the Rarible ecosystem. This package is designed to facilitate seamless integration with Rarible's APIs and services, ensuring type safety and improved developer exp
27 lines (26 loc) • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toSolanaTransactionHashSafe = exports.toSolanaTransactionHash = exports.solanaTransactionHashValidator = exports.isSolanaTransactionHash = exports.solanaTransactionHashRegexp = void 0;
const hash_js_1 = require("../../common/hash.js");
const domain_js_1 = require("../../union/enum/domain.js");
const common_js_1 = require("../../common/common.js");
// Solana transaction hashes are Base58 encoded strings, typically 88 characters long.
exports.solanaTransactionHashRegexp = new RegExp(/^[1-9A-HJ-NP-Za-km-z]{88}$/);
function isSolanaTransactionHash(raw) {
return exports.solanaTransactionHashRegexp.test(raw);
}
exports.isSolanaTransactionHash = isSolanaTransactionHash;
exports.solanaTransactionHashValidator = (0, common_js_1.createLayer1fulValidator)(domain_js_1.BlockchainLayer1Enum.SOLANA, isSolanaTransactionHash);
function toSolanaTransactionHash(raw) {
const safe = toSolanaTransactionHashSafe(raw);
if (!safe)
throw new hash_js_1.InvalidTransactionHashError(domain_js_1.BlockchainLayer1Enum.SOLANA, raw);
return safe;
}
exports.toSolanaTransactionHash = toSolanaTransactionHash;
function toSolanaTransactionHashSafe(raw) {
if (isSolanaTransactionHash(raw))
return raw;
return undefined;
}
exports.toSolanaTransactionHashSafe = toSolanaTransactionHashSafe;