UNPKG

@rsksmart/rif-storage-pinning

Version:

Application for providing your storage space to other to use in exchange of RIF Tokens

43 lines (42 loc) 1.5 kB
import ipfsClient from 'ipfs-http-client'; import CID from 'cids'; import type { ClientOptions } from 'ipfs-http-client/src/lib/core'; import BigNumber from 'bignumber.js'; import type { Provider } from '../definitions'; import { Job, JobsManager } from '../jobs-manager'; declare type IpfsClient = ReturnType<typeof ipfsClient>; interface DagStat { NumBlocks: number; Size: number; } export declare class PinJob extends Job { private readonly hash; private readonly ipfs; private readonly expectedSize; private swarmAddresses; constructor(ipfs: IpfsClient, hash: string, expectedSize: BigNumber, agreementReference: string); private getPeerIdByAgreement; private getPeer; private swarmConnect; private swarmDisconnect; private pinProcess; private getMetaFileSize; private getActualFileSize; _run(): Promise<void>; } export declare function getDagStat(nodeUrl: string): (cid: CID, options?: any) => Promise<DagStat>; export declare class IpfsProvider implements Provider { private readonly ipfs; private jobsManager; constructor(jobsManager: JobsManager, ipfs: IpfsClient); static bootstrap(jobsManager: JobsManager, options?: ClientOptions | string): Promise<IpfsProvider>; /** * * @param hash * @param expectedSize * @param agreementReference */ pin(hash: string, expectedSize: BigNumber, agreementReference: string): Promise<void>; unpin(hash: string): Promise<void>; } export {};