@ar.io/sdk
Version:
[](https://codecov.io/gh/ar-io/ar-io-sdk)
42 lines (41 loc) • 1.34 kB
JavaScript
import { validateArweaveId } from '../utils/arweave.js';
export const isDistributedEpochData = (data) => {
return data.distributedTimestamp !== undefined;
};
export const isDistributedEpoch = (data) => {
return (data.distributions !== undefined &&
isDistributedEpochData(data.distributions));
};
export const validIntents = [
'Buy-Name',
'Buy-Record', // for backwards compatibility
'Extend-Lease',
'Increase-Undername-Limit',
'Upgrade-Name',
'Primary-Name-Request',
];
export const intentsUsingYears = [
'Buy-Record', // for backwards compatibility
'Buy-Name',
'Extend-Lease',
];
export const isValidIntent = (intent) => {
return validIntents.indexOf(intent) !== -1;
};
export const fundFromOptions = ['balance', 'stakes', 'any', 'turbo'];
export const isValidFundFrom = (fundFrom) => {
return fundFromOptions.indexOf(fundFrom) !== -1;
};
// Type-guard functions
export function isProcessConfiguration(config) {
return config !== undefined && 'process' in config;
}
export function isProcessIdConfiguration(config) {
return (config !== undefined &&
'processId' in config &&
typeof config.processId === 'string' &&
validateArweaveId(config.processId) === true);
}
export function isLeasedArNSRecord(record) {
return record.type === 'lease';
}