9.6.0 • Published 2 months ago
@lido-nestjs/contracts v9.6.0
Contracts Module
NestJS Contracts Module for Lido Finance projects. Part of Lido NestJS Modules
Install
yarn add @lido-nestjs/contracts
Usage
Basic usage
// Import
import { Module } from '@nestjs/common';
import { LidoContractModule } from '@lido-nestjs/contracts';
import { getDefaultProvider } from '@ethersproject/providers';
import { MyService } from './my.service';
@Module({
imports: [
LidoContractModule.forFeature({
provider: getDefaultProvider('mainnet'),
}),
],
providers: [MyService],
exports: [MyService],
})
export class MyModule {}
// Usage
import { LIDO_CONTRACT_TOKEN, Lido } from '@lido-nestjs/contracts';
import { Inject } from '@nestjs/common';
export class MyService {
constructor(@Inject(LIDO_CONTRACT_TOKEN) private contract: Lido) {}
async myMethod() {
return await this.contract.decimals();
}
}
Specify a different address:
LidoContractModule.forFeature({
address: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',
});
Global usage
import { Module } from '@nestjs/common';
import { LidoContractModule } from '@lido-nestjs/contracts';
@Module({
imports: [LidoContractModule.forRoot()],
})
export class MyModule {}
Async usage
import { Module } from '@nestjs/common';
import { LidoContractModule } from '@lido-nestjs/contracts';
import { ConfigModule, ConfigService } from './config.service';
@Module({
imports: [
LidoContractModule.forRootAsync({
async useFactory(testService: TestService) {
return { address: testService.address };
},
inject: [TestService],
}),
],
})
export class MyModule {}
Use global provider
import { Module } from '@nestjs/common';
import { LidoContractModule } from '@lido-nestjs/contracts';
import { ProviderModule } from './provider.service';
@Module({
imports: [ProviderModule.forRoot(), LidoContractModule.forRoot()],
})
export class MyModule {}
How to add new abi
- Put ABI into
packages/contracts/abi
folder - Set up
packages/contracts/<your name of abi>
: module, contracts - Nice to have: add test for ABI:
packages/contracts/test/contracts.spec.ts
- Go through install FAQ
- Enjoy
9.6.0
2 months ago
9.5.1
2 months ago
9.4.0
7 months ago
9.3.0
7 months ago
9.2.0
7 months ago
9.1.0
7 months ago
9.0.0
1 year ago
5.0.0
1 year ago
8.0.0
1 year ago
6.0.0
1 year ago
7.0.0
1 year ago
3.0.0
1 year ago
4.0.0
1 year ago
2.3.0
2 years ago
2.2.0
2 years ago
2.1.0
2 years ago
2.0.0
2 years ago
1.2.0
2 years ago
1.5.1
2 years ago
1.5.0
2 years ago
1.4.1
2 years ago
1.4.0
2 years ago
1.3.0
2 years ago
1.2.1
2 years ago
1.1.0
2 years ago
1.0.0
2 years ago