@solana-mobile/dapp-store-publishing-tools 0.1.9 → 0.2.0

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 (67) hide show
  1. package/lib/esm/create/app.js +2 -2
  2. package/lib/esm/create/app.js.map +1 -1
  3. package/lib/esm/create/publisher.js +2 -2
  4. package/lib/esm/create/publisher.js.map +1 -1
  5. package/lib/esm/create/release.js +27 -9
  6. package/lib/esm/create/release.js.map +1 -1
  7. package/lib/esm/generated/index.js.map +1 -0
  8. package/lib/esm/{validate/schemas → schemas}/publisherJsonMetadata.json +4 -2
  9. package/lib/esm/{validate/schemas → schemas}/releaseJsonMetadata.json +16 -5
  10. package/lib/esm/utils.js +3 -0
  11. package/lib/esm/utils.js.map +1 -1
  12. package/lib/esm/validate/index.js +10 -3
  13. package/lib/esm/validate/index.js.map +1 -1
  14. package/lib/types/create/app.d.ts +1 -1
  15. package/lib/types/create/app.d.ts.map +1 -1
  16. package/lib/types/create/publisher.d.ts +1 -1
  17. package/lib/types/create/publisher.d.ts.map +1 -1
  18. package/lib/types/create/release.d.ts +1 -1
  19. package/lib/types/create/release.d.ts.map +1 -1
  20. package/lib/types/generated/index.d.ts.map +1 -0
  21. package/lib/types/publish/remove.d.ts +1 -1
  22. package/lib/types/publish/remove.d.ts.map +1 -1
  23. package/lib/types/publish/submit.d.ts +1 -1
  24. package/lib/types/publish/submit.d.ts.map +1 -1
  25. package/lib/types/publish/support.d.ts +1 -1
  26. package/lib/types/publish/support.d.ts.map +1 -1
  27. package/lib/types/publish/types.d.ts +2 -2
  28. package/lib/types/publish/types.d.ts.map +1 -1
  29. package/lib/types/publish/update.d.ts +1 -1
  30. package/lib/types/publish/update.d.ts.map +1 -1
  31. package/lib/types/types.d.ts +11 -11
  32. package/lib/types/types.d.ts.map +1 -1
  33. package/lib/types/utils.d.ts +4 -1
  34. package/lib/types/utils.d.ts.map +1 -1
  35. package/lib/types/validate/index.d.ts +1 -0
  36. package/lib/types/validate/index.d.ts.map +1 -1
  37. package/package.json +3 -3
  38. package/src/create/app.ts +2 -2
  39. package/src/create/publisher.ts +2 -2
  40. package/src/create/release.ts +32 -11
  41. package/src/{validate/generated/releaseJsonMetadata.ts → generated/releaseJsonMetadata.d.ts} +2 -2
  42. package/src/{validate/schemas → schemas}/publisherJsonMetadata.json +4 -2
  43. package/src/{validate/schemas → schemas}/releaseJsonMetadata.json +16 -5
  44. package/src/types.ts +2 -2
  45. package/src/utils.ts +4 -0
  46. package/src/validate/index.ts +11 -3
  47. package/lib/esm/validate/generated/appJsonMetadata.js +0 -8
  48. package/lib/esm/validate/generated/appJsonMetadata.js.map +0 -1
  49. package/lib/esm/validate/generated/index.js.map +0 -1
  50. package/lib/esm/validate/generated/publisherJsonMetadata.js +0 -8
  51. package/lib/esm/validate/generated/publisherJsonMetadata.js.map +0 -1
  52. package/lib/esm/validate/generated/releaseJsonMetadata.js +0 -8
  53. package/lib/esm/validate/generated/releaseJsonMetadata.js.map +0 -1
  54. package/lib/types/validate/generated/appJsonMetadata.d.ts +0 -27
  55. package/lib/types/validate/generated/appJsonMetadata.d.ts.map +0 -1
  56. package/lib/types/validate/generated/index.d.ts.map +0 -1
  57. package/lib/types/validate/generated/publisherJsonMetadata.d.ts +0 -32
  58. package/lib/types/validate/generated/publisherJsonMetadata.d.ts.map +0 -1
  59. package/lib/types/validate/generated/releaseJsonMetadata.d.ts +0 -82
  60. package/lib/types/validate/generated/releaseJsonMetadata.d.ts.map +0 -1
  61. /package/lib/esm/{validate/generated → generated}/index.js +0 -0
  62. /package/lib/esm/{validate/schemas → schemas}/appJsonMetadata.json +0 -0
  63. /package/lib/types/{validate/generated → generated}/index.d.ts +0 -0
  64. /package/src/{validate/generated/appJsonMetadata.ts → generated/appJsonMetadata.d.ts} +0 -0
  65. /package/src/{validate/generated → generated}/index.ts +0 -0
  66. /package/src/{validate/generated/publisherJsonMetadata.ts → generated/publisherJsonMetadata.d.ts} +0 -0
  67. /package/src/{validate/schemas → schemas}/appJsonMetadata.json +0 -0
@@ -1,10 +1,10 @@
1
- import { mintNft } from "../utils.js";
1
+ import { Constants, mintNft } from "../utils.js";
2
2
  import debugModule from "debug";
3
3
  import { validateApp } from "../validate/index.js";
4
4
  const debug = debugModule("APP");
5
5
  export const createAppJson = (app, publisherAddress) => {
6
6
  const appMetadata = {
7
- schema_version: "0.2.4",
7
+ schema_version: Constants.PUBLISHING_SCHEMA_VER,
8
8
  name: app.name,
9
9
  image: app.icon,
10
10
  external_url: app.urls.website,
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/create/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,WAAW,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAQ,EACR,gBAA2B,EACd,EAAE;IACf,MAAM,WAAW,GAAG;QAClB,cAAc,EAAE,OAAO;QACvB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,IAAK;QAChB,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO;QAC9B,UAAU,EAAE;YACV,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE;gBACR;oBACE,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE;oBACpC,KAAK,EAAE,GAAG;iBACX;aACF;SACF;QACD,UAAU,EAAE;YACV,iBAAiB,EAAE;gBACjB,eAAe,EAAE,GAAG,CAAC,eAAe;aACrC;SACF;KACF,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,EAAkB,EACjE,EAAE,QAAQ,EAAE,SAAS,EAAW,EAChC,EAAE;IACF,KAAK,CAAC,kCAAkC,oBAAoB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAE3E,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/D,WAAW,CAAC,OAAO,CAAC,CAAC;IAErB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE;QACjD,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,oBAAoB;QAChC,mBAAmB,EAAE,SAAS;QAC9B,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;KACzD,CAAC,CAAC;IAEH,SAAS,CAAC,MAAM,CACd,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC;QACvC,WAAW,EAAE,WAAW,CAAC,SAAS;QAClC,OAAO,EAAE,SAAS;KACnB,CAAC,CACH,CAAC;IAEF,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEpD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/create/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,WAAW,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAQ,EACR,gBAA2B,EACd,EAAE;IACf,MAAM,WAAW,GAAG;QAClB,cAAc,EAAE,SAAS,CAAC,qBAAqB;QAC/C,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,IAAK;QAChB,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO;QAC9B,UAAU,EAAE;YACV,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE;gBACR;oBACE,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE;oBACpC,KAAK,EAAE,GAAG;iBACX;aACF;SACF;QACD,UAAU,EAAE;YACV,iBAAiB,EAAE;gBACjB,eAAe,EAAE,GAAG,CAAC,eAAe;aACrC;SACF;KACF,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,EAAkB,EACjE,EAAE,QAAQ,EAAE,SAAS,EAAW,EAChC,EAAE;IACF,KAAK,CAAC,kCAAkC,oBAAoB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAE3E,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/D,WAAW,CAAC,OAAO,CAAC,CAAC;IAErB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE;QACjD,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,oBAAoB;QAChC,mBAAmB,EAAE,SAAS;QAC9B,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;KACzD,CAAC,CAAC;IAEH,SAAS,CAAC,MAAM,CACd,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC;QACvC,WAAW,EAAE,WAAW,CAAC,SAAS;QAClC,OAAO,EAAE,SAAS;KACnB,CAAC,CACH,CAAC;IAEF,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEpD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import debugModule from "debug";
2
2
  import { validatePublisher } from "../validate/index.js";
3
- import { mintNft } from "../utils.js";
3
+ import { Constants, mintNft } from "../utils.js";
4
4
  const debug = debugModule("PUBLISHER");
5
5
  export const createPublisherJson = (publisher) => {
6
6
  const publisherMetadata = {
7
- schema_version: "0.2.4",
7
+ schema_version: Constants.PUBLISHING_SCHEMA_VER,
8
8
  name: publisher.name,
9
9
  image: publisher.icon,
10
10
  external_url: publisher.website,
@@ -1 +1 @@
1
- {"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../../src/create/publisher.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,SAAoB,EACD,EAAE;IACrB,MAAM,iBAAiB,GAAG;QACxB,cAAc,EAAE,OAAO;QACvB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,KAAK,EAAE,SAAS,CAAC,IAAK;QACtB,YAAY,EAAE,SAAS,CAAC,OAAO;QAC/B,UAAU,EAAE;YACV,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE;gBACR;oBACE,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,KAAK,EAAE,GAAG;iBACX;aACF;SACF;QACD,UAAU,EAAE;YACV,iBAAiB,EAAE;gBACjB,iBAAiB,EAAE;oBACjB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,OAAO,EAAE,SAAS,CAAC,KAAK;iBACzB;aACF;SACF;KACF,CAAC;IAEF,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,EAAE,WAAW,EAAE,gBAAgB,EAAwB,EACvD,EAAE,QAAQ,EAAW,EACQ,EAAE;IAC/B,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAE/B,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAEjC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE;QACvD,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,WAAW;KACxB,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../../src/create/publisher.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,SAAoB,EACD,EAAE;IACrB,MAAM,iBAAiB,GAAG;QACxB,cAAc,EAAE,SAAS,CAAC,qBAAqB;QAC/C,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,KAAK,EAAE,SAAS,CAAC,IAAK;QACtB,YAAY,EAAE,SAAS,CAAC,OAAO;QAC/B,UAAU,EAAE;YACV,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE;gBACR;oBACE,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,KAAK,EAAE,GAAG;iBACX;aACF;SACF;QACD,UAAU,EAAE;YACV,iBAAiB,EAAE;gBACjB,iBAAiB,EAAE;oBACjB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,OAAO,EAAE,SAAS,CAAC,KAAK;iBACzB;aACF;SACF;KACF,CAAC;IAEF,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,EAAE,WAAW,EAAE,gBAAgB,EAAwB,EACvD,EAAE,QAAQ,EAAW,EACQ,EAAE;IAC/B,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAE/B,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAEjC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE;QACvD,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,WAAW;KACxB,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
@@ -4,14 +4,14 @@ import { createHash } from "crypto";
4
4
  import mime from "mime";
5
5
  import debugModule from "debug";
6
6
  import { toMetaplexFile } from "@metaplex-foundation/js";
7
- import { mintNft } from "../utils.js";
7
+ import { Constants, mintNft } from "../utils.js";
8
8
  import * as util from "util";
9
- import { validateRelease } from "../validate/index.js";
9
+ import { metaplexFileReplacer, validateRelease } from "../validate/index.js";
10
10
  import { imageSize } from "image-size";
11
11
  const runImgSize = util.promisify(imageSize);
12
12
  const debug = debugModule("RELEASE");
13
13
  const getFileMetadata = async (item) => {
14
- const file = path.join(process.cwd(), item.uri);
14
+ const file = path.join(process.cwd(), item.uri ?? "");
15
15
  debug({ file });
16
16
  // TODO(jon): This stuff should be probably be in `packages/cli`
17
17
  const mediaBuffer = await fs.promises.readFile(file);
@@ -19,15 +19,15 @@ const getFileMetadata = async (item) => {
19
19
  const hash = createHash("sha256").update(mediaBuffer).digest("hex");
20
20
  const metadata = {
21
21
  purpose: item.purpose,
22
- uri: toMetaplexFile(mediaBuffer, item.uri),
23
- mime: mime.getType(item.uri) || "",
22
+ uri: toMetaplexFile(mediaBuffer, item.uri ?? ""),
23
+ mime: mime.getType(item.uri ?? "") || "",
24
24
  size,
25
25
  sha256: hash,
26
26
  };
27
27
  return metadata;
28
28
  };
29
29
  const getMediaMetadata = async (item) => {
30
- const size = await runImgSize(item.uri);
30
+ const size = await runImgSize(item.uri ?? "");
31
31
  const metadata = await getFileMetadata(item);
32
32
  return {
33
33
  ...metadata,
@@ -46,11 +46,28 @@ export const createReleaseJson = async ({ releaseDetails, appDetails, publisherD
46
46
  for await (const item of releaseDetails.files) {
47
47
  files.push(await getFileMetadata(item));
48
48
  }
49
+ const releaseIcon = media.find((asset) => asset.purpose === "icon");
50
+ let imgUri;
51
+ if (releaseIcon) {
52
+ imgUri = releaseIcon?.uri;
53
+ }
54
+ else {
55
+ imgUri = appDetails.icon;
56
+ const tmpMedia = {
57
+ width: 0,
58
+ height: 0,
59
+ mime: "",
60
+ purpose: "icon",
61
+ sha256: "",
62
+ uri: imgUri?.fileName,
63
+ };
64
+ media.push(await getMediaMetadata(tmpMedia));
65
+ }
49
66
  const releaseMetadata = {
50
- schema_version: "0.2.4",
67
+ schema_version: Constants.PUBLISHING_SCHEMA_VER,
51
68
  name: appDetails.name,
52
69
  description: `Release NFT for ${appDetails.name} version ${releaseDetails.android_details.version}`,
53
- image: appDetails.icon,
70
+ image: imgUri,
54
71
  external_url: appDetails.urls.website,
55
72
  properties: {
56
73
  category: "dApp",
@@ -102,7 +119,8 @@ export const createReleaseJson = async ({ releaseDetails, appDetails, publisherD
102
119
  export const createRelease = async ({ appMintAddress, releaseMintAddress, releaseDetails, appDetails, publisherDetails, }, { publisher, metaplex }) => {
103
120
  debug(`Minting release NFT for: ${appMintAddress.toBase58()}`);
104
121
  const releaseJson = await createReleaseJson({ releaseDetails, appDetails, publisherDetails }, publisher.publicKey);
105
- validateRelease(releaseJson);
122
+ const suppressedJson = JSON.stringify(releaseJson, metaplexFileReplacer, 2);
123
+ validateRelease(JSON.parse(suppressedJson));
106
124
  const txBuilder = await mintNft(metaplex, releaseJson, {
107
125
  useNewMint: releaseMintAddress,
108
126
  collection: appMintAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/create/release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/create/release.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generated/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
@@ -50,10 +50,12 @@
50
50
  "type": "string"
51
51
  },
52
52
  "website": {
53
- "type": "string"
53
+ "type": "string",
54
+ "pattern": "^https://"
54
55
  },
55
56
  "contact": {
56
- "type": "string"
57
+ "type": "string",
58
+ "pattern": "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
57
59
  }
58
60
  },
59
61
  "required": [
@@ -47,10 +47,12 @@
47
47
  "type": "string"
48
48
  },
49
49
  "website": {
50
- "type": "string"
50
+ "type": "string",
51
+ "pattern": "^https://"
51
52
  },
52
53
  "contact": {
53
- "type": "string"
54
+ "type": "string",
55
+ "pattern": "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
54
56
  }
55
57
  },
56
58
  "required": ["name", "website", "contact"]
@@ -62,13 +64,16 @@
62
64
  "type": "string"
63
65
  },
64
66
  "license_url": {
65
- "type": "string"
67
+ "type": "string",
68
+ "pattern": "^https://"
66
69
  },
67
70
  "copyright_url": {
68
- "type": "string"
71
+ "type": "string",
72
+ "pattern": "^https://"
69
73
  },
70
74
  "privacy_policy_url": {
71
- "type": "string"
75
+ "type": "string",
76
+ "pattern": "^https://"
72
77
  },
73
78
  "localized_resources": {
74
79
  "type": "object",
@@ -116,6 +121,9 @@
116
121
  },
117
122
  "sha256": {
118
123
  "type": "string"
124
+ },
125
+ "uri": {
126
+ "type": "string"
119
127
  }
120
128
  },
121
129
  "required": ["mime", "purpose", "width", "height", "sha256"]
@@ -137,6 +145,9 @@
137
145
  },
138
146
  "sha256": {
139
147
  "type": "string"
148
+ },
149
+ "uri": {
150
+ "type": "string"
140
151
  }
141
152
  },
142
153
  "required": ["mime", "purpose", "size", "sha256"]
package/lib/esm/utils.js CHANGED
@@ -1,3 +1,6 @@
1
+ export class Constants {
2
+ }
3
+ Constants.PUBLISHING_SCHEMA_VER = "0.2.4";
1
4
  export const truncateAddress = (address) => {
2
5
  return `${address.slice(0, 4)}...${address.slice(address.length - 4, address.length)}`;
3
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE;IACjD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAC9C,OAAO,CAAC,MAAM,GAAG,CAAC,EAClB,OAAO,CAAC,MAAM,CACf,EAAE,CAAC;AACN,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,QAAkB,EAClB,IAA8B,EAC9B,cAA6E,EAChD,EAAE;IAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACvB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,SAAS,GAAG,MAAM,QAAQ;SAC7B,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,MAAM,CAAC;QACN,GAAG,cAAc;QACjB,GAAG;QACH,aAAa;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,oBAAoB,EAAE,CAAC;KACxB,CAAC,CAAC;IAEL,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,SAAS;;AACb,+BAAqB,GAAG,OAAO,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE;IACjD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAC9C,OAAO,CAAC,MAAM,GAAG,CAAC,EAClB,OAAO,CAAC,MAAM,CACf,EAAE,CAAC;AACN,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,QAAkB,EAClB,IAA8B,EAC9B,cAA6E,EAChD,EAAE;IAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACvB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,SAAS,GAAG,MAAM,QAAQ;SAC7B,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,MAAM,CAAC;QACN,GAAG,cAAc;QACjB,GAAG;QACH,aAAa;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,oBAAoB,EAAE,CAAC;KACxB,CAAC,CAAC;IAEL,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
@@ -1,10 +1,17 @@
1
1
  import Ajv from "ajv";
2
2
  // eslint-disable-next-line require-extensions/require-extensions
3
- import publisherSchema from "./schemas/publisherJsonMetadata.json" assert { type: "json" };
3
+ import publisherSchema from "../schemas/publisherJsonMetadata.json" assert { type: "json" };
4
4
  // eslint-disable-next-line require-extensions/require-extensions
5
- import appSchema from "./schemas/appJsonMetadata.json" assert { type: "json" };
5
+ import appSchema from "../schemas/appJsonMetadata.json" assert { type: "json" };
6
6
  // eslint-disable-next-line require-extensions/require-extensions
7
- import releaseSchema from "./schemas/releaseJsonMetadata.json" assert { type: "json" };
7
+ import releaseSchema from "../schemas/releaseJsonMetadata.json" assert { type: "json" };
8
+ import { isMetaplexFile } from "@metaplex-foundation/js";
9
+ export const metaplexFileReplacer = (k, v) => {
10
+ if (isMetaplexFile(v)) {
11
+ return "https://temp-asset-path";
12
+ }
13
+ return v;
14
+ };
8
15
  export const validatePublisher = (publisherJson) => {
9
16
  const jsonToValidate = { ...publisherJson };
10
17
  if (typeof jsonToValidate.image !== "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validate/index.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,KAAK,CAAC;AAStB,iEAAiE;AACjE,OAAO,eAAe,MAAM,sCAAsC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3F,iEAAiE;AACjE,OAAO,SAAS,MAAM,gCAAgC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/E,iEAAiE;AACjE,OAAO,aAAa,MAAM,oCAAoC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAEvF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAAgC,EAAE,EAAE;IACpE,MAAM,cAAc,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;IAC5C,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC5C,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;KACvD;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;KAC7C;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAoB,EAAE,EAAE;IAClD,MAAM,cAAc,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IACtC,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC5C,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;KACvD;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACvC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAA4C,EAAE,EAAE;IAC9E,MAAM,cAAc,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;IAC1C,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC5C,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;KACvD;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5C,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validate/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { App, AppMetadata, Context } from "../types.js";
2
2
  import type { PublicKey, Signer } from "@solana/web3.js";
3
3
  export declare const createAppJson: (app: App, publisherAddress: PublicKey) => AppMetadata;
4
- declare type CreateAppInput = {
4
+ type CreateAppInput = {
5
5
  publisherMintAddress: PublicKey;
6
6
  mintAddress: Signer;
7
7
  appDetails: App;
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/create/app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAMzD,eAAO,MAAM,aAAa,QACnB,GAAG,oBACU,SAAS,KAC1B,WAuBF,CAAC;AAEF,aAAK,cAAc,GAAG;IACpB,oBAAoB,EAAE,SAAS,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,GAAG,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,SAAS,sDAC+B,cAAc,2BACxC,OAAO,0EA0BjC,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/create/app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAMzD,eAAO,MAAM,aAAa,QACnB,GAAG,oBACU,SAAS,KAC1B,WAuBF,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,oBAAoB,EAAE,SAAS,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,GAAG,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,SAAS,sDAC+B,cAAc,2BACxC,OAAO,0EA0BjC,CAAC"}
@@ -2,7 +2,7 @@ import type { TransactionBuilder } from "@metaplex-foundation/js";
2
2
  import type { Signer } from "@solana/web3.js";
3
3
  import type { Context, Publisher, PublisherMetadata } from "../types.js";
4
4
  export declare const createPublisherJson: (publisher: Publisher) => PublisherMetadata;
5
- declare type CreatePublisherInput = {
5
+ type CreatePublisherInput = {
6
6
  mintAddress: Signer;
7
7
  publisherDetails: Publisher;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../../src/create/publisher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAI9C,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIzE,eAAO,MAAM,mBAAmB,cACnB,SAAS,KACnB,iBA2BF,CAAC;AAEF,aAAK,oBAAoB,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,SAAS,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,sCACS,oBAAoB,gBACzC,OAAO,KACpB,QAAQ,kBAAkB,CAa5B,CAAC"}
1
+ {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../../src/create/publisher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAI9C,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIzE,eAAO,MAAM,mBAAmB,cACnB,SAAS,KACnB,iBA2BF,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,SAAS,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,sCACS,oBAAoB,gBACzC,OAAO,KACpB,QAAQ,kBAAkB,CAa5B,CAAC"}
@@ -5,7 +5,7 @@ export declare const createReleaseJson: ({ releaseDetails, appDetails, publisher
5
5
  appDetails: App;
6
6
  publisherDetails: Publisher;
7
7
  }, publisherAddress: PublicKey) => Promise<MetaplexFileReleaseJsonMetadata>;
8
- declare type CreateReleaseInput = {
8
+ type CreateReleaseInput = {
9
9
  releaseMintAddress: Keypair;
10
10
  appMintAddress: PublicKey;
11
11
  releaseDetails: Release;
@@ -1 +1 @@
1
- {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/create/release.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EACV,GAAG,EACH,OAAO,EACP,+BAA+B,EAC/B,SAAS,EACT,OAAO,EAER,MAAM,aAAa,CAAC;AAsCrB,eAAO,MAAM,iBAAiB;oBAKP,OAAO;gBAAc,GAAG;sBAAoB,SAAS;qBACxD,SAAS,KAC1B,QAAQ,+BAA+B,CAoEzC,CAAC;AAEF,aAAK,kBAAkB,GAAG;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,SAAS,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,UAAU,EAAE,GAAG,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,aAAa,0FAOrB,kBAAkB,2BACI,OAAO;;;EA4BjC,CAAC"}
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/create/release.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EACV,GAAG,EACH,OAAO,EACP,+BAA+B,EAC/B,SAAS,EACT,OAAO,EACR,MAAM,aAAa,CAAC;AAuCrB,eAAO,MAAM,iBAAiB;oBAKP,OAAO;gBAAc,GAAG;sBAAoB,SAAS;qBACxD,SAAS,KAC1B,QAAQ,+BAA+B,CAuFzC,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,SAAS,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,UAAU,EAAE,GAAG,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,aAAa,0FAOrB,kBAAkB,2BACI,OAAO;;;EA8BjC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generated/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Publisher } from "../types.js";
2
2
  import { PublishSolanaNetworkInput } from "./types.js";
3
- export declare type PublishRemoveInput = {
3
+ export type PublishRemoveInput = {
4
4
  appMintAddress: string;
5
5
  releaseMintAddress: string;
6
6
  publisherDetails: Publisher;
@@ -1 +1 @@
1
- {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/publish/remove.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiB7C,OAAO,EAAE,yBAAyB,EAA4B,MAAM,YAAY,CAAC;AAuEjF,oBAAY,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,aAAa,8BACG,yBAAyB,oGAOhD,kBAAkB,UACd,OAAO,kBAYhB,CAAC"}
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/publish/remove.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiB7C,OAAO,EAAE,yBAAyB,EAA4B,MAAM,YAAY,CAAC;AAuEjF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,aAAa,8BACG,yBAAyB,oGAOhD,kBAAkB,UACd,OAAO,kBAYhB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Publisher, SolanaMobileDappPublisherPortal } from "../types.js";
2
2
  import { PublishSolanaNetworkInput } from "./types.js";
3
- export declare type PublishSubmitInput = {
3
+ export type PublishSubmitInput = {
4
4
  appMintAddress: string;
5
5
  releaseMintAddress: string;
6
6
  publisherDetails: Publisher;
@@ -1 +1 @@
1
- {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../src/publish/submit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAmB9E,OAAO,EAAE,yBAAyB,EAA4B,MAAM,YAAY,CAAC;AAqFjF,oBAAY,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,sCAAsC,EAAE,+BAA+B,CAAC;IACxE,mCAAmC,EAAE,OAAO,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,aAAa,8BACG,yBAAyB,iKAQhD,kBAAkB,UACd,OAAO,kBAahB,CAAC"}
1
+ {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../src/publish/submit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAmB9E,OAAO,EAAE,yBAAyB,EAA4B,MAAM,YAAY,CAAC;AAqFjF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,sCAAsC,EAAE,+BAA+B,CAAC;IACxE,mCAAmC,EAAE,OAAO,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,aAAa,8BACG,yBAAyB,iKAQhD,kBAAkB,UACd,OAAO,kBAahB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Publisher } from "../types.js";
2
2
  import { PublishSolanaNetworkInput } from "./types.js";
3
- export declare type PublishSupportInput = {
3
+ export type PublishSupportInput = {
4
4
  appMintAddress: string;
5
5
  releaseMintAddress: string;
6
6
  publisherDetails: Publisher;
@@ -1 +1 @@
1
- {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../../src/publish/support.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiB7C,OAAO,EAAE,yBAAyB,EAA4B,MAAM,YAAY,CAAC;AAgEjF,oBAAY,mBAAmB,GAAG;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,cAAc,8BACE,yBAAyB,oGAOhD,mBAAmB,UACf,OAAO,kBAYhB,CAAC"}
1
+ {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../../src/publish/support.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiB7C,OAAO,EAAE,yBAAyB,EAA4B,MAAM,YAAY,CAAC;AAgEjF,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,cAAc,8BACE,yBAAyB,oGAOhD,mBAAmB,UACf,OAAO,kBAYhB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { Connection } from "@solana/web3.js";
3
- export declare type SignWithPublisherKeypair = (buf: Buffer) => Buffer;
4
- export declare type PublishSolanaNetworkInput = {
3
+ export type SignWithPublisherKeypair = (buf: Buffer) => Buffer;
4
+ export type PublishSolanaNetworkInput = {
5
5
  connection: Connection;
6
6
  sign: SignWithPublisherKeypair;
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/publish/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,oBAAY,wBAAwB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAE/D,oBAAY,yBAAyB,GAAG;IACtC,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,wBAAwB,CAAC;CAChC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/publish/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAE/D,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,wBAAwB,CAAC;CAChC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Publisher, SolanaMobileDappPublisherPortal } from "../types.js";
2
2
  import { PublishSolanaNetworkInput } from "./types.js";
3
- export declare type PublishUpdateInput = {
3
+ export type PublishUpdateInput = {
4
4
  appMintAddress: string;
5
5
  releaseMintAddress: string;
6
6
  publisherDetails: Publisher;
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/publish/update.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAmB9E,OAAO,EAAE,yBAAyB,EAA4B,MAAM,YAAY,CAAC;AAwFjF,oBAAY,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,sCAAsC,EAAE,+BAA+B,CAAC;IACxE,mCAAmC,EAAE,OAAO,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,aAAa,8BACG,yBAAyB,iLAShD,kBAAkB,UACd,OAAO,kBAchB,CAAC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/publish/update.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAmB9E,OAAO,EAAE,yBAAyB,EAA4B,MAAM,YAAY,CAAC;AAwFjF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,sCAAsC,EAAE,+BAA+B,CAAC;IACxE,mCAAmC,EAAE,OAAO,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,aAAa,8BACG,yBAAyB,iLAShD,kBAAkB,UACd,OAAO,kBAchB,CAAC"}
@@ -1,14 +1,14 @@
1
1
  import type { Metaplex, MetaplexFile } from "@metaplex-foundation/js";
2
2
  import type { Keypair } from "@solana/web3.js";
3
- import type { ReleaseJsonMetadata, AppJsonMetadata, PublisherJsonMetadata } from "./validate/generated/index.js";
4
- export type { ReleaseJsonMetadata } from "./validate/generated/index.js";
5
- export declare type PublisherMetadata = Omit<PublisherJsonMetadata, "image"> & {
3
+ import type { ReleaseJsonMetadata, AppJsonMetadata, PublisherJsonMetadata } from "./generated";
4
+ export type { ReleaseJsonMetadata } from "./generated";
5
+ export type PublisherMetadata = Omit<PublisherJsonMetadata, "image"> & {
6
6
  image: string | MetaplexFile;
7
7
  };
8
- export declare type AppMetadata = Omit<AppJsonMetadata, "image"> & {
8
+ export type AppMetadata = Omit<AppJsonMetadata, "image"> & {
9
9
  image: string | MetaplexFile;
10
10
  };
11
- export declare type MetaplexFileReleaseJsonMetadata = Omit<ReleaseJsonMetadata, "image"> & {
11
+ export type MetaplexFileReleaseJsonMetadata = Omit<ReleaseJsonMetadata, "image"> & {
12
12
  image: string | MetaplexFile;
13
13
  extensions: {
14
14
  solana_dapp_store: {
@@ -21,11 +21,11 @@ export declare type MetaplexFileReleaseJsonMetadata = Omit<ReleaseJsonMetadata,
21
21
  };
22
22
  };
23
23
  };
24
- export declare type Context = {
24
+ export type Context = {
25
25
  publisher: Keypair;
26
26
  metaplex: Metaplex;
27
27
  };
28
- export declare type AndroidDetails = {
28
+ export type AndroidDetails = {
29
29
  android_package: string;
30
30
  min_sdk: number;
31
31
  version_code: number;
@@ -33,7 +33,7 @@ export declare type AndroidDetails = {
33
33
  permissions: string[];
34
34
  locales: string[];
35
35
  };
36
- export declare type Publisher = {
36
+ export type Publisher = {
37
37
  address: string;
38
38
  name: string;
39
39
  icon?: string | MetaplexFile;
@@ -41,7 +41,7 @@ export declare type Publisher = {
41
41
  email: string;
42
42
  media: ReleaseJsonMetadata["extensions"]["solana_dapp_store"]["media"];
43
43
  };
44
- export declare type App = {
44
+ export type App = {
45
45
  name: string;
46
46
  icon?: string | MetaplexFile;
47
47
  address: string;
@@ -54,7 +54,7 @@ export declare type App = {
54
54
  };
55
55
  media: ReleaseJsonMetadata["extensions"]["solana_dapp_store"]["media"];
56
56
  };
57
- export declare type Release = {
57
+ export type Release = {
58
58
  address: string;
59
59
  media: ReleaseJsonMetadata["extensions"]["solana_dapp_store"]["media"];
60
60
  files: ReleaseJsonMetadata["extensions"]["solana_dapp_store"]["files"];
@@ -68,7 +68,7 @@ export declare type Release = {
68
68
  };
69
69
  };
70
70
  };
71
- export declare type SolanaMobileDappPublisherPortal = {
71
+ export type SolanaMobileDappPublisherPortal = {
72
72
  google_store_package: string;
73
73
  testing_instructions: string;
74
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACtB,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,oBAAY,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAAG;IACrE,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;CAC9B,CAAC;AAEF,oBAAY,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG;IACzD,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;CAC9B,CAAC;AAEF,oBAAY,+BAA+B,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG;IACjF,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IAC7B,UAAU,EAAE;QACV,iBAAiB,EAAE;YACjB,KAAK,EAAE;gBAAE,GAAG,EAAE,YAAY,CAAA;aAAE,EAAE,CAAC;YAC/B,KAAK,EAAE;gBAAE,GAAG,EAAE,YAAY,CAAA;aAAE,EAAE,CAAC;SAChC,CAAC;KACH,CAAC;CACH,CAAC;AAEF,oBAAY,OAAO,GAAG;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,oBAAY,cAAc,GAAG;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,oBAAY,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC;CACxE,CAAC;AAEF,oBAAY,GAAG,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC;CACxE,CAAC;AAIF,oBAAY,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC;IACvE,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC;IACvE,eAAe,EAAE,cAAc,CAAC;IAChC,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GAAG;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,gBAAgB,EAAE,MAAM,CAAC;YACzB,cAAc,EAAE,MAAM,CAAC;YACvB,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,oBAAY,+BAA+B,GAAG;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import type { CreateNftInput, JsonMetadata, Metaplex, MetaplexFile, TransactionBuilder } from "@metaplex-foundation/js";
2
+ export declare class Constants {
3
+ static PUBLISHING_SCHEMA_VER: string;
4
+ }
2
5
  export declare const truncateAddress: (address: string) => string;
3
- declare type JsonMetadataMetaplexFile = Omit<JsonMetadata, "image"> & {
6
+ type JsonMetadataMetaplexFile = Omit<JsonMetadata, "image"> & {
4
7
  image: string | MetaplexFile;
5
8
  };
6
9
  export declare const mintNft: (metaplex: Metaplex, json: JsonMetadataMetaplexFile, createNftInput: Omit<CreateNftInput, "uri" | "name" | "sellerFeeBasisPoints">) => Promise<TransactionBuilder>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,eAAe,YAAa,MAAM,WAK9C,CAAC;AAEF,aAAK,wBAAwB,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;IAC5D,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,OAAO,aACR,QAAQ,QACZ,wBAAwB,kBACd,KAAK,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,sBAAsB,CAAC,KAC5E,QAAQ,kBAAkB,CAgB5B,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAGjC,qBAAa,SAAS;IACpB,MAAM,CAAC,qBAAqB,SAAW;CACxC;AACD,eAAO,MAAM,eAAe,YAAa,MAAM,WAK9C,CAAC;AAEF,KAAK,wBAAwB,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;IAC5D,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,OAAO,aACR,QAAQ,QACZ,wBAAwB,kBACd,KAAK,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,sBAAsB,CAAC,KAC5E,QAAQ,kBAAkB,CAgB5B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { AppMetadata, MetaplexFileReleaseJsonMetadata, PublisherMetadata } from "../types.js";
2
+ export declare const metaplexFileReplacer: (k: any, v: any) => any;
2
3
  export declare const validatePublisher: (publisherJson: PublisherMetadata) => true;
3
4
  export declare const validateApp: (appJson: AppMetadata) => true;
4
5
  export declare const validateRelease: (releaseJson: MetaplexFileReleaseJsonMetadata) => true;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validate/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,+BAA+B,EAC/B,iBAAiB,EAElB,MAAM,aAAa,CAAC;AASrB,eAAO,MAAM,iBAAiB,kBAAmB,iBAAiB,SAejE,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,WAAW,SAe/C,CAAC;AAEF,eAAO,MAAM,eAAe,gBAAiB,+BAA+B,SAe3E,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validate/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,+BAA+B,EAC/B,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAUrB,eAAO,MAAM,oBAAoB,MAAO,GAAG,KAAK,GAAG,QAKlD,CAAC;AAEF,eAAO,MAAM,iBAAiB,kBAAmB,iBAAiB,SAejE,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,WAAW,SAe/C,CAAC;AAEF,eAAO,MAAM,eAAe,gBAAiB,+BAA+B,SAe3E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solana-mobile/dapp-store-publishing-tools",
3
- "version": "0.1.9",
3
+ "version": "0.2.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -41,7 +41,7 @@
41
41
  },
42
42
  "scripts": {
43
43
  "clean": "shx mkdir -p lib && shx rm -rf lib",
44
- "prebuild": "pnpm run clean",
45
- "generate-types": "json2ts -i src/validate/schemas -o src/validate/generated"
44
+ "prebuild": "pnpm run clean && pnpm run generate-types",
45
+ "generate-types": "json2ts -i src/schemas -o src/generated"
46
46
  }
47
47
  }
package/src/create/app.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { mintNft } from "../utils.js";
1
+ import { Constants, mintNft } from "../utils.js";
2
2
  import type { App, AppMetadata, Context } from "../types.js";
3
3
  import type { PublicKey, Signer } from "@solana/web3.js";
4
4
  import debugModule from "debug";
@@ -11,7 +11,7 @@ export const createAppJson = (
11
11
  publisherAddress: PublicKey
12
12
  ): AppMetadata => {
13
13
  const appMetadata = {
14
- schema_version: "0.2.4",
14
+ schema_version: Constants.PUBLISHING_SCHEMA_VER,
15
15
  name: app.name,
16
16
  image: app.icon!,
17
17
  external_url: app.urls.website,
@@ -3,7 +3,7 @@ import debugModule from "debug";
3
3
  import type { Signer } from "@solana/web3.js";
4
4
 
5
5
  import { validatePublisher } from "../validate/index.js";
6
- import { mintNft } from "../utils.js";
6
+ import { Constants, mintNft } from "../utils.js";
7
7
  import type { Context, Publisher, PublisherMetadata } from "../types.js";
8
8
 
9
9
  const debug = debugModule("PUBLISHER");
@@ -12,7 +12,7 @@ export const createPublisherJson = (
12
12
  publisher: Publisher
13
13
  ): PublisherMetadata => {
14
14
  const publisherMetadata = {
15
- schema_version: "0.2.4",
15
+ schema_version: Constants.PUBLISHING_SCHEMA_VER,
16
16
  name: publisher.name,
17
17
  image: publisher.icon!,
18
18
  external_url: publisher.website,
@@ -5,9 +5,9 @@ import mime from "mime";
5
5
  import debugModule from "debug";
6
6
  import type { MetaplexFile } from "@metaplex-foundation/js";
7
7
  import { toMetaplexFile } from "@metaplex-foundation/js";
8
- import { mintNft, truncateAddress } from "../utils.js";
8
+ import { Constants, mintNft, truncateAddress } from "../utils.js";
9
9
  import * as util from "util";
10
- import { validateRelease } from "../validate/index.js";
10
+ import { metaplexFileReplacer, validateRelease } from "../validate/index.js";
11
11
  import { imageSize } from "image-size";
12
12
 
13
13
  import type { Keypair, PublicKey } from "@solana/web3.js";
@@ -17,7 +17,6 @@ import type {
17
17
  MetaplexFileReleaseJsonMetadata,
18
18
  Publisher,
19
19
  Release,
20
- ReleaseJsonMetadata
21
20
  } from "../types.js";
22
21
 
23
22
  const runImgSize = util.promisify(imageSize);
@@ -28,16 +27,17 @@ type File = ArrayElement<Release["files"]>;
28
27
  type Media = ArrayElement<Release["media"]>;
29
28
 
30
29
  const getFileMetadata = async (item: Media | File) => {
31
- const file = path.join(process.cwd(), item.uri);
30
+ const file = path.join(process.cwd(), item.uri ?? "");
32
31
  debug({ file });
32
+
33
33
  // TODO(jon): This stuff should be probably be in `packages/cli`
34
34
  const mediaBuffer = await fs.promises.readFile(file);
35
35
  const size = (await fs.promises.stat(file)).size;
36
36
  const hash = createHash("sha256").update(mediaBuffer).digest("hex");
37
37
  const metadata = {
38
38
  purpose: item.purpose,
39
- uri: toMetaplexFile(mediaBuffer, item.uri),
40
- mime: mime.getType(item.uri) || "",
39
+ uri: toMetaplexFile(mediaBuffer, item.uri ?? ""),
40
+ mime: mime.getType(item.uri ?? "") || "",
41
41
  size,
42
42
  sha256: hash,
43
43
  };
@@ -46,7 +46,7 @@ const getFileMetadata = async (item: Media | File) => {
46
46
  };
47
47
 
48
48
  const getMediaMetadata = async (item: Media) => {
49
- const size = await runImgSize(item.uri);
49
+ const size = await runImgSize(item.uri ?? "");
50
50
  const metadata = await getFileMetadata(item);
51
51
 
52
52
  return {
@@ -64,7 +64,6 @@ export const createReleaseJson = async (
64
64
  }: { releaseDetails: Release; appDetails: App; publisherDetails: Publisher },
65
65
  publisherAddress: PublicKey
66
66
  ): Promise<MetaplexFileReleaseJsonMetadata> => {
67
-
68
67
  const media = [];
69
68
  debug({ media: releaseDetails.media });
70
69
  for await (const item of releaseDetails.media || []) {
@@ -77,11 +76,31 @@ export const createReleaseJson = async (
77
76
  files.push(await getFileMetadata(item));
78
77
  }
79
78
 
79
+ const releaseIcon = media.find((asset: any) => asset.purpose === "icon");
80
+ let imgUri: string | MetaplexFile;
81
+
82
+ if (releaseIcon) {
83
+ imgUri = releaseIcon?.uri;
84
+ } else {
85
+ imgUri = appDetails.icon as MetaplexFile;
86
+
87
+ const tmpMedia: Media = {
88
+ width: 0,
89
+ height: 0,
90
+ mime: "",
91
+ purpose: "icon",
92
+ sha256: "",
93
+ uri: imgUri?.fileName,
94
+ };
95
+
96
+ media.push(await getMediaMetadata(tmpMedia));
97
+ }
98
+
80
99
  const releaseMetadata: MetaplexFileReleaseJsonMetadata = {
81
- schema_version: "0.2.4",
100
+ schema_version: Constants.PUBLISHING_SCHEMA_VER,
82
101
  name: appDetails.name,
83
102
  description: `Release NFT for ${appDetails.name} version ${releaseDetails.android_details.version}`,
84
- image: appDetails.icon!,
103
+ image: imgUri,
85
104
  external_url: appDetails.urls.website,
86
105
  properties: {
87
106
  category: "dApp",
@@ -157,7 +176,9 @@ export const createRelease = async (
157
176
  { releaseDetails, appDetails, publisherDetails },
158
177
  publisher.publicKey
159
178
  );
160
- validateRelease(releaseJson);
179
+
180
+ const suppressedJson = JSON.stringify(releaseJson, metaplexFileReplacer, 2);
181
+ validateRelease(JSON.parse(suppressedJson));
161
182
 
162
183
  const txBuilder = await mintNft(metaplex, releaseJson, {
163
184
  useNewMint: releaseMintAddress,
@@ -43,18 +43,18 @@ export interface ReleaseJsonMetadata {
43
43
  media: {
44
44
  mime: string;
45
45
  purpose: string;
46
- uri: string;
47
46
  width: number;
48
47
  height: number;
49
48
  sha256: string;
49
+ uri?: string;
50
50
  [k: string]: unknown;
51
51
  }[];
52
52
  files: {
53
53
  mime: string;
54
54
  purpose: string;
55
- uri: string;
56
55
  size: number;
57
56
  sha256: string;
57
+ uri?: string;
58
58
  [k: string]: unknown;
59
59
  }[];
60
60
  android_details: {
@@ -50,10 +50,12 @@
50
50
  "type": "string"
51
51
  },
52
52
  "website": {
53
- "type": "string"
53
+ "type": "string",
54
+ "pattern": "^https://"
54
55
  },
55
56
  "contact": {
56
- "type": "string"
57
+ "type": "string",
58
+ "pattern": "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
57
59
  }
58
60
  },
59
61
  "required": [
@@ -47,10 +47,12 @@
47
47
  "type": "string"
48
48
  },
49
49
  "website": {
50
- "type": "string"
50
+ "type": "string",
51
+ "pattern": "^https://"
51
52
  },
52
53
  "contact": {
53
- "type": "string"
54
+ "type": "string",
55
+ "pattern": "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
54
56
  }
55
57
  },
56
58
  "required": ["name", "website", "contact"]
@@ -62,13 +64,16 @@
62
64
  "type": "string"
63
65
  },
64
66
  "license_url": {
65
- "type": "string"
67
+ "type": "string",
68
+ "pattern": "^https://"
66
69
  },
67
70
  "copyright_url": {
68
- "type": "string"
71
+ "type": "string",
72
+ "pattern": "^https://"
69
73
  },
70
74
  "privacy_policy_url": {
71
- "type": "string"
75
+ "type": "string",
76
+ "pattern": "^https://"
72
77
  },
73
78
  "localized_resources": {
74
79
  "type": "object",
@@ -116,6 +121,9 @@
116
121
  },
117
122
  "sha256": {
118
123
  "type": "string"
124
+ },
125
+ "uri": {
126
+ "type": "string"
119
127
  }
120
128
  },
121
129
  "required": ["mime", "purpose", "width", "height", "sha256"]
@@ -137,6 +145,9 @@
137
145
  },
138
146
  "sha256": {
139
147
  "type": "string"
148
+ },
149
+ "uri": {
150
+ "type": "string"
140
151
  }
141
152
  },
142
153
  "required": ["mime", "purpose", "size", "sha256"]
package/src/types.ts CHANGED
@@ -4,9 +4,9 @@ import type {
4
4
  ReleaseJsonMetadata,
5
5
  AppJsonMetadata,
6
6
  PublisherJsonMetadata,
7
- } from "./validate/generated/index.js";
7
+ } from "./generated";
8
8
 
9
- export type { ReleaseJsonMetadata } from "./validate/generated/index.js";
9
+ export type { ReleaseJsonMetadata } from "./generated";
10
10
 
11
11
  export type PublisherMetadata = Omit<PublisherJsonMetadata, "image"> & {
12
12
  image: string | MetaplexFile;
package/src/utils.ts CHANGED
@@ -5,7 +5,11 @@ import type {
5
5
  MetaplexFile,
6
6
  TransactionBuilder,
7
7
  } from "@metaplex-foundation/js";
8
+ import { isMetaplexFile } from "@metaplex-foundation/js";
8
9
 
10
+ export class Constants {
11
+ static PUBLISHING_SCHEMA_VER = "0.2.4";
12
+ }
9
13
  export const truncateAddress = (address: string) => {
10
14
  return `${address.slice(0, 4)}...${address.slice(
11
15
  address.length - 4,
@@ -9,11 +9,19 @@ import type {
9
9
  } from "../types.js";
10
10
 
11
11
  // eslint-disable-next-line require-extensions/require-extensions
12
- import publisherSchema from "./schemas/publisherJsonMetadata.json" assert { type: "json" };
12
+ import publisherSchema from "../schemas/publisherJsonMetadata.json" assert { type: "json" };
13
13
  // eslint-disable-next-line require-extensions/require-extensions
14
- import appSchema from "./schemas/appJsonMetadata.json" assert { type: "json" };
14
+ import appSchema from "../schemas/appJsonMetadata.json" assert { type: "json" };
15
15
  // eslint-disable-next-line require-extensions/require-extensions
16
- import releaseSchema from "./schemas/releaseJsonMetadata.json" assert { type: "json" };
16
+ import releaseSchema from "../schemas/releaseJsonMetadata.json" assert { type: "json" };
17
+ import { isMetaplexFile } from "@metaplex-foundation/js";
18
+
19
+ export const metaplexFileReplacer = (k: any, v: any) => {
20
+ if (isMetaplexFile(v)) {
21
+ return "https://temp-asset-path";
22
+ }
23
+ return v;
24
+ };
17
25
 
18
26
  export const validatePublisher = (publisherJson: PublisherMetadata) => {
19
27
  const jsonToValidate = { ...publisherJson };
@@ -1,8 +0,0 @@
1
- /* tslint:disable */
2
- /**
3
- * This file was automatically generated by json-schema-to-typescript.
4
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
- * and run json-schema-to-typescript to regenerate this file.
6
- */
7
- export {};
8
- //# sourceMappingURL=appJsonMetadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"appJsonMetadata.js","sourceRoot":"","sources":["../../../../src/validate/generated/appJsonMetadata.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;GAIG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/validate/generated/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
@@ -1,8 +0,0 @@
1
- /* tslint:disable */
2
- /**
3
- * This file was automatically generated by json-schema-to-typescript.
4
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
- * and run json-schema-to-typescript to regenerate this file.
6
- */
7
- export {};
8
- //# sourceMappingURL=publisherJsonMetadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publisherJsonMetadata.js","sourceRoot":"","sources":["../../../../src/validate/generated/publisherJsonMetadata.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;GAIG"}
@@ -1,8 +0,0 @@
1
- /* tslint:disable */
2
- /**
3
- * This file was automatically generated by json-schema-to-typescript.
4
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
- * and run json-schema-to-typescript to regenerate this file.
6
- */
7
- export {};
8
- //# sourceMappingURL=releaseJsonMetadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"releaseJsonMetadata.js","sourceRoot":"","sources":["../../../../src/validate/generated/releaseJsonMetadata.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;GAIG"}
@@ -1,27 +0,0 @@
1
- /**
2
- * This file was automatically generated by json-schema-to-typescript.
3
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
- * and run json-schema-to-typescript to regenerate this file.
5
- */
6
- export interface AppJsonMetadata {
7
- schema_version: string;
8
- name: string;
9
- image: string;
10
- properties: {
11
- category: string;
12
- creators: {
13
- address: string;
14
- [k: string]: unknown;
15
- }[];
16
- [k: string]: unknown;
17
- };
18
- extensions: {
19
- solana_dapp_store: {
20
- android_package: string;
21
- [k: string]: unknown;
22
- };
23
- [k: string]: unknown;
24
- };
25
- [k: string]: unknown;
26
- }
27
- //# sourceMappingURL=appJsonMetadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"appJsonMetadata.d.ts","sourceRoot":"","sources":["../../../../src/validate/generated/appJsonMetadata.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM,CAAC;YAChB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;SACtB,EAAE,CAAC;QACJ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KACtB,CAAC;IACF,UAAU,EAAE;QACV,iBAAiB,EAAE;YACjB,eAAe,EAAE,MAAM,CAAC;YACxB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;SACtB,CAAC;QACF,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KACtB,CAAC;IACF,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/validate/generated/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
@@ -1,32 +0,0 @@
1
- /**
2
- * This file was automatically generated by json-schema-to-typescript.
3
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
- * and run json-schema-to-typescript to regenerate this file.
5
- */
6
- export interface PublisherJsonMetadata {
7
- schema_version: string;
8
- name: string;
9
- image: string;
10
- properties: {
11
- category: string;
12
- creators: {
13
- address: string;
14
- [k: string]: unknown;
15
- }[];
16
- [k: string]: unknown;
17
- };
18
- extensions: {
19
- solana_dapp_store: {
20
- publisher_details: {
21
- name: string;
22
- website: string;
23
- contact: string;
24
- [k: string]: unknown;
25
- };
26
- [k: string]: unknown;
27
- };
28
- [k: string]: unknown;
29
- };
30
- [k: string]: unknown;
31
- }
32
- //# sourceMappingURL=publisherJsonMetadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publisherJsonMetadata.d.ts","sourceRoot":"","sources":["../../../../src/validate/generated/publisherJsonMetadata.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM,CAAC;YAChB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;SACtB,EAAE,CAAC;QACJ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KACtB,CAAC;IACF,UAAU,EAAE;QACV,iBAAiB,EAAE;YACjB,iBAAiB,EAAE;gBACjB,IAAI,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,MAAM,CAAC;gBAChB,OAAO,EAAE,MAAM,CAAC;gBAChB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;aACtB,CAAC;YACF,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;SACtB,CAAC;QACF,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KACtB,CAAC;IACF,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB"}
@@ -1,82 +0,0 @@
1
- /**
2
- * This file was automatically generated by json-schema-to-typescript.
3
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
- * and run json-schema-to-typescript to regenerate this file.
5
- */
6
- export interface ReleaseJsonMetadata {
7
- schema_version: string;
8
- name: string;
9
- description: string;
10
- image: string;
11
- properties: {
12
- category?: string;
13
- creators?: {
14
- address: string;
15
- [k: string]: unknown;
16
- }[];
17
- [k: string]: unknown;
18
- };
19
- extensions: {
20
- solana_dapp_store: {
21
- publisher_details: {
22
- name: string;
23
- website: string;
24
- contact: string;
25
- [k: string]: unknown;
26
- };
27
- release_details: {
28
- updated_on: string;
29
- license_url: string;
30
- copyright_url: string;
31
- privacy_policy_url: string;
32
- localized_resources: {
33
- long_description: string;
34
- new_in_version: string;
35
- saga_features?: string;
36
- name: string;
37
- [k: string]: unknown;
38
- };
39
- [k: string]: unknown;
40
- };
41
- media: {
42
- mime: string;
43
- purpose: string;
44
- uri: string;
45
- width: number;
46
- height: number;
47
- sha256: string;
48
- [k: string]: unknown;
49
- }[];
50
- files: {
51
- mime: string;
52
- purpose: string;
53
- uri: string;
54
- size: number;
55
- sha256: string;
56
- [k: string]: unknown;
57
- }[];
58
- android_details: {
59
- android_package: string;
60
- version_code: number;
61
- version: string;
62
- min_sdk: number;
63
- permissions: string[];
64
- locales: string[];
65
- [k: string]: unknown;
66
- };
67
- [k: string]: unknown;
68
- };
69
- i18n: {
70
- /**
71
- * This interface was referenced by `undefined`'s JSON-Schema definition
72
- * via the `patternProperty` "^[a-zA-Z]{2,8}(-[a-zA-Z0-9]{2,8})*$".
73
- */
74
- [k: string]: {
75
- [k: string]: string;
76
- };
77
- };
78
- [k: string]: unknown;
79
- };
80
- [k: string]: unknown;
81
- }
82
- //# sourceMappingURL=releaseJsonMetadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"releaseJsonMetadata.d.ts","sourceRoot":"","sources":["../../../../src/validate/generated/releaseJsonMetadata.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE;YACT,OAAO,EAAE,MAAM,CAAC;YAChB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;SACtB,EAAE,CAAC;QACJ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KACtB,CAAC;IACF,UAAU,EAAE;QACV,iBAAiB,EAAE;YACjB,iBAAiB,EAAE;gBACjB,IAAI,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,MAAM,CAAC;gBAChB,OAAO,EAAE,MAAM,CAAC;gBAChB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;aACtB,CAAC;YACF,eAAe,EAAE;gBACf,UAAU,EAAE,MAAM,CAAC;gBACnB,WAAW,EAAE,MAAM,CAAC;gBACpB,aAAa,EAAE,MAAM,CAAC;gBACtB,kBAAkB,EAAE,MAAM,CAAC;gBAC3B,mBAAmB,EAAE;oBACnB,gBAAgB,EAAE,MAAM,CAAC;oBACzB,cAAc,EAAE,MAAM,CAAC;oBACvB,aAAa,CAAC,EAAE,MAAM,CAAC;oBACvB,IAAI,EAAE,MAAM,CAAC;oBACb,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;iBACtB,CAAC;gBACF,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;aACtB,CAAC;YACF,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,MAAM,CAAC;gBAChB,GAAG,EAAE,MAAM,CAAC;gBACZ,KAAK,EAAE,MAAM,CAAC;gBACd,MAAM,EAAE,MAAM,CAAC;gBACf,MAAM,EAAE,MAAM,CAAC;gBACf,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;aACtB,EAAE,CAAC;YACJ,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,MAAM,CAAC;gBAChB,GAAG,EAAE,MAAM,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC;gBACb,MAAM,EAAE,MAAM,CAAC;gBACf,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;aACtB,EAAE,CAAC;YACJ,eAAe,EAAE;gBACf,eAAe,EAAE,MAAM,CAAC;gBACxB,YAAY,EAAE,MAAM,CAAC;gBACrB,OAAO,EAAE,MAAM,CAAC;gBAChB,OAAO,EAAE,MAAM,CAAC;gBAChB,WAAW,EAAE,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,MAAM,EAAE,CAAC;gBAClB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;aACtB,CAAC;YACF,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;SACtB,CAAC;QACF,IAAI,EAAE;YACJ;;;eAGG;YACH,CAAC,CAAC,EAAE,MAAM,GAAG;gBACX,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;aACrB,CAAC;SACH,CAAC;QACF,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KACtB,CAAC;IACF,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB"}
File without changes