@rhinestone/sdk 1.4.0 → 1.4.1
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/safe.d.ts.map +1 -1
- package/dist/src/accounts/safe.js +4 -1
- package/dist/src/accounts/safe.test.js +50 -0
- package/dist/src/orchestrator/consts.d.ts +1 -1
- package/dist/src/orchestrator/consts.js +1 -1
- package/dist/src/utils/index.d.ts +3 -9
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.test.d.ts +2 -0
- package/dist/src/utils/index.test.d.ts.map +1 -0
- package/dist/src/utils/index.test.js +42 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe.d.ts","sourceRoot":"","sources":["../../../accounts/safe.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EACZ,KAAK,KAAK,EAOV,KAAK,GAAG,EAER,KAAK,YAAY,EAKlB,MAAM,MAAM,CAAA;AACb,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAM/C,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAe,MAAM,UAAU,CAAA;AAM9E,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAoBhF,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;SAmGrD;AAED,iBAAS,eAAe,CAAC,MAAM,EAAE,uBAAuB;;;;;;EAgFvD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"safe.d.ts","sourceRoot":"","sources":["../../../accounts/safe.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EACZ,KAAK,KAAK,EAOV,KAAK,GAAG,EAER,KAAK,YAAY,EAKlB,MAAM,MAAM,CAAA;AACb,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAM/C,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAe,MAAM,UAAU,CAAA;AAM9E,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAoBhF,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;SAmGrD;AAED,iBAAS,eAAe,CAAC,MAAM,EAAE,uBAAuB;;;;;;EAgFvD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBAoBlD;AAED,iBAAS,eAAe,CAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK;;;;;;EAarE;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,0BAMvE;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,iEAWlC;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,iEAalC;AA0GD,OAAO,EACL,eAAe,EACf,cAAc,EACd,UAAU,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,uBAAuB,GACxB,CAAA"}
|
|
@@ -186,6 +186,9 @@ function getV0DeployArgs(config) {
|
|
|
186
186
|
function getAddress(config) {
|
|
187
187
|
const deployArgs = getDeployArgs(config);
|
|
188
188
|
if (!deployArgs) {
|
|
189
|
+
if (config.initData?.address) {
|
|
190
|
+
return config.initData.address;
|
|
191
|
+
}
|
|
189
192
|
throw new Error('Cannot derive address: deploy args not available');
|
|
190
193
|
}
|
|
191
194
|
const { factory, implementation, salt } = deployArgs;
|
|
@@ -199,7 +202,7 @@ function getAddress(config) {
|
|
|
199
202
|
return address;
|
|
200
203
|
}
|
|
201
204
|
function getEip712Domain(config, chain) {
|
|
202
|
-
if (config.initData) {
|
|
205
|
+
if (config.initData && !('factory' in config.initData)) {
|
|
203
206
|
throw new error_1.Eip712DomainNotAvailableError('Existing Safe-7579 accounts are not yet supported');
|
|
204
207
|
}
|
|
205
208
|
return {
|
|
@@ -91,6 +91,56 @@ const MOCK_MODULE_ADDRESS = '0x28de6501fa86f2e6cd0b33c3aabdaeb4a1b93f3f';
|
|
|
91
91
|
});
|
|
92
92
|
(0, vitest_1.expect)(address).toEqual('0xc41bb9cfB2658dD3D74Ada0862044f5f30304b38');
|
|
93
93
|
});
|
|
94
|
+
(0, vitest_1.test)('Address-only initData fallback', () => {
|
|
95
|
+
const address = (0, safe_1.getAddress)({
|
|
96
|
+
account: {
|
|
97
|
+
type: 'safe',
|
|
98
|
+
},
|
|
99
|
+
owners: {
|
|
100
|
+
type: 'ecdsa',
|
|
101
|
+
accounts: [consts_1.accountA, consts_1.accountB],
|
|
102
|
+
},
|
|
103
|
+
initData: {
|
|
104
|
+
address: '0xc41bb9cfB2658dD3D74Ada0862044f5f30304b38',
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
(0, vitest_1.expect)(address).toEqual('0xc41bb9cfB2658dD3D74Ada0862044f5f30304b38');
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
(0, vitest_1.describe)('EIP-712 Domain', () => {
|
|
111
|
+
(0, vitest_1.test)('Factory-backed initData stays signable', () => {
|
|
112
|
+
const domain = (0, safe_1.getEip712Domain)({
|
|
113
|
+
owners: {
|
|
114
|
+
type: 'ecdsa',
|
|
115
|
+
accounts: [consts_1.accountA, consts_1.accountB],
|
|
116
|
+
},
|
|
117
|
+
initData: {
|
|
118
|
+
factory: '0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67',
|
|
119
|
+
factoryData: '0x1688f0b90000000000000000000000007579011ab74c46090561ea277ba79d510c6c00ff0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000844fff40e1ec88f0966a6bc17a138345cdf7519caf9a1e0bb840330108a6a4315f1028c39000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
|
|
120
|
+
address: '0xc41bb9cfB2658dD3D74Ada0862044f5f30304b38',
|
|
121
|
+
intentExecutorInstalled: true,
|
|
122
|
+
},
|
|
123
|
+
}, {
|
|
124
|
+
id: 1,
|
|
125
|
+
});
|
|
126
|
+
(0, vitest_1.expect)(domain.verifyingContract).toEqual('0xc41bb9cfB2658dD3D74Ada0862044f5f30304b38');
|
|
127
|
+
});
|
|
128
|
+
(0, vitest_1.test)('Address-only initData remains unsupported', () => {
|
|
129
|
+
(0, vitest_1.expect)(() => (0, safe_1.getEip712Domain)({
|
|
130
|
+
account: {
|
|
131
|
+
type: 'safe',
|
|
132
|
+
},
|
|
133
|
+
owners: {
|
|
134
|
+
type: 'ecdsa',
|
|
135
|
+
accounts: [consts_1.accountA, consts_1.accountB],
|
|
136
|
+
},
|
|
137
|
+
initData: {
|
|
138
|
+
address: '0xc41bb9cfB2658dD3D74Ada0862044f5f30304b38',
|
|
139
|
+
},
|
|
140
|
+
}, {
|
|
141
|
+
id: 1,
|
|
142
|
+
})).toThrow('Existing Safe-7579 accounts are not yet supported');
|
|
143
|
+
});
|
|
94
144
|
});
|
|
95
145
|
(0, vitest_1.describe)('Get Install Data', () => {
|
|
96
146
|
(0, vitest_1.test)('Module', () => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
declare const PROD_ORCHESTRATOR_URL = "https://v1.orchestrator.rhinestone.dev";
|
|
2
2
|
declare const RHINESTONE_SPOKE_POOL_ADDRESS = "0x000000000060f6e853447881951574cdd0663530";
|
|
3
|
-
declare const SDK_VERSION = "1.4.
|
|
3
|
+
declare const SDK_VERSION = "1.4.1";
|
|
4
4
|
export { PROD_ORCHESTRATOR_URL, RHINESTONE_SPOKE_POOL_ADDRESS, SDK_VERSION };
|
|
5
5
|
//# sourceMappingURL=consts.d.ts.map
|
|
@@ -5,5 +5,5 @@ const PROD_ORCHESTRATOR_URL = 'https://v1.orchestrator.rhinestone.dev';
|
|
|
5
5
|
exports.PROD_ORCHESTRATOR_URL = PROD_ORCHESTRATOR_URL;
|
|
6
6
|
const RHINESTONE_SPOKE_POOL_ADDRESS = '0x000000000060f6e853447881951574cdd0663530';
|
|
7
7
|
exports.RHINESTONE_SPOKE_POOL_ADDRESS = RHINESTONE_SPOKE_POOL_ADDRESS;
|
|
8
|
-
const SDK_VERSION = '1.4.
|
|
8
|
+
const SDK_VERSION = '1.4.1';
|
|
9
9
|
exports.SDK_VERSION = SDK_VERSION;
|
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
import type { Account, Address, Hex } from 'viem';
|
|
2
2
|
import { getSetup as experimental_getModuleSetup } from '../modules';
|
|
3
|
-
import type {
|
|
4
|
-
declare function experimental_getV0InitData(config: {
|
|
5
|
-
account?: AccountProviderConfig;
|
|
6
|
-
owners?: OwnerSet;
|
|
7
|
-
}): {
|
|
3
|
+
import type { RhinestoneAccountConfig } from '../types';
|
|
4
|
+
declare function experimental_getV0InitData(config: RhinestoneAccountConfig): {
|
|
8
5
|
address: Address;
|
|
9
6
|
factory: Address;
|
|
10
7
|
factoryData: Hex;
|
|
11
8
|
intentExecutorInstalled: boolean;
|
|
12
9
|
};
|
|
13
|
-
declare function experimental_getRhinestoneInitData(config: {
|
|
14
|
-
account?: AccountProviderConfig;
|
|
15
|
-
owners?: OwnerSet;
|
|
16
|
-
}): {
|
|
10
|
+
declare function experimental_getRhinestoneInitData(config: RhinestoneAccountConfig): {
|
|
17
11
|
address: Address;
|
|
18
12
|
factory: Address;
|
|
19
13
|
factoryData: Hex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAGjD,OAAO,EAAE,QAAQ,IAAI,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAGjD,OAAO,EAAE,QAAQ,IAAI,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEvD,iBAAS,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG;IACpE,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,GAAG,CAAA;IAChB,uBAAuB,EAAE,OAAO,CAAA;CACjC,CAgBA;AAED,iBAAS,kCAAkC,CAAC,MAAM,EAAE,uBAAuB,GACvE;IACE,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,GAAG,CAAA;IAChB,uBAAuB,EAAE,OAAO,CAAA;CACjC,GACD;IACE,OAAO,EAAE,OAAO,CAAA;CACjB,CAmBJ;AAED,iBAAS,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAcpD;AAED,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,kCAAkC,EAClC,iBAAiB,GAClB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../utils/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const consts_1 = require("../../test/consts");
|
|
5
|
+
const index_1 = require("./index");
|
|
6
|
+
(0, vitest_1.describe)('Utils', () => {
|
|
7
|
+
(0, vitest_1.test)('experimental_getV0InitData accepts session-enabled safe config', () => {
|
|
8
|
+
const baseConfig = {
|
|
9
|
+
account: {
|
|
10
|
+
type: 'safe',
|
|
11
|
+
},
|
|
12
|
+
owners: {
|
|
13
|
+
type: 'ecdsa',
|
|
14
|
+
accounts: [consts_1.accountA],
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
const withoutSessions = (0, index_1.experimental_getV0InitData)(baseConfig);
|
|
18
|
+
const withSessions = (0, index_1.experimental_getV0InitData)({
|
|
19
|
+
...baseConfig,
|
|
20
|
+
experimental_sessions: {
|
|
21
|
+
enabled: true,
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
(0, vitest_1.expect)(withSessions.address).toMatch(/^0x[a-fA-F0-9]{40}$/);
|
|
25
|
+
(0, vitest_1.expect)(withSessions.factoryData).not.toEqual(withoutSessions.factoryData);
|
|
26
|
+
});
|
|
27
|
+
(0, vitest_1.test)('experimental_getRhinestoneInitData accepts session-enabled safe config', () => {
|
|
28
|
+
const initData = (0, index_1.experimental_getRhinestoneInitData)({
|
|
29
|
+
account: {
|
|
30
|
+
type: 'safe',
|
|
31
|
+
},
|
|
32
|
+
owners: {
|
|
33
|
+
type: 'ecdsa',
|
|
34
|
+
accounts: [consts_1.accountA],
|
|
35
|
+
},
|
|
36
|
+
experimental_sessions: {
|
|
37
|
+
enabled: true,
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
(0, vitest_1.expect)('factory' in initData).toBe(true);
|
|
41
|
+
});
|
|
42
|
+
});
|