@clarigen/test 1.0.0-next.25 → 1.0.0-next.26
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/index.d.ts +19 -3
- package/dist/index.js +40 -1
- package/dist/index.mjs +40 -1
- package/package.json +5 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CoreNodeEvent, ResultAssets, Contracts, ContractFactory,
|
|
2
|
-
import { Costs, NativeClarityBinProvider, ClarinetAccounts } from '@clarigen/native-bin';
|
|
1
|
+
import { CoreNodeEvent, ResultAssets, Project, AllContracts, DeploymentsForContracts, ProjectFactory, Contracts, ContractFactory, ContractCall, Response, ContractCalls, ContractInstances, ResponseOk, ResponseErr } from '@clarigen/core';
|
|
2
|
+
import { Costs, ClarinetAccount, NativeClarityBinProvider, ClarinetAccounts } from '@clarigen/native-bin';
|
|
3
3
|
export { Allocation, createClarityBin, evalJson, executeJson } from '@clarigen/native-bin';
|
|
4
4
|
import { ClarityValue, ResponseCV } from 'micro-stacks/clarity';
|
|
5
5
|
import { StacksNetworkVersion } from 'micro-stacks/crypto';
|
|
@@ -31,6 +31,21 @@ interface PublicResultOk<T> extends PublicResultBase<T> {
|
|
|
31
31
|
}
|
|
32
32
|
declare type PublicResult<R> = PublicResultOk<R> | PublicResultErr<R>;
|
|
33
33
|
|
|
34
|
+
declare type Account = Omit<ClarinetAccount, 'balance'> & {
|
|
35
|
+
balance: number;
|
|
36
|
+
};
|
|
37
|
+
interface Simnet {
|
|
38
|
+
accounts: {
|
|
39
|
+
deployer: Account;
|
|
40
|
+
[key: string]: Account;
|
|
41
|
+
};
|
|
42
|
+
deployment: {
|
|
43
|
+
identifier: string;
|
|
44
|
+
file: string;
|
|
45
|
+
}[];
|
|
46
|
+
}
|
|
47
|
+
declare function testFactory<P extends Project<C, D>, C extends AllContracts, D extends DeploymentsForContracts<C>>(project: P): ProjectFactory<P, 'simnet'>;
|
|
48
|
+
|
|
34
49
|
declare type Provider = NativeClarityBinProvider | {
|
|
35
50
|
clarityBin: NativeClarityBinProvider;
|
|
36
51
|
};
|
|
@@ -60,6 +75,7 @@ declare class TestProvider {
|
|
|
60
75
|
coverageFolder?: string;
|
|
61
76
|
constructor(clarityBin: NativeClarityBinProvider);
|
|
62
77
|
static fromContracts<T extends Contracts<any>>(contracts: T, options?: FromContractsOptions): Promise<FromContracts<T>>;
|
|
78
|
+
static fromProject(simnet: Simnet, options?: FromContractsOptions): Promise<TestProvider>;
|
|
63
79
|
static fromFactory(contracts: ContractFactory<AllContracts>, options?: FromContractsOptions): Promise<TestProvider>;
|
|
64
80
|
ro<T>(tx: ContractCall<T>): Promise<ReadOnlyResult<T>>;
|
|
65
81
|
rov<T>(tx: ContractCall<T>): Promise<T>;
|
|
@@ -75,4 +91,4 @@ declare class TestProvider {
|
|
|
75
91
|
mapGet<T extends ContractCalls.Map<any, Val>, Val>(map: T): Promise<Val | null>;
|
|
76
92
|
}
|
|
77
93
|
|
|
78
|
-
export { PublicResultErr, PublicResultOk, ReadOnlyResult, TestProvider, finishCoverage, getBlockHeight, getStxBalance, makeRandomAddress, mineBlocks, setupCoverage };
|
|
94
|
+
export { PublicResultErr, PublicResultOk, ReadOnlyResult, Simnet, TestProvider, finishCoverage, getBlockHeight, getStxBalance, makeRandomAddress, mineBlocks, setupCoverage, testFactory };
|
package/dist/index.js
CHANGED
|
@@ -251,6 +251,16 @@ async function mapGet({
|
|
|
251
251
|
// src/index.ts
|
|
252
252
|
|
|
253
253
|
|
|
254
|
+
// src/utils/test-factory.ts
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
function testFactory(project) {
|
|
259
|
+
return _core.projectFactory.call(void 0, project, "simnet");
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
// src/index.ts
|
|
263
|
+
|
|
254
264
|
var TestProvider = class {
|
|
255
265
|
constructor(clarityBin) {
|
|
256
266
|
this.clarityBin = clarityBin;
|
|
@@ -289,6 +299,34 @@ var TestProvider = class {
|
|
|
289
299
|
provider
|
|
290
300
|
};
|
|
291
301
|
}
|
|
302
|
+
static async fromProject(simnet, options = {}) {
|
|
303
|
+
const allocations = Object.fromEntries(Object.entries(simnet.accounts).map(([name, account]) => {
|
|
304
|
+
return [name, __spreadProps(__spreadValues({}, account), { balance: BigInt(account.balance) })];
|
|
305
|
+
}));
|
|
306
|
+
const clarityBin = options.clarityBin || await _nativebin.createClarityBin.call(void 0, {
|
|
307
|
+
allocations
|
|
308
|
+
});
|
|
309
|
+
let coverageFolder = options.coverageFolder;
|
|
310
|
+
if (process.env.CLARIGEN_COVERAGE) {
|
|
311
|
+
coverageFolder = _path.resolve.call(void 0, process.cwd(), "coverage");
|
|
312
|
+
}
|
|
313
|
+
await deployUtilContract(clarityBin);
|
|
314
|
+
for (const contract of simnet.deployment) {
|
|
315
|
+
let contractFilePath = contract.file;
|
|
316
|
+
if (options.clarinetPath) {
|
|
317
|
+
contractFilePath = _path.resolve.call(void 0, process.cwd(), options.clarinetPath, contractFilePath);
|
|
318
|
+
}
|
|
319
|
+
await _nativebin.deployContract.call(void 0, {
|
|
320
|
+
contractIdentifier: contract.identifier,
|
|
321
|
+
contractFilePath,
|
|
322
|
+
provider: clarityBin,
|
|
323
|
+
coverageFolder
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
const provider = new this(clarityBin);
|
|
327
|
+
provider.coverageFolder = coverageFolder;
|
|
328
|
+
return provider;
|
|
329
|
+
}
|
|
292
330
|
static async fromFactory(contracts, options = {}) {
|
|
293
331
|
const clarityBin = options.clarityBin || await _nativebin.createClarityBin.call(void 0, {
|
|
294
332
|
allocations: options.accounts
|
|
@@ -401,4 +439,5 @@ var TestProvider = class {
|
|
|
401
439
|
|
|
402
440
|
|
|
403
441
|
|
|
404
|
-
|
|
442
|
+
|
|
443
|
+
exports.Allocation = _nativebin.Allocation; exports.TestProvider = TestProvider; exports.createClarityBin = _nativebin.createClarityBin; exports.evalJson = _nativebin.evalJson; exports.executeJson = _nativebin.executeJson; exports.finishCoverage = finishCoverage; exports.getBlockHeight = getBlockHeight; exports.getStxBalance = getStxBalance; exports.makeRandomAddress = makeRandomAddress; exports.mineBlocks = mineBlocks; exports.setupCoverage = setupCoverage; exports.testFactory = testFactory;
|
package/dist/index.mjs
CHANGED
|
@@ -250,6 +250,16 @@ async function mapGet({
|
|
|
250
250
|
|
|
251
251
|
// src/index.ts
|
|
252
252
|
import { resolve as resolve2 } from "path";
|
|
253
|
+
|
|
254
|
+
// src/utils/test-factory.ts
|
|
255
|
+
import {
|
|
256
|
+
projectFactory
|
|
257
|
+
} from "@clarigen/core";
|
|
258
|
+
function testFactory(project) {
|
|
259
|
+
return projectFactory(project, "simnet");
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
// src/index.ts
|
|
253
263
|
import { Allocation, createClarityBin as createClarityBin2, executeJson as executeJson3, evalJson as evalJson3 } from "@clarigen/native-bin";
|
|
254
264
|
var TestProvider = class {
|
|
255
265
|
constructor(clarityBin) {
|
|
@@ -289,6 +299,34 @@ var TestProvider = class {
|
|
|
289
299
|
provider
|
|
290
300
|
};
|
|
291
301
|
}
|
|
302
|
+
static async fromProject(simnet, options = {}) {
|
|
303
|
+
const allocations = Object.fromEntries(Object.entries(simnet.accounts).map(([name, account]) => {
|
|
304
|
+
return [name, __spreadProps(__spreadValues({}, account), { balance: BigInt(account.balance) })];
|
|
305
|
+
}));
|
|
306
|
+
const clarityBin = options.clarityBin || await createClarityBin({
|
|
307
|
+
allocations
|
|
308
|
+
});
|
|
309
|
+
let coverageFolder = options.coverageFolder;
|
|
310
|
+
if (process.env.CLARIGEN_COVERAGE) {
|
|
311
|
+
coverageFolder = resolve2(process.cwd(), "coverage");
|
|
312
|
+
}
|
|
313
|
+
await deployUtilContract(clarityBin);
|
|
314
|
+
for (const contract of simnet.deployment) {
|
|
315
|
+
let contractFilePath = contract.file;
|
|
316
|
+
if (options.clarinetPath) {
|
|
317
|
+
contractFilePath = resolve2(process.cwd(), options.clarinetPath, contractFilePath);
|
|
318
|
+
}
|
|
319
|
+
await deployContract2({
|
|
320
|
+
contractIdentifier: contract.identifier,
|
|
321
|
+
contractFilePath,
|
|
322
|
+
provider: clarityBin,
|
|
323
|
+
coverageFolder
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
const provider = new this(clarityBin);
|
|
327
|
+
provider.coverageFolder = coverageFolder;
|
|
328
|
+
return provider;
|
|
329
|
+
}
|
|
292
330
|
static async fromFactory(contracts, options = {}) {
|
|
293
331
|
const clarityBin = options.clarityBin || await createClarityBin({
|
|
294
332
|
allocations: options.accounts
|
|
@@ -400,5 +438,6 @@ export {
|
|
|
400
438
|
getStxBalance,
|
|
401
439
|
makeRandomAddress,
|
|
402
440
|
mineBlocks,
|
|
403
|
-
setupCoverage
|
|
441
|
+
setupCoverage,
|
|
442
|
+
testFactory
|
|
404
443
|
};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.0.0-next.
|
|
2
|
+
"version": "1.0.0-next.26",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"types": "./dist/index.d.ts",
|
|
5
5
|
"main": "./dist/index.js",
|
|
@@ -16,12 +16,11 @@
|
|
|
16
16
|
"name": "@clarigen/test",
|
|
17
17
|
"author": "Hank Stoever",
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"jest-environment-node": "28.1.1"
|
|
20
|
-
"@clarigen/cli": "1.0.0-next.25"
|
|
19
|
+
"jest-environment-node": "28.1.1"
|
|
21
20
|
},
|
|
22
21
|
"dependencies": {
|
|
23
|
-
"@clarigen/core": "1.0.0-next.
|
|
24
|
-
"@clarigen/native-bin": "1.0.0-next.
|
|
22
|
+
"@clarigen/core": "1.0.0-next.29",
|
|
23
|
+
"@clarigen/native-bin": "1.0.0-next.26",
|
|
25
24
|
"micro-stacks": "^0.5.2"
|
|
26
25
|
},
|
|
27
26
|
"publishConfig": {
|
|
@@ -34,7 +33,7 @@
|
|
|
34
33
|
"test": "pnpm build-test-types && jest",
|
|
35
34
|
"lint": "eslint \"src/**/*.{ts,tsx}\" && prettier --check src/**/*.ts",
|
|
36
35
|
"typecheck": "tsc --noEmit",
|
|
37
|
-
"build-test-types": "
|
|
36
|
+
"build-test-types": "sh build-types.sh",
|
|
38
37
|
"publish:dev": "pnpm build && yalc publish --push"
|
|
39
38
|
}
|
|
40
39
|
}
|