@solana-mobile/dapp-store-cli 0.1.8 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -53
- package/lib/esm/commands/publish/remove.js +5 -1
- package/lib/esm/commands/publish/remove.js.map +1 -1
- package/lib/esm/commands/publish/submit.js +7 -3
- package/lib/esm/commands/publish/submit.js.map +1 -1
- package/lib/esm/commands/publish/support.js +5 -1
- package/lib/esm/commands/publish/support.js.map +1 -1
- package/lib/esm/commands/publish/update.js +5 -1
- package/lib/esm/commands/publish/update.js.map +1 -1
- package/lib/esm/commands/scaffolding/index.js +2 -0
- package/lib/esm/commands/scaffolding/index.js.map +1 -0
- package/lib/esm/commands/scaffolding/init.js +15 -0
- package/lib/esm/commands/scaffolding/init.js.map +1 -0
- package/lib/esm/commands/validate.js +4 -13
- package/lib/esm/commands/validate.js.map +1 -1
- package/lib/esm/config/index.js +1 -2
- package/lib/esm/config/index.js.map +1 -1
- package/lib/esm/generated/config_obj.json +1 -0
- package/lib/esm/generated/config_schema.json +1 -0
- package/lib/esm/index.js +24 -10
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/package.json +6 -3
- package/lib/esm/utils.js +54 -19
- package/lib/esm/utils.js.map +1 -1
- package/lib/types/commands/create/app.d.ts +1 -1
- package/lib/types/commands/create/app.d.ts.map +1 -1
- package/lib/types/commands/create/release.d.ts +1 -1
- package/lib/types/commands/create/release.d.ts.map +1 -1
- package/lib/types/commands/publish/remove.d.ts +1 -1
- package/lib/types/commands/publish/remove.d.ts.map +1 -1
- package/lib/types/commands/publish/submit.d.ts +1 -1
- package/lib/types/commands/publish/submit.d.ts.map +1 -1
- package/lib/types/commands/publish/support.d.ts +1 -1
- package/lib/types/commands/publish/support.d.ts.map +1 -1
- package/lib/types/commands/publish/update.d.ts +1 -1
- package/lib/types/commands/publish/update.d.ts.map +1 -1
- package/lib/types/commands/scaffolding/index.d.ts +2 -0
- package/lib/types/commands/scaffolding/index.d.ts.map +1 -0
- package/lib/types/commands/scaffolding/init.d.ts +2 -0
- package/lib/types/commands/scaffolding/init.d.ts.map +1 -0
- package/lib/types/commands/validate.d.ts.map +1 -1
- package/lib/types/config/index.d.ts.map +1 -1
- package/lib/types/upload/CachedStorageDriver.d.ts +3 -3
- package/lib/types/upload/CachedStorageDriver.d.ts.map +1 -1
- package/lib/types/utils.d.ts +9 -1
- package/lib/types/utils.d.ts.map +1 -1
- package/package.json +6 -3
- package/src/commands/publish/remove.ts +8 -1
- package/src/commands/publish/submit.ts +12 -4
- package/src/commands/publish/support.ts +8 -1
- package/src/commands/publish/update.ts +8 -1
- package/src/commands/scaffolding/index.ts +1 -0
- package/src/commands/scaffolding/init.ts +19 -0
- package/src/commands/validate.ts +5 -12
- package/src/config/index.ts +1 -2
- package/src/generated/config_obj.json +1 -0
- package/src/generated/config_schema.json +1 -0
- package/src/index.ts +34 -10
- package/src/prebuild_schema/publishing_source.yaml +44 -0
- package/src/prebuild_schema/schemagen.js +20 -0
- package/src/utils.ts +69 -22
- package/lib/esm/config/schema.json +0 -195
package/README.md
CHANGED
|
@@ -25,24 +25,36 @@ echo "ANDROID_TOOLS_DIR=\"<path_to_android_sdk_build_tools_dir>\"" > .env
|
|
|
25
25
|
In your application folder (e.g., `example`):
|
|
26
26
|
|
|
27
27
|
```shell
|
|
28
|
-
|
|
28
|
+
mkdir publishing
|
|
29
|
+
cd publishing
|
|
30
|
+
|
|
31
|
+
pnpm init
|
|
29
32
|
pnpm install --save-dev @solana-mobile/dapp-store-cli
|
|
33
|
+
npx dapp-store init
|
|
30
34
|
npx dapp-store --help
|
|
31
35
|
```
|
|
32
36
|
|
|
33
37
|
or with `yarn`
|
|
34
38
|
|
|
35
39
|
```shell
|
|
36
|
-
|
|
40
|
+
mkdir publishing
|
|
41
|
+
cd publishing
|
|
42
|
+
|
|
43
|
+
yarn init
|
|
37
44
|
yarn add @solana-mobile/dapp-store-cli
|
|
45
|
+
yarn run dapp-store init
|
|
38
46
|
yarn run dapp-store --help
|
|
39
47
|
```
|
|
40
48
|
|
|
41
49
|
or with `npm`
|
|
42
50
|
|
|
43
51
|
```shell
|
|
44
|
-
|
|
52
|
+
mkdir publishing
|
|
53
|
+
cd publishing
|
|
54
|
+
|
|
55
|
+
npm init
|
|
45
56
|
npm install --save-dev @solana-mobile/dapp-store-cli
|
|
57
|
+
npx dapp-store init
|
|
46
58
|
npx dapp-store --help
|
|
47
59
|
```
|
|
48
60
|
|
|
@@ -69,53 +81,6 @@ Repeat steps 3. and 4. as needed!
|
|
|
69
81
|
|
|
70
82
|
The `dapp-store` CLI handles rote tasks like uploading assets to immutable file storage and i18n. However, it is by no means the only way to create these NFTs—all information about the requirements are specified in this repository, and the packages have been designed to be portable to other client contexts besides the CLI.
|
|
71
83
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
```yaml
|
|
77
|
-
publisher:
|
|
78
|
-
name: My new publisher name
|
|
79
|
-
address: BrWNieTsfdkkwMaz2A616i1fkqSjxk2kHhTn1Y44pi48
|
|
80
|
-
website: https://solanamobile.com
|
|
81
|
-
email: hello@solanamobile.com
|
|
82
|
-
media:
|
|
83
|
-
- purpose: icon
|
|
84
|
-
uri: ./media/publisher_icon.jpeg
|
|
85
|
-
app:
|
|
86
|
-
name: My new app name
|
|
87
|
-
address: 4xE4MDVHfFAXMKKzqrJ2v1HxcgYgdoV98nuvd8SRKhWP
|
|
88
|
-
android_package: com.company.dapp
|
|
89
|
-
urls:
|
|
90
|
-
license_url: http://cdn.org/license.html
|
|
91
|
-
copyright_url: http://cdn.org/copyright.html
|
|
92
|
-
privacy_policy_url: http://cdn.org/privacy.html
|
|
93
|
-
website: http://cdn.org
|
|
94
|
-
media:
|
|
95
|
-
- purpose: icon
|
|
96
|
-
uri: ./media/app_icon.jpeg
|
|
97
|
-
release:
|
|
98
|
-
address: HeXP8pLxxzWPo1j7FwsytrCBN9Q7HZ3MA8TVCVGj5eCA
|
|
99
|
-
media:
|
|
100
|
-
- purpose: screenshot
|
|
101
|
-
uri: ./media/app_screenshot.png
|
|
102
|
-
files:
|
|
103
|
-
- purpose: install
|
|
104
|
-
uri: ./files/app-debug.apk
|
|
105
|
-
catalog:
|
|
106
|
-
en-US:
|
|
107
|
-
name: |
|
|
108
|
-
A nice, helpful dApp name
|
|
109
|
-
long_description: |
|
|
110
|
-
Some wonderful release notes, in long-form
|
|
111
|
-
new_in_version: |
|
|
112
|
-
Something new in this version
|
|
113
|
-
saga_features: |
|
|
114
|
-
Some information about saga specific features
|
|
115
|
-
solana_mobile_dapp_publisher_portal:
|
|
116
|
-
google_store_package: com.company.dapp.otherpkg
|
|
117
|
-
testing_instructions: >
|
|
118
|
-
Here are some steps informing Solana Mobile of how to test this dapp. You
|
|
119
|
-
can specify multiple lines of instructions. For example, if a login is
|
|
120
|
-
needed, you would add those details here.
|
|
121
|
-
```
|
|
84
|
+
### CLI Updates
|
|
85
|
+
|
|
86
|
+
The CLI will automatically check for updated versions on npm and restrict operations if the version bump is significant enough. If your CI/CD deployments fail be sure to check if there is a required update.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Connection } from "@solana/web3.js";
|
|
2
2
|
import { publishRemove } from "@solana-mobile/dapp-store-publishing-tools";
|
|
3
|
-
import { getConfigFile } from "../../utils.js";
|
|
3
|
+
import { checkMintedStatus, getConfigFile } from "../../utils.js";
|
|
4
4
|
import nacl from "tweetnacl";
|
|
5
5
|
export const publishRemoveCommand = async ({ appMintAddress, releaseMintAddress, signer, url, dryRun = false, requestorIsAuthorized = false, critical = false, }) => {
|
|
6
6
|
if (!requestorIsAuthorized) {
|
|
@@ -10,6 +10,10 @@ export const publishRemoveCommand = async ({ appMintAddress, releaseMintAddress,
|
|
|
10
10
|
const connection = new Connection(url);
|
|
11
11
|
const { publisher: publisherDetails, app: appDetails, release: releaseDetails, } = await getConfigFile();
|
|
12
12
|
const sign = ((buf) => nacl.sign(buf, signer.secretKey));
|
|
13
|
+
const pubAddr = publisherDetails.address;
|
|
14
|
+
const appAddr = appMintAddress ?? appDetails.address;
|
|
15
|
+
const releaseAddr = releaseMintAddress ?? releaseDetails.address;
|
|
16
|
+
await checkMintedStatus(connection, pubAddr, appAddr, releaseAddr);
|
|
13
17
|
await publishRemove({ connection, sign }, {
|
|
14
18
|
appMintAddress: appMintAddress ?? appDetails.address,
|
|
15
19
|
releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/publish/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/publish/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,IAAI,MAAM,WAAW,CAAC;AAY7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,GAAG,EACH,MAAM,GAAG,KAAK,EACd,qBAAqB,GAAG,KAAK,EAC7B,QAAQ,GAAG,KAAK,GACU,EAAE,EAAE;IAC9B,IAAI,CAAC,qBAAqB,EAAE;QAC1B,OAAO,CAAC,KAAK,CACX,qGAAqG,CACtG,CAAC;QACF,OAAO;KACR;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,EACJ,SAAS,EAAE,gBAAgB,EAC3B,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,cAAc,GACxB,GAAG,MAAM,aAAa,EAAE,CAAC;IAE1B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAA6B,CAAC;IAEhE,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;IACzC,MAAM,OAAO,GAAG,cAAc,IAAI,UAAU,CAAC,OAAO,CAAC;IACrD,MAAM,WAAW,GAAG,kBAAkB,IAAI,cAAc,CAAC,OAAO,CAAC;IAEjE,MAAM,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAEnE,MAAM,aAAa,CACjB,EAAE,UAAU,EAAE,IAAI,EAAE,EACpB;QACE,cAAc,EAAE,cAAc,IAAI,UAAU,CAAC,OAAO;QACpD,kBAAkB,EAAE,kBAAkB,IAAI,cAAc,CAAC,OAAO;QAChE,gBAAgB;QAChB,qBAAqB;QACrB,cAAc,EAAE,QAAQ;KACzB,EACD,MAAM,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Connection } from "@solana/web3.js";
|
|
2
2
|
import { publishSubmit } from "@solana-mobile/dapp-store-publishing-tools";
|
|
3
3
|
import nacl from "tweetnacl";
|
|
4
|
-
import { getConfigFile } from "../../utils.js";
|
|
4
|
+
import { checkMintedStatus, getConfigFile } from "../../utils.js";
|
|
5
5
|
export const publishSubmitCommand = async ({ appMintAddress, releaseMintAddress, signer, url, dryRun = false, compliesWithSolanaDappStorePolicies = false, requestorIsAuthorized = false, }) => {
|
|
6
6
|
if (!compliesWithSolanaDappStorePolicies) {
|
|
7
7
|
console.error("ERROR: Cannot submit a request for which the requestor does not attest that it complies with Solana dApp Store policies");
|
|
@@ -14,9 +14,13 @@ export const publishSubmitCommand = async ({ appMintAddress, releaseMintAddress,
|
|
|
14
14
|
const connection = new Connection(url);
|
|
15
15
|
const { publisher: publisherDetails, app: appDetails, release: releaseDetails, solana_mobile_dapp_publisher_portal: solanaMobileDappPublisherPortalDetails, } = await getConfigFile();
|
|
16
16
|
const sign = ((buf) => nacl.sign(buf, signer.secretKey));
|
|
17
|
+
const pubAddr = publisherDetails.address;
|
|
18
|
+
const appAddr = appMintAddress ?? appDetails.address;
|
|
19
|
+
const releaseAddr = releaseMintAddress ?? releaseDetails.address;
|
|
20
|
+
await checkMintedStatus(connection, pubAddr, appAddr, releaseAddr);
|
|
17
21
|
await publishSubmit({ connection, sign }, {
|
|
18
|
-
appMintAddress:
|
|
19
|
-
releaseMintAddress:
|
|
22
|
+
appMintAddress: appAddr,
|
|
23
|
+
releaseMintAddress: releaseAddr,
|
|
20
24
|
publisherDetails,
|
|
21
25
|
solanaMobileDappPublisherPortalDetails,
|
|
22
26
|
compliesWithSolanaDappStorePolicies,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../../src/commands/publish/submit.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../../src/commands/publish/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,UAAU,EAAsB,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAalE,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,GAAG,EACH,MAAM,GAAG,KAAK,EACd,mCAAmC,GAAG,KAAK,EAC3C,qBAAqB,GAAG,KAAK,GACH,EAAE,EAAE;IAC9B,IAAI,CAAC,mCAAmC,EAAE;QACxC,OAAO,CAAC,KAAK,CACX,yHAAyH,CAC1H,CAAC;QACF,OAAO;KACR;SAAM,IAAI,CAAC,qBAAqB,EAAE;QACjC,OAAO,CAAC,KAAK,CACX,qGAAqG,CACtG,CAAC;QACF,OAAO;KACR;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,EACJ,SAAS,EAAE,gBAAgB,EAC3B,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,cAAc,EACvB,mCAAmC,EAAE,sCAAsC,GAC5E,GAAG,MAAM,aAAa,EAAE,CAAC;IAE1B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAA6B,CAAC;IAEhE,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;IACzC,MAAM,OAAO,GAAG,cAAc,IAAI,UAAU,CAAC,OAAO,CAAC;IACrD,MAAM,WAAW,GAAG,kBAAkB,IAAI,cAAc,CAAC,OAAO,CAAC;IAEjE,MAAM,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAEnE,MAAM,aAAa,CACjB,EAAE,UAAU,EAAE,IAAI,EAAE,EACpB;QACE,cAAc,EAAE,OAAO;QACvB,kBAAkB,EAAE,WAAW;QAC/B,gBAAgB;QAChB,sCAAsC;QACtC,mCAAmC;QACnC,qBAAqB;KACtB,EACD,MAAM,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Connection } from "@solana/web3.js";
|
|
2
2
|
import { publishSupport } from "@solana-mobile/dapp-store-publishing-tools";
|
|
3
|
-
import { getConfigFile } from "../../utils.js";
|
|
3
|
+
import { checkMintedStatus, getConfigFile } from "../../utils.js";
|
|
4
4
|
import nacl from "tweetnacl";
|
|
5
5
|
export const publishSupportCommand = async ({ appMintAddress, releaseMintAddress, signer, url, dryRun = false, requestorIsAuthorized = false, requestDetails, }) => {
|
|
6
6
|
if (!requestorIsAuthorized) {
|
|
@@ -10,6 +10,10 @@ export const publishSupportCommand = async ({ appMintAddress, releaseMintAddress
|
|
|
10
10
|
const connection = new Connection(url);
|
|
11
11
|
const { publisher: publisherDetails, app: appDetails, release: releaseDetails, } = await getConfigFile();
|
|
12
12
|
const sign = ((buf) => nacl.sign(buf, signer.secretKey));
|
|
13
|
+
const pubAddr = publisherDetails.address;
|
|
14
|
+
const appAddr = appMintAddress ?? appDetails.address;
|
|
15
|
+
const releaseAddr = releaseMintAddress ?? releaseDetails.address;
|
|
16
|
+
await checkMintedStatus(connection, pubAddr, appAddr, releaseAddr);
|
|
13
17
|
await publishSupport({ connection, sign }, {
|
|
14
18
|
appMintAddress: appMintAddress ?? appDetails.address,
|
|
15
19
|
releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"support.js","sourceRoot":"","sources":["../../../../src/commands/publish/support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"support.js","sourceRoot":"","sources":["../../../../src/commands/publish/support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,IAAI,MAAM,WAAW,CAAC;AAY7B,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAC1C,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,GAAG,EACH,MAAM,GAAG,KAAK,EACd,qBAAqB,GAAG,KAAK,EAC7B,cAAc,GACa,EAAE,EAAE;IAC/B,IAAI,CAAC,qBAAqB,EAAE;QAC1B,OAAO,CAAC,KAAK,CACX,qGAAqG,CACtG,CAAC;QACF,OAAO;KACR;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,EACJ,SAAS,EAAE,gBAAgB,EAC3B,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,cAAc,GACxB,GAAG,MAAM,aAAa,EAAE,CAAC;IAE1B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAA6B,CAAC;IAEhE,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;IACzC,MAAM,OAAO,GAAG,cAAc,IAAI,UAAU,CAAC,OAAO,CAAC;IACrD,MAAM,WAAW,GAAG,kBAAkB,IAAI,cAAc,CAAC,OAAO,CAAC;IAEjE,MAAM,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAEnE,MAAM,cAAc,CAClB,EAAE,UAAU,EAAE,IAAI,EAAE,EACpB;QACE,cAAc,EAAE,cAAc,IAAI,UAAU,CAAC,OAAO;QACpD,kBAAkB,EAAE,kBAAkB,IAAI,cAAc,CAAC,OAAO;QAChE,gBAAgB;QAChB,qBAAqB;QACrB,cAAc;KACf,EACD,MAAM,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Connection } from "@solana/web3.js";
|
|
2
2
|
import { publishUpdate } from "@solana-mobile/dapp-store-publishing-tools";
|
|
3
|
-
import { getConfigFile } from "../../utils.js";
|
|
3
|
+
import { checkMintedStatus, getConfigFile } from "../../utils.js";
|
|
4
4
|
import nacl from "tweetnacl";
|
|
5
5
|
export const publishUpdateCommand = async ({ appMintAddress, releaseMintAddress, signer, url, dryRun = false, compliesWithSolanaDappStorePolicies = false, requestorIsAuthorized = false, critical = false, }) => {
|
|
6
6
|
if (!compliesWithSolanaDappStorePolicies) {
|
|
@@ -14,6 +14,10 @@ export const publishUpdateCommand = async ({ appMintAddress, releaseMintAddress,
|
|
|
14
14
|
const connection = new Connection(url);
|
|
15
15
|
const { publisher: publisherDetails, app: appDetails, release: releaseDetails, solana_mobile_dapp_publisher_portal: solanaMobileDappPublisherPortalDetails, } = await getConfigFile();
|
|
16
16
|
const sign = ((buf) => nacl.sign(buf, signer.secretKey));
|
|
17
|
+
const pubAddr = publisherDetails.address;
|
|
18
|
+
const appAddr = appMintAddress ?? appDetails.address;
|
|
19
|
+
const releaseAddr = releaseMintAddress ?? releaseDetails.address;
|
|
20
|
+
await checkMintedStatus(connection, pubAddr, appAddr, releaseAddr);
|
|
17
21
|
await publishUpdate({ connection, sign }, {
|
|
18
22
|
appMintAddress: appMintAddress ?? appDetails.address,
|
|
19
23
|
releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/publish/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/publish/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,IAAI,MAAM,WAAW,CAAC;AAa7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,GAAG,EACH,MAAM,GAAG,KAAK,EACd,mCAAmC,GAAG,KAAK,EAC3C,qBAAqB,GAAG,KAAK,EAC7B,QAAQ,GAAG,KAAK,GACU,EAAE,EAAE;IAC9B,IAAI,CAAC,mCAAmC,EAAE;QACxC,OAAO,CAAC,KAAK,CACX,yHAAyH,CAC1H,CAAC;QACF,OAAO;KACR;SAAM,IAAI,CAAC,qBAAqB,EAAE;QACjC,OAAO,CAAC,KAAK,CACX,qGAAqG,CACtG,CAAC;QACF,OAAO;KACR;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,EACJ,SAAS,EAAE,gBAAgB,EAC3B,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,cAAc,EACvB,mCAAmC,EAAE,sCAAsC,GAC5E,GAAG,MAAM,aAAa,EAAE,CAAC;IAE1B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAA6B,CAAC;IAEhE,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;IACzC,MAAM,OAAO,GAAG,cAAc,IAAI,UAAU,CAAC,OAAO,CAAC;IACrD,MAAM,WAAW,GAAG,kBAAkB,IAAI,cAAc,CAAC,OAAO,CAAC;IAEjE,MAAM,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAEnE,MAAM,aAAa,CACjB,EAAE,UAAU,EAAE,IAAI,EAAE,EACpB;QACE,cAAc,EAAE,cAAc,IAAI,UAAU,CAAC,OAAO;QACpD,kBAAkB,EAAE,kBAAkB,IAAI,cAAc,CAAC,OAAO;QAChE,gBAAgB;QAChB,sCAAsC;QACtC,mCAAmC;QACnC,qBAAqB;QACrB,cAAc,EAAE,QAAQ;KACzB,EACD,MAAM,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/scaffolding/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { dump } from "js-yaml";
|
|
2
|
+
// eslint-disable-next-line require-extensions/require-extensions
|
|
3
|
+
import releaseSchema from "../../generated/config_obj.json" assert { type: "json" };
|
|
4
|
+
import fs from "fs";
|
|
5
|
+
import { Constants } from "../../utils.js";
|
|
6
|
+
export const initScaffold = () => {
|
|
7
|
+
const outputYaml = Constants.CONFIG_FILE_NAME;
|
|
8
|
+
const outFile = `${process.cwd()}/${outputYaml}`;
|
|
9
|
+
if (fs.existsSync(outFile)) {
|
|
10
|
+
throw Error("Configuration file already present; please use to intialize a new config file.");
|
|
11
|
+
}
|
|
12
|
+
fs.writeFileSync(outFile, dump(releaseSchema));
|
|
13
|
+
return `Your configuration file was created: ${outputYaml}`;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/commands/scaffolding/init.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAErC,iEAAiE;AACjE,OAAO,aAAa,MAAM,iCAAiC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AACpF,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,GAAW,EAAE;IACvC,MAAM,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAC;IAC9C,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;IAEjD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC1B,MAAM,KAAK,CAAC,gFAAgF,CAAC,CAAC;KAC/F;IAED,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAE/C,OAAO,wCAAwC,UAAU,EAAE,CAAC;AAC9D,CAAC,CAAC"}
|
|
@@ -1,15 +1,5 @@
|
|
|
1
|
-
import { createAppJson, createPublisherJson, createReleaseJson, validateApp, validatePublisher, validateRelease, } from "@solana-mobile/dapp-store-publishing-tools";
|
|
1
|
+
import { createAppJson, createPublisherJson, createReleaseJson, validateApp, validatePublisher, validateRelease, metaplexFileReplacer, } from "@solana-mobile/dapp-store-publishing-tools";
|
|
2
2
|
import { debug, getConfigFile } from "../utils.js";
|
|
3
|
-
import { isMetaplexFile } from "@metaplex-foundation/js";
|
|
4
|
-
const metaplexFileReplacer = (k, v) => {
|
|
5
|
-
if (isMetaplexFile(v)) {
|
|
6
|
-
return {
|
|
7
|
-
...v,
|
|
8
|
-
buffer: "(suppressed)",
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
return v;
|
|
12
|
-
};
|
|
13
3
|
export const validateCommand = async ({ signer, buildToolsPath, }) => {
|
|
14
4
|
const { publisher: publisherDetails, app: appDetails, release: releaseDetails, } = await getConfigFile(buildToolsPath);
|
|
15
5
|
debug({ publisherDetails, appDetails, releaseDetails });
|
|
@@ -38,9 +28,10 @@ export const validateCommand = async ({ signer, buildToolsPath, }) => {
|
|
|
38
28
|
console.error(e);
|
|
39
29
|
}
|
|
40
30
|
const releaseJson = await createReleaseJson({ releaseDetails, appDetails, publisherDetails }, signer.publicKey);
|
|
41
|
-
|
|
31
|
+
const objStringified = JSON.stringify(releaseJson, metaplexFileReplacer, 2);
|
|
32
|
+
debug("releaseJson=", objStringified);
|
|
42
33
|
try {
|
|
43
|
-
validateRelease(
|
|
34
|
+
validateRelease(JSON.parse(objStringified));
|
|
44
35
|
console.info(`Release JSON valid!`);
|
|
45
36
|
}
|
|
46
37
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,eAAe,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMnD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,MAAM,EACN,cAAc,GAIf,EAAE,EAAE;IACH,MAAM,EACJ,SAAS,EAAE,gBAAgB,EAC3B,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,cAAc,GACxB,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,CAAC;IAExC,KAAK,CAAC,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,IAAI,OAAO,aAAa,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC3C,aAAa,CAAC,KAAK,GAAI,aAAa,CAAC,KAAsB,EAAE,QAAQ,CAAC;KACvE;IACD,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpF,IAAI;QACF,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACvC;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAClB;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;QACrC,OAAO,CAAC,KAAK,GAAI,OAAO,CAAC,KAAsB,EAAE,QAAQ,CAAC;KAC3D;IACD,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC;IAExE,IAAI;QACF,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACjC;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAClB;IAED,MAAM,WAAW,GAAG,MAAM,iBAAiB,CACzC,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAChD,MAAM,CAAC,SAAS,CACjB,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;IAC5E,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAEtC,IAAI;QACF,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACrC;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAClB;AACH,CAAC,CAAC"}
|
package/lib/esm/config/index.js
CHANGED
|
@@ -2,12 +2,11 @@ import fs from "fs/promises";
|
|
|
2
2
|
import { load } from "js-yaml";
|
|
3
3
|
import Ajv from "ajv";
|
|
4
4
|
// eslint-disable-next-line require-extensions/require-extensions
|
|
5
|
-
import schemaJson from "
|
|
5
|
+
import schemaJson from "../generated/config_schema.json" assert { type: "json" };
|
|
6
6
|
const ajv = new Ajv({ strictTuples: false });
|
|
7
7
|
const validate = ajv.compile(schemaJson);
|
|
8
8
|
export const getConfig = async (configPath) => {
|
|
9
9
|
const configFile = await fs.readFile(configPath, "utf-8");
|
|
10
|
-
const configJson = load(configFile);
|
|
11
10
|
const valid = validate(load(configFile));
|
|
12
11
|
if (!valid) {
|
|
13
12
|
console.error(validate.errors);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,iEAAiE;AACjE,OAAO,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,iEAAiE;AACjE,OAAO,UAAU,MAAM,iCAAiC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAUjF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,UAAkB,EAAE,EAAE;IACpD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAW,CAAC,CAAC;IAEnD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAc,CAAC;IAC7C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "publisher": { "name": "<<YOUR_PUBLISHER_NAME>>", "address": "", "website": "<<URL_OF_PUBLISHER_WEBSITE>>", "email": "<<EMAIL_ADDRESS_TO_CONTACT_PUBLISHER>>", "media": [{ "purpose": "icon", "uri": "<<RELATIVE_PATH_TO_PUBLISHER_ICON>>" }] }, "app": { "name": "<<APP_NAME>>", "address": "", "android_package": "<<ANDROID_PACKAGE_NAME>>", "urls": { "license_url": "<<URL_OF_APP_LICENSE_OR_TERMS_OF_SERVICE>>", "copyright_url": "<<URL_OF_COPYRIGHT_DETAILS_FOR_APP>>", "privacy_policy_url": "<<URL_OF_APP_PRIVACY_POLICY>>", "website": "<<URL_OF_APP_WEBSITE>>" }, "media": [{ "purpose": "icon", "uri": "<<RELATIVE_PATH_TO_APP_ICON>>" }] }, "release": { "address": "", "media": [{ "purpose": "icon", "uri": "<<RELATIVE_PATH_TO_RELEASE_ICON>>" }, { "purpose": "screenshot", "uri": "<<RELATIVE_PATH_TO_SCREENSHOT>>" }], "files": [{ "purpose": "install", "uri": "<<RELATIVE_PATH_TO_APK>>" }], "catalog": { "en-US": { "name": "<<APP_NAME>>\n", "long_description": "<<LONG_APP_DESCRIPTION>>\n", "new_in_version": "<<WHATS_NEW_IN_THIS_VERSION>>\n", "saga_features": "<<ANY_FEATURES_ONLY_AVAILBLE_WHEN_RUNNING_ON_SAGA>>\n" } } }, "solana_mobile_dapp_publisher_portal": { "google_store_package": "<<ANDROID_PACKAGE_NAME_OF_GOOGLE_PLAY_STORE_VERSION_IF_DIFFERENT>>", "testing_instructions": "<<TESTING_INSTRUCTIONS>>\n" } }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "type": "object", "properties": { "publisher": { "type": "object", "properties": { "name": { "type": "string" }, "address": { "type": "string" }, "website": { "type": "string" }, "email": { "type": "string" }, "media": { "type": "array", "items": { "type": "object", "properties": { "purpose": { "type": "string" }, "uri": { "type": "string" } } } } } }, "app": { "type": "object", "properties": { "name": { "type": "string" }, "address": { "type": "string" }, "android_package": { "type": "string" }, "urls": { "type": "object", "properties": { "license_url": { "type": "string" }, "copyright_url": { "type": "string" }, "privacy_policy_url": { "type": "string" }, "website": { "type": "string" } } }, "media": { "type": "array", "items": { "type": "object", "properties": { "purpose": { "type": "string" }, "uri": { "type": "string" } } } } } }, "release": { "type": "object", "properties": { "address": { "type": "string" }, "media": { "type": "array", "items": { "type": "object", "properties": { "purpose": { "type": "string" }, "uri": { "type": "string" } }, "required": ["purpose", "uri"] } }, "files": { "type": "array", "items": { "type": "object", "properties": { "purpose": { "type": "string" }, "uri": { "type": "string" } } } }, "catalog": { "type": "object", "properties": { "en-US": { "type": "object", "properties": { "name": { "type": "string" }, "long_description": { "type": "string" }, "new_in_version": { "type": "string" }, "saga_features": { "type": "string" } } } } } } }, "solana_mobile_dapp_publisher_portal": { "type": "object", "properties": { "google_store_package": { "type": "string" }, "testing_instructions": { "type": "string" } } } } }
|
package/lib/esm/index.js
CHANGED
|
@@ -2,8 +2,9 @@ import { Command } from "commander";
|
|
|
2
2
|
import { validateCommand } from "./commands/index.js";
|
|
3
3
|
import { createAppCommand, createPublisherCommand, createReleaseCommand } from "./commands/create/index.js";
|
|
4
4
|
import { publishRemoveCommand, publishSubmitCommand, publishSupportCommand, publishUpdateCommand } from "./commands/publish/index.js";
|
|
5
|
-
import { checkForSelfUpdate, generateNetworkSuffix, getConfigFile, parseKeypair, showMessage } from "./utils.js";
|
|
5
|
+
import { checkForSelfUpdate, checkSubmissionNetwork, Constants, generateNetworkSuffix, getConfigFile, parseKeypair, showMessage } from "./utils.js";
|
|
6
6
|
import * as dotenv from "dotenv";
|
|
7
|
+
import { initScaffold } from "./commands/scaffolding/index.js";
|
|
7
8
|
dotenv.config();
|
|
8
9
|
const hasAddressInConfig = ({ address }) => {
|
|
9
10
|
return !!address;
|
|
@@ -33,8 +34,17 @@ async function tryWithErrorMessage(block) {
|
|
|
33
34
|
async function main() {
|
|
34
35
|
program
|
|
35
36
|
.name("dapp-store")
|
|
36
|
-
.version(
|
|
37
|
+
.version(Constants.CLI_VERSION)
|
|
37
38
|
.description("CLI to assist with publishing to the Saga Dapp Store");
|
|
39
|
+
const initCommand = program
|
|
40
|
+
.command("init")
|
|
41
|
+
.description("First-time initialization of tooling configuration")
|
|
42
|
+
.action(async () => {
|
|
43
|
+
tryWithErrorMessage(async () => {
|
|
44
|
+
const msg = initScaffold();
|
|
45
|
+
showMessage("Initialized", msg);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
38
48
|
const createCommand = program
|
|
39
49
|
.command("create")
|
|
40
50
|
.description("Create a `publisher`, `app`, or `release`");
|
|
@@ -149,13 +159,14 @@ async function main() {
|
|
|
149
159
|
.requiredOption("-k, --keypair <path-to-keypair-file>", "Path to keypair file")
|
|
150
160
|
.requiredOption("--complies-with-solana-dapp-store-policies", "An attestation that the app complies with the Solana dApp Store policies")
|
|
151
161
|
.requiredOption("--requestor-is-authorized", "An attestation that the party making this Solana dApp publisher portal request is authorized to do so")
|
|
152
|
-
.option("-a, --app-mint-address <app-mint-address>", "The mint address of the app NFT. If not specified, the value from config
|
|
153
|
-
.option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT. If not specified, the value from config
|
|
162
|
+
.option("-a, --app-mint-address <app-mint-address>", "The mint address of the app NFT. If not specified, the value from your config file will be used.")
|
|
163
|
+
.option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT. If not specified, the value from your config file will be used.")
|
|
154
164
|
.option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
|
|
155
165
|
.option("-d, --dry-run", "Flag for dry run. Doesn't submit the request to the publisher portal.")
|
|
156
166
|
.action(async ({ appMintAddress, releaseMintAddress, keypair, url, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, dryRun, }) => {
|
|
157
167
|
tryWithErrorMessage(async () => {
|
|
158
168
|
await checkForSelfUpdate();
|
|
169
|
+
await checkSubmissionNetwork(url);
|
|
159
170
|
const config = await getConfigFile();
|
|
160
171
|
if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
|
|
161
172
|
throw new Error("Either specify a release mint address in the config file or specify as a CLI argument to this command.");
|
|
@@ -182,14 +193,15 @@ async function main() {
|
|
|
182
193
|
.requiredOption("-k, --keypair <path-to-keypair-file>", "Path to keypair file")
|
|
183
194
|
.requiredOption("--complies-with-solana-dapp-store-policies", "An attestation that the app complies with the Solana dApp Store policies")
|
|
184
195
|
.requiredOption("--requestor-is-authorized", "An attestation that the party making this Solana dApp publisher portal request is authorized to do so")
|
|
185
|
-
.option("-a, --app-mint-address <app-mint-address>", "The mint address of the app NFT. If not specified, the value from config
|
|
186
|
-
.option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT. If not specified, the value from config
|
|
196
|
+
.option("-a, --app-mint-address <app-mint-address>", "The mint address of the app NFT. If not specified, the value from your config file will be used.")
|
|
197
|
+
.option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT. If not specified, the value from your config file will be used.")
|
|
187
198
|
.option("-c, --critical", "Flag for a critical app update request")
|
|
188
199
|
.option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
|
|
189
200
|
.option("-d, --dry-run", "Flag for dry run. Doesn't submit the request to the publisher portal.")
|
|
190
201
|
.action(async ({ appMintAddress, releaseMintAddress, keypair, url, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, critical, dryRun, }) => {
|
|
191
202
|
tryWithErrorMessage(async () => {
|
|
192
203
|
await checkForSelfUpdate();
|
|
204
|
+
await checkSubmissionNetwork(url);
|
|
193
205
|
const config = await getConfigFile();
|
|
194
206
|
if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
|
|
195
207
|
throw new Error("Either specify a release mint address in the config file or specify as a CLI argument to this command.");
|
|
@@ -216,14 +228,15 @@ async function main() {
|
|
|
216
228
|
.description("Remove an existing app from the Solana Mobile dApp publisher portal")
|
|
217
229
|
.requiredOption("-k, --keypair <path-to-keypair-file>", "Path to keypair file")
|
|
218
230
|
.requiredOption("--requestor-is-authorized", "An attestation that the party making this Solana dApp publisher portal request is authorized to do so")
|
|
219
|
-
.option("-a, --app-mint-address <app-mint-address>", "The mint address of the app NFT. If not specified, the value from config
|
|
220
|
-
.option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT. If not specified, the value from config
|
|
231
|
+
.option("-a, --app-mint-address <app-mint-address>", "The mint address of the app NFT. If not specified, the value from your config file will be used.")
|
|
232
|
+
.option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT. If not specified, the value from your config file will be used.")
|
|
221
233
|
.option("-c, --critical", "Flag for a critical app removal request")
|
|
222
234
|
.option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
|
|
223
235
|
.option("-d, --dry-run", "Flag for dry run. Doesn't submit the request to the publisher portal.")
|
|
224
236
|
.action(async ({ appMintAddress, releaseMintAddress, keypair, url, requestorIsAuthorized, critical, dryRun, }) => {
|
|
225
237
|
tryWithErrorMessage(async () => {
|
|
226
238
|
await checkForSelfUpdate();
|
|
239
|
+
await checkSubmissionNetwork(url);
|
|
227
240
|
const config = await getConfigFile();
|
|
228
241
|
if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
|
|
229
242
|
throw new Error("Either specify a release mint address in the config file or specify as a CLI argument to this command.");
|
|
@@ -249,13 +262,14 @@ async function main() {
|
|
|
249
262
|
.description("Submit a support request for an existing app on the Solana Mobile dApp publisher portal")
|
|
250
263
|
.requiredOption("-k, --keypair <path-to-keypair-file>", "Path to keypair file")
|
|
251
264
|
.requiredOption("--requestor-is-authorized", "An attestation that the party making this Solana dApp publisher portal request is authorized to do so")
|
|
252
|
-
.option("-a, --app-mint-address <app-mint-address>", "The mint address of the app NFT. If not specified, the value from config
|
|
253
|
-
.option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT. If not specified, the value from config
|
|
265
|
+
.option("-a, --app-mint-address <app-mint-address>", "The mint address of the app NFT. If not specified, the value from your config file will be used.")
|
|
266
|
+
.option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT. If not specified, the value from your config file will be used.")
|
|
254
267
|
.option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
|
|
255
268
|
.option("-d, --dry-run", "Flag for dry run. Doesn't submit the request to the publisher portal.")
|
|
256
269
|
.action(async (requestDetails, { appMintAddress, releaseMintAddress, keypair, url, requestorIsAuthorized, dryRun }) => {
|
|
257
270
|
tryWithErrorMessage(async () => {
|
|
258
271
|
await checkForSelfUpdate();
|
|
272
|
+
await checkSubmissionNetwork(url);
|
|
259
273
|
const config = await getConfigFile();
|
|
260
274
|
if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
|
|
261
275
|
throw new Error("Either specify a release mint address in the config file or specify as a CLI argument to this command.");
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC5G,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solana-mobile/dapp-store-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"scripts": {
|
|
30
30
|
"clean": "shx mkdir -p lib && shx rm -rf lib",
|
|
31
|
-
"prebuild": "pnpm run clean"
|
|
31
|
+
"prebuild": "pnpm run clean && node src/prebuild_schema/schemagen.js"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@metaplex-foundation/js": "0.17.11",
|
|
@@ -40,16 +40,19 @@
|
|
|
40
40
|
"shx": "^0.3.4"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@solana-mobile/dapp-store-publishing-tools": "workspace:0.
|
|
43
|
+
"@solana-mobile/dapp-store-publishing-tools": "workspace:0.2.0",
|
|
44
44
|
"@solana/web3.js": "1.68.0",
|
|
45
|
+
"@types/semver": "^7.3.13",
|
|
45
46
|
"ajv": "^8.11.0",
|
|
46
47
|
"boxen": "^7.0.1",
|
|
47
48
|
"commander": "^9.4.1",
|
|
48
49
|
"debug": "^4.3.4",
|
|
49
50
|
"dotenv": "^16.0.3",
|
|
50
51
|
"esm": "^3.2.25",
|
|
52
|
+
"generate-schema": "^2.6.0",
|
|
51
53
|
"image-size": "^1.0.2",
|
|
52
54
|
"js-yaml": "^4.1.0",
|
|
55
|
+
"semver": "^7.3.8",
|
|
53
56
|
"terminal-link": "^3.0.0",
|
|
54
57
|
"tweetnacl": "1.0.3",
|
|
55
58
|
"update-notifier": "^6.0.2"
|