import { CapabilityFactoryMap, ComposerEcosystemRuntime, ContractSchema, DeclarativeEcosystemRuntime, EcosystemRuntime, ExecutionConfig, NameResolutionCapability, NetworkConfig, OperationResult, OperatorEcosystemRuntime, ProfileName, TransactionStatusUpdate, TransactorEcosystemRuntime, TxStatus, ViewerEcosystemRuntime } from "@openzeppelin/ui-types"; import { Abi, Chain, PublicClient } from "viem"; import { Speed } from "@openzeppelin/relayer-sdk"; import "@wagmi/core"; import "react"; import "wagmi"; import "react/jsx-runtime"; import { ConnectButton, RainbowKitProvider } from "@rainbow-me/rainbowkit"; //#region ../adapter-evm-core/dist/access-control-D7zWxavD.d.mts //#region src/capabilities/access-control.d.ts interface CreateAccessControlOptions { signAndBroadcast: (transactionData: unknown, executionConfig: ExecutionConfig, onStatusChange: (status: TxStatus, details: TransactionStatusUpdate) => void, runtimeApiKey?: string) => Promise<{ txHash: string; result?: unknown; }>; } //#endregion //#region ../adapter-evm-core/dist/execution-DfFyYNaI.d.mts //#endregion //#region src/transaction/relayer.d.ts /** * EVM-specific transaction options for the OpenZeppelin Relayer. * These options map directly to the EvmTransactionRequest parameters in the SDK. */ interface EvmRelayerTransactionOptions { speed?: Speed; gasLimit?: number; gasPrice?: number; maxFeePerGas?: number; maxPriorityFeePerGas?: number; validUntil?: string; } /** * Implements the ExecutionStrategy for the OpenZeppelin Relayer. * This strategy sends the transaction to the relayer service, which then handles * gas payment, signing, and broadcasting. It includes a polling mechanism to wait * for the transaction to be mined and return the final hash. */ //#endregion //#region ../adapter-evm-core/dist/index.d.mts //#endregion //#region src/abi/types.d.ts /** * Result of comparing two ABIs */ interface AbiComparisonResult { /** Whether the ABIs are identical after normalization */ identical: boolean; /** List of differences found between the ABIs */ differences: AbiDifference[]; /** Overall severity of the changes */ severity: 'none' | 'minor' | 'major' | 'breaking'; /** Human-readable summary of the comparison */ summary: string; } /** * Represents a single difference between two ABIs */ interface AbiDifference { /** Type of change */ type: 'added' | 'removed' | 'modified'; /** Which section of the ABI was affected */ section: 'function' | 'event' | 'constructor' | 'error' | 'fallback' | 'receive'; /** Name of the affected item (or type if no name) */ name: string; /** Detailed description of the change */ details: string; /** Impact level of this change */ impact: 'low' | 'medium' | 'high'; /** Signature before the change (for removed/modified) */ oldSignature?: string; /** Signature after the change (for added/modified) */ newSignature?: string; } /** * Result of validating an ABI structure */ interface AbiValidationResult { /** Whether the ABI is structurally valid */ valid: boolean; /** List of validation errors found */ errors: string[]; /** List of validation warnings */ warnings: string[]; /** Normalized ABI if validation passed */ normalizedAbi?: Abi; } /** * Type guard to check if a value is a valid ABI array */ //#endregion //#region src/abi/comparison.d.ts /** * Service for comparing and validating EVM ABIs */ declare class AbiComparisonService { /** * Compares two ABIs and returns detailed difference analysis */ compareAbis(abi1: string, abi2: string): AbiComparisonResult; /** * Validates ABI structure and format */ validateAbi(abiString: string): AbiValidationResult; /** * Creates deterministic hash of ABI for quick comparison */ hashAbi(abiString: string): string; /** * Normalizes ABI for consistent comparison */ private normalizeAbi; /** * Finds detailed differences between two normalized ABIs */ private findDifferences; private createAbiMap; private generateItemKey; private generateSignature; private itemsEqual; private calculateImpact; private calculateSeverity; private generateSummary; } declare const abiComparisonService: AbiComparisonService; /** * Compare two contract definitions (ABI strings). * Convenience wrapper around abiComparisonService.compareAbis(). * * @param storedSchema - The stored/original ABI JSON string * @param freshSchema - The new/fresh ABI JSON string to compare against * @returns Comparison result with differences and severity * * @example * ```typescript * const result = await compareContractDefinitions(oldAbi, newAbi); * if (!result.identical) { * console.log(`Changes detected: ${result.summary}`); * console.log(`Severity: ${result.severity}`); * } * ``` */ //#endregion //#region src/wallet/rainbowkit/types.d.ts /** * Extract the `AppInfo` type from the RainbowKitProvider's props. * This is the canonical way to get the type for the `appInfo` object. */ type AppInfo = React.ComponentProps['appInfo']; /** * Extract the props type from RainbowKit's ConnectButton component * This gives us the exact same types that RainbowKit uses internally */ type RainbowKitConnectButtonProps = React.ComponentProps; /** * Represents the props expected by the RainbowKitProvider component. * It uses a nested `appInfo` object. */ interface RainbowKitProviderProps { appInfo?: AppInfo; [key: string]: unknown; } /** * Represents the shape of the `kitConfig` object we use internally when the * selected kit is RainbowKit. It has a flat structure for `appName` and `learnMoreUrl` * for easier handling in our builder app, and can also contain pre-existing providerProps. */ type RainbowKitKitConfig = Partial & { providerProps?: RainbowKitProviderProps; [key: string]: unknown; }; /** * Custom UI configuration that uses RainbowKit's native types * This extends our configuration system while leveraging RainbowKit's own type definitions */ interface RainbowKitCustomizations { /** * Configuration for the RainbowKit ConnectButton component * Uses RainbowKit's native prop types for type safety and compatibility */ connectButton?: Partial; } /** * Type guard to check if an object contains RainbowKit customizations */ declare function isRainbowKitCustomizations(obj: unknown): obj is RainbowKitCustomizations; /** * Utility to extract RainbowKit customizations from a kit config */ declare function extractRainbowKitCustomizations(kitConfig: Record | undefined): RainbowKitCustomizations | undefined; //#endregion //#region src/wallet/rainbowkit/utils.d.ts /** * RainbowKit configuration options definition */ /** * Validates the RainbowKit configuration to ensure required fields are present. * * @param kitConfig - The RainbowKit configuration object * @returns Object containing the validation result and any missing fields or error message */ //#endregion //#region src/capabilities/name-resolution.d.ts /** * Dependencies injected into {@link createNameResolution}. * * The client is **owned by the composing runtime** (see State Ownership / INV-15) — the capability * borrows it and never disposes it. */ interface CreateNameResolutionOptions { /** * A viem `PublicClient` whose `chain` carries `contracts.ensUniversalResolver` for ENS-supporting * networks. Injected (not constructed here — D-A / INV-25) so the capability inherits the runtime's * transport / timeout / CCIP-Read configuration and stays trivially mockable in unit tests. When * the bound network's chain has no Universal Resolver, `resolveName` returns a typed * `UNSUPPORTED_NETWORK` — it does not throw (D-B). */ readonly publicClient: PublicClient; /** * SF-5 — OPTIONAL. A dedicated **mainnet** viem client, used for: * - `001` SF-5 non-UR forward chain-scoped resolution (`coinType = toCoinType(boundChainId)`) * - L1 miss-fallback on reverse (002) and forward (SF-4) **only when** * {@link enableMainnetL1MissFallback} is explicitly `true` * * Also borrowed, never disposed (INV-21). Wiring `ensL1Client` does **not** imply opt-in. * Default miss-fallback posture remains OFF (003 SF-1). */ readonly ensL1Client?: PublicClient; /** * SF-1 (003) — OPTIONAL. When `true`, permits mainnet-L1 miss-fallback after a **definitive** * bound-chain empty / NAME_NOT_FOUND-class miss on **both** `resolveAddress` and `resolveName` * (UR-carrying bound chains). When absent or `false` (default), preserves safe posture: reverse * does not consult L1 on bound empty; forward stays bound-UR-authoritative on bound miss. * * Does not relax never-silent-fallback — transport/gateway/timeout failures remain terminal. */ readonly enableMainnetL1MissFallback?: boolean; } /** * Create the EVM name-resolution capability (forward path — SF-2). * * Mirrors {@link createERC4626}: narrows the network config, assembles the service over the injected * viem client, and wraps it with `guardRuntimeCapability` for the `RuntimeCapability` surface * (network context, idempotent `dispose()`, use-after-dispose → `RuntimeDisposedError` raised before * the method body, in-flight-promise rejection on dispose). * * The capability is ALWAYS constructible on EVM: `isValidName` is network-independent, and * `resolveName` is always present (it reports `UNSUPPORTED_NETWORK` for a bound network without a * Universal Resolver rather than being omitted). Whole-capability omission is reserved for non-EVM * adapters (SC-006). `cleanupStage: 'general'` — the capability releases no RPC resource of its own * (it borrows the runtime's client — INV-15). */ declare function createNameResolution(config: NetworkConfig, options: CreateNameResolutionOptions): NameResolutionCapability; //#endregion //#region src/erc3643/error-mapping.d.ts /** Context threaded into the mapped error for actionable messages. */ //#endregion export { RainbowKitKitConfig as a, createNameResolution as c, EvmRelayerTransactionOptions as d, CreateAccessControlOptions as f, RainbowKitCustomizations as i, extractRainbowKitCustomizations as l, CreateNameResolutionOptions as n, RainbowKitProviderProps as o, RainbowKitConnectButtonProps as r, abiComparisonService as s, AppInfo as t, isRainbowKitCustomizations as u }; //# sourceMappingURL=index-BIrigeDI.d.cts.map