@no-witness-labs/midday-sdk 0.1.2 → 0.2.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.
Files changed (94) hide show
  1. package/README.md +145 -78
  2. package/dist/Client.d.ts +464 -72
  3. package/dist/Client.d.ts.map +1 -1
  4. package/dist/Client.js +526 -143
  5. package/dist/Client.js.map +1 -1
  6. package/dist/Config.d.ts +83 -1
  7. package/dist/Config.d.ts.map +1 -1
  8. package/dist/Config.js +72 -15
  9. package/dist/Config.js.map +1 -1
  10. package/dist/Providers.d.ts +99 -9
  11. package/dist/Providers.d.ts.map +1 -1
  12. package/dist/Providers.js +142 -39
  13. package/dist/Providers.js.map +1 -1
  14. package/dist/Wallet.d.ts +88 -1
  15. package/dist/Wallet.d.ts.map +1 -1
  16. package/dist/Wallet.js +162 -51
  17. package/dist/Wallet.js.map +1 -1
  18. package/dist/devnet/Cluster.d.ts +282 -0
  19. package/dist/devnet/Cluster.d.ts.map +1 -0
  20. package/dist/devnet/Cluster.js +487 -0
  21. package/dist/devnet/Cluster.js.map +1 -0
  22. package/dist/devnet/Config.d.ts +119 -0
  23. package/dist/devnet/Config.d.ts.map +1 -0
  24. package/dist/devnet/Config.js +75 -0
  25. package/dist/devnet/Config.js.map +1 -0
  26. package/dist/devnet/Container.d.ts +180 -0
  27. package/dist/devnet/Container.d.ts.map +1 -0
  28. package/dist/devnet/Container.js +390 -0
  29. package/dist/devnet/Container.js.map +1 -0
  30. package/dist/devnet/Health.d.ts +129 -0
  31. package/dist/devnet/Health.d.ts.map +1 -0
  32. package/dist/devnet/Health.js +304 -0
  33. package/dist/devnet/Health.js.map +1 -0
  34. package/dist/devnet/Images.d.ts +43 -0
  35. package/dist/devnet/Images.d.ts.map +1 -0
  36. package/dist/devnet/Images.js +96 -0
  37. package/dist/devnet/Images.js.map +1 -0
  38. package/dist/devnet/errors.d.ts +65 -0
  39. package/dist/devnet/errors.d.ts.map +1 -0
  40. package/dist/devnet/errors.js +40 -0
  41. package/dist/devnet/errors.js.map +1 -0
  42. package/dist/devnet/index.d.ts +72 -0
  43. package/dist/devnet/index.d.ts.map +1 -0
  44. package/dist/devnet/index.js +73 -0
  45. package/dist/devnet/index.js.map +1 -0
  46. package/dist/index.d.ts +63 -7
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +68 -4
  49. package/dist/index.js.map +1 -1
  50. package/dist/providers/HttpZkConfigProvider.d.ts +229 -0
  51. package/dist/providers/HttpZkConfigProvider.d.ts.map +1 -0
  52. package/dist/providers/HttpZkConfigProvider.js +275 -0
  53. package/dist/providers/HttpZkConfigProvider.js.map +1 -0
  54. package/dist/providers/IndexedDBPrivateStateProvider.d.ts +270 -0
  55. package/dist/providers/IndexedDBPrivateStateProvider.d.ts.map +1 -0
  56. package/dist/providers/IndexedDBPrivateStateProvider.js +513 -0
  57. package/dist/providers/IndexedDBPrivateStateProvider.js.map +1 -0
  58. package/dist/providers/errors.d.ts +50 -0
  59. package/dist/providers/errors.d.ts.map +1 -0
  60. package/dist/providers/errors.js +32 -0
  61. package/dist/providers/errors.js.map +1 -0
  62. package/dist/sdk/Type.d.ts +91 -0
  63. package/dist/sdk/Type.d.ts.map +1 -0
  64. package/dist/sdk/Type.js +8 -0
  65. package/dist/sdk/Type.js.map +1 -0
  66. package/dist/utils/address.d.ts +56 -0
  67. package/dist/utils/address.d.ts.map +1 -0
  68. package/dist/utils/address.js +135 -0
  69. package/dist/utils/address.js.map +1 -0
  70. package/dist/utils/coin.d.ts +55 -0
  71. package/dist/utils/coin.d.ts.map +1 -0
  72. package/dist/utils/coin.js +84 -0
  73. package/dist/utils/coin.js.map +1 -0
  74. package/dist/utils/effect-runtime.d.ts +66 -0
  75. package/dist/utils/effect-runtime.d.ts.map +1 -0
  76. package/dist/utils/effect-runtime.js +147 -0
  77. package/dist/utils/effect-runtime.js.map +1 -0
  78. package/dist/utils/hex.d.ts +62 -0
  79. package/dist/utils/hex.d.ts.map +1 -0
  80. package/dist/utils/hex.js +93 -0
  81. package/dist/utils/hex.js.map +1 -0
  82. package/dist/wallet/connector.d.ts +191 -0
  83. package/dist/wallet/connector.d.ts.map +1 -0
  84. package/dist/wallet/connector.js +183 -0
  85. package/dist/wallet/connector.js.map +1 -0
  86. package/dist/wallet/errors.d.ts +22 -0
  87. package/dist/wallet/errors.d.ts.map +1 -0
  88. package/dist/wallet/errors.js +16 -0
  89. package/dist/wallet/errors.js.map +1 -0
  90. package/dist/wallet/provider.d.ts +102 -0
  91. package/dist/wallet/provider.d.ts.map +1 -0
  92. package/dist/wallet/provider.js +139 -0
  93. package/dist/wallet/provider.js.map +1 -0
  94. package/package.json +23 -8
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Provider factory for wallet-connected clients.
3
+ *
4
+ * Creates WalletProvider and MidnightProvider from a connected wallet.
5
+ * Provides dual API: Effect-based and Promise-based.
6
+ *
7
+ * @since 0.2.0
8
+ * @module
9
+ */
10
+ import { Context, Effect, Layer } from 'effect';
11
+ import type { WalletProvider, MidnightProvider, BalancedProvingRecipe } from '@midnight-ntwrk/midnight-js-types';
12
+ import { type FinalizedTransaction, type TransactionId, type UnprovenTransaction } from '@midnight-ntwrk/ledger-v6';
13
+ import type { ConnectedAPI, ShieldedAddresses } from './connector.js';
14
+ import { ProviderError } from '../providers/errors.js';
15
+ /**
16
+ * Wallet keys needed for provider creation.
17
+ */
18
+ export interface WalletKeys {
19
+ /** Coin public key (Bech32m string) */
20
+ coinPublicKey: string;
21
+ /** Encryption public key (Bech32m string) */
22
+ encryptionPublicKey: string;
23
+ }
24
+ /**
25
+ * Providers created from wallet connection.
26
+ */
27
+ export interface WalletProviders {
28
+ /** Provider for transaction balancing */
29
+ walletProvider: WalletProvider;
30
+ /** Provider for transaction submission */
31
+ midnightProvider: MidnightProvider;
32
+ }
33
+ /**
34
+ * Effect-based interface for wallet provider operations.
35
+ */
36
+ export interface WalletProviderEffect {
37
+ readonly balanceTx: (wallet: ConnectedAPI, tx: UnprovenTransaction) => Effect.Effect<BalancedProvingRecipe, ProviderError>;
38
+ readonly submitTx: (wallet: ConnectedAPI, tx: FinalizedTransaction) => Effect.Effect<TransactionId, ProviderError>;
39
+ }
40
+ declare function balanceTxEffect(wallet: ConnectedAPI, tx: UnprovenTransaction): Effect.Effect<BalancedProvingRecipe, ProviderError>;
41
+ declare function submitTxEffect(wallet: ConnectedAPI, tx: FinalizedTransaction): Effect.Effect<TransactionId, ProviderError>;
42
+ /**
43
+ * Effect-based API for wallet provider operations.
44
+ */
45
+ export declare const WalletProviderEffectAPI: WalletProviderEffect;
46
+ /**
47
+ * Create providers from a connected wallet (v4 API).
48
+ *
49
+ * These providers use the wallet extension to balance and submit transactions.
50
+ *
51
+ * @param wallet - Connected wallet API from DAppConnector v4
52
+ * @param addresses - Shielded addresses from wallet
53
+ * @returns WalletProvider and MidnightProvider
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * const connection = await connectWallet('testnet');
58
+ * const { walletProvider, midnightProvider } = createWalletProviders(
59
+ * connection.wallet,
60
+ * connection.addresses,
61
+ * );
62
+ * ```
63
+ */
64
+ export declare function createWalletProviders(wallet: ConnectedAPI, addresses: ShieldedAddresses): WalletProviders;
65
+ /**
66
+ * Raw Effect APIs for advanced users.
67
+ *
68
+ * @since 0.2.0
69
+ * @category effect
70
+ */
71
+ export declare const effect: {
72
+ balanceTx: typeof balanceTxEffect;
73
+ submitTx: typeof submitTxEffect;
74
+ };
75
+ /**
76
+ * Service interface for WalletProvider operations.
77
+ *
78
+ * @since 0.2.0
79
+ * @category service
80
+ */
81
+ export interface WalletProviderServiceImpl {
82
+ readonly balanceTx: (wallet: ConnectedAPI, tx: UnprovenTransaction) => Effect.Effect<BalancedProvingRecipe, ProviderError>;
83
+ readonly submitTx: (wallet: ConnectedAPI, tx: FinalizedTransaction) => Effect.Effect<TransactionId, ProviderError>;
84
+ }
85
+ declare const WalletProviderService_base: Context.TagClass<WalletProviderService, "WalletProviderService", WalletProviderServiceImpl>;
86
+ /**
87
+ * Context.Tag for WalletProviderService dependency injection.
88
+ *
89
+ * @since 0.2.0
90
+ * @category service
91
+ */
92
+ export declare class WalletProviderService extends WalletProviderService_base {
93
+ }
94
+ /**
95
+ * Live Layer for WalletProviderService.
96
+ *
97
+ * @since 0.2.0
98
+ * @category layer
99
+ */
100
+ export declare const WalletProviderLive: Layer.Layer<WalletProviderService>;
101
+ export {};
102
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/wallet/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAEjH,OAAO,EAAe,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGjI,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAIvD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,cAAc,EAAE,cAAc,CAAC;IAC/B,0CAA0C;IAC1C,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,mBAAmB,KAAK,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;IAC3H,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,oBAAoB,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;CACpH;AAMD,iBAAS,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAkC3H;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,CAmBnH;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,oBAGrC,CAAC;AAMF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,GAAG,eAAe,CAqBzG;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAMF;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,CAClB,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,mBAAmB,KACpB,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,oBAAoB,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;CACpH;;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,0BAGxC;CAAG;AAMN;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAGhE,CAAC"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Provider factory for wallet-connected clients.
3
+ *
4
+ * Creates WalletProvider and MidnightProvider from a connected wallet.
5
+ * Provides dual API: Effect-based and Promise-based.
6
+ *
7
+ * @since 0.2.0
8
+ * @module
9
+ */
10
+ import { Context, Effect, Layer } from 'effect';
11
+ import { NOTHING_TO_PROVE } from '@midnight-ntwrk/midnight-js-types';
12
+ import { Transaction } from '@midnight-ntwrk/ledger-v6';
13
+ import { getNetworkId } from '@midnight-ntwrk/midnight-js-network-id';
14
+ import { ProviderError } from '../providers/errors.js';
15
+ import { bytesToHex, hexToBytes } from '../utils/hex.js';
16
+ import { runEffectPromise } from '../utils/effect-runtime.js';
17
+ // =============================================================================
18
+ // Effect API
19
+ // =============================================================================
20
+ function balanceTxEffect(wallet, tx) {
21
+ return Effect.tryPromise({
22
+ try: async () => {
23
+ // Serialize the transaction to hex string
24
+ const txBytes = tx.serialize();
25
+ const serializedTx = bytesToHex(txBytes);
26
+ // Use wallet's balance API
27
+ const result = await wallet.balanceUnsealedTransaction(serializedTx);
28
+ // Deserialize the returned transaction - markers for FinalizedTransaction
29
+ const resultBytes = hexToBytes(result.tx);
30
+ const networkId = getNetworkId();
31
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
+ const transaction = Transaction.deserialize({ SignatureEnabled: true }, { Proof: true }, { Binding: true }, resultBytes, networkId);
33
+ // Return as NothingToProve since the wallet handles proving
34
+ return {
35
+ type: NOTHING_TO_PROVE,
36
+ transaction,
37
+ };
38
+ },
39
+ catch: (cause) => new ProviderError({
40
+ cause,
41
+ message: `Failed to balance transaction: ${cause instanceof Error ? cause.message : String(cause)}`,
42
+ }),
43
+ });
44
+ }
45
+ function submitTxEffect(wallet, tx) {
46
+ return Effect.tryPromise({
47
+ try: async () => {
48
+ // Serialize the transaction to hex string
49
+ const txBytes = tx.serialize();
50
+ const serializedTx = bytesToHex(txBytes);
51
+ // Submit via wallet
52
+ await wallet.submitTransaction(serializedTx);
53
+ // Return the hex string as TransactionId
54
+ return serializedTx;
55
+ },
56
+ catch: (cause) => new ProviderError({
57
+ cause,
58
+ message: `Failed to submit transaction: ${cause instanceof Error ? cause.message : String(cause)}`,
59
+ }),
60
+ });
61
+ }
62
+ /**
63
+ * Effect-based API for wallet provider operations.
64
+ */
65
+ export const WalletProviderEffectAPI = {
66
+ balanceTx: balanceTxEffect,
67
+ submitTx: submitTxEffect,
68
+ };
69
+ // =============================================================================
70
+ // Promise API (backwards compatible)
71
+ // =============================================================================
72
+ /**
73
+ * Create providers from a connected wallet (v4 API).
74
+ *
75
+ * These providers use the wallet extension to balance and submit transactions.
76
+ *
77
+ * @param wallet - Connected wallet API from DAppConnector v4
78
+ * @param addresses - Shielded addresses from wallet
79
+ * @returns WalletProvider and MidnightProvider
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * const connection = await connectWallet('testnet');
84
+ * const { walletProvider, midnightProvider } = createWalletProviders(
85
+ * connection.wallet,
86
+ * connection.addresses,
87
+ * );
88
+ * ```
89
+ */
90
+ export function createWalletProviders(wallet, addresses) {
91
+ const walletProvider = {
92
+ getCoinPublicKey: () => addresses.shieldedCoinPublicKey,
93
+ getEncryptionPublicKey: () => addresses.shieldedEncryptionPublicKey,
94
+ async balanceTx(tx, _newCoins, _ttl) {
95
+ return runEffectPromise(balanceTxEffect(wallet, tx));
96
+ },
97
+ };
98
+ const midnightProvider = {
99
+ async submitTx(tx) {
100
+ return runEffectPromise(submitTxEffect(wallet, tx));
101
+ },
102
+ };
103
+ return {
104
+ walletProvider,
105
+ midnightProvider,
106
+ };
107
+ }
108
+ /**
109
+ * Raw Effect APIs for advanced users.
110
+ *
111
+ * @since 0.2.0
112
+ * @category effect
113
+ */
114
+ export const effect = {
115
+ balanceTx: balanceTxEffect,
116
+ submitTx: submitTxEffect,
117
+ };
118
+ /**
119
+ * Context.Tag for WalletProviderService dependency injection.
120
+ *
121
+ * @since 0.2.0
122
+ * @category service
123
+ */
124
+ export class WalletProviderService extends Context.Tag('WalletProviderService')() {
125
+ }
126
+ // =============================================================================
127
+ // Effect DI - Live Layer
128
+ // =============================================================================
129
+ /**
130
+ * Live Layer for WalletProviderService.
131
+ *
132
+ * @since 0.2.0
133
+ * @category layer
134
+ */
135
+ export const WalletProviderLive = Layer.succeed(WalletProviderService, {
136
+ balanceTx: balanceTxEffect,
137
+ submitTx: submitTxEffect,
138
+ });
139
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/wallet/provider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@no-witness-labs/midday-sdk",
3
- "version": "0.1.2",
3
+ "version": "0.2.1",
4
4
  "description": "Developer-friendly SDK for building dapps on Midnight Network",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -9,6 +9,10 @@
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
11
  "import": "./dist/index.js"
12
+ },
13
+ "./devnet": {
14
+ "types": "./dist/devnet/index.d.ts",
15
+ "import": "./dist/devnet/index.js"
12
16
  }
13
17
  },
14
18
  "files": [
@@ -17,36 +21,44 @@
17
21
  "README.md"
18
22
  ],
19
23
  "dependencies": {
24
+ "@effect/platform": "^0.77.0",
25
+ "@effect/schema": "^0.75.0",
26
+ "@midnight-ntwrk/dapp-connector-api": "4.0.0-beta.2",
20
27
  "@midnight-ntwrk/ledger-v6": "6.1.0-alpha.6",
21
28
  "@midnight-ntwrk/midnight-js-contracts": "3.0.0-alpha.11",
29
+ "@midnight-ntwrk/midnight-js-fetch-zk-config-provider": "3.0.0-alpha.11",
22
30
  "@midnight-ntwrk/midnight-js-http-client-proof-provider": "3.0.0-alpha.11",
23
31
  "@midnight-ntwrk/midnight-js-indexer-public-data-provider": "3.0.0-alpha.11",
24
- "@midnight-ntwrk/midnight-js-level-private-state-provider": "3.0.0-alpha.11",
25
32
  "@midnight-ntwrk/midnight-js-network-id": "3.0.0-alpha.11",
26
- "@midnight-ntwrk/midnight-js-node-zk-config-provider": "3.0.0-alpha.11",
27
33
  "@midnight-ntwrk/midnight-js-types": "3.0.0-alpha.11",
28
34
  "@midnight-ntwrk/wallet-sdk-dust-wallet": "1.0.0-beta.11",
29
35
  "@midnight-ntwrk/wallet-sdk-facade": "1.0.0-beta.12",
30
36
  "@midnight-ntwrk/wallet-sdk-hd": "3.0.0-beta.7",
31
37
  "@midnight-ntwrk/wallet-sdk-shielded": "1.0.0-beta.12",
32
38
  "@midnight-ntwrk/wallet-sdk-unshielded-wallet": "1.0.0-beta.14",
39
+ "browser-level": "^1.0.1",
40
+ "dockerode": "^4.0.7",
41
+ "effect": "^3.19.15",
33
42
  "pino": "^8.16.0",
34
43
  "pino-pretty": "^10.2.3",
35
- "rxjs": "^7.8.1"
44
+ "rxjs": "^7.8.1",
45
+ "ws": "^8.18.0"
36
46
  },
37
47
  "devDependencies": {
38
48
  "@changesets/cli": "^2.28.1",
39
- "typedoc": "^0.28.7",
40
- "typedoc-plugin-markdown": "^4.6.3",
41
49
  "@eslint/js": "^9.34.0",
50
+ "@types/dockerode": "^3.3.43",
42
51
  "@types/node": "^22.0.0",
52
+ "@types/ws": "^8.5.10",
43
53
  "eslint": "^9.34.0",
54
+ "typedoc": "^0.28.7",
55
+ "typedoc-plugin-markdown": "^4.6.3",
44
56
  "typescript": "^5.6.0",
45
57
  "typescript-eslint": "^8.33.0",
46
58
  "vitest": "^3.2.4"
47
59
  },
48
60
  "engines": {
49
- "node": ">=22.0.0"
61
+ "node": ">=18.0.0"
50
62
  },
51
63
  "keywords": [
52
64
  "midnight",
@@ -54,7 +66,9 @@
54
66
  "zk-proof",
55
67
  "blockchain",
56
68
  "privacy",
57
- "sdk"
69
+ "sdk",
70
+ "browser",
71
+ "wallet"
58
72
  ],
59
73
  "author": "No Witness Labs",
60
74
  "license": "MIT",
@@ -76,6 +90,7 @@
76
90
  "docgen:html": "typedoc --options typedoc.html.json",
77
91
  "test": "vitest run",
78
92
  "test:watch": "vitest",
93
+ "test:devnet": "vitest run test/devnet.integration.test.ts",
79
94
  "changeset": "changeset",
80
95
  "changeset:version": "changeset version",
81
96
  "changeset:publish": "pnpm build && changeset publish"