@solana-mobile/dapp-store-cli 0.1.1-0 → 0.1.1
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 +27 -25
- package/bin/dapp-store.js +1 -1
- package/lib/esm/commands/create/release.js +2 -3
- package/lib/esm/commands/create/release.js.map +1 -1
- package/lib/esm/commands/publish/remove.js +2 -2
- package/lib/esm/commands/publish/remove.js.map +1 -1
- package/lib/esm/commands/publish/submit.js +2 -2
- package/lib/esm/commands/publish/submit.js.map +1 -1
- package/lib/esm/commands/publish/support.js +2 -2
- package/lib/esm/commands/publish/support.js.map +1 -1
- package/lib/esm/commands/publish/update.js +2 -2
- package/lib/esm/commands/publish/update.js.map +1 -1
- package/lib/esm/config/index.js.map +1 -1
- package/lib/esm/config/schema.json +11 -40
- package/lib/esm/index.js +133 -123
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/upload/CachedStorageDriver.js +3 -1
- package/lib/esm/upload/CachedStorageDriver.js.map +1 -1
- package/lib/esm/utils.js +16 -28
- package/lib/esm/utils.js.map +1 -1
- package/lib/types/commands/create/release.d.ts +1 -2
- package/lib/types/commands/create/release.d.ts.map +1 -1
- package/lib/types/commands/publish/remove.d.ts.map +1 -1
- package/lib/types/commands/publish/submit.d.ts.map +1 -1
- package/lib/types/commands/publish/support.d.ts.map +1 -1
- package/lib/types/commands/publish/update.d.ts.map +1 -1
- package/lib/types/config/index.d.ts +0 -1
- package/lib/types/config/index.d.ts.map +1 -1
- package/lib/types/upload/CachedStorageDriver.d.ts +1 -1
- package/lib/types/upload/CachedStorageDriver.d.ts.map +1 -1
- package/lib/types/utils.d.ts +2 -4
- package/lib/types/utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/commands/create/release.ts +1 -4
- package/src/commands/publish/remove.ts +5 -2
- package/src/commands/publish/submit.ts +2 -1
- package/src/commands/publish/support.ts +5 -2
- package/src/commands/publish/update.ts +2 -1
- package/src/config/index.ts +1 -2
- package/src/config/schema.json +11 -40
- package/src/index.ts +162 -155
- package/src/upload/CachedStorageDriver.ts +4 -1
- package/src/utils.ts +21 -54
package/README.md
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
- S3 URL -->
|
|
12
12
|
- when we run the release, SHA hash the previous files and commit to an `.asset-cache`
|
|
13
13
|
|
|
14
|
-
|
|
15
14
|
## Publishing Notes
|
|
16
15
|
|
|
17
16
|
- https://developer.android.com/guide/topics/resources/multilingual-support#specify-the-languages-your-app-supports
|
|
@@ -22,6 +21,7 @@
|
|
|
22
21
|
|
|
23
22
|
- Node 16+
|
|
24
23
|
- PNPM
|
|
24
|
+
- Android SDK build tools
|
|
25
25
|
|
|
26
26
|
If you have Node 16+, you can [activate PNPM with Corepack](https://pnpm.io/installation#using-corepack):
|
|
27
27
|
|
|
@@ -36,14 +36,9 @@ Corepack requires a version to enable, so if you don't have [jq](https://stedola
|
|
|
36
36
|
corepack prepare pnpm@7.13.4 --activate
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
git clone https://github.com/solana-mobile/app-publishing-spec
|
|
43
|
-
cd app-publishing-spec
|
|
44
|
-
pnpm install
|
|
45
|
-
pnpm run build
|
|
46
|
-
pnpm link .
|
|
39
|
+
You must have the Android SDK build tools available for use by the `dapp-store` CLI. If you have Android Studio, these tools are available as part of that installation (for e.g., on MacOS, they can be found in ~/Library/Android/sdk/build-tools/<version>). If you do not have Android Studio installed, or wish to use a standalone version of the Android SDK build tools, please follow the instructions [here](https://developer.android.com/studio/intro/update#sdk-manager). The path to the SDK build tools can be provided either directly to subcommands that require it with the `-b` option, or indirectly via a `.env` file:
|
|
40
|
+
```
|
|
41
|
+
echo "ANDROID_TOOLS_DIR=<path_to_android_sdk_build_tools_dir>" > .env
|
|
47
42
|
```
|
|
48
43
|
|
|
49
44
|
## Usage
|
|
@@ -52,7 +47,23 @@ In your application folder (e.g., `example`):
|
|
|
52
47
|
|
|
53
48
|
```shell
|
|
54
49
|
cd example
|
|
55
|
-
pnpm
|
|
50
|
+
pnpm install --save-dev @solana-mobile/dapp-store-cli
|
|
51
|
+
npx dapp-store --help
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
or with `yarn`
|
|
55
|
+
|
|
56
|
+
```shell
|
|
57
|
+
cd example
|
|
58
|
+
yarn add @solana-mobile/dapp-store-cli
|
|
59
|
+
yarn run dapp-store --help
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
or with `npm`
|
|
63
|
+
|
|
64
|
+
```shell
|
|
65
|
+
cd example
|
|
66
|
+
npm install --save-dev @solana-mobile/dapp-store-cli
|
|
56
67
|
npx dapp-store --help
|
|
57
68
|
```
|
|
58
69
|
|
|
@@ -68,21 +79,16 @@ Publishers, applications, and releases on the Saga Dapp Store are all represente
|
|
|
68
79
|
|
|
69
80
|
A typical publishing flow might look like:
|
|
70
81
|
|
|
71
|
-
1. Create a publisher (`dapp-store create publisher
|
|
72
|
-
2. Create an app (`dapp-store create app
|
|
73
|
-
3. Create a release (`dapp-store create release
|
|
74
|
-
4. Submit an app for review (`dapp-store submit
|
|
82
|
+
1. Create a publisher (`dapp-store create publisher ...`)
|
|
83
|
+
2. Create an app (`dapp-store create app ...`)
|
|
84
|
+
3. Create a release (`dapp-store create release ...`)
|
|
85
|
+
4. Submit an app for review (`dapp-store publish submit ...`)
|
|
75
86
|
|
|
76
87
|
Repeat steps 3. and 4. as needed!
|
|
77
88
|
|
|
78
89
|
## Editor's Note
|
|
79
90
|
|
|
80
|
-
The `dapp-store` CLI
|
|
81
|
-
|
|
82
|
-
- takes an opinionated approach to file structure optimizing for source control
|
|
83
|
-
- handles rote tasks like uploading assets to immutable file storage and i18n
|
|
84
|
-
|
|
85
|
-
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
|
|
91
|
+
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.
|
|
86
92
|
|
|
87
93
|
## Configuration
|
|
88
94
|
|
|
@@ -101,8 +107,6 @@ app:
|
|
|
101
107
|
name: My new app name
|
|
102
108
|
address: 4xE4MDVHfFAXMKKzqrJ2v1HxcgYgdoV98nuvd8SRKhWP
|
|
103
109
|
android_package: com.company.dapp
|
|
104
|
-
creators:
|
|
105
|
-
- 7pF18kRbv4mWdLPNMa8CjqLotQpznxzzRJqwdMibMitE
|
|
106
110
|
urls:
|
|
107
111
|
license_url: http://cdn.org/license.html
|
|
108
112
|
copyright_url: http://cdn.org/copyright.html
|
|
@@ -112,7 +116,6 @@ app:
|
|
|
112
116
|
- purpose: icon
|
|
113
117
|
uri: ./media/app_icon.jpeg
|
|
114
118
|
release:
|
|
115
|
-
version: 1.0.4
|
|
116
119
|
address: HeXP8pLxxzWPo1j7FwsytrCBN9Q7HZ3MA8TVCVGj5eCA
|
|
117
120
|
media:
|
|
118
121
|
- purpose: screenshot
|
|
@@ -130,7 +133,7 @@ release:
|
|
|
130
133
|
Some wonderful release notes, in long-form
|
|
131
134
|
new_in_version: |
|
|
132
135
|
Something new in this version
|
|
133
|
-
|
|
136
|
+
saga_features: |
|
|
134
137
|
Some information about saga specific features
|
|
135
138
|
solana_mobile_dapp_publisher_portal:
|
|
136
139
|
google_store_package: com.company.dapp.otherpkg
|
|
@@ -139,4 +142,3 @@ solana_mobile_dapp_publisher_portal:
|
|
|
139
142
|
can specify multiple lines of instructions. For example, if a login is
|
|
140
143
|
needed, you would add those details here.
|
|
141
144
|
```
|
|
142
|
-
|
package/bin/dapp-store.js
CHANGED
|
@@ -24,7 +24,7 @@ const createReleaseNft = async ({ appMintAddress, releaseDetails, appDetails, pu
|
|
|
24
24
|
});
|
|
25
25
|
return { releaseAddress: releaseMintAddress.publicKey.toBase58() };
|
|
26
26
|
};
|
|
27
|
-
export const createReleaseCommand = async ({ appMintAddress,
|
|
27
|
+
export const createReleaseCommand = async ({ appMintAddress, buildToolsPath, signer, url, dryRun = false, }) => {
|
|
28
28
|
const connection = new Connection(url);
|
|
29
29
|
const { release, app, publisher } = await getConfigFile(buildToolsPath);
|
|
30
30
|
if (!dryRun) {
|
|
@@ -34,13 +34,12 @@ export const createReleaseCommand = async ({ appMintAddress, version, buildTools
|
|
|
34
34
|
publisher: signer,
|
|
35
35
|
releaseDetails: {
|
|
36
36
|
...release,
|
|
37
|
-
version,
|
|
38
37
|
},
|
|
39
38
|
appDetails: app,
|
|
40
39
|
publisherDetails: publisher,
|
|
41
40
|
});
|
|
42
41
|
saveToConfig({
|
|
43
|
-
release: { address: releaseAddress
|
|
42
|
+
release: { address: releaseAddress },
|
|
44
43
|
});
|
|
45
44
|
return { releaseAddress };
|
|
46
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../../../src/commands/create/release.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../../../src/commands/create/release.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAUxB,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAC9B,cAAc,EACd,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,SAAS,GAQV,EAAE,EAAE;IACH,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAE9C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAE5D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CACvC;QACE,cAAc,EAAE,IAAI,SAAS,CAAC,cAAc,CAAC;QAC7C,kBAAkB;QAClB,cAAc;QACd,UAAU;QACV,gBAAgB;KACjB,EACD,EAAE,QAAQ,EAAE,SAAS,EAAE,CACxB,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;IACxD,MAAM,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAEvC,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,UAAU,EAAE,EAAE,EAAE;QAC5D,SAAS;QACT,kBAAkB;KACnB,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC;QACX,KAAK;QACL,kBAAkB,EAAE,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE;KAC5D,CAAC,CAAC;IAEH,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,cAAc,EACd,cAAc,EACd,MAAM,EACN,GAAG,EACH,MAAM,GAAG,KAAK,GACY,EAAE,EAAE;IAC9B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAEvC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,CAAC;IAExE,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,gBAAgB,CAAC;YAChD,cAAc,EAAE,GAAG,CAAC,OAAO,IAAI,cAAc;YAC7C,UAAU;YACV,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE;gBACd,GAAG,OAAO;aACX;YACD,UAAU,EAAE,GAAG;YACf,gBAAgB,EAAE,SAAS;SAC5B,CAAC,CAAC;QAEH,YAAY,CAAC;YACX,OAAO,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;SACrC,CAAC,CAAC;QAEH,OAAO,EAAE,cAAc,EAAE,CAAC;KAC3B;AACH,CAAC,CAAC"}
|
|
@@ -8,10 +8,10 @@ export const publishRemoveCommand = async ({ releaseMintAddress, signer, url, dr
|
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
10
|
const connection = new Connection(url);
|
|
11
|
-
const { publisher: publisherDetails } = await getConfigFile();
|
|
11
|
+
const { publisher: publisherDetails, release: releaseDetails, } = await getConfigFile();
|
|
12
12
|
const sign = ((buf) => nacl.sign(buf, signer.secretKey));
|
|
13
13
|
await publishRemove({ connection, sign }, {
|
|
14
|
-
releaseMintAddress,
|
|
14
|
+
releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
|
|
15
15
|
publisherDetails,
|
|
16
16
|
requestorIsAuthorized,
|
|
17
17
|
criticalUpdate: critical,
|
|
@@ -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;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAW7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,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,
|
|
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;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAW7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,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,OAAO,EAAE,cAAc,GACxB,GAAG,MAAM,aAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAA6B,CAAC;IAEhE,MAAM,aAAa,CACjB,EAAE,UAAU,EAAE,IAAI,EAAE,EACpB;QACE,kBAAkB,EAAE,kBAAkB,IAAI,cAAc,CAAC,OAAO;QAChE,gBAAgB;QAChB,qBAAqB;QACrB,cAAc,EAAE,QAAQ;KACzB,EACD,MAAM,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -12,10 +12,10 @@ export const publishSubmitCommand = async ({ releaseMintAddress, signer, url, dr
|
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
14
|
const connection = new Connection(url);
|
|
15
|
-
const { publisher: publisherDetails, solana_mobile_dapp_publisher_portal: solanaMobileDappPublisherPortalDetails, } = await getConfigFile();
|
|
15
|
+
const { publisher: publisherDetails, release: releaseDetails, solana_mobile_dapp_publisher_portal: solanaMobileDappPublisherPortalDetails, } = await getConfigFile();
|
|
16
16
|
const sign = ((buf) => nacl.sign(buf, signer.secretKey));
|
|
17
17
|
await publishSubmit({ connection, sign }, {
|
|
18
|
-
releaseMintAddress,
|
|
18
|
+
releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
|
|
19
19
|
publisherDetails,
|
|
20
20
|
solanaMobileDappPublisherPortalDetails,
|
|
21
21
|
compliesWithSolanaDappStorePolicies,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../../src/commands/publish/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAW/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,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,mCAAmC,EAAE,sCAAsC,GAC5E,GAAG,MAAM,aAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAA6B,CAAC;IAEhE,MAAM,aAAa,CACjB,EAAE,UAAU,EAAE,IAAI,EAAE,EACpB;QACE,kBAAkB;
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../../src/commands/publish/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAW/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,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,OAAO,EAAE,cAAc,EACvB,mCAAmC,EAAE,sCAAsC,GAC5E,GAAG,MAAM,aAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAA6B,CAAC;IAEhE,MAAM,aAAa,CACjB,EAAE,UAAU,EAAE,IAAI,EAAE,EACpB;QACE,kBAAkB,EAAE,kBAAkB,IAAI,cAAc,CAAC,OAAO;QAChE,gBAAgB;QAChB,sCAAsC;QACtC,mCAAmC;QACnC,qBAAqB;KACtB,EACD,MAAM,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -8,10 +8,10 @@ export const publishSupportCommand = async ({ releaseMintAddress, signer, url, d
|
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
10
|
const connection = new Connection(url);
|
|
11
|
-
const { publisher: publisherDetails } = await getConfigFile();
|
|
11
|
+
const { publisher: publisherDetails, release: releaseDetails, } = await getConfigFile();
|
|
12
12
|
const sign = ((buf) => nacl.sign(buf, signer.secretKey));
|
|
13
13
|
await publishSupport({ connection, sign }, {
|
|
14
|
-
releaseMintAddress,
|
|
14
|
+
releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
|
|
15
15
|
publisherDetails,
|
|
16
16
|
requestorIsAuthorized,
|
|
17
17
|
requestDetails,
|
|
@@ -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;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAW7B,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAC1C,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,
|
|
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;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAW7B,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAC1C,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,OAAO,EAAE,cAAc,GACxB,GAAG,MAAM,aAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAA6B,CAAC;IAEhE,MAAM,cAAc,CAClB,EAAE,UAAU,EAAE,IAAI,EAAE,EACpB;QACE,kBAAkB,EAAE,kBAAkB,IAAI,cAAc,CAAC,OAAO;QAChE,gBAAgB;QAChB,qBAAqB;QACrB,cAAc;KACf,EACD,MAAM,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -12,10 +12,10 @@ export const publishUpdateCommand = async ({ releaseMintAddress, signer, url, dr
|
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
14
|
const connection = new Connection(url);
|
|
15
|
-
const { publisher: publisherDetails, solana_mobile_dapp_publisher_portal: solanaMobileDappPublisherPortalDetails, } = await getConfigFile();
|
|
15
|
+
const { publisher: publisherDetails, release: releaseDetails, solana_mobile_dapp_publisher_portal: solanaMobileDappPublisherPortalDetails, } = await getConfigFile();
|
|
16
16
|
const sign = ((buf) => nacl.sign(buf, signer.secretKey));
|
|
17
17
|
await publishUpdate({ connection, sign }, {
|
|
18
|
-
releaseMintAddress,
|
|
18
|
+
releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
|
|
19
19
|
publisherDetails,
|
|
20
20
|
solanaMobileDappPublisherPortalDetails,
|
|
21
21
|
compliesWithSolanaDappStorePolicies,
|
|
@@ -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;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAY7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,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,mCAAmC,EAAE,sCAAsC,GAC5E,GAAG,MAAM,aAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAA6B,CAAC;IAEhE,MAAM,aAAa,CACjB,EAAE,UAAU,EAAE,IAAI,EAAE,EACpB;QACE,kBAAkB;
|
|
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;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAY7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,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,OAAO,EAAE,cAAc,EACvB,mCAAmC,EAAE,sCAAsC,GAC5E,GAAG,MAAM,aAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAA6B,CAAC;IAEhE,MAAM,aAAa,CACjB,EAAE,UAAU,EAAE,IAAI,EAAE,EACpB;QACE,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"}
|
|
@@ -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,eAAe,CAAC;
|
|
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,eAAe,CAAC;AAUvC,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;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAEpC,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"}
|
|
@@ -27,15 +27,9 @@
|
|
|
27
27
|
},
|
|
28
28
|
"uri": {
|
|
29
29
|
"type": "string"
|
|
30
|
-
},
|
|
31
|
-
"width": {
|
|
32
|
-
"type": "integer"
|
|
33
|
-
},
|
|
34
|
-
"height": {
|
|
35
|
-
"type": "integer"
|
|
36
30
|
}
|
|
37
31
|
},
|
|
38
|
-
"required": ["purpose", "uri"
|
|
32
|
+
"required": ["purpose", "uri"]
|
|
39
33
|
}
|
|
40
34
|
]
|
|
41
35
|
}
|
|
@@ -54,14 +48,6 @@
|
|
|
54
48
|
"android_package": {
|
|
55
49
|
"type": "string"
|
|
56
50
|
},
|
|
57
|
-
"creators": {
|
|
58
|
-
"type": "array",
|
|
59
|
-
"items": [
|
|
60
|
-
{
|
|
61
|
-
"type": "string"
|
|
62
|
-
}
|
|
63
|
-
]
|
|
64
|
-
},
|
|
65
51
|
"urls": {
|
|
66
52
|
"type": "object",
|
|
67
53
|
"properties": {
|
|
@@ -96,27 +82,18 @@
|
|
|
96
82
|
},
|
|
97
83
|
"uri": {
|
|
98
84
|
"type": "string"
|
|
99
|
-
},
|
|
100
|
-
"width": {
|
|
101
|
-
"type": "integer"
|
|
102
|
-
},
|
|
103
|
-
"height": {
|
|
104
|
-
"type": "integer"
|
|
105
85
|
}
|
|
106
86
|
},
|
|
107
|
-
"required": ["purpose", "uri"
|
|
87
|
+
"required": ["purpose", "uri"]
|
|
108
88
|
}
|
|
109
89
|
]
|
|
110
90
|
}
|
|
111
91
|
},
|
|
112
|
-
"required": ["name", "android_package", "
|
|
92
|
+
"required": ["name", "android_package", "urls", "media"]
|
|
113
93
|
},
|
|
114
94
|
"release": {
|
|
115
95
|
"type": "object",
|
|
116
96
|
"properties": {
|
|
117
|
-
"version": {
|
|
118
|
-
"type": "string"
|
|
119
|
-
},
|
|
120
97
|
"address": {
|
|
121
98
|
"type": "string"
|
|
122
99
|
},
|
|
@@ -131,15 +108,9 @@
|
|
|
131
108
|
},
|
|
132
109
|
"uri": {
|
|
133
110
|
"type": "string"
|
|
134
|
-
},
|
|
135
|
-
"width": {
|
|
136
|
-
"type": "integer"
|
|
137
|
-
},
|
|
138
|
-
"height": {
|
|
139
|
-
"type": "integer"
|
|
140
111
|
}
|
|
141
112
|
},
|
|
142
|
-
"required": ["purpose", "uri"
|
|
113
|
+
"required": ["purpose", "uri"]
|
|
143
114
|
}
|
|
144
115
|
]
|
|
145
116
|
},
|
|
@@ -172,8 +143,8 @@
|
|
|
172
143
|
},
|
|
173
144
|
"catalog": {
|
|
174
145
|
"type": "object",
|
|
175
|
-
"
|
|
176
|
-
"
|
|
146
|
+
"patternProperties": {
|
|
147
|
+
"^[a-zA-Z]{2,8}(-[a-zA-Z0-9]{2,8})*$": {
|
|
177
148
|
"type": "object",
|
|
178
149
|
"properties": {
|
|
179
150
|
"name": {
|
|
@@ -188,7 +159,7 @@
|
|
|
188
159
|
"new_in_version": {
|
|
189
160
|
"type": "string"
|
|
190
161
|
},
|
|
191
|
-
"
|
|
162
|
+
"saga_features": {
|
|
192
163
|
"type": "string"
|
|
193
164
|
}
|
|
194
165
|
},
|
|
@@ -197,14 +168,14 @@
|
|
|
197
168
|
"short_description",
|
|
198
169
|
"long_description",
|
|
199
170
|
"new_in_version",
|
|
200
|
-
"
|
|
171
|
+
"saga_features"
|
|
201
172
|
]
|
|
202
173
|
}
|
|
203
174
|
},
|
|
204
|
-
"
|
|
175
|
+
"additionalProperties": false
|
|
205
176
|
}
|
|
206
177
|
},
|
|
207
|
-
"required": ["
|
|
178
|
+
"required": ["media", "files", "catalog"]
|
|
208
179
|
},
|
|
209
180
|
"solana_mobile_dapp_publisher_portal": {
|
|
210
181
|
"type": "object",
|
|
@@ -216,7 +187,7 @@
|
|
|
216
187
|
"type": "string"
|
|
217
188
|
}
|
|
218
189
|
},
|
|
219
|
-
"required": ["
|
|
190
|
+
"required": ["testing_instructions"]
|
|
220
191
|
}
|
|
221
192
|
},
|
|
222
193
|
"required": [
|