nestjs-moralis
Version:
NestJS module for Moralis.io
50 lines (43 loc) • 1.5 kB
text/typescript
import { Inject, Injectable, Logger } from '@nestjs/common';
import Moralis from 'moralis';
import { CommonEvmUtils } from '@moralisweb3/common-evm-utils';
import { Core } from '@moralisweb3/common-core';
import { Auth } from '@moralisweb3/auth';
import { Streams } from '@moralisweb3/streams';
import { EvmApi } from '@moralisweb3/evm-api';
import { AptosApi } from '@moralisweb3/aptos-api';
import { CommonSolUtils } from '@moralisweb3/common-sol-utils';
import { SolApi } from '@moralisweb3/sol-api';
import { MODULE_OPTIONS_TOKEN } from './moralis.module-definition';
import { MoralisModuleOptions } from './moralis-module-options.interface';
()
export class MoralisService {
private readonly logger = new Logger(MoralisService.name);
Core: Core;
Auth: Auth;
Streams: Streams;
EvmApi: EvmApi;
SolApi: SolApi;
AptosApi: AptosApi;
EvmUtils: CommonEvmUtils;
SolUtils: CommonSolUtils;
constructor(
(MODULE_OPTIONS_TOKEN) private options: MoralisModuleOptions,
) {
this.Core = Moralis.Core;
this.EvmApi = Moralis.EvmApi;
this.Auth = Moralis.Auth;
this.Streams = Moralis.Streams;
this.SolApi = Moralis.SolApi;
this.AptosApi = Moralis.AptosApi;
this.EvmUtils = Moralis.EvmUtils;
this.SolUtils = Moralis.SolUtils;
(async () => {
const moralisConfigOptions = Object.assign({}, options);
delete moralisConfigOptions.isGlobal;
await Moralis.start({
...moralisConfigOptions,
});
})();
}
}