@wttp/site
Version:
Web3 Transfer Protocol (WTTP) - Site Contracts and deployment tools
101 lines • 2.65 kB
TypeScript
import { ethers } from "ethers";
export interface TestConfig {
network: string;
siteAddress: string;
dpsVersion?: number;
}
export interface ExternalStorageRule {
minSizeBytes?: number;
maxSizeBytes?: number;
mimeTypes?: string[];
extensions?: string[];
provider: "arweave" | "ipfs" | "filecoin";
redirectCode?: number;
}
export interface ManifestConfig {
gasLimit?: number;
fileLimit?: number;
ignorePattern?: string[] | string | "none";
externalStorageRules?: ExternalStorageRule[];
testConfig?: TestConfig;
destination?: string;
publisher?: string;
}
export interface ChunkData {
address: string;
estimate?: number;
range?: string;
royalty?: number;
gas?: number;
txHash?: string;
prerequisite?: string;
publisher?: string;
}
export interface FileData {
path: string;
type: string;
charset?: string;
encoding?: string;
language?: string;
size: number;
status: string;
gasCost?: number;
royaltyCost?: number;
externalStorage?: string;
redirect?: {
code: number;
location: string;
};
chunks: ChunkData[];
publisher?: string;
}
export interface DirectoryData {
path: string;
index: string;
status?: string;
txHash?: string;
}
export interface TransactionData {
txHash?: string;
method: string;
path?: string;
chunkAddress?: string;
range?: string;
redirect?: {
code: number;
location: string;
};
value?: number;
gasUsed?: number;
data?: any;
}
export interface Manifest {
name: string;
path: string;
wttpConfig?: ManifestConfig;
siteData: {
directories: DirectoryData[];
files: FileData[];
};
chainData?: {
contractAddress: string;
chainId: number;
name: string;
symbol: string;
publisher?: string;
transactions: TransactionData[];
};
}
export declare function generateManifestStandalone(sourcePath: string, destinationPath: string, config?: ManifestConfig, existingManifest?: Manifest, options?: {
provider?: ethers.Provider;
signer?: ethers.Signer;
wttpSiteAddress?: string;
chainId?: number;
chainName?: string;
currencySymbol?: string;
publisher?: string;
}): Promise<Manifest>;
export declare function saveManifest(manifest: Manifest, outputPath?: string): string;
export declare function loadManifest(manifestPath: string): Manifest;
export declare function loadTestConfig(configPath: string, networkName?: string): TestConfig | null;
//# sourceMappingURL=generateManifest.d.ts.map