Skip to content

Commit 270d1ab

Browse files
greatertomimkazlauskas
authored andcommitted
refactor(core): convert AssetNameLabelNum into object
enum is not convenient to use, because it's values aren't OpaqueNumber
1 parent 5e3a40b commit 270d1ab

File tree

3 files changed

+21
-20
lines changed

3 files changed

+21
-20
lines changed

packages/core/src/Asset/NftMetadata/fromPlutusData.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ const mapFiles = (files: string | Cardano.PlutusData | undefined, logger: Logger
110110

111111
/**
112112
* @param plutusData CIP-0068 (label 222) datum
113+
* @param parentLogger logger
113114
*/
114115
export const fromPlutusData = (
115116
plutusData: Cardano.PlutusData | undefined,

packages/core/src/Asset/cip67.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ import crc8 from './crc8';
55
const ASSET_LABEL_LENGTH = 8;
66
const ASSET_LABEL_BRACKET = '0';
77

8-
export enum AssetNameLabelNum {
9-
ReferenceNFT = 100,
10-
UserNFT = 222,
11-
UserFT = 333,
12-
UserRFT = 444
13-
}
14-
158
export type AssetNameLabel = OpaqueNumber<'AssetNameLabelNum'>;
169
export const AssetNameLabel = (value: number): AssetNameLabel => value as AssetNameLabel;
1710

18-
interface DecodedAssetName {
11+
export const AssetNameLabelNum = {
12+
ReferenceNFT: 100 as AssetNameLabel,
13+
UserFT: 333 as AssetNameLabel,
14+
UserNFT: 222 as AssetNameLabel,
15+
UserRFT: 444 as AssetNameLabel
16+
};
17+
18+
export interface DecodedAssetName {
1919
label: AssetNameLabel;
2020
content: Cardano.AssetName;
2121
}
@@ -69,7 +69,7 @@ AssetNameLabel.decode = (assetName: Cardano.AssetName): DecodedAssetName | null
6969
};
7070
};
7171

72-
AssetNameLabel.encode = (assetName: Cardano.AssetName, labelNum: AssetNameLabelNum): Cardano.AssetName => {
72+
AssetNameLabel.encode = (assetName: Cardano.AssetName, labelNum: AssetNameLabel): Cardano.AssetName => {
7373
assertLabelNumInterval(labelNum);
7474
const labelNumHex = labelNum.toString(16).padStart(4, ASSET_LABEL_BRACKET);
7575
return Cardano.AssetName(

packages/core/test/Asset/cip67.test.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@ import { Asset } from '../../src';
22
import { AssetName } from '../../src/Cardano';
33
import { InvalidArgumentError } from '@cardano-sdk/util';
44

5-
const cases: [number, string][] = [
6-
[0, '00000000'],
7-
[1, '00001070'],
8-
[23, '00017650'],
9-
[99, '000632e0'],
10-
[533, '00215410'],
11-
[2000, '007d0550'],
12-
[4567, '011d7690'],
13-
[11_111, '02b670b0'],
14-
[49_328, '0c0b0f40'],
15-
[65_535, '0ffff240']
5+
const cases: [Asset.AssetNameLabel, string][] = [
6+
[0 as Asset.AssetNameLabel, '00000000'],
7+
[1 as Asset.AssetNameLabel, '00001070'],
8+
[23 as Asset.AssetNameLabel, '00017650'],
9+
[99 as Asset.AssetNameLabel, '000632e0'],
10+
[533 as Asset.AssetNameLabel, '00215410'],
11+
[2000 as Asset.AssetNameLabel, '007d0550'],
12+
[4567 as Asset.AssetNameLabel, '011d7690'],
13+
[11_111 as Asset.AssetNameLabel, '02b670b0'],
14+
[49_328 as Asset.AssetNameLabel, '0c0b0f40'],
15+
[65_535 as Asset.AssetNameLabel, '0ffff240']
1616
];
1717

1818
describe('Cardano.Asset.cip67', () => {

0 commit comments

Comments
 (0)