@clarigen/test 1.0.0-next.21 → 1.0.0-next.25
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 +12 -9
- package/dist/index.js +17 -5
- package/dist/index.mjs +18 -6
- package/package.json +7 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CoreNodeEvent, ResultAssets, Contracts, ContractFactory, AllContracts, ContractCall, Response, ContractCalls, ContractInstances } from '@clarigen/core';
|
|
1
|
+
import { CoreNodeEvent, ResultAssets, Contracts, ContractFactory, AllContracts, ContractCall, Response, ContractCalls, ContractInstances, ResponseOk, ResponseErr } from '@clarigen/core';
|
|
2
2
|
import { Costs, 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';
|
|
@@ -29,7 +29,7 @@ interface PublicResultOk<T> extends PublicResultBase<T> {
|
|
|
29
29
|
assets: ResultAssets;
|
|
30
30
|
prints: any[];
|
|
31
31
|
}
|
|
32
|
-
declare type PublicResult<
|
|
32
|
+
declare type PublicResult<R> = PublicResultOk<R> | PublicResultErr<R>;
|
|
33
33
|
|
|
34
34
|
declare type Provider = NativeClarityBinProvider | {
|
|
35
35
|
clarityBin: NativeClarityBinProvider;
|
|
@@ -47,11 +47,14 @@ interface FromContractsOptions {
|
|
|
47
47
|
accounts?: ClarinetAccounts;
|
|
48
48
|
clarityBin?: NativeClarityBinProvider;
|
|
49
49
|
coverageFolder?: string;
|
|
50
|
+
clarinetPath?: string;
|
|
50
51
|
}
|
|
51
52
|
interface FromContracts<T extends Contracts<any>> {
|
|
52
53
|
deployed: ContractInstances<T>;
|
|
53
54
|
provider: TestProvider;
|
|
54
55
|
}
|
|
56
|
+
declare type OkType<T> = T extends ResponseOk<infer Ok, unknown> ? Ok : never;
|
|
57
|
+
declare type ErrType<T> = T extends ResponseErr<unknown, infer Err> ? Err : never;
|
|
55
58
|
declare class TestProvider {
|
|
56
59
|
clarityBin: NativeClarityBinProvider;
|
|
57
60
|
coverageFolder?: string;
|
|
@@ -60,13 +63,13 @@ declare class TestProvider {
|
|
|
60
63
|
static fromFactory(contracts: ContractFactory<AllContracts>, options?: FromContractsOptions): Promise<TestProvider>;
|
|
61
64
|
ro<T>(tx: ContractCall<T>): Promise<ReadOnlyResult<T>>;
|
|
62
65
|
rov<T>(tx: ContractCall<T>): Promise<T>;
|
|
63
|
-
roOk<
|
|
64
|
-
roErr<
|
|
65
|
-
rovOk<
|
|
66
|
-
rovErr<
|
|
67
|
-
tx<
|
|
68
|
-
txOk<
|
|
69
|
-
txErr<
|
|
66
|
+
roOk<R extends Response<unknown, unknown>>(tx: ContractCall<R>): Promise<ReadOnlyResult<OkType<R>>>;
|
|
67
|
+
roErr<R extends Response<unknown, unknown>>(tx: ContractCall<R>): Promise<ReadOnlyResult<ErrType<R>>>;
|
|
68
|
+
rovOk<R extends Response<unknown, unknown>>(tx: ContractCall<R>): Promise<OkType<R>>;
|
|
69
|
+
rovErr<R extends Response<unknown, unknown>>(tx: ContractCall<R>): Promise<ErrType<R>>;
|
|
70
|
+
tx<R extends Response<unknown, unknown>>(tx: ContractCall<R>, senderAddress: string): Promise<PublicResult<R>>;
|
|
71
|
+
txOk<R extends Response<unknown, unknown>>(tx: ContractCall<R>, senderAddress: string): Promise<PublicResultOk<OkType<R>>>;
|
|
72
|
+
txErr<R extends Response<unknown, unknown>>(tx: ContractCall<R>, senderAddress: string): Promise<PublicResultErr<ErrType<R>>>;
|
|
70
73
|
evalCode<T>(code: string, contractAddress?: string): Promise<ReadOnlyResult<T>>;
|
|
71
74
|
eval<T>(code: string, contractAddress?: string): Promise<T>;
|
|
72
75
|
mapGet<T extends ContractCalls.Map<any, Val>, Val>(map: T): Promise<Val | null>;
|
package/dist/index.js
CHANGED
|
@@ -141,6 +141,8 @@ function makeRandomAddress(version = _crypto.StacksNetworkVersion.testnetP2PKH)
|
|
|
141
141
|
|
|
142
142
|
|
|
143
143
|
|
|
144
|
+
|
|
145
|
+
|
|
144
146
|
function getPrints(events) {
|
|
145
147
|
return _core.filterEvents.call(void 0, events, _core.CoreNodeEventType.ContractEvent).map((e) => {
|
|
146
148
|
const hex = e.contract_event.raw_value;
|
|
@@ -213,10 +215,11 @@ async function tx({
|
|
|
213
215
|
});
|
|
214
216
|
const resultCV = _clarity.hexToCV.call(void 0, result.output_serialized);
|
|
215
217
|
const value = _core.cvToValue.call(void 0, resultCV);
|
|
218
|
+
const resp = result.success ? _core.ok.call(void 0, value) : _core.err.call(void 0, value);
|
|
216
219
|
const baseReturn = {
|
|
217
|
-
value,
|
|
218
220
|
logs: getLogs(result.stderr),
|
|
219
|
-
costs: result.costs
|
|
221
|
+
costs: result.costs,
|
|
222
|
+
value: resp
|
|
220
223
|
};
|
|
221
224
|
if (result.success) {
|
|
222
225
|
return __spreadProps(__spreadValues({}, baseReturn), {
|
|
@@ -298,7 +301,10 @@ var TestProvider = class {
|
|
|
298
301
|
for (const k in contracts) {
|
|
299
302
|
if (Object.prototype.hasOwnProperty.call(contracts, k)) {
|
|
300
303
|
const contract = contracts[k];
|
|
301
|
-
|
|
304
|
+
let contractFilePath = contract.contractFile;
|
|
305
|
+
if (options.clarinetPath) {
|
|
306
|
+
contractFilePath = _path.resolve.call(void 0, process.cwd(), options.clarinetPath, contractFilePath);
|
|
307
|
+
}
|
|
302
308
|
if (typeof contractFilePath === "undefined") {
|
|
303
309
|
throw new Error("Cannot setup @clarigen/test - missing contract file.");
|
|
304
310
|
}
|
|
@@ -351,15 +357,21 @@ var TestProvider = class {
|
|
|
351
357
|
}
|
|
352
358
|
async txOk(tx2, senderAddress) {
|
|
353
359
|
const result = await this.tx(tx2, senderAddress);
|
|
360
|
+
const value = _core.expectOk.call(void 0, result.value);
|
|
354
361
|
if (!result.isOk)
|
|
355
362
|
throw new Error(`Expected OK, received error: ${String(result.value)}`);
|
|
356
|
-
return result
|
|
363
|
+
return __spreadProps(__spreadValues({}, result), {
|
|
364
|
+
value
|
|
365
|
+
});
|
|
357
366
|
}
|
|
358
367
|
async txErr(tx2, senderAddress) {
|
|
359
368
|
const result = await this.tx(tx2, senderAddress);
|
|
369
|
+
const value = _core.expectErr.call(void 0, result.value);
|
|
360
370
|
if (result.isOk)
|
|
361
371
|
throw new Error(`Expected Err, received ok: ${String(result.value)}`);
|
|
362
|
-
return result
|
|
372
|
+
return __spreadProps(__spreadValues({}, result), {
|
|
373
|
+
value
|
|
374
|
+
});
|
|
363
375
|
}
|
|
364
376
|
evalCode(code, contractAddress = UTIL_CONTRACT_ID) {
|
|
365
377
|
return evalCode({
|
package/dist/index.mjs
CHANGED
|
@@ -129,7 +129,9 @@ import {
|
|
|
129
129
|
cvToString,
|
|
130
130
|
cvToValue as cvToValue2,
|
|
131
131
|
filterEvents,
|
|
132
|
-
CoreNodeEventType
|
|
132
|
+
CoreNodeEventType,
|
|
133
|
+
ok,
|
|
134
|
+
err
|
|
133
135
|
} from "@clarigen/core";
|
|
134
136
|
import {
|
|
135
137
|
evalRaw,
|
|
@@ -213,10 +215,11 @@ async function tx({
|
|
|
213
215
|
});
|
|
214
216
|
const resultCV = hexToCV2(result.output_serialized);
|
|
215
217
|
const value = cvToValue2(resultCV);
|
|
218
|
+
const resp = result.success ? ok(value) : err(value);
|
|
216
219
|
const baseReturn = {
|
|
217
|
-
value,
|
|
218
220
|
logs: getLogs(result.stderr),
|
|
219
|
-
costs: result.costs
|
|
221
|
+
costs: result.costs,
|
|
222
|
+
value: resp
|
|
220
223
|
};
|
|
221
224
|
if (result.success) {
|
|
222
225
|
return __spreadProps(__spreadValues({}, baseReturn), {
|
|
@@ -298,7 +301,10 @@ var TestProvider = class {
|
|
|
298
301
|
for (const k in contracts) {
|
|
299
302
|
if (Object.prototype.hasOwnProperty.call(contracts, k)) {
|
|
300
303
|
const contract = contracts[k];
|
|
301
|
-
|
|
304
|
+
let contractFilePath = contract.contractFile;
|
|
305
|
+
if (options.clarinetPath) {
|
|
306
|
+
contractFilePath = resolve2(process.cwd(), options.clarinetPath, contractFilePath);
|
|
307
|
+
}
|
|
302
308
|
if (typeof contractFilePath === "undefined") {
|
|
303
309
|
throw new Error("Cannot setup @clarigen/test - missing contract file.");
|
|
304
310
|
}
|
|
@@ -351,15 +357,21 @@ var TestProvider = class {
|
|
|
351
357
|
}
|
|
352
358
|
async txOk(tx2, senderAddress) {
|
|
353
359
|
const result = await this.tx(tx2, senderAddress);
|
|
360
|
+
const value = expectOk(result.value);
|
|
354
361
|
if (!result.isOk)
|
|
355
362
|
throw new Error(`Expected OK, received error: ${String(result.value)}`);
|
|
356
|
-
return result
|
|
363
|
+
return __spreadProps(__spreadValues({}, result), {
|
|
364
|
+
value
|
|
365
|
+
});
|
|
357
366
|
}
|
|
358
367
|
async txErr(tx2, senderAddress) {
|
|
359
368
|
const result = await this.tx(tx2, senderAddress);
|
|
369
|
+
const value = expectErr(result.value);
|
|
360
370
|
if (result.isOk)
|
|
361
371
|
throw new Error(`Expected Err, received ok: ${String(result.value)}`);
|
|
362
|
-
return result
|
|
372
|
+
return __spreadProps(__spreadValues({}, result), {
|
|
373
|
+
value
|
|
374
|
+
});
|
|
363
375
|
}
|
|
364
376
|
evalCode(code, contractAddress = UTIL_CONTRACT_ID) {
|
|
365
377
|
return evalCode({
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.0.0-next.
|
|
2
|
+
"version": "1.0.0-next.25",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"types": "./dist/index.d.ts",
|
|
5
5
|
"main": "./dist/index.js",
|
|
@@ -16,12 +16,13 @@
|
|
|
16
16
|
"name": "@clarigen/test",
|
|
17
17
|
"author": "Hank Stoever",
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"jest-environment-node": "28.1.1"
|
|
19
|
+
"jest-environment-node": "28.1.1",
|
|
20
|
+
"@clarigen/cli": "1.0.0-next.25"
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
|
-
"@clarigen/core": "1.0.0-next.
|
|
23
|
-
"@clarigen/native-bin": "1.0.0-next.
|
|
24
|
-
"micro-stacks": "^0.2
|
|
23
|
+
"@clarigen/core": "1.0.0-next.25",
|
|
24
|
+
"@clarigen/native-bin": "1.0.0-next.25",
|
|
25
|
+
"micro-stacks": "^0.5.2"
|
|
25
26
|
},
|
|
26
27
|
"publishConfig": {
|
|
27
28
|
"access": "public"
|
|
@@ -34,6 +35,6 @@
|
|
|
34
35
|
"lint": "eslint \"src/**/*.{ts,tsx}\" && prettier --check src/**/*.ts",
|
|
35
36
|
"typecheck": "tsc --noEmit",
|
|
36
37
|
"build-test-types": "cd test/clarinet-project && pnpm clarigen && cd ../..",
|
|
37
|
-
"publish:dev": "yalc publish --push"
|
|
38
|
+
"publish:dev": "pnpm build && yalc publish --push"
|
|
38
39
|
}
|
|
39
40
|
}
|