permissionless 0.0.16 → 0.0.17
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 +6 -0
- package/_cjs/accounts/biconomy/abi/BiconomySmartAccountAbi.js +102 -0
- package/_cjs/accounts/biconomy/abi/BiconomySmartAccountAbi.js.map +1 -0
- package/_cjs/accounts/biconomy/privateKeyToBiconomySmartAccount.js +15 -0
- package/_cjs/accounts/biconomy/privateKeyToBiconomySmartAccount.js.map +1 -0
- package/_cjs/accounts/biconomy/signerToBiconomySmartAccount.js +195 -0
- package/_cjs/accounts/biconomy/signerToBiconomySmartAccount.js.map +1 -0
- package/_cjs/accounts/index.js +3 -1
- package/_cjs/accounts/index.js.map +1 -1
- package/_cjs/accounts/kernel/signerToEcdsaKernelSmartAccount.js +5 -7
- package/_cjs/accounts/kernel/signerToEcdsaKernelSmartAccount.js.map +1 -1
- package/_cjs/utils/deepHexlify.js +2 -2
- package/_cjs/utils/deepHexlify.js.map +1 -1
- package/_esm/accounts/biconomy/abi/BiconomySmartAccountAbi.js +105 -0
- package/_esm/accounts/biconomy/abi/BiconomySmartAccountAbi.js.map +1 -0
- package/_esm/accounts/biconomy/privateKeyToBiconomySmartAccount.js +17 -0
- package/_esm/accounts/biconomy/privateKeyToBiconomySmartAccount.js.map +1 -0
- package/_esm/accounts/biconomy/signerToBiconomySmartAccount.js +231 -0
- package/_esm/accounts/biconomy/signerToBiconomySmartAccount.js.map +1 -0
- package/_esm/accounts/index.js +2 -1
- package/_esm/accounts/index.js.map +1 -1
- package/_esm/accounts/kernel/signerToEcdsaKernelSmartAccount.js +6 -8
- package/_esm/accounts/kernel/signerToEcdsaKernelSmartAccount.js.map +1 -1
- package/_esm/utils/deepHexlify.js +2 -2
- package/_esm/utils/deepHexlify.js.map +1 -1
- package/_types/accounts/biconomy/abi/BiconomySmartAccountAbi.d.ts +59 -0
- package/_types/accounts/biconomy/abi/BiconomySmartAccountAbi.d.ts.map +1 -0
- package/_types/accounts/biconomy/privateKeyToBiconomySmartAccount.d.ts +13 -0
- package/_types/accounts/biconomy/privateKeyToBiconomySmartAccount.d.ts.map +1 -0
- package/_types/accounts/biconomy/signerToBiconomySmartAccount.d.ts +23 -0
- package/_types/accounts/biconomy/signerToBiconomySmartAccount.d.ts.map +1 -0
- package/_types/accounts/index.d.ts +2 -1
- package/_types/accounts/index.d.ts.map +1 -1
- package/_types/accounts/kernel/signerToEcdsaKernelSmartAccount.d.ts.map +1 -1
- package/_types/utils/deepHexlify.d.ts.map +1 -1
- package/accounts/biconomy/abi/BiconomySmartAccountAbi.ts +105 -0
- package/accounts/biconomy/privateKeyToBiconomySmartAccount.ts +40 -0
- package/accounts/biconomy/signerToBiconomySmartAccount.ts +364 -0
- package/accounts/index.ts +8 -1
- package/accounts/kernel/signerToEcdsaKernelSmartAccount.ts +6 -7
- package/actions/smartAccount/prepareUserOperationRequest.ts +1 -1
- package/package.json +1 -1
- package/utils/deepHexlify.ts +6 -2
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { concatHex, encodeAbiParameters, encodeFunctionData, encodePacked, getContractAddress, hexToBigInt, keccak256, parseAbiParameters } from "viem";
|
|
2
|
+
import { toAccount } from "viem/accounts";
|
|
3
|
+
import { getBytecode, getChainId, signMessage, signTypedData } from "viem/actions";
|
|
4
|
+
import { getAccountNonce } from "../../actions/public/getAccountNonce.js";
|
|
5
|
+
import { getUserOperationHash } from "../../utils/getUserOperationHash.js";
|
|
6
|
+
import { SignTransactionNotSupportedBySmartAccount } from "../types.js";
|
|
7
|
+
import { BiconomyExecuteAbi, BiconomyInitAbi } from "./abi/BiconomySmartAccountAbi.js";
|
|
8
|
+
/**
|
|
9
|
+
* The account creation ABI for Biconomy Smart Account (from the biconomy SmartAccountFactory)
|
|
10
|
+
*/
|
|
11
|
+
const createAccountAbi = [
|
|
12
|
+
{
|
|
13
|
+
inputs: [
|
|
14
|
+
{
|
|
15
|
+
internalType: "address",
|
|
16
|
+
name: "moduleSetupContract",
|
|
17
|
+
type: "address"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
internalType: "bytes",
|
|
21
|
+
name: "moduleSetupData",
|
|
22
|
+
type: "bytes"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
internalType: "uint256",
|
|
26
|
+
name: "index",
|
|
27
|
+
type: "uint256"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
name: "deployCounterFactualAccount",
|
|
31
|
+
outputs: [
|
|
32
|
+
{
|
|
33
|
+
internalType: "address",
|
|
34
|
+
name: "proxy",
|
|
35
|
+
type: "address"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
stateMutability: "nonpayable",
|
|
39
|
+
type: "function"
|
|
40
|
+
}
|
|
41
|
+
];
|
|
42
|
+
/**
|
|
43
|
+
* Default addresses for Biconomy Smart Account
|
|
44
|
+
*/
|
|
45
|
+
const BICONOMY_ADDRESSES = {
|
|
46
|
+
ECDSA_OWNERSHIP_REGISTRY_MODULE: "0x0000001c5b32F37F5beA87BDD5374eB2aC54eA8e",
|
|
47
|
+
ACCOUNT_V2_0_LOGIC: "0x0000002512019Dafb59528B82CB92D3c5D2423aC",
|
|
48
|
+
FACTORY_ADDRESS: "0x000000a56Aaca3e9a4C479ea6b6CD0DbcB6634F5",
|
|
49
|
+
DEFAULT_FALLBACK_HANDLER_ADDRESS: "0x0bBa6d96BD616BedC6BFaa341742FD43c60b83C1"
|
|
50
|
+
};
|
|
51
|
+
const BICONOMY_PROXY_CREATION_CODE = "0x6080346100aa57601f61012038819003918201601f19168301916001600160401b038311848410176100af578084926020946040528339810103126100aa57516001600160a01b0381168082036100aa5715610065573055604051605a90816100c68239f35b60405162461bcd60e51b815260206004820152601e60248201527f496e76616c696420696d706c656d656e746174696f6e206164647265737300006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060405230546000808092368280378136915af43d82803e156020573d90f35b3d90fdfea2646970667358221220a03b18dce0be0b4c9afe58a9eb85c35205e2cf087da098bbf1d23945bf89496064736f6c63430008110033";
|
|
52
|
+
/**
|
|
53
|
+
* Get the account initialization code for Biconomy smart account with ECDSA as default authorization module
|
|
54
|
+
* @param owner
|
|
55
|
+
* @param index
|
|
56
|
+
* @param factoryAddress
|
|
57
|
+
* @param ecdsaValidatorAddress
|
|
58
|
+
*/
|
|
59
|
+
const getAccountInitCode = async ({ owner, index, factoryAddress, ecdsaModuleAddress }) => {
|
|
60
|
+
if (!owner)
|
|
61
|
+
throw new Error("Owner account not found");
|
|
62
|
+
// Build the module setup data
|
|
63
|
+
const ecdsaOwnershipInitData = encodeFunctionData({
|
|
64
|
+
abi: BiconomyInitAbi,
|
|
65
|
+
functionName: "initForSmartAccount",
|
|
66
|
+
args: [owner]
|
|
67
|
+
});
|
|
68
|
+
// Build the account init code
|
|
69
|
+
return concatHex([
|
|
70
|
+
factoryAddress,
|
|
71
|
+
encodeFunctionData({
|
|
72
|
+
abi: createAccountAbi,
|
|
73
|
+
functionName: "deployCounterFactualAccount",
|
|
74
|
+
args: [ecdsaModuleAddress, ecdsaOwnershipInitData, index]
|
|
75
|
+
})
|
|
76
|
+
]);
|
|
77
|
+
};
|
|
78
|
+
const getAccountAddress = async ({ factoryAddress, accountLogicAddress, fallbackHandlerAddress, ecdsaModuleAddress, owner, index = 0n }) => {
|
|
79
|
+
// Build the module setup data
|
|
80
|
+
const ecdsaOwnershipInitData = encodeFunctionData({
|
|
81
|
+
abi: BiconomyInitAbi,
|
|
82
|
+
functionName: "initForSmartAccount",
|
|
83
|
+
args: [owner]
|
|
84
|
+
});
|
|
85
|
+
// Build account init code
|
|
86
|
+
const initialisationData = encodeFunctionData({
|
|
87
|
+
abi: BiconomyInitAbi,
|
|
88
|
+
functionName: "init",
|
|
89
|
+
args: [
|
|
90
|
+
fallbackHandlerAddress,
|
|
91
|
+
ecdsaModuleAddress,
|
|
92
|
+
ecdsaOwnershipInitData
|
|
93
|
+
]
|
|
94
|
+
});
|
|
95
|
+
const deploymentCode = encodePacked(["bytes", "uint256"], [BICONOMY_PROXY_CREATION_CODE, hexToBigInt(accountLogicAddress)]);
|
|
96
|
+
const salt = keccak256(encodePacked(["bytes32", "uint256"], [keccak256(encodePacked(["bytes"], [initialisationData])), index]));
|
|
97
|
+
return getContractAddress({
|
|
98
|
+
from: factoryAddress,
|
|
99
|
+
salt,
|
|
100
|
+
bytecode: deploymentCode,
|
|
101
|
+
opcode: "CREATE2"
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Build a Biconomy modular smart account from a private key, that use the ECDSA signer behind the scene
|
|
106
|
+
* @param client
|
|
107
|
+
* @param privateKey
|
|
108
|
+
* @param entryPoint
|
|
109
|
+
* @param index
|
|
110
|
+
* @param factoryAddress
|
|
111
|
+
* @param accountLogicAddress
|
|
112
|
+
* @param ecdsaModuleAddress
|
|
113
|
+
*/
|
|
114
|
+
export async function signerToBiconomySmartAccount(client, { signer, entryPoint, index = 0n, factoryAddress = BICONOMY_ADDRESSES.FACTORY_ADDRESS, accountLogicAddress = BICONOMY_ADDRESSES.ACCOUNT_V2_0_LOGIC, fallbackHandlerAddress = BICONOMY_ADDRESSES.DEFAULT_FALLBACK_HANDLER_ADDRESS, ecdsaModuleAddress = BICONOMY_ADDRESSES.ECDSA_OWNERSHIP_REGISTRY_MODULE }) {
|
|
115
|
+
// Get the private key related account
|
|
116
|
+
const viemSigner = {
|
|
117
|
+
...signer,
|
|
118
|
+
signTransaction: (_, __) => {
|
|
119
|
+
throw new SignTransactionNotSupportedBySmartAccount();
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
// Helper to generate the init code for the smart account
|
|
123
|
+
const generateInitCode = () => getAccountInitCode({
|
|
124
|
+
owner: viemSigner.address,
|
|
125
|
+
index,
|
|
126
|
+
factoryAddress,
|
|
127
|
+
ecdsaModuleAddress
|
|
128
|
+
});
|
|
129
|
+
// Fetch account address and chain id
|
|
130
|
+
const [accountAddress, chainId] = await Promise.all([
|
|
131
|
+
getAccountAddress({
|
|
132
|
+
owner: viemSigner.address,
|
|
133
|
+
ecdsaModuleAddress,
|
|
134
|
+
factoryAddress,
|
|
135
|
+
accountLogicAddress,
|
|
136
|
+
fallbackHandlerAddress,
|
|
137
|
+
index
|
|
138
|
+
}),
|
|
139
|
+
getChainId(client)
|
|
140
|
+
]);
|
|
141
|
+
if (!accountAddress)
|
|
142
|
+
throw new Error("Account address not found");
|
|
143
|
+
// Build the EOA Signer
|
|
144
|
+
const account = toAccount({
|
|
145
|
+
address: accountAddress,
|
|
146
|
+
async signMessage({ message }) {
|
|
147
|
+
return signMessage(client, { account: viemSigner, message });
|
|
148
|
+
},
|
|
149
|
+
async signTransaction(_, __) {
|
|
150
|
+
throw new SignTransactionNotSupportedBySmartAccount();
|
|
151
|
+
},
|
|
152
|
+
async signTypedData(typedData) {
|
|
153
|
+
return signTypedData(client, { account: viemSigner, ...typedData });
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
return {
|
|
157
|
+
...account,
|
|
158
|
+
client: client,
|
|
159
|
+
publicKey: accountAddress,
|
|
160
|
+
entryPoint: entryPoint,
|
|
161
|
+
source: "biconomySmartAccount",
|
|
162
|
+
// Get the nonce of the smart account
|
|
163
|
+
async getNonce() {
|
|
164
|
+
return getAccountNonce(client, {
|
|
165
|
+
sender: accountAddress,
|
|
166
|
+
entryPoint: entryPoint
|
|
167
|
+
});
|
|
168
|
+
},
|
|
169
|
+
// Sign a user operation
|
|
170
|
+
async signUserOperation(userOperation) {
|
|
171
|
+
const hash = getUserOperationHash({
|
|
172
|
+
userOperation: {
|
|
173
|
+
...userOperation,
|
|
174
|
+
signature: "0x"
|
|
175
|
+
},
|
|
176
|
+
entryPoint: entryPoint,
|
|
177
|
+
chainId: chainId
|
|
178
|
+
});
|
|
179
|
+
const signature = await signMessage(client, {
|
|
180
|
+
account: viemSigner,
|
|
181
|
+
message: { raw: hash }
|
|
182
|
+
});
|
|
183
|
+
// userOp signature is encoded module signature + module address
|
|
184
|
+
const signatureWithModuleAddress = encodeAbiParameters(parseAbiParameters("bytes, address"), [signature, ecdsaModuleAddress]);
|
|
185
|
+
return signatureWithModuleAddress;
|
|
186
|
+
},
|
|
187
|
+
// Encode the init code
|
|
188
|
+
async getInitCode() {
|
|
189
|
+
const contractCode = await getBytecode(client, {
|
|
190
|
+
address: accountAddress
|
|
191
|
+
});
|
|
192
|
+
if ((contractCode?.length ?? 0) > 2)
|
|
193
|
+
return "0x";
|
|
194
|
+
return generateInitCode();
|
|
195
|
+
},
|
|
196
|
+
// Encode the deploy call data
|
|
197
|
+
async encodeDeployCallData(_) {
|
|
198
|
+
throw new Error("Doesn't support account deployment");
|
|
199
|
+
},
|
|
200
|
+
// Encode a call
|
|
201
|
+
async encodeCallData(args) {
|
|
202
|
+
if (Array.isArray(args)) {
|
|
203
|
+
// Encode a batched call
|
|
204
|
+
const argsArray = args;
|
|
205
|
+
return encodeFunctionData({
|
|
206
|
+
abi: BiconomyExecuteAbi,
|
|
207
|
+
functionName: "executeBatch_y6U",
|
|
208
|
+
args: [
|
|
209
|
+
argsArray.map((a) => a.to),
|
|
210
|
+
argsArray.map((a) => a.value),
|
|
211
|
+
argsArray.map((a) => a.data)
|
|
212
|
+
]
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
const { to, value, data } = args;
|
|
216
|
+
// Encode a simple call
|
|
217
|
+
return encodeFunctionData({
|
|
218
|
+
abi: BiconomyExecuteAbi,
|
|
219
|
+
functionName: "execute_ncC",
|
|
220
|
+
args: [to, value, data]
|
|
221
|
+
});
|
|
222
|
+
},
|
|
223
|
+
// Get simple dummy signature for ECDSA module authorization
|
|
224
|
+
async getDummySignature() {
|
|
225
|
+
const moduleAddress = BICONOMY_ADDRESSES.ECDSA_OWNERSHIP_REGISTRY_MODULE;
|
|
226
|
+
const dynamicPart = moduleAddress.substring(2).padEnd(40, "0");
|
|
227
|
+
return `0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000${dynamicPart}000000000000000000000000000000000000000000000000000000000000004181d4b4981670cb18f99f0b4a66446df1bf5b204d24cfcb659bf38ba27a4359b5711649ec2423c5e1247245eba2964679b6a1dbb85c992ae40b9b00c6935b02ff1b00000000000000000000000000000000000000000000000000000000000000`;
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=signerToBiconomySmartAccount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signerToBiconomySmartAccount.js","sourceRoot":"","sources":["../../../accounts/biconomy/signerToBiconomySmartAccount.ts"],"names":[],"mappings":"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"}
|
package/_esm/accounts/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { signerToSimpleSmartAccount } from "./signerToSimpleSmartAccount.js";
|
|
|
3
3
|
import { privateKeyToSafeSmartAccount } from "./privateKeyToSafeSmartAccount.js";
|
|
4
4
|
import { signerToSafeSmartAccount } from "./signerToSafeSmartAccount.js";
|
|
5
5
|
import { signerToEcdsaKernelSmartAccount } from "./kernel/signerToEcdsaKernelSmartAccount.js";
|
|
6
|
+
import { signerToBiconomySmartAccount } from "./biconomy/signerToBiconomySmartAccount.js";
|
|
6
7
|
import { SignTransactionNotSupportedBySmartAccount } from "./types.js";
|
|
7
|
-
export { signerToSafeSmartAccount, signerToSimpleSmartAccount, SignTransactionNotSupportedBySmartAccount, privateKeyToSimpleSmartAccount, privateKeyToSafeSmartAccount, signerToEcdsaKernelSmartAccount };
|
|
8
|
+
export { signerToSafeSmartAccount, signerToSimpleSmartAccount, SignTransactionNotSupportedBySmartAccount, privateKeyToSimpleSmartAccount, privateKeyToSafeSmartAccount, signerToEcdsaKernelSmartAccount, signerToBiconomySmartAccount };
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AAEpF,OAAO,EAEH,0BAA0B,EAC7B,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAEhF,OAAO,EAGH,wBAAwB,EAC3B,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAEH,+BAA+B,EAClC,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EACH,yCAAyC,EAG5C,MAAM,YAAY,CAAA;AAEnB,OAAO,EAIH,wBAAwB,EAExB,0BAA0B,EAC1B,yCAAyC,EACzC,8BAA8B,EAE9B,4BAA4B,EAE5B,+BAA+B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AAEpF,OAAO,EAEH,0BAA0B,EAC7B,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAEhF,OAAO,EAGH,wBAAwB,EAC3B,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAEH,+BAA+B,EAClC,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EAEH,4BAA4B,EAC/B,MAAM,4CAA4C,CAAA;AAEnD,OAAO,EACH,yCAAyC,EAG5C,MAAM,YAAY,CAAA;AAEnB,OAAO,EAIH,wBAAwB,EAExB,0BAA0B,EAC1B,yCAAyC,EACzC,8BAA8B,EAE9B,4BAA4B,EAE5B,+BAA+B,EAE/B,4BAA4B,EAC/B,CAAA"}
|
|
@@ -242,14 +242,12 @@ export async function signerToEcdsaKernelSmartAccount(client, { signer, entryPoi
|
|
|
242
242
|
]
|
|
243
243
|
});
|
|
244
244
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
});
|
|
252
|
-
}
|
|
245
|
+
// Encode a simple call
|
|
246
|
+
return encodeFunctionData({
|
|
247
|
+
abi: KernelExecuteAbi,
|
|
248
|
+
functionName: "execute",
|
|
249
|
+
args: [_tx.to, _tx.value, _tx.data, 0]
|
|
250
|
+
});
|
|
253
251
|
},
|
|
254
252
|
// Get simple dummy signature
|
|
255
253
|
async getDummySignature() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signerToEcdsaKernelSmartAccount.js","sourceRoot":"","sources":["../../../accounts/kernel/signerToEcdsaKernelSmartAccount.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"signerToEcdsaKernelSmartAccount.js","sourceRoot":"","sources":["../../../accounts/kernel/signerToEcdsaKernelSmartAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,10 @@ export function deepHexlify(obj) {
|
|
|
11
11
|
if (obj == null || typeof obj === "string" || typeof obj === "boolean") {
|
|
12
12
|
return obj;
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
if (typeof obj === "bigint") {
|
|
15
15
|
return toHex(obj);
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
if (obj._isBigNumber != null || typeof obj !== "object") {
|
|
18
18
|
return toHex(obj).replace(/^0x0/, "0x");
|
|
19
19
|
}
|
|
20
20
|
if (Array.isArray(obj)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepHexlify.js","sourceRoot":"","sources":["../../utils/deepHexlify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAE5B,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,SAAS;CACV,CAAA;AAEV,8FAA8F;AAC9F,MAAM,UAAU,WAAW,CAAC,GAAQ;IAChC,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;QAC3B,OAAO,SAAS,CAAA;KACnB;IACD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE;QACpE,OAAO,GAAG,CAAA;KACb;
|
|
1
|
+
{"version":3,"file":"deepHexlify.js","sourceRoot":"","sources":["../../utils/deepHexlify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAE5B,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,SAAS;CACV,CAAA;AAEV,8FAA8F;AAC9F,MAAM,UAAU,WAAW,CAAC,GAAQ;IAChC,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;QAC3B,OAAO,SAAS,CAAA;KACnB;IACD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE;QACpE,OAAO,GAAG,CAAA;KACb;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;KACpB;IAED,IAAI,GAAG,CAAC,YAAY,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACrD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;KAC1C;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;KAClD;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;IAC1B,8FAA8F;IAC9F,CAAC,GAAQ,EAAE,GAAW,EAAE,EAAE;QACtB,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAChC,OAAO,GAAG,CAAA;IACd,CAAC,EACD,EAAE,CACL,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The exeuctor abi, used to execute transactions on the Biconomy Modular Smart Account
|
|
3
|
+
*/
|
|
4
|
+
export declare const BiconomyExecuteAbi: readonly [{
|
|
5
|
+
readonly inputs: readonly [{
|
|
6
|
+
readonly internalType: "address";
|
|
7
|
+
readonly name: "dest";
|
|
8
|
+
readonly type: "address";
|
|
9
|
+
}, {
|
|
10
|
+
readonly internalType: "uint256";
|
|
11
|
+
readonly name: "value";
|
|
12
|
+
readonly type: "uint256";
|
|
13
|
+
}, {
|
|
14
|
+
readonly internalType: "bytes";
|
|
15
|
+
readonly name: "func";
|
|
16
|
+
readonly type: "bytes";
|
|
17
|
+
}];
|
|
18
|
+
readonly name: "execute_ncC";
|
|
19
|
+
readonly outputs: readonly [];
|
|
20
|
+
readonly stateMutability: "nonpayable";
|
|
21
|
+
readonly type: "function";
|
|
22
|
+
}, {
|
|
23
|
+
readonly inputs: readonly [{
|
|
24
|
+
readonly internalType: "address[]";
|
|
25
|
+
readonly name: "dest";
|
|
26
|
+
readonly type: "address[]";
|
|
27
|
+
}, {
|
|
28
|
+
readonly internalType: "uint256[]";
|
|
29
|
+
readonly name: "value";
|
|
30
|
+
readonly type: "uint256[]";
|
|
31
|
+
}, {
|
|
32
|
+
readonly internalType: "bytes[]";
|
|
33
|
+
readonly name: "func";
|
|
34
|
+
readonly type: "bytes[]";
|
|
35
|
+
}];
|
|
36
|
+
readonly name: "executeBatch_y6U";
|
|
37
|
+
readonly outputs: readonly [];
|
|
38
|
+
readonly stateMutability: "nonpayable";
|
|
39
|
+
readonly type: "function";
|
|
40
|
+
}];
|
|
41
|
+
/**
|
|
42
|
+
* The init abi, used to initialise Biconomy Modular Smart Account / setup default ECDSA module
|
|
43
|
+
*/
|
|
44
|
+
export declare const BiconomyInitAbi: {
|
|
45
|
+
inputs: {
|
|
46
|
+
internalType: string;
|
|
47
|
+
name: string;
|
|
48
|
+
type: string;
|
|
49
|
+
}[];
|
|
50
|
+
name: string;
|
|
51
|
+
outputs: {
|
|
52
|
+
internalType: string;
|
|
53
|
+
name: string;
|
|
54
|
+
type: string;
|
|
55
|
+
}[];
|
|
56
|
+
stateMutability: string;
|
|
57
|
+
type: string;
|
|
58
|
+
}[];
|
|
59
|
+
//# sourceMappingURL=BiconomySmartAccountAbi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BiconomySmartAccountAbi.d.ts","sourceRoot":"","sources":["../../../../accounts/biconomy/abi/BiconomySmartAccountAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CrB,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;GAiD3B,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Address, type Chain, type Client, type Hex, type Transport } from "viem";
|
|
2
|
+
import { type BiconomySmartAccount } from "./signerToBiconomySmartAccount.js";
|
|
3
|
+
/**
|
|
4
|
+
* @description Creates a Biconomy Smart Account from a private key.
|
|
5
|
+
*
|
|
6
|
+
* @returns A Private Key Biconomy Smart Account using ECDSA as default validation module.
|
|
7
|
+
*/
|
|
8
|
+
export declare function privateKeyToBiconomySmartAccount<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined>(client: Client<TTransport, TChain>, { privateKey, entryPoint, index }: {
|
|
9
|
+
privateKey: Hex;
|
|
10
|
+
entryPoint: Address;
|
|
11
|
+
index?: bigint;
|
|
12
|
+
}): Promise<BiconomySmartAccount<TTransport, TChain>>;
|
|
13
|
+
//# sourceMappingURL=privateKeyToBiconomySmartAccount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privateKeyToBiconomySmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/biconomy/privateKeyToBiconomySmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,SAAS,EACjB,MAAM,MAAM,CAAA;AAEb,OAAO,EACH,KAAK,oBAAoB,EAE5B,MAAM,mCAAmC,CAAA;AAE1C;;;;GAIG;AACH,wBAAsB,gCAAgC,CAClD,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAEpD,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,EAClC,EACI,UAAU,EACV,UAAU,EACV,KAAU,EACb,EAAE;IACC,UAAU,EAAE,GAAG,CAAA;IACf,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,GACF,OAAO,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAOnD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type Address, type Chain, type Client, type Transport } from "viem";
|
|
2
|
+
import { type SmartAccount, type SmartAccountSigner } from "../types.js";
|
|
3
|
+
export type BiconomySmartAccount<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined> = SmartAccount<"biconomySmartAccount", transport, chain>;
|
|
4
|
+
/**
|
|
5
|
+
* Build a Biconomy modular smart account from a private key, that use the ECDSA signer behind the scene
|
|
6
|
+
* @param client
|
|
7
|
+
* @param privateKey
|
|
8
|
+
* @param entryPoint
|
|
9
|
+
* @param index
|
|
10
|
+
* @param factoryAddress
|
|
11
|
+
* @param accountLogicAddress
|
|
12
|
+
* @param ecdsaModuleAddress
|
|
13
|
+
*/
|
|
14
|
+
export declare function signerToBiconomySmartAccount<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TSource extends string = "custom", TAddress extends Address = Address>(client: Client<TTransport, TChain>, { signer, entryPoint, index, factoryAddress, accountLogicAddress, fallbackHandlerAddress, ecdsaModuleAddress }: {
|
|
15
|
+
signer: SmartAccountSigner<TSource, TAddress>;
|
|
16
|
+
entryPoint: Address;
|
|
17
|
+
index?: bigint;
|
|
18
|
+
factoryAddress?: Address;
|
|
19
|
+
accountLogicAddress?: Address;
|
|
20
|
+
fallbackHandlerAddress?: Address;
|
|
21
|
+
ecdsaModuleAddress?: Address;
|
|
22
|
+
}): Promise<BiconomySmartAccount<TTransport, TChain>>;
|
|
23
|
+
//# sourceMappingURL=signerToBiconomySmartAccount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signerToBiconomySmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/biconomy/signerToBiconomySmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EAGX,KAAK,SAAS,EASjB,MAAM,MAAM,CAAA;AAUb,OAAO,EAEH,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAC1B,MAAM,aAAa,CAAA;AAOpB,MAAM,MAAM,oBAAoB,CAC5B,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACnD,YAAY,CAAC,sBAAsB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;AAqJ1D;;;;;;;;;GASG;AACH,wBAAsB,4BAA4B,CAC9C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,MAAM,GAAG,QAAQ,EACjC,QAAQ,SAAS,OAAO,GAAG,OAAO,EAElC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,EAClC,EACI,MAAM,EACN,UAAU,EACV,KAAU,EACV,cAAmD,EACnD,mBAA2D,EAC3D,sBAA4E,EAC5E,kBAAuE,EAC1E,EAAE;IACC,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC7C,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC/B,GACF,OAAO,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CA6InD"}
|
|
@@ -3,6 +3,7 @@ import { type SimpleSmartAccount, signerToSimpleSmartAccount } from "./signerToS
|
|
|
3
3
|
import { privateKeyToSafeSmartAccount } from "./privateKeyToSafeSmartAccount.js";
|
|
4
4
|
import { type SafeSmartAccount, type SafeVersion, signerToSafeSmartAccount } from "./signerToSafeSmartAccount.js";
|
|
5
5
|
import { type KernelEcdsaSmartAccount, signerToEcdsaKernelSmartAccount } from "./kernel/signerToEcdsaKernelSmartAccount.js";
|
|
6
|
+
import { type BiconomySmartAccount, signerToBiconomySmartAccount } from "./biconomy/signerToBiconomySmartAccount.js";
|
|
6
7
|
import { SignTransactionNotSupportedBySmartAccount, type SmartAccount, type SmartAccountSigner } from "./types.js";
|
|
7
|
-
export { type SafeVersion, type SmartAccountSigner, type SafeSmartAccount, signerToSafeSmartAccount, type SimpleSmartAccount, signerToSimpleSmartAccount, SignTransactionNotSupportedBySmartAccount, privateKeyToSimpleSmartAccount, type SmartAccount, privateKeyToSafeSmartAccount, type KernelEcdsaSmartAccount, signerToEcdsaKernelSmartAccount };
|
|
8
|
+
export { type SafeVersion, type SmartAccountSigner, type SafeSmartAccount, signerToSafeSmartAccount, type SimpleSmartAccount, signerToSimpleSmartAccount, SignTransactionNotSupportedBySmartAccount, privateKeyToSimpleSmartAccount, type SmartAccount, privateKeyToSafeSmartAccount, type KernelEcdsaSmartAccount, signerToEcdsaKernelSmartAccount, type BiconomySmartAccount, signerToBiconomySmartAccount };
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AAEpF,OAAO,EACH,KAAK,kBAAkB,EACvB,0BAA0B,EAC7B,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAEhF,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,wBAAwB,EAC3B,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACH,KAAK,uBAAuB,EAC5B,+BAA+B,EAClC,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EACH,yCAAyC,EACzC,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAC1B,MAAM,YAAY,CAAA;AAEnB,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,0BAA0B,EAC1B,yCAAyC,EACzC,8BAA8B,EAC9B,KAAK,YAAY,EACjB,4BAA4B,EAC5B,KAAK,uBAAuB,EAC5B,+BAA+B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AAEpF,OAAO,EACH,KAAK,kBAAkB,EACvB,0BAA0B,EAC7B,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAEhF,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,wBAAwB,EAC3B,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACH,KAAK,uBAAuB,EAC5B,+BAA+B,EAClC,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EACH,KAAK,oBAAoB,EACzB,4BAA4B,EAC/B,MAAM,4CAA4C,CAAA;AAEnD,OAAO,EACH,yCAAyC,EACzC,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAC1B,MAAM,YAAY,CAAA;AAEnB,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,0BAA0B,EAC1B,yCAAyC,EACzC,8BAA8B,EAC9B,KAAK,YAAY,EACjB,4BAA4B,EAC5B,KAAK,uBAAuB,EAC5B,+BAA+B,EAC/B,KAAK,oBAAoB,EACzB,4BAA4B,EAC/B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signerToEcdsaKernelSmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/kernel/signerToEcdsaKernelSmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EAGX,KAAK,SAAS,EAIjB,MAAM,MAAM,CAAA;AAYb,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAEH,KAAK,kBAAkB,EAC1B,MAAM,aAAa,CAAA;AAGpB,MAAM,MAAM,uBAAuB,CAC/B,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACnD,YAAY,CAAC,yBAAyB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;AAuK7D;;;;;;;;;;GAUG;AACH,wBAAsB,+BAA+B,CACjD,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,MAAM,GAAG,QAAQ,EACjC,QAAQ,SAAS,OAAO,GAAG,OAAO,EAElC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,EAClC,EACI,MAAM,EACN,UAAU,EACV,KAAU,EACV,cAAiD,EACjD,mBAAyD,EACzD,qBAAwD,EACxD,sBAAsB,EACzB,EAAE;IACC,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC7C,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACnC,GACF,OAAO,CAAC,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"signerToEcdsaKernelSmartAccount.d.ts","sourceRoot":"","sources":["../../../accounts/kernel/signerToEcdsaKernelSmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EAGX,KAAK,SAAS,EAIjB,MAAM,MAAM,CAAA;AAYb,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAEH,KAAK,kBAAkB,EAC1B,MAAM,aAAa,CAAA;AAGpB,MAAM,MAAM,uBAAuB,CAC/B,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACnD,YAAY,CAAC,yBAAyB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;AAuK7D;;;;;;;;;;GAUG;AACH,wBAAsB,+BAA+B,CACjD,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,MAAM,GAAG,QAAQ,EACjC,QAAQ,SAAS,OAAO,GAAG,OAAO,EAElC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,EAClC,EACI,MAAM,EACN,UAAU,EACV,KAAU,EACV,cAAiD,EACjD,mBAAyD,EACzD,qBAAwD,EACxD,sBAAsB,EACzB,EAAE;IACC,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC7C,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACnC,GACF,OAAO,CAAC,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CA8HtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepHexlify.d.ts","sourceRoot":"","sources":["../../utils/deepHexlify.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB;;;CAG3B,CAAA;AAGV,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"deepHexlify.d.ts","sourceRoot":"","sources":["../../utils/deepHexlify.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB;;;CAG3B,CAAA;AAGV,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CA0BzC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The exeuctor abi, used to execute transactions on the Biconomy Modular Smart Account
|
|
3
|
+
*/
|
|
4
|
+
export const BiconomyExecuteAbi = [
|
|
5
|
+
{
|
|
6
|
+
inputs: [
|
|
7
|
+
{
|
|
8
|
+
internalType: "address",
|
|
9
|
+
name: "dest",
|
|
10
|
+
type: "address"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
internalType: "uint256",
|
|
14
|
+
name: "value",
|
|
15
|
+
type: "uint256"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
internalType: "bytes",
|
|
19
|
+
name: "func",
|
|
20
|
+
type: "bytes"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
name: "execute_ncC",
|
|
24
|
+
outputs: [],
|
|
25
|
+
stateMutability: "nonpayable",
|
|
26
|
+
type: "function"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
inputs: [
|
|
30
|
+
{
|
|
31
|
+
internalType: "address[]",
|
|
32
|
+
name: "dest",
|
|
33
|
+
type: "address[]"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
internalType: "uint256[]",
|
|
37
|
+
name: "value",
|
|
38
|
+
type: "uint256[]"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
internalType: "bytes[]",
|
|
42
|
+
name: "func",
|
|
43
|
+
type: "bytes[]"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
name: "executeBatch_y6U",
|
|
47
|
+
outputs: [],
|
|
48
|
+
stateMutability: "nonpayable",
|
|
49
|
+
type: "function"
|
|
50
|
+
}
|
|
51
|
+
] as const
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* The init abi, used to initialise Biconomy Modular Smart Account / setup default ECDSA module
|
|
55
|
+
*/
|
|
56
|
+
export const BiconomyInitAbi = [
|
|
57
|
+
{
|
|
58
|
+
inputs: [
|
|
59
|
+
{
|
|
60
|
+
internalType: "address",
|
|
61
|
+
name: "handler",
|
|
62
|
+
type: "address"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
internalType: "address",
|
|
66
|
+
name: "moduleSetupContract",
|
|
67
|
+
type: "address"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
internalType: "bytes",
|
|
71
|
+
name: "moduleSetupData",
|
|
72
|
+
type: "bytes"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
name: "init",
|
|
76
|
+
outputs: [
|
|
77
|
+
{
|
|
78
|
+
internalType: "address",
|
|
79
|
+
name: "",
|
|
80
|
+
type: "address"
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
stateMutability: "nonpayable",
|
|
84
|
+
type: "function"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
inputs: [
|
|
88
|
+
{
|
|
89
|
+
internalType: "address",
|
|
90
|
+
name: "eoaOwner",
|
|
91
|
+
type: "address"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
name: "initForSmartAccount",
|
|
95
|
+
outputs: [
|
|
96
|
+
{
|
|
97
|
+
internalType: "address",
|
|
98
|
+
name: "",
|
|
99
|
+
type: "address"
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
stateMutability: "nonpayable",
|
|
103
|
+
type: "function"
|
|
104
|
+
}
|
|
105
|
+
]
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type Address,
|
|
3
|
+
type Chain,
|
|
4
|
+
type Client,
|
|
5
|
+
type Hex,
|
|
6
|
+
type Transport
|
|
7
|
+
} from "viem"
|
|
8
|
+
import { privateKeyToAccount } from "viem/accounts"
|
|
9
|
+
import {
|
|
10
|
+
type BiconomySmartAccount,
|
|
11
|
+
signerToBiconomySmartAccount
|
|
12
|
+
} from "./signerToBiconomySmartAccount.js"
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @description Creates a Biconomy Smart Account from a private key.
|
|
16
|
+
*
|
|
17
|
+
* @returns A Private Key Biconomy Smart Account using ECDSA as default validation module.
|
|
18
|
+
*/
|
|
19
|
+
export async function privateKeyToBiconomySmartAccount<
|
|
20
|
+
TTransport extends Transport = Transport,
|
|
21
|
+
TChain extends Chain | undefined = Chain | undefined
|
|
22
|
+
>(
|
|
23
|
+
client: Client<TTransport, TChain>,
|
|
24
|
+
{
|
|
25
|
+
privateKey,
|
|
26
|
+
entryPoint,
|
|
27
|
+
index = 0n
|
|
28
|
+
}: {
|
|
29
|
+
privateKey: Hex
|
|
30
|
+
entryPoint: Address
|
|
31
|
+
index?: bigint
|
|
32
|
+
}
|
|
33
|
+
): Promise<BiconomySmartAccount<TTransport, TChain>> {
|
|
34
|
+
const privateKeyAccount = privateKeyToAccount(privateKey)
|
|
35
|
+
return signerToBiconomySmartAccount(client, {
|
|
36
|
+
signer: privateKeyAccount,
|
|
37
|
+
entryPoint,
|
|
38
|
+
index
|
|
39
|
+
})
|
|
40
|
+
}
|