@aastar/sdk 0.20.7 → 0.20.9
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/BaseClient-CkBhQ1ou.d.cts +88 -0
- package/dist/UserClient-2J6XMTNV.cjs +15 -0
- package/dist/UserClient-2J6XMTNV.cjs.map +1 -0
- package/dist/account.cjs +31 -0
- package/dist/account.cjs.map +1 -0
- package/dist/account.d.cts +48 -0
- package/dist/admin.cjs +15 -0
- package/dist/admin.cjs.map +1 -0
- package/dist/admin.d.cts +62 -0
- package/dist/airaccount.cjs +452 -0
- package/dist/airaccount.cjs.map +1 -0
- package/dist/airaccount.d.cts +4 -0
- package/dist/airaccount.js +3 -1
- package/dist/channel-CkRRbzT8.d.cts +77 -0
- package/dist/channel.cjs +27 -0
- package/dist/channel.cjs.map +1 -0
- package/dist/channel.d.cts +64 -0
- package/dist/chunk-2RCJBWPO.cjs +1168 -0
- package/dist/chunk-2RCJBWPO.cjs.map +1 -0
- package/dist/chunk-FTJD2DWE.cjs +42472 -0
- package/dist/chunk-FTJD2DWE.cjs.map +1 -0
- package/dist/chunk-GRDC6ZRA.cjs +118 -0
- package/dist/chunk-GRDC6ZRA.cjs.map +1 -0
- package/dist/chunk-GX7NROST.cjs +421 -0
- package/dist/chunk-GX7NROST.cjs.map +1 -0
- package/dist/chunk-HSVQIFIK.cjs +128 -0
- package/dist/chunk-HSVQIFIK.cjs.map +1 -0
- package/dist/{chunk-UIFMIVDK.js → chunk-IC3G6YM2.js} +24 -26
- package/dist/chunk-IC3G6YM2.js.map +1 -0
- package/dist/chunk-JTWY2XEG.cjs +115 -0
- package/dist/chunk-JTWY2XEG.cjs.map +1 -0
- package/dist/chunk-MRREGCWN.cjs +585 -0
- package/dist/chunk-MRREGCWN.cjs.map +1 -0
- package/dist/chunk-NT26BDGN.cjs +228 -0
- package/dist/chunk-NT26BDGN.cjs.map +1 -0
- package/dist/chunk-Q7SFCCGT.cjs +11 -0
- package/dist/chunk-Q7SFCCGT.cjs.map +1 -0
- package/dist/chunk-QLF7N6H7.cjs +448 -0
- package/dist/chunk-QLF7N6H7.cjs.map +1 -0
- package/dist/chunk-RNHSA3LO.cjs +108 -0
- package/dist/chunk-RNHSA3LO.cjs.map +1 -0
- package/dist/chunk-S5IKOOUR.cjs +393 -0
- package/dist/chunk-S5IKOOUR.cjs.map +1 -0
- package/dist/chunk-TFLZETWB.cjs +4693 -0
- package/dist/chunk-TFLZETWB.cjs.map +1 -0
- package/dist/chunk-WQREDGUF.cjs +435 -0
- package/dist/chunk-WQREDGUF.cjs.map +1 -0
- package/dist/chunk-XQROKLZI.cjs +4521 -0
- package/dist/chunk-XQROKLZI.cjs.map +1 -0
- package/dist/contract-addresses-TANQ5DLX.cjs +49 -0
- package/dist/contract-addresses-TANQ5DLX.cjs.map +1 -0
- package/dist/core.cjs +894 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.cts +6930 -0
- package/dist/dapp.cjs +289 -0
- package/dist/dapp.cjs.map +1 -0
- package/dist/dapp.d.cts +127 -0
- package/dist/doc-types-471vSmPO.d.cts +16 -0
- package/dist/enduser.cjs +24 -0
- package/dist/enduser.cjs.map +1 -0
- package/dist/enduser.d.cts +261 -0
- package/dist/identity.cjs +23 -0
- package/dist/identity.cjs.map +1 -0
- package/dist/identity.d.cts +81 -0
- package/dist/index-B6SfEQxo.d.cts +47 -0
- package/dist/index.cjs +2814 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +656 -0
- package/dist/kms.cjs +452 -0
- package/dist/kms.cjs.map +1 -0
- package/dist/kms.d.cts +3054 -0
- package/dist/kms.d.ts +13 -13
- package/dist/kms.js +3 -1
- package/dist/lib-FE4GR7TO.cjs +1865 -0
- package/dist/lib-FE4GR7TO.cjs.map +1 -0
- package/dist/operator.cjs +27 -0
- package/dist/operator.cjs.map +1 -0
- package/dist/operator.d.cts +164 -0
- package/dist/paymaster.cjs +63 -0
- package/dist/paymaster.cjs.map +1 -0
- package/dist/paymaster.d.cts +312 -0
- package/dist/src-ENPA7D2S.cjs +63 -0
- package/dist/src-ENPA7D2S.cjs.map +1 -0
- package/dist/src-TQKEO2I4.cjs +894 -0
- package/dist/src-TQKEO2I4.cjs.map +1 -0
- package/dist/tier-router-DeeVg69O.d.cts +370 -0
- package/dist/tokens.cjs +15 -0
- package/dist/tokens.cjs.map +1 -0
- package/dist/tokens.d.cts +64 -0
- package/dist/x402.cjs +103 -0
- package/dist/x402.cjs.map +1 -0
- package/dist/x402.d.cts +373 -0
- package/package.json +32 -32
- package/dist/chunk-UIFMIVDK.js.map +0 -1
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkFTJD2DWE_cjs = require('./chunk-FTJD2DWE.cjs');
|
|
4
|
+
var viem = require('viem');
|
|
5
|
+
var accounts = require('viem/accounts');
|
|
6
|
+
|
|
7
|
+
var createEOAWalletClient = (privateKey, chain, transport = viem.http()) => {
|
|
8
|
+
const account = accounts.privateKeyToAccount(privateKey);
|
|
9
|
+
const client = viem.createWalletClient({
|
|
10
|
+
account,
|
|
11
|
+
chain,
|
|
12
|
+
transport
|
|
13
|
+
});
|
|
14
|
+
return Object.assign(client, {
|
|
15
|
+
async sendTransaction(args) {
|
|
16
|
+
return client.sendTransaction({
|
|
17
|
+
...args,
|
|
18
|
+
account,
|
|
19
|
+
chain
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
getAddress: () => account.address
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
function packUserOpLimits(high, low) {
|
|
26
|
+
return `0x${(high << 128n | low).toString(16).padStart(64, "0")}`;
|
|
27
|
+
}
|
|
28
|
+
function getUserOpHash(op, ep, chainId) {
|
|
29
|
+
const packed = viem.encodeAbiParameters(
|
|
30
|
+
[
|
|
31
|
+
{ type: "address" },
|
|
32
|
+
{ type: "uint256" },
|
|
33
|
+
{ type: "bytes32" },
|
|
34
|
+
{ type: "bytes32" },
|
|
35
|
+
{ type: "bytes32" },
|
|
36
|
+
{ type: "uint256" },
|
|
37
|
+
{ type: "bytes32" },
|
|
38
|
+
{ type: "bytes32" }
|
|
39
|
+
],
|
|
40
|
+
[
|
|
41
|
+
op.sender,
|
|
42
|
+
BigInt(op.nonce),
|
|
43
|
+
viem.keccak256(op.initCode && op.initCode !== "0x" ? op.initCode : "0x"),
|
|
44
|
+
viem.keccak256(op.callData),
|
|
45
|
+
op.accountGasLimits,
|
|
46
|
+
BigInt(op.preVerificationGas),
|
|
47
|
+
op.gasFees,
|
|
48
|
+
viem.keccak256(op.paymasterAndData)
|
|
49
|
+
]
|
|
50
|
+
);
|
|
51
|
+
const enc = viem.encodeAbiParameters(
|
|
52
|
+
[{ type: "bytes32" }, { type: "address" }, { type: "uint256" }],
|
|
53
|
+
[viem.keccak256(packed), ep, BigInt(chainId)]
|
|
54
|
+
);
|
|
55
|
+
return viem.keccak256(enc);
|
|
56
|
+
}
|
|
57
|
+
var UserOpClient = class {
|
|
58
|
+
static async estimateGas(bundler, op, entryPoint) {
|
|
59
|
+
return bundler.request({
|
|
60
|
+
method: "eth_estimateUserOperationGas",
|
|
61
|
+
params: [op, entryPoint]
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
static async sendUserOp(bundler, op, entryPoint) {
|
|
65
|
+
return bundler.request({
|
|
66
|
+
method: "eth_sendUserOperation",
|
|
67
|
+
params: [op, entryPoint]
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
static async getReceipt(bundler, hash) {
|
|
71
|
+
return bundler.request({
|
|
72
|
+
method: "eth_getUserOperationReceipt",
|
|
73
|
+
params: [hash]
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
// ../account/src/accounts/simple.ts
|
|
79
|
+
async function toSimpleSmartAccount(parameters) {
|
|
80
|
+
const { client, owner, factoryAddress, entryPoint, index = 0n, salt = 0n } = parameters;
|
|
81
|
+
const factoryData = viem.encodeFunctionData({
|
|
82
|
+
abi: chunkFTJD2DWE_cjs.SimpleAccountFactoryABI,
|
|
83
|
+
functionName: "createAccount",
|
|
84
|
+
args: [owner.address, salt]
|
|
85
|
+
});
|
|
86
|
+
const initCode = viem.concatHex([factoryAddress, factoryData]);
|
|
87
|
+
const address = await client.readContract({
|
|
88
|
+
address: factoryAddress,
|
|
89
|
+
abi: chunkFTJD2DWE_cjs.SimpleAccountFactoryABI,
|
|
90
|
+
functionName: "getAddress",
|
|
91
|
+
args: [owner.address, salt]
|
|
92
|
+
});
|
|
93
|
+
return {
|
|
94
|
+
address,
|
|
95
|
+
publicKey: owner.address,
|
|
96
|
+
source: "custom",
|
|
97
|
+
type: "local",
|
|
98
|
+
entryPoint: entryPoint.address,
|
|
99
|
+
async signMessage({ message }) {
|
|
100
|
+
return owner.signMessage({ message });
|
|
101
|
+
},
|
|
102
|
+
async signTypedData(typedData) {
|
|
103
|
+
return owner.signTypedData(typedData);
|
|
104
|
+
},
|
|
105
|
+
async signTransaction(transaction) {
|
|
106
|
+
throw new Error("Smart Accounts cannot sign transactions directly. Use UserOperations.");
|
|
107
|
+
},
|
|
108
|
+
async signUserOperation(userOp) {
|
|
109
|
+
const chainId = client.chain?.id || 31337;
|
|
110
|
+
const hash = getUserOpHash(userOp, entryPoint.address, chainId);
|
|
111
|
+
return owner.signMessage({ message: { raw: hash } });
|
|
112
|
+
},
|
|
113
|
+
async getInitCode() {
|
|
114
|
+
return initCode;
|
|
115
|
+
},
|
|
116
|
+
async getDummySignature() {
|
|
117
|
+
return "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
exports.UserOpClient = UserOpClient;
|
|
123
|
+
exports.createEOAWalletClient = createEOAWalletClient;
|
|
124
|
+
exports.getUserOpHash = getUserOpHash;
|
|
125
|
+
exports.packUserOpLimits = packUserOpLimits;
|
|
126
|
+
exports.toSimpleSmartAccount = toSimpleSmartAccount;
|
|
127
|
+
//# sourceMappingURL=chunk-HSVQIFIK.cjs.map
|
|
128
|
+
//# sourceMappingURL=chunk-HSVQIFIK.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../account/src/eoa.ts","../../account/src/index.ts","../../account/src/accounts/simple.ts"],"names":["http","privateKeyToAccount","createWalletClient","encodeAbiParameters","keccak256","encodeFunctionData","SimpleAccountFactoryABI","concatHex"],"mappings":";;;;;;AAQO,IAAM,wBAAwB,CACjC,UAAA,EACA,KAAA,EACA,SAAA,GAAuBA,WAAK,KACV;AAClB,EAAA,MAAM,OAAA,GAAUC,6BAAoB,UAAU,CAAA;AAC9C,EAAA,MAAM,SAASC,uBAAA,CAAmB;AAAA,IAC9B,OAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,GACH,CAAA;AAED,EAAA,OAAO,MAAA,CAAO,OAAO,MAAA,EAAQ;AAAA,IACzB,MAAM,gBAAgB,IAAA,EAAmD;AACrE,MAAA,OAAO,OAAO,eAAA,CAAgB;AAAA,QAC1B,GAAG,IAAA;AAAA,QACH,OAAA;AAAA,QACA;AAAA,OACH,CAAA;AAAA,IACL,CAAA;AAAA,IACA,UAAA,EAAY,MAAM,OAAA,CAAQ;AAAA,GAC7B,CAAA;AACL;ACtBO,SAAS,gBAAA,CAAiB,MAAc,GAAA,EAAkB;AAC7D,EAAA,OAAO,CAAA,EAAA,EAAA,CAAO,IAAA,IAAQ,IAAA,GAAQ,GAAA,EAAK,QAAA,CAAS,EAAE,CAAA,CAAE,QAAA,CAAS,EAAA,EAAI,GAAG,CAAC,CAAA,CAAA;AACrE;AAKO,SAAS,aAAA,CAAc,EAAA,EAAS,EAAA,EAAa,OAAA,EAAsB;AACtE,EAAA,MAAM,MAAA,GAASC,wBAAA;AAAA,IACX;AAAA,MACI,EAAE,MAAM,SAAA,EAAU;AAAA,MAAG,EAAE,MAAM,SAAA,EAAU;AAAA,MAAG,EAAE,MAAM,SAAA,EAAU;AAAA,MAAG,EAAE,MAAM,SAAA,EAAU;AAAA,MACjF,EAAE,MAAM,SAAA,EAAU;AAAA,MAAG,EAAE,MAAM,SAAA,EAAU;AAAA,MAAG,EAAE,MAAM,SAAA,EAAU;AAAA,MAAG,EAAE,MAAM,SAAA;AAAU,KACrF;AAAA,IACA;AAAA,MACI,EAAA,CAAG,MAAA;AAAA,MAAQ,MAAA,CAAO,GAAG,KAAK,CAAA;AAAA,MAC1BC,cAAA,CAAU,GAAG,QAAA,IAAY,EAAA,CAAG,aAAa,IAAA,GAAO,EAAA,CAAG,WAAW,IAAI,CAAA;AAAA,MAClEA,cAAA,CAAU,GAAG,QAAQ,CAAA;AAAA,MACrB,EAAA,CAAG,gBAAA;AAAA,MAAkB,MAAA,CAAO,GAAG,kBAAkB,CAAA;AAAA,MAAG,EAAA,CAAG,OAAA;AAAA,MACvDA,cAAA,CAAU,GAAG,gBAAgB;AAAA;AACjC,GACJ;AACA,EAAA,MAAM,GAAA,GAAMD,wBAAA;AAAA,IACR,CAAC,EAAE,IAAA,EAAM,SAAA,EAAU,EAAG,EAAE,IAAA,EAAM,SAAA,EAAU,EAAG,EAAE,IAAA,EAAM,SAAA,EAAW,CAAA;AAAA,IAC9D,CAACC,cAAA,CAAU,MAAM,GAAG,EAAA,EAAI,MAAA,CAAO,OAAO,CAAC;AAAA,GAC3C;AACA,EAAA,OAAOA,eAAU,GAAG,CAAA;AACxB;AAKO,IAAM,eAAN,MAAmB;AAAA,EACtB,aAAa,WAAA,CAAY,OAAA,EAAc,EAAA,EAAS,UAAA,EAAqB;AACjE,IAAA,OAAO,QAAQ,OAAA,CAAQ;AAAA,MACnB,MAAA,EAAQ,8BAAA;AAAA,MACR,MAAA,EAAQ,CAAC,EAAA,EAAI,UAAU;AAAA,KAC1B,CAAA;AAAA,EACL;AAAA,EAEA,aAAa,UAAA,CAAW,OAAA,EAAc,EAAA,EAAS,UAAA,EAAqB;AAChE,IAAA,OAAO,QAAQ,OAAA,CAAQ;AAAA,MACnB,MAAA,EAAQ,uBAAA;AAAA,MACR,MAAA,EAAQ,CAAC,EAAA,EAAI,UAAU;AAAA,KAC1B,CAAA;AAAA,EACL;AAAA,EAEA,aAAa,UAAA,CAAW,OAAA,EAAc,IAAA,EAAW;AAC7C,IAAA,OAAO,QAAQ,OAAA,CAAQ;AAAA,MACnB,MAAA,EAAQ,6BAAA;AAAA,MACR,MAAA,EAAQ,CAAC,IAAI;AAAA,KAChB,CAAA;AAAA,EACL;AACJ;;;ACvCA,eAAsB,qBAAqB,UAAA,EAOX;AAC5B,EAAA,MAAM,EAAE,QAAQ,KAAA,EAAO,cAAA,EAAgB,YAAY,KAAA,GAAQ,EAAA,EAAI,IAAA,GAAO,EAAA,EAAG,GAAI,UAAA;AAG7E,EAAA,MAAM,cAAcC,uBAAA,CAAmB;AAAA,IACnC,GAAA,EAAKC,yCAAA;AAAA,IACL,YAAA,EAAc,eAAA;AAAA,IACd,IAAA,EAAM,CAAC,KAAA,CAAM,OAAA,EAAS,IAAI;AAAA,GAC7B,CAAA;AACD,EAAA,MAAM,QAAA,GAAWC,cAAA,CAAU,CAAC,cAAA,EAAgB,WAAW,CAAC,CAAA;AAGxD,EAAA,MAAM,OAAA,GAAU,MAAM,MAAA,CAAO,YAAA,CAAa;AAAA,IACrC,OAAA,EAAS,cAAA;AAAA,IACT,GAAA,EAAKD,yCAAA;AAAA,IACL,YAAA,EAAc,YAAA;AAAA,IACd,IAAA,EAAM,CAAC,KAAA,CAAM,OAAA,EAAS,IAAI;AAAA,GAC9B,CAAA;AAED,EAAA,OAAO;AAAA,IACH,OAAA;AAAA,IACA,WAAW,KAAA,CAAM,OAAA;AAAA,IACjB,MAAA,EAAQ,QAAA;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,YAAY,UAAA,CAAW,OAAA;AAAA,IAEvB,MAAM,WAAA,CAAY,EAAE,OAAA,EAAQ,EAA+C;AAGvE,MAAA,OAAO,KAAA,CAAM,WAAA,CAAY,EAAE,OAAA,EAAS,CAAA;AAAA,IACxC,CAAA;AAAA,IAEA,MAAM,cAAc,SAAA,EAA8C;AAC9D,MAAA,OAAO,KAAA,CAAM,cAAc,SAAS,CAAA;AAAA,IACxC,CAAA;AAAA,IAEA,MAAM,gBAAgB,WAAA,EAAgC;AAClD,MAAA,MAAM,IAAI,MAAM,uEAAuE,CAAA;AAAA,IAC3F,CAAA;AAAA,IAEA,MAAM,kBAAkB,MAAA,EAA2B;AAC/C,MAAA,MAAM,OAAA,GAAU,MAAA,CAAO,KAAA,EAAO,EAAA,IAAM,KAAA;AACpC,MAAA,MAAM,IAAA,GAAO,aAAA,CAAc,MAAA,EAAQ,UAAA,CAAW,SAAS,OAAO,CAAA;AAC9D,MAAA,OAAO,KAAA,CAAM,YAAY,EAAE,OAAA,EAAS,EAAE,GAAA,EAAK,IAAA,IAAQ,CAAA;AAAA,IACvD,CAAA;AAAA,IAEA,MAAM,WAAA,GAAc;AAChB,MAAA,OAAO,QAAA;AAAA,IACX,CAAA;AAAA,IAEA,MAAM,iBAAA,GAAoB;AACtB,MAAA,OAAO,8IAAA;AAAA,IACX;AAAA,GAEJ;AACJ","file":"chunk-HSVQIFIK.cjs","sourcesContent":["import { type WalletClient, type PublicClient, type Address, type Chain, type Transport, type Hash, type Hex, createWalletClient, http } from 'viem';\nimport { privateKeyToAccount } from 'viem/accounts';\n\nexport type EOAWalletClient = WalletClient & {\n sendTransaction: (args: { to: Address, value?: bigint, data?: Hex }) => Promise<Hash>;\n getAddress: () => Address;\n};\n\nexport const createEOAWalletClient = (\n privateKey: Hex, \n chain: Chain, \n transport: Transport = http()\n): EOAWalletClient => {\n const account = privateKeyToAccount(privateKey);\n const client = createWalletClient({\n account,\n chain,\n transport\n });\n\n return Object.assign(client, {\n async sendTransaction(args: { to: Address, value?: bigint, data?: Hex }) {\n return client.sendTransaction({\n ...args,\n account,\n chain\n });\n },\n getAddress: () => account.address\n }) as EOAWalletClient;\n};\n","import { type Hex, type Address, encodeAbiParameters, keccak256 } from 'viem';\n\nexport * from './eoa.js';\nexport * from './accounts/simple.js';\n\n/**\n * Common Pack Logic for v0.7 UserOperations\n */\nexport function packUserOpLimits(high: bigint, low: bigint): Hex {\n return `0x${((high << 128n) | low).toString(16).padStart(64, '0')}` as Hex;\n}\n\n/**\n * Local implementation of EntryPoint v0.7 getUserOpHash\n */\nexport function getUserOpHash(op: any, ep: Address, chainId: number): Hex {\n const packed = encodeAbiParameters(\n [\n { type: 'address' }, { type: 'uint256' }, { type: 'bytes32' }, { type: 'bytes32' },\n { type: 'bytes32' }, { type: 'uint256' }, { type: 'bytes32' }, { type: 'bytes32' }\n ],\n [\n op.sender, BigInt(op.nonce), \n keccak256(op.initCode && op.initCode !== \"0x\" ? op.initCode : '0x'), \n keccak256(op.callData),\n op.accountGasLimits, BigInt(op.preVerificationGas), op.gasFees,\n keccak256(op.paymasterAndData)\n ]\n );\n const enc = encodeAbiParameters(\n [{ type: 'bytes32' }, { type: 'address' }, { type: 'uint256' }],\n [keccak256(packed), ep, BigInt(chainId)]\n );\n return keccak256(enc);\n}\n\n/**\n * UserOperation Client for handling high-level flows\n */\nexport class UserOpClient {\n static async estimateGas(bundler: any, op: any, entryPoint: Address) {\n return bundler.request({\n method: 'eth_estimateUserOperationGas',\n params: [op, entryPoint]\n });\n }\n\n static async sendUserOp(bundler: any, op: any, entryPoint: Address) {\n return bundler.request({\n method: 'eth_sendUserOperation',\n params: [op, entryPoint]\n });\n }\n\n static async getReceipt(bundler: any, hash: Hex) {\n return bundler.request({\n method: 'eth_getUserOperationReceipt',\n params: [hash]\n });\n }\n}\n","import { \n type Address, \n type Hex, \n type LocalAccount, \n type SignableMessage, \n type TypedDataDefinition,\n type Hash,\n concatHex, \n encodeFunctionData, \n keccak256,\n} from 'viem';\nimport { SimpleAccountFactoryABI, type PublicClient } from '@aastar/core';\nimport { getUserOpHash } from '../index.js';\n\nexport type SimpleSmartAccount = LocalAccount & {\n signUserOperation: (userOp: any) => Promise<Hex>;\n getInitCode: () => Promise<Hex>;\n getDummySignature: () => Promise<Hex>;\n entryPoint: Address;\n};\n\nexport async function toSimpleSmartAccount(parameters: {\n client: any;\n owner: LocalAccount;\n factoryAddress: Address;\n entryPoint: { address: Address; version: '0.6' | '0.7' };\n salt?: bigint;\n index?: bigint;\n}): Promise<SimpleSmartAccount> {\n const { client, owner, factoryAddress, entryPoint, index = 0n, salt = 0n } = parameters;\n \n // Calculate initCode\n const factoryData = encodeFunctionData({\n abi: SimpleAccountFactoryABI,\n functionName: 'createAccount',\n args: [owner.address, salt]\n });\n const initCode = concatHex([factoryAddress, factoryData]);\n\n // Calculate counterfactual address\n const address = await client.readContract({\n address: factoryAddress,\n abi: SimpleAccountFactoryABI,\n functionName: 'getAddress',\n args: [owner.address, salt]\n });\n\n return {\n address,\n publicKey: owner.address,\n source: 'custom', \n type: 'local',\n entryPoint: entryPoint.address,\n \n async signMessage({ message }: { message: SignableMessage }): Promise<Hex> {\n // validating signature for smart account usually involves EIP-1271, \n // but here we just sign with owner for SimpleAccount which validates owner sig\n return owner.signMessage({ message });\n },\n\n async signTypedData(typedData: TypedDataDefinition): Promise<Hex> {\n return owner.signTypedData(typedData);\n },\n\n async signTransaction(transaction: any): Promise<Hex> {\n throw new Error('Smart Accounts cannot sign transactions directly. Use UserOperations.');\n },\n \n async signUserOperation(userOp: any): Promise<Hex> {\n const chainId = client.chain?.id || 31337; // Default to local anvil if not found\n const hash = getUserOpHash(userOp, entryPoint.address, chainId);\n return owner.signMessage({ message: { raw: hash } });\n },\n \n async getInitCode() {\n return initCode;\n },\n\n async getDummySignature() {\n return '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff';\n }\n\n } as any as SimpleSmartAccount;\n}\n"]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { selectorFromId, keccak256, solidityPacked, ERC4337Utils, BLSManager, resolveTier, algIdForTier, encodeAbiParams, ecdsa, ALG_CUMULATIVE_T3, ALG_CUMULATIVE_T2, ALG_P256, ALG_ECDSA, ALG_BLS, weierstrass, sha256 } from './chunk-X3AMH53O.js';
|
|
2
|
+
import { CANONICAL_ADDRESSES } from './chunk-G3UJC4EL.js';
|
|
2
3
|
import { parseAbi, createPublicClient, http, getContract, formatEther, parseUnits, parseEther, encodeFunctionData, concat, numberToHex, zeroAddress, hexToBytes, formatUnits, hashMessage as hashMessage$1, toRlp, keccak256 as keccak256$1, concatHex, recoverAddress as recoverAddress$1 } from 'viem';
|
|
3
4
|
import axios from 'axios';
|
|
4
5
|
import { createHash } from 'crypto';
|
|
5
6
|
import { privateKeyToAccount } from 'viem/accounts';
|
|
6
7
|
|
|
7
8
|
// ../airaccount/src/server/constants/entrypoint.ts
|
|
9
|
+
var CORE_SEPOLIA = CANONICAL_ADDRESSES[11155111];
|
|
8
10
|
var EntryPointVersion = /* @__PURE__ */ ((EntryPointVersion2) => {
|
|
9
11
|
EntryPointVersion2["V0_6"] = "0.6";
|
|
10
12
|
EntryPointVersion2["V0_7"] = "0.7";
|
|
@@ -88,30 +90,26 @@ var AIRACCOUNT_ADDRESSES = {
|
|
|
88
90
|
tierGuardHookM7r4: "0x67f878295cFF7451CBD2A775C4490607AF1b07d7",
|
|
89
91
|
/** @deprecated */
|
|
90
92
|
agentSessionKeyValidatorM7r4: "0x1F06961e133217801F92e1CF552187F594a32873",
|
|
91
|
-
// ── Current:
|
|
92
|
-
//
|
|
93
|
-
//
|
|
94
|
-
|
|
95
|
-
//
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
accountImpl:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
// beta.4
|
|
112
|
-
agentRegistry: "0xe1320c35485b4d7817866a8d0d8f77dd58202253",
|
|
113
|
-
// beta.4
|
|
114
|
-
calldataParserRegistry: "0x076EE45d2a97F70FCb2e45809DC5f9b72BB4883F",
|
|
93
|
+
// ── Current: derived from @aastar/core CANONICAL_ADDRESSES[11155111] ───────────
|
|
94
|
+
// SINGLE SOURCE OF TRUTH. Do NOT hand-copy hex here. core is synced on every
|
|
95
|
+
// protocol redeploy (currently AirAccount v0.19.0-beta.2, Sepolia 2026-06-16),
|
|
96
|
+
// and these fields re-derive automatically. The key mapping (airaccount field ←
|
|
97
|
+
// core key) is asserted by entrypoint.addresses.test.ts so it can't silently drift.
|
|
98
|
+
factory: CORE_SEPOLIA.airAccountFactoryV7,
|
|
99
|
+
factoryM7: CORE_SEPOLIA.airAccountFactoryV7,
|
|
100
|
+
accountImpl: CORE_SEPOLIA.airAccountV7Impl,
|
|
101
|
+
validatorRouter: CORE_SEPOLIA.aaStarValidator,
|
|
102
|
+
blsAlgorithm: CORE_SEPOLIA.aaStarBLSAlgorithm,
|
|
103
|
+
blsAggregator: CORE_SEPOLIA.aaStarBLSAggregator,
|
|
104
|
+
// SuperPaymaster proxy — same concept as core's `superPaymaster` proxy.
|
|
105
|
+
superPaymaster: CORE_SEPOLIA.superPaymaster,
|
|
106
|
+
sessionKeyValidator: CORE_SEPOLIA.sessionKeyValidator,
|
|
107
|
+
forceExitModule: CORE_SEPOLIA.forceExitModule,
|
|
108
|
+
airAccountDelegate: CORE_SEPOLIA.airAccountDelegate,
|
|
109
|
+
airAccountExtension: CORE_SEPOLIA.airAccountExtension,
|
|
110
|
+
agentRegistry: CORE_SEPOLIA.agentRegistry,
|
|
111
|
+
calldataParserRegistry: CORE_SEPOLIA.calldataParserRegistry,
|
|
112
|
+
// uniswapV3Parser is airaccount-specific (not in core) — keep hardcoded.
|
|
115
113
|
uniswapV3Parser: "0x5671810ac8aa1857397870e60232579cfc519515"
|
|
116
114
|
}
|
|
117
115
|
};
|
|
@@ -4591,5 +4589,5 @@ var LocalWalletSigner = class {
|
|
|
4591
4589
|
*/
|
|
4592
4590
|
|
|
4593
4591
|
export { ACCOUNT_ABI, AGENT_SESSION_KEY_VALIDATOR_ABI, AIRACCOUNT_ABI, AIRACCOUNT_ADDRESSES, AIRACCOUNT_FACTORY_ABI, AIR_ACCOUNT_COMPOSITE_VALIDATOR_ABI, AIR_ACCOUNT_DELEGATE_ABI, AIR_ACCOUNT_DELEGATE_ADDRESS, ALG_ID, AccountManager, AgentRegistryService, AirAccountServerClient, BLSSignatureService, CALLDATA_PARSER_REGISTRY_ABI, ConsoleLogger, DEFAULT_CREDENTIAL_ID, DEFAULT_KMS_ENDPOINT, DEFAULT_ORIGIN, DEFAULT_RP_ID, DvtPendingConfirmationError, EIP7702DelegateService, ENTRYPOINT_ABI_V6, ENTRYPOINT_ABI_V7_V8, ENTRYPOINT_ADDRESSES, ERC20_ABI, ERC8004Service, ERC8004_ADDRESSES, EXECUTE_BATCH_SELECTOR, EXECUTE_SELECTOR, EXECUTE_USER_OP_SELECTOR, EntryPointVersion, EthereumProvider, FACTORY_ABI_V6, FACTORY_ABI_V7_V8, FORCE_EXIT_MODULE_ABI, ForceExitService, GLOBAL_GUARD_ABI, GuardChecker, GuardStateReader, KmsAgentService, KmsHttpClient, KmsManager, KmsMonitorService, KmsPaymentSigner, KmsSessionService, KmsSigner, L2_TYPE, LocalWalletSigner, MAX_GUARDIANS, MODULE_TYPE, MemoryStorage, ModuleManager, P256PasskeySigner, PaymasterManager, PaymasterPriceStalenessError, RECOVERY_THRESHOLD, RECOVERY_TIMELOCK_SECONDS, RecoveryService, SESSION_KEY_VALIDATOR_ABI, SessionKeyService, SilentLogger, TIER_GUARD_HOOK_ABI, TokenService, TransferManager, VALIDATOR_ABI, WEIGHT_CHANGE_EXPIRY_SECONDS, WEIGHT_CHANGE_THRESHOLD, WEIGHT_CHANGE_TIMELOCK_SECONDS, WalletManager, WeightedSignatureService, YAAAServerClient, base64UrlDecode, base64UrlEncode, beginAuthenticationChallenge, beginGrantSessionChallenge, buildAuthenticationCredential, buildAuthenticatorData, buildClientDataJSON, buildInstallModuleHash, buildUninstallModuleHash, computeOapdSalt, erc8004AddressesForChain, getOapdAddress, getOapdAddressWithChainId, isExecuteUserOpWrapped, isOapdDeployed, isPendingConfirmation, packP256SessionSignature, packSecp256k1SessionSignature, runAuthenticationCeremony, runGrantSessionCeremony, runWebAuthnCeremony, sepoliaV07Config, validateConfig, wrapExecuteUserOp };
|
|
4594
|
-
//# sourceMappingURL=chunk-
|
|
4595
|
-
//# sourceMappingURL=chunk-
|
|
4592
|
+
//# sourceMappingURL=chunk-IC3G6YM2.js.map
|
|
4593
|
+
//# sourceMappingURL=chunk-IC3G6YM2.js.map
|