@twin.org/nft-service 0.0.1-next.3 → 0.0.1-next.30
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.
- package/dist/cjs/index.cjs +16 -17
- package/dist/esm/index.mjs +16 -17
- package/dist/types/index.d.ts +1 -0
- package/dist/types/models/INftServiceConstructorOptions.d.ts +10 -0
- package/dist/types/nftService.d.ts +7 -10
- package/docs/changelog.md +118 -1
- package/docs/open-api/spec.json +684 -684
- package/docs/reference/classes/NftService.md +84 -60
- package/docs/reference/functions/generateRestRoutesNft.md +8 -4
- package/docs/reference/functions/nftBurn.md +9 -3
- package/docs/reference/functions/nftMint.md +9 -3
- package/docs/reference/functions/nftResolve.md +9 -3
- package/docs/reference/functions/nftTransfer.md +9 -3
- package/docs/reference/functions/nftUpdate.md +9 -3
- package/docs/reference/index.md +1 -0
- package/docs/reference/interfaces/INftServiceConstructorOptions.md +11 -0
- package/package.json +5 -34
package/dist/cjs/index.cjs
CHANGED
|
@@ -38,7 +38,6 @@ function generateRestRoutesNft(baseRouteName, componentName) {
|
|
|
38
38
|
id: "nftMintExample",
|
|
39
39
|
request: {
|
|
40
40
|
body: {
|
|
41
|
-
issuer: "tst1prctjk5ck0dutnsunnje6u90jk5htx03qznjjmkd6843pzltlgz87srjzzv",
|
|
42
41
|
tag: "MY-NFT",
|
|
43
42
|
immutableMetadata: {
|
|
44
43
|
docName: "bill-of-lading",
|
|
@@ -98,8 +97,8 @@ function generateRestRoutesNft(baseRouteName, componentName) {
|
|
|
98
97
|
id: "nftResolveResponseExample",
|
|
99
98
|
response: {
|
|
100
99
|
body: {
|
|
101
|
-
issuer: "
|
|
102
|
-
owner: "
|
|
100
|
+
issuer: "did:iota:tst:0x85ef62ea94fc4eeeeeddf6acc3b566e988e613081d0b93cc54ed831ed4c18d44",
|
|
101
|
+
owner: "did:iota:tst:0x85ef62ea94fc4eeeeeddf6acc3b566e988e613081d0b93cc54ed831ed4c18d44",
|
|
103
102
|
tag: "MY-NFT",
|
|
104
103
|
immutableMetadata: {
|
|
105
104
|
docName: "bill-of-lading",
|
|
@@ -159,7 +158,8 @@ function generateRestRoutesNft(baseRouteName, componentName) {
|
|
|
159
158
|
id: "nft:iota:aW90YS1uZnQ6dHN0OjB4NzYyYjljNDllYTg2OWUwZWJkYTliYmZhNzY5Mzk0NDdhNDI4ZGNmMTc4YzVkMTVhYjQ0N2UyZDRmYmJiNGViMg=="
|
|
160
159
|
},
|
|
161
160
|
body: {
|
|
162
|
-
|
|
161
|
+
recipientIdentity: "did:iota:tst:0x85ef62ea94fc4eeeeeddf6acc3b566e988e613081d0b93cc54ed831ed4c18d44",
|
|
162
|
+
recipientAddress: "tst1prctjk5ck0dutnsunnje6u90jk5htx03qznjjmkd6843pzltlgz87srjzzv",
|
|
163
163
|
metadata: {
|
|
164
164
|
data: "AAAAA"
|
|
165
165
|
}
|
|
@@ -217,10 +217,9 @@ function generateRestRoutesNft(baseRouteName, componentName) {
|
|
|
217
217
|
async function nftMint(httpRequestContext, componentName, request) {
|
|
218
218
|
core.Guards.object(ROUTES_SOURCE, "request", request);
|
|
219
219
|
core.Guards.object(ROUTES_SOURCE, "request.body", request.body);
|
|
220
|
-
core.Guards.stringValue(ROUTES_SOURCE, "request.body.issuer", request.body.issuer);
|
|
221
220
|
core.Guards.stringValue(ROUTES_SOURCE, "request.body.tag", request.body.tag);
|
|
222
221
|
const component = core.ComponentFactory.get(componentName);
|
|
223
|
-
const id = await component.mint(request.body.
|
|
222
|
+
const id = await component.mint(request.body.tag, request.body.immutableMetadata, request.body.metadata, request.body.namespace, httpRequestContext.userIdentity);
|
|
224
223
|
return {
|
|
225
224
|
statusCode: web.HttpStatusCode.created,
|
|
226
225
|
headers: {
|
|
@@ -274,9 +273,10 @@ async function nftTransfer(httpRequestContext, componentName, request) {
|
|
|
274
273
|
core.Guards.object(ROUTES_SOURCE, "request.pathParams", request.pathParams);
|
|
275
274
|
core.Guards.stringValue(ROUTES_SOURCE, "request.pathParams.id", request.pathParams.id);
|
|
276
275
|
core.Guards.object(ROUTES_SOURCE, "request.body", request.body);
|
|
277
|
-
core.Guards.stringValue(ROUTES_SOURCE, "request.body.
|
|
276
|
+
core.Guards.stringValue(ROUTES_SOURCE, "request.body.recipientAddress", request.body.recipientAddress);
|
|
277
|
+
core.Guards.stringValue(ROUTES_SOURCE, "request.body.recipientIdentity", request.body.recipientIdentity);
|
|
278
278
|
const component = core.ComponentFactory.get(componentName);
|
|
279
|
-
await component.transfer(request.pathParams.id, request.body.
|
|
279
|
+
await component.transfer(request.pathParams.id, request.body.recipientIdentity, request.body.recipientAddress, request.body.metadata, httpRequestContext.userIdentity);
|
|
280
280
|
return {
|
|
281
281
|
statusCode: web.HttpStatusCode.noContent
|
|
282
282
|
};
|
|
@@ -323,7 +323,6 @@ class NftService {
|
|
|
323
323
|
/**
|
|
324
324
|
* Create a new instance of NftService.
|
|
325
325
|
* @param options The options for the service.
|
|
326
|
-
* @param options.config The configuration for the service.
|
|
327
326
|
*/
|
|
328
327
|
constructor(options) {
|
|
329
328
|
const names = nftModels.NftConnectorFactory.names();
|
|
@@ -334,7 +333,6 @@ class NftService {
|
|
|
334
333
|
}
|
|
335
334
|
/**
|
|
336
335
|
* Mint an NFT.
|
|
337
|
-
* @param issuer The issuer for the NFT, will also be the initial owner.
|
|
338
336
|
* @param tag The tag for the NFT.
|
|
339
337
|
* @param immutableMetadata The immutable metadata for the NFT.
|
|
340
338
|
* @param metadata The metadata for the NFT.
|
|
@@ -342,14 +340,13 @@ class NftService {
|
|
|
342
340
|
* @param identity The identity to perform the nft operation on.
|
|
343
341
|
* @returns The id of the created NFT in urn format.
|
|
344
342
|
*/
|
|
345
|
-
async mint(
|
|
346
|
-
core.Guards.stringValue(this.CLASS_NAME, "issuer", issuer);
|
|
343
|
+
async mint(tag, immutableMetadata, metadata, namespace, identity) {
|
|
347
344
|
core.Guards.stringValue(this.CLASS_NAME, "tag", tag);
|
|
348
345
|
core.Guards.stringValue(this.CLASS_NAME, "identity", identity);
|
|
349
346
|
try {
|
|
350
347
|
const connectorNamespace = namespace ?? this._defaultNamespace;
|
|
351
348
|
const nftConnector = nftModels.NftConnectorFactory.get(connectorNamespace);
|
|
352
|
-
const nftUrn = await nftConnector.mint(identity,
|
|
349
|
+
const nftUrn = await nftConnector.mint(identity, tag, immutableMetadata, metadata);
|
|
353
350
|
return nftUrn;
|
|
354
351
|
}
|
|
355
352
|
catch (error) {
|
|
@@ -392,18 +389,20 @@ class NftService {
|
|
|
392
389
|
/**
|
|
393
390
|
* Transfer an NFT.
|
|
394
391
|
* @param id The id of the NFT to transfer in urn format.
|
|
395
|
-
* @param
|
|
392
|
+
* @param recipientIdentity The recipient identity for the NFT.
|
|
393
|
+
* @param recipientAddress The recipient address for the NFT.
|
|
396
394
|
* @param metadata Optional mutable data to include during the transfer.
|
|
397
395
|
* @param identity The identity to perform the nft operation on.
|
|
398
396
|
* @returns Nothing.
|
|
399
397
|
*/
|
|
400
|
-
async transfer(id,
|
|
398
|
+
async transfer(id, recipientIdentity, recipientAddress, metadata, identity) {
|
|
401
399
|
core.Urn.guard(this.CLASS_NAME, "id", id);
|
|
402
|
-
core.Guards.stringValue(this.CLASS_NAME, "
|
|
400
|
+
core.Guards.stringValue(this.CLASS_NAME, "recipientIdentity", recipientIdentity);
|
|
401
|
+
core.Guards.stringValue(this.CLASS_NAME, "recipientAddress", recipientAddress);
|
|
403
402
|
core.Guards.stringValue(this.CLASS_NAME, "identity", identity);
|
|
404
403
|
try {
|
|
405
404
|
const nftConnector = this.getConnector(id);
|
|
406
|
-
await nftConnector.transfer(identity, id,
|
|
405
|
+
await nftConnector.transfer(identity, id, recipientIdentity, recipientAddress, metadata);
|
|
407
406
|
}
|
|
408
407
|
catch (error) {
|
|
409
408
|
throw new core.GeneralError(this.CLASS_NAME, "transferFailed", undefined, error);
|
package/dist/esm/index.mjs
CHANGED
|
@@ -36,7 +36,6 @@ function generateRestRoutesNft(baseRouteName, componentName) {
|
|
|
36
36
|
id: "nftMintExample",
|
|
37
37
|
request: {
|
|
38
38
|
body: {
|
|
39
|
-
issuer: "tst1prctjk5ck0dutnsunnje6u90jk5htx03qznjjmkd6843pzltlgz87srjzzv",
|
|
40
39
|
tag: "MY-NFT",
|
|
41
40
|
immutableMetadata: {
|
|
42
41
|
docName: "bill-of-lading",
|
|
@@ -96,8 +95,8 @@ function generateRestRoutesNft(baseRouteName, componentName) {
|
|
|
96
95
|
id: "nftResolveResponseExample",
|
|
97
96
|
response: {
|
|
98
97
|
body: {
|
|
99
|
-
issuer: "
|
|
100
|
-
owner: "
|
|
98
|
+
issuer: "did:iota:tst:0x85ef62ea94fc4eeeeeddf6acc3b566e988e613081d0b93cc54ed831ed4c18d44",
|
|
99
|
+
owner: "did:iota:tst:0x85ef62ea94fc4eeeeeddf6acc3b566e988e613081d0b93cc54ed831ed4c18d44",
|
|
101
100
|
tag: "MY-NFT",
|
|
102
101
|
immutableMetadata: {
|
|
103
102
|
docName: "bill-of-lading",
|
|
@@ -157,7 +156,8 @@ function generateRestRoutesNft(baseRouteName, componentName) {
|
|
|
157
156
|
id: "nft:iota:aW90YS1uZnQ6dHN0OjB4NzYyYjljNDllYTg2OWUwZWJkYTliYmZhNzY5Mzk0NDdhNDI4ZGNmMTc4YzVkMTVhYjQ0N2UyZDRmYmJiNGViMg=="
|
|
158
157
|
},
|
|
159
158
|
body: {
|
|
160
|
-
|
|
159
|
+
recipientIdentity: "did:iota:tst:0x85ef62ea94fc4eeeeeddf6acc3b566e988e613081d0b93cc54ed831ed4c18d44",
|
|
160
|
+
recipientAddress: "tst1prctjk5ck0dutnsunnje6u90jk5htx03qznjjmkd6843pzltlgz87srjzzv",
|
|
161
161
|
metadata: {
|
|
162
162
|
data: "AAAAA"
|
|
163
163
|
}
|
|
@@ -215,10 +215,9 @@ function generateRestRoutesNft(baseRouteName, componentName) {
|
|
|
215
215
|
async function nftMint(httpRequestContext, componentName, request) {
|
|
216
216
|
Guards.object(ROUTES_SOURCE, "request", request);
|
|
217
217
|
Guards.object(ROUTES_SOURCE, "request.body", request.body);
|
|
218
|
-
Guards.stringValue(ROUTES_SOURCE, "request.body.issuer", request.body.issuer);
|
|
219
218
|
Guards.stringValue(ROUTES_SOURCE, "request.body.tag", request.body.tag);
|
|
220
219
|
const component = ComponentFactory.get(componentName);
|
|
221
|
-
const id = await component.mint(request.body.
|
|
220
|
+
const id = await component.mint(request.body.tag, request.body.immutableMetadata, request.body.metadata, request.body.namespace, httpRequestContext.userIdentity);
|
|
222
221
|
return {
|
|
223
222
|
statusCode: HttpStatusCode.created,
|
|
224
223
|
headers: {
|
|
@@ -272,9 +271,10 @@ async function nftTransfer(httpRequestContext, componentName, request) {
|
|
|
272
271
|
Guards.object(ROUTES_SOURCE, "request.pathParams", request.pathParams);
|
|
273
272
|
Guards.stringValue(ROUTES_SOURCE, "request.pathParams.id", request.pathParams.id);
|
|
274
273
|
Guards.object(ROUTES_SOURCE, "request.body", request.body);
|
|
275
|
-
Guards.stringValue(ROUTES_SOURCE, "request.body.
|
|
274
|
+
Guards.stringValue(ROUTES_SOURCE, "request.body.recipientAddress", request.body.recipientAddress);
|
|
275
|
+
Guards.stringValue(ROUTES_SOURCE, "request.body.recipientIdentity", request.body.recipientIdentity);
|
|
276
276
|
const component = ComponentFactory.get(componentName);
|
|
277
|
-
await component.transfer(request.pathParams.id, request.body.
|
|
277
|
+
await component.transfer(request.pathParams.id, request.body.recipientIdentity, request.body.recipientAddress, request.body.metadata, httpRequestContext.userIdentity);
|
|
278
278
|
return {
|
|
279
279
|
statusCode: HttpStatusCode.noContent
|
|
280
280
|
};
|
|
@@ -321,7 +321,6 @@ class NftService {
|
|
|
321
321
|
/**
|
|
322
322
|
* Create a new instance of NftService.
|
|
323
323
|
* @param options The options for the service.
|
|
324
|
-
* @param options.config The configuration for the service.
|
|
325
324
|
*/
|
|
326
325
|
constructor(options) {
|
|
327
326
|
const names = NftConnectorFactory.names();
|
|
@@ -332,7 +331,6 @@ class NftService {
|
|
|
332
331
|
}
|
|
333
332
|
/**
|
|
334
333
|
* Mint an NFT.
|
|
335
|
-
* @param issuer The issuer for the NFT, will also be the initial owner.
|
|
336
334
|
* @param tag The tag for the NFT.
|
|
337
335
|
* @param immutableMetadata The immutable metadata for the NFT.
|
|
338
336
|
* @param metadata The metadata for the NFT.
|
|
@@ -340,14 +338,13 @@ class NftService {
|
|
|
340
338
|
* @param identity The identity to perform the nft operation on.
|
|
341
339
|
* @returns The id of the created NFT in urn format.
|
|
342
340
|
*/
|
|
343
|
-
async mint(
|
|
344
|
-
Guards.stringValue(this.CLASS_NAME, "issuer", issuer);
|
|
341
|
+
async mint(tag, immutableMetadata, metadata, namespace, identity) {
|
|
345
342
|
Guards.stringValue(this.CLASS_NAME, "tag", tag);
|
|
346
343
|
Guards.stringValue(this.CLASS_NAME, "identity", identity);
|
|
347
344
|
try {
|
|
348
345
|
const connectorNamespace = namespace ?? this._defaultNamespace;
|
|
349
346
|
const nftConnector = NftConnectorFactory.get(connectorNamespace);
|
|
350
|
-
const nftUrn = await nftConnector.mint(identity,
|
|
347
|
+
const nftUrn = await nftConnector.mint(identity, tag, immutableMetadata, metadata);
|
|
351
348
|
return nftUrn;
|
|
352
349
|
}
|
|
353
350
|
catch (error) {
|
|
@@ -390,18 +387,20 @@ class NftService {
|
|
|
390
387
|
/**
|
|
391
388
|
* Transfer an NFT.
|
|
392
389
|
* @param id The id of the NFT to transfer in urn format.
|
|
393
|
-
* @param
|
|
390
|
+
* @param recipientIdentity The recipient identity for the NFT.
|
|
391
|
+
* @param recipientAddress The recipient address for the NFT.
|
|
394
392
|
* @param metadata Optional mutable data to include during the transfer.
|
|
395
393
|
* @param identity The identity to perform the nft operation on.
|
|
396
394
|
* @returns Nothing.
|
|
397
395
|
*/
|
|
398
|
-
async transfer(id,
|
|
396
|
+
async transfer(id, recipientIdentity, recipientAddress, metadata, identity) {
|
|
399
397
|
Urn.guard(this.CLASS_NAME, "id", id);
|
|
400
|
-
Guards.stringValue(this.CLASS_NAME, "
|
|
398
|
+
Guards.stringValue(this.CLASS_NAME, "recipientIdentity", recipientIdentity);
|
|
399
|
+
Guards.stringValue(this.CLASS_NAME, "recipientAddress", recipientAddress);
|
|
401
400
|
Guards.stringValue(this.CLASS_NAME, "identity", identity);
|
|
402
401
|
try {
|
|
403
402
|
const nftConnector = this.getConnector(id);
|
|
404
|
-
await nftConnector.transfer(identity, id,
|
|
403
|
+
await nftConnector.transfer(identity, id, recipientIdentity, recipientAddress, metadata);
|
|
405
404
|
}
|
|
406
405
|
catch (error) {
|
|
407
406
|
throw new GeneralError(this.CLASS_NAME, "transferFailed", undefined, error);
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type INftComponent } from "@twin.org/nft-models";
|
|
2
|
-
import type {
|
|
2
|
+
import type { INftServiceConstructorOptions } from "./models/INftServiceConstructorOptions";
|
|
3
3
|
/**
|
|
4
4
|
* Service for performing NFT operations to a connector.
|
|
5
5
|
*/
|
|
@@ -15,14 +15,10 @@ export declare class NftService implements INftComponent {
|
|
|
15
15
|
/**
|
|
16
16
|
* Create a new instance of NftService.
|
|
17
17
|
* @param options The options for the service.
|
|
18
|
-
* @param options.config The configuration for the service.
|
|
19
18
|
*/
|
|
20
|
-
constructor(options?:
|
|
21
|
-
config?: INftServiceConfig;
|
|
22
|
-
});
|
|
19
|
+
constructor(options?: INftServiceConstructorOptions);
|
|
23
20
|
/**
|
|
24
21
|
* Mint an NFT.
|
|
25
|
-
* @param issuer The issuer for the NFT, will also be the initial owner.
|
|
26
22
|
* @param tag The tag for the NFT.
|
|
27
23
|
* @param immutableMetadata The immutable metadata for the NFT.
|
|
28
24
|
* @param metadata The metadata for the NFT.
|
|
@@ -30,7 +26,7 @@ export declare class NftService implements INftComponent {
|
|
|
30
26
|
* @param identity The identity to perform the nft operation on.
|
|
31
27
|
* @returns The id of the created NFT in urn format.
|
|
32
28
|
*/
|
|
33
|
-
mint<T = unknown, U = unknown>(
|
|
29
|
+
mint<T = unknown, U = unknown>(tag: string, immutableMetadata?: T, metadata?: U, namespace?: string, identity?: string): Promise<string>;
|
|
34
30
|
/**
|
|
35
31
|
* Resolve an NFT.
|
|
36
32
|
* @param id The id of the NFT to resolve.
|
|
@@ -54,12 +50,13 @@ export declare class NftService implements INftComponent {
|
|
|
54
50
|
/**
|
|
55
51
|
* Transfer an NFT.
|
|
56
52
|
* @param id The id of the NFT to transfer in urn format.
|
|
57
|
-
* @param
|
|
53
|
+
* @param recipientIdentity The recipient identity for the NFT.
|
|
54
|
+
* @param recipientAddress The recipient address for the NFT.
|
|
58
55
|
* @param metadata Optional mutable data to include during the transfer.
|
|
59
56
|
* @param identity The identity to perform the nft operation on.
|
|
60
57
|
* @returns Nothing.
|
|
61
58
|
*/
|
|
62
|
-
transfer<
|
|
59
|
+
transfer<U = unknown>(id: string, recipientIdentity: string, recipientAddress: string, metadata?: U, identity?: string): Promise<void>;
|
|
63
60
|
/**
|
|
64
61
|
* Update the data of the NFT.
|
|
65
62
|
* @param id The id of the NFT to update in urn format.
|
|
@@ -67,5 +64,5 @@ export declare class NftService implements INftComponent {
|
|
|
67
64
|
* @param identity The identity to perform the nft operation on.
|
|
68
65
|
* @returns Nothing.
|
|
69
66
|
*/
|
|
70
|
-
update<
|
|
67
|
+
update<U = unknown>(id: string, metadata: U, identity?: string): Promise<void>;
|
|
71
68
|
}
|
package/docs/changelog.md
CHANGED
|
@@ -1,5 +1,122 @@
|
|
|
1
1
|
# @twin.org/nft-service - Changelog
|
|
2
2
|
|
|
3
|
-
## v0.0.1-next.
|
|
3
|
+
## [0.0.1-next.30](https://github.com/twinfoundation/nft/compare/nft-service-v0.0.1-next.29...nft-service-v0.0.1-next.30) (2025-05-22)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Miscellaneous Chores
|
|
7
|
+
|
|
8
|
+
* **nft-service:** Synchronize repo versions
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* The following workspace dependencies were updated
|
|
14
|
+
* dependencies
|
|
15
|
+
* @twin.org/nft-models bumped from 0.0.1-next.29 to 0.0.1-next.30
|
|
16
|
+
* devDependencies
|
|
17
|
+
* @twin.org/nft-connector-entity-storage bumped from 0.0.1-next.29 to 0.0.1-next.30
|
|
18
|
+
|
|
19
|
+
## [0.0.1-next.29](https://github.com/twinfoundation/nft/compare/nft-service-v0.0.1-next.28...nft-service-v0.0.1-next.29) (2025-05-21)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Miscellaneous Chores
|
|
23
|
+
|
|
24
|
+
* **nft-service:** Synchronize repo versions
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Dependencies
|
|
28
|
+
|
|
29
|
+
* The following workspace dependencies were updated
|
|
30
|
+
* dependencies
|
|
31
|
+
* @twin.org/nft-models bumped from 0.0.1-next.28 to 0.0.1-next.29
|
|
32
|
+
* devDependencies
|
|
33
|
+
* @twin.org/nft-connector-entity-storage bumped from 0.0.1-next.28 to 0.0.1-next.29
|
|
34
|
+
|
|
35
|
+
## [0.0.1-next.28](https://github.com/twinfoundation/nft/compare/nft-service-v0.0.1-next.27...nft-service-v0.0.1-next.28) (2025-05-06)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
### Features
|
|
39
|
+
|
|
40
|
+
* iota rebased release ([bfdd233](https://github.com/twinfoundation/nft/commit/bfdd23330e168962f7ad0a6fcd2c9c9a38a11697))
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Bug Fixes
|
|
44
|
+
|
|
45
|
+
* params order modified ([#19](https://github.com/twinfoundation/nft/issues/19)) ([c2ceb30](https://github.com/twinfoundation/nft/commit/c2ceb3040c12286d4fac09d51db77465366ba89d))
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### Dependencies
|
|
49
|
+
|
|
50
|
+
* The following workspace dependencies were updated
|
|
51
|
+
* dependencies
|
|
52
|
+
* @twin.org/nft-models bumped from 0.0.1-next.27 to 0.0.1-next.28
|
|
53
|
+
* devDependencies
|
|
54
|
+
* @twin.org/nft-connector-entity-storage bumped from 0.0.1-next.27 to 0.0.1-next.28
|
|
55
|
+
|
|
56
|
+
## [0.0.1-next.27](https://github.com/twinfoundation/nft/compare/nft-service-v0.0.1-next.26...nft-service-v0.0.1-next.27) (2025-04-24)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
### Miscellaneous Chores
|
|
60
|
+
|
|
61
|
+
* **nft-service:** Synchronize repo versions
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
### Dependencies
|
|
65
|
+
|
|
66
|
+
* The following workspace dependencies were updated
|
|
67
|
+
* dependencies
|
|
68
|
+
* @twin.org/nft-models bumped from 0.0.1-next.26 to 0.0.1-next.27
|
|
69
|
+
* devDependencies
|
|
70
|
+
* @twin.org/nft-connector-entity-storage bumped from 0.0.1-next.26 to 0.0.1-next.27
|
|
71
|
+
|
|
72
|
+
## [0.0.1-next.26](https://github.com/twinfoundation/nft/compare/nft-service-v0.0.1-next.25...nft-service-v0.0.1-next.26) (2025-04-17)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
### Features
|
|
76
|
+
|
|
77
|
+
* use shared store mechanism ([#16](https://github.com/twinfoundation/nft/issues/16)) ([897bc78](https://github.com/twinfoundation/nft/commit/897bc7805248ba1388b2dd03df24c33f1633f344))
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
### Dependencies
|
|
81
|
+
|
|
82
|
+
* The following workspace dependencies were updated
|
|
83
|
+
* dependencies
|
|
84
|
+
* @twin.org/nft-models bumped from 0.0.1-next.25 to 0.0.1-next.26
|
|
85
|
+
* devDependencies
|
|
86
|
+
* @twin.org/nft-connector-entity-storage bumped from 0.0.1-next.25 to 0.0.1-next.26
|
|
87
|
+
|
|
88
|
+
## [0.0.1-next.25](https://github.com/twinfoundation/nft/compare/nft-service-v0.0.1-next.24...nft-service-v0.0.1-next.25) (2025-04-17)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
### Miscellaneous Chores
|
|
92
|
+
|
|
93
|
+
* **nft-service:** Synchronize repo versions
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
### Dependencies
|
|
97
|
+
|
|
98
|
+
* The following workspace dependencies were updated
|
|
99
|
+
* dependencies
|
|
100
|
+
* @twin.org/nft-models bumped from 0.0.1-next.24 to 0.0.1-next.25
|
|
101
|
+
* devDependencies
|
|
102
|
+
* @twin.org/nft-connector-entity-storage bumped from 0.0.1-next.24 to 0.0.1-next.25
|
|
103
|
+
|
|
104
|
+
## [0.0.1-next.24](https://github.com/twinfoundation/nft/compare/nft-service-v0.0.1-next.23...nft-service-v0.0.1-next.24) (2025-03-28)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
### Miscellaneous Chores
|
|
108
|
+
|
|
109
|
+
* **nft-service:** Synchronize repo versions
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
### Dependencies
|
|
113
|
+
|
|
114
|
+
* The following workspace dependencies were updated
|
|
115
|
+
* dependencies
|
|
116
|
+
* @twin.org/nft-models bumped from 0.0.1-next.23 to 0.0.1-next.24
|
|
117
|
+
* devDependencies
|
|
118
|
+
* @twin.org/nft-connector-entity-storage bumped from 0.0.1-next.23 to 0.0.1-next.24
|
|
119
|
+
|
|
120
|
+
## v0.0.1-next.23
|
|
4
121
|
|
|
5
122
|
- Initial Release
|