irys-complete-toolkit
Version:
Complete Irys SDK toolkit supporting all chains, tokens, and features
98 lines (97 loc) • 2.69 kB
TypeScript
/**
* Irys Web SDK Toolkit
* Comprehensive SDK for browser-based Irys operations
*/
import { WebSDKConfig, IrysReceipt, UploadOptions, CreateApprovalOptions, BalanceApproval, DataInput } from '../types';
export declare class IrysWebSDK {
private uploader;
private config;
constructor(config: WebSDKConfig);
private validateConfig;
/**
* Initialize the web uploader with the specified token and provider
*/
initialize(): Promise<void>;
private initializeEVM;
private initializeSolana;
private initializeAptos;
/**
* Get the wallet address
*/
get address(): string;
/**
* Get current token
*/
get token(): string;
/**
* Get account balance
*/
getBalance(): Promise<string>;
/**
* Fund the account
*/
fund(amount: string | number): Promise<any>;
/**
* Get upload price for data size
*/
getPrice(bytes: number): Promise<string>;
/**
* Upload data to Irys
*/
upload(data: DataInput, options?: UploadOptions): Promise<IrysReceipt>;
/**
* Upload a file (browser File object)
*/
uploadFile(file: File, options?: UploadOptions): Promise<IrysReceipt>;
/**
* Upload multiple files
*/
uploadFiles(files: File[], options?: UploadOptions): Promise<IrysReceipt[]>;
/**
* Create a balance approval
*/
createApproval(options: CreateApprovalOptions): Promise<IrysReceipt>;
/**
* Revoke a balance approval
*/
revokeApproval(approvedAddress: string): Promise<IrysReceipt>;
/**
* Get balance approvals
*/
getApprovals(payingAddresses?: string[]): Promise<BalanceApproval[]>;
/**
* Get created approvals
*/
getCreatedApprovals(approvedAddresses?: string[]): Promise<BalanceApproval[]>;
/**
* Create a mutable reference
*/
createMutableReference(data: DataInput, options?: UploadOptions): Promise<{
receipt: IrysReceipt;
url: string;
}>;
/**
* Update a mutable reference
*/
updateMutableReference(rootTxId: string, data: DataInput, options?: UploadOptions): Promise<IrysReceipt>;
/**
* Upload NFT metadata
*/
uploadNFTMetadata(metadata: any, options?: UploadOptions): Promise<IrysReceipt>;
/**
* Utility function to get data size
*/
private getDataSize;
/**
* Check if provider is connected
*/
isConnected(): Promise<boolean>;
/**
* Request wallet connection (for applicable providers)
*/
connect(): Promise<void>;
/**
* Disconnect wallet (for applicable providers)
*/
disconnect(): Promise<void>;
}