morphcredit-merchant-sdk
Version:
MorphCredit Merchant SDK for BNPL integration
67 lines (64 loc) • 2.63 kB
TypeScript
import { S as SDKConfig, a as SDKOptions, O as OfferRequest, b as Offer, T as TxResult, A as AgreementStatus } from './button-CBYHJrGt.js';
export { M as MorphCreditButton } from './button-CBYHJrGt.js';
import 'react';
declare global {
interface Window {
ethereum?: any;
}
}
declare enum ErrorCodes {
WALLET_NOT_CONNECTED = "WALLET_NOT_CONNECTED",
WALLET_CONNECTION_FAILED = "WALLET_CONNECTION_FAILED",
WRONG_NETWORK = "WRONG_NETWORK",
INSUFFICIENT_CREDIT = "INSUFFICIENT_CREDIT",
SCORE_NOT_FOUND = "SCORE_NOT_FOUND",
SCORE_EXPIRED = "SCORE_EXPIRED",
AGREEMENT_FAILED = "AGREEMENT_FAILED",
AGREEMENT_NOT_FOUND = "AGREEMENT_NOT_FOUND",
AGREEMENT_EXPIRED = "AGREEMENT_EXPIRED",
NETWORK_ERROR = "NETWORK_ERROR",
RPC_ERROR = "RPC_ERROR",
TIMEOUT = "TIMEOUT",
USER_REJECTED = "USER_REJECTED",
INSUFFICIENT_BALANCE = "INSUFFICIENT_BALANCE",
INVALID_ADDRESS = "INVALID_ADDRESS",
INVALID_AMOUNT = "INVALID_AMOUNT",
INVALID_OFFER = "INVALID_OFFER"
}
declare class MorphCreditError extends Error {
code: string;
details?: any;
retryable: boolean;
constructor(code: string, message: string, details?: any, retryable?: boolean);
}
declare class MorphCreditSDK {
private config;
private options;
private provider;
private signer;
private eventCallbacks;
private offersCache;
constructor(config?: Partial<SDKConfig>, options?: SDKOptions);
private static readonly BNPL_FACTORY_ABI;
private static readonly BNPL_AGREEMENT_ABI;
private getSigner;
private initializeProviders;
connectWallet(): Promise<string>;
disconnectWallet(): void;
getWalletAddress(): string | null;
isWalletConnected(): boolean;
getOffers(request: OfferRequest): Promise<Offer[]>;
createAgreement(offerId: string, borrowerAddress?: string): Promise<TxResult>;
getAgreementStatus(agreementAddress: string): Promise<AgreementStatus>;
onAgreementCreated(callback: (agreement: TxResult) => void): void;
onOffersLoaded(callback: (offers: Offer[]) => void): void;
onWalletConnected(callback: (address: string) => void): void;
onWalletDisconnected(callback: () => void): void;
private addEventCallback;
private triggerEvent;
updateConfig(config: Partial<SDKConfig>): void;
updateOptions(options: Partial<SDKOptions>): void;
getConfig(): SDKConfig;
setErrorHandler(handler: (error: MorphCreditError) => void): void;
}
export { AgreementStatus, ErrorCodes, MorphCreditError, MorphCreditSDK, Offer, OfferRequest, SDKConfig, SDKOptions, TxResult, MorphCreditSDK as default };