@solana-mobile/dapp-store-cli 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,11 +1,9 @@
1
1
  ## Prerequisites
2
2
 
3
- - Node 16.13.2 (This specific version, please)
3
+ - Node 18+
4
4
  - PNPM
5
5
  - Android SDK build tools
6
6
 
7
- If you have Node 16+, you can [activate PNPM with Corepack](https://pnpm.io/installation#using-corepack):
8
-
9
7
  ```shell
10
8
  corepack enable
11
9
  corepack prepare pnpm@`npm info pnpm --json | jq -r .version` --activate
@@ -108,8 +106,6 @@ release:
108
106
  en-US:
109
107
  name: |
110
108
  A nice, helpful dApp name
111
- short_description: |
112
- Some wonderful release notes
113
109
  long_description: |
114
110
  Some wonderful release notes, in long-form
115
111
  new_in_version: |
@@ -2,15 +2,16 @@ import { Connection } from "@solana/web3.js";
2
2
  import { publishRemove } from "@solana-mobile/dapp-store-publishing-tools";
3
3
  import { getConfigFile } from "../../utils.js";
4
4
  import nacl from "tweetnacl";
5
- export const publishRemoveCommand = async ({ releaseMintAddress, signer, url, dryRun = false, requestorIsAuthorized = false, critical = false, }) => {
5
+ export const publishRemoveCommand = async ({ appMintAddress, releaseMintAddress, signer, url, dryRun = false, requestorIsAuthorized = false, critical = false, }) => {
6
6
  if (!requestorIsAuthorized) {
7
7
  console.error("ERROR: Cannot submit a request for which the requestor does not attest they are authorized to do so");
8
8
  return;
9
9
  }
10
10
  const connection = new Connection(url);
11
- const { publisher: publisherDetails, release: releaseDetails, } = await getConfigFile();
11
+ const { publisher: publisherDetails, app: appDetails, release: releaseDetails, } = await getConfigFile();
12
12
  const sign = ((buf) => nacl.sign(buf, signer.secretKey));
13
13
  await publishRemove({ connection, sign }, {
14
+ appMintAddress: appMintAddress ?? appDetails.address,
14
15
  releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
15
16
  publisherDetails,
16
17
  requestorIsAuthorized,
@@ -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,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"}
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;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;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,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"}
@@ -2,7 +2,7 @@ import { Connection } from "@solana/web3.js";
2
2
  import { publishSubmit } from "@solana-mobile/dapp-store-publishing-tools";
3
3
  import nacl from "tweetnacl";
4
4
  import { getConfigFile } from "../../utils.js";
5
- export const publishSubmitCommand = async ({ releaseMintAddress, signer, url, dryRun = false, compliesWithSolanaDappStorePolicies = false, requestorIsAuthorized = false, }) => {
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");
8
8
  return;
@@ -12,9 +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, release: releaseDetails, solana_mobile_dapp_publisher_portal: solanaMobileDappPublisherPortalDetails, } = await getConfigFile();
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
17
  await publishSubmit({ connection, sign }, {
18
+ appMintAddress: appMintAddress ?? appDetails.address,
18
19
  releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
19
20
  publisherDetails,
20
21
  solanaMobileDappPublisherPortalDetails,
@@ -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,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"}
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;AAY/C,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;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,cAAc,EAAE,cAAc,IAAI,UAAU,CAAC,OAAO;QACpD,kBAAkB,EAAE,kBAAkB,IAAI,cAAc,CAAC,OAAO;QAChE,gBAAgB;QAChB,sCAAsC;QACtC,mCAAmC;QACnC,qBAAqB;KACtB,EACD,MAAM,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -2,15 +2,16 @@ import { Connection } from "@solana/web3.js";
2
2
  import { publishSupport } from "@solana-mobile/dapp-store-publishing-tools";
3
3
  import { getConfigFile } from "../../utils.js";
4
4
  import nacl from "tweetnacl";
5
- export const publishSupportCommand = async ({ releaseMintAddress, signer, url, dryRun = false, requestorIsAuthorized = false, requestDetails, }) => {
5
+ export const publishSupportCommand = async ({ appMintAddress, releaseMintAddress, signer, url, dryRun = false, requestorIsAuthorized = false, requestDetails, }) => {
6
6
  if (!requestorIsAuthorized) {
7
7
  console.error("ERROR: Cannot submit a request for which the requestor does not attest they are authorized to do so");
8
8
  return;
9
9
  }
10
10
  const connection = new Connection(url);
11
- const { publisher: publisherDetails, release: releaseDetails, } = await getConfigFile();
11
+ const { publisher: publisherDetails, app: appDetails, release: releaseDetails, } = await getConfigFile();
12
12
  const sign = ((buf) => nacl.sign(buf, signer.secretKey));
13
13
  await publishSupport({ connection, sign }, {
14
+ appMintAddress: appMintAddress ?? appDetails.address,
14
15
  releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
15
16
  publisherDetails,
16
17
  requestorIsAuthorized,
@@ -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,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"}
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;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;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,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"}
@@ -2,7 +2,7 @@ import { Connection } from "@solana/web3.js";
2
2
  import { publishUpdate } from "@solana-mobile/dapp-store-publishing-tools";
3
3
  import { getConfigFile } from "../../utils.js";
4
4
  import nacl from "tweetnacl";
5
- export const publishUpdateCommand = async ({ releaseMintAddress, signer, url, dryRun = false, compliesWithSolanaDappStorePolicies = false, requestorIsAuthorized = false, critical = false, }) => {
5
+ export const publishUpdateCommand = async ({ appMintAddress, releaseMintAddress, signer, url, dryRun = false, compliesWithSolanaDappStorePolicies = false, requestorIsAuthorized = false, critical = 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");
8
8
  return;
@@ -12,9 +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, release: releaseDetails, solana_mobile_dapp_publisher_portal: solanaMobileDappPublisherPortalDetails, } = await getConfigFile();
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
17
  await publishUpdate({ connection, sign }, {
18
+ appMintAddress: appMintAddress ?? appDetails.address,
18
19
  releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
19
20
  publisherDetails,
20
21
  solanaMobileDappPublisherPortalDetails,
@@ -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,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
+ {"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;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;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,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"}
@@ -2,7 +2,7 @@ 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 "./schema.json";
5
+ import schemaJson from "./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) => {
@@ -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;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"}
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,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAU/D,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"}
@@ -150,9 +150,6 @@
150
150
  "name": {
151
151
  "type": "string"
152
152
  },
153
- "short_description": {
154
- "type": "string"
155
- },
156
153
  "long_description": {
157
154
  "type": "string"
158
155
  },
@@ -165,7 +162,6 @@
165
162
  },
166
163
  "required": [
167
164
  "name",
168
- "short_description",
169
165
  "long_description",
170
166
  "new_in_version",
171
167
  "saga_features"
package/lib/esm/index.js CHANGED
@@ -24,7 +24,7 @@ function resolveBuildToolsPath(buildToolsPath) {
24
24
  async function main() {
25
25
  program
26
26
  .name("dapp-store")
27
- .version("0.1.6")
27
+ .version("0.1.7")
28
28
  .description("CLI to assist with publishing to the Saga Dapp Store");
29
29
  const createCommand = program
30
30
  .command("create")
@@ -113,18 +113,23 @@ async function main() {
113
113
  .requiredOption("-k, --keypair <path-to-keypair-file>", "Path to keypair file")
114
114
  .option("-b, --build-tools-path <build-tools-path>", "Path to Android build tools which contains AAPT2")
115
115
  .action(async ({ keypair, buildToolsPath }) => {
116
- const resolvedBuildToolsPath = resolveBuildToolsPath(buildToolsPath);
117
- if (resolvedBuildToolsPath === undefined) {
118
- showUserErrorMessage("Please specify an Android build tools directory in the .env file or via the command line argument.");
119
- createCommand.showHelpAfterError();
120
- return;
116
+ try {
117
+ const resolvedBuildToolsPath = resolveBuildToolsPath(buildToolsPath);
118
+ if (resolvedBuildToolsPath === undefined) {
119
+ showUserErrorMessage("Please specify an Android build tools directory in the .env file or via the command line argument.");
120
+ createCommand.showHelpAfterError();
121
+ return;
122
+ }
123
+ const signer = parseKeypair(keypair);
124
+ if (signer) {
125
+ await validateCommand({
126
+ signer,
127
+ buildToolsPath: resolvedBuildToolsPath,
128
+ });
129
+ }
121
130
  }
122
- const signer = parseKeypair(keypair);
123
- if (signer) {
124
- await validateCommand({
125
- signer,
126
- buildToolsPath: resolvedBuildToolsPath,
127
- });
131
+ catch (e) {
132
+ showUserErrorMessage(e?.message ?? "");
128
133
  }
129
134
  });
130
135
  const publishCommand = program
@@ -136,10 +141,11 @@ async function main() {
136
141
  .requiredOption("-k, --keypair <path-to-keypair-file>", "Path to keypair file")
137
142
  .requiredOption("--complies-with-solana-dapp-store-policies", "An attestation that the app complies with the Solana dApp Store policies")
138
143
  .requiredOption("--requestor-is-authorized", "An attestation that the party making this Solana dApp publisher portal request is authorized to do so")
139
- .option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT")
144
+ .option("-a, --app-mint-address <app-mint-address>", "The mint address of the app NFT. If not specified, the value from config.yaml will be used.")
145
+ .option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT. If not specified, the value from config.yaml will be used.")
140
146
  .option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
141
147
  .option("-d, --dry-run", "Flag for dry run. Doesn't submit the request to the publisher portal.")
142
- .action(async ({ releaseMintAddress, keypair, url, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, dryRun, }) => {
148
+ .action(async ({ appMintAddress, releaseMintAddress, keypair, url, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, dryRun, }) => {
143
149
  try {
144
150
  const config = await getConfigFile();
145
151
  if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
@@ -150,6 +156,7 @@ async function main() {
150
156
  const signer = parseKeypair(keypair);
151
157
  if (signer) {
152
158
  await publishSubmitCommand({
159
+ appMintAddress,
153
160
  releaseMintAddress,
154
161
  signer,
155
162
  url,
@@ -169,11 +176,12 @@ async function main() {
169
176
  .requiredOption("-k, --keypair <path-to-keypair-file>", "Path to keypair file")
170
177
  .requiredOption("--complies-with-solana-dapp-store-policies", "An attestation that the app complies with the Solana dApp Store policies")
171
178
  .requiredOption("--requestor-is-authorized", "An attestation that the party making this Solana dApp publisher portal request is authorized to do so")
172
- .option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT")
179
+ .option("-a, --app-mint-address <app-mint-address>", "The mint address of the app NFT. If not specified, the value from config.yaml will be used.")
180
+ .option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT. If not specified, the value from config.yaml will be used.")
173
181
  .option("-c, --critical", "Flag for a critical app update request")
174
182
  .option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
175
183
  .option("-d, --dry-run", "Flag for dry run. Doesn't submit the request to the publisher portal.")
176
- .action(async ({ releaseMintAddress, keypair, url, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, critical, dryRun, }) => {
184
+ .action(async ({ appMintAddress, releaseMintAddress, keypair, url, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, critical, dryRun, }) => {
177
185
  try {
178
186
  const config = await getConfigFile();
179
187
  if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
@@ -184,6 +192,7 @@ async function main() {
184
192
  const signer = parseKeypair(keypair);
185
193
  if (signer) {
186
194
  await publishUpdateCommand({
195
+ appMintAddress,
187
196
  releaseMintAddress,
188
197
  signer,
189
198
  url,
@@ -203,11 +212,12 @@ async function main() {
203
212
  .description("Remove an existing app from the Solana Mobile dApp publisher portal")
204
213
  .requiredOption("-k, --keypair <path-to-keypair-file>", "Path to keypair file")
205
214
  .requiredOption("--requestor-is-authorized", "An attestation that the party making this Solana dApp publisher portal request is authorized to do so")
206
- .option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT")
215
+ .option("-a, --app-mint-address <app-mint-address>", "The mint address of the app NFT. If not specified, the value from config.yaml will be used.")
216
+ .option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT. If not specified, the value from config.yaml will be used.")
207
217
  .option("-c, --critical", "Flag for a critical app removal request")
208
218
  .option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
209
219
  .option("-d, --dry-run", "Flag for dry run. Doesn't submit the request to the publisher portal.")
210
- .action(async ({ releaseMintAddress, keypair, url, requestorIsAuthorized, critical, dryRun, }) => {
220
+ .action(async ({ appMintAddress, releaseMintAddress, keypair, url, requestorIsAuthorized, critical, dryRun, }) => {
211
221
  try {
212
222
  const config = await getConfigFile();
213
223
  if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
@@ -218,6 +228,7 @@ async function main() {
218
228
  const signer = parseKeypair(keypair);
219
229
  if (signer) {
220
230
  await publishRemoveCommand({
231
+ appMintAddress,
221
232
  releaseMintAddress,
222
233
  signer,
223
234
  url,
@@ -236,10 +247,11 @@ async function main() {
236
247
  .description("Submit a support request for an existing app on the Solana Mobile dApp publisher portal")
237
248
  .requiredOption("-k, --keypair <path-to-keypair-file>", "Path to keypair file")
238
249
  .requiredOption("--requestor-is-authorized", "An attestation that the party making this Solana dApp publisher portal request is authorized to do so")
239
- .option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT")
250
+ .option("-a, --app-mint-address <app-mint-address>", "The mint address of the app NFT. If not specified, the value from config.yaml will be used.")
251
+ .option("-r, --release-mint-address <release-mint-address>", "The mint address of the release NFT. If not specified, the value from config.yaml will be used.")
240
252
  .option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
241
253
  .option("-d, --dry-run", "Flag for dry run. Doesn't submit the request to the publisher portal.")
242
- .action(async (requestDetails, { releaseMintAddress, keypair, url, requestorIsAuthorized, dryRun }) => {
254
+ .action(async (requestDetails, { appMintAddress, releaseMintAddress, keypair, url, requestorIsAuthorized, dryRun }) => {
243
255
  try {
244
256
  const config = await getConfigFile();
245
257
  if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
@@ -250,6 +262,7 @@ async function main() {
250
262
  const signer = parseKeypair(keypair);
251
263
  if (signer) {
252
264
  await publishSupportCommand({
265
+ appMintAddress,
253
266
  releaseMintAddress,
254
267
  signer,
255
268
  url,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Keypair } from "@solana/web3.js";
2
2
  declare type PublishRemoveCommandInput = {
3
+ appMintAddress: string;
3
4
  releaseMintAddress: string;
4
5
  signer: Keypair;
5
6
  url: string;
@@ -7,6 +8,6 @@ declare type PublishRemoveCommandInput = {
7
8
  requestorIsAuthorized: boolean;
8
9
  critical: boolean;
9
10
  };
10
- export declare const publishRemoveCommand: ({ releaseMintAddress, signer, url, dryRun, requestorIsAuthorized, critical, }: PublishRemoveCommandInput) => Promise<void>;
11
+ export declare const publishRemoveCommand: ({ appMintAddress, releaseMintAddress, signer, url, dryRun, requestorIsAuthorized, critical, }: PublishRemoveCommandInput) => Promise<void>;
11
12
  export {};
12
13
  //# sourceMappingURL=remove.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../../src/commands/publish/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAMtD,aAAK,yBAAyB,GAAG;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,oBAAoB,kFAO9B,yBAAyB,kBA0B3B,CAAC"}
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../../src/commands/publish/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAMtD,aAAK,yBAAyB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,oBAAoB,kGAQ9B,yBAAyB,kBA4B3B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Keypair } from "@solana/web3.js";
2
2
  declare type PublishSubmitCommandInput = {
3
+ appMintAddress: string;
3
4
  releaseMintAddress: string;
4
5
  signer: Keypair;
5
6
  url: string;
@@ -7,6 +8,6 @@ declare type PublishSubmitCommandInput = {
7
8
  compliesWithSolanaDappStorePolicies: boolean;
8
9
  requestorIsAuthorized: boolean;
9
10
  };
10
- export declare const publishSubmitCommand: ({ releaseMintAddress, signer, url, dryRun, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, }: PublishSubmitCommandInput) => Promise<void>;
11
+ export declare const publishSubmitCommand: ({ appMintAddress, releaseMintAddress, signer, url, dryRun, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, }: PublishSubmitCommandInput) => Promise<void>;
11
12
  export {};
12
13
  //# sourceMappingURL=submit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../../src/commands/publish/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAMtD,aAAK,yBAAyB,GAAG;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,mCAAmC,EAAE,OAAO,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,oBAAoB,6GAO9B,yBAAyB,kBAiC3B,CAAC"}
1
+ {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../../src/commands/publish/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAMtD,aAAK,yBAAyB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,mCAAmC,EAAE,OAAO,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,oBAAoB,6HAQ9B,yBAAyB,kBAmC3B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Keypair } from "@solana/web3.js";
2
2
  declare type PublishSupportCommandInput = {
3
+ appMintAddress: string;
3
4
  releaseMintAddress: string;
4
5
  signer: Keypair;
5
6
  url: string;
@@ -7,6 +8,6 @@ declare type PublishSupportCommandInput = {
7
8
  requestorIsAuthorized: boolean;
8
9
  requestDetails: string;
9
10
  };
10
- export declare const publishSupportCommand: ({ releaseMintAddress, signer, url, dryRun, requestorIsAuthorized, requestDetails, }: PublishSupportCommandInput) => Promise<void>;
11
+ export declare const publishSupportCommand: ({ appMintAddress, releaseMintAddress, signer, url, dryRun, requestorIsAuthorized, requestDetails, }: PublishSupportCommandInput) => Promise<void>;
11
12
  export {};
12
13
  //# sourceMappingURL=support.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../../../src/commands/publish/support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAMtD,aAAK,0BAA0B,GAAG;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,qBAAqB,wFAO/B,0BAA0B,kBA0B5B,CAAC"}
1
+ {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../../../src/commands/publish/support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAMtD,aAAK,0BAA0B,GAAG;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,qBAAqB,wGAQ/B,0BAA0B,kBA4B5B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Keypair } from "@solana/web3.js";
2
2
  declare type PublishUpdateCommandInput = {
3
+ appMintAddress: string;
3
4
  releaseMintAddress: string;
4
5
  signer: Keypair;
5
6
  url: string;
@@ -8,6 +9,6 @@ declare type PublishUpdateCommandInput = {
8
9
  requestorIsAuthorized: boolean;
9
10
  critical: boolean;
10
11
  };
11
- export declare const publishUpdateCommand: ({ releaseMintAddress, signer, url, dryRun, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, critical, }: PublishUpdateCommandInput) => Promise<void>;
12
+ export declare const publishUpdateCommand: ({ appMintAddress, releaseMintAddress, signer, url, dryRun, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, critical, }: PublishUpdateCommandInput) => Promise<void>;
12
13
  export {};
13
14
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/commands/publish/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAMtD,aAAK,yBAAyB,GAAG;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,mCAAmC,EAAE,OAAO,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,oBAAoB,uHAQ9B,yBAAyB,kBAkC3B,CAAC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/commands/publish/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAMtD,aAAK,yBAAyB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,mCAAmC,EAAE,OAAO,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,oBAAoB,uIAS9B,yBAAyB,kBAoC3B,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,15 @@
1
1
  {
2
2
  "name": "@solana-mobile/dapp-store-cli",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "main": "./lib/cjs/index.js",
8
8
  "module": "./lib/esm/index.js",
9
9
  "types": "./lib/types/index.d.ts",
10
+ "engines": {
11
+ "node": ">=18"
12
+ },
10
13
  "exports": {
11
14
  "import": "./lib/esm/index.js",
12
15
  "require": "./lib/cjs/index.js",
@@ -31,7 +34,7 @@
31
34
  "shx": "^0.3.4"
32
35
  },
33
36
  "dependencies": {
34
- "@solana-mobile/dapp-store-publishing-tools": "0.1.6",
37
+ "@solana-mobile/dapp-store-publishing-tools": "0.1.7",
35
38
  "@solana/web3.js": "1.68.0",
36
39
  "ajv": "^8.11.0",
37
40
  "commander": "^9.4.1",
@@ -5,6 +5,7 @@ import { getConfigFile } from "../../utils.js";
5
5
  import nacl from "tweetnacl";
6
6
 
7
7
  type PublishRemoveCommandInput = {
8
+ appMintAddress: string;
8
9
  releaseMintAddress: string;
9
10
  signer: Keypair;
10
11
  url: string;
@@ -14,6 +15,7 @@ type PublishRemoveCommandInput = {
14
15
  };
15
16
 
16
17
  export const publishRemoveCommand = async ({
18
+ appMintAddress,
17
19
  releaseMintAddress,
18
20
  signer,
19
21
  url,
@@ -31,6 +33,7 @@ export const publishRemoveCommand = async ({
31
33
  const connection = new Connection(url);
32
34
  const {
33
35
  publisher: publisherDetails,
36
+ app: appDetails,
34
37
  release: releaseDetails,
35
38
  } = await getConfigFile();
36
39
  const sign = ((buf: Buffer) =>
@@ -39,6 +42,7 @@ export const publishRemoveCommand = async ({
39
42
  await publishRemove(
40
43
  { connection, sign },
41
44
  {
45
+ appMintAddress: appMintAddress ?? appDetails.address,
42
46
  releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
43
47
  publisherDetails,
44
48
  requestorIsAuthorized,
@@ -5,6 +5,7 @@ import nacl from "tweetnacl";
5
5
  import { getConfigFile } from "../../utils.js";
6
6
 
7
7
  type PublishSubmitCommandInput = {
8
+ appMintAddress: string;
8
9
  releaseMintAddress: string;
9
10
  signer: Keypair;
10
11
  url: string;
@@ -14,6 +15,7 @@ type PublishSubmitCommandInput = {
14
15
  };
15
16
 
16
17
  export const publishSubmitCommand = async ({
18
+ appMintAddress,
17
19
  releaseMintAddress,
18
20
  signer,
19
21
  url,
@@ -36,6 +38,7 @@ export const publishSubmitCommand = async ({
36
38
  const connection = new Connection(url);
37
39
  const {
38
40
  publisher: publisherDetails,
41
+ app: appDetails,
39
42
  release: releaseDetails,
40
43
  solana_mobile_dapp_publisher_portal: solanaMobileDappPublisherPortalDetails,
41
44
  } = await getConfigFile();
@@ -45,6 +48,7 @@ export const publishSubmitCommand = async ({
45
48
  await publishSubmit(
46
49
  { connection, sign },
47
50
  {
51
+ appMintAddress: appMintAddress ?? appDetails.address,
48
52
  releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
49
53
  publisherDetails,
50
54
  solanaMobileDappPublisherPortalDetails,
@@ -5,6 +5,7 @@ import { getConfigFile } from "../../utils.js";
5
5
  import nacl from "tweetnacl";
6
6
 
7
7
  type PublishSupportCommandInput = {
8
+ appMintAddress: string;
8
9
  releaseMintAddress: string;
9
10
  signer: Keypair;
10
11
  url: string;
@@ -14,6 +15,7 @@ type PublishSupportCommandInput = {
14
15
  };
15
16
 
16
17
  export const publishSupportCommand = async ({
18
+ appMintAddress,
17
19
  releaseMintAddress,
18
20
  signer,
19
21
  url,
@@ -31,6 +33,7 @@ export const publishSupportCommand = async ({
31
33
  const connection = new Connection(url);
32
34
  const {
33
35
  publisher: publisherDetails,
36
+ app: appDetails,
34
37
  release: releaseDetails,
35
38
  } = await getConfigFile();
36
39
  const sign = ((buf: Buffer) =>
@@ -39,6 +42,7 @@ export const publishSupportCommand = async ({
39
42
  await publishSupport(
40
43
  { connection, sign },
41
44
  {
45
+ appMintAddress: appMintAddress ?? appDetails.address,
42
46
  releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
43
47
  publisherDetails,
44
48
  requestorIsAuthorized,
@@ -5,6 +5,7 @@ import { getConfigFile } from "../../utils.js";
5
5
  import nacl from "tweetnacl";
6
6
 
7
7
  type PublishUpdateCommandInput = {
8
+ appMintAddress: string;
8
9
  releaseMintAddress: string;
9
10
  signer: Keypair;
10
11
  url: string;
@@ -15,6 +16,7 @@ type PublishUpdateCommandInput = {
15
16
  };
16
17
 
17
18
  export const publishUpdateCommand = async ({
19
+ appMintAddress,
18
20
  releaseMintAddress,
19
21
  signer,
20
22
  url,
@@ -38,6 +40,7 @@ export const publishUpdateCommand = async ({
38
40
  const connection = new Connection(url);
39
41
  const {
40
42
  publisher: publisherDetails,
43
+ app: appDetails,
41
44
  release: releaseDetails,
42
45
  solana_mobile_dapp_publisher_portal: solanaMobileDappPublisherPortalDetails,
43
46
  } = await getConfigFile();
@@ -47,6 +50,7 @@ export const publishUpdateCommand = async ({
47
50
  await publishUpdate(
48
51
  { connection, sign },
49
52
  {
53
+ appMintAddress: appMintAddress ?? appDetails.address,
50
54
  releaseMintAddress: releaseMintAddress ?? releaseDetails.address,
51
55
  publisherDetails,
52
56
  solanaMobileDappPublisherPortalDetails,
@@ -10,7 +10,7 @@ import { load } from "js-yaml";
10
10
  import Ajv from "ajv";
11
11
 
12
12
  // eslint-disable-next-line require-extensions/require-extensions
13
- import schemaJson from "./schema.json";
13
+ import schemaJson from "./schema.json" assert { type: "json" };
14
14
 
15
15
  // TODO: Add version number return here
16
16
  export interface CLIConfig {
@@ -150,9 +150,6 @@
150
150
  "name": {
151
151
  "type": "string"
152
152
  },
153
- "short_description": {
154
- "type": "string"
155
- },
156
153
  "long_description": {
157
154
  "type": "string"
158
155
  },
@@ -165,7 +162,6 @@
165
162
  },
166
163
  "required": [
167
164
  "name",
168
- "short_description",
169
165
  "long_description",
170
166
  "new_in_version",
171
167
  "saga_features"
package/src/index.ts CHANGED
@@ -37,7 +37,7 @@ function resolveBuildToolsPath(buildToolsPath: string | undefined) {
37
37
  async function main() {
38
38
  program
39
39
  .name("dapp-store")
40
- .version("0.1.6")
40
+ .version("0.1.7")
41
41
  .description("CLI to assist with publishing to the Saga Dapp Store");
42
42
 
43
43
  const createCommand = program
@@ -167,22 +167,26 @@ async function main() {
167
167
  "Path to Android build tools which contains AAPT2"
168
168
  )
169
169
  .action(async ({ keypair, buildToolsPath }) => {
170
- const resolvedBuildToolsPath = resolveBuildToolsPath(buildToolsPath);
171
- if (resolvedBuildToolsPath === undefined) {
172
- showUserErrorMessage(
173
- "Please specify an Android build tools directory in the .env file or via the command line argument."
174
- );
175
- createCommand.showHelpAfterError();
176
- return;
177
- }
170
+ try {
171
+ const resolvedBuildToolsPath = resolveBuildToolsPath(buildToolsPath);
172
+ if (resolvedBuildToolsPath === undefined) {
173
+ showUserErrorMessage(
174
+ "Please specify an Android build tools directory in the .env file or via the command line argument."
175
+ );
176
+ createCommand.showHelpAfterError();
177
+ return;
178
+ }
178
179
 
179
- const signer = parseKeypair(keypair);
180
+ const signer = parseKeypair(keypair);
180
181
 
181
- if (signer) {
182
- await validateCommand({
183
- signer,
184
- buildToolsPath: resolvedBuildToolsPath,
185
- });
182
+ if (signer) {
183
+ await validateCommand({
184
+ signer,
185
+ buildToolsPath: resolvedBuildToolsPath,
186
+ });
187
+ }
188
+ } catch (e) {
189
+ showUserErrorMessage((e as Error | null)?.message ?? "");
186
190
  }
187
191
  });
188
192
 
@@ -207,9 +211,13 @@ async function main() {
207
211
  "--requestor-is-authorized",
208
212
  "An attestation that the party making this Solana dApp publisher portal request is authorized to do so"
209
213
  )
214
+ .option(
215
+ "-a, --app-mint-address <app-mint-address>",
216
+ "The mint address of the app NFT. If not specified, the value from config.yaml will be used."
217
+ )
210
218
  .option(
211
219
  "-r, --release-mint-address <release-mint-address>",
212
- "The mint address of the release NFT"
220
+ "The mint address of the release NFT. If not specified, the value from config.yaml will be used."
213
221
  )
214
222
  .option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
215
223
  .option(
@@ -218,6 +226,7 @@ async function main() {
218
226
  )
219
227
  .action(
220
228
  async ({
229
+ appMintAddress,
221
230
  releaseMintAddress,
222
231
  keypair,
223
232
  url,
@@ -239,6 +248,7 @@ async function main() {
239
248
  const signer = parseKeypair(keypair);
240
249
  if (signer) {
241
250
  await publishSubmitCommand({
251
+ appMintAddress,
242
252
  releaseMintAddress,
243
253
  signer,
244
254
  url,
@@ -270,9 +280,13 @@ async function main() {
270
280
  "--requestor-is-authorized",
271
281
  "An attestation that the party making this Solana dApp publisher portal request is authorized to do so"
272
282
  )
283
+ .option(
284
+ "-a, --app-mint-address <app-mint-address>",
285
+ "The mint address of the app NFT. If not specified, the value from config.yaml will be used."
286
+ )
273
287
  .option(
274
288
  "-r, --release-mint-address <release-mint-address>",
275
- "The mint address of the release NFT"
289
+ "The mint address of the release NFT. If not specified, the value from config.yaml will be used."
276
290
  )
277
291
  .option("-c, --critical", "Flag for a critical app update request")
278
292
  .option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
@@ -282,6 +296,7 @@ async function main() {
282
296
  )
283
297
  .action(
284
298
  async ({
299
+ appMintAddress,
285
300
  releaseMintAddress,
286
301
  keypair,
287
302
  url,
@@ -305,6 +320,7 @@ async function main() {
305
320
 
306
321
  if (signer) {
307
322
  await publishUpdateCommand({
323
+ appMintAddress,
308
324
  releaseMintAddress,
309
325
  signer,
310
326
  url,
@@ -333,9 +349,13 @@ async function main() {
333
349
  "--requestor-is-authorized",
334
350
  "An attestation that the party making this Solana dApp publisher portal request is authorized to do so"
335
351
  )
352
+ .option(
353
+ "-a, --app-mint-address <app-mint-address>",
354
+ "The mint address of the app NFT. If not specified, the value from config.yaml will be used."
355
+ )
336
356
  .option(
337
357
  "-r, --release-mint-address <release-mint-address>",
338
- "The mint address of the release NFT"
358
+ "The mint address of the release NFT. If not specified, the value from config.yaml will be used."
339
359
  )
340
360
  .option("-c, --critical", "Flag for a critical app removal request")
341
361
  .option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
@@ -345,6 +365,7 @@ async function main() {
345
365
  )
346
366
  .action(
347
367
  async ({
368
+ appMintAddress,
348
369
  releaseMintAddress,
349
370
  keypair,
350
371
  url,
@@ -367,6 +388,7 @@ async function main() {
367
388
 
368
389
  if (signer) {
369
390
  await publishRemoveCommand({
391
+ appMintAddress,
370
392
  releaseMintAddress,
371
393
  signer,
372
394
  url,
@@ -394,9 +416,13 @@ async function main() {
394
416
  "--requestor-is-authorized",
395
417
  "An attestation that the party making this Solana dApp publisher portal request is authorized to do so"
396
418
  )
419
+ .option(
420
+ "-a, --app-mint-address <app-mint-address>",
421
+ "The mint address of the app NFT. If not specified, the value from config.yaml will be used."
422
+ )
397
423
  .option(
398
424
  "-r, --release-mint-address <release-mint-address>",
399
- "The mint address of the release NFT"
425
+ "The mint address of the release NFT. If not specified, the value from config.yaml will be used."
400
426
  )
401
427
  .option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
402
428
  .option(
@@ -406,7 +432,7 @@ async function main() {
406
432
  .action(
407
433
  async (
408
434
  requestDetails,
409
- { releaseMintAddress, keypair, url, requestorIsAuthorized, dryRun }
435
+ { appMintAddress, releaseMintAddress, keypair, url, requestorIsAuthorized, dryRun }
410
436
  ) => {
411
437
  try {
412
438
  const config = await getConfigFile();
@@ -423,6 +449,7 @@ async function main() {
423
449
 
424
450
  if (signer) {
425
451
  await publishSupportCommand({
452
+ appMintAddress,
426
453
  releaseMintAddress,
427
454
  signer,
428
455
  url,