abstractionkit 0.1.14 → 0.1.15

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.
Files changed (39) hide show
  1. package/dist/Bundler.d.ts +3 -3
  2. package/dist/Bundler.d.ts.map +1 -1
  3. package/dist/abstractionkit.d.ts +7 -5
  4. package/dist/abstractionkit.d.ts.map +1 -1
  5. package/dist/account/Safe/SafeAccount.d.ts +100 -23
  6. package/dist/account/Safe/SafeAccount.d.ts.map +1 -1
  7. package/dist/account/Safe/SafeAccountV0_2_0.d.ts +28 -13
  8. package/dist/account/Safe/SafeAccountV0_2_0.d.ts.map +1 -1
  9. package/dist/account/Safe/SafeAccountV0_3_0.d.ts +31 -0
  10. package/dist/account/Safe/SafeAccountV0_3_0.d.ts.map +1 -0
  11. package/dist/account/Safe/modules/SafeModule.d.ts +7 -0
  12. package/dist/account/Safe/modules/SafeModule.d.ts.map +1 -0
  13. package/dist/account/Safe/modules/SocialRecoveryModule.d.ts +34 -0
  14. package/dist/account/Safe/modules/SocialRecoveryModule.d.ts.map +1 -0
  15. package/dist/account/Safe/types.d.ts +66 -12
  16. package/dist/account/Safe/types.d.ts.map +1 -1
  17. package/dist/constants.d.ts +15 -2
  18. package/dist/constants.d.ts.map +1 -1
  19. package/dist/errors.d.ts +1 -0
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/factory/SafeAccountFactory.d.ts +1 -0
  22. package/dist/factory/SafeAccountFactory.d.ts.map +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/index.m.js +1 -1
  25. package/dist/index.modern.mjs +1 -1
  26. package/dist/index.umd.js +1 -1
  27. package/dist/paymaster/CandidePaymaster.d.ts +20 -15
  28. package/dist/paymaster/CandidePaymaster.d.ts.map +1 -1
  29. package/dist/paymaster/Paymaster.d.ts +3 -3
  30. package/dist/paymaster/Paymaster.d.ts.map +1 -1
  31. package/dist/paymaster/types.d.ts +10 -0
  32. package/dist/paymaster/types.d.ts.map +1 -1
  33. package/dist/types.d.ts +55 -11
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/utils.d.ts +16 -4
  36. package/dist/utils.d.ts.map +1 -1
  37. package/package.json +5 -2
  38. package/dist/account/Safe/SafeAccountWebAuth.d.ts +0 -31
  39. package/dist/account/Safe/SafeAccountWebAuth.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Paymaster.d.ts","sourceRoot":"","sources":["../../src/paymaster/Paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,8BAAsB,SAAS;IAC9B,QAAQ,CAAC,4BAA4B,CACpC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,uBAAuB,EAChC,kBAAkB,CAAC,EAAE,gBAAgB,GACnC,OAAO,CAAC,aAAa,CAAC;CACzB"}
1
+ {"version":3,"file":"Paymaster.d.ts","sourceRoot":"","sources":["../../src/paymaster/Paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,qCAAqC,EAAC,MAAM,SAAS,CAAC;AAExF,8BAAsB,SAAS;IAC9B,QAAQ,CAAC,4BAA4B,CACpC,aAAa,EAAE,eAAe,GAAG,eAAe,EAChD,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,uBAAuB,EAC1B,qCAAqC,EAAC,qCAAqC,GAC/E,OAAO,CAAC,CAAC,eAAe,GAAG,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC;CAC5E"}
@@ -1,7 +1,17 @@
1
+ import type { StateOverrideSet } from "../types";
1
2
  export interface CandidePaymasterContext {
2
3
  token?: string;
3
4
  }
4
5
  export interface PrependTokenPaymasterApproveAccount {
5
6
  prependTokenPaymasterApproveToCallData(callData: string, tokenAddress: string, paymasterAddress: string, approveAmount: bigint): string;
6
7
  }
8
+ export interface CreatePaymasterUserOperationOverrides {
9
+ callGasLimit?: bigint;
10
+ verificationGasLimit?: bigint;
11
+ preVerificationGas?: bigint;
12
+ callGasLimitPercentageMultiplier?: number;
13
+ verificationGasLimitPercentageMultiplier?: number;
14
+ preVerificationGasPercentageMultiplier?: number;
15
+ state_override_set?: StateOverrideSet;
16
+ }
7
17
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/paymaster/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mCAAmC;IACnD,sCAAsC,CACrC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,GACnB,MAAM,CAAC;CACV"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/paymaster/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,WAAW,uBAAuB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mCAAmC;IACnD,sCAAsC,CACrC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,GACnB,MAAM,CAAC;CACV;AAKD,MAAM,WAAW,qCAAqC;IAErD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAE1C,wCAAwC,CAAC,EAAE,MAAM,CAAC;IAElD,sCAAsC,CAAC,EAAE,MAAM,CAAC;IAGhD,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;CACtC"}
package/dist/types.d.ts CHANGED
@@ -1,16 +1,26 @@
1
- export type UserOperation = {
1
+ export interface BaseUserOperation {
2
2
  sender: string;
3
3
  nonce: bigint;
4
- initCode: string;
5
4
  callData: string;
6
5
  callGasLimit: bigint;
7
6
  verificationGasLimit: bigint;
8
7
  preVerificationGas: bigint;
9
8
  maxFeePerGas: bigint;
10
9
  maxPriorityFeePerGas: bigint;
11
- paymasterAndData: string;
12
10
  signature: string;
13
- };
11
+ }
12
+ export interface UserOperationV6 extends BaseUserOperation {
13
+ initCode: string;
14
+ paymasterAndData: string;
15
+ }
16
+ export interface UserOperationV7 extends BaseUserOperation {
17
+ factory: string | null;
18
+ factoryData: string | null;
19
+ paymaster: string | null;
20
+ paymasterVerificationGasLimit: bigint | null;
21
+ paymasterPostOpGasLimit: bigint | null;
22
+ paymasterData: string | null;
23
+ }
14
24
  export type AbiInputValue = string | bigint | number | boolean | AbiInputValue[];
15
25
  export type JsonRpcParam = string | bigint | boolean | object | JsonRpcParam[];
16
26
  export type JsonRpcResponse = {
@@ -21,7 +31,7 @@ export type JsonRpcResponse = {
21
31
  };
22
32
  export type ChainIdResult = string;
23
33
  export type SupportedEntryPointsResult = string[];
24
- export type JsonRpcResult = ChainIdResult | SupportedEntryPointsResult | GasEstimationResult | UserOperationByHashResult | UserOperationReceipt | UserOperationReceiptResult | SupportedERC20TokensAndMetadata | PmUserOperationResult;
34
+ export type JsonRpcResult = ChainIdResult | SupportedEntryPointsResult | GasEstimationResult | UserOperationByHashResult | UserOperationReceipt | UserOperationReceiptResult | SupportedERC20TokensAndMetadataV7 | SupportedERC20TokensAndMetadataV6 | PmUserOperationV7Result | PmUserOperationV6Result;
25
35
  export type JsonRpcError = {
26
36
  code: number;
27
37
  message: string;
@@ -33,7 +43,7 @@ export type GasEstimationResult = {
33
43
  verificationGasLimit: bigint;
34
44
  };
35
45
  export type UserOperationByHashResult = {
36
- userOperation: UserOperation;
46
+ userOperation: UserOperationV6 | UserOperationV7;
37
47
  entryPoint: string;
38
48
  blockNumber: bigint | null;
39
49
  blockHash: string | null;
@@ -63,13 +73,32 @@ export type UserOperationReceiptResult = {
63
73
  logs: string;
64
74
  receipt: UserOperationReceipt;
65
75
  } | null;
66
- export type PmUserOperationResult = {
76
+ export type SponsorMetadata = {
77
+ name: string;
78
+ description: string;
79
+ url: string;
80
+ icons: string[];
81
+ };
82
+ export type PmUserOperationV7Result = {
83
+ paymaster: string;
84
+ paymasterVerificationGasLimit: bigint;
85
+ paymasterPostOpGasLimit: bigint;
86
+ paymasterData: string;
87
+ callGasLimit?: bigint;
88
+ verificationGasLimit?: bigint;
89
+ preVerificationGas?: bigint;
90
+ maxFeePerGas?: bigint;
91
+ maxPriorityFeePerGas?: bigint;
92
+ sponsorMetadata?: SponsorMetadata;
93
+ };
94
+ export type PmUserOperationV6Result = {
67
95
  paymasterAndData: string;
68
96
  callGasLimit?: bigint;
69
97
  preVerificationGas?: bigint;
70
98
  verificationGasLimit?: bigint;
71
99
  maxFeePerGas?: bigint;
72
100
  maxPriorityFeePerGas?: bigint;
101
+ sponsorMetadata?: SponsorMetadata;
73
102
  };
74
103
  export declare enum Operation {
75
104
  Call = 0,
@@ -82,22 +111,36 @@ export interface MetaTransaction {
82
111
  operation?: Operation;
83
112
  }
84
113
  export interface ERC20Token {
114
+ name: string;
85
115
  symbol: string;
86
116
  address: string;
87
117
  decimal: number;
88
- fee: bigint;
89
118
  exchangeRate: bigint;
90
119
  }
91
- export interface PaymasterMetadata {
120
+ interface BasePaymasterMetadata {
92
121
  name: string;
93
122
  description: string;
94
123
  icons: string[];
95
124
  address: string;
96
125
  sponsoredEventTopic: string;
126
+ }
127
+ export interface PaymasterMetadataV7 extends BasePaymasterMetadata {
128
+ dummyPaymasterAndData: {
129
+ paymaster: string;
130
+ paymasterVerificationGasLimit: bigint;
131
+ paymasterPostOpGasLimit: bigint;
132
+ paymasterData: string;
133
+ };
134
+ }
135
+ export interface PaymasterMetadataV6 extends BasePaymasterMetadata {
97
136
  dummyPaymasterAndData: string;
98
137
  }
99
- export interface SupportedERC20TokensAndMetadata {
100
- paymasterMetadata: PaymasterMetadata;
138
+ export interface SupportedERC20TokensAndMetadataV7 {
139
+ paymasterMetadata: PaymasterMetadataV7;
140
+ tokens: ERC20Token[];
141
+ }
142
+ export interface SupportedERC20TokensAndMetadataV6 {
143
+ paymasterMetadata: PaymasterMetadataV6;
101
144
  tokens: ERC20Token[];
102
145
  }
103
146
  export interface Dictionary<T> {
@@ -118,4 +161,5 @@ export declare enum GasOption {
118
161
  Medium = 1.2,
119
162
  Fast = 1.5
120
163
  }
164
+ export {};
121
165
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1,10 +1,22 @@
1
- import { AbiInputValue, UserOperation, JsonRpcParam, GasOption, JsonRpcResult } from "./types";
2
- export declare function createUserOperationHash(useroperation: UserOperation, entrypointAddress: string, chainId: bigint): string;
3
- export declare function createPackedUserOperation(useroperation: UserOperation): string;
1
+ import { AbiInputValue, UserOperationV6, JsonRpcParam, GasOption, JsonRpcResult, UserOperationV7 } from "./types";
2
+ export declare function createUserOperationHash(useroperation: UserOperationV6 | UserOperationV7, entrypointAddress: string, chainId: bigint): string;
3
+ export declare function createPackedUserOperationV6(useroperation: UserOperationV6): string;
4
+ export declare function createPackedUserOperationV7(useroperation: UserOperationV7): string;
4
5
  export declare function createCallData(functionSelector: string, functionInputAbi: string[], functionInputParameters: AbiInputValue[]): string;
5
6
  export declare function sendJsonRpcRequest(rpcUrl: string, method: string, params: JsonRpcParam): Promise<JsonRpcResult>;
6
7
  export declare function getFunctionSelector(functionSignature: string): string;
7
8
  export declare function fetchAccountNonce(rpcUrl: string, entryPoint: string, account: string, key?: number): Promise<bigint>;
8
9
  export declare function fetchGasPrice(provideRpc: string, gasLevel?: GasOption): Promise<[bigint, bigint]>;
9
- export declare function calculateUserOperationMaxGasCost(useroperation: UserOperation): bigint;
10
+ export declare function calculateUserOperationMaxGasCost(useroperation: UserOperationV6 | UserOperationV7): bigint;
11
+ type EthCallTransaction = {
12
+ from?: string;
13
+ to: string;
14
+ gas?: bigint;
15
+ gasPrice?: bigint;
16
+ value?: bigint;
17
+ data?: string;
18
+ };
19
+ export declare function sendEthCallRequest(nodeRpcUrl: string, ethCallTransaction: EthCallTransaction, blockNumber: string | bigint): Promise<string>;
20
+ export declare function sendEthGetCodeRequest(nodeRpcUrl: string, contractAddress: string, blockNumber: string | bigint): Promise<string>;
21
+ export {};
10
22
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EACN,aAAa,EACb,aAAa,EAEb,YAAY,EAEZ,SAAS,EACT,aAAa,EACb,MAAM,SAAS,CAAC;AAcjB,wBAAgB,uBAAuB,CACtC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,GACb,MAAM,CAcR;AAOD,wBAAgB,yBAAyB,CACxC,aAAa,EAAE,aAAa,GAC1B,MAAM,CA+BR;AASD,wBAAgB,cAAc,CAC7B,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,uBAAuB,EAAE,aAAa,EAAE,GACtC,MAAM,CASR;AAED,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GAClB,OAAO,CAAC,aAAa,CAAC,CAmDxB;AAWD,wBAAgB,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAErE;AAUD,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAU,GACb,OAAO,CAAC,MAAM,CAAC,CAqDjB;AAED,wBAAsB,aAAa,CAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,SAA4B,GACpC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAW3B;AAED,wBAAgB,gCAAgC,CAC/C,aAAa,EAAE,aAAa,GAC1B,MAAM,CAWR"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EACN,aAAa,EACb,eAAe,EAEf,YAAY,EAEZ,SAAS,EACT,aAAa,EACV,eAAe,EAClB,MAAM,SAAS,CAAC;AAcjB,wBAAgB,uBAAuB,CACtC,aAAa,EAAE,eAAe,GAAG,eAAe,EAChD,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,GACb,MAAM,CAsBR;AAOD,wBAAgB,2BAA2B,CAC1C,aAAa,EAAE,eAAe,GAC5B,MAAM,CA+BR;AAQD,wBAAgB,2BAA2B,CAC1C,aAAa,EAAE,eAAe,GAC5B,MAAM,CA0FR;AASD,wBAAgB,cAAc,CAC7B,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,uBAAuB,EAAE,aAAa,EAAE,GACtC,MAAM,CASR;AAED,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GAClB,OAAO,CAAC,aAAa,CAAC,CAoDxB;AAWD,wBAAgB,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAErE;AAUD,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAU,GACb,OAAO,CAAC,MAAM,CAAC,CAqDjB;AAED,wBAAsB,aAAa,CAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,SAA4B,GACpC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAW3B;AAED,wBAAgB,gCAAgC,CAC/C,aAAa,EAAE,eAAe,GAAG,eAAe,GAC9C,MAAM,CAoBR;AAED,KAAK,kBAAkB,GAAG;IACtB,IAAI,CAAC,EAAC,MAAM,CAAC;IACb,EAAE,EAAC,MAAM,CAAC;IACV,GAAG,CAAC,EAAC,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAC,MAAM,CAAC;IACjB,KAAK,CAAC,EAAC,MAAM,CAAC;IACd,IAAI,CAAC,EAAC,MAAM,CAAC;CAChB,CAAA;AAED,wBAAsB,kBAAkB,CACpC,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,MAAM,GAAC,MAAM,GAC3B,OAAO,CAAC,MAAM,CAAC,CAuCjB;AACD,wBAAsB,qBAAqB,CACvC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,GAAC,MAAM,GAC3B,OAAO,CAAC,MAAM,CAAC,CAuCjB"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "name": "Candidelabs",
5
5
  "url": "https://candide.dev"
6
6
  },
7
- "version": "0.1.14",
7
+ "version": "0.1.15",
8
8
  "description": "Account Abstraction 4337 SDK by Candidelabs",
9
9
  "main": "dist/index.js",
10
10
  "module": "dist/index.m.js",
@@ -15,7 +15,8 @@
15
15
  "clean": "rm -rf dist",
16
16
  "format": "prettier --write src/*.ts src/**/*.ts src/**/**/*.ts",
17
17
  "lint": "eslint -f unix \"src/**/*.{ts,tsx}\"",
18
- "prepare": "husky install"
18
+ "prepare": "husky install",
19
+ "test": "jest"
19
20
  },
20
21
  "repository": {
21
22
  "type": "git",
@@ -45,9 +46,11 @@
45
46
  "devDependencies": {
46
47
  "@typescript-eslint/eslint-plugin": "^6.2.0",
47
48
  "@typescript-eslint/parser": "^6.2.0",
49
+ "dotenv": "^16.4.5",
48
50
  "eslint": "^8.46.0",
49
51
  "eslint-plugin-tsdoc": "^0.2.17",
50
52
  "husky": ">=6",
53
+ "jest": "^29.7.0",
51
54
  "lint-staged": ">=10",
52
55
  "microbundle": "^0.15.1",
53
56
  "prettier": "3.0.0",
@@ -1,31 +0,0 @@
1
- import { SafeAccount } from "./SafeAccount";
2
- import { MetaTransaction, StateOverrideSet, UserOperation } from "../../types";
3
- import { CreateUserOperationOverrides, DummySignature, InitCodeOverrides, Signer, SignerSignaturePair, WebauthSignatureData } from "./types";
4
- import { SafeAccountFactory } from "src/factory/SafeAccountFactory";
5
- export declare class SafeAccountWebAuth extends SafeAccount {
6
- static readonly DEFAULT_WEB_AUTHN_SIGNATURE_VALIDATOR_SINGLETON: string;
7
- static readonly DEFAULT_WEB_AUTHN_SIGNER_FACTORY: string;
8
- static readonly DEFAULT_WEB_AUTHN_VERIFIER: string;
9
- static readonly DEFAULT_SIGNATURE_VALIDATOR = "0x21E4747C7215fe6E343376034F08261bBD9ac497";
10
- static readonly DEFAULT_WEB_AUTHN_SIGNER_CREATION_CODE = "0x608060405234801561001057600080fd5b5060405161017238038061017283398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b607b806100f76000396000f3fe608060405260008054632cf35bc960e11b8235016027576001600160f41b0381168252602082f35b3682833781823684845af490503d82833e806040573d82fd5b503d81f3fea264697066735822122062f4785a59897477a798d8218290ac5cf89f803649d66b453fa58689dd461e3164736f6c63430008140033";
11
- private isInitWebAuthn;
12
- private x;
13
- private y;
14
- constructor(accountAddress: string, safe4337ModuleAddress?: string, entrypointAddress?: string);
15
- static initializeNewAccount(owners: Signer[], overrides?: InitCodeOverrides): SafeAccountWebAuth;
16
- static createAccountAddress(owners: Signer[], overrides?: InitCodeOverrides): string;
17
- static createAccountAddressAndInitCode(owners: Signer[], overrides?: InitCodeOverrides): [string, string];
18
- protected static createInitializerCallData(owners: Signer[], threshold: number, safe4337ModuleAddress?: string, addModuleLibAddress?: string): string;
19
- static createInitCode(owners: Signer[], threshold?: number, c2Nonce?: bigint, singletonAddress?: string, safeAccountFactory?: SafeAccountFactory, safe4337ModuleAddress?: string, addModuleLibAddress?: string): string;
20
- prependTokenPaymasterApproveToCallData(callData: string, tokenAddress: string, paymasterAddress: string, approveAmount: bigint, multisendContractAddress?: string): string;
21
- estimateUserOperationGas(userOperation: UserOperation, bundlerRpc: string, state_override_set?: StateOverrideSet, numberOfSigners?: number, dummySingatures?: DummySignature[] | null): Promise<[bigint, bigint, bigint]>;
22
- createUserOperation(transactions: MetaTransaction[], providerRpc?: string, bundlerRpc?: string, overrids?: CreateUserOperationOverrides): Promise<UserOperation>;
23
- signUserOperation(useroperation: UserOperation, privateKeys: string[], chainId: bigint, validAfter?: bigint, validUntil?: bigint): string;
24
- static createWebAuthnSignerVerifierAddress(x: bigint, y: bigint): string;
25
- static formatSignaturesToUseroperationSignature(signatures: SignerSignaturePair[], isInit?: boolean | null, validAfter?: bigint, validUntil?: bigint): string;
26
- static getLowerCaseAddress(signer: Signer): string;
27
- static sortSignatures(signatures: SignerSignaturePair[]): void;
28
- static buildSignatures(signatures: SignerSignaturePair[], isInit?: boolean | null): string;
29
- static createWebAuthnSignature(signatureData: WebauthSignatureData): string;
30
- }
31
- //# sourceMappingURL=SafeAccountWebAuth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SafeAccountWebAuth.d.ts","sourceRoot":"","sources":["../../../src/account/Safe/SafeAccountWebAuth.ts"],"names":[],"mappings":"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"}