@zerodev/sdk 4.3.4 → 4.4.1
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/cjs/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +52 -8
- package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js +65 -8
- package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js.map +1 -1
- package/dist/cjs/kernel-zerodev/constants.d.ts +2 -2
- package/dist/cjs/kernel-zerodev/constants.js +2 -2
- package/dist/cjs/kernel-zerodev/constants.js.map +1 -1
- package/dist/cjs/kernel-zerodev/validator/recovery-validator.d.ts +1 -0
- package/dist/cjs/kernel-zerodev/validator/recovery-validator.js +8 -1
- package/dist/cjs/kernel-zerodev/validator/recovery-validator.js.map +1 -1
- package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.d.ts +1 -0
- package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js +14 -1
- package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js.map +1 -1
- package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +52 -8
- package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js +65 -8
- package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js.map +1 -1
- package/dist/esm/kernel-zerodev/constants.d.ts +2 -2
- package/dist/esm/kernel-zerodev/constants.js +2 -2
- package/dist/esm/kernel-zerodev/constants.js.map +1 -1
- package/dist/esm/kernel-zerodev/validator/recovery-validator.d.ts +1 -0
- package/dist/esm/kernel-zerodev/validator/recovery-validator.js +8 -1
- package/dist/esm/kernel-zerodev/validator/recovery-validator.js.map +1 -1
- package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.d.ts +1 -0
- package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js +15 -2
- package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js.map +1 -1
- package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +52 -8
- package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts.map +1 -1
- package/dist/types/kernel-zerodev/constants.d.ts +2 -2
- package/dist/types/kernel-zerodev/constants.d.ts.map +1 -1
- package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts +1 -0
- package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts.map +1 -1
- package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts +1 -0
- package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/kernel-zerodev/__tests__/config/index.ts +1 -0
- package/src/kernel-zerodev/abis/WeightedValidatorAbi.ts +65 -8
- package/src/kernel-zerodev/constants.ts +3 -2
- package/src/kernel-zerodev/validator/recovery-validator.ts +14 -1
- package/src/kernel-zerodev/validator-provider/recovery-provider.ts +27 -2
|
@@ -243,6 +243,19 @@ export class RecoveryValidator extends KernelBaseValidator {
|
|
|
243
243
|
});
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
+
encodeRenew(
|
|
247
|
+
guardians: Address[],
|
|
248
|
+
weights: number[],
|
|
249
|
+
threshold: number,
|
|
250
|
+
delay: number
|
|
251
|
+
): Hex {
|
|
252
|
+
return encodeFunctionData({
|
|
253
|
+
abi: WeightedValidatorAbi,
|
|
254
|
+
functionName: "renew",
|
|
255
|
+
args: [guardians, weights, threshold, delay],
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
|
|
246
259
|
encodeRecoveryAction(enableData: Hex, defaultValidatorAddress: Address): Hex {
|
|
247
260
|
return encodeFunctionData({
|
|
248
261
|
abi: RecoveryActionAbi,
|
|
@@ -393,7 +406,7 @@ export class RecoveryValidator extends KernelBaseValidator {
|
|
|
393
406
|
return await signer.signTypedData({
|
|
394
407
|
domain: {
|
|
395
408
|
name: "WeightedECDSAValidator",
|
|
396
|
-
version: "1",
|
|
409
|
+
version: "0.0.1",
|
|
397
410
|
chainId: this.chain.id,
|
|
398
411
|
verifyingContract: this.validatorAddress,
|
|
399
412
|
},
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
type TransactionReceipt,
|
|
27
27
|
createPublicClient,
|
|
28
28
|
http,
|
|
29
|
+
decodeAbiParameters,
|
|
29
30
|
} from "viem";
|
|
30
31
|
import { RecoveryActionAbi } from "../abis/RecoveryActionAbi.js";
|
|
31
32
|
import { KernelAccountAbi } from "../abis/KernelAccountAbi.js";
|
|
@@ -149,10 +150,11 @@ export class RecoveryProvider extends ValidatorProvider<
|
|
|
149
150
|
functionName: "doRecovery",
|
|
150
151
|
args: [defaultValidatorAddress, enableData],
|
|
151
152
|
});
|
|
153
|
+
const sender = await this.getAddress();
|
|
152
154
|
const nonce = await (await this.getAccount()).getNonce();
|
|
153
155
|
const encodedCallDataAndNonce = encodeAbiParameters(
|
|
154
|
-
parseAbiParameters("bytes calldata, uint256 nonce"),
|
|
155
|
-
[callData, nonce]
|
|
156
|
+
parseAbiParameters("address sender, bytes calldata, uint256 nonce"),
|
|
157
|
+
[sender, callData, nonce]
|
|
156
158
|
);
|
|
157
159
|
return keccak256(encodedCallDataAndNonce);
|
|
158
160
|
}
|
|
@@ -175,6 +177,29 @@ export class RecoveryProvider extends ValidatorProvider<
|
|
|
175
177
|
});
|
|
176
178
|
}
|
|
177
179
|
|
|
180
|
+
async renewRecovery(): Promise<SendUserOperationResult> {
|
|
181
|
+
if (!this.defaultProvider) {
|
|
182
|
+
throw Error("DefaultProvider uninitilised");
|
|
183
|
+
}
|
|
184
|
+
const enableData = await this.getValidator().getEnableData();
|
|
185
|
+
const [guardians, weights, threshold, delay] = decodeAbiParameters(
|
|
186
|
+
parseAbiParameters(
|
|
187
|
+
"address[] guardians, uint24[] weights, uint24 threshold, uint48 delay"
|
|
188
|
+
),
|
|
189
|
+
enableData
|
|
190
|
+
);
|
|
191
|
+
const encodedRenewData = await this.getValidator().encodeRenew(
|
|
192
|
+
[...guardians],
|
|
193
|
+
[...weights],
|
|
194
|
+
threshold,
|
|
195
|
+
delay
|
|
196
|
+
);
|
|
197
|
+
return await this.defaultProvider.sendUserOperation({
|
|
198
|
+
target: this.getValidator().validatorAddress,
|
|
199
|
+
data: encodedRenewData,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
|
|
178
203
|
async initiateRecovery(enableData: Hex): Promise<string> {
|
|
179
204
|
const serializedConfig = this.serializeRecoveryConfig();
|
|
180
205
|
const recoveryId = await postRecoveryData(
|