medusa-payment-solana
Version:
Solana crypto currency payment provider for MedusaJS 2.0
31 lines • 1.43 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.generatePaymentId = generatePaymentId;
exports.createPaymentDescription = createPaymentDescription;
exports.isValidSolanaAddress = isValidSolanaAddress;
const crypto_1 = __importDefault(require("crypto"));
function generatePaymentId() {
return `pid_${crypto_1.default.randomBytes(16).toString('hex')}`;
}
function createPaymentDescription(orderId, amount, currencyCode, solAmount) {
return `Payment for order ${orderId}: ${amount} ${currencyCode.toUpperCase()} (${solAmount} SOL)`;
}
/**
* Checks if a given string is a valid Solana address.
* A valid address is a base58 encoded string between 32 and 44 characters long.
* @param address The address to validate.
* @returns True if the address is a valid Solana address, false otherwise.
*/
function isValidSolanaAddress(address) {
if (!address || typeof address !== 'string') {
return false;
}
// Regular expression to check for base58 characters.
const base58Regex = /^[1-9A-HJ-NP-Za-km-z]+$/;
// Check if the address contains only base58 characters and has a length between 32 and 44.
return base58Regex.test(address) && address.length >= 32 && address.length <= 44;
}
//# sourceMappingURL=utils.js.map