phantasma-sdk-ts 0.2.0-rc.11 → 0.2.0-rc.13

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.
Files changed (74) hide show
  1. package/dist/core/rpc/helpers/index.d.ts +2 -0
  2. package/dist/core/rpc/helpers/index.d.ts.map +1 -0
  3. package/dist/core/rpc/helpers/index.js +17 -0
  4. package/dist/core/rpc/helpers/vmSchemaHelpers.d.ts +5 -0
  5. package/dist/core/rpc/helpers/vmSchemaHelpers.d.ts.map +1 -0
  6. package/dist/core/rpc/helpers/vmSchemaHelpers.js +42 -0
  7. package/dist/core/rpc/index.d.ts +2 -1
  8. package/dist/core/rpc/index.d.ts.map +1 -1
  9. package/dist/core/rpc/index.js +2 -1
  10. package/dist/core/rpc/interfaces/CursorPaginatedResult.d.ts +5 -0
  11. package/dist/core/rpc/interfaces/CursorPaginatedResult.d.ts.map +1 -0
  12. package/dist/core/rpc/interfaces/CursorPaginatedResult.js +2 -0
  13. package/dist/core/rpc/interfaces/Token.d.ts +3 -0
  14. package/dist/core/rpc/interfaces/Token.d.ts.map +1 -1
  15. package/dist/core/rpc/interfaces/TokenData.d.ts +3 -1
  16. package/dist/core/rpc/interfaces/TokenData.d.ts.map +1 -1
  17. package/dist/core/rpc/interfaces/TokenPropertyResult.d.ts +5 -0
  18. package/dist/core/rpc/interfaces/TokenPropertyResult.d.ts.map +1 -0
  19. package/dist/core/rpc/interfaces/TokenPropertyResult.js +2 -0
  20. package/dist/core/rpc/interfaces/TokenSchemasResult.d.ts +7 -0
  21. package/dist/core/rpc/interfaces/TokenSchemasResult.d.ts.map +1 -0
  22. package/dist/core/rpc/interfaces/TokenSchemasResult.js +2 -0
  23. package/dist/core/rpc/interfaces/TokenSeriesResult.d.ts +15 -0
  24. package/dist/core/rpc/interfaces/TokenSeriesResult.d.ts.map +1 -0
  25. package/dist/core/rpc/interfaces/TokenSeriesResult.js +2 -0
  26. package/dist/core/rpc/interfaces/VmNamedVariableSchemaResult.d.ts +6 -0
  27. package/dist/core/rpc/interfaces/VmNamedVariableSchemaResult.d.ts.map +1 -0
  28. package/dist/core/rpc/interfaces/VmNamedVariableSchemaResult.js +2 -0
  29. package/dist/core/rpc/interfaces/VmStructSchemaResult.d.ts +6 -0
  30. package/dist/core/rpc/interfaces/VmStructSchemaResult.d.ts.map +1 -0
  31. package/dist/core/rpc/interfaces/VmStructSchemaResult.js +2 -0
  32. package/dist/core/rpc/interfaces/VmVariableSchemaResult.d.ts +6 -0
  33. package/dist/core/rpc/interfaces/VmVariableSchemaResult.d.ts.map +1 -0
  34. package/dist/core/rpc/interfaces/VmVariableSchemaResult.js +2 -0
  35. package/dist/core/rpc/interfaces/index.d.ts +7 -0
  36. package/dist/core/rpc/interfaces/index.d.ts.map +1 -1
  37. package/dist/core/rpc/interfaces/index.js +7 -0
  38. package/dist/core/rpc/phantasma.d.ts +4 -2
  39. package/dist/core/rpc/phantasma.d.ts.map +1 -1
  40. package/dist/core/rpc/phantasma.js +10 -5
  41. package/dist/core/types/Carbon/Blockchain/CarbonTokenFlags.d.ts +1 -1
  42. package/dist/core/types/Carbon/Blockchain/CarbonTokenFlags.d.ts.map +1 -1
  43. package/dist/core/types/Carbon/Blockchain/ModuleId.d.ts +1 -1
  44. package/dist/core/types/Carbon/Blockchain/ModuleId.d.ts.map +1 -1
  45. package/dist/core/types/Carbon/Blockchain/Modules/Builders/MetadataHelper.d.ts +15 -0
  46. package/dist/core/types/Carbon/Blockchain/Modules/Builders/MetadataHelper.d.ts.map +1 -0
  47. package/dist/core/types/Carbon/Blockchain/Modules/Builders/MetadataHelper.js +53 -0
  48. package/dist/core/types/Carbon/Blockchain/Modules/Builders/NftRomBuilder.d.ts +3 -2
  49. package/dist/core/types/Carbon/Blockchain/Modules/Builders/NftRomBuilder.d.ts.map +1 -1
  50. package/dist/core/types/Carbon/Blockchain/Modules/Builders/NftRomBuilder.js +23 -12
  51. package/dist/core/types/Carbon/Blockchain/Modules/Builders/SeriesInfoBuilder.d.ts +3 -1
  52. package/dist/core/types/Carbon/Blockchain/Modules/Builders/SeriesInfoBuilder.d.ts.map +1 -1
  53. package/dist/core/types/Carbon/Blockchain/Modules/Builders/SeriesInfoBuilder.js +3 -4
  54. package/dist/core/types/Carbon/Blockchain/Modules/Builders/TokenInfoBuilder.d.ts +2 -1
  55. package/dist/core/types/Carbon/Blockchain/Modules/Builders/TokenInfoBuilder.d.ts.map +1 -1
  56. package/dist/core/types/Carbon/Blockchain/Modules/Builders/TokenInfoBuilder.js +10 -2
  57. package/dist/core/types/Carbon/Blockchain/Modules/Builders/TokenMetadataBuilder.d.ts +1 -1
  58. package/dist/core/types/Carbon/Blockchain/Modules/Builders/TokenMetadataBuilder.d.ts.map +1 -1
  59. package/dist/core/types/Carbon/Blockchain/Modules/Builders/TokenMetadataBuilder.js +3 -0
  60. package/dist/core/types/Carbon/Blockchain/Modules/Builders/TokenSchemasBuilder.d.ts +23 -3
  61. package/dist/core/types/Carbon/Blockchain/Modules/Builders/TokenSchemasBuilder.d.ts.map +1 -1
  62. package/dist/core/types/Carbon/Blockchain/Modules/Builders/TokenSchemasBuilder.js +164 -28
  63. package/dist/core/types/Carbon/Blockchain/Modules/Builders/TokenSeriesMetadataBuilder.d.ts +3 -2
  64. package/dist/core/types/Carbon/Blockchain/Modules/Builders/TokenSeriesMetadataBuilder.d.ts.map +1 -1
  65. package/dist/core/types/Carbon/Blockchain/Modules/Builders/TokenSeriesMetadataBuilder.js +22 -8
  66. package/dist/core/types/Carbon/Blockchain/Modules/Builders/index.d.ts +1 -0
  67. package/dist/core/types/Carbon/Blockchain/Modules/Builders/index.d.ts.map +1 -1
  68. package/dist/core/types/Carbon/Blockchain/Modules/Builders/index.js +1 -0
  69. package/dist/core/types/Carbon/Blockchain/Vm/VmStructFlags.d.ts +1 -1
  70. package/dist/core/types/Carbon/Blockchain/Vm/VmStructFlags.d.ts.map +1 -1
  71. package/dist/core/types/Carbon/Blockchain/Vm/VmType.d.ts +2 -1
  72. package/dist/core/types/Carbon/Blockchain/Vm/VmType.d.ts.map +1 -1
  73. package/dist/core/types/Carbon/Blockchain/Vm/VmType.js +36 -1
  74. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export * from './vmSchemaHelpers';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./vmSchemaHelpers"), exports);
@@ -0,0 +1,5 @@
1
+ import { VmStructSchema, VmVariableSchema } from '../../types';
2
+ import { VmStructSchemaResult, VmVariableSchemaResult } from '../interfaces';
3
+ export declare function vmStructSchemaFromRpcResult(r: VmStructSchemaResult): VmStructSchema;
4
+ export declare function vmVariableSchemaFromRpcResult(v: VmVariableSchemaResult): VmVariableSchema;
5
+ //# sourceMappingURL=vmSchemaHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vmSchemaHelpers.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/helpers/vmSchemaHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,cAAc,EAA4B,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE7E,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,oBAAoB,GAAG,cAAc,CAenF;AAED,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,sBAAsB,GAAG,gBAAgB,CAazF"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.vmVariableSchemaFromRpcResult = exports.vmStructSchemaFromRpcResult = void 0;
4
+ const types_1 = require("../../types");
5
+ function vmStructSchemaFromRpcResult(r) {
6
+ const schema = new types_1.VmStructSchema();
7
+ schema.fields = [];
8
+ const fields = r?.fields ?? [];
9
+ for (const f of fields) {
10
+ const name = String(f?.name ?? '');
11
+ if (!name)
12
+ continue;
13
+ const t = f.schema?.type;
14
+ let vmType;
15
+ if (typeof t === 'number')
16
+ vmType = t;
17
+ else if (typeof t === 'string')
18
+ vmType = (0, types_1.vmTypeFromString)(t);
19
+ else
20
+ continue;
21
+ schema.fields.push(new types_1.VmNamedVariableSchema(name, vmType));
22
+ }
23
+ return schema;
24
+ }
25
+ exports.vmStructSchemaFromRpcResult = vmStructSchemaFromRpcResult;
26
+ function vmVariableSchemaFromRpcResult(v) {
27
+ const typeVal = v?.type;
28
+ let vmType;
29
+ if (typeof typeVal === 'number')
30
+ vmType = typeVal;
31
+ else if (typeof typeVal === 'string')
32
+ vmType = (0, types_1.vmTypeFromString)(typeVal);
33
+ else
34
+ throw new Error('Invalid VmVariableSchemaResult.type');
35
+ const vs = new types_1.VmVariableSchema(vmType);
36
+ // If nested struct schema is present, convert recursively
37
+ if (v.schema) {
38
+ vs.structure = vmStructSchemaFromRpcResult(v.schema);
39
+ }
40
+ return vs;
41
+ }
42
+ exports.vmVariableSchemaFromRpcResult = vmVariableSchemaFromRpcResult;
@@ -1,3 +1,4 @@
1
+ export * from './helpers';
2
+ export * from './interfaces';
1
3
  export * from './phantasma';
2
- export * from './interfaces/index';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/rpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/rpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -14,5 +14,6 @@ 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
+ __exportStar(require("./helpers"), exports);
18
+ __exportStar(require("./interfaces"), exports);
17
19
  __exportStar(require("./phantasma"), exports);
18
- __exportStar(require("./interfaces/index"), exports);
@@ -0,0 +1,5 @@
1
+ export interface CursorPaginatedResult<T> {
2
+ result?: T;
3
+ cursor?: string;
4
+ }
5
+ //# sourceMappingURL=CursorPaginatedResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CursorPaginatedResult.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/CursorPaginatedResult.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +1,7 @@
1
1
  import { TokenExternal } from './TokenExternal';
2
2
  import { TokenPrice } from './TokenPrice';
3
3
  import { TokenSeries } from './TokenSeries';
4
+ import type { TokenSchemasResult } from './TokenSchemasResult';
4
5
  export interface Token {
5
6
  symbol: string;
6
7
  name: string;
@@ -13,6 +14,8 @@ export interface Token {
13
14
  flags: string;
14
15
  script: string;
15
16
  series: Array<TokenSeries>;
17
+ carbonId: string;
18
+ tokenSchemas?: TokenSchemasResult;
16
19
  external?: Array<TokenExternal>;
17
20
  price?: Array<TokenPrice>;
18
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Token.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/Token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC3B"}
1
+ {"version":3,"file":"Token.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/Token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC3B"}
@@ -1,3 +1,4 @@
1
+ import type { TokenPropertyResult } from './TokenPropertyResult';
1
2
  export interface TokenData {
2
3
  ID: string;
3
4
  series: string;
@@ -8,6 +9,7 @@ export interface TokenData {
8
9
  ram: string;
9
10
  rom: string;
10
11
  status: string;
11
- forSale: boolean;
12
+ infusion: TokenPropertyResult[];
13
+ properties: TokenPropertyResult[];
12
14
  }
13
15
  //# sourceMappingURL=TokenData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenData.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/TokenData.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB"}
1
+ {"version":3,"file":"TokenData.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/TokenData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC"}
@@ -0,0 +1,5 @@
1
+ export interface TokenPropertyResult {
2
+ key: string;
3
+ value: string;
4
+ }
5
+ //# sourceMappingURL=TokenPropertyResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenPropertyResult.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/TokenPropertyResult.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import type { VmStructSchemaResult } from './VmStructSchemaResult';
2
+ export interface TokenSchemasResult {
3
+ seriesMetadata: VmStructSchemaResult;
4
+ rom: VmStructSchemaResult;
5
+ ram: VmStructSchemaResult;
6
+ }
7
+ //# sourceMappingURL=TokenSchemasResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenSchemasResult.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/TokenSchemasResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,oBAAoB,CAAC;IACrC,GAAG,EAAE,oBAAoB,CAAC;IAC1B,GAAG,EAAE,oBAAoB,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ import type { ABIMethod } from './ABIMethod';
2
+ import type { TokenPropertyResult } from './TokenPropertyResult';
3
+ export interface TokenSeriesResult {
4
+ seriesId: string;
5
+ carbonTokenId: string;
6
+ carbonSeriesId: number;
7
+ currentSupply: string;
8
+ maxSupply: string;
9
+ burnedSupply: string;
10
+ mode: string;
11
+ script: string;
12
+ methods: ABIMethod[];
13
+ metadata: TokenPropertyResult[];
14
+ }
15
+ //# sourceMappingURL=TokenSeriesResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenSeriesResult.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/TokenSeriesResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ import type { VmVariableSchemaResult } from './VmVariableSchemaResult';
2
+ export interface VmNamedVariableSchemaResult {
3
+ name: string;
4
+ schema: VmVariableSchemaResult;
5
+ }
6
+ //# sourceMappingURL=VmNamedVariableSchemaResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VmNamedVariableSchemaResult.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/VmNamedVariableSchemaResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,sBAAsB,CAAC;CAChC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ import type { VmNamedVariableSchemaResult } from './VmNamedVariableSchemaResult';
2
+ export interface VmStructSchemaResult {
3
+ fields: VmNamedVariableSchemaResult[];
4
+ flags: number;
5
+ }
6
+ //# sourceMappingURL=VmStructSchemaResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VmStructSchemaResult.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/VmStructSchemaResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,2BAA2B,EAAE,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ import type { VmStructSchemaResult } from './VmStructSchemaResult';
2
+ export interface VmVariableSchemaResult {
3
+ type: string;
4
+ schema?: VmStructSchemaResult;
5
+ }
6
+ //# sourceMappingURL=VmVariableSchemaResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VmVariableSchemaResult.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/VmVariableSchemaResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -39,4 +39,11 @@ export * from './TokenPrice';
39
39
  export * from './TokenSeries';
40
40
  export * from './TransactionData';
41
41
  export * from './Validator';
42
+ export * from './CursorPaginatedResult';
43
+ export * from './TokenPropertyResult';
44
+ export * from './TokenSeriesResult';
45
+ export * from './TokenSchemasResult';
46
+ export * from './VmNamedVariableSchemaResult';
47
+ export * from './VmStructSchemaResult';
48
+ export * from './VmVariableSchemaResult';
42
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/rpc/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC"}
@@ -55,3 +55,10 @@ __exportStar(require("./TokenPrice"), exports);
55
55
  __exportStar(require("./TokenSeries"), exports);
56
56
  __exportStar(require("./TransactionData"), exports);
57
57
  __exportStar(require("./Validator"), exports);
58
+ __exportStar(require("./CursorPaginatedResult"), exports);
59
+ __exportStar(require("./TokenPropertyResult"), exports);
60
+ __exportStar(require("./TokenSeriesResult"), exports);
61
+ __exportStar(require("./TokenSchemasResult"), exports);
62
+ __exportStar(require("./VmNamedVariableSchemaResult"), exports);
63
+ __exportStar(require("./VmStructSchemaResult"), exports);
64
+ __exportStar(require("./VmVariableSchemaResult"), exports);
@@ -22,6 +22,7 @@ import { Peer } from './interfaces/Peer';
22
22
  import { Validator } from './interfaces/Validator';
23
23
  import { Swap } from './interfaces/Swap';
24
24
  import { NFT } from './interfaces/NFT';
25
+ import { CursorPaginatedResult, TokenSeriesResult } from './interfaces';
25
26
  export declare class PhantasmaAPI {
26
27
  host: string;
27
28
  rpcName: string;
@@ -66,9 +67,10 @@ export declare class PhantasmaAPI {
66
67
  getOrganizations(extended?: boolean): Promise<Organization[]>;
67
68
  getLeaderboard(name: string): Promise<Leaderboard>;
68
69
  getTokens(ownerAddress: string | undefined | null, extended?: boolean): Promise<Token[]>;
69
- getToken(symbol: string, extended?: boolean): Promise<Token>;
70
+ getToken(symbol: string, extended?: boolean, carbonTokenId?: bigint): Promise<Token>;
70
71
  getTokenData(symbol: string, IDtext: string): Promise<TokenData>;
71
- getTokenBalance(account: string, tokenSymbol: string, chainInput: string): Promise<Balance>;
72
+ getTokenBalance(account: string, tokenSymbol: string, chainInput: string, checkAddressResevedByte?: boolean): Promise<Balance>;
73
+ getTokenSeries(symbol: string, carbonTokenId: bigint, pageSize?: number, cursor?: string): Promise<CursorPaginatedResult<TokenSeriesResult>>;
72
74
  getAuctionsCount(chainAddressOrName: string, symbol: string): Promise<number>;
73
75
  getAuctions(chainAddressOrName: string, symbol: string, page: number, pageSize: number): Promise<Auction>;
74
76
  getAuction(chainAddressOrName: string, symbol: string, IDtext: string): Promise<Auction>;
@@ -1 +1 @@
1
- {"version":3,"file":"phantasma.d.ts","sourceRoot":"","sources":["../../../src/core/rpc/phantasma.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phantasma.d.ts","sourceRoot":"","sources":["../../../src/core/rpc/phantasma.ts"],"names":[],"mappings":"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"}
@@ -262,12 +262,12 @@ class PhantasmaAPI {
262
262
  }
263
263
  //Returns an array of tokens deployed in Phantasma.
264
264
  async getTokens(ownerAddress, extended = true) {
265
- let params = [ownerAddress, extended];
265
+ let params = [extended, ownerAddress];
266
266
  return (await this.JSONRPC('getTokens', params));
267
267
  }
268
268
  //Returns info about a specific token deployed in Phantasma.
269
- async getToken(symbol, extended = true) {
270
- let params = [symbol, extended];
269
+ async getToken(symbol, extended = true, carbonTokenId = 0n) {
270
+ let params = [symbol, extended, carbonTokenId.toString()];
271
271
  return (await this.JSONRPC('getToken', params));
272
272
  }
273
273
  //Returns data of a non-fungible token, in hexadecimal format.
@@ -276,10 +276,15 @@ class PhantasmaAPI {
276
276
  return (await this.JSONRPC('getTokenData', params));
277
277
  }
278
278
  //Returns the balance for a specific token and chain, given an address.
279
- async getTokenBalance(account, tokenSymbol, chainInput) {
280
- let params = [account, tokenSymbol, chainInput];
279
+ async getTokenBalance(account, tokenSymbol, chainInput, checkAddressResevedByte = true) {
280
+ let params = [account, tokenSymbol, chainInput, checkAddressResevedByte];
281
281
  return (await this.JSONRPC('getTokenBalance', params));
282
282
  }
283
+ //Returns series for specified token.
284
+ async getTokenSeries(symbol, carbonTokenId, pageSize = 10, cursor = "") {
285
+ let params = [symbol, carbonTokenId.toString(), pageSize, cursor];
286
+ return (await this.JSONRPC('getTokenSeries', params));
287
+ }
283
288
  //Returns the number of active auctions.
284
289
  async getAuctionsCount(chainAddressOrName, symbol) {
285
290
  let params = [chainAddressOrName, symbol];
@@ -1,4 +1,4 @@
1
- export declare const enum CarbonTokenFlags {
1
+ export declare enum CarbonTokenFlags {
2
2
  None = 0,
3
3
  BigFungible = 1,
4
4
  NonFungible = 2
@@ -1 +1 @@
1
- {"version":3,"file":"CarbonTokenFlags.d.ts","sourceRoot":"","sources":["../../../../../src/core/types/Carbon/Blockchain/CarbonTokenFlags.ts"],"names":[],"mappings":"AAAA,0BAAkB,gBAAgB;IAChC,IAAI,IAAI;IACR,WAAW,IAAS;IACpB,WAAW,IAAS;CACrB"}
1
+ {"version":3,"file":"CarbonTokenFlags.d.ts","sourceRoot":"","sources":["../../../../../src/core/types/Carbon/Blockchain/CarbonTokenFlags.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,IAAI,IAAI;IACR,WAAW,IAAS;IACpB,WAAW,IAAS;CACrB"}
@@ -1,4 +1,4 @@
1
- export declare const enum ModuleId {
1
+ export declare enum ModuleId {
2
2
  Governance = 0,
3
3
  Token = 1,
4
4
  PhantasmaVm = 2,
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleId.d.ts","sourceRoot":"","sources":["../../../../../src/core/types/Carbon/Blockchain/ModuleId.ts"],"names":[],"mappings":"AAAA,0BAAkB,QAAQ;IACxB,UAAU,IAAI;IACd,KAAK,IAAI;IACT,WAAW,IAAI;IACf,YAAY,IAAI;CACjB"}
1
+ {"version":3,"file":"ModuleId.d.ts","sourceRoot":"","sources":["../../../../../src/core/types/Carbon/Blockchain/ModuleId.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,UAAU,IAAI;IACd,KAAK,IAAI;IACT,WAAW,IAAI;IACf,YAAY,IAAI;CACjB"}
@@ -0,0 +1,15 @@
1
+ import { VmDynamicStruct, VmNamedVariableSchema, VmType } from "../../Vm";
2
+ export declare class MetadataField {
3
+ name: string;
4
+ value: string | number | Uint8Array | bigint;
5
+ }
6
+ export declare class FieldType {
7
+ name: string;
8
+ type: VmType;
9
+ }
10
+ export declare const seriesDefaultMetadataFields: readonly FieldType[];
11
+ export declare const nftDefaultMetadataFields: readonly FieldType[];
12
+ export declare const standardMetadataFields: readonly FieldType[];
13
+ export declare function findMetadataField(fields: MetadataField[], name: string): MetadataField;
14
+ export declare function pushMetadataField(fieldSchema: VmNamedVariableSchema, metadata: VmDynamicStruct, metadataFields: MetadataField[]): void;
15
+ //# sourceMappingURL=MetadataHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetadataHelper.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/MetadataHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA0B,qBAAqB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlG,qBAAa,aAAa;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;CAC9C;AAED,qBAAa,SAAS;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,2BAA2B,EAAE,SAAS,SAAS,EAIlD,CAAC;AAEX,eAAO,MAAM,wBAAwB,EAAE,SAAS,SAAS,EAG/C,CAAC;AAEX,eAAO,MAAM,sBAAsB,EAAE,SAAS,SAAS,EAM7C,CAAC;AAEX,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAEtF;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI,CAmBtI"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pushMetadataField = exports.findMetadataField = exports.standardMetadataFields = exports.nftDefaultMetadataFields = exports.seriesDefaultMetadataFields = exports.FieldType = exports.MetadataField = void 0;
4
+ const Vm_1 = require("../../Vm");
5
+ const StandardMeta_1 = require("../StandardMeta");
6
+ class MetadataField {
7
+ }
8
+ exports.MetadataField = MetadataField;
9
+ class FieldType {
10
+ }
11
+ exports.FieldType = FieldType;
12
+ exports.seriesDefaultMetadataFields = [
13
+ { name: StandardMeta_1.StandardMeta.id.data, type: Vm_1.VmType.Int256 },
14
+ { name: 'mode', type: Vm_1.VmType.Int8 },
15
+ { name: 'rom', type: Vm_1.VmType.Bytes }
16
+ ];
17
+ exports.nftDefaultMetadataFields = [
18
+ { name: StandardMeta_1.StandardMeta.id.data, type: Vm_1.VmType.Int256 },
19
+ { name: 'rom', type: Vm_1.VmType.Bytes }
20
+ ];
21
+ exports.standardMetadataFields = [
22
+ { name: 'name', type: Vm_1.VmType.String },
23
+ { name: 'description', type: Vm_1.VmType.String },
24
+ { name: 'imageURL', type: Vm_1.VmType.String },
25
+ { name: 'infoURL', type: Vm_1.VmType.String },
26
+ { name: 'royalties', type: Vm_1.VmType.Int32 }
27
+ ];
28
+ function findMetadataField(fields, name) {
29
+ return fields.find(f => f.name.toLowerCase() === name.toLowerCase());
30
+ }
31
+ exports.findMetadataField = findMetadataField;
32
+ function pushMetadataField(fieldSchema, metadata, metadataFields) {
33
+ let found = metadataFields.find(f => f.name === fieldSchema.name.data);
34
+ if (!found) {
35
+ found = metadataFields.find(f => f.name.toLowerCase() === fieldSchema.name.data.toLowerCase());
36
+ if (found) {
37
+ throw Error(`Metadata field '${fieldSchema.name.data}' provided in incorrect case: '${found.name}'`);
38
+ }
39
+ throw Error(`Metadata field '${fieldSchema.name.data}' is mandatory`);
40
+ }
41
+ if (fieldSchema.schema.type === Vm_1.VmType.String && typeof found.value === "string") {
42
+ if (found.value && found.value.trim().length != 0) {
43
+ metadata.fields.push(Vm_1.VmNamedDynamicVariable.from(fieldSchema.name, fieldSchema.schema.type, found.value));
44
+ }
45
+ else {
46
+ throw Error(`Metadata field '${fieldSchema.name.data}' is mandatory`);
47
+ }
48
+ }
49
+ else {
50
+ metadata.fields.push(Vm_1.VmNamedDynamicVariable.from(fieldSchema.name, fieldSchema.schema.type, found.value));
51
+ }
52
+ }
53
+ exports.pushMetadataField = pushMetadataField;
@@ -1,5 +1,6 @@
1
- import { TokenSchemas } from '../TokenSchemas';
1
+ import { VmStructSchema } from '../../Vm';
2
+ import { MetadataField } from './MetadataHelper';
2
3
  export declare class NftRomBuilder {
3
- static buildAndSerialize(phantasmaNftId: bigint, name: string, description: string, imageURL: string, infoURL: string, royalties: number, rom: Uint8Array, tokenSchemas?: TokenSchemas): Uint8Array;
4
+ static buildAndSerialize(nftRomSchema: VmStructSchema, phantasmaNftId: bigint, metadata: MetadataField[]): Uint8Array;
4
5
  }
5
6
  //# sourceMappingURL=NftRomBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NftRomBuilder.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/NftRomBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,qBAAa,aAAa;IACxB,MAAM,CAAC,iBAAiB,CACtB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,UAAU,EACf,YAAY,CAAC,EAAE,YAAY,GAC1B,UAAU;CAmBd"}
1
+ {"version":3,"file":"NftRomBuilder.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/NftRomBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAA2C,cAAc,EAAU,MAAM,UAAU,CAAC;AAE3F,OAAO,EAAqB,aAAa,EAA+C,MAAM,kBAAkB,CAAC;AAEjH,qBAAa,aAAa;IACxB,MAAM,CAAC,iBAAiB,CACtB,YAAY,EAAE,cAAc,EAC5B,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,aAAa,EAAE,GACxB,UAAU;CAoCd"}
@@ -4,22 +4,33 @@ exports.NftRomBuilder = void 0;
4
4
  const CarbonSerialization_1 = require("../../../../CarbonSerialization");
5
5
  const Vm_1 = require("../../Vm");
6
6
  const StandardMeta_1 = require("../StandardMeta");
7
- const TokenSchemasBuilder_1 = require("./TokenSchemasBuilder");
7
+ const MetadataHelper_1 = require("./MetadataHelper");
8
8
  class NftRomBuilder {
9
- static buildAndSerialize(phantasmaNftId, name, description, imageURL, infoURL, royalties, rom, tokenSchemas) {
10
- tokenSchemas = tokenSchemas || TokenSchemasBuilder_1.TokenSchemasBuilder.prepareStandardTokenSchemas();
9
+ static buildAndSerialize(nftRomSchema, phantasmaNftId, metadata) {
11
10
  const wRom = new CarbonSerialization_1.CarbonBinaryWriter();
12
- const vmDynamicStruct = new Vm_1.VmDynamicStruct();
13
- vmDynamicStruct.fields = [
11
+ const romField = (0, MetadataHelper_1.findMetadataField)(metadata, 'rom');
12
+ let rom;
13
+ if (romField) {
14
+ if (!(romField.value instanceof Uint8Array)) {
15
+ throw Error("'rom' must be a byte array");
16
+ }
17
+ rom = romField.value;
18
+ }
19
+ const nftRom = new Vm_1.VmDynamicStruct();
20
+ nftRom.fields = [
14
21
  Vm_1.VmNamedDynamicVariable.from(StandardMeta_1.StandardMeta.id, Vm_1.VmType.Int256, phantasmaNftId),
15
- Vm_1.VmNamedDynamicVariable.from('name', Vm_1.VmType.String, name),
16
- Vm_1.VmNamedDynamicVariable.from('description', Vm_1.VmType.String, description),
17
- Vm_1.VmNamedDynamicVariable.from('imageURL', Vm_1.VmType.String, imageURL),
18
- Vm_1.VmNamedDynamicVariable.from('infoURL', Vm_1.VmType.String, infoURL),
19
- Vm_1.VmNamedDynamicVariable.from('royalties', Vm_1.VmType.Int32, royalties),
20
- Vm_1.VmNamedDynamicVariable.from('rom', Vm_1.VmType.Bytes, rom),
22
+ Vm_1.VmNamedDynamicVariable.from('rom', Vm_1.VmType.Bytes, rom ? rom : [])
21
23
  ];
22
- vmDynamicStruct.writeWithSchema(tokenSchemas.rom, wRom);
24
+ nftRomSchema.fields.forEach(s => {
25
+ // We don't verify default fields here, they are treated differently
26
+ // in the code above.
27
+ if (!MetadataHelper_1.nftDefaultMetadataFields.some(df => df.name === s.name.data)) {
28
+ (0, MetadataHelper_1.pushMetadataField)(s, nftRom, metadata);
29
+ }
30
+ });
31
+ nftRom.writeWithSchema(nftRomSchema, wRom);
32
+ // console.log("nftRom.fields.length: ", nftRom.fields.length);
33
+ // TokenSchemasBuilder.logSchema(nftRomSchema);
23
34
  return wRom.toUint8Array();
24
35
  }
25
36
  }
@@ -1,6 +1,8 @@
1
1
  import { Bytes32 } from '../../../Bytes32';
2
+ import { VmStructSchema } from '../../Vm';
2
3
  import { SeriesInfo } from '../SeriesInfo';
4
+ import { MetadataField } from './MetadataHelper';
3
5
  export declare class SeriesInfoBuilder {
4
- static build(phantasmaSeriesId: bigint, maxMint: number, maxSupply: number, ownerPublicKey: Bytes32, sharedRom: Uint8Array, metadata?: Uint8Array): SeriesInfo;
6
+ static build(seriesSchema: VmStructSchema, phantasmaSeriesId: bigint, maxMint: number, maxSupply: number, ownerPublicKey: Bytes32, metadata: MetadataField[]): SeriesInfo;
5
7
  }
6
8
  //# sourceMappingURL=SeriesInfoBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SeriesInfoBuilder.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/SeriesInfoBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,KAAK,CACV,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,UAAU,EACrB,QAAQ,CAAC,EAAE,UAAU,GACpB,UAAU;CAad"}
1
+ {"version":3,"file":"SeriesInfoBuilder.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/SeriesInfoBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,KAAK,CACV,YAAY,EAAE,cAAc,EAC5B,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,OAAO,EACvB,QAAQ,EAAE,aAAa,EAAE,GACxB,UAAU;CAgBd"}
@@ -5,14 +5,13 @@ const Vm_1 = require("../../Vm");
5
5
  const SeriesInfo_1 = require("../SeriesInfo");
6
6
  const TokenSeriesMetadataBuilder_1 = require("./TokenSeriesMetadataBuilder");
7
7
  class SeriesInfoBuilder {
8
- static build(phantasmaSeriesId, maxMint, maxSupply, ownerPublicKey, sharedRom, metadata) {
9
- metadata =
10
- metadata || TokenSeriesMetadataBuilder_1.TokenSeriesMetadataBuilder.buildAndSerialize(phantasmaSeriesId, sharedRom, null);
8
+ static build(seriesSchema, phantasmaSeriesId, maxMint, maxSupply, ownerPublicKey, metadata) {
9
+ const serializedMetadata = TokenSeriesMetadataBuilder_1.TokenSeriesMetadataBuilder.buildAndSerialize(seriesSchema, phantasmaSeriesId, metadata);
11
10
  return new SeriesInfo_1.SeriesInfo({
12
11
  maxMint: maxMint,
13
12
  maxSupply: maxSupply,
14
13
  owner: ownerPublicKey,
15
- metadata: metadata,
14
+ metadata: serializedMetadata,
16
15
  rom: new Vm_1.VmStructSchema(),
17
16
  ram: new Vm_1.VmStructSchema(),
18
17
  });
@@ -1,8 +1,9 @@
1
1
  import { Bytes32 } from '../../../Bytes32';
2
2
  import { IntX } from '../../../IntX';
3
3
  import { TokenInfo } from '../TokenInfo';
4
+ import { TokenSchemas } from '../TokenSchemas';
4
5
  export declare class TokenInfoBuilder {
5
- static build(symbol: string, maxSupply: IntX, isNFT: boolean, decimals: number, creatorPublicKey: Bytes32, metadata?: Uint8Array, tokenSchemas?: Uint8Array): TokenInfo;
6
+ static build(symbol: string, maxSupply: IntX, isNFT: boolean, decimals: number, creatorPublicKey: Bytes32, metadata?: Uint8Array | null | undefined, tokenSchemas?: TokenSchemas | null | undefined): TokenInfo;
6
7
  static maxSymbolLength: number;
7
8
  /**
8
9
  * Mirrors carbon::CheckIsValidSymbol from contracts/token.cpp.
@@ -1 +1 @@
1
- {"version":3,"file":"TokenInfoBuilder.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/TokenInfoBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,KAAK,CACV,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,OAAO,EACzB,QAAQ,CAAC,EAAE,UAAU,EACrB,YAAY,CAAC,EAAE,UAAU,GACxB,SAAS;IA8BZ,MAAM,CAAC,eAAe,EAAE,MAAM,CAAO;IACrC;;;MAGE;IACF,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAC;CAkB/E"}
1
+ {"version":3,"file":"TokenInfoBuilder.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/TokenInfoBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,KAAK,CACV,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,OAAO,EACzB,QAAQ,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACxC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,GAC7C,SAAS;IAwCZ,MAAM,CAAC,eAAe,EAAE,MAAM,CAAO;IACrC;;;MAGE;IACF,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;CAkBjF"}
@@ -28,8 +28,16 @@ class TokenInfoBuilder {
28
28
  tokenInfo.decimals = decimals;
29
29
  tokenInfo.owner = creatorPublicKey;
30
30
  tokenInfo.symbol = new SmallString_1.SmallString(symbol);
31
- tokenInfo.metadata = metadata;
32
- tokenInfo.tokenSchemas = tokenSchemas || TokenSchemasBuilder_1.TokenSchemasBuilder.buildAndSerialize();
31
+ if (isNFT) {
32
+ if (!metadata) {
33
+ throw new Error('metadata is required for NFTs');
34
+ }
35
+ tokenInfo.metadata = metadata;
36
+ if (!tokenSchemas) {
37
+ throw new Error('tokenSchemas is required for NFTs');
38
+ }
39
+ tokenInfo.tokenSchemas = TokenSchemasBuilder_1.TokenSchemasBuilder.serialize(tokenSchemas);
40
+ }
33
41
  return tokenInfo;
34
42
  }
35
43
  /**
@@ -1,7 +1,7 @@
1
1
  export declare class TokenMetadataBuilder {
2
2
  private static readonly iconDataUriPrefixPattern;
3
3
  private static readonly base64PayloadPattern;
4
- static buildAndSerialize(fields?: Record<string, string>): Uint8Array;
4
+ static buildAndSerialize(fields?: Record<string, unknown>): Uint8Array;
5
5
  private static validateIcon;
6
6
  }
7
7
  //# sourceMappingURL=TokenMetadataBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenMetadataBuilder.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/TokenMetadataBuilder.ts"],"names":[],"mappings":"AAGA,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CACF;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAA4B;IAExE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,UAAU;IA8BrE,OAAO,CAAC,MAAM,CAAC,YAAY;CAiC5B"}
1
+ {"version":3,"file":"TokenMetadataBuilder.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/TokenMetadataBuilder.ts"],"names":[],"mappings":"AAGA,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CACF;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAA4B;IAExE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU;IAkCtE,OAAO,CAAC,MAAM,CAAC,YAAY;CAiC5B"}
@@ -9,6 +9,9 @@ class TokenMetadataBuilder {
9
9
  if (!fields || Object.keys(fields).length < requiredFields.length) {
10
10
  throw new Error('Token metadata is mandatory');
11
11
  }
12
+ if (Object.values(fields).some(v => typeof v !== 'string')) {
13
+ throw new Error('All metadata fields must be strings');
14
+ }
12
15
  const missing = requiredFields.filter(field => typeof fields[field] !== 'string' || fields[field].trim() === '');
13
16
  if (missing.length > 0) {
14
17
  throw new Error(`Token metadata is missing required fields: ${missing.join(', ')}`);
@@ -1,7 +1,27 @@
1
+ import { VmStructSchema } from '../../Vm/VmStructSchema';
1
2
  import { TokenSchemas } from '../TokenSchemas';
3
+ import { FieldType } from './MetadataHelper';
4
+ export declare class TokenSchemasJson {
5
+ seriesMetadata: FieldType[];
6
+ rom: FieldType[];
7
+ ram: FieldType[];
8
+ }
9
+ export declare function parseTokenSchemasJson(json: string): TokenSchemasJson;
2
10
  export declare class TokenSchemasBuilder {
3
- static prepareStandardTokenSchemas(): TokenSchemas;
4
- static buildAndSerialize(tokenSchemas?: TokenSchemas): Uint8Array;
5
- static buildAndSerializeHex(tokenSchemas?: TokenSchemas): string;
11
+ private static assertMetadataField;
12
+ private static defaultSeriesSchema;
13
+ private static defaultNftRomSchema;
14
+ private static seriesSchemaFromFieldTypes;
15
+ private static nftRomSchemaFromFieldTypes;
16
+ private static nftRamSchemaFromFieldTypes;
17
+ static prepareStandard(sharedMetadata: boolean): TokenSchemas;
18
+ static fromJson(json: string): TokenSchemas;
19
+ static verify(schemas: TokenSchemas): Readonly<{
20
+ ok: boolean;
21
+ error: string | null;
22
+ }>;
23
+ static serialize(tokenSchemas: TokenSchemas): Readonly<Uint8Array>;
24
+ static serializeHex(tokenSchemas: TokenSchemas): Readonly<string>;
25
+ static logSchema(schema: VmStructSchema): void;
6
26
  }
7
27
  //# sourceMappingURL=TokenSchemasBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenSchemasBuilder.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/TokenSchemasBuilder.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,mBAAmB;IAC9B,MAAM,CAAC,2BAA2B,IAAI,YAAY;IAkClD,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,UAAU;IASjE,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,MAAM;CAKjE"}
1
+ {"version":3,"file":"TokenSchemasBuilder.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/TokenSchemasBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAiF,MAAM,kBAAkB,CAAC;AAE5H,qBAAa,gBAAgB;IAC3B,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,GAAG,EAAE,SAAS,EAAE,CAAC;IACjB,GAAG,EAAE,SAAS,EAAE,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAkBpE;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA0BlC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAoBlC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAqBlC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAkBzC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAkBzC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAiBzC,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,GAAG,YAAY;IAe7D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAgB3C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,QAAQ,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAmBrF,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC;IAOlE,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;IAIjE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc;CAGxC"}
@@ -1,52 +1,188 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TokenSchemasBuilder = void 0;
3
+ exports.TokenSchemasBuilder = exports.parseTokenSchemasJson = exports.TokenSchemasJson = void 0;
4
4
  const utils_1 = require("../../../../../utils");
5
5
  const CarbonSerialization_1 = require("../../../../CarbonSerialization");
6
6
  const VmNamedVariableSchema_1 = require("../../Vm/VmNamedVariableSchema");
7
7
  const VmStructSchema_1 = require("../../Vm/VmStructSchema");
8
8
  const VmType_1 = require("../../Vm/VmType");
9
- const StandardMeta_1 = require("../StandardMeta");
10
9
  const TokenSchemas_1 = require("../TokenSchemas");
10
+ const MetadataHelper_1 = require("./MetadataHelper");
11
+ class TokenSchemasJson {
12
+ }
13
+ exports.TokenSchemasJson = TokenSchemasJson;
14
+ function parseTokenSchemasJson(json) {
15
+ const raw = JSON.parse(json);
16
+ const pickArray = (k) => {
17
+ const arr = raw[k];
18
+ if (!Array.isArray(arr))
19
+ throw new Error(`${k} must be an array`);
20
+ return arr.map((it) => {
21
+ if (typeof it?.name !== 'string')
22
+ throw new Error(`${k} field name must be string`);
23
+ if (typeof it?.type !== 'string')
24
+ throw new Error(`${k} field type must be string`);
25
+ return { name: it.name, type: (0, VmType_1.vmTypeFromString)(it.type) };
26
+ });
27
+ };
28
+ return {
29
+ seriesMetadata: pickArray('seriesMetadata'),
30
+ rom: pickArray('rom'),
31
+ ram: pickArray('ram'),
32
+ };
33
+ }
34
+ exports.parseTokenSchemasJson = parseTokenSchemasJson;
11
35
  class TokenSchemasBuilder {
12
- static prepareStandardTokenSchemas() {
13
- // Serie metadata schema
14
- const seriesSchema = new VmStructSchema_1.VmStructSchema();
15
- seriesSchema.fields = [];
36
+ static assertMetadataField(schemas, fieldTypes) {
37
+ fieldTypes.forEach(fieldType => {
38
+ let fieldIsFound = false;
39
+ schemas.forEach(schema => {
40
+ const found = schema.fields.find(x => x.name.data === fieldType.name);
41
+ if (found != undefined) {
42
+ if (found.schema.type != fieldType.type) {
43
+ return { ok: false, error: `Type mismatch for ${fieldType.name} field, must be ${found.schema.type} instead of ${fieldType}` };
44
+ }
45
+ fieldIsFound = true;
46
+ }
47
+ else {
48
+ const found2 = schema.fields.find(x => x.name.data.toLowerCase() === fieldType.name.toLowerCase());
49
+ if (found2 != undefined) {
50
+ return { ok: false, error: `Case mismatch for ${fieldType.name} field, must be ${found2.name}` };
51
+ }
52
+ }
53
+ });
54
+ if (!fieldIsFound) {
55
+ return { ok: false, error: `Mandatory metadata field not found: ${fieldType.name}` };
56
+ }
57
+ });
58
+ return { ok: true, error: null };
59
+ }
60
+ static defaultSeriesSchema(sharedMetadata) {
61
+ // Series metadata schema
62
+ const schema = new VmStructSchema_1.VmStructSchema();
63
+ schema.fields = [];
16
64
  {
17
- seriesSchema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema(StandardMeta_1.StandardMeta.id, VmType_1.VmType.Int256));
18
- seriesSchema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema('mode', VmType_1.VmType.Int8));
19
- seriesSchema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema('rom', VmType_1.VmType.Bytes));
65
+ // Default fields
66
+ MetadataHelper_1.seriesDefaultMetadataFields.forEach(f => {
67
+ schema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema(f.name, f.type));
68
+ });
69
+ if (sharedMetadata) {
70
+ MetadataHelper_1.standardMetadataFields.forEach(f => {
71
+ schema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema(f.name, f.type));
72
+ });
73
+ }
20
74
  }
21
- // NFT's ROM schema
22
- const romSchema = new VmStructSchema_1.VmStructSchema();
23
- romSchema.fields = [];
75
+ return schema;
76
+ }
77
+ static defaultNftRomSchema(sharedMetadata) {
78
+ // NFT ROM schema
79
+ const schema = new VmStructSchema_1.VmStructSchema();
80
+ schema.fields = [];
81
+ {
82
+ // Default fields
83
+ MetadataHelper_1.nftDefaultMetadataFields.forEach(f => {
84
+ schema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema(f.name, f.type));
85
+ });
86
+ if (!sharedMetadata) {
87
+ // They are default for all NFTs
88
+ MetadataHelper_1.standardMetadataFields.forEach(f => {
89
+ schema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema(f.name, f.type));
90
+ });
91
+ }
92
+ }
93
+ return schema;
94
+ }
95
+ static seriesSchemaFromFieldTypes(fieldTypes) {
96
+ // Series metadata schema
97
+ const schema = new VmStructSchema_1.VmStructSchema();
98
+ schema.fields = [];
99
+ {
100
+ // Default fields. Adding them always
101
+ MetadataHelper_1.seriesDefaultMetadataFields.forEach(f => {
102
+ schema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema(f.name, f.type));
103
+ });
104
+ fieldTypes.forEach(f => {
105
+ schema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema(f.name, f.type));
106
+ });
107
+ }
108
+ return schema;
109
+ }
110
+ static nftRomSchemaFromFieldTypes(fieldTypes) {
111
+ // NFT ROM schema
112
+ const schema = new VmStructSchema_1.VmStructSchema();
113
+ schema.fields = [];
114
+ {
115
+ // Default fields. Adding them always
116
+ MetadataHelper_1.nftDefaultMetadataFields.forEach(f => {
117
+ schema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema(f.name, f.type));
118
+ });
119
+ fieldTypes.forEach(f => {
120
+ schema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema(f.name, f.type));
121
+ });
122
+ }
123
+ return schema;
124
+ }
125
+ static nftRamSchemaFromFieldTypes(fieldTypes) {
126
+ if (fieldTypes.length == 0) {
127
+ return new VmStructSchema_1.VmStructSchema([], VmStructSchema_1.VmStructSchema.Flags.DynamicExtras);
128
+ }
129
+ // RAM schema
130
+ const schema = new VmStructSchema_1.VmStructSchema();
131
+ schema.fields = [];
24
132
  {
25
- romSchema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema(StandardMeta_1.StandardMeta.id, VmType_1.VmType.Int256));
26
- romSchema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema('rom', VmType_1.VmType.Bytes));
27
- romSchema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema('name', VmType_1.VmType.String));
28
- romSchema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema('description', VmType_1.VmType.String));
29
- romSchema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema('imageURL', VmType_1.VmType.String));
30
- romSchema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema('infoURL', VmType_1.VmType.String));
31
- romSchema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema('royalties', VmType_1.VmType.Int32));
133
+ fieldTypes.forEach(f => {
134
+ schema.fields.push(new VmNamedVariableSchema_1.VmNamedVariableSchema(f.name, f.type));
135
+ });
32
136
  }
137
+ return schema;
138
+ }
139
+ static prepareStandard(sharedMetadata) {
140
+ const tokenSchemas = new TokenSchemas_1.TokenSchemas();
141
+ // Token's series metadata schema
142
+ tokenSchemas.seriesMetadata = this.defaultSeriesSchema(sharedMetadata);
143
+ // NFT's ROM schema
144
+ tokenSchemas.rom = this.defaultNftRomSchema(sharedMetadata);
33
145
  // NFT's RAM schema
34
- const ramSchema = new VmStructSchema_1.VmStructSchema([], VmStructSchema_1.VmStructSchema.Flags.DynamicExtras);
146
+ tokenSchemas.ram = new VmStructSchema_1.VmStructSchema([], VmStructSchema_1.VmStructSchema.Flags.DynamicExtras);
147
+ return tokenSchemas;
148
+ }
149
+ static fromJson(json) {
150
+ const tokenSchemasJson = parseTokenSchemasJson(json);
35
151
  const tokenSchemas = new TokenSchemas_1.TokenSchemas();
36
- tokenSchemas.seriesMetadata = seriesSchema;
37
- tokenSchemas.rom = romSchema;
38
- tokenSchemas.ram = ramSchema;
152
+ tokenSchemas.seriesMetadata = this.seriesSchemaFromFieldTypes(tokenSchemasJson.seriesMetadata);
153
+ tokenSchemas.rom = this.nftRomSchemaFromFieldTypes(tokenSchemasJson.rom);
154
+ tokenSchemas.ram = this.nftRamSchemaFromFieldTypes(tokenSchemasJson.ram);
155
+ const { ok, error } = this.verify(tokenSchemas);
156
+ if (!ok) {
157
+ throw Error(error ?? "Unknown error");
158
+ }
39
159
  return tokenSchemas;
40
160
  }
41
- static buildAndSerialize(tokenSchemas) {
42
- tokenSchemas = tokenSchemas || this.prepareStandardTokenSchemas();
161
+ static verify(schemas) {
162
+ let result = this.assertMetadataField([schemas.seriesMetadata, schemas.rom], MetadataHelper_1.standardMetadataFields);
163
+ if (!result.ok) {
164
+ return result;
165
+ }
166
+ result = this.assertMetadataField([schemas.seriesMetadata], MetadataHelper_1.seriesDefaultMetadataFields);
167
+ if (!result.ok) {
168
+ return result;
169
+ }
170
+ result = this.assertMetadataField([schemas.rom], MetadataHelper_1.nftDefaultMetadataFields);
171
+ if (!result.ok) {
172
+ return result;
173
+ }
174
+ return { ok: true, error: null };
175
+ }
176
+ static serialize(tokenSchemas) {
43
177
  const schemaBuf = new CarbonSerialization_1.CarbonBinaryWriter();
44
178
  tokenSchemas.write(schemaBuf);
45
179
  return schemaBuf.toUint8Array();
46
180
  }
47
- static buildAndSerializeHex(tokenSchemas) {
48
- tokenSchemas = tokenSchemas || this.prepareStandardTokenSchemas();
49
- return (0, utils_1.bytesToHex)(this.buildAndSerialize(tokenSchemas));
181
+ static serializeHex(tokenSchemas) {
182
+ return (0, utils_1.bytesToHex)(this.serialize(tokenSchemas));
183
+ }
184
+ static logSchema(schema) {
185
+ schema.fields.forEach(f => console.log("Schema field: ", f.name.data));
50
186
  }
51
187
  }
52
188
  exports.TokenSchemasBuilder = TokenSchemasBuilder;
@@ -1,5 +1,6 @@
1
- import { TokenSchemas } from '../TokenSchemas';
1
+ import { VmStructSchema } from '../../Vm';
2
+ import { MetadataField } from './MetadataHelper';
2
3
  export declare class TokenSeriesMetadataBuilder {
3
- static buildAndSerialize(newPhantasmaSeriesId: bigint, sharedRom: Uint8Array, tokenSchemas?: TokenSchemas): Uint8Array;
4
+ static buildAndSerialize(seriesMetadataSchema: VmStructSchema, newPhantasmaSeriesId: bigint, metadata: MetadataField[]): Uint8Array;
4
5
  }
5
6
  //# sourceMappingURL=TokenSeriesMetadataBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenSeriesMetadataBuilder.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/TokenSeriesMetadataBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,qBAAa,0BAA0B;IACrC,MAAM,CAAC,iBAAiB,CACtB,oBAAoB,EAAE,MAAM,EAC5B,SAAS,EAAE,UAAU,EACrB,YAAY,CAAC,EAAE,YAAY,GAC1B,UAAU;CAed"}
1
+ {"version":3,"file":"TokenSeriesMetadataBuilder.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/TokenSeriesMetadataBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAA2C,cAAc,EAAU,MAAM,UAAU,CAAC;AAE3F,OAAO,EAAqB,aAAa,EAAkD,MAAM,kBAAkB,CAAC;AAEpH,qBAAa,0BAA0B;IACrC,MAAM,CAAC,iBAAiB,CACtB,oBAAoB,EAAE,cAAc,EACpC,oBAAoB,EAAE,MAAM,EAC5B,QAAQ,EAAE,aAAa,EAAE,GACxB,UAAU;CAkCd"}
@@ -4,18 +4,32 @@ exports.TokenSeriesMetadataBuilder = void 0;
4
4
  const CarbonSerialization_1 = require("../../../../CarbonSerialization");
5
5
  const Vm_1 = require("../../Vm");
6
6
  const StandardMeta_1 = require("../StandardMeta");
7
- const TokenSchemasBuilder_1 = require("./TokenSchemasBuilder");
7
+ const MetadataHelper_1 = require("./MetadataHelper");
8
8
  class TokenSeriesMetadataBuilder {
9
- static buildAndSerialize(newPhantasmaSeriesId, sharedRom, tokenSchemas) {
10
- tokenSchemas = tokenSchemas || TokenSchemasBuilder_1.TokenSchemasBuilder.prepareStandardTokenSchemas();
9
+ static buildAndSerialize(seriesMetadataSchema, newPhantasmaSeriesId, metadata) {
11
10
  const wMetadata = new CarbonSerialization_1.CarbonBinaryWriter();
12
- let vmDynamicStruct = new Vm_1.VmDynamicStruct();
13
- vmDynamicStruct.fields = [
11
+ const sharedRomField = (0, MetadataHelper_1.findMetadataField)(metadata, 'rom');
12
+ let rom;
13
+ if (sharedRomField) {
14
+ if (!(sharedRomField.value instanceof Uint8Array)) {
15
+ throw Error("'rom' must be a byte array");
16
+ }
17
+ rom = sharedRomField.value;
18
+ }
19
+ let seriesMetadata = new Vm_1.VmDynamicStruct();
20
+ seriesMetadata.fields = [
14
21
  Vm_1.VmNamedDynamicVariable.from(StandardMeta_1.StandardMeta.id, Vm_1.VmType.Int256, newPhantasmaSeriesId),
15
- Vm_1.VmNamedDynamicVariable.from('mode', Vm_1.VmType.Int8, sharedRom.length == 0 ? 0 : 1),
16
- Vm_1.VmNamedDynamicVariable.from('rom', Vm_1.VmType.Bytes, sharedRom),
22
+ Vm_1.VmNamedDynamicVariable.from('mode', Vm_1.VmType.Int8, rom == null || rom.length == 0 ? 0 : 1),
23
+ Vm_1.VmNamedDynamicVariable.from('rom', Vm_1.VmType.Bytes, rom ? rom : [])
17
24
  ];
18
- vmDynamicStruct.writeWithSchema(tokenSchemas.seriesMetadata, wMetadata);
25
+ seriesMetadataSchema.fields.forEach(s => {
26
+ // We don't verify default fields here, they are treated differently
27
+ // in the code above.
28
+ if (!MetadataHelper_1.seriesDefaultMetadataFields.some(df => df.name === s.name.data)) {
29
+ (0, MetadataHelper_1.pushMetadataField)(s, seriesMetadata, metadata);
30
+ }
31
+ });
32
+ seriesMetadata.writeWithSchema(seriesMetadataSchema, wMetadata);
19
33
  return wMetadata.toUint8Array();
20
34
  }
21
35
  }
@@ -5,4 +5,5 @@ export * from './TokenInfoBuilder';
5
5
  export * from './TokenMetadataBuilder';
6
6
  export * from './TokenSchemasBuilder';
7
7
  export * from './TokenSeriesMetadataBuilder';
8
+ export * from './MetadataHelper';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/types/Carbon/Blockchain/Modules/Builders/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC"}
@@ -21,3 +21,4 @@ __exportStar(require("./TokenInfoBuilder"), exports);
21
21
  __exportStar(require("./TokenMetadataBuilder"), exports);
22
22
  __exportStar(require("./TokenSchemasBuilder"), exports);
23
23
  __exportStar(require("./TokenSeriesMetadataBuilder"), exports);
24
+ __exportStar(require("./MetadataHelper"), exports);
@@ -1,4 +1,4 @@
1
- export declare const enum VmStructFlags {
1
+ export declare enum VmStructFlags {
2
2
  None = 0,
3
3
  DynamicExtras = 1
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VmStructFlags.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/Carbon/Blockchain/Vm/VmStructFlags.ts"],"names":[],"mappings":"AAAA,0BAAkB,aAAa;IAC7B,IAAI,IAAI;IACR,aAAa,IAAI;CAClB"}
1
+ {"version":3,"file":"VmStructFlags.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/Carbon/Blockchain/Vm/VmStructFlags.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,IAAI,IAAI;IACR,aAAa,IAAI;CAClB"}
@@ -1,4 +1,4 @@
1
- export declare const enum VmType {
1
+ export declare enum VmType {
2
2
  Dynamic = 0,
3
3
  Array = 1,
4
4
  Bytes = 2,
@@ -25,4 +25,5 @@ export declare const enum VmType {
25
25
  Array_Bytes64 = 21,
26
26
  Array_String = 23
27
27
  }
28
+ export declare function vmTypeFromString(type: string): VmType;
28
29
  //# sourceMappingURL=VmType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VmType.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/Carbon/Blockchain/Vm/VmType.ts"],"names":[],"mappings":"AAAA,0BAAkB,MAAM;IACtB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,KAAK,IAAS;IACd,MAAM,IAAS;IACf,IAAI,IAAS;IACb,KAAK,IAAS;IACd,KAAK,KAAS;IACd,KAAK,KAAS;IACd,MAAM,KAAS;IACf,OAAO,KAAS;IAChB,OAAO,KAAS;IAChB,OAAO,KAAU;IACjB,MAAM,KAAU;IAEhB,aAAa,IAAkB;IAC/B,WAAW,IAAgB;IAC3B,YAAY,IAAiB;IAC7B,UAAU,IAAe;IACzB,WAAW,IAAgB;IAC3B,WAAW,KAAgB;IAC3B,WAAW,KAAgB;IAC3B,YAAY,KAAiB;IAC7B,aAAa,KAAkB;IAC/B,aAAa,KAAkB;IAC/B,aAAa,KAAkB;IAC/B,YAAY,KAAiB;CAC9B"}
1
+ {"version":3,"file":"VmType.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/Carbon/Blockchain/Vm/VmType.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM;IAChB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,KAAK,IAAS;IACd,MAAM,IAAS;IACf,IAAI,IAAS;IACb,KAAK,IAAS;IACd,KAAK,KAAS;IACd,KAAK,KAAS;IACd,MAAM,KAAS;IACf,OAAO,KAAS;IAChB,OAAO,KAAS;IAChB,OAAO,KAAU;IACjB,MAAM,KAAU;IAEhB,aAAa,IAAkB;IAC/B,WAAW,IAAgB;IAC3B,YAAY,IAAiB;IAC7B,UAAU,IAAe;IACzB,WAAW,IAAgB;IAC3B,WAAW,KAAgB;IAC3B,WAAW,KAAgB;IAC3B,YAAY,KAAiB;IAC7B,aAAa,KAAkB;IAC/B,aAAa,KAAkB;IAC/B,aAAa,KAAkB;IAC/B,YAAY,KAAiB;CAC9B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoCrD"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VmType = void 0;
3
+ exports.vmTypeFromString = exports.VmType = void 0;
4
4
  var VmType;
5
5
  (function (VmType) {
6
6
  VmType[VmType["Dynamic"] = 0] = "Dynamic";
@@ -29,3 +29,38 @@ var VmType;
29
29
  VmType[VmType["Array_Bytes64"] = 21] = "Array_Bytes64";
30
30
  VmType[VmType["Array_String"] = 23] = "Array_String";
31
31
  })(VmType = exports.VmType || (exports.VmType = {}));
32
+ function vmTypeFromString(type) {
33
+ const map = {
34
+ Dynamic: VmType.Dynamic,
35
+ Array: VmType.Array,
36
+ Bytes: VmType.Bytes,
37
+ Struct: VmType.Struct,
38
+ Int8: VmType.Int8,
39
+ Int16: VmType.Int16,
40
+ Int32: VmType.Int32,
41
+ Int64: VmType.Int64,
42
+ Int256: VmType.Int256,
43
+ Bytes16: VmType.Bytes16,
44
+ Bytes32: VmType.Bytes32,
45
+ Bytes64: VmType.Bytes64,
46
+ String: VmType.String,
47
+ Array_Dynamic: VmType.Array_Dynamic,
48
+ Array_Bytes: VmType.Array_Bytes,
49
+ Array_Struct: VmType.Array_Struct,
50
+ Array_Int8: VmType.Array_Int8,
51
+ Array_Int16: VmType.Array_Int16,
52
+ Array_Int32: VmType.Array_Int32,
53
+ Array_Int64: VmType.Array_Int64,
54
+ Array_Int256: VmType.Array_Int256,
55
+ Array_Bytes16: VmType.Array_Bytes16,
56
+ Array_Bytes32: VmType.Array_Bytes32,
57
+ Array_Bytes64: VmType.Array_Bytes64,
58
+ Array_String: VmType.Array_String,
59
+ };
60
+ const value = map[type.trim()];
61
+ if (value === undefined) {
62
+ throw new Error(`Unknown VmType: ${type}`);
63
+ }
64
+ return value;
65
+ }
66
+ exports.vmTypeFromString = vmTypeFromString;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phantasma-sdk-ts",
3
- "version": "0.2.0-rc.11",
3
+ "version": "0.2.0-rc.13",
4
4
  "description": "Javascript SDK for interacting with the Phantasma Chain",
5
5
  "author": "Phantasma Team",
6
6
  "main": "dist/index.js",