@algorandfoundation/algokit-utils 5.1.2 → 5.1.3-beta.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/cjs/debugging.d.ts.map +1 -1
- package/cjs/debugging.js +22 -10
- package/cjs/debugging.js.map +1 -1
- package/cjs/types/config.d.ts.map +1 -1
- package/cjs/types/config.js +38 -10
- package/cjs/types/config.js.map +1 -1
- package/cjs/util.d.ts +6 -0
- package/cjs/util.d.ts.map +1 -1
- package/cjs/util.js +10 -1
- package/cjs/util.js.map +1 -1
- package/esm/debugging.js +20 -8
- package/esm/debugging.js.map +1 -1
- package/esm/types/config.js +15 -10
- package/esm/types/config.js.map +1 -1
- package/esm/util.js +8 -0
- package/esm/util.js.map +1 -1
- package/package.json +1 -1
- package/types/debugging.d.ts.map +1 -1
- package/types/types/config.d.ts.map +1 -1
- package/types/util.d.ts +6 -0
- package/types/util.d.ts.map +1 -1
package/cjs/debugging.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugging.d.ts","sourceRoot":"","sources":["../../src/debugging.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"debugging.d.ts","sourceRoot":"","sources":["../../src/debugging.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAGL,uBAAuB,EACvB,gCAAgC,EACjC,MAAM,mBAAmB,CAAA;AAwH1B;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B7H;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,0BAA0B,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,gCAAgC,8CA6E3H"}
|
package/cjs/debugging.js
CHANGED
|
@@ -25,11 +25,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.simulateAndPersistResponse = exports.persistSourceMaps = void 0;
|
|
27
27
|
const crypto = __importStar(require("crypto"));
|
|
28
|
-
const fs = __importStar(require("fs"));
|
|
29
|
-
const path = __importStar(require("path"));
|
|
30
28
|
const _1 = require(".");
|
|
31
29
|
const transaction_1 = require("./transaction");
|
|
32
30
|
const debugging_1 = require("./types/debugging");
|
|
31
|
+
const util_1 = require("./util");
|
|
33
32
|
const ALGOKIT_DIR = '.algokit';
|
|
34
33
|
const SOURCES_DIR = 'sources';
|
|
35
34
|
const SOURCES_FILE = 'sources.avm.json';
|
|
@@ -40,6 +39,7 @@ const TEAL_SOURCEMAP_EXT = '.teal.tok.map';
|
|
|
40
39
|
// === Internal methods ===
|
|
41
40
|
async function loadOrCreateSources(sourcesPath) {
|
|
42
41
|
try {
|
|
42
|
+
const fs = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
43
43
|
const data = JSON.parse(await fs.promises.readFile(sourcesPath, 'utf8'));
|
|
44
44
|
return debugging_1.AVMDebuggerSourceMap.fromDict(data);
|
|
45
45
|
}
|
|
@@ -54,6 +54,8 @@ async function loadOrCreateSources(sourcesPath) {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
async function upsertDebugSourcemaps(sourceMaps, projectRoot) {
|
|
57
|
+
const path = await Promise.resolve().then(() => __importStar(require('path')));
|
|
58
|
+
const fs = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
57
59
|
const sourcesPath = path.join(projectRoot, ALGOKIT_DIR, SOURCES_DIR, SOURCES_FILE);
|
|
58
60
|
const sources = await loadOrCreateSources(sourcesPath);
|
|
59
61
|
for (const sourcemap of sourceMaps) {
|
|
@@ -84,6 +86,8 @@ async function upsertDebugSourcemaps(sourceMaps, projectRoot) {
|
|
|
84
86
|
await fs.promises.writeFile(sourcesPath, JSON.stringify(sources.toDict()), 'utf8');
|
|
85
87
|
}
|
|
86
88
|
async function writeToFile(filePath, content) {
|
|
89
|
+
const path = await Promise.resolve().then(() => __importStar(require('path')));
|
|
90
|
+
const fs = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
87
91
|
await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
|
|
88
92
|
await fs.promises.writeFile(filePath, content, 'utf8');
|
|
89
93
|
}
|
|
@@ -91,6 +95,7 @@ async function buildAVMSourcemap({ rawTeal, compiledTeal, appName, fileName, out
|
|
|
91
95
|
if (!rawTeal && !compiledTeal) {
|
|
92
96
|
throw new Error('Either rawTeal or compiledTeal must be provided.');
|
|
93
97
|
}
|
|
98
|
+
const path = await Promise.resolve().then(() => __importStar(require('path')));
|
|
94
99
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
95
100
|
const result = rawTeal ? await (0, _1.compileTeal)(rawTeal, client) : compiledTeal;
|
|
96
101
|
const programHash = crypto.createHash('SHA-512/256').update(Buffer.from(result.compiled, 'base64')).digest('base64');
|
|
@@ -105,10 +110,6 @@ async function buildAVMSourcemap({ rawTeal, compiledTeal, appName, fileName, out
|
|
|
105
110
|
}
|
|
106
111
|
return new debugging_1.AVMDebuggerSourceMapEntry(sourceMapOutputPath, programHash);
|
|
107
112
|
}
|
|
108
|
-
// simple function checking whether this is running in node or browser environment
|
|
109
|
-
function isNode() {
|
|
110
|
-
return typeof window === 'undefined';
|
|
111
|
-
}
|
|
112
113
|
// === Public facing methods ===
|
|
113
114
|
/**
|
|
114
115
|
* This function persists the source maps for the given sources.
|
|
@@ -121,7 +122,7 @@ function isNode() {
|
|
|
121
122
|
* @returns A promise that resolves when the source maps have been persisted.
|
|
122
123
|
*/
|
|
123
124
|
async function persistSourceMaps({ sources, projectRoot, client, withSources }) {
|
|
124
|
-
if (!isNode()) {
|
|
125
|
+
if (!(0, util_1.isNode)()) {
|
|
125
126
|
throw new Error('Sourcemaps can only be persisted in Node.js environment.');
|
|
126
127
|
}
|
|
127
128
|
try {
|
|
@@ -164,9 +165,11 @@ exports.persistSourceMaps = persistSourceMaps;
|
|
|
164
165
|
* console.log(result);
|
|
165
166
|
*/
|
|
166
167
|
async function simulateAndPersistResponse({ atc, projectRoot, algod, bufferSizeMb }) {
|
|
167
|
-
if (!isNode()) {
|
|
168
|
+
if (!(0, util_1.isNode)()) {
|
|
168
169
|
throw new Error('Sourcemaps can only be persisted in Node.js environment.');
|
|
169
170
|
}
|
|
171
|
+
const fs = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
172
|
+
const path = await Promise.resolve().then(() => __importStar(require('path')));
|
|
170
173
|
try {
|
|
171
174
|
const atcToSimulate = atc.clone();
|
|
172
175
|
const simulateResult = await (0, transaction_1.performAtomicTransactionComposerSimulate)(atcToSimulate, algod);
|
|
@@ -183,8 +186,17 @@ async function simulateAndPersistResponse({ atc, projectRoot, algod, bufferSizeM
|
|
|
183
186
|
const outputRootDir = path.join(projectRoot, DEBUG_TRACES_DIR);
|
|
184
187
|
const outputFileName = `${timestamp}_lr${simulateResult.lastRound}_${txnTypesStr}${TRACES_FILE_EXT}`;
|
|
185
188
|
const outputFilePath = path.join(outputRootDir, outputFileName);
|
|
186
|
-
|
|
187
|
-
await fs.promises.
|
|
189
|
+
try {
|
|
190
|
+
await fs.promises.access(path.dirname(outputFilePath));
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
const err = error;
|
|
194
|
+
if (err.code === 'ENOENT') {
|
|
195
|
+
await fs.promises.mkdir(path.dirname(outputFilePath), { recursive: true });
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
throw err;
|
|
199
|
+
}
|
|
188
200
|
}
|
|
189
201
|
// cleanup old files if buffer size is exceeded
|
|
190
202
|
let totalSize = (await Promise.all((await fs.promises.readdir(outputRootDir)).map(async (file) => (await fs.promises.stat(path.join(outputRootDir, file))).size))).reduce((a, b) => a + b, 0);
|
package/cjs/debugging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugging.js","sourceRoot":"","sources":["../../src/debugging.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"debugging.js","sourceRoot":"","sources":["../../src/debugging.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA6B,MAAM,WAAW,CAAA;AAE7D,qCAAqC;AACrC,MAAM,WAAW,MAAM;IACrB,aAAa;IACb,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,KAAK,EAAE,OAAO,CAAA;IACd,6CAA6C;IAC7C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,gDAAgD;IAChD,QAAQ,EAAE,OAAO,CAAA;IACjB,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,CAAA;IACzB,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,+BAA+B;AAC/B,qBAAa,eAAgB,YAAW,QAAQ,CAAC,MAAM,CAAC;IACtD,OAAO,CAAC,MAAM,CAAQ;IAEtB,IAAI,MAAM,WAET;IAED,IAAI,KAAK,YAER;IAED,IAAI,WAAW,kBAEd;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,iBAAiB,WAEpB;IAED,IAAI,cAAc,WAEjB;IAED;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,EAAE,OAAO;IAQpC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,OAAO;;IAyB/B;;;OAGG;YACW,oBAAoB;IA6BlC;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC;CAGrC"}
|
package/cjs/types/config.js
CHANGED
|
@@ -1,9 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
exports.UpdatableConfig = void 0;
|
|
4
|
-
const
|
|
5
|
-
const path_1 = require("path");
|
|
6
|
-
const url_1 = require("url");
|
|
27
|
+
const util_1 = require("../util");
|
|
7
28
|
const logging_1 = require("./logging");
|
|
8
29
|
/** Updatable AlgoKit config */
|
|
9
30
|
class UpdatableConfig {
|
|
@@ -60,29 +81,36 @@ class UpdatableConfig {
|
|
|
60
81
|
traceBufferSizeMb: 256,
|
|
61
82
|
maxSearchDepth: 10,
|
|
62
83
|
};
|
|
63
|
-
|
|
84
|
+
if ((0, util_1.isNode)()) {
|
|
85
|
+
this.configureProjectRoot();
|
|
86
|
+
}
|
|
64
87
|
}
|
|
65
88
|
/**
|
|
66
89
|
* Configures the project root by searching for a specific file within a depth limit.
|
|
67
90
|
* This is only supported in a Node environment.
|
|
68
91
|
*/
|
|
69
|
-
configureProjectRoot() {
|
|
70
|
-
|
|
92
|
+
async configureProjectRoot() {
|
|
93
|
+
if (!(0, util_1.isNode)()) {
|
|
94
|
+
throw new Error('`configureProjectRoot` can only be called in Node.js environment.');
|
|
95
|
+
}
|
|
96
|
+
const fs = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
97
|
+
const path = await Promise.resolve().then(() => __importStar(require('path')));
|
|
98
|
+
const url = await Promise.resolve().then(() => __importStar(require('url')));
|
|
71
99
|
const _dirname =
|
|
72
100
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
73
101
|
// @ts-ignore: Unreachable code error
|
|
74
102
|
// eslint-disable-next-line no-restricted-syntax
|
|
75
|
-
typeof __dirname !== 'undefined' ? __dirname :
|
|
103
|
+
typeof __dirname !== 'undefined' ? __dirname : path.dirname(url.fileURLToPath("unreachable"));
|
|
76
104
|
if (!_dirname) {
|
|
77
105
|
return;
|
|
78
106
|
}
|
|
79
|
-
let currentPath =
|
|
107
|
+
let currentPath = path.resolve(_dirname);
|
|
80
108
|
for (let i = 0; i < this.config.maxSearchDepth; i++) {
|
|
81
|
-
if (
|
|
109
|
+
if (fs.existsSync(`${currentPath}/.algokit.toml`)) {
|
|
82
110
|
this.config.projectRoot = currentPath;
|
|
83
111
|
break;
|
|
84
112
|
}
|
|
85
|
-
currentPath =
|
|
113
|
+
currentPath = path.dirname(currentPath);
|
|
86
114
|
}
|
|
87
115
|
}
|
|
88
116
|
/**
|
package/cjs/types/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"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"}
|
package/cjs/util.d.ts
CHANGED
|
@@ -15,4 +15,10 @@ export declare class UnsafeConversionError extends Error {
|
|
|
15
15
|
* @returns The amount of funds to add to the wallet or null if the wallet is already above the minimum spending balance
|
|
16
16
|
*/
|
|
17
17
|
export declare const calculateFundAmount: (minSpendingBalance: number, currentSpendingBalance: number, minFundingIncrement: number) => number | null;
|
|
18
|
+
/**
|
|
19
|
+
* Checks if the current environment is Node.js
|
|
20
|
+
*
|
|
21
|
+
* @returns A boolean indicating whether the current environment is Node.js
|
|
22
|
+
*/
|
|
23
|
+
export declare const isNode: () => boolean;
|
|
18
24
|
//# sourceMappingURL=util.d.ts.map
|
package/cjs/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,UAAW,MAAM,GAAG,MAAM,WAa9C,CAAA;AAED,qBAAa,qBAAsB,SAAQ,KAAK;CAAG;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,uBACV,MAAM,0BACF,MAAM,uBACT,MAAM,KAC1B,MAAM,GAAG,IAOX,CAAA"}
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,UAAW,MAAM,GAAG,MAAM,WAa9C,CAAA;AAED,qBAAa,qBAAsB,SAAQ,KAAK;CAAG;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,uBACV,MAAM,0BACF,MAAM,uBACT,MAAM,KAC1B,MAAM,GAAG,IAOX,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,eAElB,CAAA"}
|
package/cjs/util.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.calculateFundAmount = exports.UnsafeConversionError = exports.toNumber = void 0;
|
|
3
|
+
exports.isNode = exports.calculateFundAmount = exports.UnsafeConversionError = exports.toNumber = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Converts a value which might be a number or a bigint into a number to be used with apis that don't support bigint.
|
|
6
6
|
*
|
|
@@ -39,4 +39,13 @@ const calculateFundAmount = (minSpendingBalance, currentSpendingBalance, minFund
|
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
41
|
exports.calculateFundAmount = calculateFundAmount;
|
|
42
|
+
/**
|
|
43
|
+
* Checks if the current environment is Node.js
|
|
44
|
+
*
|
|
45
|
+
* @returns A boolean indicating whether the current environment is Node.js
|
|
46
|
+
*/
|
|
47
|
+
const isNode = () => {
|
|
48
|
+
return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
|
|
49
|
+
};
|
|
50
|
+
exports.isNode = isNode;
|
|
42
51
|
//# sourceMappingURL=util.js.map
|
package/cjs/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACI,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAE,EAAE;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QAC3C,MAAM,IAAI,qBAAqB,CAC7B,kBAAkB,KAAK,sFAAsF,CAC9G,CAAA;KACF;SAAM,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QAClD,MAAM,IAAI,qBAAqB,CAC7B,kBAAkB,KAAK,uFAAuF,CAC/G,CAAA;KACF;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAbY,QAAA,QAAQ,YAapB;AAED,MAAa,qBAAsB,SAAQ,KAAK;CAAG;AAAnD,sDAAmD;AAEnD;;;;;;GAMG;AACI,MAAM,mBAAmB,GAAG,CACjC,kBAA0B,EAC1B,sBAA8B,EAC9B,mBAA2B,EACZ,EAAE;IACjB,IAAI,kBAAkB,GAAG,sBAAsB,EAAE;QAC/C,MAAM,aAAa,GAAG,kBAAkB,GAAG,sBAAsB,CAAA;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;KACpD;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA;AAXY,QAAA,mBAAmB,uBAW/B"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACI,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAE,EAAE;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QAC3C,MAAM,IAAI,qBAAqB,CAC7B,kBAAkB,KAAK,sFAAsF,CAC9G,CAAA;KACF;SAAM,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QAClD,MAAM,IAAI,qBAAqB,CAC7B,kBAAkB,KAAK,uFAAuF,CAC/G,CAAA;KACF;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAbY,QAAA,QAAQ,YAapB;AAED,MAAa,qBAAsB,SAAQ,KAAK;CAAG;AAAnD,sDAAmD;AAEnD;;;;;;GAMG;AACI,MAAM,mBAAmB,GAAG,CACjC,kBAA0B,EAC1B,sBAA8B,EAC9B,mBAA2B,EACZ,EAAE;IACjB,IAAI,kBAAkB,GAAG,sBAAsB,EAAE;QAC/C,MAAM,aAAa,GAAG,kBAAkB,GAAG,sBAAsB,CAAA;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;KACpD;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA;AAXY,QAAA,mBAAmB,uBAW/B;AAED;;;;GAIG;AACI,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,OAAO,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAA;AACpG,CAAC,CAAA;AAFY,QAAA,MAAM,UAElB"}
|
package/esm/debugging.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as crypto from 'crypto';
|
|
2
|
-
import * as fs from 'fs';
|
|
3
|
-
import * as path from 'path';
|
|
4
2
|
import { Config, compileTeal } from './index.js';
|
|
5
3
|
import { performAtomicTransactionComposerSimulate } from './transaction.js';
|
|
6
4
|
import { AVMDebuggerSourceMap, AVMDebuggerSourceMapEntry, } from './types/debugging.js';
|
|
5
|
+
import { isNode } from './util.js';
|
|
7
6
|
const ALGOKIT_DIR = '.algokit';
|
|
8
7
|
const SOURCES_DIR = 'sources';
|
|
9
8
|
const SOURCES_FILE = 'sources.avm.json';
|
|
@@ -14,6 +13,7 @@ const TEAL_SOURCEMAP_EXT = '.teal.tok.map';
|
|
|
14
13
|
// === Internal methods ===
|
|
15
14
|
async function loadOrCreateSources(sourcesPath) {
|
|
16
15
|
try {
|
|
16
|
+
const fs = await import('fs');
|
|
17
17
|
const data = JSON.parse(await fs.promises.readFile(sourcesPath, 'utf8'));
|
|
18
18
|
return AVMDebuggerSourceMap.fromDict(data);
|
|
19
19
|
}
|
|
@@ -28,6 +28,8 @@ async function loadOrCreateSources(sourcesPath) {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
async function upsertDebugSourcemaps(sourceMaps, projectRoot) {
|
|
31
|
+
const path = await import('path');
|
|
32
|
+
const fs = await import('fs');
|
|
31
33
|
const sourcesPath = path.join(projectRoot, ALGOKIT_DIR, SOURCES_DIR, SOURCES_FILE);
|
|
32
34
|
const sources = await loadOrCreateSources(sourcesPath);
|
|
33
35
|
for (const sourcemap of sourceMaps) {
|
|
@@ -58,6 +60,8 @@ async function upsertDebugSourcemaps(sourceMaps, projectRoot) {
|
|
|
58
60
|
await fs.promises.writeFile(sourcesPath, JSON.stringify(sources.toDict()), 'utf8');
|
|
59
61
|
}
|
|
60
62
|
async function writeToFile(filePath, content) {
|
|
63
|
+
const path = await import('path');
|
|
64
|
+
const fs = await import('fs');
|
|
61
65
|
await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
|
|
62
66
|
await fs.promises.writeFile(filePath, content, 'utf8');
|
|
63
67
|
}
|
|
@@ -65,6 +69,7 @@ async function buildAVMSourcemap({ rawTeal, compiledTeal, appName, fileName, out
|
|
|
65
69
|
if (!rawTeal && !compiledTeal) {
|
|
66
70
|
throw new Error('Either rawTeal or compiledTeal must be provided.');
|
|
67
71
|
}
|
|
72
|
+
const path = await import('path');
|
|
68
73
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
69
74
|
const result = rawTeal ? await compileTeal(rawTeal, client) : compiledTeal;
|
|
70
75
|
const programHash = crypto.createHash('SHA-512/256').update(Buffer.from(result.compiled, 'base64')).digest('base64');
|
|
@@ -79,10 +84,6 @@ async function buildAVMSourcemap({ rawTeal, compiledTeal, appName, fileName, out
|
|
|
79
84
|
}
|
|
80
85
|
return new AVMDebuggerSourceMapEntry(sourceMapOutputPath, programHash);
|
|
81
86
|
}
|
|
82
|
-
// simple function checking whether this is running in node or browser environment
|
|
83
|
-
function isNode() {
|
|
84
|
-
return typeof window === 'undefined';
|
|
85
|
-
}
|
|
86
87
|
// === Public facing methods ===
|
|
87
88
|
/**
|
|
88
89
|
* This function persists the source maps for the given sources.
|
|
@@ -140,6 +141,8 @@ export async function simulateAndPersistResponse({ atc, projectRoot, algod, buff
|
|
|
140
141
|
if (!isNode()) {
|
|
141
142
|
throw new Error('Sourcemaps can only be persisted in Node.js environment.');
|
|
142
143
|
}
|
|
144
|
+
const fs = await import('fs');
|
|
145
|
+
const path = await import('path');
|
|
143
146
|
try {
|
|
144
147
|
const atcToSimulate = atc.clone();
|
|
145
148
|
const simulateResult = await performAtomicTransactionComposerSimulate(atcToSimulate, algod);
|
|
@@ -156,8 +159,17 @@ export async function simulateAndPersistResponse({ atc, projectRoot, algod, buff
|
|
|
156
159
|
const outputRootDir = path.join(projectRoot, DEBUG_TRACES_DIR);
|
|
157
160
|
const outputFileName = `${timestamp}_lr${simulateResult.lastRound}_${txnTypesStr}${TRACES_FILE_EXT}`;
|
|
158
161
|
const outputFilePath = path.join(outputRootDir, outputFileName);
|
|
159
|
-
|
|
160
|
-
await fs.promises.
|
|
162
|
+
try {
|
|
163
|
+
await fs.promises.access(path.dirname(outputFilePath));
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
const err = error;
|
|
167
|
+
if (err.code === 'ENOENT') {
|
|
168
|
+
await fs.promises.mkdir(path.dirname(outputFilePath), { recursive: true });
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
throw err;
|
|
172
|
+
}
|
|
161
173
|
}
|
|
162
174
|
// cleanup old files if buffer size is exceeded
|
|
163
175
|
let totalSize = (await Promise.all((await fs.promises.readdir(outputRootDir)).map(async (file) => (await fs.promises.stat(path.join(outputRootDir, file))).size))).reduce((a, b) => a + b, 0);
|
package/esm/debugging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugging.js","sourceRoot":"","sources":["../../src/debugging.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"debugging.js","sourceRoot":"","sources":["../../src/debugging.ts"],"names":[],"mappings":"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"}
|
package/esm/types/config.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { dirname, resolve } from 'path';
|
|
3
|
-
import { fileURLToPath } from 'url';
|
|
1
|
+
import { isNode } from '../util.js';
|
|
4
2
|
import { consoleLogger, nullLogger } from './logging.js';
|
|
5
3
|
/** Updatable AlgoKit config */
|
|
6
4
|
export class UpdatableConfig {
|
|
@@ -57,29 +55,36 @@ export class UpdatableConfig {
|
|
|
57
55
|
traceBufferSizeMb: 256,
|
|
58
56
|
maxSearchDepth: 10,
|
|
59
57
|
};
|
|
60
|
-
|
|
58
|
+
if (isNode()) {
|
|
59
|
+
this.configureProjectRoot();
|
|
60
|
+
}
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
63
|
* Configures the project root by searching for a specific file within a depth limit.
|
|
64
64
|
* This is only supported in a Node environment.
|
|
65
65
|
*/
|
|
66
|
-
configureProjectRoot() {
|
|
67
|
-
|
|
66
|
+
async configureProjectRoot() {
|
|
67
|
+
if (!isNode()) {
|
|
68
|
+
throw new Error('`configureProjectRoot` can only be called in Node.js environment.');
|
|
69
|
+
}
|
|
70
|
+
const fs = await import('fs');
|
|
71
|
+
const path = await import('path');
|
|
72
|
+
const url = await import('url');
|
|
68
73
|
const _dirname =
|
|
69
74
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
70
75
|
// @ts-ignore: Unreachable code error
|
|
71
76
|
// eslint-disable-next-line no-restricted-syntax
|
|
72
|
-
typeof __dirname !== 'undefined' ? __dirname :
|
|
77
|
+
typeof __dirname !== 'undefined' ? __dirname : path.dirname(url.fileURLToPath(import.meta.url));
|
|
73
78
|
if (!_dirname) {
|
|
74
79
|
return;
|
|
75
80
|
}
|
|
76
|
-
let currentPath = resolve(_dirname);
|
|
81
|
+
let currentPath = path.resolve(_dirname);
|
|
77
82
|
for (let i = 0; i < this.config.maxSearchDepth; i++) {
|
|
78
|
-
if (existsSync(`${currentPath}/.algokit.toml`)) {
|
|
83
|
+
if (fs.existsSync(`${currentPath}/.algokit.toml`)) {
|
|
79
84
|
this.config.projectRoot = currentPath;
|
|
80
85
|
break;
|
|
81
86
|
}
|
|
82
|
-
currentPath = dirname(currentPath);
|
|
87
|
+
currentPath = path.dirname(currentPath);
|
|
83
88
|
}
|
|
84
89
|
}
|
|
85
90
|
/**
|
package/esm/types/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"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"}
|
package/esm/util.js
CHANGED
|
@@ -33,4 +33,12 @@ export const calculateFundAmount = (minSpendingBalance, currentSpendingBalance,
|
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* Checks if the current environment is Node.js
|
|
38
|
+
*
|
|
39
|
+
* @returns A boolean indicating whether the current environment is Node.js
|
|
40
|
+
*/
|
|
41
|
+
export const isNode = () => {
|
|
42
|
+
return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
|
|
43
|
+
};
|
|
36
44
|
//# sourceMappingURL=util.js.map
|
package/esm/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAE,EAAE;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QAC3C,MAAM,IAAI,qBAAqB,CAC7B,kBAAkB,KAAK,sFAAsF,CAC9G,CAAA;KACF;SAAM,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QAClD,MAAM,IAAI,qBAAqB,CAC7B,kBAAkB,KAAK,uFAAuF,CAC/G,CAAA;KACF;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;CAAG;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,kBAA0B,EAC1B,sBAA8B,EAC9B,mBAA2B,EACZ,EAAE;IACjB,IAAI,kBAAkB,GAAG,sBAAsB,EAAE;QAC/C,MAAM,aAAa,GAAG,kBAAkB,GAAG,sBAAsB,CAAA;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;KACpD;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAE,EAAE;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QAC3C,MAAM,IAAI,qBAAqB,CAC7B,kBAAkB,KAAK,sFAAsF,CAC9G,CAAA;KACF;SAAM,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QAClD,MAAM,IAAI,qBAAqB,CAC7B,kBAAkB,KAAK,uFAAuF,CAC/G,CAAA;KACF;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;CAAG;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,kBAA0B,EAC1B,sBAA8B,EAC9B,mBAA2B,EACZ,EAAE;IACjB,IAAI,kBAAkB,GAAG,sBAAsB,EAAE;QAC/C,MAAM,aAAa,GAAG,kBAAkB,GAAG,sBAAsB,CAAA;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;KACpD;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,OAAO,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAA;AACpG,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"main": "./cjs/index.js",
|
|
3
3
|
"types": "./types/index.d.ts",
|
|
4
4
|
"name": "@algorandfoundation/algokit-utils",
|
|
5
|
-
"version": "5.1.
|
|
5
|
+
"version": "5.1.3-beta.1",
|
|
6
6
|
"private": false,
|
|
7
7
|
"description": "A set of core Algorand utilities written in TypeScript and released via npm that make it easier to build solutions on Algorand.",
|
|
8
8
|
"author": "Algorand Foundation",
|
package/types/debugging.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugging.d.ts","sourceRoot":"","sources":["../../src/debugging.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"debugging.d.ts","sourceRoot":"","sources":["../../src/debugging.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAGL,uBAAuB,EACvB,gCAAgC,EACjC,MAAM,mBAAmB,CAAA;AAwH1B;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B7H;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,0BAA0B,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,gCAAgC,8CA6E3H"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA6B,MAAM,WAAW,CAAA;AAE7D,qCAAqC;AACrC,MAAM,WAAW,MAAM;IACrB,aAAa;IACb,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,KAAK,EAAE,OAAO,CAAA;IACd,6CAA6C;IAC7C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,gDAAgD;IAChD,QAAQ,EAAE,OAAO,CAAA;IACjB,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,CAAA;IACzB,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,+BAA+B;AAC/B,qBAAa,eAAgB,YAAW,QAAQ,CAAC,MAAM,CAAC;IACtD,OAAO,CAAC,MAAM,CAAQ;IAEtB,IAAI,MAAM,WAET;IAED,IAAI,KAAK,YAER;IAED,IAAI,WAAW,kBAEd;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,iBAAiB,WAEpB;IAED,IAAI,cAAc,WAEjB;IAED;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,EAAE,OAAO;IAQpC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,OAAO;;IAyB/B;;;OAGG;YACW,oBAAoB;IA6BlC;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC;CAGrC"}
|
package/types/util.d.ts
CHANGED
|
@@ -15,4 +15,10 @@ export declare class UnsafeConversionError extends Error {
|
|
|
15
15
|
* @returns The amount of funds to add to the wallet or null if the wallet is already above the minimum spending balance
|
|
16
16
|
*/
|
|
17
17
|
export declare const calculateFundAmount: (minSpendingBalance: number, currentSpendingBalance: number, minFundingIncrement: number) => number | null;
|
|
18
|
+
/**
|
|
19
|
+
* Checks if the current environment is Node.js
|
|
20
|
+
*
|
|
21
|
+
* @returns A boolean indicating whether the current environment is Node.js
|
|
22
|
+
*/
|
|
23
|
+
export declare const isNode: () => boolean;
|
|
18
24
|
//# sourceMappingURL=util.d.ts.map
|
package/types/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,UAAW,MAAM,GAAG,MAAM,WAa9C,CAAA;AAED,qBAAa,qBAAsB,SAAQ,KAAK;CAAG;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,uBACV,MAAM,0BACF,MAAM,uBACT,MAAM,KAC1B,MAAM,GAAG,IAOX,CAAA"}
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,UAAW,MAAM,GAAG,MAAM,WAa9C,CAAA;AAED,qBAAa,qBAAsB,SAAQ,KAAK;CAAG;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,uBACV,MAAM,0BACF,MAAM,uBACT,MAAM,KAC1B,MAAM,GAAG,IAOX,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,eAElB,CAAA"}
|