53 lines
1.5 KiB
TypeScript
53 lines
1.5 KiB
TypeScript
/* eslint-disable */
|
|
import {defaultCacheOptions, LoggerFactory, WarpFactory} from '../src';
|
|
|
|
const logger = LoggerFactory.INST.create('Contract');
|
|
|
|
|
|
LoggerFactory.INST.logLevel('error');
|
|
LoggerFactory.INST.logLevel('debug', 'HandlerBasedContract');
|
|
LoggerFactory.INST.logLevel('debug', 'CacheableStateEvaluator');
|
|
|
|
|
|
async function main() {
|
|
const heapUsedBefore = Math.round((process.memoryUsage().heapUsed / 1024 / 1024) * 100) / 100;
|
|
const rssUsedBefore = Math.round((process.memoryUsage().rss / 1024 / 1024) * 100) / 100;
|
|
|
|
const warp = WarpFactory
|
|
.forMainnet({ ...defaultCacheOptions, inMemory: true });
|
|
|
|
try {
|
|
|
|
const signal = AbortSignal.timeout(2000);
|
|
const contract = warp
|
|
.contract("Daj-MNSnH55TDfxqC7v4eq0lKzVIwh98srUaWqyuZtY")
|
|
.setEvaluationOptions({
|
|
maxCallDepth: 5,
|
|
maxInteractionEvaluationTimeSeconds: 10000,
|
|
allowBigInt: true,
|
|
unsafeClient: 'skip',
|
|
});
|
|
const result = await contract.readStateBatch(1, signal);
|
|
console.dir(result.cachedValue.state, {depth: null});
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
|
|
const heapUsedAfter = Math.round((process.memoryUsage().heapUsed / 1024 / 1024) * 100) / 100;
|
|
const rssUsedAfter = Math.round((process.memoryUsage().rss / 1024 / 1024) * 100) / 100;
|
|
logger.warn('Heap used in MB', {
|
|
usedBefore: heapUsedBefore,
|
|
usedAfter: heapUsedAfter
|
|
});
|
|
|
|
logger.info('RSS used in MB', {
|
|
usedBefore: rssUsedBefore,
|
|
usedAfter: rssUsedAfter
|
|
});
|
|
|
|
return;
|
|
}
|
|
|
|
|
|
main().catch((e) => console.error(e));
|