@agether/sdk 1.11.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -4,11 +4,14 @@ import { WalletClient } from 'viem';
4
4
  /**
5
5
  * Agether SDK Types
6
6
  *
7
- * Architecture:
7
+ * Architecture (v2 — Safe + Safe7579):
8
8
  * - Agent registers via ERC-8004 → gets agentId
9
- * - AccountFactory creates AgentAccount (KYA-gated smart wallet) per agent
9
+ * - SafeAgentFactory creates Safe proxy with Safe7579 adapter per agent
10
+ * - ERC8004ValidationModule: ownership + KYA gate + module lock (single 7579 validator)
11
+ * - HookMultiplexer: admin-managed hook chain
12
+ * - All execution via ERC-4337 UserOps through EntryPoint v0.7
10
13
  * - AgentReputation: oracle-based credit scoring
11
- * - Morpho Blue: direct overcollateralized lending (agents interact directly)
14
+ * - Morpho Blue: direct overcollateralized lending (agents interact via UserOps)
12
15
  * - x402: HTTP payment protocol for scoring API
13
16
  */
14
17
  declare enum ChainId {
@@ -100,12 +103,19 @@ interface AgetherConfig {
100
103
  kyaEndpoint?: string;
101
104
  }
102
105
  interface ContractAddresses {
103
- accountFactory: string;
106
+ safeSingleton: string;
107
+ safeProxyFactory: string;
108
+ safe7579: string;
109
+ entryPoint: string;
110
+ safeAgentFactory: string;
111
+ safe7579Bootstrap: string;
112
+ erc8004ValidationModule: string;
113
+ hookMultiplexer: string;
104
114
  validationRegistry: string;
105
115
  agentReputation: string;
106
- kyaHook: string;
107
- usdc: string;
116
+ timelockController: string;
108
117
  identityRegistry: string;
118
+ usdc: string;
109
119
  morphoBlue: string;
110
120
  }
111
121
  declare class AgetherError extends Error {
@@ -132,17 +142,16 @@ declare class AgetherClient {
132
142
  private config;
133
143
  private signer;
134
144
  private agentId;
135
- private accountFactory;
145
+ private safeAgentFactory;
136
146
  private identityRegistry;
137
- private validationRegistry;
138
147
  private agentReputation;
148
+ private validationModule;
139
149
  private accountAddress?;
140
150
  constructor(options: AgetherClientOptions);
141
151
  static fromPrivateKey(privateKey: string, agentId: bigint, chainIdOrConfig: ChainId | AgetherConfig): AgetherClient;
142
152
  createAccount(): Promise<string>;
143
153
  getAccountAddress(): Promise<string>;
144
154
  accountExists(): Promise<boolean>;
145
- predictAddress(): Promise<string>;
146
155
  getBalances(): Promise<{
147
156
  eoa: {
148
157
  eth: string;
@@ -154,9 +163,20 @@ declare class AgetherClient {
154
163
  usdc: string;
155
164
  };
156
165
  }>;
166
+ /**
167
+ * Fund the Safe account with USDC from EOA.
168
+ * This is a simple ERC-20 transfer (does NOT require a UserOp).
169
+ */
157
170
  fundAccount(usdcAmount: string): Promise<TransactionResult>;
158
- withdrawUsdc(usdcAmount: string): Promise<TransactionResult>;
159
- withdrawEth(ethAmount: string): Promise<TransactionResult>;
171
+ /**
172
+ * Check if the KYA gate is active on the validation module.
173
+ * If validationRegistry is not set, all txs pass (KYA disabled).
174
+ */
175
+ isKyaRequired(): Promise<boolean>;
176
+ /**
177
+ * Check if this agent's code is KYA-approved.
178
+ * Uses the ERC8004ValidationModule.isKYAApproved(account) view.
179
+ */
160
180
  isKyaApproved(): Promise<boolean>;
161
181
  identityExists(): Promise<boolean>;
162
182
  getIdentityOwner(): Promise<string>;
@@ -177,19 +197,17 @@ declare class AgetherClient {
177
197
  }
178
198
 
179
199
  /**
180
- * MorphoClient — Direct Morpho Blue lending via AgentAccount (ERC-7579)
200
+ * MorphoClient — Direct Morpho Blue lending via Safe account (ERC-4337 UserOps)
181
201
  *
182
- * Architecture (no intermediary contract):
183
- * EOA → AgentAccount.execute(MODE_BATCH, ...) → Morpho Blue (direct)
202
+ * Architecture (v2 Safe + Safe7579):
203
+ * EOA signs UserOp EntryPoint.handleOps() → Safe → Safe7579 → execute → Morpho Blue
184
204
  *
185
- * ERC-7579 execution modes:
205
+ * ERC-7579 execution modes (same encoding, submitted via UserOp):
186
206
  * - Single: execute(MODE_SINGLE, abi.encode(target, value, callData))
187
207
  * - Batch: execute(MODE_BATCH, abi.encode(Execution[]))
188
208
  *
189
- * Batched operations:
190
- * - depositAndBorrow: [ERC20.approve, Morpho.supplyCollateral, Morpho.borrow]
191
- * - repay: [ERC20.approve, Morpho.repay]
192
- * - supplyCollateral: [ERC20.approve, Morpho.supplyCollateral]
209
+ * The Safe account has a sentinel owner (no execTransaction).
210
+ * All state-changing operations go through ERC-4337 EntryPoint v0.7.
193
211
  *
194
212
  * Market discovery via Morpho GraphQL API (https://api.morpho.org/graphql)
195
213
  *
@@ -210,11 +228,13 @@ interface MorphoClientBaseConfig {
210
228
  agentId?: string;
211
229
  chainId?: ChainId;
212
230
  contracts?: Partial<{
213
- accountFactory: string;
231
+ safeAgentFactory: string;
214
232
  morphoBlue: string;
215
233
  usdc: string;
216
234
  agentReputation: string;
217
235
  identityRegistry: string;
236
+ erc8004ValidationModule: string;
237
+ entryPoint: string;
218
238
  }>;
219
239
  }
220
240
  /**
@@ -336,10 +356,12 @@ declare class MorphoClient {
336
356
  private _privateKey?;
337
357
  private _useExternalSigner;
338
358
  private _eoaAddress?;
339
- private accountFactory;
359
+ private safeAgentFactory;
340
360
  private morphoBlue;
341
361
  private agentReputation;
342
362
  private identityRegistry;
363
+ private entryPoint;
364
+ private validationModule;
343
365
  private _accountAddress?;
344
366
  private _marketCache;
345
367
  private _discoveredMarkets?;
@@ -347,8 +369,8 @@ declare class MorphoClient {
347
369
  constructor(config: MorphoClientConfig);
348
370
  /**
349
371
  * Check whether the KYA (Know Your Agent) code verification gate is active.
350
- * Reads the account's installed hook and checks if it has a non-zero
351
- * validationRegistry when set, the hook enforces KYA code approval.
372
+ * Reads the ERC8004ValidationModule's validationRegistry when set to
373
+ * a non-zero address, the module enforces KYA code approval.
352
374
  */
353
375
  isKyaRequired(): Promise<boolean>;
354
376
  /** Resolve the AgentAccount address (cached, with retry for flaky RPCs). */
@@ -540,11 +562,26 @@ declare class MorphoClient {
540
562
  */
541
563
  private _refreshSigner;
542
564
  /**
543
- * Execute a single call via AgentAccount.execute (ERC-7579 single mode).
565
+ * Pack two uint128 values into a single bytes32:
566
+ * bytes32 = (hi << 128) | lo
567
+ */
568
+ private _packUint128;
569
+ /**
570
+ * Build, sign and submit a PackedUserOperation through EntryPoint.handleOps.
571
+ *
572
+ * @param callData – the ABI-encoded calldata for the Safe7579 account
573
+ * (e.g. `execute(mode, executionCalldata)`)
574
+ * @returns the transaction receipt of the handleOps call
575
+ */
576
+ private _submitUserOp;
577
+ /**
578
+ * Execute a single call via Safe7579 account (ERC-7579 single mode)
579
+ * through an ERC-4337 UserOperation.
544
580
  */
545
581
  private exec;
546
582
  /**
547
- * Execute multiple calls via AgentAccount.execute (ERC-7579 batch mode).
583
+ * Execute multiple calls via Safe7579 account (ERC-7579 batch mode)
584
+ * through an ERC-4337 UserOperation.
548
585
  */
549
586
  private batch;
550
587
  /** Convert MorphoMarketParams to Solidity tuple. */
@@ -1031,27 +1068,35 @@ declare function rateToBps(rate: number): bigint;
1031
1068
  /**
1032
1069
  * Contract ABIs (minimal for SDK)
1033
1070
  *
1034
- * Architecture:
1035
- * - AccountFactory + AgentAccount (KYA-gated smart wallets)
1071
+ * Architecture (v2 — Safe + Safe7579):
1072
+ * - SafeAgentFactory (deploys Safe proxies with modules)
1073
+ * - ERC8004ValidationModule (ownership + KYA + module lock)
1074
+ * - HookMultiplexer (admin-managed hooks)
1036
1075
  * - AgentReputation (oracle-based credit scores)
1037
1076
  * - ValidationRegistry (KYA code validation)
1038
1077
  * - ERC-8004 IdentityRegistry
1039
1078
  * - Morpho Blue (direct overcollateralized lending)
1079
+ * - EntryPoint v0.7 (ERC-4337 UserOp submission)
1040
1080
  */
1041
1081
  declare const IDENTITY_REGISTRY_ABI: string[];
1082
+ declare const SAFE_AGENT_FACTORY_ABI: string[];
1042
1083
  declare const ACCOUNT_FACTORY_ABI: string[];
1043
- declare const AGENT_ACCOUNT_ABI: string[];
1084
+ declare const ERC8004_VALIDATION_MODULE_ABI: string[];
1085
+ declare const HOOK_MULTIPLEXER_ABI: string[];
1044
1086
  declare const AGENT_REPUTATION_ABI: string[];
1045
1087
  declare const VALIDATION_REGISTRY_ABI: string[];
1046
1088
  declare const MORPHO_BLUE_ABI: string[];
1047
1089
  declare const ERC20_ABI: string[];
1048
- declare const KYA_HOOK_ABI: string[];
1090
+ declare const ENTRYPOINT_V07_ABI: string[];
1091
+ declare const SAFE7579_ACCOUNT_ABI: string[];
1049
1092
 
1050
1093
  /**
1051
1094
  * Network configurations
1052
1095
  *
1053
- * Contract architecture:
1054
- * - AccountFactory + AgentAccount (KYA-gated smart wallets)
1096
+ * Contract architecture (v2 — Safe + Safe7579):
1097
+ * - SafeAgentFactory + Safe proxy (4337-only smart wallets)
1098
+ * - ERC8004ValidationModule (ownership + KYA + module lock)
1099
+ * - HookMultiplexer (admin-managed hooks)
1055
1100
  * - AgentReputation (oracle-based scoring)
1056
1101
  * - ValidationRegistry (KYA code validation)
1057
1102
  * - ERC-8004 IdentityRegistry
@@ -1069,4 +1114,4 @@ declare function getDefaultConfig(chainId: ChainId): AgetherConfig;
1069
1114
  */
1070
1115
  declare function createConfig(chainId: ChainId, options?: Partial<AgetherConfig>): AgetherConfig;
1071
1116
 
1072
- export { ACCOUNT_FACTORY_ABI, AGENT_ACCOUNT_ABI, AGENT_REPUTATION_ABI, AgentIdentityClient, type AgentIdentityClientOptions, AgentNotApprovedError, AgetherClient, type AgetherClientOptions, type AgetherConfig, AgetherError, type AgetherSigner, type AgetherViemWallet, type BalancesResult, type BorrowResult, ChainId, type ContractAddresses, type DepositAndBorrowResult, type DepositResult, ERC20_ABI, type FundResult, IDENTITY_REGISTRY_ABI, InsufficientBalanceError, KYA_HOOK_ABI, MORPHO_BLUE_ABI, MorphoClient, type MorphoClientConfig, type MorphoMarketInfo, type MorphoMarketParams, type MorphoPosition, type PaymentRequirements, type PositionResult, type RegisterResult, type RepayResult, type ScoreAttestation, type ScoreResult, ScoringClient, type ScoringClientConfig, ScoringRejectedError, type SpendingTracker, type StatusResult, type TransactionResult, VALIDATION_REGISTRY_ABI, type WithdrawResult, X402Client, type X402Config, type X402PaymentRequest, type X402PaymentResult, type X402Response, bpsToRate, createConfig, formatAPR, formatAddress, formatHealthFactor, formatPercent, formatTimestamp, formatUSD, formatUnits, getDefaultConfig, parseUnits, rateToBps };
1117
+ export { ACCOUNT_FACTORY_ABI, AGENT_REPUTATION_ABI, AgentIdentityClient, type AgentIdentityClientOptions, AgentNotApprovedError, AgetherClient, type AgetherClientOptions, type AgetherConfig, AgetherError, type AgetherSigner, type AgetherViemWallet, type BalancesResult, type BorrowResult, ChainId, type ContractAddresses, type DepositAndBorrowResult, type DepositResult, ENTRYPOINT_V07_ABI, ERC20_ABI, ERC8004_VALIDATION_MODULE_ABI, type FundResult, HOOK_MULTIPLEXER_ABI, IDENTITY_REGISTRY_ABI, InsufficientBalanceError, MORPHO_BLUE_ABI, MorphoClient, type MorphoClientConfig, type MorphoMarketInfo, type MorphoMarketParams, type MorphoPosition, type PaymentRequirements, type PositionResult, type RegisterResult, type RepayResult, SAFE7579_ACCOUNT_ABI, SAFE_AGENT_FACTORY_ABI, type ScoreAttestation, type ScoreResult, ScoringClient, type ScoringClientConfig, ScoringRejectedError, type SpendingTracker, type StatusResult, type TransactionResult, VALIDATION_REGISTRY_ABI, type WithdrawResult, X402Client, type X402Config, type X402PaymentRequest, type X402PaymentResult, type X402Response, bpsToRate, createConfig, formatAPR, formatAddress, formatHealthFactor, formatPercent, formatTimestamp, formatUSD, formatUnits, getDefaultConfig, parseUnits, rateToBps };
package/dist/index.d.ts CHANGED
@@ -4,11 +4,14 @@ import { WalletClient } from 'viem';
4
4
  /**
5
5
  * Agether SDK Types
6
6
  *
7
- * Architecture:
7
+ * Architecture (v2 — Safe + Safe7579):
8
8
  * - Agent registers via ERC-8004 → gets agentId
9
- * - AccountFactory creates AgentAccount (KYA-gated smart wallet) per agent
9
+ * - SafeAgentFactory creates Safe proxy with Safe7579 adapter per agent
10
+ * - ERC8004ValidationModule: ownership + KYA gate + module lock (single 7579 validator)
11
+ * - HookMultiplexer: admin-managed hook chain
12
+ * - All execution via ERC-4337 UserOps through EntryPoint v0.7
10
13
  * - AgentReputation: oracle-based credit scoring
11
- * - Morpho Blue: direct overcollateralized lending (agents interact directly)
14
+ * - Morpho Blue: direct overcollateralized lending (agents interact via UserOps)
12
15
  * - x402: HTTP payment protocol for scoring API
13
16
  */
14
17
  declare enum ChainId {
@@ -100,12 +103,19 @@ interface AgetherConfig {
100
103
  kyaEndpoint?: string;
101
104
  }
102
105
  interface ContractAddresses {
103
- accountFactory: string;
106
+ safeSingleton: string;
107
+ safeProxyFactory: string;
108
+ safe7579: string;
109
+ entryPoint: string;
110
+ safeAgentFactory: string;
111
+ safe7579Bootstrap: string;
112
+ erc8004ValidationModule: string;
113
+ hookMultiplexer: string;
104
114
  validationRegistry: string;
105
115
  agentReputation: string;
106
- kyaHook: string;
107
- usdc: string;
116
+ timelockController: string;
108
117
  identityRegistry: string;
118
+ usdc: string;
109
119
  morphoBlue: string;
110
120
  }
111
121
  declare class AgetherError extends Error {
@@ -132,17 +142,16 @@ declare class AgetherClient {
132
142
  private config;
133
143
  private signer;
134
144
  private agentId;
135
- private accountFactory;
145
+ private safeAgentFactory;
136
146
  private identityRegistry;
137
- private validationRegistry;
138
147
  private agentReputation;
148
+ private validationModule;
139
149
  private accountAddress?;
140
150
  constructor(options: AgetherClientOptions);
141
151
  static fromPrivateKey(privateKey: string, agentId: bigint, chainIdOrConfig: ChainId | AgetherConfig): AgetherClient;
142
152
  createAccount(): Promise<string>;
143
153
  getAccountAddress(): Promise<string>;
144
154
  accountExists(): Promise<boolean>;
145
- predictAddress(): Promise<string>;
146
155
  getBalances(): Promise<{
147
156
  eoa: {
148
157
  eth: string;
@@ -154,9 +163,20 @@ declare class AgetherClient {
154
163
  usdc: string;
155
164
  };
156
165
  }>;
166
+ /**
167
+ * Fund the Safe account with USDC from EOA.
168
+ * This is a simple ERC-20 transfer (does NOT require a UserOp).
169
+ */
157
170
  fundAccount(usdcAmount: string): Promise<TransactionResult>;
158
- withdrawUsdc(usdcAmount: string): Promise<TransactionResult>;
159
- withdrawEth(ethAmount: string): Promise<TransactionResult>;
171
+ /**
172
+ * Check if the KYA gate is active on the validation module.
173
+ * If validationRegistry is not set, all txs pass (KYA disabled).
174
+ */
175
+ isKyaRequired(): Promise<boolean>;
176
+ /**
177
+ * Check if this agent's code is KYA-approved.
178
+ * Uses the ERC8004ValidationModule.isKYAApproved(account) view.
179
+ */
160
180
  isKyaApproved(): Promise<boolean>;
161
181
  identityExists(): Promise<boolean>;
162
182
  getIdentityOwner(): Promise<string>;
@@ -177,19 +197,17 @@ declare class AgetherClient {
177
197
  }
178
198
 
179
199
  /**
180
- * MorphoClient — Direct Morpho Blue lending via AgentAccount (ERC-7579)
200
+ * MorphoClient — Direct Morpho Blue lending via Safe account (ERC-4337 UserOps)
181
201
  *
182
- * Architecture (no intermediary contract):
183
- * EOA → AgentAccount.execute(MODE_BATCH, ...) → Morpho Blue (direct)
202
+ * Architecture (v2 Safe + Safe7579):
203
+ * EOA signs UserOp EntryPoint.handleOps() → Safe → Safe7579 → execute → Morpho Blue
184
204
  *
185
- * ERC-7579 execution modes:
205
+ * ERC-7579 execution modes (same encoding, submitted via UserOp):
186
206
  * - Single: execute(MODE_SINGLE, abi.encode(target, value, callData))
187
207
  * - Batch: execute(MODE_BATCH, abi.encode(Execution[]))
188
208
  *
189
- * Batched operations:
190
- * - depositAndBorrow: [ERC20.approve, Morpho.supplyCollateral, Morpho.borrow]
191
- * - repay: [ERC20.approve, Morpho.repay]
192
- * - supplyCollateral: [ERC20.approve, Morpho.supplyCollateral]
209
+ * The Safe account has a sentinel owner (no execTransaction).
210
+ * All state-changing operations go through ERC-4337 EntryPoint v0.7.
193
211
  *
194
212
  * Market discovery via Morpho GraphQL API (https://api.morpho.org/graphql)
195
213
  *
@@ -210,11 +228,13 @@ interface MorphoClientBaseConfig {
210
228
  agentId?: string;
211
229
  chainId?: ChainId;
212
230
  contracts?: Partial<{
213
- accountFactory: string;
231
+ safeAgentFactory: string;
214
232
  morphoBlue: string;
215
233
  usdc: string;
216
234
  agentReputation: string;
217
235
  identityRegistry: string;
236
+ erc8004ValidationModule: string;
237
+ entryPoint: string;
218
238
  }>;
219
239
  }
220
240
  /**
@@ -336,10 +356,12 @@ declare class MorphoClient {
336
356
  private _privateKey?;
337
357
  private _useExternalSigner;
338
358
  private _eoaAddress?;
339
- private accountFactory;
359
+ private safeAgentFactory;
340
360
  private morphoBlue;
341
361
  private agentReputation;
342
362
  private identityRegistry;
363
+ private entryPoint;
364
+ private validationModule;
343
365
  private _accountAddress?;
344
366
  private _marketCache;
345
367
  private _discoveredMarkets?;
@@ -347,8 +369,8 @@ declare class MorphoClient {
347
369
  constructor(config: MorphoClientConfig);
348
370
  /**
349
371
  * Check whether the KYA (Know Your Agent) code verification gate is active.
350
- * Reads the account's installed hook and checks if it has a non-zero
351
- * validationRegistry when set, the hook enforces KYA code approval.
372
+ * Reads the ERC8004ValidationModule's validationRegistry when set to
373
+ * a non-zero address, the module enforces KYA code approval.
352
374
  */
353
375
  isKyaRequired(): Promise<boolean>;
354
376
  /** Resolve the AgentAccount address (cached, with retry for flaky RPCs). */
@@ -540,11 +562,26 @@ declare class MorphoClient {
540
562
  */
541
563
  private _refreshSigner;
542
564
  /**
543
- * Execute a single call via AgentAccount.execute (ERC-7579 single mode).
565
+ * Pack two uint128 values into a single bytes32:
566
+ * bytes32 = (hi << 128) | lo
567
+ */
568
+ private _packUint128;
569
+ /**
570
+ * Build, sign and submit a PackedUserOperation through EntryPoint.handleOps.
571
+ *
572
+ * @param callData – the ABI-encoded calldata for the Safe7579 account
573
+ * (e.g. `execute(mode, executionCalldata)`)
574
+ * @returns the transaction receipt of the handleOps call
575
+ */
576
+ private _submitUserOp;
577
+ /**
578
+ * Execute a single call via Safe7579 account (ERC-7579 single mode)
579
+ * through an ERC-4337 UserOperation.
544
580
  */
545
581
  private exec;
546
582
  /**
547
- * Execute multiple calls via AgentAccount.execute (ERC-7579 batch mode).
583
+ * Execute multiple calls via Safe7579 account (ERC-7579 batch mode)
584
+ * through an ERC-4337 UserOperation.
548
585
  */
549
586
  private batch;
550
587
  /** Convert MorphoMarketParams to Solidity tuple. */
@@ -1031,27 +1068,35 @@ declare function rateToBps(rate: number): bigint;
1031
1068
  /**
1032
1069
  * Contract ABIs (minimal for SDK)
1033
1070
  *
1034
- * Architecture:
1035
- * - AccountFactory + AgentAccount (KYA-gated smart wallets)
1071
+ * Architecture (v2 — Safe + Safe7579):
1072
+ * - SafeAgentFactory (deploys Safe proxies with modules)
1073
+ * - ERC8004ValidationModule (ownership + KYA + module lock)
1074
+ * - HookMultiplexer (admin-managed hooks)
1036
1075
  * - AgentReputation (oracle-based credit scores)
1037
1076
  * - ValidationRegistry (KYA code validation)
1038
1077
  * - ERC-8004 IdentityRegistry
1039
1078
  * - Morpho Blue (direct overcollateralized lending)
1079
+ * - EntryPoint v0.7 (ERC-4337 UserOp submission)
1040
1080
  */
1041
1081
  declare const IDENTITY_REGISTRY_ABI: string[];
1082
+ declare const SAFE_AGENT_FACTORY_ABI: string[];
1042
1083
  declare const ACCOUNT_FACTORY_ABI: string[];
1043
- declare const AGENT_ACCOUNT_ABI: string[];
1084
+ declare const ERC8004_VALIDATION_MODULE_ABI: string[];
1085
+ declare const HOOK_MULTIPLEXER_ABI: string[];
1044
1086
  declare const AGENT_REPUTATION_ABI: string[];
1045
1087
  declare const VALIDATION_REGISTRY_ABI: string[];
1046
1088
  declare const MORPHO_BLUE_ABI: string[];
1047
1089
  declare const ERC20_ABI: string[];
1048
- declare const KYA_HOOK_ABI: string[];
1090
+ declare const ENTRYPOINT_V07_ABI: string[];
1091
+ declare const SAFE7579_ACCOUNT_ABI: string[];
1049
1092
 
1050
1093
  /**
1051
1094
  * Network configurations
1052
1095
  *
1053
- * Contract architecture:
1054
- * - AccountFactory + AgentAccount (KYA-gated smart wallets)
1096
+ * Contract architecture (v2 — Safe + Safe7579):
1097
+ * - SafeAgentFactory + Safe proxy (4337-only smart wallets)
1098
+ * - ERC8004ValidationModule (ownership + KYA + module lock)
1099
+ * - HookMultiplexer (admin-managed hooks)
1055
1100
  * - AgentReputation (oracle-based scoring)
1056
1101
  * - ValidationRegistry (KYA code validation)
1057
1102
  * - ERC-8004 IdentityRegistry
@@ -1069,4 +1114,4 @@ declare function getDefaultConfig(chainId: ChainId): AgetherConfig;
1069
1114
  */
1070
1115
  declare function createConfig(chainId: ChainId, options?: Partial<AgetherConfig>): AgetherConfig;
1071
1116
 
1072
- export { ACCOUNT_FACTORY_ABI, AGENT_ACCOUNT_ABI, AGENT_REPUTATION_ABI, AgentIdentityClient, type AgentIdentityClientOptions, AgentNotApprovedError, AgetherClient, type AgetherClientOptions, type AgetherConfig, AgetherError, type AgetherSigner, type AgetherViemWallet, type BalancesResult, type BorrowResult, ChainId, type ContractAddresses, type DepositAndBorrowResult, type DepositResult, ERC20_ABI, type FundResult, IDENTITY_REGISTRY_ABI, InsufficientBalanceError, KYA_HOOK_ABI, MORPHO_BLUE_ABI, MorphoClient, type MorphoClientConfig, type MorphoMarketInfo, type MorphoMarketParams, type MorphoPosition, type PaymentRequirements, type PositionResult, type RegisterResult, type RepayResult, type ScoreAttestation, type ScoreResult, ScoringClient, type ScoringClientConfig, ScoringRejectedError, type SpendingTracker, type StatusResult, type TransactionResult, VALIDATION_REGISTRY_ABI, type WithdrawResult, X402Client, type X402Config, type X402PaymentRequest, type X402PaymentResult, type X402Response, bpsToRate, createConfig, formatAPR, formatAddress, formatHealthFactor, formatPercent, formatTimestamp, formatUSD, formatUnits, getDefaultConfig, parseUnits, rateToBps };
1117
+ export { ACCOUNT_FACTORY_ABI, AGENT_REPUTATION_ABI, AgentIdentityClient, type AgentIdentityClientOptions, AgentNotApprovedError, AgetherClient, type AgetherClientOptions, type AgetherConfig, AgetherError, type AgetherSigner, type AgetherViemWallet, type BalancesResult, type BorrowResult, ChainId, type ContractAddresses, type DepositAndBorrowResult, type DepositResult, ENTRYPOINT_V07_ABI, ERC20_ABI, ERC8004_VALIDATION_MODULE_ABI, type FundResult, HOOK_MULTIPLEXER_ABI, IDENTITY_REGISTRY_ABI, InsufficientBalanceError, MORPHO_BLUE_ABI, MorphoClient, type MorphoClientConfig, type MorphoMarketInfo, type MorphoMarketParams, type MorphoPosition, type PaymentRequirements, type PositionResult, type RegisterResult, type RepayResult, SAFE7579_ACCOUNT_ABI, SAFE_AGENT_FACTORY_ABI, type ScoreAttestation, type ScoreResult, ScoringClient, type ScoringClientConfig, ScoringRejectedError, type SpendingTracker, type StatusResult, type TransactionResult, VALIDATION_REGISTRY_ABI, type WithdrawResult, X402Client, type X402Config, type X402PaymentRequest, type X402PaymentResult, type X402Response, bpsToRate, createConfig, formatAPR, formatAddress, formatHealthFactor, formatPercent, formatTimestamp, formatUSD, formatUnits, getDefaultConfig, parseUnits, rateToBps };