permissionless 0.2.25 → 0.2.27
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/CHANGELOG.md +12 -0
- package/_cjs/accounts/biconomy/toBiconomySmartAccount.js +27 -0
- package/_cjs/accounts/biconomy/toBiconomySmartAccount.js.map +1 -1
- package/_cjs/accounts/etherspot/toEtherspotSmartAccount.js +4 -0
- package/_cjs/accounts/etherspot/toEtherspotSmartAccount.js.map +1 -1
- package/_cjs/accounts/kernel/abi/KernelV3FactoryAbi.js +16 -0
- package/_cjs/accounts/kernel/abi/KernelV3FactoryAbi.js.map +1 -0
- package/_cjs/accounts/kernel/toKernelSmartAccount.js +17 -4
- package/_cjs/accounts/kernel/toKernelSmartAccount.js.map +1 -1
- package/_cjs/accounts/kernel/utils/decodeCallData.js +36 -0
- package/_cjs/accounts/kernel/utils/decodeCallData.js.map +1 -0
- package/_cjs/accounts/light/toLightSmartAccount.js +81 -0
- package/_cjs/accounts/light/toLightSmartAccount.js.map +1 -1
- package/_cjs/accounts/nexus/toNexusSmartAccount.js +4 -0
- package/_cjs/accounts/nexus/toNexusSmartAccount.js.map +1 -1
- package/_cjs/accounts/safe/toSafeSmartAccount.js +47 -0
- package/_cjs/accounts/safe/toSafeSmartAccount.js.map +1 -1
- package/_cjs/accounts/simple/toSimpleSmartAccount.js +114 -0
- package/_cjs/accounts/simple/toSimpleSmartAccount.js.map +1 -1
- package/_cjs/accounts/thirdweb/toThirdwebSmartAccount.js +4 -0
- package/_cjs/accounts/thirdweb/toThirdwebSmartAccount.js.map +1 -1
- package/_cjs/accounts/thirdweb/utils/decodeCallData.js +83 -0
- package/_cjs/accounts/thirdweb/utils/decodeCallData.js.map +1 -0
- package/_cjs/accounts/trust/toTrustSmartAccount.js +4 -0
- package/_cjs/accounts/trust/toTrustSmartAccount.js.map +1 -1
- package/_cjs/accounts/trust/utils/decodeCallData.js +83 -0
- package/_cjs/accounts/trust/utils/decodeCallData.js.map +1 -0
- package/_cjs/utils/decode7579Calls.js +100 -0
- package/_cjs/utils/decode7579Calls.js.map +1 -0
- package/_cjs/utils/getEstimationCallData.js +220 -0
- package/_cjs/utils/getEstimationCallData.js.map +1 -0
- package/_cjs/utils/index.js +3 -1
- package/_cjs/utils/index.js.map +1 -1
- package/_esm/accounts/biconomy/toBiconomySmartAccount.js +28 -1
- package/_esm/accounts/biconomy/toBiconomySmartAccount.js.map +1 -1
- package/_esm/accounts/etherspot/toEtherspotSmartAccount.js +4 -0
- package/_esm/accounts/etherspot/toEtherspotSmartAccount.js.map +1 -1
- package/_esm/accounts/kernel/abi/KernelV3FactoryAbi.js +13 -0
- package/_esm/accounts/kernel/abi/KernelV3FactoryAbi.js.map +1 -0
- package/_esm/accounts/kernel/toKernelSmartAccount.js +17 -4
- package/_esm/accounts/kernel/toKernelSmartAccount.js.map +1 -1
- package/_esm/accounts/kernel/utils/decodeCallData.js +32 -0
- package/_esm/accounts/kernel/utils/decodeCallData.js.map +1 -0
- package/_esm/accounts/light/toLightSmartAccount.js +82 -1
- package/_esm/accounts/light/toLightSmartAccount.js.map +1 -1
- package/_esm/accounts/nexus/toNexusSmartAccount.js +4 -0
- package/_esm/accounts/nexus/toNexusSmartAccount.js.map +1 -1
- package/_esm/accounts/safe/toSafeSmartAccount.js +56 -2
- package/_esm/accounts/safe/toSafeSmartAccount.js.map +1 -1
- package/_esm/accounts/simple/toSimpleSmartAccount.js +115 -1
- package/_esm/accounts/simple/toSimpleSmartAccount.js.map +1 -1
- package/_esm/accounts/thirdweb/toThirdwebSmartAccount.js +4 -0
- package/_esm/accounts/thirdweb/toThirdwebSmartAccount.js.map +1 -1
- package/_esm/accounts/thirdweb/utils/decodeCallData.js +79 -0
- package/_esm/accounts/thirdweb/utils/decodeCallData.js.map +1 -0
- package/_esm/accounts/trust/toTrustSmartAccount.js +4 -0
- package/_esm/accounts/trust/toTrustSmartAccount.js.map +1 -1
- package/_esm/accounts/trust/utils/decodeCallData.js +79 -0
- package/_esm/accounts/trust/utils/decodeCallData.js.map +1 -0
- package/_esm/utils/decode7579Calls.js +98 -0
- package/_esm/utils/decode7579Calls.js.map +1 -0
- package/_esm/utils/getEstimationCallData.js +217 -0
- package/_esm/utils/getEstimationCallData.js.map +1 -0
- package/_esm/utils/index.js +2 -1
- package/_esm/utils/index.js.map +1 -1
- package/_types/accounts/biconomy/toBiconomySmartAccount.d.ts.map +1 -1
- package/_types/accounts/etherspot/toEtherspotSmartAccount.d.ts.map +1 -1
- package/_types/accounts/kernel/abi/KernelV3FactoryAbi.d.ts +20 -0
- package/_types/accounts/kernel/abi/KernelV3FactoryAbi.d.ts.map +1 -0
- package/_types/accounts/kernel/toKernelSmartAccount.d.ts +1 -0
- package/_types/accounts/kernel/toKernelSmartAccount.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/decodeCallData.d.ts +11 -0
- package/_types/accounts/kernel/utils/decodeCallData.d.ts.map +1 -0
- package/_types/accounts/light/toLightSmartAccount.d.ts.map +1 -1
- package/_types/accounts/nexus/toNexusSmartAccount.d.ts.map +1 -1
- package/_types/accounts/safe/toSafeSmartAccount.d.ts.map +1 -1
- package/_types/accounts/simple/toSimpleSmartAccount.d.ts.map +1 -1
- package/_types/accounts/thirdweb/toThirdwebSmartAccount.d.ts.map +1 -1
- package/_types/accounts/thirdweb/utils/decodeCallData.d.ts +7 -0
- package/_types/accounts/thirdweb/utils/decodeCallData.d.ts.map +1 -0
- package/_types/accounts/trust/toTrustSmartAccount.d.ts.map +1 -1
- package/_types/accounts/trust/utils/decodeCallData.d.ts +7 -0
- package/_types/accounts/trust/utils/decodeCallData.d.ts.map +1 -0
- package/_types/utils/decode7579Calls.d.ts +12 -0
- package/_types/utils/decode7579Calls.d.ts.map +1 -0
- package/_types/utils/getEstimationCallData.d.ts +18 -0
- package/_types/utils/getEstimationCallData.d.ts.map +1 -0
- package/_types/utils/index.d.ts +2 -1
- package/_types/utils/index.d.ts.map +1 -1
- package/accounts/biconomy/toBiconomySmartAccount.ts +30 -0
- package/accounts/decodeCalls.test.ts +340 -0
- package/accounts/etherspot/toEtherspotSmartAccount.ts +4 -0
- package/accounts/kernel/abi/KernelV3FactoryAbi.ts +12 -0
- package/accounts/kernel/toKernelSmartAccount.ts +22 -4
- package/accounts/kernel/utils/decodeCallData.ts +43 -0
- package/accounts/light/toLightSmartAccount.ts +90 -0
- package/accounts/nexus/toNexusSmartAccount.ts +4 -0
- package/accounts/safe/toSafeSmartAccount.ts +85 -0
- package/accounts/simple/toSimpleSmartAccount.ts +127 -0
- package/accounts/thirdweb/toThirdwebSmartAccount.ts +4 -0
- package/accounts/thirdweb/utils/decodeCallData.ts +87 -0
- package/accounts/trust/toTrustSmartAccount.ts +4 -0
- package/accounts/trust/utils/decodeCallData.ts +87 -0
- package/package.json +1 -1
- package/utils/decode7579Calls.ts +133 -0
- package/utils/getEstimationCallData.ts +279 -0
- package/utils/index.ts +8 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { decodeFunctionData } from "viem";
|
|
2
|
+
export const decodeCallData = async (callData) => {
|
|
3
|
+
try {
|
|
4
|
+
const decodedBatch = decodeFunctionData({
|
|
5
|
+
abi: [
|
|
6
|
+
{
|
|
7
|
+
inputs: [
|
|
8
|
+
{
|
|
9
|
+
internalType: "address[]",
|
|
10
|
+
name: "dest",
|
|
11
|
+
type: "address[]"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
internalType: "uint256[]",
|
|
15
|
+
name: "value",
|
|
16
|
+
type: "uint256[]"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
internalType: "bytes[]",
|
|
20
|
+
name: "func",
|
|
21
|
+
type: "bytes[]"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
name: "executeBatch",
|
|
25
|
+
outputs: [],
|
|
26
|
+
stateMutability: "nonpayable",
|
|
27
|
+
type: "function"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
data: callData
|
|
31
|
+
});
|
|
32
|
+
const calls = [];
|
|
33
|
+
for (let i = 0; i < decodedBatch.args[0].length; i++) {
|
|
34
|
+
calls.push({
|
|
35
|
+
to: decodedBatch.args[0][i],
|
|
36
|
+
value: decodedBatch.args[1][i],
|
|
37
|
+
data: decodedBatch.args[2][i]
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return calls;
|
|
41
|
+
}
|
|
42
|
+
catch (_) { }
|
|
43
|
+
const decodedSingle = decodeFunctionData({
|
|
44
|
+
abi: [
|
|
45
|
+
{
|
|
46
|
+
inputs: [
|
|
47
|
+
{
|
|
48
|
+
internalType: "address",
|
|
49
|
+
name: "dest",
|
|
50
|
+
type: "address"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
internalType: "uint256",
|
|
54
|
+
name: "value",
|
|
55
|
+
type: "uint256"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
internalType: "bytes",
|
|
59
|
+
name: "func",
|
|
60
|
+
type: "bytes"
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
name: "execute",
|
|
64
|
+
outputs: [],
|
|
65
|
+
stateMutability: "nonpayable",
|
|
66
|
+
type: "function"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
data: callData
|
|
70
|
+
});
|
|
71
|
+
return [
|
|
72
|
+
{
|
|
73
|
+
to: decodedSingle.args[0],
|
|
74
|
+
value: decodedSingle.args[1],
|
|
75
|
+
data: decodedSingle.args[2]
|
|
76
|
+
}
|
|
77
|
+
];
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=decodeCallData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decodeCallData.js","sourceRoot":"","sources":["../../../../accounts/thirdweb/utils/decodeCallData.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,QAAuB,EAAE,EAAE;IAC5D,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACpC,GAAG,EAAE;gBACD;oBACI,MAAM,EAAE;wBACJ;4BACI,YAAY,EAAE,WAAW;4BACzB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,WAAW;yBACpB;wBACD;4BACI,YAAY,EAAE,WAAW;4BACzB,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,WAAW;yBACpB;wBACD;4BACI,YAAY,EAAE,SAAS;4BACvB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,SAAS;yBAClB;qBACJ;oBACD,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,EAAE;oBACX,eAAe,EAAE,YAAY;oBAC7B,IAAI,EAAE,UAAU;iBACnB;aACJ;YACD,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAA;QAEF,MAAM,KAAK,GAIL,EAAE,CAAA;QAER,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC;gBACP,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChC,CAAC,CAAA;QACN,CAAC;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAEd,MAAM,aAAa,GAAG,kBAAkB,CAAC;QACrC,GAAG,EAAE;YACD;gBACI,MAAM,EAAE;oBACJ;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,EAAE;gBACX,eAAe,EAAE,YAAY;gBAC7B,IAAI,EAAE,UAAU;aACnB;SACJ;QACD,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAA;IAEF,OAAO;QACH;YACI,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACzB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9B;KACJ,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -5,6 +5,7 @@ import { entryPoint06Abi, entryPoint06Address, getUserOperationHash, toSmartAcco
|
|
|
5
5
|
import { getAction } from "viem/utils";
|
|
6
6
|
import { getSenderAddress } from "../../actions/public/getSenderAddress.js";
|
|
7
7
|
import { toOwner } from "../../utils/toOwner.js";
|
|
8
|
+
import { decodeCallData } from "./utils/decodeCallData.js";
|
|
8
9
|
import { encodeCallData } from "./utils/encodeCallData.js";
|
|
9
10
|
import { getFactoryData } from "./utils/getFactoryData.js";
|
|
10
11
|
async function _signTypedData(signer, chainId, accountAddress, hashedMessage) {
|
|
@@ -83,6 +84,9 @@ export async function toTrustSmartAccount(parameters) {
|
|
|
83
84
|
async encodeCalls(calls) {
|
|
84
85
|
return encodeCallData(calls);
|
|
85
86
|
},
|
|
87
|
+
async decodeCalls(callData) {
|
|
88
|
+
return decodeCallData(callData);
|
|
89
|
+
},
|
|
86
90
|
async getNonce(args) {
|
|
87
91
|
return getAccountNonce(client, {
|
|
88
92
|
address: await this.getAddress(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toTrustSmartAccount.js","sourceRoot":"","sources":["../../../accounts/trust/toTrustSmartAccount.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toTrustSmartAccount.js","sourceRoot":"","sources":["../../../accounts/trust/toTrustSmartAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { decodeFunctionData } from "viem";
|
|
2
|
+
export const decodeCallData = async (callData) => {
|
|
3
|
+
try {
|
|
4
|
+
const decodedBatch = decodeFunctionData({
|
|
5
|
+
abi: [
|
|
6
|
+
{
|
|
7
|
+
inputs: [
|
|
8
|
+
{
|
|
9
|
+
internalType: "address[]",
|
|
10
|
+
name: "dest",
|
|
11
|
+
type: "address[]"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
internalType: "uint256[]",
|
|
15
|
+
name: "value",
|
|
16
|
+
type: "uint256[]"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
internalType: "bytes[]",
|
|
20
|
+
name: "func",
|
|
21
|
+
type: "bytes[]"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
name: "executeBatch",
|
|
25
|
+
outputs: [],
|
|
26
|
+
stateMutability: "nonpayable",
|
|
27
|
+
type: "function"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
data: callData
|
|
31
|
+
});
|
|
32
|
+
const calls = [];
|
|
33
|
+
for (let i = 0; i < decodedBatch.args[0].length; i++) {
|
|
34
|
+
calls.push({
|
|
35
|
+
to: decodedBatch.args[0][i],
|
|
36
|
+
value: decodedBatch.args[1][i],
|
|
37
|
+
data: decodedBatch.args[2][i]
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return calls;
|
|
41
|
+
}
|
|
42
|
+
catch (_) { }
|
|
43
|
+
const decodedSingle = decodeFunctionData({
|
|
44
|
+
abi: [
|
|
45
|
+
{
|
|
46
|
+
inputs: [
|
|
47
|
+
{
|
|
48
|
+
internalType: "address",
|
|
49
|
+
name: "dest",
|
|
50
|
+
type: "address"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
internalType: "uint256",
|
|
54
|
+
name: "value",
|
|
55
|
+
type: "uint256"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
internalType: "bytes",
|
|
59
|
+
name: "func",
|
|
60
|
+
type: "bytes"
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
name: "execute",
|
|
64
|
+
outputs: [],
|
|
65
|
+
stateMutability: "nonpayable",
|
|
66
|
+
type: "function"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
data: callData
|
|
70
|
+
});
|
|
71
|
+
return [
|
|
72
|
+
{
|
|
73
|
+
to: decodedSingle.args[0],
|
|
74
|
+
value: decodedSingle.args[1],
|
|
75
|
+
data: decodedSingle.args[2]
|
|
76
|
+
}
|
|
77
|
+
];
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=decodeCallData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decodeCallData.js","sourceRoot":"","sources":["../../../../accounts/trust/utils/decodeCallData.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,QAAuB,EAAE,EAAE;IAC5D,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACpC,GAAG,EAAE;gBACD;oBACI,MAAM,EAAE;wBACJ;4BACI,YAAY,EAAE,WAAW;4BACzB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,WAAW;yBACpB;wBACD;4BACI,YAAY,EAAE,WAAW;4BACzB,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,WAAW;yBACpB;wBACD;4BACI,YAAY,EAAE,SAAS;4BACvB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,SAAS;yBAClB;qBACJ;oBACD,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,EAAE;oBACX,eAAe,EAAE,YAAY;oBAC7B,IAAI,EAAE,UAAU;iBACnB;aACJ;YACD,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAA;QAEF,MAAM,KAAK,GAIL,EAAE,CAAA;QAER,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC;gBACP,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChC,CAAC,CAAA;QACN,CAAC;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAEd,MAAM,aAAa,GAAG,kBAAkB,CAAC;QACrC,GAAG,EAAE;YACD;gBACI,MAAM,EAAE;oBACJ;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,EAAE;gBACX,eAAe,EAAE,YAAY;gBAC7B,IAAI,EAAE,UAAU;aACnB;SACJ;QACD,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAA;IAEF,OAAO;QACH;YACI,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACzB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9B;KACJ,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { decodeAbiParameters, decodeFunctionData, getAddress, size, slice } from "viem";
|
|
2
|
+
export function decode7579Calls(callData) {
|
|
3
|
+
const executeAbi = [
|
|
4
|
+
{
|
|
5
|
+
type: "function",
|
|
6
|
+
name: "execute",
|
|
7
|
+
inputs: [
|
|
8
|
+
{
|
|
9
|
+
name: "execMode",
|
|
10
|
+
type: "bytes32",
|
|
11
|
+
internalType: "ExecMode"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: "executionCalldata",
|
|
15
|
+
type: "bytes",
|
|
16
|
+
internalType: "bytes"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
outputs: [],
|
|
20
|
+
stateMutability: "payable"
|
|
21
|
+
}
|
|
22
|
+
];
|
|
23
|
+
const decoded = decodeFunctionData({
|
|
24
|
+
abi: executeAbi,
|
|
25
|
+
data: callData
|
|
26
|
+
});
|
|
27
|
+
const mode = decoded.args[0];
|
|
28
|
+
const executionCalldata = decoded.args[1];
|
|
29
|
+
const callType = slice(mode, 0, 1); // First byte
|
|
30
|
+
const revertOnError = slice(mode, 1, 2); // Second byte
|
|
31
|
+
const selector = slice(mode, 3, 7); // bytes 5-8
|
|
32
|
+
const context = slice(mode, 7); // bytes 9-32
|
|
33
|
+
let type;
|
|
34
|
+
switch (BigInt(callType)) {
|
|
35
|
+
case BigInt(0x00):
|
|
36
|
+
type = "call";
|
|
37
|
+
break;
|
|
38
|
+
case BigInt(0x01):
|
|
39
|
+
type = "batchcall";
|
|
40
|
+
break;
|
|
41
|
+
case BigInt(0xff):
|
|
42
|
+
type = "delegatecall";
|
|
43
|
+
break;
|
|
44
|
+
default:
|
|
45
|
+
throw new Error("Invalid call type");
|
|
46
|
+
}
|
|
47
|
+
const decodedMode = {
|
|
48
|
+
type,
|
|
49
|
+
revertOnError: BigInt(revertOnError) === BigInt(1),
|
|
50
|
+
selector,
|
|
51
|
+
context
|
|
52
|
+
};
|
|
53
|
+
if (decodedMode.type === "batchcall") {
|
|
54
|
+
const [calls] = decodeAbiParameters([
|
|
55
|
+
{
|
|
56
|
+
name: "executionBatch",
|
|
57
|
+
type: "tuple[]",
|
|
58
|
+
components: [
|
|
59
|
+
{
|
|
60
|
+
name: "target",
|
|
61
|
+
type: "address"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "value",
|
|
65
|
+
type: "uint256"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "callData",
|
|
69
|
+
type: "bytes"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
], executionCalldata);
|
|
74
|
+
return {
|
|
75
|
+
mode: decodedMode,
|
|
76
|
+
callData: calls.map((call) => ({
|
|
77
|
+
to: call.target,
|
|
78
|
+
value: call.value,
|
|
79
|
+
data: call.callData
|
|
80
|
+
}))
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
// Single call - calldata is encoded as concatenated (to, value, data)
|
|
84
|
+
const to = getAddress(slice(executionCalldata, 0, 20)); // 20 bytes address with 0x prefix
|
|
85
|
+
const value = BigInt(slice(executionCalldata, 20, 52)); // 32 bytes value
|
|
86
|
+
const data = size(executionCalldata) > 52 ? slice(executionCalldata, 52) : "0x"; // Remaining bytes are calldata
|
|
87
|
+
return {
|
|
88
|
+
mode: decodedMode,
|
|
89
|
+
callData: [
|
|
90
|
+
{
|
|
91
|
+
to,
|
|
92
|
+
value,
|
|
93
|
+
data
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=decode7579Calls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decode7579Calls.js","sourceRoot":"","sources":["../../utils/decode7579Calls.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { encodeFunctionData } from "viem";
|
|
2
|
+
import { entryPoint06Abi, toPackedUserOperation } from "viem/account-abstraction";
|
|
3
|
+
function getPimlicoEstimationCallData06({ userOperation, entrypoint }) {
|
|
4
|
+
return {
|
|
5
|
+
to: entrypoint.address,
|
|
6
|
+
data: encodeFunctionData({
|
|
7
|
+
abi: entryPoint06Abi,
|
|
8
|
+
functionName: "simulateHandleOp",
|
|
9
|
+
args: [
|
|
10
|
+
{
|
|
11
|
+
callData: userOperation.callData,
|
|
12
|
+
callGasLimit: userOperation.callGasLimit,
|
|
13
|
+
initCode: userOperation.initCode ?? "0x",
|
|
14
|
+
maxFeePerGas: userOperation.maxFeePerGas,
|
|
15
|
+
maxPriorityFeePerGas: userOperation.maxPriorityFeePerGas,
|
|
16
|
+
nonce: userOperation.nonce,
|
|
17
|
+
paymasterAndData: userOperation.paymasterAndData ?? "0x",
|
|
18
|
+
preVerificationGas: userOperation.preVerificationGas,
|
|
19
|
+
sender: userOperation.sender,
|
|
20
|
+
signature: userOperation.signature,
|
|
21
|
+
verificationGasLimit: userOperation.verificationGasLimit
|
|
22
|
+
},
|
|
23
|
+
"0x",
|
|
24
|
+
"0x"
|
|
25
|
+
]
|
|
26
|
+
})
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function encodeSimulateHandleOpLast({ userOperation }) {
|
|
30
|
+
const userOperations = [userOperation];
|
|
31
|
+
const packedUserOperations = userOperations.map((uop) => ({
|
|
32
|
+
packedUserOperation: toPackedUserOperation(uop)
|
|
33
|
+
}));
|
|
34
|
+
const simulateHandleOpCallData = encodeFunctionData({
|
|
35
|
+
abi: [
|
|
36
|
+
{
|
|
37
|
+
type: "function",
|
|
38
|
+
name: "simulateHandleOpLast",
|
|
39
|
+
inputs: [
|
|
40
|
+
{
|
|
41
|
+
name: "ops",
|
|
42
|
+
type: "tuple[]",
|
|
43
|
+
internalType: "struct PackedUserOperation[]",
|
|
44
|
+
components: [
|
|
45
|
+
{
|
|
46
|
+
name: "sender",
|
|
47
|
+
type: "address",
|
|
48
|
+
internalType: "address"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: "nonce",
|
|
52
|
+
type: "uint256",
|
|
53
|
+
internalType: "uint256"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: "initCode",
|
|
57
|
+
type: "bytes",
|
|
58
|
+
internalType: "bytes"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "callData",
|
|
62
|
+
type: "bytes",
|
|
63
|
+
internalType: "bytes"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "accountGasLimits",
|
|
67
|
+
type: "bytes32",
|
|
68
|
+
internalType: "bytes32"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: "preVerificationGas",
|
|
72
|
+
type: "uint256",
|
|
73
|
+
internalType: "uint256"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: "gasFees",
|
|
77
|
+
type: "bytes32",
|
|
78
|
+
internalType: "bytes32"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: "paymasterAndData",
|
|
82
|
+
type: "bytes",
|
|
83
|
+
internalType: "bytes"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: "signature",
|
|
87
|
+
type: "bytes",
|
|
88
|
+
internalType: "bytes"
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
outputs: [
|
|
94
|
+
{
|
|
95
|
+
name: "",
|
|
96
|
+
type: "tuple",
|
|
97
|
+
internalType: "struct IEntryPointSimulations.ExecutionResult",
|
|
98
|
+
components: [
|
|
99
|
+
{
|
|
100
|
+
name: "preOpGas",
|
|
101
|
+
type: "uint256",
|
|
102
|
+
internalType: "uint256"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: "paid",
|
|
106
|
+
type: "uint256",
|
|
107
|
+
internalType: "uint256"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: "accountValidationData",
|
|
111
|
+
type: "uint256",
|
|
112
|
+
internalType: "uint256"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: "paymasterValidationData",
|
|
116
|
+
type: "uint256",
|
|
117
|
+
internalType: "uint256"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: "paymasterVerificationGasLimit",
|
|
121
|
+
type: "uint256",
|
|
122
|
+
internalType: "uint256"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "paymasterPostOpGasLimit",
|
|
126
|
+
type: "uint256",
|
|
127
|
+
internalType: "uint256"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: "targetSuccess",
|
|
131
|
+
type: "bool",
|
|
132
|
+
internalType: "bool"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: "targetResult",
|
|
136
|
+
type: "bytes",
|
|
137
|
+
internalType: "bytes"
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
stateMutability: "nonpayable"
|
|
143
|
+
}
|
|
144
|
+
],
|
|
145
|
+
functionName: "simulateHandleOpLast",
|
|
146
|
+
args: [packedUserOperations.map((uop) => uop.packedUserOperation)]
|
|
147
|
+
});
|
|
148
|
+
return simulateHandleOpCallData;
|
|
149
|
+
}
|
|
150
|
+
const PIMLICO_ESTIMATION_ADDRESS = "0x949CeCa936909f75E5A40bD285d9985eFBb9B0D3";
|
|
151
|
+
function getPimlicoEstimationCallData07({ userOperation, estimationAddress, entrypoint }) {
|
|
152
|
+
const simulateHandleOpLast = encodeSimulateHandleOpLast({
|
|
153
|
+
userOperation
|
|
154
|
+
});
|
|
155
|
+
return {
|
|
156
|
+
to: estimationAddress ?? PIMLICO_ESTIMATION_ADDRESS,
|
|
157
|
+
data: encodeFunctionData({
|
|
158
|
+
abi: [
|
|
159
|
+
{
|
|
160
|
+
inputs: [
|
|
161
|
+
{
|
|
162
|
+
internalType: "address payable",
|
|
163
|
+
name: "ep",
|
|
164
|
+
type: "address"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
internalType: "bytes[]",
|
|
168
|
+
name: "data",
|
|
169
|
+
type: "bytes[]"
|
|
170
|
+
}
|
|
171
|
+
],
|
|
172
|
+
name: "simulateEntryPoint",
|
|
173
|
+
outputs: [
|
|
174
|
+
{
|
|
175
|
+
internalType: "bytes[]",
|
|
176
|
+
name: "",
|
|
177
|
+
type: "bytes[]"
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
stateMutability: "nonpayable",
|
|
181
|
+
type: "function"
|
|
182
|
+
}
|
|
183
|
+
],
|
|
184
|
+
functionName: "simulateEntryPoint",
|
|
185
|
+
args: [entrypoint.address, [simulateHandleOpLast]]
|
|
186
|
+
})
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
function isEntryPoint06(args) {
|
|
190
|
+
return args.entrypoint.version === "0.6";
|
|
191
|
+
}
|
|
192
|
+
function isEntryPoint07(args) {
|
|
193
|
+
return args.entrypoint.version === "0.7";
|
|
194
|
+
}
|
|
195
|
+
export function getPimlicoEstimationCallData(args) {
|
|
196
|
+
if (isEntryPoint06(args)) {
|
|
197
|
+
return getPimlicoEstimationCallData06({
|
|
198
|
+
userOperation: args.userOperation,
|
|
199
|
+
entrypoint: {
|
|
200
|
+
address: args.entrypoint.address,
|
|
201
|
+
version: "0.6"
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
if (isEntryPoint07(args)) {
|
|
206
|
+
return getPimlicoEstimationCallData07({
|
|
207
|
+
userOperation: args.userOperation,
|
|
208
|
+
estimationAddress: args.estimationAddress,
|
|
209
|
+
entrypoint: {
|
|
210
|
+
address: args.entrypoint.address,
|
|
211
|
+
version: "0.7"
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
throw new Error("Invalid entrypoint version");
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=getEstimationCallData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEstimationCallData.js","sourceRoot":"","sources":["../../utils/getEstimationCallData.ts"],"names":[],"mappings":"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"}
|
package/_esm/utils/index.js
CHANGED
|
@@ -8,7 +8,8 @@ import { encodeNonce } from "./encodeNonce.js";
|
|
|
8
8
|
import { encodeInstallModule } from "./encodeInstallModule.js";
|
|
9
9
|
import { getPackedUserOperation } from "./getPackedUserOperation.js";
|
|
10
10
|
import { encode7579Calls } from "./encode7579Calls.js";
|
|
11
|
+
import { decode7579Calls } from "./decode7579Calls.js";
|
|
11
12
|
import { erc20AllowanceOverride } from "./erc20AllowanceOverride.js";
|
|
12
13
|
import { erc20BalanceOverride } from "./erc20BalanceOverride.js";
|
|
13
|
-
export { transactionReceiptStatus, deepHexlify, getRequiredPrefund, toOwner, isSmartAccountDeployed, getAddressFromInitCodeOrPaymasterAndData, getPackedUserOperation, encodeNonce, decodeNonce, encodeInstallModule, encode7579Calls, erc20AllowanceOverride, erc20BalanceOverride };
|
|
14
|
+
export { transactionReceiptStatus, deepHexlify, getRequiredPrefund, toOwner, isSmartAccountDeployed, getAddressFromInitCodeOrPaymasterAndData, getPackedUserOperation, encodeNonce, decodeNonce, encodeInstallModule, encode7579Calls, decode7579Calls, erc20AllowanceOverride, erc20BalanceOverride };
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/_esm/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,wCAAwC,EAAE,MAAM,+CAA+C,CAAA;AACxG,OAAO,EAEH,kBAAkB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAEH,mBAAmB,EACtB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEpE,OAAO,EAEH,eAAe,EAClB,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,wCAAwC,EAAE,MAAM,+CAA+C,CAAA;AACxG,OAAO,EAEH,kBAAkB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAEH,mBAAmB,EACtB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEpE,OAAO,EAEH,eAAe,EAClB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAEH,eAAe,EAClB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAEH,sBAAsB,EACzB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAEH,oBAAoB,EACvB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACH,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EAClB,OAAO,EAEP,sBAAsB,EACtB,wCAAwC,EACxC,sBAAsB,EACtB,WAAW,EACX,WAAW,EAEX,mBAAmB,EAEnB,eAAe,EACf,eAAe,EAEf,sBAAsB,EACtB,oBAAoB,EAGvB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toBiconomySmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/biconomy/toBiconomySmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,OAAO,EACP,MAAM,EACN,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACf,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,MAAM,EAEX,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"toBiconomySmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/biconomy/toBiconomySmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,OAAO,EACP,MAAM,EACN,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACf,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,MAAM,EAEX,KAAK,YAAY,EASpB,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,eAAe,EAIlB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,wBAAwB,CAAA;AA4DvE,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CAAC;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE;QACJ,KAAK,CACC,gBAAgB,GAChB,YAAY,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,GACnD,YAAY,CACjB;KACJ,CAAA;IACD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,UAAU,EAAE;QACR,OAAO,EAAE,OAAO,CAAA;QAChB,OAAO,EAAE,KAAK,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACnC,CAAC,CAAA;AAEF,MAAM,MAAM,kCAAkC,GAAG,MAAM,CACnD,0BAA0B,CAAC,OAAO,eAAe,EAAE,KAAK,CAAC,EACzD;IAAE,IAAI,EAAE,WAAW,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAC5D,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CACnD,YAAY,CAAC,kCAAkC,CAAC,CACnD,CAAA;AAuDD;;;GAGG;AACH,wBAAsB,sBAAsB,CACxC,UAAU,EAAE,gCAAgC,GAC7C,OAAO,CAAC,gCAAgC,CAAC,CA2L3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toEtherspotSmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/etherspot/toEtherspotSmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,eAAe,EAEpB,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,YAAY,EAMpB,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAE/B,eAAe,EAIlB,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"toEtherspotSmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/etherspot/toEtherspotSmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,eAAe,EAEpB,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,YAAY,EAMpB,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAE/B,eAAe,EAIlB,MAAM,0BAA0B,CAAA;AAqIjC,MAAM,MAAM,iCAAiC,CACzC,iBAAiB,SAAS,KAAK,GAAG,KAAK,IACvC;IACA,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE;QACJ,KAAK,CACC,eAAe,GACf,YAAY,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,GACnD,YAAY,CACjB;KACJ,CAAA;IACD,UAAU,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAA;QAChB,OAAO,EAAE,iBAAiB,CAAA;KAC7B,CAAA;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,mCAAmC,CAC3C,iBAAiB,SAAS,KAAK,GAAG,KAAK,IACvC,MAAM,CACN,0BAA0B,CACtB,OAAO,eAAe,EACtB,iBAAiB,CAMpB,EACD;IAAE,IAAI,EAAE,WAAW,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAC5D,CAAA;AAED,MAAM,MAAM,iCAAiC,CACzC,iBAAiB,SAAS,KAAK,GAAG,KAAK,IACvC,YAAY,CAAC,mCAAmC,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAExE,wBAAsB,uBAAuB,CAAC,iBAAiB,SAAS,KAAK,EACzE,UAAU,EAAE,iCAAiC,CAAC,iBAAiB,CAAC,GACjE,OAAO,CAAC,iCAAiC,CAAC,iBAAiB,CAAC,CAAC,CAgK/D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const KernelV3FactoryAbi: readonly [{
|
|
2
|
+
readonly type: "function";
|
|
3
|
+
readonly name: "createAccount";
|
|
4
|
+
readonly inputs: readonly [{
|
|
5
|
+
readonly name: "data";
|
|
6
|
+
readonly type: "bytes";
|
|
7
|
+
readonly internalType: "bytes";
|
|
8
|
+
}, {
|
|
9
|
+
readonly name: "salt";
|
|
10
|
+
readonly type: "bytes32";
|
|
11
|
+
readonly internalType: "bytes32";
|
|
12
|
+
}];
|
|
13
|
+
readonly outputs: readonly [{
|
|
14
|
+
readonly name: "";
|
|
15
|
+
readonly type: "address";
|
|
16
|
+
readonly internalType: "address";
|
|
17
|
+
}];
|
|
18
|
+
readonly stateMutability: "payable";
|
|
19
|
+
}];
|
|
20
|
+
//# sourceMappingURL=KernelV3FactoryAbi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KernelV3FactoryAbi.d.ts","sourceRoot":"","sources":["../../../../accounts/kernel/abi/KernelV3FactoryAbi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;EAWrB,CAAA"}
|
|
@@ -31,6 +31,7 @@ export type ToKernelSmartAccountParameters<entryPointVersion extends "0.6" | "0.
|
|
|
31
31
|
accountLogicAddress?: Address;
|
|
32
32
|
validatorAddress?: Address;
|
|
33
33
|
nonceKey?: bigint;
|
|
34
|
+
useMetaFactory?: boolean;
|
|
34
35
|
};
|
|
35
36
|
export type KernelSmartAccountImplementation<entryPointVersion extends "0.6" | "0.7" = "0.7"> = Assign<SmartAccountImplementation<entryPointVersion extends "0.6" ? typeof entryPoint06Abi : typeof entryPoint07Abi, entryPointVersion>, {
|
|
36
37
|
sign: NonNullable<SmartAccountImplementation["sign"]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toKernelSmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/kernel/toKernelSmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,OAAO,EACP,MAAM,EACN,KAAK,EACL,KAAK,EACL,SAAS,EACT,YAAY,EACf,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,MAAM,EAEX,KAAK,YAAY,EAQpB,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAE/B,KAAK,eAAe,EACpB,eAAe,EACf,eAAe,EAIlB,MAAM,0BAA0B,CAAA;AAMjC,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"toKernelSmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/kernel/toKernelSmartAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Hex } from "viem";
|
|
2
|
+
import type { KernelVersion } from "../toKernelSmartAccount.js";
|
|
3
|
+
export declare const decodeCallData: ({ kernelVersion, callData }: {
|
|
4
|
+
callData: Hex;
|
|
5
|
+
kernelVersion: KernelVersion<"0.6" | "0.7">;
|
|
6
|
+
}) => readonly {
|
|
7
|
+
to: import("viem").Address;
|
|
8
|
+
value?: bigint | undefined;
|
|
9
|
+
data?: Hex | undefined;
|
|
10
|
+
}[];
|
|
11
|
+
//# sourceMappingURL=decodeCallData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decodeCallData.d.ts","sourceRoot":"","sources":["../../../../accounts/kernel/utils/decodeCallData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAsB,MAAM,MAAM,CAAA;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG/D,eAAO,MAAM,cAAc,gCAGxB;IACC,QAAQ,EAAE,GAAG,CAAA;IACb,aAAa,EAAE,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;CAC9C;;;;GA8BA,CAAA"}
|