@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
33 lines (32 loc) • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.randomFlowAddress = exports.FLOW_ZERO_ADDRESS = exports.toFlowAddressSafe = exports.toFlowAddress = exports.flowAddressValidator = exports.isFlowAddress = exports.flowAddressRegExp = void 0;
const index_js_1 = require("../../../common/binary/index.js");
const address_js_1 = require("../../common/address.js");
const common_js_1 = require("../../common/common.js");
const domain_js_1 = require("../../union/enum/domain.js");
// example: 0x01658d9b94068f3c
exports.flowAddressRegExp = new RegExp(/^0*x*[0-9a-f]{16}$/);
function isFlowAddress(x) {
return exports.flowAddressRegExp.test(x);
}
exports.isFlowAddress = isFlowAddress;
exports.flowAddressValidator = (0, common_js_1.createLayer1fulValidator)(domain_js_1.BlockchainLayer1Enum.FLOW, isFlowAddress);
function toFlowAddress(value) {
const safe = toFlowAddressSafe(value);
if (!safe)
throw new address_js_1.InvalidAddressError(domain_js_1.BlockchainLayer1Enum.FLOW, value);
return safe;
}
exports.toFlowAddress = toFlowAddress;
function toFlowAddressSafe(raw) {
if (isFlowAddress(raw))
return raw;
return undefined;
}
exports.toFlowAddressSafe = toFlowAddressSafe;
exports.FLOW_ZERO_ADDRESS = toFlowAddress("0x0000000000000000");
function randomFlowAddress() {
return toFlowAddress((0, index_js_1.randomBinary)(8));
}
exports.randomFlowAddress = randomFlowAddress;