mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-08-01 13:05:40 +00:00
c71ddb6e0d
- Clone Polkadot.js Apps repository - Update package.json with Pezkuwi branding - Add Pezkuwi endpoint to production chains (wss://pezkuwichain.app:9944) - Create comprehensive README for SDK UI - Set up project structure with all packages Next steps: - Apply Kurdistan colors (Kesk, Sor, Zer, Spi + Black) to UI theme - Replace logos with Pezkuwi branding - Test build and deployment
42 lines
1021 B
TypeScript
42 lines
1021 B
TypeScript
// Copyright 2017-2025 @polkadot/react-hooks authors & contributors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
import type { PalletBrokerScheduleItem } from '@polkadot/types/lookup';
|
|
|
|
import { BN } from '@polkadot/util';
|
|
|
|
export function hexToBin (hex: string): string {
|
|
return parseInt(hex, 16).toString(2);
|
|
}
|
|
|
|
export function processHexMask (mask: PalletBrokerScheduleItem['mask'] | undefined): string[] {
|
|
if (!mask) {
|
|
return [];
|
|
}
|
|
|
|
const trimmedHex: string = mask.toHex().slice(2);
|
|
const arr: string[] = trimmedHex.split('');
|
|
const buffArr: string[] = [];
|
|
|
|
arr.forEach((bit) => {
|
|
hexToBin(bit).split('').forEach((v) => buffArr.push(v));
|
|
});
|
|
buffArr.filter((v) => v === '1');
|
|
|
|
return buffArr;
|
|
}
|
|
|
|
export function stringToBN (value: string | undefined): BN {
|
|
if (!value) {
|
|
return new BN(0);
|
|
}
|
|
|
|
const sanitized = value.trim().replace(/,/g, '');
|
|
|
|
if (!/^\d+$/.test(sanitized)) {
|
|
throw new Error(`Invalid input for BN conversion: "${sanitized}"`);
|
|
}
|
|
|
|
return new BN(sanitized);
|
|
}
|