@solana-mobile/dapp-store-publishing-tools 0.1.9 → 0.3.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.
- package/lib/esm/create/app.js +2 -2
- package/lib/esm/create/app.js.map +1 -1
- package/lib/esm/create/publisher.js +2 -2
- package/lib/esm/create/publisher.js.map +1 -1
- package/lib/esm/create/release.js +29 -9
- package/lib/esm/create/release.js.map +1 -1
- package/lib/esm/generated/index.js.map +1 -0
- package/lib/esm/{validate/schemas → schemas}/publisherJsonMetadata.json +4 -2
- package/lib/esm/{validate/schemas → schemas}/releaseJsonMetadata.json +21 -6
- package/lib/esm/utils.js +3 -0
- package/lib/esm/utils.js.map +1 -1
- package/lib/esm/validate/index.js +10 -3
- package/lib/esm/validate/index.js.map +1 -1
- package/lib/types/create/app.d.ts +1 -1
- package/lib/types/create/app.d.ts.map +1 -1
- package/lib/types/create/publisher.d.ts +1 -1
- package/lib/types/create/publisher.d.ts.map +1 -1
- package/lib/types/create/release.d.ts +1 -1
- package/lib/types/create/release.d.ts.map +1 -1
- package/lib/types/generated/index.d.ts.map +1 -0
- package/lib/types/publish/remove.d.ts +1 -1
- package/lib/types/publish/remove.d.ts.map +1 -1
- package/lib/types/publish/submit.d.ts +1 -1
- package/lib/types/publish/submit.d.ts.map +1 -1
- package/lib/types/publish/support.d.ts +1 -1
- package/lib/types/publish/support.d.ts.map +1 -1
- package/lib/types/publish/types.d.ts +2 -2
- package/lib/types/publish/types.d.ts.map +1 -1
- package/lib/types/publish/update.d.ts +1 -1
- package/lib/types/publish/update.d.ts.map +1 -1
- package/lib/types/types.d.ts +12 -11
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/utils.d.ts +4 -1
- package/lib/types/utils.d.ts.map +1 -1
- package/lib/types/validate/index.d.ts +1 -0
- package/lib/types/validate/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/create/app.ts +2 -2
- package/src/create/publisher.ts +2 -2
- package/src/create/release.ts +35 -11
- package/src/{validate/generated/releaseJsonMetadata.ts → generated/releaseJsonMetadata.d.ts} +3 -2
- package/src/{validate/schemas → schemas}/publisherJsonMetadata.json +4 -2
- package/src/{validate/schemas → schemas}/releaseJsonMetadata.json +21 -6
- package/src/types.ts +3 -2
- package/src/utils.ts +4 -0
- package/src/validate/index.ts +11 -3
- package/lib/esm/validate/generated/appJsonMetadata.js +0 -8
- package/lib/esm/validate/generated/appJsonMetadata.js.map +0 -1
- package/lib/esm/validate/generated/index.js.map +0 -1
- package/lib/esm/validate/generated/publisherJsonMetadata.js +0 -8
- package/lib/esm/validate/generated/publisherJsonMetadata.js.map +0 -1
- package/lib/esm/validate/generated/releaseJsonMetadata.js +0 -8
- package/lib/esm/validate/generated/releaseJsonMetadata.js.map +0 -1
- package/lib/types/validate/generated/appJsonMetadata.d.ts +0 -27
- package/lib/types/validate/generated/appJsonMetadata.d.ts.map +0 -1
- package/lib/types/validate/generated/index.d.ts.map +0 -1
- package/lib/types/validate/generated/publisherJsonMetadata.d.ts +0 -32
- package/lib/types/validate/generated/publisherJsonMetadata.d.ts.map +0 -1
- package/lib/types/validate/generated/releaseJsonMetadata.d.ts +0 -82
- package/lib/types/validate/generated/releaseJsonMetadata.d.ts.map +0 -1
- /package/lib/esm/{validate/generated → generated}/index.js +0 -0
- /package/lib/esm/{validate/schemas → schemas}/appJsonMetadata.json +0 -0
- /package/lib/types/{validate/generated → generated}/index.d.ts +0 -0
- /package/src/{validate/generated/appJsonMetadata.ts → generated/appJsonMetadata.d.ts} +0 -0
- /package/src/{validate/generated → generated}/index.ts +0 -0
- /package/src/{validate/generated/publisherJsonMetadata.ts → generated/publisherJsonMetadata.d.ts} +0 -0
- /package/src/{validate/schemas → schemas}/appJsonMetadata.json +0 -0
package/lib/esm/create/app.js
CHANGED
|
@@ -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:
|
|
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;
|
|
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:
|
|
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;
|
|
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:
|
|
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:
|
|
70
|
+
image: imgUri,
|
|
54
71
|
external_url: appDetails.urls.website,
|
|
55
72
|
properties: {
|
|
56
73
|
category: "dApp",
|
|
@@ -79,6 +96,7 @@ export const createReleaseJson = async ({ releaseDetails, appDetails, publisherD
|
|
|
79
96
|
new_in_version: "2",
|
|
80
97
|
saga_features: "3",
|
|
81
98
|
name: "4",
|
|
99
|
+
short_description: "5",
|
|
82
100
|
},
|
|
83
101
|
},
|
|
84
102
|
media,
|
|
@@ -95,6 +113,7 @@ export const createReleaseJson = async ({ releaseDetails, appDetails, publisherD
|
|
|
95
113
|
"2": strings.new_in_version,
|
|
96
114
|
"3": strings.saga_features,
|
|
97
115
|
"4": strings.name,
|
|
116
|
+
"5": strings.short_description,
|
|
98
117
|
};
|
|
99
118
|
}
|
|
100
119
|
return releaseMetadata;
|
|
@@ -102,7 +121,8 @@ export const createReleaseJson = async ({ releaseDetails, appDetails, publisherD
|
|
|
102
121
|
export const createRelease = async ({ appMintAddress, releaseMintAddress, releaseDetails, appDetails, publisherDetails, }, { publisher, metaplex }) => {
|
|
103
122
|
debug(`Minting release NFT for: ${appMintAddress.toBase58()}`);
|
|
104
123
|
const releaseJson = await createReleaseJson({ releaseDetails, appDetails, publisherDetails }, publisher.publicKey);
|
|
105
|
-
|
|
124
|
+
const suppressedJson = JSON.stringify(releaseJson, metaplexFileReplacer, 2);
|
|
125
|
+
validateRelease(JSON.parse(suppressedJson));
|
|
106
126
|
const txBuilder = await mintNft(metaplex, releaseJson, {
|
|
107
127
|
useNewMint: releaseMintAddress,
|
|
108
128
|
collection: appMintAddress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/create/release.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,WAAW,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAmB,MAAM,aAAa,CAAC;
|
|
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,17 +64,24 @@
|
|
|
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",
|
|
75
80
|
"properties": {
|
|
81
|
+
"short_description": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"maxLength": 50
|
|
84
|
+
},
|
|
76
85
|
"long_description": {
|
|
77
86
|
"type": "string"
|
|
78
87
|
},
|
|
@@ -86,7 +95,7 @@
|
|
|
86
95
|
"type": "string"
|
|
87
96
|
}
|
|
88
97
|
},
|
|
89
|
-
"required": ["long_description", "new_in_version", "name"]
|
|
98
|
+
"required": ["short_description", "long_description", "new_in_version", "name"]
|
|
90
99
|
}
|
|
91
100
|
},
|
|
92
101
|
"required": [
|
|
@@ -116,6 +125,9 @@
|
|
|
116
125
|
},
|
|
117
126
|
"sha256": {
|
|
118
127
|
"type": "string"
|
|
128
|
+
},
|
|
129
|
+
"uri": {
|
|
130
|
+
"type": "string"
|
|
119
131
|
}
|
|
120
132
|
},
|
|
121
133
|
"required": ["mime", "purpose", "width", "height", "sha256"]
|
|
@@ -137,6 +149,9 @@
|
|
|
137
149
|
},
|
|
138
150
|
"sha256": {
|
|
139
151
|
"type": "string"
|
|
152
|
+
},
|
|
153
|
+
"uri": {
|
|
154
|
+
"type": "string"
|
|
140
155
|
}
|
|
141
156
|
},
|
|
142
157
|
"required": ["mime", "purpose", "size", "sha256"]
|
package/lib/esm/utils.js
CHANGED
package/lib/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"
|
|
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 "
|
|
3
|
+
import publisherSchema from "../schemas/publisherJsonMetadata.json" assert { type: "json" };
|
|
4
4
|
// eslint-disable-next-line require-extensions/require-extensions
|
|
5
|
-
import appSchema from "
|
|
5
|
+
import appSchema from "../schemas/appJsonMetadata.json" assert { type: "json" };
|
|
6
6
|
// eslint-disable-next-line require-extensions/require-extensions
|
|
7
|
-
import releaseSchema from "
|
|
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,
|
|
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,uCAAuC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAC5F,iEAAiE;AACjE,OAAO,SAAS,MAAM,iCAAiC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAChF,iEAAiE;AACjE,OAAO,aAAa,MAAM,qCAAqC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;IACrD,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE;QACrB,OAAO,yBAAyB,CAAC;KAClC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,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,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
|
-
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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;AAwCrB,eAAO,MAAM,iBAAiB;oBAKP,OAAO;gBAAc,GAAG;sBAAoB,SAAS;qBACxD,SAAS,KAC1B,QAAQ,+BAA+B,CAyFzC,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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
4
|
-
export
|
|
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,
|
|
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
|
|
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,
|
|
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"}
|
package/lib/types/types.d.ts
CHANGED
|
@@ -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 "./
|
|
4
|
-
export type { ReleaseJsonMetadata } from "./
|
|
5
|
-
export
|
|
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
|
|
8
|
+
export type AppMetadata = Omit<AppJsonMetadata, "image"> & {
|
|
9
9
|
image: string | MetaplexFile;
|
|
10
10
|
};
|
|
11
|
-
export
|
|
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
|
|
24
|
+
export type Context = {
|
|
25
25
|
publisher: Keypair;
|
|
26
26
|
metaplex: Metaplex;
|
|
27
27
|
};
|
|
28
|
-
export
|
|
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
|
|
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
|
|
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
|
|
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"];
|
|
@@ -65,10 +65,11 @@ export declare type Release = {
|
|
|
65
65
|
long_description: string;
|
|
66
66
|
new_in_version: string;
|
|
67
67
|
saga_features: string;
|
|
68
|
+
short_description: string;
|
|
68
69
|
};
|
|
69
70
|
};
|
|
70
71
|
};
|
|
71
|
-
export
|
|
72
|
+
export type SolanaMobileDappPublisherPortal = {
|
|
72
73
|
google_store_package: string;
|
|
73
74
|
testing_instructions: string;
|
|
74
75
|
};
|
package/lib/types/types.d.ts.map
CHANGED
|
@@ -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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types/utils.d.ts
CHANGED
|
@@ -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
|
-
|
|
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>;
|
package/lib/types/utils.d.ts.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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.
|
|
3
|
+
"version": "0.3.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/
|
|
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:
|
|
14
|
+
schema_version: Constants.PUBLISHING_SCHEMA_VER,
|
|
15
15
|
name: app.name,
|
|
16
16
|
image: app.icon!,
|
|
17
17
|
external_url: app.urls.website,
|
package/src/create/publisher.ts
CHANGED
|
@@ -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:
|
|
15
|
+
schema_version: Constants.PUBLISHING_SCHEMA_VER,
|
|
16
16
|
name: publisher.name,
|
|
17
17
|
image: publisher.icon!,
|
|
18
18
|
external_url: publisher.website,
|
package/src/create/release.ts
CHANGED
|
@@ -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,8 +17,8 @@ import type {
|
|
|
17
17
|
MetaplexFileReleaseJsonMetadata,
|
|
18
18
|
Publisher,
|
|
19
19
|
Release,
|
|
20
|
-
ReleaseJsonMetadata
|
|
21
20
|
} from "../types.js";
|
|
21
|
+
import { str } from "ajv";
|
|
22
22
|
|
|
23
23
|
const runImgSize = util.promisify(imageSize);
|
|
24
24
|
const debug = debugModule("RELEASE");
|
|
@@ -28,16 +28,17 @@ type File = ArrayElement<Release["files"]>;
|
|
|
28
28
|
type Media = ArrayElement<Release["media"]>;
|
|
29
29
|
|
|
30
30
|
const getFileMetadata = async (item: Media | File) => {
|
|
31
|
-
const file = path.join(process.cwd(), item.uri);
|
|
31
|
+
const file = path.join(process.cwd(), item.uri ?? "");
|
|
32
32
|
debug({ file });
|
|
33
|
+
|
|
33
34
|
// TODO(jon): This stuff should be probably be in `packages/cli`
|
|
34
35
|
const mediaBuffer = await fs.promises.readFile(file);
|
|
35
36
|
const size = (await fs.promises.stat(file)).size;
|
|
36
37
|
const hash = createHash("sha256").update(mediaBuffer).digest("hex");
|
|
37
38
|
const metadata = {
|
|
38
39
|
purpose: item.purpose,
|
|
39
|
-
uri: toMetaplexFile(mediaBuffer, item.uri),
|
|
40
|
-
mime: mime.getType(item.uri) || "",
|
|
40
|
+
uri: toMetaplexFile(mediaBuffer, item.uri ?? ""),
|
|
41
|
+
mime: mime.getType(item.uri ?? "") || "",
|
|
41
42
|
size,
|
|
42
43
|
sha256: hash,
|
|
43
44
|
};
|
|
@@ -46,7 +47,7 @@ const getFileMetadata = async (item: Media | File) => {
|
|
|
46
47
|
};
|
|
47
48
|
|
|
48
49
|
const getMediaMetadata = async (item: Media) => {
|
|
49
|
-
const size = await runImgSize(item.uri);
|
|
50
|
+
const size = await runImgSize(item.uri ?? "");
|
|
50
51
|
const metadata = await getFileMetadata(item);
|
|
51
52
|
|
|
52
53
|
return {
|
|
@@ -64,7 +65,6 @@ export const createReleaseJson = async (
|
|
|
64
65
|
}: { releaseDetails: Release; appDetails: App; publisherDetails: Publisher },
|
|
65
66
|
publisherAddress: PublicKey
|
|
66
67
|
): Promise<MetaplexFileReleaseJsonMetadata> => {
|
|
67
|
-
|
|
68
68
|
const media = [];
|
|
69
69
|
debug({ media: releaseDetails.media });
|
|
70
70
|
for await (const item of releaseDetails.media || []) {
|
|
@@ -77,11 +77,31 @@ export const createReleaseJson = async (
|
|
|
77
77
|
files.push(await getFileMetadata(item));
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
const releaseIcon = media.find((asset: any) => asset.purpose === "icon");
|
|
81
|
+
let imgUri: string | MetaplexFile;
|
|
82
|
+
|
|
83
|
+
if (releaseIcon) {
|
|
84
|
+
imgUri = releaseIcon?.uri;
|
|
85
|
+
} else {
|
|
86
|
+
imgUri = appDetails.icon as MetaplexFile;
|
|
87
|
+
|
|
88
|
+
const tmpMedia: Media = {
|
|
89
|
+
width: 0,
|
|
90
|
+
height: 0,
|
|
91
|
+
mime: "",
|
|
92
|
+
purpose: "icon",
|
|
93
|
+
sha256: "",
|
|
94
|
+
uri: imgUri?.fileName,
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
media.push(await getMediaMetadata(tmpMedia));
|
|
98
|
+
}
|
|
99
|
+
|
|
80
100
|
const releaseMetadata: MetaplexFileReleaseJsonMetadata = {
|
|
81
|
-
schema_version:
|
|
101
|
+
schema_version: Constants.PUBLISHING_SCHEMA_VER,
|
|
82
102
|
name: appDetails.name,
|
|
83
103
|
description: `Release NFT for ${appDetails.name} version ${releaseDetails.android_details.version}`,
|
|
84
|
-
image:
|
|
104
|
+
image: imgUri,
|
|
85
105
|
external_url: appDetails.urls.website,
|
|
86
106
|
properties: {
|
|
87
107
|
category: "dApp",
|
|
@@ -110,6 +130,7 @@ export const createReleaseJson = async (
|
|
|
110
130
|
new_in_version: "2",
|
|
111
131
|
saga_features: "3",
|
|
112
132
|
name: "4",
|
|
133
|
+
short_description: "5",
|
|
113
134
|
},
|
|
114
135
|
},
|
|
115
136
|
media,
|
|
@@ -127,6 +148,7 @@ export const createReleaseJson = async (
|
|
|
127
148
|
"2": strings.new_in_version,
|
|
128
149
|
"3": strings.saga_features,
|
|
129
150
|
"4": strings.name,
|
|
151
|
+
"5": strings.short_description,
|
|
130
152
|
};
|
|
131
153
|
}
|
|
132
154
|
|
|
@@ -157,7 +179,9 @@ export const createRelease = async (
|
|
|
157
179
|
{ releaseDetails, appDetails, publisherDetails },
|
|
158
180
|
publisher.publicKey
|
|
159
181
|
);
|
|
160
|
-
|
|
182
|
+
|
|
183
|
+
const suppressedJson = JSON.stringify(releaseJson, metaplexFileReplacer, 2);
|
|
184
|
+
validateRelease(JSON.parse(suppressedJson));
|
|
161
185
|
|
|
162
186
|
const txBuilder = await mintNft(metaplex, releaseJson, {
|
|
163
187
|
useNewMint: releaseMintAddress,
|
package/src/{validate/generated/releaseJsonMetadata.ts → generated/releaseJsonMetadata.d.ts}
RENAMED
|
@@ -32,6 +32,7 @@ export interface ReleaseJsonMetadata {
|
|
|
32
32
|
copyright_url: string;
|
|
33
33
|
privacy_policy_url: string;
|
|
34
34
|
localized_resources: {
|
|
35
|
+
short_description: string;
|
|
35
36
|
long_description: string;
|
|
36
37
|
new_in_version: string;
|
|
37
38
|
saga_features?: string;
|
|
@@ -43,18 +44,18 @@ export interface ReleaseJsonMetadata {
|
|
|
43
44
|
media: {
|
|
44
45
|
mime: string;
|
|
45
46
|
purpose: string;
|
|
46
|
-
uri: string;
|
|
47
47
|
width: number;
|
|
48
48
|
height: number;
|
|
49
49
|
sha256: string;
|
|
50
|
+
uri?: string;
|
|
50
51
|
[k: string]: unknown;
|
|
51
52
|
}[];
|
|
52
53
|
files: {
|
|
53
54
|
mime: string;
|
|
54
55
|
purpose: string;
|
|
55
|
-
uri: string;
|
|
56
56
|
size: number;
|
|
57
57
|
sha256: string;
|
|
58
|
+
uri?: string;
|
|
58
59
|
[k: string]: unknown;
|
|
59
60
|
}[];
|
|
60
61
|
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,17 +64,24 @@
|
|
|
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",
|
|
75
80
|
"properties": {
|
|
81
|
+
"short_description": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"maxLength": 50
|
|
84
|
+
},
|
|
76
85
|
"long_description": {
|
|
77
86
|
"type": "string"
|
|
78
87
|
},
|
|
@@ -86,7 +95,7 @@
|
|
|
86
95
|
"type": "string"
|
|
87
96
|
}
|
|
88
97
|
},
|
|
89
|
-
"required": ["long_description", "new_in_version", "name"]
|
|
98
|
+
"required": ["short_description", "long_description", "new_in_version", "name"]
|
|
90
99
|
}
|
|
91
100
|
},
|
|
92
101
|
"required": [
|
|
@@ -116,6 +125,9 @@
|
|
|
116
125
|
},
|
|
117
126
|
"sha256": {
|
|
118
127
|
"type": "string"
|
|
128
|
+
},
|
|
129
|
+
"uri": {
|
|
130
|
+
"type": "string"
|
|
119
131
|
}
|
|
120
132
|
},
|
|
121
133
|
"required": ["mime", "purpose", "width", "height", "sha256"]
|
|
@@ -137,6 +149,9 @@
|
|
|
137
149
|
},
|
|
138
150
|
"sha256": {
|
|
139
151
|
"type": "string"
|
|
152
|
+
},
|
|
153
|
+
"uri": {
|
|
154
|
+
"type": "string"
|
|
140
155
|
}
|
|
141
156
|
},
|
|
142
157
|
"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 "./
|
|
7
|
+
} from "./generated";
|
|
8
8
|
|
|
9
|
-
export type { ReleaseJsonMetadata } from "./
|
|
9
|
+
export type { ReleaseJsonMetadata } from "./generated";
|
|
10
10
|
|
|
11
11
|
export type PublisherMetadata = Omit<PublisherJsonMetadata, "image"> & {
|
|
12
12
|
image: string | MetaplexFile;
|
|
@@ -76,6 +76,7 @@ export type Release = {
|
|
|
76
76
|
long_description: string;
|
|
77
77
|
new_in_version: string;
|
|
78
78
|
saga_features: string;
|
|
79
|
+
short_description: string;
|
|
79
80
|
};
|
|
80
81
|
};
|
|
81
82
|
};
|
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.5";
|
|
12
|
+
}
|
|
9
13
|
export const truncateAddress = (address: string) => {
|
|
10
14
|
return `${address.slice(0, 4)}...${address.slice(
|
|
11
15
|
address.length - 4,
|
package/src/validate/index.ts
CHANGED
|
@@ -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 "
|
|
12
|
+
import publisherSchema from "../schemas/publisherJsonMetadata.json" assert { type: "json" };
|
|
13
13
|
// eslint-disable-next-line require-extensions/require-extensions
|
|
14
|
-
import appSchema from "
|
|
14
|
+
import appSchema from "../schemas/appJsonMetadata.json" assert { type: "json" };
|
|
15
15
|
// eslint-disable-next-line require-extensions/require-extensions
|
|
16
|
-
import releaseSchema from "
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/src/{validate/generated/publisherJsonMetadata.ts → generated/publisherJsonMetadata.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|