@koralabs/kora-labs-common 6.1.5 → 6.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,6 @@ export * from './api';
2
2
  export * from './constants';
3
3
  export * from './interfaces';
4
4
  export * from './interfaces/api';
5
- export * from './interfaces/handlesProvider';
6
5
  export * from './models';
7
6
  export * from './policies';
8
7
  export * from './utils';
package/handles/index.js CHANGED
@@ -18,7 +18,6 @@ __exportStar(require("./api"), exports);
18
18
  __exportStar(require("./constants"), exports);
19
19
  __exportStar(require("./interfaces"), exports);
20
20
  __exportStar(require("./interfaces/api"), exports);
21
- __exportStar(require("./interfaces/handlesProvider"), exports);
22
21
  __exportStar(require("./models"), exports);
23
22
  __exportStar(require("./policies"), exports);
24
23
  __exportStar(require("./utils"), exports);
@@ -1,8 +1,31 @@
1
1
  import { IPersonalizedHandle, ISubHandleSettings, IUTxO } from '.';
2
+ import { IMarketplaceListing } from '../../marketplace/interfaces';
2
3
  import { Sort } from '../../types';
4
+ export interface IApiStore {
5
+ initialize: () => Promise<IApiStore>;
6
+ destroy: () => void;
7
+ rollBackToGenesis: () => void;
8
+ getStartingPoint: (save: (handle: StoredHandle) => void, failed: boolean) => Promise<{
9
+ slot: number;
10
+ id: string;
11
+ } | null>;
12
+ getIndex: (index: IndexNames) => Map<string | number, ApiIndexType>;
13
+ getKeysFromIndex: (index: IndexNames) => (string | number)[];
14
+ getValueFromIndex: (index: IndexNames, key: string | number) => ApiIndexType | undefined;
15
+ setValueOnIndex: (index: IndexNames, key: string | number, value: ApiIndexType) => void;
16
+ removeKeyFromIndex: (index: IndexNames, key: string | number) => void;
17
+ getValuesFromIndexedSet: (index: IndexNames, key: string | number) => Set<string> | undefined;
18
+ addValueToIndexedSet: (index: IndexNames, key: string | number, value: string) => void;
19
+ removeValueFromIndexedSet: (index: IndexNames, key: string | number, value: string) => void;
20
+ getMetrics: () => IApiMetrics;
21
+ setMetrics: (metrics: IApiMetrics) => void;
22
+ count: () => number;
23
+ getSchemaVersion: () => number;
24
+ }
3
25
  export interface SubHandleSettings extends ISubHandleSettings {
4
26
  utxo: IUTxO;
5
27
  }
28
+ export type ApiIndexType = Set<string> | Holder | ISlotHistory | StoredHandle | IMarketplaceListing;
6
29
  export interface StoredHandle extends IPersonalizedHandle {
7
30
  amount: number;
8
31
  default?: boolean;
@@ -36,8 +59,12 @@ export interface HandleHistory {
36
59
  old: Partial<StoredHandle> | null;
37
60
  new?: Partial<StoredHandle> | null;
38
61
  }
62
+ export interface ListingHistory {
63
+ old: Partial<IMarketplaceListing> | null;
64
+ new?: Partial<IMarketplaceListing> | null;
65
+ }
39
66
  export interface ISlotHistory {
40
- [handleHex: string]: HandleHistory;
67
+ [handleHex: string]: HandleHistory | ListingHistory;
41
68
  }
42
69
  export interface IApiMetrics {
43
70
  firstSlot?: number;
@@ -118,6 +145,7 @@ export declare enum IndexNames {
118
145
  HASH_OF_STAKE_KEY_HASH = "hashofstakekeyhash",
119
146
  HOLDER = "holder",
120
147
  LENGTH = "length",
148
+ LISTINGS = "listings",
121
149
  NUMERIC_MODIFIER = "numericmodifiers",
122
150
  OG = "og",
123
151
  PAYMENT_KEY_HASH = "paymentkeyhashes",
@@ -9,6 +9,7 @@ var IndexNames;
9
9
  IndexNames["HASH_OF_STAKE_KEY_HASH"] = "hashofstakekeyhash";
10
10
  IndexNames["HOLDER"] = "holder";
11
11
  IndexNames["LENGTH"] = "length";
12
+ IndexNames["LISTINGS"] = "listings";
12
13
  IndexNames["NUMERIC_MODIFIER"] = "numericmodifiers";
13
14
  IndexNames["OG"] = "og";
14
15
  IndexNames["PAYMENT_KEY_HASH"] = "paymentkeyhashes";
@@ -347,7 +347,7 @@ export interface IHandleFileContent {
347
347
  slot: number;
348
348
  hash: string;
349
349
  schemaVersion?: number;
350
- handles: Record<string, StoredHandle>;
350
+ handles: StoredHandle[];
351
351
  history: [number, ISlotHistory][];
352
352
  }
353
353
  export interface IHandleSvgOptions extends IPersonalizationDesigner {
package/handles/utils.js CHANGED
@@ -128,7 +128,7 @@ const buildDrep = (address, id_hash) => {
128
128
  const decoded = (_a = (0, utils_1.decodeAddress)(address)) === null || _a === void 0 ? void 0 : _a.slice(2, 58);
129
129
  if (!decoded || decoded == '')
130
130
  return undefined;
131
- const hashed = crypto.createHash('md5').update(decoded).digest('hex');
131
+ const hashed = crypto.createHash('md5').update(Buffer.from(decoded, 'hex')).digest('hex');
132
132
  if (!id_hash.startsWith(hashed))
133
133
  return undefined;
134
134
  const typeByte = id_hash.slice(32, 34);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koralabs/kora-labs-common",
3
- "version": "6.1.5",
3
+ "version": "6.1.7",
4
4
  "description": "Kora Labs Common Utilities",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -30,7 +30,7 @@
30
30
  "@aws-sdk/client-dynamodb": "^3.549.0",
31
31
  "@aws-sdk/lib-dynamodb": "^3.549.0",
32
32
  "@types/jest": "^28.1.1",
33
- "@types/node": "^18.11.17",
33
+ "@types/node": "^22.15.17",
34
34
  "@types/pluralize": "^0.0.29",
35
35
  "@typescript-eslint/eslint-plugin": "^7.6.0",
36
36
  "@typescript-eslint/parser": "^7.6.0",
package/utils/index.d.ts CHANGED
@@ -19,5 +19,6 @@ export declare const isEmptyObject: (o: any) => boolean;
19
19
  export declare const makeObjectWithoutPrototype: () => any;
20
20
  export declare const ExcludesFalse: <T>(n?: T | null | undefined) => n is T;
21
21
  export declare const diff: (lhs: any, rhs: any) => any;
22
+ export declare const mapStringifyReplacer: (_key: any, value: any) => any;
22
23
  export { decodeCborToJson, encodeJsonToDatum, DefaultTextFormat as KeyType } from './cbor';
23
24
  export * from './crypto';
package/utils/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.KeyType = exports.encodeJsonToDatum = exports.decodeCborToJson = exports.diff = exports.ExcludesFalse = exports.makeObjectWithoutPrototype = exports.isEmptyObject = exports.isDate = exports.hasOwnProperty = exports.isObject = exports.isEmpty = exports.objectHasKeys = exports.getElapsedTime = exports.getSlotNumberFromDate = exports.getDateFromSlot = exports.isAlphaNumeric = exports.isNullEmptyOrUndefined = exports.isNumeric = exports.asyncForEach = exports.awaitForEach = exports.chunk = exports.toADA = exports.toLovelace = exports.delay = void 0;
17
+ exports.KeyType = exports.encodeJsonToDatum = exports.decodeCborToJson = exports.mapStringifyReplacer = exports.diff = exports.ExcludesFalse = exports.makeObjectWithoutPrototype = exports.isEmptyObject = exports.isDate = exports.hasOwnProperty = exports.isObject = exports.isEmpty = exports.objectHasKeys = exports.getElapsedTime = exports.getSlotNumberFromDate = exports.getDateFromSlot = exports.isAlphaNumeric = exports.isNullEmptyOrUndefined = exports.isNumeric = exports.asyncForEach = exports.awaitForEach = exports.chunk = exports.toADA = exports.toLovelace = exports.delay = void 0;
18
18
  const delay = (ms) => {
19
19
  return new Promise((resolve) => setTimeout(resolve, ms));
20
20
  };
@@ -145,6 +145,18 @@ const diff = (lhs, rhs) => {
145
145
  }, deletedValues);
146
146
  };
147
147
  exports.diff = diff;
148
+ const mapStringifyReplacer = (_key, value) => {
149
+ if (value instanceof Map) {
150
+ return {
151
+ dataType: 'Map',
152
+ value: Array.from(value.entries())
153
+ };
154
+ }
155
+ else {
156
+ return value;
157
+ }
158
+ };
159
+ exports.mapStringifyReplacer = mapStringifyReplacer;
148
160
  var cbor_1 = require("./cbor");
149
161
  Object.defineProperty(exports, "decodeCborToJson", { enumerable: true, get: function () { return cbor_1.decodeCborToJson; } });
150
162
  Object.defineProperty(exports, "encodeJsonToDatum", { enumerable: true, get: function () { return cbor_1.encodeJsonToDatum; } });
@@ -1,27 +0,0 @@
1
- import { Holder, IApiMetrics, IndexNames, ISlotHistory, StoredHandle } from './api';
2
- export interface IHandlesProvider {
3
- initialize: () => Promise<IHandlesProvider>;
4
- destroy: () => void;
5
- rollBackToGenesis: () => void;
6
- getStartingPoint: (save: (handle: StoredHandle) => void, failed: boolean) => Promise<{
7
- slot: number;
8
- id: string;
9
- } | null>;
10
- getHandle: (key: string) => StoredHandle | null;
11
- getHandleByHex: (hex: string) => StoredHandle | null;
12
- getAllHandles: () => StoredHandle[];
13
- setHandle: (key: string, value: StoredHandle) => void;
14
- removeHandle: (handleName: string) => void;
15
- getIndex: (index: IndexNames) => Map<string | number, Set<string> | Holder | ISlotHistory | StoredHandle>;
16
- getKeysFromIndex: (index: IndexNames) => (string | number)[];
17
- getValueFromIndex: (index: IndexNames, key: string | number) => Set<string> | Holder | ISlotHistory | StoredHandle | undefined;
18
- setValueOnIndex: (index: IndexNames, key: string | number, value: Set<string> | Holder | ISlotHistory | StoredHandle) => void;
19
- removeKeyFromIndex: (index: IndexNames, key: string | number) => void;
20
- getValuesFromIndexedSet: (index: IndexNames, key: string | number) => Set<string> | undefined;
21
- addValueToIndexedSet: (index: IndexNames, key: string | number, value: string) => void;
22
- removeValueFromIndexedSet: (index: IndexNames, key: string | number, value: string) => void;
23
- getMetrics: () => IApiMetrics;
24
- setMetrics: (metrics: IApiMetrics) => void;
25
- count: () => number;
26
- getSchemaVersion: () => number;
27
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });