import { type Address, type Hex } from "viem"; import type { IDeploymentService } from "../../../deploymentService/index.js"; import { type EVCBatchItem, type IExecutionService } from "../../../executionService/index.js"; import type { IProviderService } from "../../../providerService/index.js"; import type { BuildConnectorMigrationBatchArgs, GetMigrationAuthorizationArgs, GetMigrationPositionArgs, ListMigrationPositionsArgs, ListMigrationTargetsArgs, MigrationTarget, PositionMigrationConnector } from "../../positionMigrationServiceTypes.js"; import type { MorphoAuthorizationTransactionRequest, MorphoAuthorizationTypedDataRequest, MorphoMigrationAuthorizationRequest, MorphoMarketParams, MorphoMigrationConnectorConfig, MorphoMigrationPosition, MorphoMigrationTargetRaw, MorphoSignature } from "./morphoConnectorTypes.js"; export declare const MORPHO_CONNECTOR_ID = "morpho"; export declare const MORPHO_PROTOCOL = "Morpho"; export declare const MORPHO_AUTHORIZATION_TYPES: { readonly Authorization: readonly [{ readonly name: "authorizer"; readonly type: "address"; }, { readonly name: "authorized"; readonly type: "address"; }, { readonly name: "isAuthorized"; readonly type: "bool"; }, { readonly name: "nonce"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly type: "uint256"; }]; }; export declare function getMorphoMarketId(marketParams: MorphoMarketParams): Hex; export declare function splitMorphoAuthorizationSignature(signature: Hex): MorphoSignature; export declare class MorphoPositionMigrationConnector implements PositionMigrationConnector { private readonly deploymentService; private readonly providerService; private readonly executionService; readonly id = "morpho"; readonly protocol = "Morpho"; readonly name = "Morpho"; private readonly morphoAddresses; private readonly defaultInterestBufferBps; private readonly morphoGraphqlUrl; private readonly morphoGraphqlTimeoutMs; private readonly fetchFn; private readonly defaultMinLiquidity; constructor(deploymentService: IDeploymentService, providerService: IProviderService, executionService: IExecutionService, config?: MorphoMigrationConnectorConfig); listPositions(args: ListMigrationPositionsArgs): Promise; listTargets(args: ListMigrationTargetsArgs): Promise[]>; getPosition(args: GetMigrationPositionArgs): Promise; getAuthorization(args: GetMigrationAuthorizationArgs & { authorizationKind: "transaction"; }): Promise; getAuthorization(args: GetMigrationAuthorizationArgs & { authorizationKind?: "typedData"; }): Promise; getAuthorization(args: GetMigrationAuthorizationArgs): Promise; buildMigrationBatch(args: BuildConnectorMigrationBatchArgs): Promise; private buildExternalToEulerBatch; private buildEulerToMorphoBatch; getProtocolAddress(chainId: number): Address | undefined; getMorphoAddress(chainId: number): Address; private isAuthorized; private validateSimulatedAuthorization; private encodeSetAuthorizationWithSigItem; private encodeRemoveAuthorizationItem; /** * `morpho.setAuthorization` calls for the signature-free form. * * Synchronous: unlike `setAuthorizationWithSig` there is no nonce to read. * An existing grant is not repeated, but the cleanup call is always returned. */ private buildAuthorizationTransactionRequest; private buildAuthorizationRequest; } //# sourceMappingURL=morphoConnector.d.ts.map