mirror of
https://github.com/pezkuwichain/pezkuwi-apps.git
synced 2026-04-30 00:18:07 +00:00
feat: initial Pezkuwi Apps rebrand from polkadot-apps
Rebranded terminology: - Polkadot → Pezkuwi - Kusama → Dicle - Westend → Zagros - Rococo → PezkuwiChain - Substrate → Bizinikiwi - parachain → teyrchain Custom logos with Kurdistan brand colors (#e6007a → #86e62a): - bizinikiwi-hexagon.svg - sora-bizinikiwi.svg - hezscanner.svg - heztreasury.svg - pezkuwiscan.svg - pezkuwistats.svg - pezkuwiassembly.svg - pezkuwiholic.svg
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
// Copyright 2017-2025 @pezkuwi/react-params authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { PalletAllianceCid } from '@pezkuwi/types/lookup';
|
||||
import type { ExpandedCid } from './types.js';
|
||||
|
||||
import { CID, digest, varint } from 'multiformats';
|
||||
|
||||
import { u8aToHex } from '@pezkuwi/util';
|
||||
|
||||
export function fromIpfsCid (cid: string): ExpandedCid | null {
|
||||
try {
|
||||
const { code: codec, multihash: { code, digest }, version } = CID.parse(cid);
|
||||
|
||||
return {
|
||||
codec,
|
||||
hash: {
|
||||
code,
|
||||
digest: u8aToHex(digest)
|
||||
},
|
||||
version
|
||||
};
|
||||
} catch (error) {
|
||||
console.error(`fromIpfsCid: ${(error as Error).message}::`, cid);
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export function toIpfsCid (cid: PalletAllianceCid): string | null {
|
||||
try {
|
||||
const { codec, hash_: { code, digest: _bytes }, version } = cid;
|
||||
|
||||
// Since we use parse, encode into a fully-specified bytes to
|
||||
// pass - <varint code> + <varint length> + bytes
|
||||
const bytes = _bytes.toU8a(true);
|
||||
const codeLen = varint.encodingLength(code.toNumber());
|
||||
const sizeLen = varint.encodingLength(bytes.length);
|
||||
const encoded = new Uint8Array(codeLen + sizeLen + bytes.length);
|
||||
|
||||
varint.encodeTo(code.toNumber(), encoded, 0);
|
||||
varint.encodeTo(bytes.length, encoded, codeLen);
|
||||
encoded.set(bytes, codeLen + sizeLen);
|
||||
|
||||
return CID
|
||||
.create(version.index as 0, codec.toNumber(), digest.decode(encoded))
|
||||
.toString();
|
||||
} catch (error) {
|
||||
console.error(`toIpfsCid: ${(error as Error).message}::`, cid.toHuman());
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user