@deserialize/multi-vm-wallet 1.3.2 → 1.3.4
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/.claude/settings.local.json +2 -1
- package/dist/IChainWallet.d.ts +2 -0
- package/dist/IChainWallet.js.map +1 -1
- package/dist/constant.js +60 -16
- package/dist/constant.js.map +1 -1
- package/dist/evm/aa-service/index.d.ts +1 -1
- package/dist/evm/aa-service/index.js +1 -2
- package/dist/evm/aa-service/index.js.map +1 -1
- package/dist/evm/aa-service/lib/kernel-account.d.ts +1 -1
- package/dist/evm/aa-service/lib/kernel-account.js +22 -6
- package/dist/evm/aa-service/lib/kernel-account.js.map +1 -1
- package/dist/evm/aa-service/lib/session-keys.d.ts +14 -17
- package/dist/evm/aa-service/lib/session-keys.js +40 -58
- package/dist/evm/aa-service/lib/session-keys.js.map +1 -1
- package/dist/evm/aa-service/lib/type.d.ts +2 -1
- package/dist/evm/aa-service/lib/type.js.map +1 -1
- package/dist/evm/aa-service/services/account-abstraction.d.ts +3 -29
- package/dist/evm/aa-service/services/account-abstraction.js +3 -67
- package/dist/evm/aa-service/services/account-abstraction.js.map +1 -1
- package/dist/evm/aa-service/services/bundler.js +2 -1
- package/dist/evm/aa-service/services/bundler.js.map +1 -1
- package/dist/evm/evm.d.ts +163 -1
- package/dist/evm/evm.js +259 -0
- package/dist/evm/evm.js.map +1 -1
- package/dist/evm/smartWallet.d.ts +11 -43
- package/dist/evm/smartWallet.js +136 -116
- package/dist/evm/smartWallet.js.map +1 -1
- package/dist/evm/utils.js +0 -1
- package/dist/evm/utils.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/price.d.ts +2 -0
- package/dist/price.js +33 -0
- package/dist/price.js.map +1 -0
- package/dist/price.types.d.ts +38 -0
- package/dist/price.types.js +4 -0
- package/dist/price.types.js.map +1 -0
- package/dist/privacy/artifact-manager.d.ts +117 -0
- package/dist/privacy/artifact-manager.js +251 -0
- package/dist/privacy/artifact-manager.js.map +1 -0
- package/dist/privacy/broadcaster-client.d.ts +166 -0
- package/dist/privacy/broadcaster-client.js +261 -0
- package/dist/privacy/broadcaster-client.js.map +1 -0
- package/dist/privacy/index.d.ts +34 -0
- package/dist/privacy/index.js +56 -0
- package/dist/privacy/index.js.map +1 -0
- package/dist/privacy/network-config.d.ts +57 -0
- package/dist/privacy/network-config.js +118 -0
- package/dist/privacy/network-config.js.map +1 -0
- package/dist/privacy/poi-helper.d.ts +161 -0
- package/dist/privacy/poi-helper.js +249 -0
- package/dist/privacy/poi-helper.js.map +1 -0
- package/dist/privacy/railgun-engine.d.ts +135 -0
- package/dist/privacy/railgun-engine.js +205 -0
- package/dist/privacy/railgun-engine.js.map +1 -0
- package/dist/privacy/railgun-privacy-wallet.d.ts +288 -0
- package/dist/privacy/railgun-privacy-wallet.js +539 -0
- package/dist/privacy/railgun-privacy-wallet.js.map +1 -0
- package/dist/privacy/types.d.ts +229 -0
- package/dist/privacy/types.js +26 -0
- package/dist/privacy/types.js.map +1 -0
- package/dist/savings/savings-manager.d.ts +126 -0
- package/dist/savings/savings-manager.js +234 -0
- package/dist/savings/savings-manager.js.map +1 -0
- package/dist/savings/smart-savings.d.ts +74 -0
- package/dist/savings/smart-savings.js +152 -0
- package/dist/savings/smart-savings.js.map +1 -0
- package/dist/savings/types.d.ts +125 -0
- package/dist/savings/types.js +9 -0
- package/dist/savings/types.js.map +1 -0
- package/dist/svm/svm.d.ts +18 -0
- package/dist/svm/svm.js +35 -0
- package/dist/svm/svm.js.map +1 -1
- package/dist/test.js +53 -15
- package/dist/test.js.map +1 -1
- package/dist/vm.d.ts +14 -0
- package/dist/vm.js.map +1 -1
- package/package.json +2 -1
- package/utils/IChainWallet.ts +2 -0
- package/utils/constant.ts +63 -16
- package/utils/evm/aa-service/index.ts +0 -1
- package/utils/evm/aa-service/lib/kernel-account.ts +23 -8
- package/utils/evm/aa-service/lib/session-keys.ts +58 -60
- package/utils/evm/aa-service/lib/type.ts +2 -1
- package/utils/evm/aa-service/services/account-abstraction.ts +10 -76
- package/utils/evm/aa-service/services/bundler.ts +2 -1
- package/utils/evm/evm.ts +317 -0
- package/utils/evm/smartWallet.ts +118 -128
- package/utils/evm/utils.ts +1 -1
- package/utils/index.ts +1 -0
- package/utils/price.ts +37 -0
- package/utils/price.types.ts +45 -0
- package/utils/savings/savings-manager.ts +271 -0
- package/utils/savings/smart-savings.ts +184 -0
- package/utils/savings/types.ts +135 -0
- package/utils/svm/svm.ts +43 -2
- package/utils/test.ts +84 -19
- package/utils/vm.ts +12 -1
package/dist/IChainWallet.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EVMTransactionHistoryItem } from "./evm/transactionParsing";
|
|
2
|
+
import { PriceResponse } from "./price.types";
|
|
2
3
|
import { SVMTransactionHistoryItem } from "./svm/transactionParsing";
|
|
3
4
|
import { Balance, ChainWalletConfig, TokenInfo, TransactionResult, UserTokenBalance, NFT } from "./types";
|
|
4
5
|
export declare abstract class ChainWallet<AddressType, PrivateKeyType, ConnectionType> {
|
|
@@ -17,6 +18,7 @@ export declare abstract class ChainWallet<AddressType, PrivateKeyType, Connectio
|
|
|
17
18
|
abstract discoverToken(): Promise<UserTokenBalance<AddressType>[]>;
|
|
18
19
|
abstract discoverNFT(): Promise<NFT[]>;
|
|
19
20
|
abstract getTransactionHistory(): Promise<(SVMTransactionHistoryItem | EVMTransactionHistoryItem)[]>;
|
|
21
|
+
abstract getPrices(tokenAddresses: string[]): Promise<PriceResponse>;
|
|
20
22
|
getAddress(): AddressType;
|
|
21
23
|
getChainWalletConfig(): ChainWalletConfig;
|
|
22
24
|
}
|
package/dist/IChainWallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IChainWallet.js","sourceRoot":"","sources":["../utils/IChainWallet.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"IChainWallet.js","sourceRoot":"","sources":["../utils/IChainWallet.ts"],"names":[],"mappings":";;;AAKA,MAAsB,WAAW;IACnB,UAAU,CAAiB;IACrC,MAAM,CAAoB;IAC1B,OAAO,CAAc;IACrB,KAAK,CAAoB;IACzB,UAAU,CAA4B;IAEtC,YAAY,MAAyB,EAAE,UAA0B,EAAE,KAAc;QAC7E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAEvB,CAAC;IAYD,+GAA+G;IAC/G,mEAAmE;IACnE,mFAAmF;IACnF,oDAAoD;IAEpD,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACD,oBAAoB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CAEJ;AArCD,kCAqCC"}
|
package/dist/constant.js
CHANGED
|
@@ -31,7 +31,7 @@ exports.DefaultChains = [{
|
|
|
31
31
|
}, {
|
|
32
32
|
chainId: 123456789,
|
|
33
33
|
name: "Solana",
|
|
34
|
-
rpcUrl: "https://solana-mainnet.g.alchemy.com/v2/
|
|
34
|
+
rpcUrl: "https://solana-mainnet.g.alchemy.com/v2/TFdA4BilCnKIwaqtypk0d",
|
|
35
35
|
explorerUrl: "https://explorer.solana.com",
|
|
36
36
|
nativeToken: {
|
|
37
37
|
name: "Solana",
|
|
@@ -45,7 +45,7 @@ exports.DefaultChains = [{
|
|
|
45
45
|
{
|
|
46
46
|
chainId: 1,
|
|
47
47
|
name: "Ethereum",
|
|
48
|
-
rpcUrl: "https://eth-mainnet.g.alchemy.com/v2/
|
|
48
|
+
rpcUrl: "https://eth-mainnet.g.alchemy.com/v2/TFdA4BilCnKIwaqtypk0d",
|
|
49
49
|
explorerUrl: "https://etherscan.io",
|
|
50
50
|
nativeToken: {
|
|
51
51
|
name: "Ether",
|
|
@@ -68,24 +68,25 @@ exports.DefaultChains = [{
|
|
|
68
68
|
testnet: false,
|
|
69
69
|
logoUrl: "https://bscscan.com/assets/bsc/images/svg/logos/token-light.svg?v=25.10.5.0",
|
|
70
70
|
vmType: "EVM"
|
|
71
|
-
}, {
|
|
72
|
-
chainId: 123456791,
|
|
73
|
-
name: "Eclipse",
|
|
74
|
-
rpcUrl: "https://mainnetbeta-rpc.eclipse.xyz",
|
|
75
|
-
explorerUrl: "https://explorer.eclipse.xyz/",
|
|
76
|
-
nativeToken: {
|
|
77
|
-
name: "Eclipse",
|
|
78
|
-
symbol: "ETH",
|
|
79
|
-
decimals: 9,
|
|
80
|
-
},
|
|
81
|
-
testnet: false,
|
|
82
|
-
logoUrl: "https://raw.githubusercontent.com/hyperlane-xyz/hyperlane-registry/a86c3b432b6f9ad7272ae09859f20eb3ade3bd6e/deployments/warp_routes/ES/logo.svg",
|
|
83
|
-
vmType: "SVM"
|
|
84
71
|
},
|
|
72
|
+
// {
|
|
73
|
+
// chainId: 123456791,
|
|
74
|
+
// name: "Eclipse",
|
|
75
|
+
// rpcUrl: "https://mainnetbeta-rpc.eclipse.xyz",
|
|
76
|
+
// explorerUrl: "https://explorer.eclipse.xyz/",
|
|
77
|
+
// nativeToken: {
|
|
78
|
+
// name: "Eclipse",
|
|
79
|
+
// symbol: "ETH",
|
|
80
|
+
// decimals: 9,
|
|
81
|
+
// },
|
|
82
|
+
// testnet: false,
|
|
83
|
+
// logoUrl: "https://raw.githubusercontent.com/hyperlane-xyz/hyperlane-registry/a86c3b432b6f9ad7272ae09859f20eb3ade3bd6e/deployments/warp_routes/ES/logo.svg",
|
|
84
|
+
// vmType: "SVM"
|
|
85
|
+
// },
|
|
85
86
|
{
|
|
86
87
|
chainId: chains_1.base.id,
|
|
87
88
|
name: chains_1.base.name,
|
|
88
|
-
rpcUrl:
|
|
89
|
+
rpcUrl: "https://base-mainnet.g.alchemy.com/v2/TFdA4BilCnKIwaqtypk0d",
|
|
89
90
|
explorerUrl: chains_1.base.blockExplorers?.default.url || "",
|
|
90
91
|
nativeToken: {
|
|
91
92
|
name: chains_1.base.nativeCurrency.name,
|
|
@@ -95,6 +96,49 @@ exports.DefaultChains = [{
|
|
|
95
96
|
testnet: chains_1.base.testnet,
|
|
96
97
|
logoUrl: "https://avatars.githubusercontent.com/u/108554348?s=200&v=4",
|
|
97
98
|
vmType: "EVM"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
chainId: 42161,
|
|
102
|
+
name: "Arbitrum One",
|
|
103
|
+
rpcUrl: "https://arbitrum-mainnet.g.alchemy.com/v2/TFdA4BilCnKIwaqtypk0d",
|
|
104
|
+
explorerUrl: "https://arbiscan.io",
|
|
105
|
+
nativeToken: {
|
|
106
|
+
name: "Ether",
|
|
107
|
+
symbol: "ETH",
|
|
108
|
+
decimals: 18,
|
|
109
|
+
},
|
|
110
|
+
testnet: false,
|
|
111
|
+
logoUrl: "https://arbiscan.io/images/svg/brands/arbitrum-light.svg?v=0.0.36",
|
|
112
|
+
vmType: "EVM"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
chainId: 10,
|
|
116
|
+
name: "Optimism",
|
|
117
|
+
rpcUrl: "https://optimism-mainnet.g.alchemy.com/v2/TFdA4BilCnKIwaqtypk0d",
|
|
118
|
+
explorerUrl: "https://optimistic.etherscan.io",
|
|
119
|
+
nativeToken: {
|
|
120
|
+
name: "Ether",
|
|
121
|
+
symbol: "ETH",
|
|
122
|
+
decimals: 18,
|
|
123
|
+
},
|
|
124
|
+
testnet: false,
|
|
125
|
+
logoUrl: "https://optimism.io/images/optimism-logo-light.svg",
|
|
126
|
+
vmType: "EVM"
|
|
127
|
+
},
|
|
128
|
+
//add for polygon
|
|
129
|
+
{
|
|
130
|
+
chainId: 137,
|
|
131
|
+
name: "Polygon",
|
|
132
|
+
rpcUrl: "https://polygon-mainnet.g.alchemy.com/v2/TFdA4BilCnKIwaqtypk0d",
|
|
133
|
+
explorerUrl: "https://polygonscan.com",
|
|
134
|
+
nativeToken: {
|
|
135
|
+
name: "MATIC",
|
|
136
|
+
symbol: "MATIC",
|
|
137
|
+
decimals: 18,
|
|
138
|
+
},
|
|
139
|
+
testnet: false,
|
|
140
|
+
logoUrl: "https://polygonscan.com/images/svg/brands/polygon-light.svg?v=0.0.36",
|
|
141
|
+
vmType: "EVM"
|
|
98
142
|
}
|
|
99
143
|
];
|
|
100
144
|
exports.TRANSACTION_TYPE = {
|
package/dist/constant.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../utils/constant.ts"],"names":[],"mappings":";;;AAAA,wCAAmC;AAGtB,QAAA,aAAa,GAAwB,CAAC;QAE/C,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,yBAAyB;QACjC,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE;YACT,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,4EAA4E;QACrF,MAAM,EAAE,KAAK;KAChB,EAAE;QAEC,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,sBAAsB;QAC9B,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE;YACT,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,uFAAuF;QAChG,MAAM,EAAE,KAAK;KAChB,EAAE;QACC,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,+DAA+D;QACvE,WAAW,EAAE,6BAA6B;QAC1C,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,CAAC;SACd;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,wDAAwD;QACjE,MAAM,EAAE,KAAK;KAChB;IACK;QACF,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,4DAA4D;QACpE,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE;YACT,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,oEAAoE;QAC7E,MAAM,EAAE,KAAK;KAChB,EAAE;QACC,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,mCAAmC;QAC3C,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACT,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,6EAA6E;QACtF,MAAM,EAAE,KAAK;KAChB,
|
|
1
|
+
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../utils/constant.ts"],"names":[],"mappings":";;;AAAA,wCAAmC;AAGtB,QAAA,aAAa,GAAwB,CAAC;QAE/C,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,yBAAyB;QACjC,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE;YACT,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,4EAA4E;QACrF,MAAM,EAAE,KAAK;KAChB,EAAE;QAEC,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,sBAAsB;QAC9B,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE;YACT,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,uFAAuF;QAChG,MAAM,EAAE,KAAK;KAChB,EAAE;QACC,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,+DAA+D;QACvE,WAAW,EAAE,6BAA6B;QAC1C,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,CAAC;SACd;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,wDAAwD;QACjE,MAAM,EAAE,KAAK;KAChB;IACK;QACF,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,4DAA4D;QACpE,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE;YACT,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,oEAAoE;QAC7E,MAAM,EAAE,KAAK;KAChB,EAAE;QACC,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,mCAAmC;QAC3C,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACT,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,6EAA6E;QACtF,MAAM,EAAE,KAAK;KAChB;IAED,IAAI;IACJ,0BAA0B;IAC1B,uBAAuB;IACvB,qDAAqD;IACrD,oDAAoD;IACpD,qBAAqB;IACrB,2BAA2B;IAC3B,yBAAyB;IACzB,uBAAuB;IACvB,SAAS;IACT,sBAAsB;IACtB,kKAAkK;IAClK,oBAAoB;IACpB,KAAK;IAEL;QACI,OAAO,EAAE,aAAI,CAAC,EAAE;QAChB,IAAI,EAAE,aAAI,CAAC,IAAI;QACf,MAAM,EAAE,6DAA6D;QACrE,WAAW,EAAE,aAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE;QACnD,WAAW,EAAE;YACT,IAAI,EAAE,aAAI,CAAC,cAAc,CAAC,IAAI;YAC9B,MAAM,EAAE,aAAI,CAAC,cAAc,CAAC,MAAM;YAClC,QAAQ,EAAE,aAAI,CAAC,cAAc,CAAC,QAAQ;SACzC;QACD,OAAO,EAAE,aAAI,CAAC,OAAO;QACrB,OAAO,EAAE,6DAA6D;QACtE,MAAM,EAAE,KAAK;KAChB;IAED;QACI,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,iEAAiE;QACzE,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACT,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,mEAAmE;QAC5E,MAAM,EAAE,KAAK;KAChB;IACD;QACI,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,iEAAiE;QACzE,WAAW,EAAE,iCAAiC;QAC9C,WAAW,EAAE;YACT,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,oDAAoD;QAC7D,MAAM,EAAE,KAAK;KAChB;IAED,iBAAiB;IACjB;QACI,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,gEAAgE;QACxE,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE;YACT,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,sEAAsE;QAC/E,MAAM,EAAE,KAAK;KAChB;CAGA,CAAA;AAEY,QAAA,gBAAgB,GAAG;IAC5B,wBAAwB;IACxB,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,oBAAoB,EAAE,sBAAsB;IAC5C,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,mBAAmB,EAAE,qBAAqB;IAC1C,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CAEZ,CAAA"}
|
|
@@ -11,6 +11,6 @@ export type { BundlerConfig, BundlerService } from './services/bundler';
|
|
|
11
11
|
export { createKernel7702Account, createKernelAuthorization, sendKernelTransaction, sendBatchTransaction, waitForKernelReceipt } from './lib/kernel-account';
|
|
12
12
|
export { prepareInstallModule, prepareUninstallModule, prepareInstallSessionKey, prepareRevokeSessionKey, prepareInstallMultiSigValidator, installModule, uninstallModule, isModuleInstalled, createSessionKey, revokeSessionKey, installMultiSigValidator, MODULE_TYPE_IDS } from './lib/kernel-modules';
|
|
13
13
|
export type { ModuleType, InstallModuleConfig, UninstallModuleConfig, ModuleStatus, SessionKeyPermission, CreateSessionKeyConfig } from './lib/kernel-modules';
|
|
14
|
-
export { generateSessionKey,
|
|
14
|
+
export { generateSessionKey, createSessionKeyApproval, deserializeSessionKey, createSessionKeyClient, createUSDCTransferPermission, createETHTransferPermission } from './lib/session-keys';
|
|
15
15
|
export type { SessionKeyInfo, SessionKeyPermissionRule, CreateSessionKeyApprovalOptions, DeserializedSessionKey } from './lib/session-keys';
|
|
16
16
|
export { adaptZeroDevAccount, adaptSessionKeyAccount } from './lib/account-adapter';
|
|
@@ -19,7 +19,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
19
19
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.adaptSessionKeyAccount = exports.adaptZeroDevAccount = exports.createETHTransferPermission = exports.createUSDCTransferPermission = exports.createSessionKeyClient = exports.deserializeSessionKey = exports.createSessionKeyApproval = exports.
|
|
22
|
+
exports.adaptSessionKeyAccount = exports.adaptZeroDevAccount = exports.createETHTransferPermission = exports.createUSDCTransferPermission = exports.createSessionKeyClient = exports.deserializeSessionKey = exports.createSessionKeyApproval = exports.generateSessionKey = exports.MODULE_TYPE_IDS = exports.installMultiSigValidator = exports.revokeSessionKey = exports.createSessionKey = exports.isModuleInstalled = exports.uninstallModule = exports.installModule = exports.prepareInstallMultiSigValidator = exports.prepareRevokeSessionKey = exports.prepareInstallSessionKey = exports.prepareUninstallModule = exports.prepareInstallModule = exports.waitForKernelReceipt = exports.sendBatchTransaction = exports.sendKernelTransaction = exports.createKernelAuthorization = exports.createKernel7702Account = exports.createBundlerService = exports.createBundlerManager = exports.BundlerManager = exports.AccountAbstractionService = void 0;
|
|
23
23
|
// Singleton Service (Primary Interface)
|
|
24
24
|
var account_abstraction_1 = require("./services/account-abstraction");
|
|
25
25
|
Object.defineProperty(exports, "AccountAbstractionService", { enumerable: true, get: function () { return account_abstraction_1.AccountAbstractionService; } });
|
|
@@ -55,7 +55,6 @@ Object.defineProperty(exports, "MODULE_TYPE_IDS", { enumerable: true, get: funct
|
|
|
55
55
|
// EIP-7702 Session Keys (NEW Pattern)
|
|
56
56
|
var session_keys_1 = require("./lib/session-keys");
|
|
57
57
|
Object.defineProperty(exports, "generateSessionKey", { enumerable: true, get: function () { return session_keys_1.generateSessionKey; } });
|
|
58
|
-
Object.defineProperty(exports, "recreateSessionKey", { enumerable: true, get: function () { return session_keys_1.recreateSessionKey; } });
|
|
59
58
|
Object.defineProperty(exports, "createSessionKeyApproval", { enumerable: true, get: function () { return session_keys_1.createSessionKeyApproval; } });
|
|
60
59
|
Object.defineProperty(exports, "deserializeSessionKey", { enumerable: true, get: function () { return session_keys_1.deserializeSessionKey; } });
|
|
61
60
|
Object.defineProperty(exports, "createSessionKeyClient", { enumerable: true, get: function () { return session_keys_1.createSessionKeyClient; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/evm/aa-service/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,wCAAwC;AACxC,sEAA2E;AAAlE,gIAAA,yBAAyB,OAAA;AASlC,6CAA0B;AAE1B,oCAAoC;AACpC,8CAI4B;AAHxB,yGAAA,cAAc,OAAA;AACd,+GAAA,oBAAoB,OAAA;AACpB,+GAAA,oBAAoB,OAAA;AAIxB,4CAA4C;AAC5C,uDAM8B;AAL1B,yHAAA,uBAAuB,OAAA;AACvB,2HAAA,yBAAyB,OAAA;AACzB,uHAAA,qBAAqB,OAAA;AACrB,sHAAA,oBAAoB,OAAA;AACpB,sHAAA,oBAAoB,OAAA;AAIxB,+BAA+B;AAC/B,uDAe8B;AAd1B,mCAAmC;AACnC,sHAAA,oBAAoB,OAAA;AACpB,wHAAA,sBAAsB,OAAA;AACtB,0HAAA,wBAAwB,OAAA;AACxB,yHAAA,uBAAuB,OAAA;AACvB,iIAAA,+BAA+B,OAAA;AAC/B,0CAA0C;AAC1C,+GAAA,aAAa,OAAA;AACb,iHAAA,eAAe,OAAA;AACf,mHAAA,iBAAiB,OAAA;AACjB,kHAAA,gBAAgB,OAAA;AAChB,kHAAA,gBAAgB,OAAA;AAChB,0HAAA,wBAAwB,OAAA;AACxB,iHAAA,eAAe,OAAA;AAWnB,sCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/evm/aa-service/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,wCAAwC;AACxC,sEAA2E;AAAlE,gIAAA,yBAAyB,OAAA;AASlC,6CAA0B;AAE1B,oCAAoC;AACpC,8CAI4B;AAHxB,yGAAA,cAAc,OAAA;AACd,+GAAA,oBAAoB,OAAA;AACpB,+GAAA,oBAAoB,OAAA;AAIxB,4CAA4C;AAC5C,uDAM8B;AAL1B,yHAAA,uBAAuB,OAAA;AACvB,2HAAA,yBAAyB,OAAA;AACzB,uHAAA,qBAAqB,OAAA;AACrB,sHAAA,oBAAoB,OAAA;AACpB,sHAAA,oBAAoB,OAAA;AAIxB,+BAA+B;AAC/B,uDAe8B;AAd1B,mCAAmC;AACnC,sHAAA,oBAAoB,OAAA;AACpB,wHAAA,sBAAsB,OAAA;AACtB,0HAAA,wBAAwB,OAAA;AACxB,yHAAA,uBAAuB,OAAA;AACvB,iIAAA,+BAA+B,OAAA;AAC/B,0CAA0C;AAC1C,+GAAA,aAAa,OAAA;AACb,iHAAA,eAAe,OAAA;AACf,mHAAA,iBAAiB,OAAA;AACjB,kHAAA,gBAAgB,OAAA;AAChB,kHAAA,gBAAgB,OAAA;AAChB,0HAAA,wBAAwB,OAAA;AACxB,iHAAA,eAAe,OAAA;AAWnB,sCAAsC;AACtC,mDAO4B;AANxB,kHAAA,kBAAkB,OAAA;AAClB,wHAAA,wBAAwB,OAAA;AACxB,qHAAA,qBAAqB,OAAA;AACrB,sHAAA,sBAAsB,OAAA;AACtB,4HAAA,4BAA4B,OAAA;AAC5B,2HAAA,2BAA2B,OAAA;AAS/B,yCAAyC;AACzC,yDAG+B;AAF3B,sHAAA,mBAAmB,OAAA;AACnB,yHAAA,sBAAsB,OAAA"}
|
|
@@ -13,8 +13,8 @@ export declare function createKernel7702Account(config: KernelAccountConfig): Pr
|
|
|
13
13
|
export declare function createKernelAuthorization(config: {
|
|
14
14
|
owner: PrivateKeyAccount;
|
|
15
15
|
chain: Chain;
|
|
16
|
-
bundlerManager: BundlerManager;
|
|
17
16
|
kernelVersion?: KernelVersion;
|
|
17
|
+
aaConfig?: import('./type').AA_SupportConfig;
|
|
18
18
|
}): Promise<SignAuthorizationReturnType | undefined>;
|
|
19
19
|
/**
|
|
20
20
|
* Send batch transaction (RECOMMENDED for smart accounts)
|
|
@@ -26,7 +26,7 @@ const ENTRYPOINT_MAP = {
|
|
|
26
26
|
// Kernel Account Factory
|
|
27
27
|
// ============================================
|
|
28
28
|
async function createKernel7702Account(config) {
|
|
29
|
-
const { chain, owner,
|
|
29
|
+
const { chain, owner, entryPointVersion = '0.7', kernelVersion = '0.3.3', aaConfig } = config;
|
|
30
30
|
// Create public client for standard RPC calls
|
|
31
31
|
// (Bundler clients don't support standard eth_* methods)
|
|
32
32
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
@@ -79,15 +79,31 @@ async function createKernel7702Account(config) {
|
|
|
79
79
|
// EIP-7702 Authorization Helper
|
|
80
80
|
// ============================================
|
|
81
81
|
async function createKernelAuthorization(config) {
|
|
82
|
-
const { owner, chain,
|
|
83
|
-
const bundlerClient = bundlerManager.getClient(chain);
|
|
82
|
+
const { owner, chain, kernelVersion = '0.3.3', aaConfig } = config;
|
|
84
83
|
// Create public client for eth_getCode (bundler clients don't support it)
|
|
85
84
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
86
85
|
chain,
|
|
87
|
-
transport: (0, viem_1.http)()
|
|
86
|
+
transport: (0, viem_1.http)(chain.rpcUrls.default.http[0])
|
|
88
87
|
});
|
|
89
|
-
// Get Kernel implementation address
|
|
90
|
-
|
|
88
|
+
// Get Kernel implementation address from aaConfig or fallback to default
|
|
89
|
+
let delegateAddress;
|
|
90
|
+
if (aaConfig && aaConfig.kernelImplementations.length > 0) {
|
|
91
|
+
// Try to find matching kernel version (currently only 0.3.3 / version 3 is supported)
|
|
92
|
+
const versionNumber = 3; // kernel version 0.3.3 maps to version 3
|
|
93
|
+
const kernelImpl = aaConfig.kernelImplementations.find(impl => impl.version === versionNumber);
|
|
94
|
+
if (kernelImpl) {
|
|
95
|
+
delegateAddress = kernelImpl.address;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
// Fallback to first implementation if version not found
|
|
99
|
+
console.warn(`Kernel version ${kernelVersion} (v${versionNumber}) not found in aaConfig, using first available`);
|
|
100
|
+
delegateAddress = aaConfig.kernelImplementations[0].address;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
// Fallback to hardcoded map if no config
|
|
105
|
+
delegateAddress = constants_1.KernelVersionToAddressesMap[constants_1.KERNEL_V3_3].accountImplementationAddress;
|
|
106
|
+
}
|
|
91
107
|
// Check if already delegated
|
|
92
108
|
const code = await publicClient.getCode({ address: owner.address });
|
|
93
109
|
const expectedCode = `0xef0100${delegateAddress.toLowerCase().substring(2)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-account.js","sourceRoot":"","sources":["../../../../utils/evm/aa-service/lib/kernel-account.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAoCH,
|
|
1
|
+
{"version":3,"file":"kernel-account.js","sourceRoot":"","sources":["../../../../utils/evm/aa-service/lib/kernel-account.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
import { Hex, Address } from 'viem';
|
|
14
14
|
import { Chain } from 'viem/chains';
|
|
15
15
|
import { PrivateKeyAccount } from 'viem/accounts';
|
|
16
|
+
import { CreateKernelAccountReturnType } from '@zerodev/sdk';
|
|
16
17
|
import { ModularSigner } from '@zerodev/permissions';
|
|
17
18
|
export interface SessionKeyPermissionRule {
|
|
18
19
|
target: Hex;
|
|
@@ -22,6 +23,7 @@ export interface SessionKeyPermissionRule {
|
|
|
22
23
|
}
|
|
23
24
|
export interface CreateSessionKeyApprovalOptions {
|
|
24
25
|
sessionKeyAddress: Address;
|
|
26
|
+
sessionKeyPrivateKey: Hex;
|
|
25
27
|
owner: PrivateKeyAccount;
|
|
26
28
|
chain: Chain;
|
|
27
29
|
entryPointVersion?: '0.6' | '0.7';
|
|
@@ -40,30 +42,21 @@ export interface DeserializedSessionKey {
|
|
|
40
42
|
/**
|
|
41
43
|
* Generate a new session key
|
|
42
44
|
*
|
|
43
|
-
* Creates a new keypair for use as a session key.
|
|
45
|
+
* Creates a new keypair for use as a session key or use the one that was passed if available.
|
|
44
46
|
* The private key should be stored securely and shared with the agent.
|
|
45
47
|
* The address should be shared with the owner for approval.
|
|
46
48
|
*
|
|
47
49
|
* @returns Session key info including private key, address, and signer
|
|
48
50
|
*
|
|
49
51
|
* @example
|
|
50
|
-
* const sessionKey = await generateSessionKey();
|
|
52
|
+
* const sessionKey = await generateSessionKey(); or
|
|
53
|
+
* const privateKey = '0x...'; // Existing private key
|
|
54
|
+
* const sessionKey = await generateSessionKey(privateKey);
|
|
55
|
+
*
|
|
51
56
|
* console.log("Share this address with owner:", sessionKey.address);
|
|
52
57
|
* console.log("Keep this private key secure:", sessionKey.privateKey);
|
|
53
58
|
*/
|
|
54
|
-
export declare function generateSessionKey(): Promise<SessionKeyInfo>;
|
|
55
|
-
/**
|
|
56
|
-
* Recreate session key from private key
|
|
57
|
-
*
|
|
58
|
-
* Recreates a session key signer from a stored private key.
|
|
59
|
-
*
|
|
60
|
-
* @param privateKey - The session key private key
|
|
61
|
-
* @returns Session key info
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* const sessionKey = await recreateSessionKey(storedPrivateKey);
|
|
65
|
-
*/
|
|
66
|
-
export declare function recreateSessionKey(privateKey: Hex): Promise<SessionKeyInfo>;
|
|
59
|
+
export declare function generateSessionKey(privateKey?: Hex): Promise<SessionKeyInfo>;
|
|
67
60
|
/**
|
|
68
61
|
* Create session key approval (Owner side)
|
|
69
62
|
*
|
|
@@ -115,7 +108,7 @@ export declare function deserializeSessionKey(options: {
|
|
|
115
108
|
sessionKeySigner: ModularSigner;
|
|
116
109
|
chain: Chain;
|
|
117
110
|
entryPointVersion?: '0.6' | '0.7';
|
|
118
|
-
}): Promise<
|
|
111
|
+
}): Promise<CreateKernelAccountReturnType<"0.6" | "0.7">>;
|
|
119
112
|
/**
|
|
120
113
|
* Create kernel client for session key
|
|
121
114
|
*
|
|
@@ -139,6 +132,10 @@ export declare function createSessionKeyClient(options: {
|
|
|
139
132
|
chain: Chain;
|
|
140
133
|
bundlerUrl: string;
|
|
141
134
|
paymasterUrl?: string;
|
|
135
|
+
entryPoint?: {
|
|
136
|
+
address: Hex;
|
|
137
|
+
version: '0.6' | '0.7';
|
|
138
|
+
};
|
|
142
139
|
}): any;
|
|
143
140
|
/**
|
|
144
141
|
* Create USDC transfer permission rule
|
|
@@ -155,7 +152,7 @@ export declare function createSessionKeyClient(options: {
|
|
|
155
152
|
* '10' // Max 10 USDC
|
|
156
153
|
* );
|
|
157
154
|
*/
|
|
158
|
-
export declare function createUSDCTransferPermission(usdcAddress: Hex, maxAmount: string): SessionKeyPermissionRule;
|
|
155
|
+
export declare function createUSDCTransferPermission(usdcAddress: Hex, maxAmount: string, destinationAddress: Hex): SessionKeyPermissionRule;
|
|
159
156
|
/**
|
|
160
157
|
* Create ETH transfer permission rule
|
|
161
158
|
*
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.generateSessionKey = generateSessionKey;
|
|
16
|
-
exports.recreateSessionKey = recreateSessionKey;
|
|
17
16
|
exports.createSessionKeyApproval = createSessionKeyApproval;
|
|
18
17
|
exports.deserializeSessionKey = deserializeSessionKey;
|
|
19
18
|
exports.createSessionKeyClient = createSessionKeyClient;
|
|
@@ -21,30 +20,35 @@ exports.createUSDCTransferPermission = createUSDCTransferPermission;
|
|
|
21
20
|
exports.createETHTransferPermission = createETHTransferPermission;
|
|
22
21
|
const viem_1 = require("viem");
|
|
23
22
|
const accounts_1 = require("viem/accounts");
|
|
23
|
+
const account_abstraction_1 = require("viem/account-abstraction");
|
|
24
24
|
const sdk_1 = require("@zerodev/sdk");
|
|
25
25
|
const signers_1 = require("@zerodev/permissions/signers");
|
|
26
26
|
const permissions_1 = require("@zerodev/permissions");
|
|
27
27
|
const policies_1 = require("@zerodev/permissions/policies");
|
|
28
28
|
const constants_1 = require("@zerodev/sdk/constants");
|
|
29
|
+
const pimlico_1 = require("permissionless/clients/pimlico");
|
|
29
30
|
// ============================================
|
|
30
31
|
// Session Key Generation
|
|
31
32
|
// ============================================
|
|
32
33
|
/**
|
|
33
34
|
* Generate a new session key
|
|
34
35
|
*
|
|
35
|
-
* Creates a new keypair for use as a session key.
|
|
36
|
+
* Creates a new keypair for use as a session key or use the one that was passed if available.
|
|
36
37
|
* The private key should be stored securely and shared with the agent.
|
|
37
38
|
* The address should be shared with the owner for approval.
|
|
38
39
|
*
|
|
39
40
|
* @returns Session key info including private key, address, and signer
|
|
40
41
|
*
|
|
41
42
|
* @example
|
|
42
|
-
* const sessionKey = await generateSessionKey();
|
|
43
|
+
* const sessionKey = await generateSessionKey(); or
|
|
44
|
+
* const privateKey = '0x...'; // Existing private key
|
|
45
|
+
* const sessionKey = await generateSessionKey(privateKey);
|
|
46
|
+
*
|
|
43
47
|
* console.log("Share this address with owner:", sessionKey.address);
|
|
44
48
|
* console.log("Keep this private key secure:", sessionKey.privateKey);
|
|
45
49
|
*/
|
|
46
|
-
async function generateSessionKey() {
|
|
47
|
-
const sessionPrivateKey = (0, accounts_1.generatePrivateKey)();
|
|
50
|
+
async function generateSessionKey(privateKey) {
|
|
51
|
+
const sessionPrivateKey = privateKey || (0, accounts_1.generatePrivateKey)();
|
|
48
52
|
const sessionKeyAccount = (0, accounts_1.privateKeyToAccount)(sessionPrivateKey);
|
|
49
53
|
const sessionKeySigner = await (0, signers_1.toECDSASigner)({
|
|
50
54
|
signer: sessionKeyAccount,
|
|
@@ -55,28 +59,6 @@ async function generateSessionKey() {
|
|
|
55
59
|
signer: sessionKeySigner
|
|
56
60
|
};
|
|
57
61
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Recreate session key from private key
|
|
60
|
-
*
|
|
61
|
-
* Recreates a session key signer from a stored private key.
|
|
62
|
-
*
|
|
63
|
-
* @param privateKey - The session key private key
|
|
64
|
-
* @returns Session key info
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* const sessionKey = await recreateSessionKey(storedPrivateKey);
|
|
68
|
-
*/
|
|
69
|
-
async function recreateSessionKey(privateKey) {
|
|
70
|
-
const sessionKeyAccount = (0, accounts_1.privateKeyToAccount)(privateKey);
|
|
71
|
-
const sessionKeySigner = await (0, signers_1.toECDSASigner)({
|
|
72
|
-
signer: sessionKeyAccount,
|
|
73
|
-
});
|
|
74
|
-
return {
|
|
75
|
-
privateKey,
|
|
76
|
-
address: sessionKeyAccount.address,
|
|
77
|
-
signer: sessionKeySigner
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
62
|
// ============================================
|
|
81
63
|
// Owner Side: Create Approval
|
|
82
64
|
// ============================================
|
|
@@ -105,17 +87,16 @@ async function recreateSessionKey(privateKey) {
|
|
|
105
87
|
* // Share approval with agent
|
|
106
88
|
*/
|
|
107
89
|
async function createSessionKeyApproval(options) {
|
|
108
|
-
const { sessionKeyAddress, owner, chain, entryPointVersion = '0.7', useSudoPolicy = false, permissions = [] } = options;
|
|
90
|
+
const { sessionKeyAddress, sessionKeyPrivateKey, owner, chain, entryPointVersion = '0.7', useSudoPolicy = false, permissions = [] } = options;
|
|
109
91
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
110
92
|
chain,
|
|
111
93
|
transport: (0, viem_1.http)()
|
|
112
94
|
});
|
|
113
95
|
const entryPoint = (0, constants_1.getEntryPoint)(entryPointVersion);
|
|
114
|
-
// Create
|
|
115
|
-
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
signer: emptyAccount
|
|
96
|
+
// Create session key signer from private key (NOT addressToEmptyAccount!)
|
|
97
|
+
const sessionKeyAccount = (0, accounts_1.privateKeyToAccount)(sessionKeyPrivateKey);
|
|
98
|
+
const sessionKeySigner = await (0, signers_1.toECDSASigner)({
|
|
99
|
+
signer: sessionKeyAccount
|
|
119
100
|
});
|
|
120
101
|
// Create permission plugin
|
|
121
102
|
let policies;
|
|
@@ -140,24 +121,22 @@ async function createSessionKeyApproval(options) {
|
|
|
140
121
|
}
|
|
141
122
|
const permissionPlugin = await (0, permissions_1.toPermissionValidator)(publicClient, {
|
|
142
123
|
entryPoint,
|
|
143
|
-
signer:
|
|
124
|
+
signer: sessionKeySigner,
|
|
144
125
|
policies,
|
|
145
126
|
kernelVersion: constants_1.KERNEL_V3_3,
|
|
146
127
|
});
|
|
147
|
-
// Create kernel account with eip7702Account
|
|
148
|
-
const
|
|
128
|
+
// Create kernel account with eip7702Account AND address
|
|
129
|
+
const kernelSessionKeyAccount = await (0, sdk_1.createKernelAccount)(publicClient, {
|
|
149
130
|
entryPoint,
|
|
150
|
-
eip7702Account: owner,
|
|
131
|
+
eip7702Account: owner,
|
|
151
132
|
plugins: {
|
|
152
133
|
regular: permissionPlugin,
|
|
153
134
|
},
|
|
154
135
|
kernelVersion: constants_1.KERNEL_V3_3,
|
|
155
|
-
//
|
|
136
|
+
address: owner.address, // Include owner's address
|
|
156
137
|
});
|
|
157
|
-
// Serialize approval
|
|
158
|
-
|
|
159
|
-
// const approval = await serializePermissionAccount(sessionKeyAccount);
|
|
160
|
-
const approval = JSON.stringify({ sessionKeyAccount: 'placeholder' });
|
|
138
|
+
// Serialize approval WITH session key private key (critical!)
|
|
139
|
+
const approval = await (0, permissions_1.serializePermissionAccount)(kernelSessionKeyAccount, sessionKeyPrivateKey);
|
|
161
140
|
return approval;
|
|
162
141
|
}
|
|
163
142
|
// ============================================
|
|
@@ -193,16 +172,8 @@ async function deserializeSessionKey(options) {
|
|
|
193
172
|
const entryPoint = (0, constants_1.getEntryPoint)(entryPointVersion);
|
|
194
173
|
// Deserialize WITH the session key signer
|
|
195
174
|
// This is the 5-parameter version (not 4!)
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
// publicClient,
|
|
199
|
-
// entryPoint,
|
|
200
|
-
// KERNEL_V3_3,
|
|
201
|
-
// approval,
|
|
202
|
-
// sessionKeySigner // ← Must pass the signer!
|
|
203
|
-
// );
|
|
204
|
-
// Placeholder until SDK is available
|
|
205
|
-
const sessionKeyAccount = null;
|
|
175
|
+
const sessionKeyAccount = await (0, permissions_1.deserializePermissionAccount)(publicClient, entryPoint, constants_1.KERNEL_V3_3, approval, sessionKeySigner // ← Must pass the signer!
|
|
176
|
+
);
|
|
206
177
|
return sessionKeyAccount;
|
|
207
178
|
}
|
|
208
179
|
/**
|
|
@@ -224,16 +195,24 @@ async function deserializeSessionKey(options) {
|
|
|
224
195
|
* });
|
|
225
196
|
*/
|
|
226
197
|
function createSessionKeyClient(options) {
|
|
227
|
-
const { account, chain, bundlerUrl, paymasterUrl } = options;
|
|
198
|
+
const { account, chain, bundlerUrl, paymasterUrl, entryPoint = { address: account_abstraction_1.entryPoint07Address, version: '0.7' } } = options;
|
|
199
|
+
// Create Pimlico client for gas estimation
|
|
200
|
+
const paymasterClient = (0, pimlico_1.createPimlicoClient)({
|
|
201
|
+
transport: (0, viem_1.http)(bundlerUrl),
|
|
202
|
+
entryPoint
|
|
203
|
+
});
|
|
228
204
|
const clientOptions = {
|
|
229
205
|
account,
|
|
230
206
|
chain,
|
|
231
|
-
bundlerTransport: (0, viem_1.http)(bundlerUrl)
|
|
207
|
+
bundlerTransport: (0, viem_1.http)(bundlerUrl),
|
|
208
|
+
userOperation: {
|
|
209
|
+
estimateFeesPerGas: async () => (await paymasterClient.getUserOperationGasPrice()).fast,
|
|
210
|
+
}
|
|
232
211
|
};
|
|
233
212
|
// Add paymaster if provided
|
|
234
213
|
if (paymasterUrl) {
|
|
235
214
|
// Note: Paymaster client creation would go here
|
|
236
|
-
// For now
|
|
215
|
+
// For now using Pimlico gas estimation
|
|
237
216
|
}
|
|
238
217
|
const kernelClient = (0, sdk_1.createKernelAccountClient)(clientOptions);
|
|
239
218
|
return kernelClient;
|
|
@@ -256,15 +235,18 @@ function createSessionKeyClient(options) {
|
|
|
256
235
|
* '10' // Max 10 USDC
|
|
257
236
|
* );
|
|
258
237
|
*/
|
|
259
|
-
function createUSDCTransferPermission(usdcAddress, maxAmount) {
|
|
238
|
+
function createUSDCTransferPermission(usdcAddress, maxAmount, destinationAddress) {
|
|
260
239
|
return {
|
|
261
240
|
target: usdcAddress,
|
|
262
241
|
abi: (0, viem_1.parseAbi)(['function transfer(address to, uint256 amount) returns (bool)']),
|
|
263
242
|
functionName: 'transfer',
|
|
264
243
|
args: [
|
|
265
|
-
null, // Any recipient
|
|
266
244
|
{
|
|
267
|
-
condition:
|
|
245
|
+
condition: policies_1.ParamCondition.EQUAL,
|
|
246
|
+
value: destinationAddress,
|
|
247
|
+
}, // Specific recipient
|
|
248
|
+
{
|
|
249
|
+
condition: policies_1.ParamCondition.LESS_THAN_OR_EQUAL, // LESS_THAN_OR_EQUAL
|
|
268
250
|
value: (0, viem_1.parseUnits)(maxAmount, 6) // USDC has 6 decimals
|
|
269
251
|
}
|
|
270
252
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-keys.js","sourceRoot":"","sources":["../../../../utils/evm/aa-service/lib/session-keys.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;
|
|
1
|
+
{"version":3,"file":"session-keys.js","sourceRoot":"","sources":["../../../../utils/evm/aa-service/lib/session-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,6 @@ export interface SingleTransactionConfig {
|
|
|
46
46
|
export interface KernelAccountConfig {
|
|
47
47
|
chain: Chain;
|
|
48
48
|
owner: PrivateKeyAccount;
|
|
49
|
-
bundlerManager: BundlerManager;
|
|
50
49
|
entryPointVersion?: EntryPointVersion;
|
|
51
50
|
kernelVersion?: KernelVersion;
|
|
52
51
|
aaConfig?: AA_SupportConfig;
|
|
@@ -109,6 +108,8 @@ export interface GasEstimate {
|
|
|
109
108
|
export interface SessionKeyApprovalOptions {
|
|
110
109
|
/** Session key address to approve */
|
|
111
110
|
sessionKeyAddress: Hex;
|
|
111
|
+
/** Session key private key (needed for serialization) */
|
|
112
|
+
sessionKeyPrivateKey: Hex;
|
|
112
113
|
/** Permission rules for the session key */
|
|
113
114
|
permissions?: SessionKeyPermissionRule[];
|
|
114
115
|
/** Use unrestricted sudo policy (not recommended for production) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../utils/evm/aa-service/lib/type.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../utils/evm/aa-service/lib/type.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAuNH,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C,MAAa,gBAAiB,SAAQ,KAAK;IACvC,IAAI,CAAS;IAEb,YAAY,OAAe,EAAE,OAAe,oBAAoB;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AARD,4CAQC;AAED,MAAa,eAAgB,SAAQ,gBAAgB;IACjD,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAClC,CAAC;CACJ;AALD,0CAKC;AAED,MAAa,WAAY,SAAQ,gBAAgB;IAC7C,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC9B,CAAC;CACJ;AALD,kCAKC;AAED,MAAa,gBAAiB,SAAQ,gBAAgB;IAClD,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACnC,CAAC;CACJ;AALD,4CAKC"}
|