@twin.org/nft-models 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/types/models/INftComponent.d.ts +11 -11
- package/dist/types/models/INftConnector.d.ts +8 -8
- package/dist/types/models/api/INftMintRequest.d.ts +0 -4
- package/dist/types/models/api/INftTransferRequest.d.ts +6 -2
- package/docs/changelog.md +50 -1
- package/docs/reference/interfaces/IIrc27Metadata.md +9 -1
- package/docs/reference/interfaces/INftComponent.md +78 -52
- package/docs/reference/interfaces/INftConnector.md +71 -49
- package/docs/reference/interfaces/INftMintRequest.md +0 -6
- package/docs/reference/interfaces/INftTransferRequest.md +9 -3
- package/package.json +3 -30
|
@@ -5,7 +5,6 @@ import type { IComponent } from "@twin.org/core";
|
|
|
5
5
|
export interface INftComponent extends IComponent {
|
|
6
6
|
/**
|
|
7
7
|
* Mint an NFT.
|
|
8
|
-
* @param issuer The issuer for the NFT, will also be the initial owner.
|
|
9
8
|
* @param tag The tag for the NFT.
|
|
10
9
|
* @param immutableMetadata The immutable metadata for the NFT.
|
|
11
10
|
* @param metadata The metadata for the NFT.
|
|
@@ -13,14 +12,14 @@ export interface INftComponent extends IComponent {
|
|
|
13
12
|
* @param identity The identity to perform the nft operation on.
|
|
14
13
|
* @returns The id of the created NFT in urn format.
|
|
15
14
|
*/
|
|
16
|
-
mint<T = unknown, U = unknown>(
|
|
15
|
+
mint<T = unknown, U = unknown>(tag: string, immutableMetadata?: T, metadata?: U, namespace?: string, identity?: string): Promise<string>;
|
|
17
16
|
/**
|
|
18
17
|
* Resolve an NFT.
|
|
19
18
|
* @param id The id of the NFT to resolve.
|
|
20
|
-
* @param
|
|
19
|
+
* @param controllerIdentity The identity to perform the nft operation on.
|
|
21
20
|
* @returns The data for the NFT.
|
|
22
21
|
*/
|
|
23
|
-
resolve<T = unknown, U = unknown>(id: string,
|
|
22
|
+
resolve<T = unknown, U = unknown>(id: string, controllerIdentity?: string): Promise<{
|
|
24
23
|
issuer: string;
|
|
25
24
|
owner: string;
|
|
26
25
|
tag: string;
|
|
@@ -30,25 +29,26 @@ export interface INftComponent extends IComponent {
|
|
|
30
29
|
/**
|
|
31
30
|
* Burn an NFT.
|
|
32
31
|
* @param id The id of the NFT to burn in urn format.
|
|
33
|
-
* @param
|
|
32
|
+
* @param controllerIdentity The identity to perform the nft operation on.
|
|
34
33
|
* @returns Nothing.
|
|
35
34
|
*/
|
|
36
|
-
burn(id: string,
|
|
35
|
+
burn(id: string, controllerIdentity?: string): Promise<void>;
|
|
37
36
|
/**
|
|
38
37
|
* Transfer an NFT.
|
|
39
38
|
* @param id The id of the NFT to transfer in urn format.
|
|
40
|
-
* @param
|
|
39
|
+
* @param recipientIdentity The recipient identity for the NFT.
|
|
40
|
+
* @param recipientAddress The recipient address for the NFT.
|
|
41
41
|
* @param metadata Optional mutable data to include during the transfer.
|
|
42
|
-
* @param
|
|
42
|
+
* @param controllerIdentity The identity to perform the nft operation on.
|
|
43
43
|
* @returns Nothing.
|
|
44
44
|
*/
|
|
45
|
-
transfer<
|
|
45
|
+
transfer<U = unknown>(id: string, recipientIdentity: string, recipientAddress: string, metadata?: U, controllerIdentity?: string): Promise<void>;
|
|
46
46
|
/**
|
|
47
47
|
* Update the mutable data of the NFT.
|
|
48
48
|
* @param id The id of the NFT to update in urn format.
|
|
49
49
|
* @param metadata The mutable data to update.
|
|
50
|
-
* @param
|
|
50
|
+
* @param controllerIdentity The identity to perform the nft operation on.
|
|
51
51
|
* @returns Nothing.
|
|
52
52
|
*/
|
|
53
|
-
update<
|
|
53
|
+
update<U = unknown>(id: string, metadata: U, controllerIdentity?: string): Promise<void>;
|
|
54
54
|
}
|
|
@@ -5,14 +5,13 @@ import type { IComponent } from "@twin.org/core";
|
|
|
5
5
|
export interface INftConnector extends IComponent {
|
|
6
6
|
/**
|
|
7
7
|
* Mint an NFT.
|
|
8
|
-
* @param
|
|
9
|
-
* @param issuerAddress The issuer for the NFT, will also be the initial owner.
|
|
8
|
+
* @param controllerIdentity The identity of the user to access the vault keys.
|
|
10
9
|
* @param tag The tag for the NFT.
|
|
11
10
|
* @param immutableMetadata The immutable metadata for the NFT.
|
|
12
11
|
* @param metadata The metadata for the NFT.
|
|
13
12
|
* @returns The id of the created NFT in urn format.
|
|
14
13
|
*/
|
|
15
|
-
mint<T = unknown, U = unknown>(
|
|
14
|
+
mint<T = unknown, U = unknown>(controllerIdentity: string, tag: string, immutableMetadata?: T, metadata?: U): Promise<string>;
|
|
16
15
|
/**
|
|
17
16
|
* Resolve an NFT.
|
|
18
17
|
* @param id The id of the NFT to resolve.
|
|
@@ -34,19 +33,20 @@ export interface INftConnector extends IComponent {
|
|
|
34
33
|
burn(controller: string, id: string): Promise<void>;
|
|
35
34
|
/**
|
|
36
35
|
* Transfer an NFT.
|
|
37
|
-
* @param
|
|
36
|
+
* @param controllerIdentity The controller of the NFT who can make changes.
|
|
38
37
|
* @param id The id of the NFT to transfer in urn format.
|
|
39
|
-
* @param
|
|
38
|
+
* @param recipientIdentity The recipient identity for the NFT.
|
|
39
|
+
* @param recipientAddress The recipient address for the NFT.
|
|
40
40
|
* @param metadata Optional mutable data to include during the transfer.
|
|
41
41
|
* @returns Nothing.
|
|
42
42
|
*/
|
|
43
|
-
transfer<
|
|
43
|
+
transfer<U = unknown>(controllerIdentity: string, id: string, recipientIdentity: string, recipientAddress: string, metadata?: U): Promise<void>;
|
|
44
44
|
/**
|
|
45
45
|
* Update the mutable data of the NFT.
|
|
46
|
-
* @param
|
|
46
|
+
* @param controllerIdentity The controller of the NFT who can make changes.
|
|
47
47
|
* @param id The id of the NFT to update in urn format.
|
|
48
48
|
* @param metadata The mutable data to update.
|
|
49
49
|
* @returns Nothing.
|
|
50
50
|
*/
|
|
51
|
-
update<
|
|
51
|
+
update<U = unknown>(controllerIdentity: string, id: string, metadata: U): Promise<void>;
|
|
52
52
|
}
|
|
@@ -16,9 +16,13 @@ export interface INftTransferRequest {
|
|
|
16
16
|
*/
|
|
17
17
|
body: {
|
|
18
18
|
/**
|
|
19
|
-
* The recipient for the NFT.
|
|
19
|
+
* The recipient identity for the NFT.
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
recipientIdentity: string;
|
|
22
|
+
/**
|
|
23
|
+
* The recipient address for the NFT.
|
|
24
|
+
*/
|
|
25
|
+
recipientAddress: string;
|
|
22
26
|
/**
|
|
23
27
|
* The metadata for the NFT.
|
|
24
28
|
*/
|
package/docs/changelog.md
CHANGED
|
@@ -1,5 +1,54 @@
|
|
|
1
1
|
# @twin.org/nft-models - Changelog
|
|
2
2
|
|
|
3
|
-
## v0.0.1-next.
|
|
3
|
+
## [0.0.1-next.30](https://github.com/twinfoundation/nft/compare/nft-models-v0.0.1-next.29...nft-models-v0.0.1-next.30) (2025-05-22)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Miscellaneous Chores
|
|
7
|
+
|
|
8
|
+
* **nft-models:** Synchronize repo versions
|
|
9
|
+
|
|
10
|
+
## [0.0.1-next.29](https://github.com/twinfoundation/nft/compare/nft-models-v0.0.1-next.28...nft-models-v0.0.1-next.29) (2025-05-21)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Miscellaneous Chores
|
|
14
|
+
|
|
15
|
+
* **nft-models:** Synchronize repo versions
|
|
16
|
+
|
|
17
|
+
## [0.0.1-next.28](https://github.com/twinfoundation/nft/compare/nft-models-v0.0.1-next.27...nft-models-v0.0.1-next.28) (2025-05-06)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Miscellaneous Chores
|
|
21
|
+
|
|
22
|
+
* **nft-models:** Synchronize repo versions
|
|
23
|
+
|
|
24
|
+
## [0.0.1-next.27](https://github.com/twinfoundation/nft/compare/nft-models-v0.0.1-next.26...nft-models-v0.0.1-next.27) (2025-04-24)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Miscellaneous Chores
|
|
28
|
+
|
|
29
|
+
* **nft-models:** Synchronize repo versions
|
|
30
|
+
|
|
31
|
+
## [0.0.1-next.26](https://github.com/twinfoundation/nft/compare/nft-models-v0.0.1-next.25...nft-models-v0.0.1-next.26) (2025-04-17)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Features
|
|
35
|
+
|
|
36
|
+
* use shared store mechanism ([#16](https://github.com/twinfoundation/nft/issues/16)) ([897bc78](https://github.com/twinfoundation/nft/commit/897bc7805248ba1388b2dd03df24c33f1633f344))
|
|
37
|
+
|
|
38
|
+
## [0.0.1-next.25](https://github.com/twinfoundation/nft/compare/nft-models-v0.0.1-next.24...nft-models-v0.0.1-next.25) (2025-04-17)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Miscellaneous Chores
|
|
42
|
+
|
|
43
|
+
* **nft-models:** Synchronize repo versions
|
|
44
|
+
|
|
45
|
+
## [0.0.1-next.24](https://github.com/twinfoundation/nft/compare/nft-models-v0.0.1-next.23...nft-models-v0.0.1-next.24) (2025-03-28)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### Miscellaneous Chores
|
|
49
|
+
|
|
50
|
+
* **nft-models:** Synchronize repo versions
|
|
51
|
+
|
|
52
|
+
## v0.0.1-next.23
|
|
4
53
|
|
|
5
54
|
- Initial Release
|
|
@@ -61,7 +61,7 @@ Object containing key value pair where payment address mapped to the payout perc
|
|
|
61
61
|
|
|
62
62
|
#### Index Signature
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
\[`id`: `string`\]: `number`
|
|
65
65
|
|
|
66
66
|
***
|
|
67
67
|
|
|
@@ -86,3 +86,11 @@ Alphanumeric text string to define a basic description of the NFT.
|
|
|
86
86
|
> `optional` **attributes**: `object`[]
|
|
87
87
|
|
|
88
88
|
Array objects defining additional attributes of the NFT
|
|
89
|
+
|
|
90
|
+
#### trait\_type
|
|
91
|
+
|
|
92
|
+
> **trait\_type**: `string`
|
|
93
|
+
|
|
94
|
+
#### value
|
|
95
|
+
|
|
96
|
+
> **value**: `unknown`
|
|
@@ -10,39 +10,49 @@ Interface describing an NFT component.
|
|
|
10
10
|
|
|
11
11
|
### mint()
|
|
12
12
|
|
|
13
|
-
> **mint**\<`T`, `U`\>(`
|
|
13
|
+
> **mint**\<`T`, `U`\>(`tag`, `immutableMetadata?`, `metadata?`, `namespace?`, `identity?`): `Promise`\<`string`\>
|
|
14
14
|
|
|
15
15
|
Mint an NFT.
|
|
16
16
|
|
|
17
17
|
#### Type Parameters
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
##### T
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
`T` = `unknown`
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
##### U
|
|
24
|
+
|
|
25
|
+
`U` = `unknown`
|
|
24
26
|
|
|
25
|
-
|
|
27
|
+
#### Parameters
|
|
26
28
|
|
|
27
|
-
|
|
29
|
+
##### tag
|
|
28
30
|
|
|
29
|
-
|
|
31
|
+
`string`
|
|
30
32
|
|
|
31
33
|
The tag for the NFT.
|
|
32
34
|
|
|
33
|
-
|
|
35
|
+
##### immutableMetadata?
|
|
36
|
+
|
|
37
|
+
`T`
|
|
34
38
|
|
|
35
39
|
The immutable metadata for the NFT.
|
|
36
40
|
|
|
37
|
-
|
|
41
|
+
##### metadata?
|
|
42
|
+
|
|
43
|
+
`U`
|
|
38
44
|
|
|
39
45
|
The metadata for the NFT.
|
|
40
46
|
|
|
41
|
-
|
|
47
|
+
##### namespace?
|
|
48
|
+
|
|
49
|
+
`string`
|
|
42
50
|
|
|
43
51
|
The namespace of the connector to use for the NFT, defaults to component configured namespace.
|
|
44
52
|
|
|
45
|
-
|
|
53
|
+
##### identity?
|
|
54
|
+
|
|
55
|
+
`string`
|
|
46
56
|
|
|
47
57
|
The identity to perform the nft operation on.
|
|
48
58
|
|
|
@@ -56,67 +66,59 @@ The id of the created NFT in urn format.
|
|
|
56
66
|
|
|
57
67
|
### resolve()
|
|
58
68
|
|
|
59
|
-
> **resolve**\<`T`, `U`\>(`id`, `
|
|
69
|
+
> **resolve**\<`T`, `U`\>(`id`, `controllerIdentity?`): `Promise`\<\{ `issuer`: `string`; `owner`: `string`; `tag`: `string`; `immutableMetadata`: `T`; `metadata`: `U`; \}\>
|
|
60
70
|
|
|
61
71
|
Resolve an NFT.
|
|
62
72
|
|
|
63
73
|
#### Type Parameters
|
|
64
74
|
|
|
65
|
-
|
|
75
|
+
##### T
|
|
76
|
+
|
|
77
|
+
`T` = `unknown`
|
|
66
78
|
|
|
67
|
-
|
|
79
|
+
##### U
|
|
80
|
+
|
|
81
|
+
`U` = `unknown`
|
|
68
82
|
|
|
69
83
|
#### Parameters
|
|
70
84
|
|
|
71
|
-
|
|
85
|
+
##### id
|
|
86
|
+
|
|
87
|
+
`string`
|
|
72
88
|
|
|
73
89
|
The id of the NFT to resolve.
|
|
74
90
|
|
|
75
|
-
|
|
91
|
+
##### controllerIdentity?
|
|
92
|
+
|
|
93
|
+
`string`
|
|
76
94
|
|
|
77
95
|
The identity to perform the nft operation on.
|
|
78
96
|
|
|
79
97
|
#### Returns
|
|
80
98
|
|
|
81
|
-
`Promise
|
|
99
|
+
`Promise`\<\{ `issuer`: `string`; `owner`: `string`; `tag`: `string`; `immutableMetadata`: `T`; `metadata`: `U`; \}\>
|
|
82
100
|
|
|
83
101
|
The data for the NFT.
|
|
84
102
|
|
|
85
|
-
##### issuer
|
|
86
|
-
|
|
87
|
-
> **issuer**: `string`
|
|
88
|
-
|
|
89
|
-
##### owner
|
|
90
|
-
|
|
91
|
-
> **owner**: `string`
|
|
92
|
-
|
|
93
|
-
##### tag
|
|
94
|
-
|
|
95
|
-
> **tag**: `string`
|
|
96
|
-
|
|
97
|
-
##### immutableMetadata?
|
|
98
|
-
|
|
99
|
-
> `optional` **immutableMetadata**: `T`
|
|
100
|
-
|
|
101
|
-
##### metadata?
|
|
102
|
-
|
|
103
|
-
> `optional` **metadata**: `U`
|
|
104
|
-
|
|
105
103
|
***
|
|
106
104
|
|
|
107
105
|
### burn()
|
|
108
106
|
|
|
109
|
-
> **burn**(`id`, `
|
|
107
|
+
> **burn**(`id`, `controllerIdentity?`): `Promise`\<`void`\>
|
|
110
108
|
|
|
111
109
|
Burn an NFT.
|
|
112
110
|
|
|
113
111
|
#### Parameters
|
|
114
112
|
|
|
115
|
-
|
|
113
|
+
##### id
|
|
114
|
+
|
|
115
|
+
`string`
|
|
116
116
|
|
|
117
117
|
The id of the NFT to burn in urn format.
|
|
118
118
|
|
|
119
|
-
|
|
119
|
+
##### controllerIdentity?
|
|
120
|
+
|
|
121
|
+
`string`
|
|
120
122
|
|
|
121
123
|
The identity to perform the nft operation on.
|
|
122
124
|
|
|
@@ -130,29 +132,45 @@ Nothing.
|
|
|
130
132
|
|
|
131
133
|
### transfer()
|
|
132
134
|
|
|
133
|
-
> **transfer**\<`
|
|
135
|
+
> **transfer**\<`U`\>(`id`, `recipientIdentity`, `recipientAddress`, `metadata?`, `controllerIdentity?`): `Promise`\<`void`\>
|
|
134
136
|
|
|
135
137
|
Transfer an NFT.
|
|
136
138
|
|
|
137
139
|
#### Type Parameters
|
|
138
140
|
|
|
139
|
-
|
|
141
|
+
##### U
|
|
142
|
+
|
|
143
|
+
`U` = `unknown`
|
|
140
144
|
|
|
141
145
|
#### Parameters
|
|
142
146
|
|
|
143
|
-
|
|
147
|
+
##### id
|
|
148
|
+
|
|
149
|
+
`string`
|
|
144
150
|
|
|
145
151
|
The id of the NFT to transfer in urn format.
|
|
146
152
|
|
|
147
|
-
|
|
153
|
+
##### recipientIdentity
|
|
154
|
+
|
|
155
|
+
`string`
|
|
148
156
|
|
|
149
|
-
The recipient
|
|
157
|
+
The recipient identity for the NFT.
|
|
150
158
|
|
|
151
|
-
|
|
159
|
+
##### recipientAddress
|
|
160
|
+
|
|
161
|
+
`string`
|
|
162
|
+
|
|
163
|
+
The recipient address for the NFT.
|
|
164
|
+
|
|
165
|
+
##### metadata?
|
|
166
|
+
|
|
167
|
+
`U`
|
|
152
168
|
|
|
153
169
|
Optional mutable data to include during the transfer.
|
|
154
170
|
|
|
155
|
-
|
|
171
|
+
##### controllerIdentity?
|
|
172
|
+
|
|
173
|
+
`string`
|
|
156
174
|
|
|
157
175
|
The identity to perform the nft operation on.
|
|
158
176
|
|
|
@@ -166,25 +184,33 @@ Nothing.
|
|
|
166
184
|
|
|
167
185
|
### update()
|
|
168
186
|
|
|
169
|
-
> **update**\<`
|
|
187
|
+
> **update**\<`U`\>(`id`, `metadata`, `controllerIdentity?`): `Promise`\<`void`\>
|
|
170
188
|
|
|
171
189
|
Update the mutable data of the NFT.
|
|
172
190
|
|
|
173
191
|
#### Type Parameters
|
|
174
192
|
|
|
175
|
-
|
|
193
|
+
##### U
|
|
194
|
+
|
|
195
|
+
`U` = `unknown`
|
|
176
196
|
|
|
177
197
|
#### Parameters
|
|
178
198
|
|
|
179
|
-
|
|
199
|
+
##### id
|
|
200
|
+
|
|
201
|
+
`string`
|
|
180
202
|
|
|
181
203
|
The id of the NFT to update in urn format.
|
|
182
204
|
|
|
183
|
-
|
|
205
|
+
##### metadata
|
|
206
|
+
|
|
207
|
+
`U`
|
|
184
208
|
|
|
185
209
|
The mutable data to update.
|
|
186
210
|
|
|
187
|
-
|
|
211
|
+
##### controllerIdentity?
|
|
212
|
+
|
|
213
|
+
`string`
|
|
188
214
|
|
|
189
215
|
The identity to perform the nft operation on.
|
|
190
216
|
|
|
@@ -10,35 +10,43 @@ Interface describing an NFT connector.
|
|
|
10
10
|
|
|
11
11
|
### mint()
|
|
12
12
|
|
|
13
|
-
> **mint**\<`T`, `U`\>(`
|
|
13
|
+
> **mint**\<`T`, `U`\>(`controllerIdentity`, `tag`, `immutableMetadata?`, `metadata?`): `Promise`\<`string`\>
|
|
14
14
|
|
|
15
15
|
Mint an NFT.
|
|
16
16
|
|
|
17
17
|
#### Type Parameters
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
##### T
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
`T` = `unknown`
|
|
22
|
+
|
|
23
|
+
##### U
|
|
24
|
+
|
|
25
|
+
`U` = `unknown`
|
|
22
26
|
|
|
23
27
|
#### Parameters
|
|
24
28
|
|
|
25
|
-
|
|
29
|
+
##### controllerIdentity
|
|
26
30
|
|
|
27
|
-
|
|
31
|
+
`string`
|
|
28
32
|
|
|
29
|
-
|
|
33
|
+
The identity of the user to access the vault keys.
|
|
30
34
|
|
|
31
|
-
|
|
35
|
+
##### tag
|
|
32
36
|
|
|
33
|
-
|
|
37
|
+
`string`
|
|
34
38
|
|
|
35
39
|
The tag for the NFT.
|
|
36
40
|
|
|
37
|
-
|
|
41
|
+
##### immutableMetadata?
|
|
42
|
+
|
|
43
|
+
`T`
|
|
38
44
|
|
|
39
45
|
The immutable metadata for the NFT.
|
|
40
46
|
|
|
41
|
-
|
|
47
|
+
##### metadata?
|
|
48
|
+
|
|
49
|
+
`U`
|
|
42
50
|
|
|
43
51
|
The metadata for the NFT.
|
|
44
52
|
|
|
@@ -52,48 +60,34 @@ The id of the created NFT in urn format.
|
|
|
52
60
|
|
|
53
61
|
### resolve()
|
|
54
62
|
|
|
55
|
-
> **resolve**\<`T`, `U`\>(`id`): `Promise
|
|
63
|
+
> **resolve**\<`T`, `U`\>(`id`): `Promise`\<\{ `issuer`: `string`; `owner`: `string`; `tag`: `string`; `immutableMetadata`: `T`; `metadata`: `U`; \}\>
|
|
56
64
|
|
|
57
65
|
Resolve an NFT.
|
|
58
66
|
|
|
59
67
|
#### Type Parameters
|
|
60
68
|
|
|
61
|
-
|
|
69
|
+
##### T
|
|
70
|
+
|
|
71
|
+
`T` = `unknown`
|
|
62
72
|
|
|
63
|
-
|
|
73
|
+
##### U
|
|
74
|
+
|
|
75
|
+
`U` = `unknown`
|
|
64
76
|
|
|
65
77
|
#### Parameters
|
|
66
78
|
|
|
67
|
-
|
|
79
|
+
##### id
|
|
80
|
+
|
|
81
|
+
`string`
|
|
68
82
|
|
|
69
83
|
The id of the NFT to resolve.
|
|
70
84
|
|
|
71
85
|
#### Returns
|
|
72
86
|
|
|
73
|
-
`Promise
|
|
87
|
+
`Promise`\<\{ `issuer`: `string`; `owner`: `string`; `tag`: `string`; `immutableMetadata`: `T`; `metadata`: `U`; \}\>
|
|
74
88
|
|
|
75
89
|
The data for the NFT.
|
|
76
90
|
|
|
77
|
-
##### issuer
|
|
78
|
-
|
|
79
|
-
> **issuer**: `string`
|
|
80
|
-
|
|
81
|
-
##### owner
|
|
82
|
-
|
|
83
|
-
> **owner**: `string`
|
|
84
|
-
|
|
85
|
-
##### tag
|
|
86
|
-
|
|
87
|
-
> **tag**: `string`
|
|
88
|
-
|
|
89
|
-
##### immutableMetadata?
|
|
90
|
-
|
|
91
|
-
> `optional` **immutableMetadata**: `T`
|
|
92
|
-
|
|
93
|
-
##### metadata?
|
|
94
|
-
|
|
95
|
-
> `optional` **metadata**: `U`
|
|
96
|
-
|
|
97
91
|
***
|
|
98
92
|
|
|
99
93
|
### burn()
|
|
@@ -104,11 +98,15 @@ Burn an NFT.
|
|
|
104
98
|
|
|
105
99
|
#### Parameters
|
|
106
100
|
|
|
107
|
-
|
|
101
|
+
##### controller
|
|
102
|
+
|
|
103
|
+
`string`
|
|
108
104
|
|
|
109
105
|
The controller of the NFT who can make changes.
|
|
110
106
|
|
|
111
|
-
|
|
107
|
+
##### id
|
|
108
|
+
|
|
109
|
+
`string`
|
|
112
110
|
|
|
113
111
|
The id of the NFT to burn in urn format.
|
|
114
112
|
|
|
@@ -122,29 +120,45 @@ Nothing.
|
|
|
122
120
|
|
|
123
121
|
### transfer()
|
|
124
122
|
|
|
125
|
-
> **transfer**\<`
|
|
123
|
+
> **transfer**\<`U`\>(`controllerIdentity`, `id`, `recipientIdentity`, `recipientAddress`, `metadata?`): `Promise`\<`void`\>
|
|
126
124
|
|
|
127
125
|
Transfer an NFT.
|
|
128
126
|
|
|
129
127
|
#### Type Parameters
|
|
130
128
|
|
|
131
|
-
|
|
129
|
+
##### U
|
|
130
|
+
|
|
131
|
+
`U` = `unknown`
|
|
132
132
|
|
|
133
133
|
#### Parameters
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
##### controllerIdentity
|
|
136
|
+
|
|
137
|
+
`string`
|
|
136
138
|
|
|
137
139
|
The controller of the NFT who can make changes.
|
|
138
140
|
|
|
139
|
-
|
|
141
|
+
##### id
|
|
142
|
+
|
|
143
|
+
`string`
|
|
140
144
|
|
|
141
145
|
The id of the NFT to transfer in urn format.
|
|
142
146
|
|
|
143
|
-
|
|
147
|
+
##### recipientIdentity
|
|
144
148
|
|
|
145
|
-
|
|
149
|
+
`string`
|
|
146
150
|
|
|
147
|
-
|
|
151
|
+
The recipient identity for the NFT.
|
|
152
|
+
|
|
153
|
+
##### recipientAddress
|
|
154
|
+
|
|
155
|
+
`string`
|
|
156
|
+
|
|
157
|
+
The recipient address for the NFT.
|
|
158
|
+
|
|
159
|
+
##### metadata?
|
|
160
|
+
|
|
161
|
+
`U`
|
|
148
162
|
|
|
149
163
|
Optional mutable data to include during the transfer.
|
|
150
164
|
|
|
@@ -158,25 +172,33 @@ Nothing.
|
|
|
158
172
|
|
|
159
173
|
### update()
|
|
160
174
|
|
|
161
|
-
> **update**\<`
|
|
175
|
+
> **update**\<`U`\>(`controllerIdentity`, `id`, `metadata`): `Promise`\<`void`\>
|
|
162
176
|
|
|
163
177
|
Update the mutable data of the NFT.
|
|
164
178
|
|
|
165
179
|
#### Type Parameters
|
|
166
180
|
|
|
167
|
-
|
|
181
|
+
##### U
|
|
182
|
+
|
|
183
|
+
`U` = `unknown`
|
|
168
184
|
|
|
169
185
|
#### Parameters
|
|
170
186
|
|
|
171
|
-
|
|
187
|
+
##### controllerIdentity
|
|
188
|
+
|
|
189
|
+
`string`
|
|
172
190
|
|
|
173
191
|
The controller of the NFT who can make changes.
|
|
174
192
|
|
|
175
|
-
|
|
193
|
+
##### id
|
|
194
|
+
|
|
195
|
+
`string`
|
|
176
196
|
|
|
177
197
|
The id of the NFT to update in urn format.
|
|
178
198
|
|
|
179
|
-
|
|
199
|
+
##### metadata
|
|
200
|
+
|
|
201
|
+
`U`
|
|
180
202
|
|
|
181
203
|
The mutable data to update.
|
|
182
204
|
|
|
@@ -24,11 +24,17 @@ The id of the NFT to transfer in urn format.
|
|
|
24
24
|
|
|
25
25
|
The data to be used in the transfer.
|
|
26
26
|
|
|
27
|
-
####
|
|
27
|
+
#### recipientIdentity
|
|
28
28
|
|
|
29
|
-
> **
|
|
29
|
+
> **recipientIdentity**: `string`
|
|
30
30
|
|
|
31
|
-
The recipient for the NFT.
|
|
31
|
+
The recipient identity for the NFT.
|
|
32
|
+
|
|
33
|
+
#### recipientAddress
|
|
34
|
+
|
|
35
|
+
> **recipientAddress**: `string`
|
|
36
|
+
|
|
37
|
+
The recipient address for the NFT.
|
|
32
38
|
|
|
33
39
|
#### metadata?
|
|
34
40
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twin.org/nft-models",
|
|
3
|
-
"version": "0.0.1-next.
|
|
3
|
+
"version": "0.0.1-next.30",
|
|
4
4
|
"description": "Contains models and classes for use with NFTs",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -13,46 +13,19 @@
|
|
|
13
13
|
"engines": {
|
|
14
14
|
"node": ">=20.0.0"
|
|
15
15
|
},
|
|
16
|
-
"scripts": {
|
|
17
|
-
"clean": "rimraf dist coverage",
|
|
18
|
-
"build": "tspc",
|
|
19
|
-
"test": "vitest --run --config ./vitest.config.ts --no-cache",
|
|
20
|
-
"coverage": "vitest --run --coverage --config ./vitest.config.ts --no-cache",
|
|
21
|
-
"bundle:esm": "rollup --config rollup.config.mjs --environment MODULE:esm",
|
|
22
|
-
"bundle:cjs": "rollup --config rollup.config.mjs --environment MODULE:cjs",
|
|
23
|
-
"bundle": "npm run bundle:esm && npm run bundle:cjs",
|
|
24
|
-
"docs:clean": "rimraf docs/reference",
|
|
25
|
-
"docs:generate": "typedoc",
|
|
26
|
-
"docs": "npm run docs:clean && npm run docs:generate",
|
|
27
|
-
"dist": "npm run clean && npm run build && npm run test && npm run bundle && npm run docs"
|
|
28
|
-
},
|
|
29
16
|
"dependencies": {
|
|
30
17
|
"@twin.org/core": "next",
|
|
31
18
|
"@twin.org/nameof": "next",
|
|
32
19
|
"@twin.org/web": "next"
|
|
33
20
|
},
|
|
34
|
-
"devDependencies": {
|
|
35
|
-
"@twin.org/nameof-transformer": "next",
|
|
36
|
-
"@vitest/coverage-v8": "2.1.1",
|
|
37
|
-
"@types/node": "22.5.5",
|
|
38
|
-
"copyfiles": "2.4.1",
|
|
39
|
-
"rimraf": "6.0.1",
|
|
40
|
-
"rollup": "4.22.0",
|
|
41
|
-
"rollup-plugin-typescript2": "0.36.0",
|
|
42
|
-
"ts-patch": "3.2.1",
|
|
43
|
-
"typedoc": "0.26.7",
|
|
44
|
-
"typedoc-plugin-markdown": "4.2.7",
|
|
45
|
-
"typescript": "5.6.2",
|
|
46
|
-
"vitest": "2.1.1"
|
|
47
|
-
},
|
|
48
21
|
"main": "./dist/cjs/index.cjs",
|
|
49
22
|
"module": "./dist/esm/index.mjs",
|
|
50
23
|
"types": "./dist/types/index.d.ts",
|
|
51
24
|
"exports": {
|
|
52
25
|
".": {
|
|
26
|
+
"types": "./dist/types/index.d.ts",
|
|
53
27
|
"require": "./dist/cjs/index.cjs",
|
|
54
|
-
"import": "./dist/esm/index.mjs"
|
|
55
|
-
"types": "./dist/types/index.d.ts"
|
|
28
|
+
"import": "./dist/esm/index.mjs"
|
|
56
29
|
}
|
|
57
30
|
},
|
|
58
31
|
"files": [
|