mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-07-04 04:57:22 +00:00
971df8edba
- Remove all 3rd party parachain configurations from endpoints: - productionRelayPolkadot.ts: Keep only system parachains - productionRelayDicle.ts: Keep only system parachains - testingRelayZagros.ts: Keep only system parachains - testingRelayTeyrChain.ts: Keep only system parachains - Update domain references: - polkadot.js.org → pezkuwichain.app - wiki.polkadot.network → wiki.pezkuwichain.io - dotapps.io → pezkuwichain.app - statement.polkadot.network → docs.pezkuwichain.io/statement - support.polkadot.network → docs.pezkuwichain.io - Update repository references: - github.com/pezkuwi-js/apps → github.com/pezkuwichain/pwap - Rename system parachains to Pezkuwi ecosystem: - PolkadotAssetHub → PezkuwiAssetHub - polkadotBridgeHub → pezkuwiBridgeHub - polkadotCollectives → pezkuwiCollectives - polkadotCoretime → pezkuwiCoretime - polkadotPeople → pezkuwiPeople - Update network name in claims utility: - Polkadot → Pezkuwi
54 lines
1.5 KiB
TypeScript
54 lines
1.5 KiB
TypeScript
// Copyright 2017-2026 @pezkuwi/react-params authors & contributors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
import type { PezpalletAllianceCid } 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: PezpalletAllianceCid): 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;
|
|
}
|
|
}
|