import { Observable } from 'rxjs'; import { Address } from '../../model/account/Address'; import { MosaicId } from '../../model/mosaic/MosaicId'; import { NamespaceId } from '../../model/namespace/NamespaceId'; import { StateMerkleProof } from '../../model/state/StateMerkleProof'; /** * State Proof Service Interface */ export interface IStateProofService { /** * @param address Account address. * @returns {Observable} */ accountProof(address: Address): Observable; /** * @param namespaceId Namepace Id. * @returns {Observable} */ namespaceProof(namespaceId: NamespaceId): Observable; /** * @param mosaicId Mosaic Id. * @returns {Observable} */ mosaicProof(mosaicId: MosaicId): Observable; /** * @param hash Hash. * @returns {Observable} */ hashLockProof(hash: string): Observable; /** * @param compositeHash Composite hash. * @returns {Observable} */ secretLockProof(compositeHash: string): Observable; /** * @param address Address. * @returns {Observable} */ accountRestrictionProof(address: Address): Observable; /** * @param compositeHash Composite hash. * @returns {Observable} */ mosaicRestrictionProof(compositeHash: string): Observable; /** * @param compositeHash Composite hash. * @returns {Observable} */ metadataProof(compositeHash: string): Observable; }