@solana-mobile/dapp-store-publishing-tools 0.1.6 → 0.1.7
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/release.js +15 -20
- package/lib/esm/create/release.js.map +1 -1
- package/lib/esm/publish/dapp_publisher_portal.js +1 -0
- package/lib/esm/publish/dapp_publisher_portal.js.map +1 -1
- package/lib/esm/publish/remove.js +9 -4
- package/lib/esm/publish/remove.js.map +1 -1
- package/lib/esm/publish/submit.js +9 -4
- package/lib/esm/publish/submit.js.map +1 -1
- package/lib/esm/publish/support.js +9 -4
- package/lib/esm/publish/support.js.map +1 -1
- package/lib/esm/publish/update.js +9 -4
- package/lib/esm/publish/update.js.map +1 -1
- package/lib/esm/validate/index.js +22 -4
- package/lib/esm/validate/index.js.map +1 -1
- package/lib/esm/validate/schemas/releaseJsonMetadata.json +8 -2
- package/lib/types/create/release.d.ts +1 -14
- package/lib/types/create/release.d.ts.map +1 -1
- package/lib/types/publish/dapp_publisher_portal.d.ts +1 -0
- package/lib/types/publish/dapp_publisher_portal.d.ts.map +1 -1
- package/lib/types/publish/remove.d.ts +2 -1
- package/lib/types/publish/remove.d.ts.map +1 -1
- package/lib/types/publish/submit.d.ts +2 -1
- package/lib/types/publish/submit.d.ts.map +1 -1
- package/lib/types/publish/support.d.ts +2 -1
- package/lib/types/publish/support.d.ts.map +1 -1
- package/lib/types/publish/update.d.ts +2 -1
- package/lib/types/publish/update.d.ts.map +1 -1
- package/lib/types/types.d.ts +13 -1
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/validate/index.d.ts +2 -2
- package/lib/types/validate/index.d.ts.map +1 -1
- package/package.json +4 -1
- package/src/create/release.ts +16 -30
- package/src/publish/dapp_publisher_portal.ts +1 -0
- package/src/publish/remove.ts +10 -0
- package/src/publish/submit.ts +10 -0
- package/src/publish/support.ts +10 -0
- package/src/publish/update.ts +10 -0
- package/src/types.ts +10 -1
- package/src/validate/index.ts +28 -6
- package/src/validate/schemas/releaseJsonMetadata.json +8 -2
|
@@ -4,7 +4,7 @@ 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
|
|
7
|
+
import { mintNft } from "../utils.js";
|
|
8
8
|
import * as util from "util";
|
|
9
9
|
import { validateRelease } from "../validate/index.js";
|
|
10
10
|
import { imageSize } from "image-size";
|
|
@@ -16,7 +16,7 @@ const getFileMetadata = async (item) => {
|
|
|
16
16
|
// TODO(jon): This stuff should be probably be in `packages/cli`
|
|
17
17
|
const mediaBuffer = await fs.promises.readFile(file);
|
|
18
18
|
const size = (await fs.promises.stat(file)).size;
|
|
19
|
-
const hash = createHash("sha256").update(mediaBuffer).digest("
|
|
19
|
+
const hash = createHash("sha256").update(mediaBuffer).digest("hex");
|
|
20
20
|
const metadata = {
|
|
21
21
|
purpose: item.purpose,
|
|
22
22
|
uri: toMetaplexFile(mediaBuffer, item.uri),
|
|
@@ -36,8 +36,6 @@ const getMediaMetadata = async (item) => {
|
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
38
|
export const createReleaseJson = async ({ releaseDetails, appDetails, publisherDetails, }, publisherAddress) => {
|
|
39
|
-
const truncatedAppMintAddress = truncateAddress(appDetails.address);
|
|
40
|
-
const releaseName = `${Object.values(releaseDetails.catalog)[0].name} ${releaseDetails.android_details.version}`;
|
|
41
39
|
const media = [];
|
|
42
40
|
debug({ media: releaseDetails.media });
|
|
43
41
|
for await (const item of releaseDetails.media || []) {
|
|
@@ -50,10 +48,9 @@ export const createReleaseJson = async ({ releaseDetails, appDetails, publisherD
|
|
|
50
48
|
}
|
|
51
49
|
const releaseMetadata = {
|
|
52
50
|
schema_version: "0.2.4",
|
|
53
|
-
name:
|
|
54
|
-
description:
|
|
55
|
-
|
|
56
|
-
image: "",
|
|
51
|
+
name: "Release: " + appDetails.name,
|
|
52
|
+
description: `Release NFT for ${appDetails.name} version ${releaseDetails.android_details.version}`,
|
|
53
|
+
image: appDetails.icon,
|
|
57
54
|
external_url: appDetails.urls.website,
|
|
58
55
|
properties: {
|
|
59
56
|
category: "dApp",
|
|
@@ -66,6 +63,7 @@ export const createReleaseJson = async ({ releaseDetails, appDetails, publisherD
|
|
|
66
63
|
},
|
|
67
64
|
extensions: {
|
|
68
65
|
solana_dapp_store: {
|
|
66
|
+
// @ts-expect-error
|
|
69
67
|
publisher_details: {
|
|
70
68
|
name: publisherDetails.name,
|
|
71
69
|
website: publisherDetails.website,
|
|
@@ -77,16 +75,13 @@ export const createReleaseJson = async ({ releaseDetails, appDetails, publisherD
|
|
|
77
75
|
copyright_url: appDetails.urls.copyright_url,
|
|
78
76
|
privacy_policy_url: appDetails.urls.privacy_policy_url,
|
|
79
77
|
localized_resources: {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
name: "5",
|
|
78
|
+
long_description: "1",
|
|
79
|
+
new_in_version: "2",
|
|
80
|
+
saga_features: "3",
|
|
81
|
+
name: "4",
|
|
85
82
|
},
|
|
86
83
|
},
|
|
87
|
-
// @ts-expect-error It's a bit of a headache to modify the deeply-nested extension.solana_dapp_store.media.uri type
|
|
88
84
|
media,
|
|
89
|
-
// @ts-expect-error It's a bit of a headache to modify the deeply-nested extension.solana_dapp_store.files.uri type
|
|
90
85
|
files,
|
|
91
86
|
android_details: releaseDetails.android_details,
|
|
92
87
|
},
|
|
@@ -94,12 +89,12 @@ export const createReleaseJson = async ({ releaseDetails, appDetails, publisherD
|
|
|
94
89
|
},
|
|
95
90
|
};
|
|
96
91
|
for (const [locale, strings] of Object.entries(releaseDetails.catalog)) {
|
|
92
|
+
// @ts-expect-error
|
|
97
93
|
releaseMetadata.extensions.i18n[locale] = {
|
|
98
|
-
"1": strings.
|
|
99
|
-
"2": strings.
|
|
100
|
-
"3": strings.
|
|
101
|
-
"4": strings.
|
|
102
|
-
"5": strings.name,
|
|
94
|
+
"1": strings.long_description,
|
|
95
|
+
"2": strings.new_in_version,
|
|
96
|
+
"3": strings.saga_features,
|
|
97
|
+
"4": strings.name,
|
|
103
98
|
};
|
|
104
99
|
}
|
|
105
100
|
return releaseMetadata;
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/create/release.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export const TICKET_PROPERTY_CONTENT = "content"; // string
|
|
|
9
9
|
export const TICKET_PROPERTY_ATTESTATION_PAYLOAD = "attestation_payload"; // base64-encoded string
|
|
10
10
|
export const TICKET_PROPERTY_AUTHORIZED_REQUEST = "requestor_is_authorized_to_submit_this_request"; // boolean
|
|
11
11
|
export const TICKET_PROPERTY_CRITICAL_UPDATE = "critical_update"; // boolean
|
|
12
|
+
export const TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS = "dapp_collection_account_address"; // base58-encoded string
|
|
12
13
|
export const TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS = "dapp_release_account_address"; // base58-encoded string
|
|
13
14
|
export const TICKET_PROPERTY_GOOGLE_PLAY_STORE_PACKAGE_NAME = "google_play_store_package_name"; // string
|
|
14
15
|
export const TICKET_PROPERTY_POLICY_COMPLIANT = "complies_with_solana_dapp_store_policies"; // boolean
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dapp_publisher_portal.js","sourceRoot":"","sources":["../../../src/publish/dapp_publisher_portal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dapp_publisher_portal.js","sourceRoot":"","sources":["../../../src/publish/dapp_publisher_portal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createAttestationPayload } from "./attestation.js";
|
|
2
|
-
import { CONTACT_OBJECT_ID, CONTACT_PROPERTY_COMPANY, CONTACT_PROPERTY_EMAIL, CONTACT_PROPERTY_WEBSITE, submitRequestToSolanaDappPublisherPortal, TICKET_OBJECT_ID, TICKET_PROPERTY_ATTESTATION_PAYLOAD, TICKET_PROPERTY_AUTHORIZED_REQUEST, TICKET_PROPERTY_CRITICAL_UPDATE, TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS, TICKET_PROPERTY_REQUEST_UNIQUE_ID, URL_FORM_REMOVE } from "./dapp_publisher_portal.js";
|
|
3
|
-
const createRemoveRequest = async (connection, sign, releaseMintAddress, publisherDetails, requestorIsAuthorized, criticalUpdate) => {
|
|
2
|
+
import { CONTACT_OBJECT_ID, CONTACT_PROPERTY_COMPANY, CONTACT_PROPERTY_EMAIL, CONTACT_PROPERTY_WEBSITE, submitRequestToSolanaDappPublisherPortal, TICKET_OBJECT_ID, TICKET_PROPERTY_ATTESTATION_PAYLOAD, TICKET_PROPERTY_AUTHORIZED_REQUEST, TICKET_PROPERTY_CRITICAL_UPDATE, TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS, TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS, TICKET_PROPERTY_REQUEST_UNIQUE_ID, URL_FORM_REMOVE } from "./dapp_publisher_portal.js";
|
|
3
|
+
const createRemoveRequest = async (connection, sign, appMintAddress, releaseMintAddress, publisherDetails, requestorIsAuthorized, criticalUpdate) => {
|
|
4
4
|
const { attestationPayload, requestUniqueId } = await createAttestationPayload(connection, sign);
|
|
5
5
|
const request = {
|
|
6
6
|
fields: [
|
|
@@ -24,6 +24,11 @@ const createRemoveRequest = async (connection, sign, releaseMintAddress, publish
|
|
|
24
24
|
name: TICKET_PROPERTY_ATTESTATION_PAYLOAD,
|
|
25
25
|
value: attestationPayload
|
|
26
26
|
},
|
|
27
|
+
{
|
|
28
|
+
objectTypeId: TICKET_OBJECT_ID,
|
|
29
|
+
name: TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS,
|
|
30
|
+
value: appMintAddress
|
|
31
|
+
},
|
|
27
32
|
{
|
|
28
33
|
objectTypeId: TICKET_OBJECT_ID,
|
|
29
34
|
name: TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS,
|
|
@@ -50,8 +55,8 @@ const createRemoveRequest = async (connection, sign, releaseMintAddress, publish
|
|
|
50
55
|
}
|
|
51
56
|
return request;
|
|
52
57
|
};
|
|
53
|
-
export const publishRemove = async (publishSolanaNetworkInput, { releaseMintAddress, publisherDetails, requestorIsAuthorized, criticalUpdate, }, dryRun) => {
|
|
54
|
-
const removeRequest = await createRemoveRequest(publishSolanaNetworkInput.connection, publishSolanaNetworkInput.sign, releaseMintAddress, publisherDetails, requestorIsAuthorized, criticalUpdate);
|
|
58
|
+
export const publishRemove = async (publishSolanaNetworkInput, { appMintAddress, releaseMintAddress, publisherDetails, requestorIsAuthorized, criticalUpdate, }, dryRun) => {
|
|
59
|
+
const removeRequest = await createRemoveRequest(publishSolanaNetworkInput.connection, publishSolanaNetworkInput.sign, appMintAddress, releaseMintAddress, publisherDetails, requestorIsAuthorized, criticalUpdate);
|
|
55
60
|
return submitRequestToSolanaDappPublisherPortal(removeRequest, URL_FORM_REMOVE, dryRun);
|
|
56
61
|
};
|
|
57
62
|
//# sourceMappingURL=remove.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/publish/remove.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,wCAAwC,EACxC,gBAAgB,EAChB,mCAAmC,EACnC,kCAAkC,EAClC,+BAA+B,EAC/B,4CAA4C,EAC5C,iCAAiC,EACjC,eAAe,EAChB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,mBAAmB,GAAG,KAAK,EAC/B,UAAsB,EACtB,IAA8B,EAC9B,kBAA0B,EAC1B,gBAA2B,EAC3B,qBAA8B,EAC9B,cAAuB,EACvB,EAAE;IACF,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEjG,MAAM,OAAO,GAAG;QACd,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,gBAAgB,CAAC,IAAI;aAC7B;YACD;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,gBAAgB,CAAC,KAAK;aAC9B;YACD;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,gBAAgB,CAAC,OAAO;aAChC;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,mCAAmC;gBACzC,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,4CAA4C;gBAClD,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,iCAAiC;gBACvC,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE,qBAAqB;aAC7B;SACF;KACF,CAAC;IAEF,IAAI,cAAc,EAAE;QAClB,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB;YACE,YAAY,EAAE,gBAAgB;YAC9B,IAAI,EAAE,+BAA+B;YACrC,KAAK,EAAE,cAAc;SACtB,CACF,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/publish/remove.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,wCAAwC,EACxC,gBAAgB,EAChB,mCAAmC,EACnC,kCAAkC,EAClC,+BAA+B,EAC/B,+CAA+C,EAC/C,4CAA4C,EAC5C,iCAAiC,EACjC,eAAe,EAChB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,mBAAmB,GAAG,KAAK,EAC/B,UAAsB,EACtB,IAA8B,EAC9B,cAAsB,EACtB,kBAA0B,EAC1B,gBAA2B,EAC3B,qBAA8B,EAC9B,cAAuB,EACvB,EAAE;IACF,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEjG,MAAM,OAAO,GAAG;QACd,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,gBAAgB,CAAC,IAAI;aAC7B;YACD;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,gBAAgB,CAAC,KAAK;aAC9B;YACD;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,gBAAgB,CAAC,OAAO;aAChC;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,mCAAmC;gBACzC,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,+CAA+C;gBACrD,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,4CAA4C;gBAClD,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,iCAAiC;gBACvC,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE,qBAAqB;aAC7B;SACF;KACF,CAAC;IAEF,IAAI,cAAc,EAAE;QAClB,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB;YACE,YAAY,EAAE,gBAAgB;YAC9B,IAAI,EAAE,+BAA+B;YACrC,KAAK,EAAE,cAAc;SACtB,CACF,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,yBAAoD,EACpD,EACE,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,GACM,EACtB,MAAe,EACf,EAAE;IACF,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAC7C,yBAAyB,CAAC,UAAU,EACpC,yBAAyB,CAAC,IAAI,EAC9B,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,CAAC,CAAC;IAElB,OAAO,wCAAwC,CAAC,aAAa,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;AAC1F,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createAttestationPayload } from "./attestation.js";
|
|
2
|
-
import { CONTACT_OBJECT_ID, CONTACT_PROPERTY_COMPANY, CONTACT_PROPERTY_EMAIL, CONTACT_PROPERTY_WEBSITE, submitRequestToSolanaDappPublisherPortal, TICKET_OBJECT_ID, TICKET_PROPERTY_ATTESTATION_PAYLOAD, TICKET_PROPERTY_AUTHORIZED_REQUEST, TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS, TICKET_PROPERTY_GOOGLE_PLAY_STORE_PACKAGE_NAME, TICKET_PROPERTY_POLICY_COMPLIANT, TICKET_PROPERTY_REQUEST_UNIQUE_ID, TICKET_PROPERTY_TESTING_INSTRUCTIONS, URL_FORM_SUBMIT } from "./dapp_publisher_portal.js";
|
|
3
|
-
const createSubmitRequest = async (connection, sign, releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized) => {
|
|
2
|
+
import { CONTACT_OBJECT_ID, CONTACT_PROPERTY_COMPANY, CONTACT_PROPERTY_EMAIL, CONTACT_PROPERTY_WEBSITE, submitRequestToSolanaDappPublisherPortal, TICKET_OBJECT_ID, TICKET_PROPERTY_ATTESTATION_PAYLOAD, TICKET_PROPERTY_AUTHORIZED_REQUEST, TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS, TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS, TICKET_PROPERTY_GOOGLE_PLAY_STORE_PACKAGE_NAME, TICKET_PROPERTY_POLICY_COMPLIANT, TICKET_PROPERTY_REQUEST_UNIQUE_ID, TICKET_PROPERTY_TESTING_INSTRUCTIONS, URL_FORM_SUBMIT } from "./dapp_publisher_portal.js";
|
|
3
|
+
const createSubmitRequest = async (connection, sign, appMintAddress, releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized) => {
|
|
4
4
|
const { attestationPayload, requestUniqueId } = await createAttestationPayload(connection, sign);
|
|
5
5
|
const request = {
|
|
6
6
|
fields: [
|
|
@@ -24,6 +24,11 @@ const createSubmitRequest = async (connection, sign, releaseMintAddress, publish
|
|
|
24
24
|
name: TICKET_PROPERTY_ATTESTATION_PAYLOAD,
|
|
25
25
|
value: attestationPayload
|
|
26
26
|
},
|
|
27
|
+
{
|
|
28
|
+
objectTypeId: TICKET_OBJECT_ID,
|
|
29
|
+
name: TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS,
|
|
30
|
+
value: appMintAddress
|
|
31
|
+
},
|
|
27
32
|
{
|
|
28
33
|
objectTypeId: TICKET_OBJECT_ID,
|
|
29
34
|
name: TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS,
|
|
@@ -62,8 +67,8 @@ const createSubmitRequest = async (connection, sign, releaseMintAddress, publish
|
|
|
62
67
|
}
|
|
63
68
|
return request;
|
|
64
69
|
};
|
|
65
|
-
export const publishSubmit = async (publishSolanaNetworkInput, { releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, }, dryRun) => {
|
|
66
|
-
const submitRequest = await createSubmitRequest(publishSolanaNetworkInput.connection, publishSolanaNetworkInput.sign, releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized);
|
|
70
|
+
export const publishSubmit = async (publishSolanaNetworkInput, { appMintAddress, releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, }, dryRun) => {
|
|
71
|
+
const submitRequest = await createSubmitRequest(publishSolanaNetworkInput.connection, publishSolanaNetworkInput.sign, appMintAddress, releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized);
|
|
67
72
|
return submitRequestToSolanaDappPublisherPortal(submitRequest, URL_FORM_SUBMIT, dryRun);
|
|
68
73
|
};
|
|
69
74
|
//# sourceMappingURL=submit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/publish/submit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,wCAAwC,EACxC,gBAAgB,EAChB,mCAAmC,EACnC,kCAAkC,EAClC,4CAA4C,EAC5C,8CAA8C,EAC9C,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,eAAe,EAChB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,mBAAmB,GAAG,KAAK,EAC/B,UAAsB,EACtB,IAA8B,EAC9B,kBAA0B,EAC1B,gBAA2B,EAC3B,sCAAuE,EACvE,mCAA4C,EAC5C,qBAA8B,EAC9B,EAAE;IACF,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEjG,MAAM,OAAO,GAAG;QACd,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,gBAAgB,CAAC,IAAI;aAC7B;YACD;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,gBAAgB,CAAC,KAAK;aAC9B;YACD;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,gBAAgB,CAAC,OAAO;aAChC;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,mCAAmC;gBACzC,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,4CAA4C;gBAClD,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,iCAAiC;gBACvC,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE,qBAAqB;aAC7B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,gCAAgC;gBACtC,KAAK,EAAE,mCAAmC;aAC3C;SACF;KACF,CAAC;IAEF,IAAI,sCAAsC,CAAC,oBAAoB,KAAK,SAAS,EAAE;QAC7E,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAClB,YAAY,EAAE,gBAAgB;YAC9B,IAAI,EAAE,8CAA8C;YACpD,KAAK,EAAE,sCAAsC,CAAC,oBAAoB;SACnE,CAAC,CAAC;KACJ;IAED,IAAI,sCAAsC,CAAC,oBAAoB,KAAK,SAAS,EAAE;QAC7E,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB;YACE,YAAY,EAAE,gBAAgB;YAC9B,IAAI,EAAE,oCAAoC;YAC1C,KAAK,EAAE,sCAAsC,CAAC,oBAAoB;SACnE,CACF,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/publish/submit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createAttestationPayload } from "./attestation.js";
|
|
2
|
-
import { CONTACT_OBJECT_ID, CONTACT_PROPERTY_COMPANY, CONTACT_PROPERTY_EMAIL, CONTACT_PROPERTY_WEBSITE, submitRequestToSolanaDappPublisherPortal, TICKET_OBJECT_ID, TICKET_PROPERTY_ATTESTATION_PAYLOAD, TICKET_PROPERTY_AUTHORIZED_REQUEST, TICKET_PROPERTY_CONTENT, TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS, TICKET_PROPERTY_REQUEST_UNIQUE_ID, URL_FORM_SUPPORT } from "./dapp_publisher_portal.js";
|
|
3
|
-
const createSupportRequest = async (connection, sign, releaseMintAddress, publisherDetails, requestorIsAuthorized, requestDetails) => {
|
|
2
|
+
import { CONTACT_OBJECT_ID, CONTACT_PROPERTY_COMPANY, CONTACT_PROPERTY_EMAIL, CONTACT_PROPERTY_WEBSITE, submitRequestToSolanaDappPublisherPortal, TICKET_OBJECT_ID, TICKET_PROPERTY_ATTESTATION_PAYLOAD, TICKET_PROPERTY_AUTHORIZED_REQUEST, TICKET_PROPERTY_CONTENT, TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS, TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS, TICKET_PROPERTY_REQUEST_UNIQUE_ID, URL_FORM_SUPPORT } from "./dapp_publisher_portal.js";
|
|
3
|
+
const createSupportRequest = async (connection, sign, appMintAddress, releaseMintAddress, publisherDetails, requestorIsAuthorized, requestDetails) => {
|
|
4
4
|
const { attestationPayload, requestUniqueId } = await createAttestationPayload(connection, sign);
|
|
5
5
|
return {
|
|
6
6
|
fields: [
|
|
@@ -29,6 +29,11 @@ const createSupportRequest = async (connection, sign, releaseMintAddress, publis
|
|
|
29
29
|
name: TICKET_PROPERTY_CONTENT,
|
|
30
30
|
value: requestDetails
|
|
31
31
|
},
|
|
32
|
+
{
|
|
33
|
+
objectTypeId: TICKET_OBJECT_ID,
|
|
34
|
+
name: TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS,
|
|
35
|
+
value: appMintAddress
|
|
36
|
+
},
|
|
32
37
|
{
|
|
33
38
|
objectTypeId: TICKET_OBJECT_ID,
|
|
34
39
|
name: TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS,
|
|
@@ -47,8 +52,8 @@ const createSupportRequest = async (connection, sign, releaseMintAddress, publis
|
|
|
47
52
|
]
|
|
48
53
|
};
|
|
49
54
|
};
|
|
50
|
-
export const publishSupport = async (publishSolanaNetworkInput, { releaseMintAddress, publisherDetails, requestorIsAuthorized, requestDetails, }, dryRun) => {
|
|
51
|
-
const supportRequest = await createSupportRequest(publishSolanaNetworkInput.connection, publishSolanaNetworkInput.sign, releaseMintAddress, publisherDetails, requestorIsAuthorized, requestDetails);
|
|
55
|
+
export const publishSupport = async (publishSolanaNetworkInput, { appMintAddress, releaseMintAddress, publisherDetails, requestorIsAuthorized, requestDetails, }, dryRun) => {
|
|
56
|
+
const supportRequest = await createSupportRequest(publishSolanaNetworkInput.connection, publishSolanaNetworkInput.sign, appMintAddress, releaseMintAddress, publisherDetails, requestorIsAuthorized, requestDetails);
|
|
52
57
|
return submitRequestToSolanaDappPublisherPortal(supportRequest, URL_FORM_SUPPORT, dryRun);
|
|
53
58
|
};
|
|
54
59
|
//# sourceMappingURL=support.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"support.js","sourceRoot":"","sources":["../../../src/publish/support.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,wCAAwC,EACxC,gBAAgB,EAChB,mCAAmC,EACnC,kCAAkC,EAClC,uBAAuB,EACvB,4CAA4C,EAC5C,iCAAiC,EACjC,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,oBAAoB,GAAG,KAAK,EAChC,UAAsB,EACtB,IAA8B,EAC9B,kBAA0B,EAC1B,gBAA2B,EAC3B,qBAA8B,EAC9B,cAAsB,EACtB,EAAE;IACF,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEjG,OAAO;QACL,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,gBAAgB,CAAC,IAAI;aAC7B;YACD;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,gBAAgB,CAAC,KAAK;aAC9B;YACD;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,gBAAgB,CAAC,OAAO;aAChC;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,mCAAmC;gBACzC,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,4CAA4C;gBAClD,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,iCAAiC;gBACvC,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE,qBAAqB;aAC7B;SACF;KACF,CAAC;AACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"support.js","sourceRoot":"","sources":["../../../src/publish/support.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,wCAAwC,EACxC,gBAAgB,EAChB,mCAAmC,EACnC,kCAAkC,EAClC,uBAAuB,EACvB,+CAA+C,EAC/C,4CAA4C,EAC5C,iCAAiC,EACjC,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,oBAAoB,GAAG,KAAK,EAChC,UAAsB,EACtB,IAA8B,EAC9B,cAAsB,EACtB,kBAA0B,EAC1B,gBAA2B,EAC3B,qBAA8B,EAC9B,cAAsB,EACtB,EAAE;IACF,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEjG,OAAO;QACL,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,gBAAgB,CAAC,IAAI;aAC7B;YACD;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,gBAAgB,CAAC,KAAK;aAC9B;YACD;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,gBAAgB,CAAC,OAAO;aAChC;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,mCAAmC;gBACzC,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,+CAA+C;gBACrD,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,4CAA4C;gBAClD,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,iCAAiC;gBACvC,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE,qBAAqB;aAC7B;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,yBAAoD,EACpD,EACE,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,GACO,EACvB,MAAe,EACf,EAAE;IACF,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAC/C,yBAAyB,CAAC,UAAU,EACpC,yBAAyB,CAAC,IAAI,EAC9B,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,CAAC,CAAC;IAElB,OAAO,wCAAwC,CAAC,cAAc,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAC5F,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createAttestationPayload } from "./attestation.js";
|
|
2
|
-
import { CONTACT_OBJECT_ID, CONTACT_PROPERTY_COMPANY, CONTACT_PROPERTY_EMAIL, CONTACT_PROPERTY_WEBSITE, submitRequestToSolanaDappPublisherPortal, TICKET_OBJECT_ID, TICKET_PROPERTY_ATTESTATION_PAYLOAD, TICKET_PROPERTY_AUTHORIZED_REQUEST, TICKET_PROPERTY_CRITICAL_UPDATE, TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS, TICKET_PROPERTY_POLICY_COMPLIANT, TICKET_PROPERTY_REQUEST_UNIQUE_ID, TICKET_PROPERTY_TESTING_INSTRUCTIONS, URL_FORM_UPDATE } from "./dapp_publisher_portal.js";
|
|
3
|
-
const createUpdateRequest = async (connection, sign, releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, criticalUpdate) => {
|
|
2
|
+
import { CONTACT_OBJECT_ID, CONTACT_PROPERTY_COMPANY, CONTACT_PROPERTY_EMAIL, CONTACT_PROPERTY_WEBSITE, submitRequestToSolanaDappPublisherPortal, TICKET_OBJECT_ID, TICKET_PROPERTY_ATTESTATION_PAYLOAD, TICKET_PROPERTY_AUTHORIZED_REQUEST, TICKET_PROPERTY_CRITICAL_UPDATE, TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS, TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS, TICKET_PROPERTY_POLICY_COMPLIANT, TICKET_PROPERTY_REQUEST_UNIQUE_ID, TICKET_PROPERTY_TESTING_INSTRUCTIONS, URL_FORM_UPDATE } from "./dapp_publisher_portal.js";
|
|
3
|
+
const createUpdateRequest = async (connection, sign, appMintAddress, releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, criticalUpdate) => {
|
|
4
4
|
const { attestationPayload, requestUniqueId } = await createAttestationPayload(connection, sign);
|
|
5
5
|
const request = {
|
|
6
6
|
fields: [
|
|
@@ -24,6 +24,11 @@ const createUpdateRequest = async (connection, sign, releaseMintAddress, publish
|
|
|
24
24
|
name: TICKET_PROPERTY_ATTESTATION_PAYLOAD,
|
|
25
25
|
value: attestationPayload
|
|
26
26
|
},
|
|
27
|
+
{
|
|
28
|
+
objectTypeId: TICKET_OBJECT_ID,
|
|
29
|
+
name: TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS,
|
|
30
|
+
value: appMintAddress
|
|
31
|
+
},
|
|
27
32
|
{
|
|
28
33
|
objectTypeId: TICKET_OBJECT_ID,
|
|
29
34
|
name: TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS,
|
|
@@ -62,8 +67,8 @@ const createUpdateRequest = async (connection, sign, releaseMintAddress, publish
|
|
|
62
67
|
}
|
|
63
68
|
return request;
|
|
64
69
|
};
|
|
65
|
-
export const publishUpdate = async (publishSolanaNetworkInput, { releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, criticalUpdate, }, dryRun) => {
|
|
66
|
-
const updateRequest = await createUpdateRequest(publishSolanaNetworkInput.connection, publishSolanaNetworkInput.sign, releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, criticalUpdate);
|
|
70
|
+
export const publishUpdate = async (publishSolanaNetworkInput, { appMintAddress, releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, criticalUpdate, }, dryRun) => {
|
|
71
|
+
const updateRequest = await createUpdateRequest(publishSolanaNetworkInput.connection, publishSolanaNetworkInput.sign, appMintAddress, releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, criticalUpdate);
|
|
67
72
|
submitRequestToSolanaDappPublisherPortal(updateRequest, URL_FORM_UPDATE, dryRun);
|
|
68
73
|
};
|
|
69
74
|
//# sourceMappingURL=update.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/publish/update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,wCAAwC,EACxC,gBAAgB,EAChB,mCAAmC,EACnC,kCAAkC,EAClC,+BAA+B,EAC/B,4CAA4C,EAC5C,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,eAAe,EAChB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,mBAAmB,GAAG,KAAK,EAC/B,UAAsB,EACtB,IAA8B,EAC9B,kBAA0B,EAC1B,gBAA2B,EAC3B,sCAAuE,EACvE,mCAA4C,EAC5C,qBAA8B,EAC9B,cAAuB,EACvB,EAAE;IACF,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEjG,MAAM,OAAO,GAAG;QACd,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,gBAAgB,CAAC,IAAI;aAC7B;YACD;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,gBAAgB,CAAC,KAAK;aAC9B;YACD;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,gBAAgB,CAAC,OAAO;aAChC;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,mCAAmC;gBACzC,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,4CAA4C;gBAClD,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,iCAAiC;gBACvC,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE,qBAAqB;aAC7B;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,gCAAgC;gBACtC,KAAK,EAAE,mCAAmC;aAC3C;SACF;KACF,CAAC;IAEF,IAAI,cAAc,EAAE;QAClB,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB;YACE,YAAY,EAAE,gBAAgB;YAC9B,IAAI,EAAE,+BAA+B;YACrC,KAAK,EAAE,cAAc;SACtB,CACF,CAAC;KACH;IAED,IAAI,sCAAsC,CAAC,oBAAoB,KAAK,SAAS,EAAE;QAC7E,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB;YACE,YAAY,EAAE,gBAAgB;YAC9B,IAAI,EAAE,oCAAoC;YAC1C,KAAK,EAAE,sCAAsC,CAAC,oBAAoB;SACnE,CACF,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/publish/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import Ajv from "ajv";
|
|
2
2
|
// eslint-disable-next-line require-extensions/require-extensions
|
|
3
|
-
import publisherSchema from "./schemas/publisherJsonMetadata.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";
|
|
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";
|
|
7
|
+
import releaseSchema from "./schemas/releaseJsonMetadata.json" assert { type: "json" };
|
|
8
8
|
export const validatePublisher = (publisherJson) => {
|
|
9
9
|
const jsonToValidate = { ...publisherJson };
|
|
10
10
|
if (typeof jsonToValidate.image !== "string") {
|
|
@@ -34,9 +34,27 @@ export const validateApp = (appJson) => {
|
|
|
34
34
|
return valid;
|
|
35
35
|
};
|
|
36
36
|
export const validateRelease = (releaseJson) => {
|
|
37
|
+
const jsonToValidate = { ...releaseJson };
|
|
38
|
+
if (typeof jsonToValidate.image !== "string") {
|
|
39
|
+
jsonToValidate.image = jsonToValidate.image?.fileName;
|
|
40
|
+
}
|
|
41
|
+
// We need to replace media MetaplexFile instances with strings for validation
|
|
42
|
+
jsonToValidate.extensions.solana_dapp_store.media.forEach((media, index) => {
|
|
43
|
+
if (typeof media.uri !== "string") {
|
|
44
|
+
// @ts-ignore Ignoring hard type override from Metaplex to string
|
|
45
|
+
jsonToValidate.extensions.solana_dapp_store.media[index].uri = media.uri.fileName;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
// We need to replace file MetaplexFile instances with strings for validation
|
|
49
|
+
jsonToValidate.extensions.solana_dapp_store.files.forEach((file, index) => {
|
|
50
|
+
if (typeof file.uri !== "string") {
|
|
51
|
+
// @ts-ignore
|
|
52
|
+
jsonToValidate.extensions.solana_dapp_store.files[index].uri = file.uri.fileName;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
37
55
|
const ajv = new Ajv({ strictTuples: false });
|
|
38
56
|
const validate = ajv.compile(releaseSchema);
|
|
39
|
-
const valid = validate(
|
|
57
|
+
const valid = validate(jsonToValidate);
|
|
40
58
|
if (!valid) {
|
|
41
59
|
console.error(validate.errors);
|
|
42
60
|
throw new Error("Release JSON not valid");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validate/index.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validate/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,6 +107,9 @@
|
|
|
107
107
|
"purpose": {
|
|
108
108
|
"type": "string"
|
|
109
109
|
},
|
|
110
|
+
"uri": {
|
|
111
|
+
"type": "string"
|
|
112
|
+
},
|
|
110
113
|
"width": {
|
|
111
114
|
"type": "integer"
|
|
112
115
|
},
|
|
@@ -117,7 +120,7 @@
|
|
|
117
120
|
"type": "string"
|
|
118
121
|
}
|
|
119
122
|
},
|
|
120
|
-
"required": ["mime", "purpose", "width", "height", "sha256"]
|
|
123
|
+
"required": ["mime", "purpose", "uri", "width", "height", "sha256"]
|
|
121
124
|
}
|
|
122
125
|
},
|
|
123
126
|
"files": {
|
|
@@ -134,11 +137,14 @@
|
|
|
134
137
|
"size": {
|
|
135
138
|
"type": "integer"
|
|
136
139
|
},
|
|
140
|
+
"uri": {
|
|
141
|
+
"type": "string"
|
|
142
|
+
},
|
|
137
143
|
"sha256": {
|
|
138
144
|
"type": "string"
|
|
139
145
|
}
|
|
140
146
|
},
|
|
141
|
-
"required": ["mime", "purpose", "size", "sha256"]
|
|
147
|
+
"required": ["mime", "purpose", "size", "uri", "sha256"]
|
|
142
148
|
}
|
|
143
149
|
},
|
|
144
150
|
"android_details": {
|
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
import type { MetaplexFile } from "@metaplex-foundation/js";
|
|
2
1
|
import type { Keypair, PublicKey } from "@solana/web3.js";
|
|
3
|
-
import type { App, Context, Publisher, Release
|
|
4
|
-
declare type MetaplexFileReleaseJsonMetadata = ReleaseJsonMetadata & {
|
|
5
|
-
extensions: {
|
|
6
|
-
solana_dapp_store: {
|
|
7
|
-
media: {
|
|
8
|
-
uri: MetaplexFile;
|
|
9
|
-
}[];
|
|
10
|
-
files: {
|
|
11
|
-
uri: MetaplexFile;
|
|
12
|
-
}[];
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
};
|
|
2
|
+
import type { App, Context, MetaplexFileReleaseJsonMetadata, Publisher, Release } from "../types.js";
|
|
16
3
|
export declare const createReleaseJson: ({ releaseDetails, appDetails, publisherDetails, }: {
|
|
17
4
|
releaseDetails: Release;
|
|
18
5
|
appDetails: App;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/create/release.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -8,6 +8,7 @@ export declare const TICKET_PROPERTY_CONTENT = "content";
|
|
|
8
8
|
export declare const TICKET_PROPERTY_ATTESTATION_PAYLOAD = "attestation_payload";
|
|
9
9
|
export declare const TICKET_PROPERTY_AUTHORIZED_REQUEST = "requestor_is_authorized_to_submit_this_request";
|
|
10
10
|
export declare const TICKET_PROPERTY_CRITICAL_UPDATE = "critical_update";
|
|
11
|
+
export declare const TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS = "dapp_collection_account_address";
|
|
11
12
|
export declare const TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS = "dapp_release_account_address";
|
|
12
13
|
export declare const TICKET_PROPERTY_GOOGLE_PLAY_STORE_PACKAGE_NAME = "google_play_store_package_name";
|
|
13
14
|
export declare const TICKET_PROPERTY_POLICY_COMPLIANT = "complies_with_solana_dapp_store_policies";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dapp_publisher_portal.d.ts","sourceRoot":"","sources":["../../../src/publish/dapp_publisher_portal.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,aAAa,CAAC;AAEpC,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAC9C,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAElD,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,mCAAmC,wBAAwB,CAAC;AACzE,eAAO,MAAM,kCAAkC,mDAAmD,CAAC;AACnG,eAAO,MAAM,+BAA+B,oBAAoB,CAAC;AACjE,eAAO,MAAM,4CAA4C,iCAAiC,CAAC;AAC3F,eAAO,MAAM,8CAA8C,mCAAmC,CAAC;AAC/F,eAAO,MAAM,gCAAgC,6CAA6C,CAAC;AAC3F,eAAO,MAAM,iCAAiC,sBAAsB,CAAC;AACrE,eAAO,MAAM,oCAAoC,yBAAyB,CAAC;AAE3E,eAAO,MAAM,WAAW,yCAAyC,CAAC;AAClE,eAAO,MAAM,WAAW,yCAAyC,CAAC;AAClE,eAAO,MAAM,WAAW,yCAAyC,CAAC;AAClE,eAAO,MAAM,YAAY,yCAAyC,CAAC;AAEnE,eAAO,MAAM,eAAe,QAA0F,CAAA;AACtH,eAAO,MAAM,eAAe,QAA0F,CAAA;AACtH,eAAO,MAAM,eAAe,QAA0F,CAAA;AACtH,eAAO,MAAM,gBAAgB,QAA2F,CAAA;AAExH,eAAO,MAAM,wCAAwC,YAC1C,GAAG,OACP,MAAM,UACH,OAAO,kBA8BhB,CAAC"}
|
|
1
|
+
{"version":3,"file":"dapp_publisher_portal.d.ts","sourceRoot":"","sources":["../../../src/publish/dapp_publisher_portal.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,aAAa,CAAC;AAEpC,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAC9C,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAElD,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,mCAAmC,wBAAwB,CAAC;AACzE,eAAO,MAAM,kCAAkC,mDAAmD,CAAC;AACnG,eAAO,MAAM,+BAA+B,oBAAoB,CAAC;AACjE,eAAO,MAAM,+CAA+C,oCAAoC,CAAC;AACjG,eAAO,MAAM,4CAA4C,iCAAiC,CAAC;AAC3F,eAAO,MAAM,8CAA8C,mCAAmC,CAAC;AAC/F,eAAO,MAAM,gCAAgC,6CAA6C,CAAC;AAC3F,eAAO,MAAM,iCAAiC,sBAAsB,CAAC;AACrE,eAAO,MAAM,oCAAoC,yBAAyB,CAAC;AAE3E,eAAO,MAAM,WAAW,yCAAyC,CAAC;AAClE,eAAO,MAAM,WAAW,yCAAyC,CAAC;AAClE,eAAO,MAAM,WAAW,yCAAyC,CAAC;AAClE,eAAO,MAAM,YAAY,yCAAyC,CAAC;AAEnE,eAAO,MAAM,eAAe,QAA0F,CAAA;AACtH,eAAO,MAAM,eAAe,QAA0F,CAAA;AACtH,eAAO,MAAM,eAAe,QAA0F,CAAA;AACtH,eAAO,MAAM,gBAAgB,QAA2F,CAAA;AAExH,eAAO,MAAM,wCAAwC,YAC1C,GAAG,OACP,MAAM,UACH,OAAO,kBA8BhB,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { Publisher } from "../types.js";
|
|
2
2
|
import { PublishSolanaNetworkInput } from "./types.js";
|
|
3
3
|
export declare type PublishRemoveInput = {
|
|
4
|
+
appMintAddress: string;
|
|
4
5
|
releaseMintAddress: string;
|
|
5
6
|
publisherDetails: Publisher;
|
|
6
7
|
requestorIsAuthorized: boolean;
|
|
7
8
|
criticalUpdate: boolean;
|
|
8
9
|
};
|
|
9
|
-
export declare const publishRemove: (publishSolanaNetworkInput: PublishSolanaNetworkInput, { releaseMintAddress, publisherDetails, requestorIsAuthorized, criticalUpdate, }: PublishRemoveInput, dryRun: boolean) => Promise<void>;
|
|
10
|
+
export declare const publishRemove: (publishSolanaNetworkInput: PublishSolanaNetworkInput, { appMintAddress, releaseMintAddress, publisherDetails, requestorIsAuthorized, criticalUpdate, }: PublishRemoveInput, dryRun: boolean) => Promise<void>;
|
|
10
11
|
//# sourceMappingURL=remove.d.ts.map
|
|
@@ -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;
|
|
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,11 +1,12 @@
|
|
|
1
1
|
import type { Publisher, SolanaMobileDappPublisherPortal } from "../types.js";
|
|
2
2
|
import { PublishSolanaNetworkInput } from "./types.js";
|
|
3
3
|
export declare type PublishSubmitInput = {
|
|
4
|
+
appMintAddress: string;
|
|
4
5
|
releaseMintAddress: string;
|
|
5
6
|
publisherDetails: Publisher;
|
|
6
7
|
solanaMobileDappPublisherPortalDetails: SolanaMobileDappPublisherPortal;
|
|
7
8
|
compliesWithSolanaDappStorePolicies: boolean;
|
|
8
9
|
requestorIsAuthorized: boolean;
|
|
9
10
|
};
|
|
10
|
-
export declare const publishSubmit: (publishSolanaNetworkInput: PublishSolanaNetworkInput, { releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, }: PublishSubmitInput, dryRun: boolean) => Promise<void>;
|
|
11
|
+
export declare const publishSubmit: (publishSolanaNetworkInput: PublishSolanaNetworkInput, { appMintAddress, releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, }: PublishSubmitInput, dryRun: boolean) => Promise<void>;
|
|
11
12
|
//# sourceMappingURL=submit.d.ts.map
|
|
@@ -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;
|
|
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,10 +1,11 @@
|
|
|
1
1
|
import type { Publisher } from "../types.js";
|
|
2
2
|
import { PublishSolanaNetworkInput } from "./types.js";
|
|
3
3
|
export declare type PublishSupportInput = {
|
|
4
|
+
appMintAddress: string;
|
|
4
5
|
releaseMintAddress: string;
|
|
5
6
|
publisherDetails: Publisher;
|
|
6
7
|
requestorIsAuthorized: boolean;
|
|
7
8
|
requestDetails: string;
|
|
8
9
|
};
|
|
9
|
-
export declare const publishSupport: (publishSolanaNetworkInput: PublishSolanaNetworkInput, { releaseMintAddress, publisherDetails, requestorIsAuthorized, requestDetails, }: PublishSupportInput, dryRun: boolean) => Promise<void>;
|
|
10
|
+
export declare const publishSupport: (publishSolanaNetworkInput: PublishSolanaNetworkInput, { appMintAddress, releaseMintAddress, publisherDetails, requestorIsAuthorized, requestDetails, }: PublishSupportInput, dryRun: boolean) => Promise<void>;
|
|
10
11
|
//# sourceMappingURL=support.d.ts.map
|
|
@@ -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;
|
|
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,6 +1,7 @@
|
|
|
1
1
|
import type { Publisher, SolanaMobileDappPublisherPortal } from "../types.js";
|
|
2
2
|
import { PublishSolanaNetworkInput } from "./types.js";
|
|
3
3
|
export declare type PublishUpdateInput = {
|
|
4
|
+
appMintAddress: string;
|
|
4
5
|
releaseMintAddress: string;
|
|
5
6
|
publisherDetails: Publisher;
|
|
6
7
|
solanaMobileDappPublisherPortalDetails: SolanaMobileDappPublisherPortal;
|
|
@@ -8,5 +9,5 @@ export declare type PublishUpdateInput = {
|
|
|
8
9
|
requestorIsAuthorized: boolean;
|
|
9
10
|
criticalUpdate: boolean;
|
|
10
11
|
};
|
|
11
|
-
export declare const publishUpdate: (publishSolanaNetworkInput: PublishSolanaNetworkInput, { releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, criticalUpdate, }: PublishUpdateInput, dryRun: boolean) => Promise<void>;
|
|
12
|
+
export declare const publishUpdate: (publishSolanaNetworkInput: PublishSolanaNetworkInput, { appMintAddress, releaseMintAddress, publisherDetails, solanaMobileDappPublisherPortalDetails, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, criticalUpdate, }: PublishUpdateInput, dryRun: boolean) => Promise<void>;
|
|
12
13
|
//# sourceMappingURL=update.d.ts.map
|
|
@@ -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;
|
|
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"}
|
package/lib/types/types.d.ts
CHANGED
|
@@ -8,6 +8,19 @@ export declare type PublisherMetadata = Omit<PublisherJsonMetadata, "image"> & {
|
|
|
8
8
|
export declare type AppMetadata = Omit<AppJsonMetadata, "image"> & {
|
|
9
9
|
image: string | MetaplexFile;
|
|
10
10
|
};
|
|
11
|
+
export declare type MetaplexFileReleaseJsonMetadata = Omit<ReleaseJsonMetadata, "image"> & {
|
|
12
|
+
image: string | MetaplexFile;
|
|
13
|
+
extensions: {
|
|
14
|
+
solana_dapp_store: {
|
|
15
|
+
media: {
|
|
16
|
+
uri: MetaplexFile;
|
|
17
|
+
}[];
|
|
18
|
+
files: {
|
|
19
|
+
uri: MetaplexFile;
|
|
20
|
+
}[];
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
};
|
|
11
24
|
export declare type Context = {
|
|
12
25
|
publisher: Keypair;
|
|
13
26
|
metaplex: Metaplex;
|
|
@@ -49,7 +62,6 @@ export declare type Release = {
|
|
|
49
62
|
catalog: {
|
|
50
63
|
[locale: string]: {
|
|
51
64
|
name: string;
|
|
52
|
-
short_description: string;
|
|
53
65
|
long_description: string;
|
|
54
66
|
new_in_version: string;
|
|
55
67
|
saga_features: string;
|
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,+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,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,
|
|
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,5 +1,5 @@
|
|
|
1
|
-
import type { AppMetadata,
|
|
1
|
+
import type { AppMetadata, MetaplexFileReleaseJsonMetadata, PublisherMetadata } from "../types.js";
|
|
2
2
|
export declare const validatePublisher: (publisherJson: PublisherMetadata) => true;
|
|
3
3
|
export declare const validateApp: (appJson: AppMetadata) => true;
|
|
4
|
-
export declare const validateRelease: (releaseJson:
|
|
4
|
+
export declare const validateRelease: (releaseJson: MetaplexFileReleaseJsonMetadata) => true;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validate/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,
|
|
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,SA+B3E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solana-mobile/dapp-store-publishing-tools",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"main": "./lib/cjs/index.js",
|
|
8
8
|
"module": "./lib/esm/index.js",
|
|
9
9
|
"types": "./lib/types/index.d.ts",
|
|
10
|
+
"engines": {
|
|
11
|
+
"node": ">=18"
|
|
12
|
+
},
|
|
10
13
|
"exports": {
|
|
11
14
|
"import": "./lib/esm/index.js",
|
|
12
15
|
"require": "./lib/cjs/index.js",
|
package/src/create/release.ts
CHANGED
|
@@ -14,9 +14,10 @@ import type { Keypair, PublicKey } from "@solana/web3.js";
|
|
|
14
14
|
import type {
|
|
15
15
|
App,
|
|
16
16
|
Context,
|
|
17
|
+
MetaplexFileReleaseJsonMetadata,
|
|
17
18
|
Publisher,
|
|
18
19
|
Release,
|
|
19
|
-
ReleaseJsonMetadata
|
|
20
|
+
ReleaseJsonMetadata
|
|
20
21
|
} from "../types.js";
|
|
21
22
|
|
|
22
23
|
const runImgSize = util.promisify(imageSize);
|
|
@@ -32,7 +33,7 @@ const getFileMetadata = async (item: Media | File) => {
|
|
|
32
33
|
// TODO(jon): This stuff should be probably be in `packages/cli`
|
|
33
34
|
const mediaBuffer = await fs.promises.readFile(file);
|
|
34
35
|
const size = (await fs.promises.stat(file)).size;
|
|
35
|
-
const hash = createHash("sha256").update(mediaBuffer).digest("
|
|
36
|
+
const hash = createHash("sha256").update(mediaBuffer).digest("hex");
|
|
36
37
|
const metadata = {
|
|
37
38
|
purpose: item.purpose,
|
|
38
39
|
uri: toMetaplexFile(mediaBuffer, item.uri),
|
|
@@ -55,15 +56,6 @@ const getMediaMetadata = async (item: Media) => {
|
|
|
55
56
|
};
|
|
56
57
|
};
|
|
57
58
|
|
|
58
|
-
type MetaplexFileReleaseJsonMetadata = ReleaseJsonMetadata & {
|
|
59
|
-
extensions: {
|
|
60
|
-
solana_dapp_store: {
|
|
61
|
-
media: { uri: MetaplexFile }[];
|
|
62
|
-
files: { uri: MetaplexFile }[];
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
|
|
67
59
|
export const createReleaseJson = async (
|
|
68
60
|
{
|
|
69
61
|
releaseDetails,
|
|
@@ -72,9 +64,6 @@ export const createReleaseJson = async (
|
|
|
72
64
|
}: { releaseDetails: Release; appDetails: App; publisherDetails: Publisher },
|
|
73
65
|
publisherAddress: PublicKey
|
|
74
66
|
): Promise<MetaplexFileReleaseJsonMetadata> => {
|
|
75
|
-
const truncatedAppMintAddress = truncateAddress(appDetails.address);
|
|
76
|
-
|
|
77
|
-
const releaseName = `${Object.values(releaseDetails.catalog)[0].name} ${releaseDetails.android_details.version}`;
|
|
78
67
|
|
|
79
68
|
const media = [];
|
|
80
69
|
debug({ media: releaseDetails.media });
|
|
@@ -90,10 +79,9 @@ export const createReleaseJson = async (
|
|
|
90
79
|
|
|
91
80
|
const releaseMetadata: MetaplexFileReleaseJsonMetadata = {
|
|
92
81
|
schema_version: "0.2.4",
|
|
93
|
-
name:
|
|
94
|
-
description:
|
|
95
|
-
|
|
96
|
-
image: "",
|
|
82
|
+
name: "Release: " + appDetails.name,
|
|
83
|
+
description: `Release NFT for ${appDetails.name} version ${releaseDetails.android_details.version}`,
|
|
84
|
+
image: appDetails.icon!,
|
|
97
85
|
external_url: appDetails.urls.website,
|
|
98
86
|
properties: {
|
|
99
87
|
category: "dApp",
|
|
@@ -106,6 +94,7 @@ export const createReleaseJson = async (
|
|
|
106
94
|
},
|
|
107
95
|
extensions: {
|
|
108
96
|
solana_dapp_store: {
|
|
97
|
+
// @ts-expect-error
|
|
109
98
|
publisher_details: {
|
|
110
99
|
name: publisherDetails.name,
|
|
111
100
|
website: publisherDetails.website,
|
|
@@ -117,16 +106,13 @@ export const createReleaseJson = async (
|
|
|
117
106
|
copyright_url: appDetails.urls.copyright_url,
|
|
118
107
|
privacy_policy_url: appDetails.urls.privacy_policy_url,
|
|
119
108
|
localized_resources: {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
name: "5",
|
|
109
|
+
long_description: "1",
|
|
110
|
+
new_in_version: "2",
|
|
111
|
+
saga_features: "3",
|
|
112
|
+
name: "4",
|
|
125
113
|
},
|
|
126
114
|
},
|
|
127
|
-
// @ts-expect-error It's a bit of a headache to modify the deeply-nested extension.solana_dapp_store.media.uri type
|
|
128
115
|
media,
|
|
129
|
-
// @ts-expect-error It's a bit of a headache to modify the deeply-nested extension.solana_dapp_store.files.uri type
|
|
130
116
|
files,
|
|
131
117
|
android_details: releaseDetails.android_details,
|
|
132
118
|
},
|
|
@@ -135,12 +121,12 @@ export const createReleaseJson = async (
|
|
|
135
121
|
};
|
|
136
122
|
|
|
137
123
|
for (const [locale, strings] of Object.entries(releaseDetails.catalog)) {
|
|
124
|
+
// @ts-expect-error
|
|
138
125
|
releaseMetadata.extensions.i18n[locale] = {
|
|
139
|
-
"1": strings.
|
|
140
|
-
"2": strings.
|
|
141
|
-
"3": strings.
|
|
142
|
-
"4": strings.
|
|
143
|
-
"5": strings.name,
|
|
126
|
+
"1": strings.long_description,
|
|
127
|
+
"2": strings.new_in_version,
|
|
128
|
+
"3": strings.saga_features,
|
|
129
|
+
"4": strings.name,
|
|
144
130
|
};
|
|
145
131
|
}
|
|
146
132
|
|
|
@@ -12,6 +12,7 @@ export const TICKET_PROPERTY_CONTENT = "content"; // string
|
|
|
12
12
|
export const TICKET_PROPERTY_ATTESTATION_PAYLOAD = "attestation_payload"; // base64-encoded string
|
|
13
13
|
export const TICKET_PROPERTY_AUTHORIZED_REQUEST = "requestor_is_authorized_to_submit_this_request"; // boolean
|
|
14
14
|
export const TICKET_PROPERTY_CRITICAL_UPDATE = "critical_update"; // boolean
|
|
15
|
+
export const TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS = "dapp_collection_account_address"; // base58-encoded string
|
|
15
16
|
export const TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS = "dapp_release_account_address"; // base58-encoded string
|
|
16
17
|
export const TICKET_PROPERTY_GOOGLE_PLAY_STORE_PACKAGE_NAME = "google_play_store_package_name"; // string
|
|
17
18
|
export const TICKET_PROPERTY_POLICY_COMPLIANT = "complies_with_solana_dapp_store_policies"; // boolean
|
package/src/publish/remove.ts
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
TICKET_PROPERTY_ATTESTATION_PAYLOAD,
|
|
12
12
|
TICKET_PROPERTY_AUTHORIZED_REQUEST,
|
|
13
13
|
TICKET_PROPERTY_CRITICAL_UPDATE,
|
|
14
|
+
TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS,
|
|
14
15
|
TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS,
|
|
15
16
|
TICKET_PROPERTY_REQUEST_UNIQUE_ID,
|
|
16
17
|
URL_FORM_REMOVE
|
|
@@ -20,6 +21,7 @@ import { PublishSolanaNetworkInput, SignWithPublisherKeypair } from "./types.js"
|
|
|
20
21
|
const createRemoveRequest = async (
|
|
21
22
|
connection: Connection,
|
|
22
23
|
sign: SignWithPublisherKeypair,
|
|
24
|
+
appMintAddress: string,
|
|
23
25
|
releaseMintAddress: string,
|
|
24
26
|
publisherDetails: Publisher,
|
|
25
27
|
requestorIsAuthorized: boolean,
|
|
@@ -49,6 +51,11 @@ const createRemoveRequest = async (
|
|
|
49
51
|
name: TICKET_PROPERTY_ATTESTATION_PAYLOAD,
|
|
50
52
|
value: attestationPayload
|
|
51
53
|
},
|
|
54
|
+
{
|
|
55
|
+
objectTypeId: TICKET_OBJECT_ID,
|
|
56
|
+
name: TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS,
|
|
57
|
+
value: appMintAddress
|
|
58
|
+
},
|
|
52
59
|
{
|
|
53
60
|
objectTypeId: TICKET_OBJECT_ID,
|
|
54
61
|
name: TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS,
|
|
@@ -81,6 +88,7 @@ const createRemoveRequest = async (
|
|
|
81
88
|
};
|
|
82
89
|
|
|
83
90
|
export type PublishRemoveInput = {
|
|
91
|
+
appMintAddress: string;
|
|
84
92
|
releaseMintAddress: string;
|
|
85
93
|
publisherDetails: Publisher;
|
|
86
94
|
requestorIsAuthorized: boolean;
|
|
@@ -90,6 +98,7 @@ export type PublishRemoveInput = {
|
|
|
90
98
|
export const publishRemove = async (
|
|
91
99
|
publishSolanaNetworkInput: PublishSolanaNetworkInput,
|
|
92
100
|
{
|
|
101
|
+
appMintAddress,
|
|
93
102
|
releaseMintAddress,
|
|
94
103
|
publisherDetails,
|
|
95
104
|
requestorIsAuthorized,
|
|
@@ -100,6 +109,7 @@ export const publishRemove = async (
|
|
|
100
109
|
const removeRequest = await createRemoveRequest(
|
|
101
110
|
publishSolanaNetworkInput.connection,
|
|
102
111
|
publishSolanaNetworkInput.sign,
|
|
112
|
+
appMintAddress,
|
|
103
113
|
releaseMintAddress,
|
|
104
114
|
publisherDetails,
|
|
105
115
|
requestorIsAuthorized,
|
package/src/publish/submit.ts
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
TICKET_OBJECT_ID,
|
|
11
11
|
TICKET_PROPERTY_ATTESTATION_PAYLOAD,
|
|
12
12
|
TICKET_PROPERTY_AUTHORIZED_REQUEST,
|
|
13
|
+
TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS,
|
|
13
14
|
TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS,
|
|
14
15
|
TICKET_PROPERTY_GOOGLE_PLAY_STORE_PACKAGE_NAME,
|
|
15
16
|
TICKET_PROPERTY_POLICY_COMPLIANT,
|
|
@@ -22,6 +23,7 @@ import { PublishSolanaNetworkInput, SignWithPublisherKeypair } from "./types.js"
|
|
|
22
23
|
const createSubmitRequest = async (
|
|
23
24
|
connection: Connection,
|
|
24
25
|
sign: SignWithPublisherKeypair,
|
|
26
|
+
appMintAddress: string,
|
|
25
27
|
releaseMintAddress: string,
|
|
26
28
|
publisherDetails: Publisher,
|
|
27
29
|
solanaMobileDappPublisherPortalDetails: SolanaMobileDappPublisherPortal,
|
|
@@ -52,6 +54,11 @@ const createSubmitRequest = async (
|
|
|
52
54
|
name: TICKET_PROPERTY_ATTESTATION_PAYLOAD,
|
|
53
55
|
value: attestationPayload
|
|
54
56
|
},
|
|
57
|
+
{
|
|
58
|
+
objectTypeId: TICKET_OBJECT_ID,
|
|
59
|
+
name: TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS,
|
|
60
|
+
value: appMintAddress
|
|
61
|
+
},
|
|
55
62
|
{
|
|
56
63
|
objectTypeId: TICKET_OBJECT_ID,
|
|
57
64
|
name: TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS,
|
|
@@ -97,6 +104,7 @@ const createSubmitRequest = async (
|
|
|
97
104
|
};
|
|
98
105
|
|
|
99
106
|
export type PublishSubmitInput = {
|
|
107
|
+
appMintAddress: string;
|
|
100
108
|
releaseMintAddress: string;
|
|
101
109
|
publisherDetails: Publisher;
|
|
102
110
|
solanaMobileDappPublisherPortalDetails: SolanaMobileDappPublisherPortal;
|
|
@@ -107,6 +115,7 @@ export type PublishSubmitInput = {
|
|
|
107
115
|
export const publishSubmit = async (
|
|
108
116
|
publishSolanaNetworkInput: PublishSolanaNetworkInput,
|
|
109
117
|
{
|
|
118
|
+
appMintAddress,
|
|
110
119
|
releaseMintAddress,
|
|
111
120
|
publisherDetails,
|
|
112
121
|
solanaMobileDappPublisherPortalDetails,
|
|
@@ -118,6 +127,7 @@ export const publishSubmit = async (
|
|
|
118
127
|
const submitRequest = await createSubmitRequest(
|
|
119
128
|
publishSolanaNetworkInput.connection,
|
|
120
129
|
publishSolanaNetworkInput.sign,
|
|
130
|
+
appMintAddress,
|
|
121
131
|
releaseMintAddress,
|
|
122
132
|
publisherDetails,
|
|
123
133
|
solanaMobileDappPublisherPortalDetails,
|
package/src/publish/support.ts
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
TICKET_PROPERTY_ATTESTATION_PAYLOAD,
|
|
12
12
|
TICKET_PROPERTY_AUTHORIZED_REQUEST,
|
|
13
13
|
TICKET_PROPERTY_CONTENT,
|
|
14
|
+
TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS,
|
|
14
15
|
TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS,
|
|
15
16
|
TICKET_PROPERTY_REQUEST_UNIQUE_ID,
|
|
16
17
|
URL_FORM_SUPPORT
|
|
@@ -20,6 +21,7 @@ import { PublishSolanaNetworkInput, SignWithPublisherKeypair } from "./types.js"
|
|
|
20
21
|
const createSupportRequest = async (
|
|
21
22
|
connection: Connection,
|
|
22
23
|
sign: SignWithPublisherKeypair,
|
|
24
|
+
appMintAddress: string,
|
|
23
25
|
releaseMintAddress: string,
|
|
24
26
|
publisherDetails: Publisher,
|
|
25
27
|
requestorIsAuthorized: boolean,
|
|
@@ -54,6 +56,11 @@ const createSupportRequest = async (
|
|
|
54
56
|
name: TICKET_PROPERTY_CONTENT,
|
|
55
57
|
value: requestDetails
|
|
56
58
|
},
|
|
59
|
+
{
|
|
60
|
+
objectTypeId: TICKET_OBJECT_ID,
|
|
61
|
+
name: TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS,
|
|
62
|
+
value: appMintAddress
|
|
63
|
+
},
|
|
57
64
|
{
|
|
58
65
|
objectTypeId: TICKET_OBJECT_ID,
|
|
59
66
|
name: TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS,
|
|
@@ -74,6 +81,7 @@ const createSupportRequest = async (
|
|
|
74
81
|
};
|
|
75
82
|
|
|
76
83
|
export type PublishSupportInput = {
|
|
84
|
+
appMintAddress: string;
|
|
77
85
|
releaseMintAddress: string;
|
|
78
86
|
publisherDetails: Publisher;
|
|
79
87
|
requestorIsAuthorized: boolean;
|
|
@@ -83,6 +91,7 @@ export type PublishSupportInput = {
|
|
|
83
91
|
export const publishSupport = async (
|
|
84
92
|
publishSolanaNetworkInput: PublishSolanaNetworkInput,
|
|
85
93
|
{
|
|
94
|
+
appMintAddress,
|
|
86
95
|
releaseMintAddress,
|
|
87
96
|
publisherDetails,
|
|
88
97
|
requestorIsAuthorized,
|
|
@@ -93,6 +102,7 @@ export const publishSupport = async (
|
|
|
93
102
|
const supportRequest = await createSupportRequest(
|
|
94
103
|
publishSolanaNetworkInput.connection,
|
|
95
104
|
publishSolanaNetworkInput.sign,
|
|
105
|
+
appMintAddress,
|
|
96
106
|
releaseMintAddress,
|
|
97
107
|
publisherDetails,
|
|
98
108
|
requestorIsAuthorized,
|
package/src/publish/update.ts
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
TICKET_PROPERTY_ATTESTATION_PAYLOAD,
|
|
12
12
|
TICKET_PROPERTY_AUTHORIZED_REQUEST,
|
|
13
13
|
TICKET_PROPERTY_CRITICAL_UPDATE,
|
|
14
|
+
TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS,
|
|
14
15
|
TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS,
|
|
15
16
|
TICKET_PROPERTY_POLICY_COMPLIANT,
|
|
16
17
|
TICKET_PROPERTY_REQUEST_UNIQUE_ID,
|
|
@@ -22,6 +23,7 @@ import { PublishSolanaNetworkInput, SignWithPublisherKeypair } from "./types.js"
|
|
|
22
23
|
const createUpdateRequest = async (
|
|
23
24
|
connection: Connection,
|
|
24
25
|
sign: SignWithPublisherKeypair,
|
|
26
|
+
appMintAddress: string,
|
|
25
27
|
releaseMintAddress: string,
|
|
26
28
|
publisherDetails: Publisher,
|
|
27
29
|
solanaMobileDappPublisherPortalDetails: SolanaMobileDappPublisherPortal,
|
|
@@ -53,6 +55,11 @@ const createUpdateRequest = async (
|
|
|
53
55
|
name: TICKET_PROPERTY_ATTESTATION_PAYLOAD,
|
|
54
56
|
value: attestationPayload
|
|
55
57
|
},
|
|
58
|
+
{
|
|
59
|
+
objectTypeId: TICKET_OBJECT_ID,
|
|
60
|
+
name: TICKET_PROPERTY_DAPP_COLLECTION_ACCOUNT_ADDRESS,
|
|
61
|
+
value: appMintAddress
|
|
62
|
+
},
|
|
56
63
|
{
|
|
57
64
|
objectTypeId: TICKET_OBJECT_ID,
|
|
58
65
|
name: TICKET_PROPERTY_DAPP_RELEASE_ACCOUNT_ADDRESS,
|
|
@@ -100,6 +107,7 @@ const createUpdateRequest = async (
|
|
|
100
107
|
};
|
|
101
108
|
|
|
102
109
|
export type PublishUpdateInput = {
|
|
110
|
+
appMintAddress: string;
|
|
103
111
|
releaseMintAddress: string;
|
|
104
112
|
publisherDetails: Publisher;
|
|
105
113
|
solanaMobileDappPublisherPortalDetails: SolanaMobileDappPublisherPortal;
|
|
@@ -111,6 +119,7 @@ export type PublishUpdateInput = {
|
|
|
111
119
|
export const publishUpdate = async (
|
|
112
120
|
publishSolanaNetworkInput: PublishSolanaNetworkInput,
|
|
113
121
|
{
|
|
122
|
+
appMintAddress,
|
|
114
123
|
releaseMintAddress,
|
|
115
124
|
publisherDetails,
|
|
116
125
|
solanaMobileDappPublisherPortalDetails,
|
|
@@ -123,6 +132,7 @@ export const publishUpdate = async (
|
|
|
123
132
|
const updateRequest = await createUpdateRequest(
|
|
124
133
|
publishSolanaNetworkInput.connection,
|
|
125
134
|
publishSolanaNetworkInput.sign,
|
|
135
|
+
appMintAddress,
|
|
126
136
|
releaseMintAddress,
|
|
127
137
|
publisherDetails,
|
|
128
138
|
solanaMobileDappPublisherPortalDetails,
|
package/src/types.ts
CHANGED
|
@@ -16,6 +16,16 @@ export type AppMetadata = Omit<AppJsonMetadata, "image"> & {
|
|
|
16
16
|
image: string | MetaplexFile;
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
+
export type MetaplexFileReleaseJsonMetadata = Omit<ReleaseJsonMetadata, "image"> & {
|
|
20
|
+
image: string | MetaplexFile;
|
|
21
|
+
extensions: {
|
|
22
|
+
solana_dapp_store: {
|
|
23
|
+
media: { uri: MetaplexFile }[];
|
|
24
|
+
files: { uri: MetaplexFile }[];
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
19
29
|
export type Context = {
|
|
20
30
|
publisher: Keypair;
|
|
21
31
|
metaplex: Metaplex;
|
|
@@ -63,7 +73,6 @@ export type Release = {
|
|
|
63
73
|
catalog: {
|
|
64
74
|
[locale: string]: {
|
|
65
75
|
name: string;
|
|
66
|
-
short_description: string;
|
|
67
76
|
long_description: string;
|
|
68
77
|
new_in_version: string;
|
|
69
78
|
saga_features: string;
|
package/src/validate/index.ts
CHANGED
|
@@ -3,16 +3,17 @@ import Ajv from "ajv";
|
|
|
3
3
|
|
|
4
4
|
import type {
|
|
5
5
|
AppMetadata,
|
|
6
|
+
MetaplexFileReleaseJsonMetadata,
|
|
6
7
|
PublisherMetadata,
|
|
7
|
-
ReleaseJsonMetadata
|
|
8
|
+
ReleaseJsonMetadata
|
|
8
9
|
} from "../types.js";
|
|
9
10
|
|
|
10
11
|
// eslint-disable-next-line require-extensions/require-extensions
|
|
11
|
-
import publisherSchema from "./schemas/publisherJsonMetadata.json";
|
|
12
|
+
import publisherSchema from "./schemas/publisherJsonMetadata.json" assert { type: "json" };
|
|
12
13
|
// eslint-disable-next-line require-extensions/require-extensions
|
|
13
|
-
import appSchema from "./schemas/appJsonMetadata.json";
|
|
14
|
+
import appSchema from "./schemas/appJsonMetadata.json" assert { type: "json" };
|
|
14
15
|
// eslint-disable-next-line require-extensions/require-extensions
|
|
15
|
-
import releaseSchema from "./schemas/releaseJsonMetadata.json";
|
|
16
|
+
import releaseSchema from "./schemas/releaseJsonMetadata.json" assert { type: "json" };
|
|
16
17
|
|
|
17
18
|
export const validatePublisher = (publisherJson: PublisherMetadata) => {
|
|
18
19
|
const jsonToValidate = { ...publisherJson };
|
|
@@ -48,11 +49,32 @@ export const validateApp = (appJson: AppMetadata) => {
|
|
|
48
49
|
return valid;
|
|
49
50
|
};
|
|
50
51
|
|
|
51
|
-
export const validateRelease = (releaseJson:
|
|
52
|
+
export const validateRelease = (releaseJson: MetaplexFileReleaseJsonMetadata) => {
|
|
53
|
+
const jsonToValidate = { ...releaseJson };
|
|
54
|
+
if (typeof jsonToValidate.image !== "string") {
|
|
55
|
+
jsonToValidate.image = jsonToValidate.image?.fileName;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// We need to replace media MetaplexFile instances with strings for validation
|
|
59
|
+
jsonToValidate.extensions.solana_dapp_store.media.forEach((media, index) => {
|
|
60
|
+
if (typeof media.uri !== "string") {
|
|
61
|
+
// @ts-ignore Ignoring hard type override from Metaplex to string
|
|
62
|
+
jsonToValidate.extensions.solana_dapp_store.media[index].uri = media.uri.fileName;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// We need to replace file MetaplexFile instances with strings for validation
|
|
67
|
+
jsonToValidate.extensions.solana_dapp_store.files.forEach((file, index) => {
|
|
68
|
+
if (typeof file.uri !== "string") {
|
|
69
|
+
// @ts-ignore
|
|
70
|
+
jsonToValidate.extensions.solana_dapp_store.files[index].uri = file.uri.fileName;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
|
|
52
74
|
const ajv = new Ajv({ strictTuples: false });
|
|
53
75
|
const validate = ajv.compile(releaseSchema);
|
|
54
76
|
|
|
55
|
-
const valid = validate(
|
|
77
|
+
const valid = validate(jsonToValidate);
|
|
56
78
|
if (!valid) {
|
|
57
79
|
console.error(validate.errors);
|
|
58
80
|
throw new Error("Release JSON not valid");
|
|
@@ -107,6 +107,9 @@
|
|
|
107
107
|
"purpose": {
|
|
108
108
|
"type": "string"
|
|
109
109
|
},
|
|
110
|
+
"uri": {
|
|
111
|
+
"type": "string"
|
|
112
|
+
},
|
|
110
113
|
"width": {
|
|
111
114
|
"type": "integer"
|
|
112
115
|
},
|
|
@@ -117,7 +120,7 @@
|
|
|
117
120
|
"type": "string"
|
|
118
121
|
}
|
|
119
122
|
},
|
|
120
|
-
"required": ["mime", "purpose", "width", "height", "sha256"]
|
|
123
|
+
"required": ["mime", "purpose", "uri", "width", "height", "sha256"]
|
|
121
124
|
}
|
|
122
125
|
},
|
|
123
126
|
"files": {
|
|
@@ -134,11 +137,14 @@
|
|
|
134
137
|
"size": {
|
|
135
138
|
"type": "integer"
|
|
136
139
|
},
|
|
140
|
+
"uri": {
|
|
141
|
+
"type": "string"
|
|
142
|
+
},
|
|
137
143
|
"sha256": {
|
|
138
144
|
"type": "string"
|
|
139
145
|
}
|
|
140
146
|
},
|
|
141
|
-
"required": ["mime", "purpose", "size", "sha256"]
|
|
147
|
+
"required": ["mime", "purpose", "size", "uri", "sha256"]
|
|
142
148
|
}
|
|
143
149
|
},
|
|
144
150
|
"android_details": {
|