@rhinestone/sdk 1.0.0-alpha.14 → 1.0.0-alpha.16
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/src/accounts/custom.d.ts +18 -0
- package/dist/src/accounts/custom.d.ts.map +1 -0
- package/dist/src/accounts/custom.js +121 -0
- package/dist/src/accounts/custom.test.d.ts +2 -0
- package/dist/src/accounts/custom.test.d.ts.map +1 -0
- package/dist/src/accounts/custom.test.js +64 -0
- package/dist/src/accounts/index.d.ts +1 -1
- package/dist/src/accounts/index.d.ts.map +1 -1
- package/dist/src/accounts/index.js +37 -6
- package/dist/src/accounts/index.test.js +3 -3
- package/dist/src/accounts/json-rpc/index.d.ts +5 -0
- package/dist/src/accounts/json-rpc/index.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/index.js +16 -0
- package/dist/src/accounts/json-rpc/index.test.d.ts +2 -0
- package/dist/src/accounts/json-rpc/index.test.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/index.test.js +16 -0
- package/dist/src/accounts/json-rpc/providers.d.ts +4 -0
- package/dist/src/accounts/json-rpc/providers.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/providers.js +14 -0
- package/dist/src/accounts/json-rpc/providers.test.d.ts +2 -0
- package/dist/src/accounts/json-rpc/providers.test.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/providers.test.js +15 -0
- package/dist/src/accounts/kernel.test.js +8 -8
- package/dist/src/accounts/nexus.d.ts.map +1 -1
- package/dist/src/accounts/nexus.js +34 -8
- package/dist/src/accounts/nexus.test.js +12 -12
- package/dist/src/accounts/safe.d.ts.map +1 -1
- package/dist/src/accounts/safe.js +2 -0
- package/dist/src/accounts/safe.test.js +8 -8
- package/dist/src/accounts/signing/common.d.ts +10 -6
- package/dist/src/accounts/signing/common.d.ts.map +1 -1
- package/dist/src/accounts/signing/common.js +41 -12
- package/dist/src/accounts/signing/message.d.ts +2 -2
- package/dist/src/accounts/signing/message.d.ts.map +1 -1
- package/dist/src/accounts/signing/message.js +7 -11
- package/dist/src/accounts/signing/passkeys.d.ts +29 -0
- package/dist/src/accounts/signing/passkeys.d.ts.map +1 -0
- package/dist/src/accounts/signing/passkeys.js +90 -0
- package/dist/src/accounts/signing/passkeys.test.d.ts +2 -0
- package/dist/src/accounts/signing/passkeys.test.d.ts.map +1 -0
- package/dist/src/accounts/signing/passkeys.test.js +73 -0
- package/dist/src/accounts/signing/typedData.d.ts +2 -2
- package/dist/src/accounts/signing/typedData.d.ts.map +1 -1
- package/dist/src/accounts/signing/typedData.js +7 -11
- package/dist/src/accounts/startale.test.js +8 -8
- package/dist/src/accounts/utils.d.ts +3 -3
- package/dist/src/accounts/utils.d.ts.map +1 -1
- package/dist/src/accounts/utils.js +3 -40
- package/dist/src/actions/index.d.ts +45 -1
- package/dist/src/actions/index.d.ts.map +1 -1
- package/dist/src/actions/index.js +174 -9
- package/dist/src/actions/index.test.js +16 -16
- package/dist/src/execution/index.d.ts.map +1 -1
- package/dist/src/execution/index.js +3 -6
- package/dist/src/execution/utils.d.ts +1 -1
- package/dist/src/execution/utils.d.ts.map +1 -1
- package/dist/src/execution/utils.js +17 -16
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -1
- package/dist/src/modules/index.d.ts +2 -17
- package/dist/src/modules/index.d.ts.map +1 -1
- package/dist/src/modules/index.js +4 -55
- package/dist/src/modules/index.test.js +2 -16
- package/dist/src/modules/omni-account.d.ts +2 -1
- package/dist/src/modules/omni-account.d.ts.map +1 -1
- package/dist/src/modules/omni-account.js +3 -1
- package/dist/src/modules/read.d.ts.map +1 -1
- package/dist/src/modules/read.js +1 -0
- package/dist/src/modules/validators/core.d.ts +4 -3
- package/dist/src/modules/validators/core.d.ts.map +1 -1
- package/dist/src/modules/validators/core.js +46 -37
- package/dist/src/modules/validators/core.test.js +6 -6
- package/dist/src/modules/validators/smart-sessions.test.js +4 -4
- package/dist/src/orchestrator/consts.d.ts +2 -1
- package/dist/src/orchestrator/consts.d.ts.map +1 -1
- package/dist/src/orchestrator/consts.js +3 -1
- package/dist/src/orchestrator/registry.d.ts +1 -23
- package/dist/src/orchestrator/registry.d.ts.map +1 -1
- package/dist/src/orchestrator/registry.js +22 -24
- package/dist/src/orchestrator/registry.test.js +4 -4
- package/dist/src/orchestrator/types.d.ts +1 -6
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/dist/src/types.d.ts +29 -7
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/src/orchestrator/registry.json +0 -365
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Abi, type Address, type Hex, type PublicClient } from 'viem';
|
|
2
|
+
import { type SmartAccount, type SmartAccountImplementation } from 'viem/account-abstraction';
|
|
3
|
+
import type { Module } from '../modules/common';
|
|
4
|
+
import type { EnableSessionData } from '../modules/validators/smart-sessions';
|
|
5
|
+
import type { RhinestoneAccountConfig, Session } from '../types';
|
|
6
|
+
import { type ValidatorConfig } from './utils';
|
|
7
|
+
declare function getDeployArgs(config: RhinestoneAccountConfig): {
|
|
8
|
+
factory: Address;
|
|
9
|
+
factoryData: Hex;
|
|
10
|
+
};
|
|
11
|
+
declare function getInstallData(config: RhinestoneAccountConfig, module: Module): Hex[];
|
|
12
|
+
declare function getAddress(config: RhinestoneAccountConfig): Address;
|
|
13
|
+
declare function getPackedSignature(config: RhinestoneAccountConfig, signature: Hex, validator: ValidatorConfig, transformSignature?: (signature: Hex) => Hex): Promise<`0x${string}`>;
|
|
14
|
+
declare function getSessionSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, address: Address, session: Session, validatorAddress: Address, enableData: EnableSessionData | null): Promise<SmartAccount<SmartAccountImplementation<Abi, "0.7">>>;
|
|
15
|
+
declare function getBaseSmartAccount(address: Address, client: PublicClient, validatorAddress: Address, getStubSignature: () => Promise<Hex>, signUserOperation: (hash: Hex) => Promise<Hex>): Promise<SmartAccount<SmartAccountImplementation<Abi, '0.7'>>>;
|
|
16
|
+
declare function getSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, address: Address, validatorAddress: Address, sign: (hash: Hex) => Promise<Hex>): Promise<SmartAccount<SmartAccountImplementation<Abi, "0.7">>>;
|
|
17
|
+
export { getDeployArgs, getInstallData, getAddress, getPackedSignature, getSessionSmartAccount, getBaseSmartAccount, getSmartAccount, };
|
|
18
|
+
//# sourceMappingURL=custom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../accounts/custom.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EAEZ,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,MAAM,CAAA;AACb,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAEhF,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;EAMrD;AAED,iBAAS,cAAc,CACrB,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,MAAM,GACb,GAAG,EAAE,CAMP;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAM5D;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,0BAWvE;AAED,iBAAe,sBAAsB,CACnC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,UAAU,EAAE,iBAAiB,GAAG,IAAI,iEAyBrC;AAED,iBAAe,mBAAmB,CAChC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,YAAY,EACpB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACpC,iBAAiB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAC7C,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAgE/D;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,iEAelC;AAED,OAAO,EACL,aAAa,EACb,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,GAChB,CAAA"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDeployArgs = getDeployArgs;
|
|
4
|
+
exports.getInstallData = getInstallData;
|
|
5
|
+
exports.getAddress = getAddress;
|
|
6
|
+
exports.getPackedSignature = getPackedSignature;
|
|
7
|
+
exports.getSessionSmartAccount = getSessionSmartAccount;
|
|
8
|
+
exports.getBaseSmartAccount = getBaseSmartAccount;
|
|
9
|
+
exports.getSmartAccount = getSmartAccount;
|
|
10
|
+
const viem_1 = require("viem");
|
|
11
|
+
const account_abstraction_1 = require("viem/account-abstraction");
|
|
12
|
+
const utils_1 = require("./utils");
|
|
13
|
+
function getDeployArgs(config) {
|
|
14
|
+
if (!config.account || !config.account.custom) {
|
|
15
|
+
throw new Error('Account provider not found');
|
|
16
|
+
}
|
|
17
|
+
return config.account.custom.getDeployArgs();
|
|
18
|
+
}
|
|
19
|
+
function getInstallData(config, module) {
|
|
20
|
+
if (!config.account || !config.account.custom) {
|
|
21
|
+
throw new Error('Account provider not found');
|
|
22
|
+
}
|
|
23
|
+
return config.account.custom.getInstallData(module);
|
|
24
|
+
}
|
|
25
|
+
function getAddress(config) {
|
|
26
|
+
if (!config.account || !config.account.custom) {
|
|
27
|
+
throw new Error('Account provider not found');
|
|
28
|
+
}
|
|
29
|
+
return config.account.custom.getAddress();
|
|
30
|
+
}
|
|
31
|
+
async function getPackedSignature(config, signature, validator, transformSignature = (signature) => signature) {
|
|
32
|
+
if (!config.account || !config.account.custom) {
|
|
33
|
+
throw new Error('Account provider not found');
|
|
34
|
+
}
|
|
35
|
+
return config.account.custom.getPackedSignature(signature, validator, transformSignature);
|
|
36
|
+
}
|
|
37
|
+
async function getSessionSmartAccount(config, client, address, session, validatorAddress, enableData) {
|
|
38
|
+
return await getBaseSmartAccount(address, client, validatorAddress, async () => {
|
|
39
|
+
if (!config.account || !config.account.custom) {
|
|
40
|
+
throw new Error('Account provider not found');
|
|
41
|
+
}
|
|
42
|
+
return config.account.custom.getSessionStubSignature(session, enableData);
|
|
43
|
+
}, async (hash) => {
|
|
44
|
+
if (!config.account || !config.account.custom) {
|
|
45
|
+
throw new Error('Account provider not found');
|
|
46
|
+
}
|
|
47
|
+
return config.account.custom.signSessionUserOperation(session, enableData, hash);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
async function getBaseSmartAccount(address, client, validatorAddress, getStubSignature, signUserOperation) {
|
|
51
|
+
return await (0, account_abstraction_1.toSmartAccount)({
|
|
52
|
+
client,
|
|
53
|
+
entryPoint: {
|
|
54
|
+
abi: account_abstraction_1.entryPoint07Abi,
|
|
55
|
+
address: account_abstraction_1.entryPoint07Address,
|
|
56
|
+
version: '0.7',
|
|
57
|
+
},
|
|
58
|
+
async decodeCalls() {
|
|
59
|
+
throw new Error('Not implemented');
|
|
60
|
+
},
|
|
61
|
+
async encodeCalls(calls) {
|
|
62
|
+
return (0, utils_1.encode7579Calls)({
|
|
63
|
+
mode: {
|
|
64
|
+
type: calls.length > 1 ? 'batchcall' : 'call',
|
|
65
|
+
revertOnError: false,
|
|
66
|
+
selector: '0x',
|
|
67
|
+
context: '0x',
|
|
68
|
+
},
|
|
69
|
+
callData: calls,
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
async getAddress() {
|
|
73
|
+
return address;
|
|
74
|
+
},
|
|
75
|
+
async getFactoryArgs() {
|
|
76
|
+
return {};
|
|
77
|
+
},
|
|
78
|
+
async getNonce() {
|
|
79
|
+
const key = (0, viem_1.concat)([validatorAddress, '0x00000000']);
|
|
80
|
+
const nonce = await (0, utils_1.getAccountNonce)(client, {
|
|
81
|
+
address,
|
|
82
|
+
entryPointAddress: account_abstraction_1.entryPoint07Address,
|
|
83
|
+
key: BigInt(key),
|
|
84
|
+
});
|
|
85
|
+
return nonce;
|
|
86
|
+
},
|
|
87
|
+
async getStubSignature() {
|
|
88
|
+
return getStubSignature();
|
|
89
|
+
},
|
|
90
|
+
async signMessage() {
|
|
91
|
+
throw new Error('Not implemented');
|
|
92
|
+
},
|
|
93
|
+
async signTypedData() {
|
|
94
|
+
throw new Error('Not implemented');
|
|
95
|
+
},
|
|
96
|
+
async signUserOperation(parameters) {
|
|
97
|
+
const { chainId = client.chain?.id, ...userOperation } = parameters;
|
|
98
|
+
if (!chainId)
|
|
99
|
+
throw new Error('Chain id not found');
|
|
100
|
+
const hash = (0, account_abstraction_1.getUserOperationHash)({
|
|
101
|
+
userOperation: {
|
|
102
|
+
...userOperation,
|
|
103
|
+
sender: userOperation.sender ?? (await this.getAddress()),
|
|
104
|
+
signature: '0x',
|
|
105
|
+
},
|
|
106
|
+
entryPointAddress: account_abstraction_1.entryPoint07Address,
|
|
107
|
+
entryPointVersion: '0.7',
|
|
108
|
+
chainId: chainId,
|
|
109
|
+
});
|
|
110
|
+
return await signUserOperation(hash);
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
async function getSmartAccount(config, client, address, validatorAddress, sign) {
|
|
115
|
+
return getBaseSmartAccount(address, client, validatorAddress, async () => {
|
|
116
|
+
if (!config.account || !config.account.custom) {
|
|
117
|
+
throw new Error('Account provider not found');
|
|
118
|
+
}
|
|
119
|
+
return config.account.custom.getStubSignature();
|
|
120
|
+
}, sign);
|
|
121
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom.test.d.ts","sourceRoot":"","sources":["../../../accounts/custom.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const viem_1 = require("viem");
|
|
4
|
+
const account_abstraction_1 = require("viem/account-abstraction");
|
|
5
|
+
const accounts_1 = require("viem/accounts");
|
|
6
|
+
const chains_1 = require("viem/chains");
|
|
7
|
+
const vitest_1 = require("vitest");
|
|
8
|
+
const __1 = require("..");
|
|
9
|
+
(0, vitest_1.describe)('Custom Accounts', () => {
|
|
10
|
+
(0, vitest_1.describe)('Coinbase, account', async () => {
|
|
11
|
+
const client = (0, viem_1.createPublicClient)({
|
|
12
|
+
chain: chains_1.mainnet,
|
|
13
|
+
transport: (0, viem_1.http)(),
|
|
14
|
+
});
|
|
15
|
+
const owner = (0, accounts_1.privateKeyToAccount)((0, accounts_1.generatePrivateKey)());
|
|
16
|
+
const coinbaseAccount = await (0, account_abstraction_1.toCoinbaseSmartAccount)({
|
|
17
|
+
client,
|
|
18
|
+
owners: [owner],
|
|
19
|
+
});
|
|
20
|
+
(0, vitest_1.test)('Coinbase, getAddress', async () => {
|
|
21
|
+
const account = await (0, __1.createRhinestoneAccount)({
|
|
22
|
+
account: {
|
|
23
|
+
type: 'custom',
|
|
24
|
+
custom: {
|
|
25
|
+
getDeployArgs: () => {
|
|
26
|
+
return {
|
|
27
|
+
factory: '0x',
|
|
28
|
+
factoryData: '0x',
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
getInstallData: () => {
|
|
32
|
+
return [];
|
|
33
|
+
},
|
|
34
|
+
getAddress: () => {
|
|
35
|
+
return coinbaseAccount.address;
|
|
36
|
+
},
|
|
37
|
+
getPackedSignature: async () => {
|
|
38
|
+
throw new Error('Not implemented');
|
|
39
|
+
},
|
|
40
|
+
getSessionStubSignature: async () => {
|
|
41
|
+
throw new Error('Not implemented');
|
|
42
|
+
},
|
|
43
|
+
signSessionUserOperation: async () => {
|
|
44
|
+
throw new Error('Not implemented');
|
|
45
|
+
},
|
|
46
|
+
getStubSignature: async () => {
|
|
47
|
+
return coinbaseAccount.getStubSignature();
|
|
48
|
+
},
|
|
49
|
+
sign: async () => {
|
|
50
|
+
throw new Error('Not implemented');
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
owners: {
|
|
55
|
+
type: 'ecdsa-v0',
|
|
56
|
+
accounts: [owner],
|
|
57
|
+
threshold: 1,
|
|
58
|
+
},
|
|
59
|
+
rhinestoneApiKey: '',
|
|
60
|
+
});
|
|
61
|
+
(0, vitest_1.expect)(account.getAddress()).toEqual(coinbaseAccount.address);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
});
|
|
@@ -23,7 +23,7 @@ declare function deploy(config: RhinestoneAccountConfig, chain: Chain, session?:
|
|
|
23
23
|
declare function toErc6492Signature(config: RhinestoneAccountConfig, signature: Hex, chain: Chain): Promise<Hex>;
|
|
24
24
|
declare function getSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, chain: Chain): Promise<import("viem/_types/account-abstraction").SmartAccount<import("viem/_types/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">>>;
|
|
25
25
|
declare function getSmartSessionSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, chain: Chain, session: Session, enableData: EnableSessionData | null): Promise<import("viem/_types/account-abstraction").SmartAccount<import("viem/_types/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">>>;
|
|
26
|
-
declare function getGuardianSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, chain: Chain, guardians: OwnerSet): Promise<import("viem/_types/account-abstraction").SmartAccount<import("viem/_types/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7"
|
|
26
|
+
declare function getGuardianSmartAccount(config: RhinestoneAccountConfig, client: PublicClient, chain: Chain, guardians: OwnerSet): Promise<import("viem/_types/account-abstraction").SmartAccount<import("viem/_types/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">> | undefined>;
|
|
27
27
|
declare function getAccountProvider(config: RhinestoneAccountConfig): AccountProviderConfig;
|
|
28
28
|
export { getModuleInstallationCalls, getModuleUninstallationCalls, getAddress, getAccountProvider, getInitCode, signEip7702InitData, getEip7702InitCall, isDeployed, deploy, toErc6492Signature, getSmartAccount, getSmartSessionSmartAccount, getGuardianSmartAccount, getPackedSignature, getTypedDataPackedSignature, isAccountError, AccountError, Eip7702AccountMustHaveEoaError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, SmartSessionsNotEnabledError, SigningNotSupportedForAccountError, SignMessageNotSupportedByAccountError, Eip7702NotSupportedForAccountError, };
|
|
29
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EAKV,KAAK,uBAAuB,EAC5B,KAAK,GAAG,EAER,KAAK,YAAY,EAEjB,KAAK,SAAS,EAEf,MAAM,MAAM,CAAA;AAGb,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAM/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EACV,qBAAqB,EACrB,IAAI,EACJ,QAAQ,EACR,uBAAuB,EACvB,OAAO,EACP,SAAS,EACV,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ const execution_1 = require("../execution");
|
|
|
21
21
|
const smart_session_1 = require("../execution/smart-session");
|
|
22
22
|
const validators_1 = require("../modules/validators");
|
|
23
23
|
const core_1 = require("../modules/validators/core");
|
|
24
|
+
const custom_1 = require("./custom");
|
|
24
25
|
const error_1 = require("./error");
|
|
25
26
|
Object.defineProperty(exports, "AccountError", { enumerable: true, get: function () { return error_1.AccountError; } });
|
|
26
27
|
Object.defineProperty(exports, "Eip7702AccountMustHaveEoaError", { enumerable: true, get: function () { return error_1.Eip7702AccountMustHaveEoaError; } });
|
|
@@ -54,6 +55,9 @@ function getDeployArgs(config) {
|
|
|
54
55
|
case 'startale': {
|
|
55
56
|
return (0, startale_1.getDeployArgs)(config);
|
|
56
57
|
}
|
|
58
|
+
case 'custom': {
|
|
59
|
+
return (0, custom_1.getDeployArgs)(config);
|
|
60
|
+
}
|
|
57
61
|
}
|
|
58
62
|
}
|
|
59
63
|
function getInitCode(config) {
|
|
@@ -86,6 +90,9 @@ async function signEip7702InitData(config) {
|
|
|
86
90
|
case 'startale': {
|
|
87
91
|
throw new Error(`7702 is not supported for account type ${account.type}`);
|
|
88
92
|
}
|
|
93
|
+
case 'custom': {
|
|
94
|
+
throw new Error('7702 is not supported for custom account');
|
|
95
|
+
}
|
|
89
96
|
}
|
|
90
97
|
}
|
|
91
98
|
async function getEip7702InitCall(config, signature) {
|
|
@@ -99,6 +106,9 @@ async function getEip7702InitCall(config, signature) {
|
|
|
99
106
|
case 'startale': {
|
|
100
107
|
throw new Error(`7702 is not supported for account type ${account.type}`);
|
|
101
108
|
}
|
|
109
|
+
case 'custom': {
|
|
110
|
+
throw new Error('7702 is not supported for custom account');
|
|
111
|
+
}
|
|
102
112
|
}
|
|
103
113
|
}
|
|
104
114
|
function getModuleInstallationCalls(config, module) {
|
|
@@ -118,6 +128,9 @@ function getModuleInstallationCalls(config, module) {
|
|
|
118
128
|
case 'startale': {
|
|
119
129
|
return [(0, startale_1.getInstallData)(module)];
|
|
120
130
|
}
|
|
131
|
+
case 'custom': {
|
|
132
|
+
return (0, custom_1.getInstallData)(config, module);
|
|
133
|
+
}
|
|
121
134
|
}
|
|
122
135
|
}
|
|
123
136
|
const installData = getInstallData();
|
|
@@ -178,12 +191,15 @@ function getAddress(config) {
|
|
|
178
191
|
case 'startale': {
|
|
179
192
|
return (0, startale_1.getAddress)(config);
|
|
180
193
|
}
|
|
194
|
+
case 'custom': {
|
|
195
|
+
return (0, custom_1.getAddress)(config);
|
|
196
|
+
}
|
|
181
197
|
}
|
|
182
198
|
}
|
|
183
199
|
// Signs and packs a signature to be EIP-1271 compatible
|
|
184
200
|
async function getPackedSignature(config, signers, chain, validator, hash, transformSignature = (signature) => signature) {
|
|
185
201
|
signers = signers ?? (0, common_1.convertOwnerSetToSignerSet)(config.owners);
|
|
186
|
-
const signFn = (hash) => (0, message_1.sign)(signers, chain, hash);
|
|
202
|
+
const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash);
|
|
187
203
|
const account = getAccountProvider(config);
|
|
188
204
|
const address = getAddress(config);
|
|
189
205
|
switch (account.type) {
|
|
@@ -203,25 +219,34 @@ async function getPackedSignature(config, signers, chain, validator, hash, trans
|
|
|
203
219
|
const signature = await signFn(hash);
|
|
204
220
|
return (0, startale_1.packSignature)(signature, validator, transformSignature);
|
|
205
221
|
}
|
|
222
|
+
case 'custom': {
|
|
223
|
+
const signature = await signFn(hash);
|
|
224
|
+
return (0, custom_1.getPackedSignature)(config, signature, validator, transformSignature);
|
|
225
|
+
}
|
|
206
226
|
}
|
|
207
227
|
}
|
|
208
228
|
// Signs and packs a signature to be EIP-1271 compatible
|
|
209
229
|
async function getTypedDataPackedSignature(config, signers, chain, validator, parameters, transformSignature = (signature) => signature) {
|
|
230
|
+
const address = getAddress(config);
|
|
210
231
|
signers = signers ?? (0, common_1.convertOwnerSetToSignerSet)(config.owners);
|
|
211
|
-
const signFn = (parameters) => (0, typedData_1.sign)(signers, chain, parameters);
|
|
232
|
+
const signFn = (parameters) => (0, typedData_1.sign)(signers, chain, address, parameters);
|
|
212
233
|
const account = getAccountProvider(config);
|
|
213
234
|
switch (account.type) {
|
|
214
235
|
case 'safe': {
|
|
215
236
|
const signature = await signFn(parameters);
|
|
216
237
|
return (0, safe_1.packSignature)(signature, validator, transformSignature);
|
|
217
238
|
}
|
|
239
|
+
case 'custom': {
|
|
240
|
+
const signature = await signFn(parameters);
|
|
241
|
+
return (0, custom_1.getPackedSignature)(config, signature, validator, transformSignature);
|
|
242
|
+
}
|
|
218
243
|
case 'nexus': {
|
|
219
244
|
const signature = await signFn(parameters);
|
|
220
245
|
return (0, nexus_1.packSignature)(signature, validator, transformSignature);
|
|
221
246
|
}
|
|
222
247
|
case 'kernel': {
|
|
223
248
|
const address = getAddress(config);
|
|
224
|
-
const signMessageFn = (hash) => (0, message_1.sign)(signers, chain, hash);
|
|
249
|
+
const signMessageFn = (hash) => (0, message_1.sign)(signers, chain, address, hash);
|
|
225
250
|
const signature = await signMessageFn((0, kernel_1.wrapMessageHash)((0, viem_1.hashTypedData)(parameters), address));
|
|
226
251
|
return (0, kernel_1.packSignature)(signature, validator, transformSignature);
|
|
227
252
|
}
|
|
@@ -303,7 +328,7 @@ async function getSmartAccount(config, client, chain) {
|
|
|
303
328
|
const address = getAddress(config);
|
|
304
329
|
const ownerValidator = (0, validators_1.getOwnerValidator)(config);
|
|
305
330
|
const signers = (0, common_1.convertOwnerSetToSignerSet)(config.owners);
|
|
306
|
-
const signFn = (hash) => (0, message_1.sign)(signers, chain, hash);
|
|
331
|
+
const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash);
|
|
307
332
|
switch (account.type) {
|
|
308
333
|
case 'safe': {
|
|
309
334
|
return (0, safe_1.getSmartAccount)(client, address, config.owners, ownerValidator.address, signFn);
|
|
@@ -317,6 +342,9 @@ async function getSmartAccount(config, client, chain) {
|
|
|
317
342
|
case 'startale': {
|
|
318
343
|
return (0, startale_1.getSmartAccount)(client, address, config.owners, ownerValidator.address, signFn);
|
|
319
344
|
}
|
|
345
|
+
case 'custom': {
|
|
346
|
+
return (0, custom_1.getSmartAccount)(config, client, address, ownerValidator.address, signFn);
|
|
347
|
+
}
|
|
320
348
|
}
|
|
321
349
|
}
|
|
322
350
|
async function getSmartSessionSmartAccount(config, client, chain, session, enableData) {
|
|
@@ -330,7 +358,7 @@ async function getSmartSessionSmartAccount(config, client, chain, session, enabl
|
|
|
330
358
|
session,
|
|
331
359
|
enableData: enableData || undefined,
|
|
332
360
|
};
|
|
333
|
-
const signFn = (hash) => (0, message_1.sign)(signers, chain, hash);
|
|
361
|
+
const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash);
|
|
334
362
|
const account = getAccountProvider(config);
|
|
335
363
|
switch (account.type) {
|
|
336
364
|
case 'safe': {
|
|
@@ -345,6 +373,9 @@ async function getSmartSessionSmartAccount(config, client, chain, session, enabl
|
|
|
345
373
|
case 'startale': {
|
|
346
374
|
return (0, startale_1.getSessionSmartAccount)(client, address, session, smartSessionValidator.address, enableData, signFn);
|
|
347
375
|
}
|
|
376
|
+
case 'custom': {
|
|
377
|
+
return (0, custom_1.getSessionSmartAccount)(config, client, address, session, smartSessionValidator.address, enableData);
|
|
378
|
+
}
|
|
348
379
|
}
|
|
349
380
|
}
|
|
350
381
|
async function getGuardianSmartAccount(config, client, chain, guardians) {
|
|
@@ -358,7 +389,7 @@ async function getGuardianSmartAccount(config, client, chain, guardians) {
|
|
|
358
389
|
type: 'guardians',
|
|
359
390
|
guardians: accounts,
|
|
360
391
|
};
|
|
361
|
-
const signFn = (hash) => (0, message_1.sign)(signers, chain, hash);
|
|
392
|
+
const signFn = (hash) => (0, message_1.sign)(signers, chain, address, hash);
|
|
362
393
|
const account = getAccountProvider(config);
|
|
363
394
|
switch (account.type) {
|
|
364
395
|
case 'safe': {
|
|
@@ -14,17 +14,17 @@ const _1 = require(".");
|
|
|
14
14
|
},
|
|
15
15
|
rhinestoneApiKey: consts_1.MOCK_API_KEY,
|
|
16
16
|
});
|
|
17
|
-
(0, vitest_1.expect)(address).toEqual('
|
|
17
|
+
(0, vitest_1.expect)(address).toEqual('0x0681de31e060b384f0b08a3bac99e9bdff302474');
|
|
18
18
|
});
|
|
19
19
|
(0, vitest_1.test)('Safe, passkey owner with a session', () => {
|
|
20
20
|
const address = (0, _1.getAddress)({
|
|
21
21
|
owners: {
|
|
22
22
|
type: 'passkey',
|
|
23
|
-
|
|
23
|
+
accounts: [consts_1.passkeyAccount],
|
|
24
24
|
},
|
|
25
25
|
rhinestoneApiKey: consts_1.MOCK_API_KEY,
|
|
26
26
|
});
|
|
27
|
-
(0, vitest_1.expect)(address).toEqual('
|
|
27
|
+
(0, vitest_1.expect)(address).toEqual('0x894b88c04b4de6abddce81e8bdc91927e37d6ced');
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
30
|
(0, vitest_1.describe)('Sign', () => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../accounts/json-rpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAQ,KAAK,SAAS,EAAE,MAAM,MAAM,CAAA;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD,iBAAS,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAc3E;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTransport = createTransport;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const providers_1 = require("./providers");
|
|
6
|
+
function createTransport(chain, provider) {
|
|
7
|
+
if (!provider) {
|
|
8
|
+
return (0, viem_1.http)();
|
|
9
|
+
}
|
|
10
|
+
switch (provider.type) {
|
|
11
|
+
case 'alchemy': {
|
|
12
|
+
const alchemyUrl = (0, providers_1.getAlchemyUrl)(chain.id, provider.apiKey);
|
|
13
|
+
return (0, viem_1.http)(alchemyUrl);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../accounts/json-rpc/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chains_1 = require("viem/chains");
|
|
4
|
+
const vitest_1 = require("vitest");
|
|
5
|
+
const index_1 = require("./index");
|
|
6
|
+
(0, vitest_1.describe)('JSON-RPC', () => {
|
|
7
|
+
(0, vitest_1.describe)('createTransport', () => {
|
|
8
|
+
(0, vitest_1.test)('Alchemy', () => {
|
|
9
|
+
const transport = (0, index_1.createTransport)(chains_1.base, {
|
|
10
|
+
type: 'alchemy',
|
|
11
|
+
apiKey: '123',
|
|
12
|
+
});
|
|
13
|
+
(0, vitest_1.expect)(transport).toBeDefined();
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../accounts/json-rpc/providers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,iBAAS,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAStE;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAlchemyUrl = getAlchemyUrl;
|
|
4
|
+
const shared_configs_1 = require("@rhinestone/shared-configs");
|
|
5
|
+
function getAlchemyUrl(chainId, apiKey) {
|
|
6
|
+
const urlTemplate = shared_configs_1.providers.Alchemy.url_template;
|
|
7
|
+
const chainParam = shared_configs_1.providers.Alchemy.chain_mapping[chainId];
|
|
8
|
+
if (!chainParam) {
|
|
9
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
|
10
|
+
}
|
|
11
|
+
return urlTemplate
|
|
12
|
+
.replace('{{chain_param}}', chainParam)
|
|
13
|
+
.replace('\$\{ALCHEMY_API_KEY\}', apiKey);
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.test.d.ts","sourceRoot":"","sources":["../../../../accounts/json-rpc/providers.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chains_1 = require("viem/chains");
|
|
4
|
+
const vitest_1 = require("vitest");
|
|
5
|
+
const providers_1 = require("./providers");
|
|
6
|
+
(0, vitest_1.describe)('Providers', () => {
|
|
7
|
+
(0, vitest_1.describe)('Alchemy', () => {
|
|
8
|
+
(0, vitest_1.test)('Network', () => {
|
|
9
|
+
const mockApiKey = '123';
|
|
10
|
+
(0, vitest_1.expect)((0, providers_1.getAlchemyUrl)(chains_1.mainnet.id, mockApiKey)).toBe('https://eth-mainnet.g.alchemy.com/v2/123');
|
|
11
|
+
(0, vitest_1.expect)((0, providers_1.getAlchemyUrl)(chains_1.sepolia.id, mockApiKey)).toBe('https://eth-sepolia.g.alchemy.com/v2/123');
|
|
12
|
+
(0, vitest_1.expect)((0, providers_1.getAlchemyUrl)(chains_1.polygon.id, mockApiKey)).toBe('https://polygon-mainnet.g.alchemy.com/v2/123');
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
});
|
|
@@ -16,24 +16,24 @@ const MOCK_MODULE_ADDRESS = '0x28de6501fa86f2e6cd0b33c3aabdaeb4a1b93f3f';
|
|
|
16
16
|
rhinestoneApiKey: consts_1.MOCK_API_KEY,
|
|
17
17
|
});
|
|
18
18
|
(0, vitest_1.expect)(factory).toEqual('0xd703aae79538628d27099b8c4f621be4ccd142d5');
|
|
19
|
-
(0, vitest_1.expect)(factoryData).toEqual('
|
|
19
|
+
(0, vitest_1.expect)(factoryData).toEqual('0xc5265d5d0000000000000000000000002577507b78c2008ff367261cb6285d44ba5ef2e90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003243c3b752b01000000000013fdB5234E4E3162a810F54d9f7E980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da09948693600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001249517e29f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000005ad9ce1f5035fd62ca96cef16adaaf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000094000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
|
|
20
20
|
(0, vitest_1.expect)(salt).toEqual('0x0000000000000000000000000000000000000000000000000000000000000000');
|
|
21
21
|
(0, vitest_1.expect)(implementation).toEqual('0xd6CEDDe84be40893d153Be9d467CD6aD37875b28');
|
|
22
|
-
(0, vitest_1.expect)(initializationCallData).toEqual('
|
|
22
|
+
(0, vitest_1.expect)(initializationCallData).toEqual('0x3c3b752b01000000000013fdB5234E4E3162a810F54d9f7E980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006092086a3dc0020cd604a68fcf5d430007d51bb7000000000000000000000000f6c02c78ded62973b43bfa523b247da09948693600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001249517e29f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000005ad9ce1f5035fd62ca96cef16adaaf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
|
|
23
23
|
});
|
|
24
24
|
(0, vitest_1.test)('Passkey owner', () => {
|
|
25
25
|
const { factory, factoryData, salt, implementation, initializationCallData, } = (0, kernel_1.getDeployArgs)({
|
|
26
26
|
owners: {
|
|
27
27
|
type: 'passkey',
|
|
28
|
-
|
|
28
|
+
accounts: [consts_1.passkeyAccount],
|
|
29
29
|
},
|
|
30
30
|
rhinestoneApiKey: consts_1.MOCK_API_KEY,
|
|
31
31
|
});
|
|
32
32
|
(0, vitest_1.expect)(factory).toEqual('0xd703aae79538628d27099b8c4f621be4ccd142d5');
|
|
33
|
-
(0, vitest_1.expect)(factoryData).toEqual('
|
|
33
|
+
(0, vitest_1.expect)(factoryData).toEqual('0xc5265d5d0000000000000000000000002577507b78c2008ff367261cb6285d44ba5ef2e90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003443c3b752b010000000000578c4cB0e472a5462da43C495C3F330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001249517e29f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000005ad9ce1f5035fd62ca96cef16adaaf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000094000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
|
|
34
34
|
(0, vitest_1.expect)(salt).toEqual('0x0000000000000000000000000000000000000000000000000000000000000000');
|
|
35
35
|
(0, vitest_1.expect)(implementation).toEqual('0xd6CEDDe84be40893d153Be9d467CD6aD37875b28');
|
|
36
|
-
(0, vitest_1.expect)(initializationCallData).toEqual('
|
|
36
|
+
(0, vitest_1.expect)(initializationCallData).toEqual('0x3c3b752b010000000000578c4cB0e472a5462da43C495C3F330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001249517e29f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000005ad9ce1f5035fd62ca96cef16adaaf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
39
|
(0, vitest_1.describe)('Get Address', () => {
|
|
@@ -45,17 +45,17 @@ const MOCK_MODULE_ADDRESS = '0x28de6501fa86f2e6cd0b33c3aabdaeb4a1b93f3f';
|
|
|
45
45
|
},
|
|
46
46
|
rhinestoneApiKey: consts_1.MOCK_API_KEY,
|
|
47
47
|
});
|
|
48
|
-
(0, vitest_1.expect)(address).toEqual('
|
|
48
|
+
(0, vitest_1.expect)(address).toEqual('0xC3733a544f5246a25405c7446e4D0C6b5762B22e');
|
|
49
49
|
});
|
|
50
50
|
(0, vitest_1.test)('Passkey owner', () => {
|
|
51
51
|
const address = (0, kernel_1.getAddress)({
|
|
52
52
|
owners: {
|
|
53
53
|
type: 'passkey',
|
|
54
|
-
|
|
54
|
+
accounts: [consts_1.passkeyAccount],
|
|
55
55
|
},
|
|
56
56
|
rhinestoneApiKey: consts_1.MOCK_API_KEY,
|
|
57
57
|
});
|
|
58
|
-
(0, vitest_1.expect)(address).toEqual('
|
|
58
|
+
(0, vitest_1.expect)(address).toEqual('0xE48268B1C69528366d8eFaC5DB6fA947a7B52E55');
|
|
59
59
|
});
|
|
60
60
|
});
|
|
61
61
|
(0, vitest_1.describe)('Get Install Data', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nexus.d.ts","sourceRoot":"","sources":["../../../accounts/nexus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"nexus.d.ts","sourceRoot":"","sources":["../../../accounts/nexus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAapE,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAchF,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;;EA6FrD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBA4BlD;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,iBA2BrC;AAED,iBAAe,aAAa,CAC1B,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,EACtE,uBAAuB,GAAE,OAAyC,0BAWnE;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACjC,uBAAuB,GAAE,OAAyC,iEAYnE;AAED,iBAAe,sBAAsB,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,UAAU,EAAE,iBAAiB,GAAG,IAAI,EACpC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACjC,uBAAuB,GAAE,OAAyC,iEAwCnE;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ,EACnB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACjC,uBAAuB,GAAE,OAAyC,iEAcnE;AAqFD,iBAAe,mBAAmB,CAChC,MAAM,EAAE,uBAAuB,EAC/B,GAAG,EAAE,OAAO,0BA0Bb;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,GAAG;;;GAuCf;AAED,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GACnB,CAAA"}
|