@solana-mobile/dapp-store-publishing-tools 0.1.6 → 0.1.8
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 +8 -4
- package/lib/esm/validate/index.js.map +1 -1
- 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 +12 -6
|
@@ -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":"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,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,eAAe,EAChB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,mBAAmB,GAAG,KAAK,EAC/B,UAAsB,EACtB,IAA8B,EAC9B,cAAsB,EACtB,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,+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;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;AAYF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,yBAAoD,EACpD,EACE,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,sCAAsC,EACtC,mCAAmC,EACnC,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,sCAAsC,EACtC,mCAAmC,EACnC,qBAAqB,EACrB,cAAc,CAAC,CAAC;IAElB,wCAAwC,CAAC,aAAa,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;AACnF,CAAC,CAAC"}
|
|
@@ -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,13 @@ 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
|
+
}
|
|
37
41
|
const ajv = new Ajv({ strictTuples: false });
|
|
38
42
|
const validate = ajv.compile(releaseSchema);
|
|
39
|
-
const valid = validate(
|
|
43
|
+
const valid = validate(jsonToValidate);
|
|
40
44
|
if (!valid) {
|
|
41
45
|
console.error(validate.errors);
|
|
42
46
|
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":"AACA,OAAO,GAAG,MAAM,KAAK,CAAC;AAStB,iEAAiE;AACjE,OAAO,eAAe,MAAM,sCAAsC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3F,iEAAiE;AACjE,OAAO,SAAS,MAAM,gCAAgC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/E,iEAAiE;AACjE,OAAO,aAAa,MAAM,oCAAoC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAEvF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAAgC,EAAE,EAAE;IACpE,MAAM,cAAc,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;IAC5C,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC5C,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;KACvD;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;KAC7C;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAoB,EAAE,EAAE;IAClD,MAAM,cAAc,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IACtC,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC5C,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;KACvD;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACvC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAA4C,EAAE,EAAE;IAC9E,MAAM,cAAc,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;IAC1C,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC5C,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;KACvD;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5C,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -1,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,SAe3E,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.8",
|
|
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,16 @@ 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
|
+
|
|
52
58
|
const ajv = new Ajv({ strictTuples: false });
|
|
53
59
|
const validate = ajv.compile(releaseSchema);
|
|
54
60
|
|
|
55
|
-
const valid = validate(
|
|
61
|
+
const valid = validate(jsonToValidate);
|
|
56
62
|
if (!valid) {
|
|
57
63
|
console.error(validate.errors);
|
|
58
64
|
throw new Error("Release JSON not valid");
|