@clarigen/test 1.0.16-alpha.2 → 1.0.16-alpha.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/index.d.ts +16 -9
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { SmartContractEvent as SmartContractEvent$1, StxTransferEvent as StxTransferEvent$1, StxBurnEvent as StxBurnEvent$1, StxLockEvent as StxLockEvent$1, StxMintEvent as StxMintEvent$1, FtBurnEvent as FtBurnEvent$1, FtMintEvent as FtMintEvent$1, FtTransferEvent as FtTransferEvent$1, NftBurnEvent as NftBurnEvent$1, NftMintEvent as NftMintEvent$1, NftTransferEvent as NftTransferEvent$1, CoreNodeEventType, UnknownArgs, ContractCallTyped, OkType, ErrType, TypedAbiMap, TypedAbiVariable } from '@clarigen/core';
|
|
1
|
+
import { SmartContractEvent as SmartContractEvent$1, StxTransferEvent as StxTransferEvent$1, StxBurnEvent as StxBurnEvent$1, StxLockEvent as StxLockEvent$1, StxMintEvent as StxMintEvent$1, FtBurnEvent as FtBurnEvent$1, FtMintEvent as FtMintEvent$1, FtTransferEvent as FtTransferEvent$1, NftBurnEvent as NftBurnEvent$1, NftMintEvent as NftMintEvent$1, NftTransferEvent as NftTransferEvent$1, CoreNodeEventType, Response, UnknownArgs, ContractCallTyped, OkType, ErrType, TypedAbiMap, TypedAbiVariable } from '@clarigen/core';
|
|
2
2
|
import { Simnet, ParsedTransactionResult } from '@hirosystems/clarinet-sdk';
|
|
3
|
+
import { ClarityValue as ClarityValue$1 } from '@stacks/transactions';
|
|
4
|
+
import { ClarityValue } from 'micro-stacks/clarity';
|
|
3
5
|
|
|
4
6
|
type SmartContractEvent = {
|
|
5
7
|
event: SmartContractEvent$1['type'];
|
|
@@ -58,6 +60,10 @@ declare function filterEvents(events: CoreNodeEvent[], type: CoreNodeEventType.F
|
|
|
58
60
|
declare function filterEvents(events: CoreNodeEvent[], type: CoreNodeEventType.FtMintEvent): FtMintEvent[];
|
|
59
61
|
declare function filterEvents(events: CoreNodeEvent[], type: CoreNodeEventType.FtBurnEvent): FtBurnEvent[];
|
|
60
62
|
|
|
63
|
+
declare function cvConvertMS(value: ClarityValue): ClarityValue$1;
|
|
64
|
+
declare function cvConvertHiro(value: ClarityValue$1): ClarityValue;
|
|
65
|
+
declare function validateResponse<T>(result: ClarityValue$1, expectOk?: boolean): T;
|
|
66
|
+
|
|
61
67
|
declare global {
|
|
62
68
|
let simnet: Simnet;
|
|
63
69
|
}
|
|
@@ -65,15 +71,16 @@ type TransactionResult<R> = Omit<ParsedTransactionResult, 'events'> & {
|
|
|
65
71
|
value: R;
|
|
66
72
|
events: CoreNodeEvent[];
|
|
67
73
|
};
|
|
68
|
-
|
|
69
|
-
declare function
|
|
70
|
-
declare function
|
|
74
|
+
type AnyResponse = Response<unknown, unknown>;
|
|
75
|
+
declare function txOk<A extends UnknownArgs, R extends AnyResponse>(tx: ContractCallTyped<A, R>, sender: string): TransactionResult<OkType<R>>;
|
|
76
|
+
declare function txErr<A extends UnknownArgs, R extends AnyResponse>(tx: ContractCallTyped<A, R>, sender: string): TransactionResult<ErrType<R>>;
|
|
77
|
+
declare function tx<A extends UnknownArgs, R extends AnyResponse>(tx: ContractCallTyped<A, R>, sender: string): TransactionResult<R>;
|
|
71
78
|
declare function ro<A extends UnknownArgs, R>(tx: ContractCallTyped<A, R>, sender?: string): TransactionResult<R>;
|
|
72
79
|
declare function rov<A extends UnknownArgs, R>(tx: ContractCallTyped<A, R>, sender?: string): R;
|
|
73
|
-
declare function roOk<A extends UnknownArgs, R>(tx: ContractCallTyped<A, R>, sender?: string): TransactionResult<OkType<R>>;
|
|
74
|
-
declare function rovOk<A extends UnknownArgs, R>(tx: ContractCallTyped<A, R>, sender?: string): OkType<R>;
|
|
75
|
-
declare function roErr<A extends UnknownArgs, R>(tx: ContractCallTyped<A, R>, sender?: string): TransactionResult<ErrType<R>>;
|
|
76
|
-
declare function rovErr<A extends UnknownArgs, R>(tx: ContractCallTyped<A, R>, sender?: string): ErrType<R>;
|
|
80
|
+
declare function roOk<A extends UnknownArgs, R extends AnyResponse>(tx: ContractCallTyped<A, R>, sender?: string): TransactionResult<OkType<R>>;
|
|
81
|
+
declare function rovOk<A extends UnknownArgs, R extends AnyResponse>(tx: ContractCallTyped<A, R>, sender?: string): OkType<R>;
|
|
82
|
+
declare function roErr<A extends UnknownArgs, R extends AnyResponse>(tx: ContractCallTyped<A, R>, sender?: string): TransactionResult<ErrType<R>>;
|
|
83
|
+
declare function rovErr<A extends UnknownArgs, R extends AnyResponse>(tx: ContractCallTyped<A, R>, sender?: string): ErrType<R>;
|
|
77
84
|
declare function mapGet<Key, Val>(contractId: string, map: TypedAbiMap<Key, Val>, key: Key): Val | null;
|
|
78
85
|
declare function varGet<T>(contractId: string, variable: TypedAbiVariable<T>): T;
|
|
79
86
|
declare const chain: {
|
|
@@ -89,4 +96,4 @@ declare const chain: {
|
|
|
89
96
|
};
|
|
90
97
|
declare function makeNewSession(cwd?: string, manifestPath?: string): Promise<void>;
|
|
91
98
|
|
|
92
|
-
export { CoreNodeEvent, FtBurnEvent, FtMintEvent, FtTransferEvent, NftBurnEvent, NftMintEvent, NftTransferEvent, SmartContractEvent, StxBurnEvent, StxLockEvent, StxMintEvent, StxTransferEvent, TransactionResult, chain, filterEvents, makeNewSession, mapGet, ro, roErr, roOk, rov, rovErr, rovOk, tx, txErr, txOk, varGet };
|
|
99
|
+
export { AnyResponse, CoreNodeEvent, FtBurnEvent, FtMintEvent, FtTransferEvent, NftBurnEvent, NftMintEvent, NftTransferEvent, SmartContractEvent, StxBurnEvent, StxLockEvent, StxMintEvent, StxTransferEvent, TransactionResult, chain, cvConvertHiro, cvConvertMS, filterEvents, makeNewSession, mapGet, ro, roErr, roOk, rov, rovErr, rovOk, tx, txErr, txOk, validateResponse, varGet };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var T=Object.defineProperty,x=Object.defineProperties;var m=Object.getOwnPropertyDescriptors;var E=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable;var u=(e,t,n)=>t in e?T(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,i=(e,t)=>{for(var n in t||(t={}))N.call(t,n)&&u(e,n,t[n]);if(E)for(var n of E(t))R.call(t,n)&&u(e,n,t[n]);return e},v=(e,t)=>x(e,m(t));var _core = require('@clarigen/core');var _transactions = require('@stacks/transactions');var _clarity = require('micro-stacks/clarity');function a(e){return _transactions.deserializeCV.call(void 0, _clarity.serializeCV.call(void 0, e))}function p(e){return _clarity.deserializeCV.call(void 0, _transactions.serializeCV.call(void 0, e))}function c(e,t){let n=_core.cvToValue.call(void 0, p(e),!0);if(!_core.isResponse.call(void 0, n)&&typeof t<"u")throw new Error("Expected response when calling function, but not a response. Try using just `rov`");if(_core.isResponse.call(void 0, n)&&typeof t<"u"){let o=n,r=o.value;if(t&&!o.isOk)throw new Error(`Tx result failed. Expected OK, received ERR ${String(r)}.`);if(t===!1&&o.isOk)throw new Error(`Tx result failed. Expected ERR, received OK ${String(r)}.`);return r}return n}function J(e,t){return e.filter(n=>n.event===t)}function F(e,t){let n=e.functionArgs.map(a),o=`${e.contractAddress}.${e.contractName}`,r=simnet.callPublicFn(o,e.function.name,n,t),s=c(r.result,!0);return v(i({},r),{events:r.events,value:s})}function V(e,t){let n=e.functionArgs.map(a),o=`${e.contractAddress}.${e.contractName}`,r=simnet.callPublicFn(o,e.function.name,n,t),s=c(r.result,!1);return v(i({},r),{events:r.events,value:s})}function w(e,t){let n=e.functionArgs.map(a),o=`${e.contractAddress}.${e.contractName}`,r=simnet.callPublicFn(o,e.function.name,n,t),s=c(r.result);return v(i({},r),{events:r.events,value:s})}function d(e,t){let n=e.functionArgs.map(a),o=`${e.contractAddress}.${e.contractName}`,r=simnet.callReadOnlyFn(o,e.function.name,n,_nullishCoalesce(t, () => (e.contractAddress))),s=c(r.result);return v(i({},r),{events:r.events,value:s})}function B(e,t){return d(e,t).value}function y(e,t){let n=e.functionArgs.map(a),o=`${e.contractAddress}.${e.contractName}`,r=simnet.callReadOnlyFn(o,e.function.name,n,_nullishCoalesce(t, () => (e.contractAddress))),s=c(r.result,!0);return v(i({},r),{events:r.events,value:s})}function b(e,t){return y(e,t).value}function C(e,t){let n=e.functionArgs.map(a),o=`${e.contractAddress}.${e.contractName}`,r=simnet.callReadOnlyFn(o,e.function.name,n,_nullishCoalesce(t, () => (e.contractAddress))),s=c(r.result,!1);return v(i({},r),{events:r.events,value:s})}function O(e,t){return C(e,t).value}function ae(e,t,n){let o=_core.mapFactory.call(void 0, t,n),r=simnet.getMapEntry(e,o.map.name,a(o.keyCV));return _core.cvToValue.call(void 0, p(r))}function ie(e,t){let n=simnet.getDataVar(e,t.name);return _core.cvToValue.call(void 0, p(n))}var ve={txOk:F,txErr:V,tx:w,ro:d,roOk:y,roErr:C,rov:B,rovOk:b,rovErr:O};async function ce(e,t){await simnet.initSession(_nullishCoalesce(e, () => (process.cwd())),_nullishCoalesce(t, () => ("./Clarinet.toml")))}exports.chain = ve; exports.cvConvertHiro = p; exports.cvConvertMS = a; exports.filterEvents = J; exports.makeNewSession = ce; exports.mapGet = ae; exports.ro = d; exports.roErr = C; exports.roOk = y; exports.rov = B; exports.rovErr = O; exports.rovOk = b; exports.tx = w; exports.txErr = V; exports.txOk = F; exports.validateResponse = c; exports.varGet = ie;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/utils.ts","../src/events.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ContractCallTyped,\n ErrType,\n OkType,\n TypedAbiMap,\n TypedAbiVariable,\n UnknownArgs,\n cvToValue,\n mapFactory,\n rawClarityToValue,\n} from '@clarigen/core';\nimport { Simnet, ParsedTransactionResult } from '@hirosystems/clarinet-sdk';\nimport { cvConvertHiro, cvConvertMS, validateResponse } from './utils';\nimport { CoreNodeEvent } from './events';\nimport { ClarityType } from '@stacks/transactions';\nexport * from './events';\n\ndeclare global {\n let simnet: Simnet;\n}\n\nexport type TransactionResult<R> = Omit<ParsedTransactionResult, 'events'> & {\n value: R;\n events: CoreNodeEvent[];\n};\n\nexport function txOk<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender: string\n): TransactionResult<OkType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callPublicFn(contractId, tx.function.name, args, sender);\n const value = validateResponse<OkType<R>>(receipt.result, true);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n}\n\nexport function txErr<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender: string\n): TransactionResult<ErrType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callPublicFn(contractId, tx.function.name, args, sender);\n const value = validateResponse<ErrType<R>>(receipt.result, false);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n}\n\nexport function tx<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender: string\n): TransactionResult<R> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callPublicFn(contractId, tx.function.name, args, sender);\n const value = validateResponse<R>(receipt.result);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n}\n\nexport function ro<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): TransactionResult<R> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callReadOnlyFn(\n contractId,\n tx.function.name,\n args,\n sender ?? tx.contractAddress\n );\n const value = validateResponse<R>(receipt.result);\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n\n // return value;\n}\n\nexport function rov<A extends UnknownArgs, R>(tx: ContractCallTyped<A, R>, sender?: string): R {\n return ro(tx, sender).value;\n}\n\nexport function roOk<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): TransactionResult<OkType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callReadOnlyFn(\n contractId,\n tx.function.name,\n args,\n sender ?? tx.contractAddress\n );\n const value = validateResponse<OkType<R>>(receipt.result, true);\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n\n // return value;\n}\n\nexport function rovOk<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): OkType<R> {\n return roOk(tx, sender).value;\n}\n\nexport function roErr<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): TransactionResult<ErrType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callReadOnlyFn(\n contractId,\n tx.function.name,\n args,\n sender ?? tx.contractAddress\n );\n const value = validateResponse<ErrType<R>>(receipt.result, false);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n\n // return value;\n}\n\nexport function rovErr<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): ErrType<R> {\n return roErr(tx, sender).value;\n}\n\nexport function mapGet<Key, Val>(contractId: string, map: TypedAbiMap<Key, Val>, key: Key) {\n const payload = mapFactory(map, key);\n const result = simnet.getMapEntry(contractId, payload.map.name, cvConvertMS(payload.keyCV));\n return cvToValue<Val | null>(cvConvertHiro(result));\n}\n\nexport function varGet<T>(contractId: string, variable: TypedAbiVariable<T>) {\n const result = simnet.getDataVar(contractId, variable.name);\n return cvToValue<T>(cvConvertHiro(result));\n}\n\n// Helper export for previous Deno-based tests\nexport const chain = {\n txOk,\n txErr,\n tx,\n ro,\n roOk,\n roErr,\n rov,\n rovOk,\n rovErr,\n};\n\nexport async function makeNewSession(cwd?: string, manifestPath?: string) {\n await simnet.initSession(cwd ?? process.cwd(), manifestPath ?? './Clarinet.toml');\n}\n","import { Response, cvToValue } from '@clarigen/core';\nimport {\n ClarityValue as HiroClarityValue,\n deserializeCV as deserializeCVHiro,\n serializeCV as serializeCVHiro,\n StandardPrincipalCV as HiroPrincipalCV,\n} from '@stacks/transactions';\nimport {\n ClarityValue as MSClarityValue,\n StandardPrincipalCV as MSPrincipalCV,\n serializeCV as serializeCVMS,\n deserializeCV as deserializeCVMS,\n ClarityAbiFunction,\n Address,\n ClarityType,\n} from 'micro-stacks/clarity';\n\nexport function cvConvertMS(value: MSClarityValue): HiroClarityValue {\n return deserializeCVHiro(serializeCVMS(value));\n}\n\nexport function cvConvertHiro(value: HiroClarityValue): MSClarityValue {\n return deserializeCVMS(serializeCVHiro(value));\n}\n\nexport function validateResponse<T>(result: HiroClarityValue, expectOk?: boolean): T {\n const value = cvToValue(cvConvertHiro(result), true);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n if (!value.hasOwnProperty('isOk') && typeof expectOk !== 'undefined') {\n throw new Error(\n `Expected response when calling function, but not a response. Try using just \\`tx\\` or \\`rov\\``\n );\n }\n if (typeof expectOk !== 'undefined' && 'isOk' in value) {\n const response = value as Response<unknown, unknown>;\n const inner = response.value;\n if (expectOk && !response.isOk) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw new Error(`Tx result failed. Expected OK, received ERR ${inner}.`);\n }\n if (expectOk === false && response.isOk) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw new Error(`Tx result failed. Expected ERR, received OK ${inner}.`);\n }\n return inner as T;\n }\n return value as T;\n}\n","import {\n CoreNodeEventType,\n SmartContractEvent as _SmartContractEvent,\n StxTransferEvent as _StxTransferEvent,\n StxBurnEvent as _StxBurnEvent,\n StxMintEvent as _StxMintEvent,\n StxLockEvent as _StxLockEvent,\n FtBurnEvent as _FtBurnEvent,\n FtMintEvent as _FtMintEvent,\n FtTransferEvent as _FtTransferEvent,\n NftBurnEvent as _NftBurnEvent,\n NftMintEvent as _NftMintEvent,\n NftTransferEvent as _NftTransferEvent,\n} from '@clarigen/core';\n\nexport type SmartContractEvent = {\n event: _SmartContractEvent['type'];\n data: _SmartContractEvent['contract_event'];\n};\n\nexport type StxTransferEvent = {\n event: _StxTransferEvent['type'];\n data: _StxTransferEvent['stx_transfer_event'];\n};\n\nexport type StxBurnEvent = {\n event: _StxBurnEvent['type'];\n data: _StxBurnEvent['stx_burn_event'];\n};\n\nexport type StxLockEvent = {\n event: _StxLockEvent['type'];\n data: _StxLockEvent['stx_lock_event'];\n};\n\nexport type StxMintEvent = {\n event: _StxMintEvent['type'];\n data: _StxMintEvent['stx_mint_event'];\n};\n\nexport type FtBurnEvent = {\n event: _FtBurnEvent['type'];\n data: _FtBurnEvent['ft_burn_event'];\n};\n\nexport type FtMintEvent = {\n event: _FtMintEvent['type'];\n data: _FtMintEvent['ft_mint_event'];\n};\n\nexport type FtTransferEvent = {\n event: _FtTransferEvent['type'];\n data: _FtTransferEvent['ft_transfer_event'];\n};\n\nexport type NftBurnEvent = {\n event: _NftBurnEvent['type'];\n data: _NftBurnEvent['nft_burn_event'];\n};\n\nexport type NftMintEvent = {\n event: _NftMintEvent['type'];\n data: _NftMintEvent['nft_mint_event'];\n};\n\nexport type NftTransferEvent = {\n event: _NftTransferEvent['type'];\n data: _NftTransferEvent['nft_transfer_event'];\n};\n\nexport type CoreNodeEvent =\n | SmartContractEvent\n | StxTransferEvent\n | StxMintEvent\n | StxBurnEvent\n | StxLockEvent\n | FtTransferEvent\n | FtMintEvent\n | FtBurnEvent\n | NftTransferEvent\n | NftMintEvent\n | NftBurnEvent;\n\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.ContractEvent\n): SmartContractEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxTransferEvent\n): StxTransferEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxMintEvent\n): StxMintEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxBurnEvent\n): StxBurnEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxLockEvent\n): StxLockEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.NftTransferEvent\n): NftTransferEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.NftMintEvent\n): NftMintEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.NftBurnEvent\n): NftBurnEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.FtTransferEvent\n): FtTransferEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.FtMintEvent\n): FtMintEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.FtBurnEvent\n): FtBurnEvent[];\nexport function filterEvents(events: CoreNodeEvent[], type: CoreNodeEventType): CoreNodeEvent[] {\n return events.filter(event => event.event === type);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/utils.ts","../src/events.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ContractCallTyped,\n ErrType,\n OkType,\n TypedAbiMap,\n TypedAbiVariable,\n UnknownArgs,\n cvToValue,\n mapFactory,\n rawClarityToValue,\n Response,\n} from '@clarigen/core';\nimport { Simnet, ParsedTransactionResult } from '@hirosystems/clarinet-sdk';\nimport { cvConvertHiro, cvConvertMS, validateResponse } from './utils';\nimport { CoreNodeEvent } from './events';\nimport { ClarityType } from '@stacks/transactions';\nexport * from './events';\nexport * from './utils';\n\ndeclare global {\n let simnet: Simnet;\n}\n\nexport type TransactionResult<R> = Omit<ParsedTransactionResult, 'events'> & {\n value: R;\n events: CoreNodeEvent[];\n};\n\nexport type AnyResponse = Response<unknown, unknown>;\n\nexport function txOk<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender: string\n): TransactionResult<OkType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callPublicFn(contractId, tx.function.name, args, sender);\n const value = validateResponse<OkType<R>>(receipt.result, true);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n}\n\nexport function txErr<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender: string\n): TransactionResult<ErrType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callPublicFn(contractId, tx.function.name, args, sender);\n const value = validateResponse<ErrType<R>>(receipt.result, false);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n}\n\nexport function tx<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender: string\n): TransactionResult<R> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callPublicFn(contractId, tx.function.name, args, sender);\n const value = validateResponse<R>(receipt.result);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n}\n\nexport function ro<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): TransactionResult<R> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callReadOnlyFn(\n contractId,\n tx.function.name,\n args,\n sender ?? tx.contractAddress\n );\n const value = validateResponse<R>(receipt.result);\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n\n // return value;\n}\n\nexport function rov<A extends UnknownArgs, R>(tx: ContractCallTyped<A, R>, sender?: string): R {\n return ro(tx, sender).value;\n}\n\nexport function roOk<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): TransactionResult<OkType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callReadOnlyFn(\n contractId,\n tx.function.name,\n args,\n sender ?? tx.contractAddress\n );\n const value = validateResponse<OkType<R>>(receipt.result, true);\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n\n // return value;\n}\n\nexport function rovOk<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): OkType<R> {\n return roOk(tx, sender).value;\n}\n\nexport function roErr<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): TransactionResult<ErrType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callReadOnlyFn(\n contractId,\n tx.function.name,\n args,\n sender ?? tx.contractAddress\n );\n const value = validateResponse<ErrType<R>>(receipt.result, false);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n\n // return value;\n}\n\nexport function rovErr<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): ErrType<R> {\n return roErr(tx, sender).value;\n}\n\nexport function mapGet<Key, Val>(contractId: string, map: TypedAbiMap<Key, Val>, key: Key) {\n const payload = mapFactory(map, key);\n const result = simnet.getMapEntry(contractId, payload.map.name, cvConvertMS(payload.keyCV));\n return cvToValue<Val | null>(cvConvertHiro(result));\n}\n\nexport function varGet<T>(contractId: string, variable: TypedAbiVariable<T>) {\n const result = simnet.getDataVar(contractId, variable.name);\n return cvToValue<T>(cvConvertHiro(result));\n}\n\n// Helper export for previous Deno-based tests\nexport const chain = {\n txOk,\n txErr,\n tx,\n ro,\n roOk,\n roErr,\n rov,\n rovOk,\n rovErr,\n};\n\nexport async function makeNewSession(cwd?: string, manifestPath?: string) {\n await simnet.initSession(cwd ?? process.cwd(), manifestPath ?? './Clarinet.toml');\n}\n","import { Response, cvToValue, isResponse } from '@clarigen/core';\nimport {\n ClarityValue as HiroClarityValue,\n deserializeCV as deserializeCVHiro,\n serializeCV as serializeCVHiro,\n StandardPrincipalCV as HiroPrincipalCV,\n} from '@stacks/transactions';\nimport {\n ClarityValue as MSClarityValue,\n StandardPrincipalCV as MSPrincipalCV,\n serializeCV as serializeCVMS,\n deserializeCV as deserializeCVMS,\n ClarityAbiFunction,\n Address,\n ClarityType,\n} from 'micro-stacks/clarity';\n\nexport function cvConvertMS(value: MSClarityValue): HiroClarityValue {\n return deserializeCVHiro(serializeCVMS(value));\n}\n\nexport function cvConvertHiro(value: HiroClarityValue): MSClarityValue {\n return deserializeCVMS(serializeCVHiro(value));\n}\n\nexport function validateResponse<T>(result: HiroClarityValue, expectOk?: boolean): T {\n const value = cvToValue<Response<T, T> | T>(cvConvertHiro(result), true);\n\n if (!isResponse(value) && typeof expectOk !== 'undefined') {\n throw new Error(\n `Expected response when calling function, but not a response. Try using just \\`rov\\``\n );\n }\n\n if (isResponse(value) && typeof expectOk !== 'undefined') {\n const response = value;\n const inner = response.value;\n if (expectOk && !response.isOk) {\n throw new Error(`Tx result failed. Expected OK, received ERR ${String(inner)}.`);\n }\n if (expectOk === false && response.isOk) {\n throw new Error(`Tx result failed. Expected ERR, received OK ${String(inner)}.`);\n }\n return inner;\n }\n return value as T;\n}\n","import {\n CoreNodeEventType,\n SmartContractEvent as _SmartContractEvent,\n StxTransferEvent as _StxTransferEvent,\n StxBurnEvent as _StxBurnEvent,\n StxMintEvent as _StxMintEvent,\n StxLockEvent as _StxLockEvent,\n FtBurnEvent as _FtBurnEvent,\n FtMintEvent as _FtMintEvent,\n FtTransferEvent as _FtTransferEvent,\n NftBurnEvent as _NftBurnEvent,\n NftMintEvent as _NftMintEvent,\n NftTransferEvent as _NftTransferEvent,\n} from '@clarigen/core';\n\nexport type SmartContractEvent = {\n event: _SmartContractEvent['type'];\n data: _SmartContractEvent['contract_event'];\n};\n\nexport type StxTransferEvent = {\n event: _StxTransferEvent['type'];\n data: _StxTransferEvent['stx_transfer_event'];\n};\n\nexport type StxBurnEvent = {\n event: _StxBurnEvent['type'];\n data: _StxBurnEvent['stx_burn_event'];\n};\n\nexport type StxLockEvent = {\n event: _StxLockEvent['type'];\n data: _StxLockEvent['stx_lock_event'];\n};\n\nexport type StxMintEvent = {\n event: _StxMintEvent['type'];\n data: _StxMintEvent['stx_mint_event'];\n};\n\nexport type FtBurnEvent = {\n event: _FtBurnEvent['type'];\n data: _FtBurnEvent['ft_burn_event'];\n};\n\nexport type FtMintEvent = {\n event: _FtMintEvent['type'];\n data: _FtMintEvent['ft_mint_event'];\n};\n\nexport type FtTransferEvent = {\n event: _FtTransferEvent['type'];\n data: _FtTransferEvent['ft_transfer_event'];\n};\n\nexport type NftBurnEvent = {\n event: _NftBurnEvent['type'];\n data: _NftBurnEvent['nft_burn_event'];\n};\n\nexport type NftMintEvent = {\n event: _NftMintEvent['type'];\n data: _NftMintEvent['nft_mint_event'];\n};\n\nexport type NftTransferEvent = {\n event: _NftTransferEvent['type'];\n data: _NftTransferEvent['nft_transfer_event'];\n};\n\nexport type CoreNodeEvent =\n | SmartContractEvent\n | StxTransferEvent\n | StxMintEvent\n | StxBurnEvent\n | StxLockEvent\n | FtTransferEvent\n | FtMintEvent\n | FtBurnEvent\n | NftTransferEvent\n | NftMintEvent\n | NftBurnEvent;\n\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.ContractEvent\n): SmartContractEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxTransferEvent\n): StxTransferEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxMintEvent\n): StxMintEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxBurnEvent\n): StxBurnEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxLockEvent\n): StxLockEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.NftTransferEvent\n): NftTransferEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.NftMintEvent\n): NftMintEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.NftBurnEvent\n): NftBurnEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.FtTransferEvent\n): FtTransferEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.FtMintEvent\n): FtMintEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.FtBurnEvent\n): FtBurnEvent[];\nexport function filterEvents(events: CoreNodeEvent[], type: CoreNodeEventType): CoreNodeEvent[] {\n return events.filter(event => event.event === type);\n}\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
var T=Object.defineProperty,x=Object.defineProperties;var m=Object.getOwnPropertyDescriptors;var E=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable;var u=(e,t,n)=>t in e?T(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,i=(e,t)=>{for(var n in t||(t={}))N.call(t,n)&&u(e,n,t[n]);if(E)for(var n of E(t))R.call(t,n)&&u(e,n,t[n]);return e},v=(e,t)=>x(e,m(t));import{cvToValue as f,mapFactory as M}from"@clarigen/core";import{cvToValue as A,isResponse as l}from"@clarigen/core";import{deserializeCV as S,serializeCV as _}from"@stacks/transactions";import{serializeCV as g,deserializeCV as k}from"micro-stacks/clarity";function a(e){return S(g(e))}function p(e){return k(_(e))}function c(e,t){let n=A(p(e),!0);if(!l(n)&&typeof t<"u")throw new Error("Expected response when calling function, but not a response. Try using just `rov`");if(l(n)&&typeof t<"u"){let o=n,r=o.value;if(t&&!o.isOk)throw new Error(`Tx result failed. Expected OK, received ERR ${String(r)}.`);if(t===!1&&o.isOk)throw new Error(`Tx result failed. Expected ERR, received OK ${String(r)}.`);return r}return n}function J(e,t){return e.filter(n=>n.event===t)}function F(e,t){let n=e.functionArgs.map(a),o=`${e.contractAddress}.${e.contractName}`,r=simnet.callPublicFn(o,e.function.name,n,t),s=c(r.result,!0);return v(i({},r),{events:r.events,value:s})}function V(e,t){let n=e.functionArgs.map(a),o=`${e.contractAddress}.${e.contractName}`,r=simnet.callPublicFn(o,e.function.name,n,t),s=c(r.result,!1);return v(i({},r),{events:r.events,value:s})}function w(e,t){let n=e.functionArgs.map(a),o=`${e.contractAddress}.${e.contractName}`,r=simnet.callPublicFn(o,e.function.name,n,t),s=c(r.result);return v(i({},r),{events:r.events,value:s})}function d(e,t){let n=e.functionArgs.map(a),o=`${e.contractAddress}.${e.contractName}`,r=simnet.callReadOnlyFn(o,e.function.name,n,t??e.contractAddress),s=c(r.result);return v(i({},r),{events:r.events,value:s})}function B(e,t){return d(e,t).value}function y(e,t){let n=e.functionArgs.map(a),o=`${e.contractAddress}.${e.contractName}`,r=simnet.callReadOnlyFn(o,e.function.name,n,t??e.contractAddress),s=c(r.result,!0);return v(i({},r),{events:r.events,value:s})}function b(e,t){return y(e,t).value}function C(e,t){let n=e.functionArgs.map(a),o=`${e.contractAddress}.${e.contractName}`,r=simnet.callReadOnlyFn(o,e.function.name,n,t??e.contractAddress),s=c(r.result,!1);return v(i({},r),{events:r.events,value:s})}function O(e,t){return C(e,t).value}function ae(e,t,n){let o=M(t,n),r=simnet.getMapEntry(e,o.map.name,a(o.keyCV));return f(p(r))}function ie(e,t){let n=simnet.getDataVar(e,t.name);return f(p(n))}var ve={txOk:F,txErr:V,tx:w,ro:d,roOk:y,roErr:C,rov:B,rovOk:b,rovErr:O};async function ce(e,t){await simnet.initSession(e??process.cwd(),t??"./Clarinet.toml")}export{ve as chain,p as cvConvertHiro,a as cvConvertMS,J as filterEvents,ce as makeNewSession,ae as mapGet,d as ro,C as roErr,y as roOk,B as rov,O as rovErr,b as rovOk,w as tx,V as txErr,F as txOk,c as validateResponse,ie as varGet};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/utils.ts","../src/events.ts"],"sourcesContent":["import {\n ContractCallTyped,\n ErrType,\n OkType,\n TypedAbiMap,\n TypedAbiVariable,\n UnknownArgs,\n cvToValue,\n mapFactory,\n rawClarityToValue,\n} from '@clarigen/core';\nimport { Simnet, ParsedTransactionResult } from '@hirosystems/clarinet-sdk';\nimport { cvConvertHiro, cvConvertMS, validateResponse } from './utils';\nimport { CoreNodeEvent } from './events';\nimport { ClarityType } from '@stacks/transactions';\nexport * from './events';\n\ndeclare global {\n let simnet: Simnet;\n}\n\nexport type TransactionResult<R> = Omit<ParsedTransactionResult, 'events'> & {\n value: R;\n events: CoreNodeEvent[];\n};\n\nexport function txOk<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender: string\n): TransactionResult<OkType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callPublicFn(contractId, tx.function.name, args, sender);\n const value = validateResponse<OkType<R>>(receipt.result, true);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n}\n\nexport function txErr<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender: string\n): TransactionResult<ErrType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callPublicFn(contractId, tx.function.name, args, sender);\n const value = validateResponse<ErrType<R>>(receipt.result, false);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n}\n\nexport function tx<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender: string\n): TransactionResult<R> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callPublicFn(contractId, tx.function.name, args, sender);\n const value = validateResponse<R>(receipt.result);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n}\n\nexport function ro<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): TransactionResult<R> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callReadOnlyFn(\n contractId,\n tx.function.name,\n args,\n sender ?? tx.contractAddress\n );\n const value = validateResponse<R>(receipt.result);\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n\n // return value;\n}\n\nexport function rov<A extends UnknownArgs, R>(tx: ContractCallTyped<A, R>, sender?: string): R {\n return ro(tx, sender).value;\n}\n\nexport function roOk<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): TransactionResult<OkType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callReadOnlyFn(\n contractId,\n tx.function.name,\n args,\n sender ?? tx.contractAddress\n );\n const value = validateResponse<OkType<R>>(receipt.result, true);\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n\n // return value;\n}\n\nexport function rovOk<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): OkType<R> {\n return roOk(tx, sender).value;\n}\n\nexport function roErr<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): TransactionResult<ErrType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callReadOnlyFn(\n contractId,\n tx.function.name,\n args,\n sender ?? tx.contractAddress\n );\n const value = validateResponse<ErrType<R>>(receipt.result, false);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n\n // return value;\n}\n\nexport function rovErr<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): ErrType<R> {\n return roErr(tx, sender).value;\n}\n\nexport function mapGet<Key, Val>(contractId: string, map: TypedAbiMap<Key, Val>, key: Key) {\n const payload = mapFactory(map, key);\n const result = simnet.getMapEntry(contractId, payload.map.name, cvConvertMS(payload.keyCV));\n return cvToValue<Val | null>(cvConvertHiro(result));\n}\n\nexport function varGet<T>(contractId: string, variable: TypedAbiVariable<T>) {\n const result = simnet.getDataVar(contractId, variable.name);\n return cvToValue<T>(cvConvertHiro(result));\n}\n\n// Helper export for previous Deno-based tests\nexport const chain = {\n txOk,\n txErr,\n tx,\n ro,\n roOk,\n roErr,\n rov,\n rovOk,\n rovErr,\n};\n\nexport async function makeNewSession(cwd?: string, manifestPath?: string) {\n await simnet.initSession(cwd ?? process.cwd(), manifestPath ?? './Clarinet.toml');\n}\n","import { Response, cvToValue } from '@clarigen/core';\nimport {\n ClarityValue as HiroClarityValue,\n deserializeCV as deserializeCVHiro,\n serializeCV as serializeCVHiro,\n StandardPrincipalCV as HiroPrincipalCV,\n} from '@stacks/transactions';\nimport {\n ClarityValue as MSClarityValue,\n StandardPrincipalCV as MSPrincipalCV,\n serializeCV as serializeCVMS,\n deserializeCV as deserializeCVMS,\n ClarityAbiFunction,\n Address,\n ClarityType,\n} from 'micro-stacks/clarity';\n\nexport function cvConvertMS(value: MSClarityValue): HiroClarityValue {\n return deserializeCVHiro(serializeCVMS(value));\n}\n\nexport function cvConvertHiro(value: HiroClarityValue): MSClarityValue {\n return deserializeCVMS(serializeCVHiro(value));\n}\n\nexport function validateResponse<T>(result: HiroClarityValue, expectOk?: boolean): T {\n const value = cvToValue(cvConvertHiro(result), true);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n if (!value.hasOwnProperty('isOk') && typeof expectOk !== 'undefined') {\n throw new Error(\n `Expected response when calling function, but not a response. Try using just \\`tx\\` or \\`rov\\``\n );\n }\n if (typeof expectOk !== 'undefined' && 'isOk' in value) {\n const response = value as Response<unknown, unknown>;\n const inner = response.value;\n if (expectOk && !response.isOk) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw new Error(`Tx result failed. Expected OK, received ERR ${inner}.`);\n }\n if (expectOk === false && response.isOk) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw new Error(`Tx result failed. Expected ERR, received OK ${inner}.`);\n }\n return inner as T;\n }\n return value as T;\n}\n","import {\n CoreNodeEventType,\n SmartContractEvent as _SmartContractEvent,\n StxTransferEvent as _StxTransferEvent,\n StxBurnEvent as _StxBurnEvent,\n StxMintEvent as _StxMintEvent,\n StxLockEvent as _StxLockEvent,\n FtBurnEvent as _FtBurnEvent,\n FtMintEvent as _FtMintEvent,\n FtTransferEvent as _FtTransferEvent,\n NftBurnEvent as _NftBurnEvent,\n NftMintEvent as _NftMintEvent,\n NftTransferEvent as _NftTransferEvent,\n} from '@clarigen/core';\n\nexport type SmartContractEvent = {\n event: _SmartContractEvent['type'];\n data: _SmartContractEvent['contract_event'];\n};\n\nexport type StxTransferEvent = {\n event: _StxTransferEvent['type'];\n data: _StxTransferEvent['stx_transfer_event'];\n};\n\nexport type StxBurnEvent = {\n event: _StxBurnEvent['type'];\n data: _StxBurnEvent['stx_burn_event'];\n};\n\nexport type StxLockEvent = {\n event: _StxLockEvent['type'];\n data: _StxLockEvent['stx_lock_event'];\n};\n\nexport type StxMintEvent = {\n event: _StxMintEvent['type'];\n data: _StxMintEvent['stx_mint_event'];\n};\n\nexport type FtBurnEvent = {\n event: _FtBurnEvent['type'];\n data: _FtBurnEvent['ft_burn_event'];\n};\n\nexport type FtMintEvent = {\n event: _FtMintEvent['type'];\n data: _FtMintEvent['ft_mint_event'];\n};\n\nexport type FtTransferEvent = {\n event: _FtTransferEvent['type'];\n data: _FtTransferEvent['ft_transfer_event'];\n};\n\nexport type NftBurnEvent = {\n event: _NftBurnEvent['type'];\n data: _NftBurnEvent['nft_burn_event'];\n};\n\nexport type NftMintEvent = {\n event: _NftMintEvent['type'];\n data: _NftMintEvent['nft_mint_event'];\n};\n\nexport type NftTransferEvent = {\n event: _NftTransferEvent['type'];\n data: _NftTransferEvent['nft_transfer_event'];\n};\n\nexport type CoreNodeEvent =\n | SmartContractEvent\n | StxTransferEvent\n | StxMintEvent\n | StxBurnEvent\n | StxLockEvent\n | FtTransferEvent\n | FtMintEvent\n | FtBurnEvent\n | NftTransferEvent\n | NftMintEvent\n | NftBurnEvent;\n\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.ContractEvent\n): SmartContractEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxTransferEvent\n): StxTransferEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxMintEvent\n): StxMintEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxBurnEvent\n): StxBurnEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxLockEvent\n): StxLockEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.NftTransferEvent\n): NftTransferEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.NftMintEvent\n): NftMintEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.NftBurnEvent\n): NftBurnEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.FtTransferEvent\n): FtTransferEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.FtMintEvent\n): FtMintEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.FtBurnEvent\n): FtBurnEvent[];\nexport function filterEvents(events: CoreNodeEvent[], type: CoreNodeEventType): CoreNodeEvent[] {\n return events.filter(event => event.event === type);\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/utils.ts","../src/events.ts"],"sourcesContent":["import {\n ContractCallTyped,\n ErrType,\n OkType,\n TypedAbiMap,\n TypedAbiVariable,\n UnknownArgs,\n cvToValue,\n mapFactory,\n rawClarityToValue,\n Response,\n} from '@clarigen/core';\nimport { Simnet, ParsedTransactionResult } from '@hirosystems/clarinet-sdk';\nimport { cvConvertHiro, cvConvertMS, validateResponse } from './utils';\nimport { CoreNodeEvent } from './events';\nimport { ClarityType } from '@stacks/transactions';\nexport * from './events';\nexport * from './utils';\n\ndeclare global {\n let simnet: Simnet;\n}\n\nexport type TransactionResult<R> = Omit<ParsedTransactionResult, 'events'> & {\n value: R;\n events: CoreNodeEvent[];\n};\n\nexport type AnyResponse = Response<unknown, unknown>;\n\nexport function txOk<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender: string\n): TransactionResult<OkType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callPublicFn(contractId, tx.function.name, args, sender);\n const value = validateResponse<OkType<R>>(receipt.result, true);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n}\n\nexport function txErr<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender: string\n): TransactionResult<ErrType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callPublicFn(contractId, tx.function.name, args, sender);\n const value = validateResponse<ErrType<R>>(receipt.result, false);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n}\n\nexport function tx<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender: string\n): TransactionResult<R> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callPublicFn(contractId, tx.function.name, args, sender);\n const value = validateResponse<R>(receipt.result);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n}\n\nexport function ro<A extends UnknownArgs, R>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): TransactionResult<R> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callReadOnlyFn(\n contractId,\n tx.function.name,\n args,\n sender ?? tx.contractAddress\n );\n const value = validateResponse<R>(receipt.result);\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n\n // return value;\n}\n\nexport function rov<A extends UnknownArgs, R>(tx: ContractCallTyped<A, R>, sender?: string): R {\n return ro(tx, sender).value;\n}\n\nexport function roOk<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): TransactionResult<OkType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callReadOnlyFn(\n contractId,\n tx.function.name,\n args,\n sender ?? tx.contractAddress\n );\n const value = validateResponse<OkType<R>>(receipt.result, true);\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n\n // return value;\n}\n\nexport function rovOk<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): OkType<R> {\n return roOk(tx, sender).value;\n}\n\nexport function roErr<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): TransactionResult<ErrType<R>> {\n const args = tx.functionArgs.map(cvConvertMS);\n const contractId = `${tx.contractAddress}.${tx.contractName}`;\n const receipt = simnet.callReadOnlyFn(\n contractId,\n tx.function.name,\n args,\n sender ?? tx.contractAddress\n );\n const value = validateResponse<ErrType<R>>(receipt.result, false);\n\n return {\n ...receipt,\n events: receipt.events as unknown as CoreNodeEvent[],\n value,\n };\n\n // return value;\n}\n\nexport function rovErr<A extends UnknownArgs, R extends AnyResponse>(\n tx: ContractCallTyped<A, R>,\n sender?: string\n): ErrType<R> {\n return roErr(tx, sender).value;\n}\n\nexport function mapGet<Key, Val>(contractId: string, map: TypedAbiMap<Key, Val>, key: Key) {\n const payload = mapFactory(map, key);\n const result = simnet.getMapEntry(contractId, payload.map.name, cvConvertMS(payload.keyCV));\n return cvToValue<Val | null>(cvConvertHiro(result));\n}\n\nexport function varGet<T>(contractId: string, variable: TypedAbiVariable<T>) {\n const result = simnet.getDataVar(contractId, variable.name);\n return cvToValue<T>(cvConvertHiro(result));\n}\n\n// Helper export for previous Deno-based tests\nexport const chain = {\n txOk,\n txErr,\n tx,\n ro,\n roOk,\n roErr,\n rov,\n rovOk,\n rovErr,\n};\n\nexport async function makeNewSession(cwd?: string, manifestPath?: string) {\n await simnet.initSession(cwd ?? process.cwd(), manifestPath ?? './Clarinet.toml');\n}\n","import { Response, cvToValue, isResponse } from '@clarigen/core';\nimport {\n ClarityValue as HiroClarityValue,\n deserializeCV as deserializeCVHiro,\n serializeCV as serializeCVHiro,\n StandardPrincipalCV as HiroPrincipalCV,\n} from '@stacks/transactions';\nimport {\n ClarityValue as MSClarityValue,\n StandardPrincipalCV as MSPrincipalCV,\n serializeCV as serializeCVMS,\n deserializeCV as deserializeCVMS,\n ClarityAbiFunction,\n Address,\n ClarityType,\n} from 'micro-stacks/clarity';\n\nexport function cvConvertMS(value: MSClarityValue): HiroClarityValue {\n return deserializeCVHiro(serializeCVMS(value));\n}\n\nexport function cvConvertHiro(value: HiroClarityValue): MSClarityValue {\n return deserializeCVMS(serializeCVHiro(value));\n}\n\nexport function validateResponse<T>(result: HiroClarityValue, expectOk?: boolean): T {\n const value = cvToValue<Response<T, T> | T>(cvConvertHiro(result), true);\n\n if (!isResponse(value) && typeof expectOk !== 'undefined') {\n throw new Error(\n `Expected response when calling function, but not a response. Try using just \\`rov\\``\n );\n }\n\n if (isResponse(value) && typeof expectOk !== 'undefined') {\n const response = value;\n const inner = response.value;\n if (expectOk && !response.isOk) {\n throw new Error(`Tx result failed. Expected OK, received ERR ${String(inner)}.`);\n }\n if (expectOk === false && response.isOk) {\n throw new Error(`Tx result failed. Expected ERR, received OK ${String(inner)}.`);\n }\n return inner;\n }\n return value as T;\n}\n","import {\n CoreNodeEventType,\n SmartContractEvent as _SmartContractEvent,\n StxTransferEvent as _StxTransferEvent,\n StxBurnEvent as _StxBurnEvent,\n StxMintEvent as _StxMintEvent,\n StxLockEvent as _StxLockEvent,\n FtBurnEvent as _FtBurnEvent,\n FtMintEvent as _FtMintEvent,\n FtTransferEvent as _FtTransferEvent,\n NftBurnEvent as _NftBurnEvent,\n NftMintEvent as _NftMintEvent,\n NftTransferEvent as _NftTransferEvent,\n} from '@clarigen/core';\n\nexport type SmartContractEvent = {\n event: _SmartContractEvent['type'];\n data: _SmartContractEvent['contract_event'];\n};\n\nexport type StxTransferEvent = {\n event: _StxTransferEvent['type'];\n data: _StxTransferEvent['stx_transfer_event'];\n};\n\nexport type StxBurnEvent = {\n event: _StxBurnEvent['type'];\n data: _StxBurnEvent['stx_burn_event'];\n};\n\nexport type StxLockEvent = {\n event: _StxLockEvent['type'];\n data: _StxLockEvent['stx_lock_event'];\n};\n\nexport type StxMintEvent = {\n event: _StxMintEvent['type'];\n data: _StxMintEvent['stx_mint_event'];\n};\n\nexport type FtBurnEvent = {\n event: _FtBurnEvent['type'];\n data: _FtBurnEvent['ft_burn_event'];\n};\n\nexport type FtMintEvent = {\n event: _FtMintEvent['type'];\n data: _FtMintEvent['ft_mint_event'];\n};\n\nexport type FtTransferEvent = {\n event: _FtTransferEvent['type'];\n data: _FtTransferEvent['ft_transfer_event'];\n};\n\nexport type NftBurnEvent = {\n event: _NftBurnEvent['type'];\n data: _NftBurnEvent['nft_burn_event'];\n};\n\nexport type NftMintEvent = {\n event: _NftMintEvent['type'];\n data: _NftMintEvent['nft_mint_event'];\n};\n\nexport type NftTransferEvent = {\n event: _NftTransferEvent['type'];\n data: _NftTransferEvent['nft_transfer_event'];\n};\n\nexport type CoreNodeEvent =\n | SmartContractEvent\n | StxTransferEvent\n | StxMintEvent\n | StxBurnEvent\n | StxLockEvent\n | FtTransferEvent\n | FtMintEvent\n | FtBurnEvent\n | NftTransferEvent\n | NftMintEvent\n | NftBurnEvent;\n\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.ContractEvent\n): SmartContractEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxTransferEvent\n): StxTransferEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxMintEvent\n): StxMintEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxBurnEvent\n): StxBurnEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.StxLockEvent\n): StxLockEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.NftTransferEvent\n): NftTransferEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.NftMintEvent\n): NftMintEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.NftBurnEvent\n): NftBurnEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.FtTransferEvent\n): FtTransferEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.FtMintEvent\n): FtMintEvent[];\nexport function filterEvents(\n events: CoreNodeEvent[],\n type: CoreNodeEventType.FtBurnEvent\n): FtBurnEvent[];\nexport function filterEvents(events: CoreNodeEvent[], type: CoreNodeEventType): CoreNodeEvent[] {\n return events.filter(event => event.event === type);\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.0.16-alpha.
|
|
2
|
+
"version": "1.0.16-alpha.5",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"types": "./dist/index.d.ts",
|
|
5
5
|
"main": "./dist/index.js",
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
"@types/node": "20.10.4",
|
|
19
19
|
"vitest": "1.0.4",
|
|
20
20
|
"vitest-environment-clarinet": "^1.1.0",
|
|
21
|
-
"demo-project": "1.0.16-alpha.
|
|
21
|
+
"demo-project": "1.0.16-alpha.5"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"micro-stacks": "^1.1.4",
|
|
25
|
-
"@stacks/transactions": "6.10.0",
|
|
26
24
|
"@hirosystems/clarinet-sdk": "1.2.0",
|
|
27
25
|
"@hirosystems/clarinet-sdk-wasm": "1.2.0",
|
|
28
|
-
"@
|
|
26
|
+
"@stacks/transactions": "6.10.0",
|
|
27
|
+
"micro-stacks": "^1.2.1",
|
|
28
|
+
"@clarigen/core": "1.0.16-alpha.5"
|
|
29
29
|
},
|
|
30
30
|
"publishConfig": {
|
|
31
31
|
"access": "public"
|
|
@@ -36,6 +36,6 @@
|
|
|
36
36
|
"build": "shx rm -rf dist && tsup",
|
|
37
37
|
"test": "vitest run",
|
|
38
38
|
"lint": "eslint \"src/**/*.{ts,tsx}\" && prettier --check \"./**/*.{ts,js}\"",
|
|
39
|
-
"typecheck": "tsc --noEmit"
|
|
39
|
+
"typecheck": "tsc --noEmit -p tsconfig-test.json"
|
|
40
40
|
}
|
|
41
41
|
}
|