UNPKG

@decent-bet/solido

Version:

Code first contract entity mapper for Solidity based blockchains like Ethereum, Vechain, Tron

41 lines (40 loc) 1.36 kB
import { ContractImport } from '../types'; import { SolidoContract } from './SolidoContract'; import { SolidoProvider } from '..'; export interface ProviderInstance { provider: any; options: any; } export interface ProviderInstances { [key: string]: ProviderInstance; } export interface ContractProviderMapping { name: string; import: ContractImport; entity?: any; provider?: any; enableDynamicStubs?: boolean; } export interface BindModuleContracts { [key: string]: SolidoContract & SolidoProvider; } export interface ConnectedContracts { [key: string]: (SolidoContract & SolidoProvider); } export declare class ContractCollection { private coll; add(key: string, c: SolidoContract & SolidoProvider): void; getContract<T>(key: string): T & SolidoContract & SolidoProvider; getDynamicContract(key: string): SolidoContract & SolidoProvider; connect(): ConnectedContracts; } export declare class SolidoModule { private contractMappings; providers: SolidoProvider[]; bindSetupOptions: ProviderInstances; constructor(contractMappings: ContractProviderMapping[], ...providers: any[]); addContractMapping(contractProviderMapping: ContractProviderMapping): void; rebind(): void; bindContracts(setupOptions?: ProviderInstances): ContractCollection; private bindContract; }