@sig-net/midnight-contract-deploy 0.0.4 → 0.0.5
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/dist/plumbing/deploy.d.ts.map +1 -1
- package/dist/plumbing/deploy.js +2 -2
- package/dist/plumbing/deploy.js.map +1 -1
- package/dist/plumbing/midnight-node-config.d.ts +18 -2
- package/dist/plumbing/midnight-node-config.d.ts.map +1 -1
- package/dist/plumbing/midnight-node-config.js +55 -12
- package/dist/plumbing/midnight-node-config.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/plumbing/deploy.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAsB,MAAM,mCAAmC,CAAC;AAKnG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE3D,OAAO,
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/plumbing/deploy.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAsB,MAAM,mCAAmC,CAAC;AAKnG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE3D,OAAO,EAAuC,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE3E,2GAA2G;AAC3G,MAAM,WAAW,YAAY;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAID,eAAO,MAAM,wBAAwB,qEAAqE,CAAC;AA2C3G;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,YAAY,CAMnG;AAED,gGAAgG;AAChG,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,0FAA0F;IAC1F,QAAQ,CAAC,qBAAqB,EAAE,UAAU,CAAC;CAC5C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EACtE,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EACzC,cAAc,EAAE,MAAM,GACrB,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAI1C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAC5E,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EACnB,cAAc,EAAE,MAAM,GACrB,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAI1C;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,CAUzF;AAKD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,SAAS,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAC9E,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1D,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,EAAE,EACvB,GAAG,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAC5D,OAAO,CAAC,iBAAiB,CAAC,CAiC5B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAQ7D"}
|
package/dist/plumbing/deploy.js
CHANGED
|
@@ -11,7 +11,7 @@ import * as ledger from "@midnightntwrk/ledger-v9";
|
|
|
11
11
|
import * as Configuration from "@midnight-ntwrk/platform-js/effect/Configuration";
|
|
12
12
|
import * as CoinPublicKey from "@midnight-ntwrk/platform-js/effect/CoinPublicKey";
|
|
13
13
|
import { Effect, Layer, Option } from "effect";
|
|
14
|
-
import {
|
|
14
|
+
import { getFaucetUrl, getMidnightNodeConfig } from "./midnight-node-config.js";
|
|
15
15
|
import { isLocalStandaloneNetwork } from "./network-id.js";
|
|
16
16
|
// Pre-funded genesis wallet of the local standalone stack — the default
|
|
17
17
|
// deployer for development, and the ONLY network where it holds funds.
|
|
@@ -39,7 +39,7 @@ function resolveDeployerSeed(env, networkId) {
|
|
|
39
39
|
if (isLocalStandaloneNetwork(networkId)) {
|
|
40
40
|
return provided || GENESIS_MINT_WALLET_SEED;
|
|
41
41
|
}
|
|
42
|
-
const faucet =
|
|
42
|
+
const faucet = getFaucetUrl(env, networkId);
|
|
43
43
|
const fundHint = faucet ? `fund a wallet via ${faucet}` : "fund a wallet via the network's faucet";
|
|
44
44
|
if (!provided) {
|
|
45
45
|
throw new Error(`DEPLOYER_SEED is required on "${networkId}": the genesis mint seed only holds funds on the local ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/plumbing/deploy.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,0EAA0E;AAC1E,+EAA+E;AAC/E,+EAA+E;AAC/E,0DAA0D;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,aAAa,MAAM,kDAAkD,CAAC;AAClF,OAAO,KAAK,aAAa,MAAM,kDAAkD,CAAC;AAElF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAC;AAE3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/plumbing/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,22 @@ export type Endpoints = Omit<MidnightNodeConfig, "networkId">;
|
|
|
16
16
|
export declare const LOCAL_PROOF_SERVER = "http://127.0.0.1:6300";
|
|
17
17
|
export declare const DEFAULT_ENDPOINTS: Record<NetworkId, Endpoints>;
|
|
18
18
|
export declare const FAUCET_URLS: Partial<Record<NetworkId, string>>;
|
|
19
|
+
/**
|
|
20
|
+
* The faucet URL to show in underfunded-wallet hints: `MIDNIGHT_FAUCET_URL`
|
|
21
|
+
* from the environment when set, else the network's {@link FAUCET_URLS}
|
|
22
|
+
* entry. Purely informational — a missing URL only makes the hint generic.
|
|
23
|
+
*
|
|
24
|
+
* @param env - The environment to read `MIDNIGHT_FAUCET_URL` from.
|
|
25
|
+
* @param networkId - The network whose faucet the hint points at.
|
|
26
|
+
* @returns The faucet URL, or undefined when none is known.
|
|
27
|
+
*/
|
|
28
|
+
export declare function getFaucetUrl(env: Record<string, string | undefined>, networkId: NetworkId): string | undefined;
|
|
19
29
|
export declare function indexerWsUrlFromIndexerUrl(indexerUrl: string): string;
|
|
20
30
|
/**
|
|
21
|
-
* Read a {@link MidnightNodeConfig} from the environment.
|
|
22
|
-
*
|
|
31
|
+
* Read a {@link MidnightNodeConfig} from the environment. With nothing set
|
|
32
|
+
* this yields the local "undeployed" stack; a network with blank defaults
|
|
33
|
+
* (stagenet — its endpoints are not published in this repo) REQUIRES the
|
|
34
|
+
* endpoint variables and fails naming the missing ones.
|
|
23
35
|
*
|
|
24
36
|
* Parse flow:
|
|
25
37
|
* 1. `NETWORK_ID` (default "undeployed", validated against {@link NETWORK_IDS})
|
|
@@ -29,6 +41,10 @@ export declare function indexerWsUrlFromIndexerUrl(indexerUrl: string): string;
|
|
|
29
41
|
* `MIDNIGHT_NODE_INDEXER_WS_URL`, `MIDNIGHT_NODE_PROOF_SERVER_URL`.
|
|
30
42
|
* When the indexer URL is overridden without a WS override, the WS URL is
|
|
31
43
|
* derived from it instead of keeping the baseline host.
|
|
44
|
+
* 3. Every resolved endpoint must be non-empty.
|
|
45
|
+
*
|
|
46
|
+
* @throws If `NETWORK_ID` is unknown, or an endpoint resolves empty (blank
|
|
47
|
+
* default and no environment override).
|
|
32
48
|
*/
|
|
33
49
|
export declare function getMidnightNodeConfig(env?: Record<string, string | undefined>): MidnightNodeConfig;
|
|
34
50
|
//# sourceMappingURL=midnight-node-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"midnight-node-config.d.ts","sourceRoot":"","sources":["../../src/plumbing/midnight-node-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAI9D,eAAO,MAAM,kBAAkB,0BAA0B,CAAC;AAI1D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"midnight-node-config.d.ts","sourceRoot":"","sources":["../../src/plumbing/midnight-node-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAI9D,eAAO,MAAM,kBAAkB,0BAA0B,CAAC;AAI1D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAuC1D,CAAC;AASF,eAAO,MAAM,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAM,CAAC;AAElE;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,SAAS,EAAE,SAAS,GACnB,MAAM,GAAG,SAAS,CAEpB;AAID,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKrE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,kBAAkB,CAoCpB"}
|
|
@@ -12,10 +12,18 @@ export const DEFAULT_ENDPOINTS = {
|
|
|
12
12
|
nodeUrl: "http://127.0.0.1:9944",
|
|
13
13
|
proofServerUrl: LOCAL_PROOF_SERVER,
|
|
14
14
|
},
|
|
15
|
+
// Stagenet's endpoints are deliberately NOT published in this repo.
|
|
16
|
+
// Provide them via the environment (repo-root .env), which
|
|
17
|
+
// getMidnightNodeConfig REQUIRES for this network:
|
|
18
|
+
// MIDNIGHT_NODE_URL — node RPC
|
|
19
|
+
// MIDNIGHT_NODE_INDEXER_URL — indexer GraphQL over HTTP (the WS
|
|
20
|
+
// twin derives from it when unset)
|
|
21
|
+
// MIDNIGHT_NODE_INDEXER_WS_URL — indexer GraphQL over WebSocket
|
|
22
|
+
// The proof server stays local (it sees private witness data).
|
|
15
23
|
["stagenet"]: {
|
|
16
|
-
indexerUrl: "
|
|
17
|
-
indexerWsUrl: "
|
|
18
|
-
nodeUrl: "
|
|
24
|
+
indexerUrl: "",
|
|
25
|
+
indexerWsUrl: "",
|
|
26
|
+
nodeUrl: "",
|
|
19
27
|
proofServerUrl: LOCAL_PROOF_SERVER,
|
|
20
28
|
},
|
|
21
29
|
["preview"]: {
|
|
@@ -39,12 +47,24 @@ export const DEFAULT_ENDPOINTS = {
|
|
|
39
47
|
};
|
|
40
48
|
// Faucet URLs for the networks that publish one, for underfunded-wallet
|
|
41
49
|
// hints. The local standalone chain funds via genesis, not a faucet, so it
|
|
42
|
-
// has no entry
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
};
|
|
50
|
+
// has no entry. Stagenet's faucet URL is deliberately NOT published in this
|
|
51
|
+
// repo — provide it via the MIDNIGHT_FAUCET_URL environment variable (see
|
|
52
|
+
// {@link getFaucetUrl}); without it the hint degrades to a generic "fund via
|
|
53
|
+
// the network's faucet". The public *.midnight.network faucet URLs are
|
|
54
|
+
// omitted until confirmed.
|
|
55
|
+
export const FAUCET_URLS = {};
|
|
56
|
+
/**
|
|
57
|
+
* The faucet URL to show in underfunded-wallet hints: `MIDNIGHT_FAUCET_URL`
|
|
58
|
+
* from the environment when set, else the network's {@link FAUCET_URLS}
|
|
59
|
+
* entry. Purely informational — a missing URL only makes the hint generic.
|
|
60
|
+
*
|
|
61
|
+
* @param env - The environment to read `MIDNIGHT_FAUCET_URL` from.
|
|
62
|
+
* @param networkId - The network whose faucet the hint points at.
|
|
63
|
+
* @returns The faucet URL, or undefined when none is known.
|
|
64
|
+
*/
|
|
65
|
+
export function getFaucetUrl(env, networkId) {
|
|
66
|
+
return env.MIDNIGHT_FAUCET_URL?.trim() || FAUCET_URLS[networkId];
|
|
67
|
+
}
|
|
48
68
|
// Derive the indexer WebSocket URL from the indexer HTTP URL: swap the scheme
|
|
49
69
|
// to ws(s) and append the "/ws" path segment the indexer expects.
|
|
50
70
|
export function indexerWsUrlFromIndexerUrl(indexerUrl) {
|
|
@@ -54,8 +74,10 @@ export function indexerWsUrlFromIndexerUrl(indexerUrl) {
|
|
|
54
74
|
return url.toString();
|
|
55
75
|
}
|
|
56
76
|
/**
|
|
57
|
-
* Read a {@link MidnightNodeConfig} from the environment.
|
|
58
|
-
*
|
|
77
|
+
* Read a {@link MidnightNodeConfig} from the environment. With nothing set
|
|
78
|
+
* this yields the local "undeployed" stack; a network with blank defaults
|
|
79
|
+
* (stagenet — its endpoints are not published in this repo) REQUIRES the
|
|
80
|
+
* endpoint variables and fails naming the missing ones.
|
|
59
81
|
*
|
|
60
82
|
* Parse flow:
|
|
61
83
|
* 1. `NETWORK_ID` (default "undeployed", validated against {@link NETWORK_IDS})
|
|
@@ -65,6 +87,10 @@ export function indexerWsUrlFromIndexerUrl(indexerUrl) {
|
|
|
65
87
|
* `MIDNIGHT_NODE_INDEXER_WS_URL`, `MIDNIGHT_NODE_PROOF_SERVER_URL`.
|
|
66
88
|
* When the indexer URL is overridden without a WS override, the WS URL is
|
|
67
89
|
* derived from it instead of keeping the baseline host.
|
|
90
|
+
* 3. Every resolved endpoint must be non-empty.
|
|
91
|
+
*
|
|
92
|
+
* @throws If `NETWORK_ID` is unknown, or an endpoint resolves empty (blank
|
|
93
|
+
* default and no environment override).
|
|
68
94
|
*/
|
|
69
95
|
export function getMidnightNodeConfig(env = process.env) {
|
|
70
96
|
const networkId = env.NETWORK_ID?.trim() || "undeployed";
|
|
@@ -75,12 +101,29 @@ export function getMidnightNodeConfig(env = process.env) {
|
|
|
75
101
|
const indexerUrl = env.MIDNIGHT_NODE_INDEXER_URL || defaults.indexerUrl;
|
|
76
102
|
const indexerWsUrl = env.MIDNIGHT_NODE_INDEXER_WS_URL ||
|
|
77
103
|
(env.MIDNIGHT_NODE_INDEXER_URL ? indexerWsUrlFromIndexerUrl(indexerUrl) : defaults.indexerWsUrl);
|
|
78
|
-
|
|
104
|
+
const config = {
|
|
79
105
|
networkId,
|
|
80
106
|
indexerUrl,
|
|
81
107
|
indexerWsUrl,
|
|
82
108
|
nodeUrl: env.MIDNIGHT_NODE_URL || defaults.nodeUrl,
|
|
83
109
|
proofServerUrl: env.MIDNIGHT_NODE_PROOF_SERVER_URL || defaults.proofServerUrl,
|
|
84
110
|
};
|
|
111
|
+
// A blank default means the network's endpoints are not published in this
|
|
112
|
+
// repo (stagenet) — the environment must supply them, so fail with the
|
|
113
|
+
// exact variables to set.
|
|
114
|
+
const missing = [];
|
|
115
|
+
if (!config.nodeUrl)
|
|
116
|
+
missing.push("MIDNIGHT_NODE_URL");
|
|
117
|
+
if (!config.indexerUrl)
|
|
118
|
+
missing.push("MIDNIGHT_NODE_INDEXER_URL");
|
|
119
|
+
if (!config.indexerWsUrl)
|
|
120
|
+
missing.push("MIDNIGHT_NODE_INDEXER_WS_URL");
|
|
121
|
+
if (!config.proofServerUrl)
|
|
122
|
+
missing.push("MIDNIGHT_NODE_PROOF_SERVER_URL");
|
|
123
|
+
if (missing.length > 0) {
|
|
124
|
+
throw new Error(`network "${networkId}" has no built-in endpoints in this repo — set ${missing.join(", ")} ` +
|
|
125
|
+
`in the environment (or the repo-root .env).`);
|
|
126
|
+
}
|
|
127
|
+
return config;
|
|
85
128
|
}
|
|
86
129
|
//# sourceMappingURL=midnight-node-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"midnight-node-config.js","sourceRoot":"","sources":["../../src/plumbing/midnight-node-config.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAC;AAkB9D,0EAA0E;AAC1E,qCAAqC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAE1D,0EAA0E;AAC1E,8CAA8C;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAiC;IAC7D,CAAC,YAAY,CAAC,EAAE;QACd,UAAU,EAAE,sCAAsC;QAClD,YAAY,EAAE,uCAAuC;QACrD,OAAO,EAAE,uBAAuB;QAChC,cAAc,EAAE,kBAAkB;KACnC;IACD,CAAC,UAAU,CAAC,EAAE;QACZ,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"midnight-node-config.js","sourceRoot":"","sources":["../../src/plumbing/midnight-node-config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sig-net/midnight-contract-deploy",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/sig-net/midnight-integration",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"@midnightntwrk/wallet-sdk-shielded": "4.0.0-beta.2",
|
|
51
51
|
"@midnightntwrk/wallet-sdk-unshielded-wallet": "4.0.0-beta.2",
|
|
52
52
|
"@scure/bip39": "^2.2.0",
|
|
53
|
-
"@sig-net/midnight": "^0.0.
|
|
54
|
-
"@sig-net/midnight-contract": "^0.0.
|
|
53
|
+
"@sig-net/midnight": "^0.0.5",
|
|
54
|
+
"@sig-net/midnight-contract": "^0.0.5",
|
|
55
55
|
"effect": "^3.21.4"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|