@rhinestone/sdk 1.0.43 → 1.1.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.
Files changed (66) hide show
  1. package/dist/src/accounts/index.d.ts +2 -5
  2. package/dist/src/accounts/index.d.ts.map +1 -1
  3. package/dist/src/accounts/index.js +0 -37
  4. package/dist/src/accounts/kernel.d.ts +2 -4
  5. package/dist/src/accounts/kernel.d.ts.map +1 -1
  6. package/dist/src/accounts/kernel.js +0 -16
  7. package/dist/src/accounts/nexus.d.ts +2 -4
  8. package/dist/src/accounts/nexus.d.ts.map +1 -1
  9. package/dist/src/accounts/nexus.js +0 -16
  10. package/dist/src/accounts/passport.d.ts +4 -7
  11. package/dist/src/accounts/passport.d.ts.map +1 -1
  12. package/dist/src/accounts/passport.js +0 -91
  13. package/dist/src/accounts/safe.d.ts +2 -4
  14. package/dist/src/accounts/safe.d.ts.map +1 -1
  15. package/dist/src/accounts/safe.js +0 -16
  16. package/dist/src/accounts/signing/common.d.ts +3 -3
  17. package/dist/src/accounts/signing/common.d.ts.map +1 -1
  18. package/dist/src/accounts/signing/common.js +18 -2
  19. package/dist/src/accounts/signing/message.js +2 -2
  20. package/dist/src/accounts/signing/typedData.d.ts.map +1 -1
  21. package/dist/src/accounts/signing/typedData.js +3 -3
  22. package/dist/src/accounts/startale.d.ts +2 -4
  23. package/dist/src/accounts/startale.d.ts.map +1 -1
  24. package/dist/src/accounts/startale.js +0 -4
  25. package/dist/src/actions/compact.d.ts +3 -2
  26. package/dist/src/actions/compact.d.ts.map +1 -1
  27. package/dist/src/actions/compact.js +1 -0
  28. package/dist/src/actions/smart-sessions.d.ts +7 -8
  29. package/dist/src/actions/smart-sessions.d.ts.map +1 -1
  30. package/dist/src/actions/smart-sessions.js +7 -4
  31. package/dist/src/execution/error.d.ts +1 -8
  32. package/dist/src/execution/error.d.ts.map +1 -1
  33. package/dist/src/execution/error.js +1 -10
  34. package/dist/src/execution/index.d.ts.map +1 -1
  35. package/dist/src/execution/index.js +3 -12
  36. package/dist/src/execution/utils.d.ts +1 -1
  37. package/dist/src/execution/utils.d.ts.map +1 -1
  38. package/dist/src/execution/utils.js +9 -17
  39. package/dist/src/index.d.ts +2 -2
  40. package/dist/src/index.d.ts.map +1 -1
  41. package/dist/src/index.js +4 -4
  42. package/dist/src/modules/abi/smart-session-emissary.d.ts +696 -0
  43. package/dist/src/modules/abi/smart-session-emissary.d.ts.map +1 -0
  44. package/dist/src/modules/abi/smart-session-emissary.js +565 -0
  45. package/dist/src/modules/index.d.ts +2 -1
  46. package/dist/src/modules/index.d.ts.map +1 -1
  47. package/dist/src/modules/index.js +3 -1
  48. package/dist/src/modules/validators/core.d.ts.map +1 -1
  49. package/dist/src/modules/validators/core.js +2 -0
  50. package/dist/src/modules/validators/index.d.ts +2 -2
  51. package/dist/src/modules/validators/index.d.ts.map +1 -1
  52. package/dist/src/modules/validators/index.js +1 -6
  53. package/dist/src/modules/validators/smart-sessions.d.ts +105 -20
  54. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
  55. package/dist/src/modules/validators/smart-sessions.js +199 -439
  56. package/dist/src/orchestrator/client.d.ts.map +1 -1
  57. package/dist/src/orchestrator/client.js +1 -1
  58. package/dist/src/types.d.ts +8 -15
  59. package/dist/src/types.d.ts.map +1 -1
  60. package/package.json +1 -1
  61. package/dist/src/execution/smart-session.d.ts +0 -13
  62. package/dist/src/execution/smart-session.d.ts.map +0 -1
  63. package/dist/src/execution/smart-session.js +0 -178
  64. package/dist/src/modules/validators/smart-sessions.test.d.ts +0 -2
  65. package/dist/src/modules/validators/smart-sessions.test.d.ts.map +0 -1
  66. package/dist/src/modules/validators/smart-sessions.test.js +0 -219
@@ -1,21 +1,16 @@
1
- import { type Address, type Hex, type PublicClient } from 'viem';
1
+ import { type Address, type Hex, type TypedDataDefinition } from 'viem';
2
2
  import type { RhinestoneAccountConfig, Session } from '../../types';
3
3
  import { type Module } from '../common';
4
4
  interface SessionData {
5
5
  sessionValidator: Address;
6
6
  sessionValidatorInitData: Hex;
7
7
  salt: Hex;
8
- userOpPolicies: readonly UserOpPolicy[];
9
8
  erc7739Policies: {
10
9
  allowedERC7739Content: readonly AllowedERC7739Content[];
11
10
  erc1271Policies: readonly ERC1271Policy[];
12
11
  };
13
12
  actions: readonly ActionData[];
14
- permitERC4337Paymaster: boolean;
15
- }
16
- interface UserOpPolicy {
17
- policy: Address;
18
- initData: Hex;
13
+ claimPolicies: readonly PolicyData[];
19
14
  }
20
15
  interface ERC1271Policy {
21
16
  policy: Address;
@@ -23,7 +18,7 @@ interface ERC1271Policy {
23
18
  }
24
19
  interface AllowedERC7739Content {
25
20
  appDomainSeparator: Hex;
26
- contentName: readonly string[];
21
+ contentNames: readonly string[];
27
22
  }
28
23
  interface ActionData {
29
24
  actionTargetSelector: Hex;
@@ -69,28 +64,118 @@ interface ERC7739Context {
69
64
  appDomainSeparator: Hex;
70
65
  contentName: readonly string[];
71
66
  }
72
- interface EnableSessionData {
73
- chainDigestIndex: number;
67
+ interface SessionDetails {
68
+ nonces: bigint[];
74
69
  hashesAndChainIds: ChainDigest[];
75
- sessionToEnable: SessionData;
76
- signature: Hex;
70
+ data: TypedDataDefinition<typeof types, 'MultiChainSession'>;
77
71
  }
78
- declare const SMART_SESSIONS_VALIDATOR_ADDRESS: Address;
72
+ declare const types: {
73
+ readonly PolicyData: readonly [{
74
+ readonly name: "policy";
75
+ readonly type: "address";
76
+ }, {
77
+ readonly name: "initData";
78
+ readonly type: "bytes";
79
+ }];
80
+ readonly ActionData: readonly [{
81
+ readonly name: "actionTargetSelector";
82
+ readonly type: "bytes4";
83
+ }, {
84
+ readonly name: "actionTarget";
85
+ readonly type: "address";
86
+ }, {
87
+ readonly name: "actionPolicies";
88
+ readonly type: "PolicyData[]";
89
+ }];
90
+ readonly ERC7739Context: readonly [{
91
+ readonly name: "appDomainSeparator";
92
+ readonly type: "bytes32";
93
+ }, {
94
+ readonly name: "contentName";
95
+ readonly type: "string[]";
96
+ }];
97
+ readonly ERC7739Data: readonly [{
98
+ readonly name: "allowedERC7739Content";
99
+ readonly type: "ERC7739Context[]";
100
+ }, {
101
+ readonly name: "erc1271Policies";
102
+ readonly type: "PolicyData[]";
103
+ }];
104
+ readonly LockTagData: readonly [{
105
+ readonly name: "lockTag";
106
+ readonly type: "bytes12";
107
+ }, {
108
+ readonly name: "claimPolicies";
109
+ readonly type: "PolicyData[]";
110
+ }];
111
+ readonly SignedPermissions: readonly [{
112
+ readonly name: "actions";
113
+ readonly type: "ActionData[]";
114
+ }, {
115
+ readonly name: "erc7739Policies";
116
+ readonly type: "ERC7739Data";
117
+ }, {
118
+ readonly name: "lockTagPolicies";
119
+ readonly type: "LockTagData";
120
+ }, {
121
+ readonly name: "permitGenericPolicy";
122
+ readonly type: "bool";
123
+ }];
124
+ readonly SignedSession: readonly [{
125
+ readonly name: "account";
126
+ readonly type: "address";
127
+ }, {
128
+ readonly name: "expires";
129
+ readonly type: "uint256";
130
+ }, {
131
+ readonly name: "nonce";
132
+ readonly type: "uint256";
133
+ }, {
134
+ readonly name: "permissions";
135
+ readonly type: "SignedPermissions";
136
+ }, {
137
+ readonly name: "salt";
138
+ readonly type: "bytes32";
139
+ }, {
140
+ readonly name: "sessionValidator";
141
+ readonly type: "address";
142
+ }, {
143
+ readonly name: "sessionValidatorInitData";
144
+ readonly type: "bytes";
145
+ }, {
146
+ readonly name: "smartSessionEmissary";
147
+ readonly type: "address";
148
+ }];
149
+ readonly ChainSession: readonly [{
150
+ readonly name: "chainId";
151
+ readonly type: "uint64";
152
+ }, {
153
+ readonly name: "session";
154
+ readonly type: "SignedSession";
155
+ }];
156
+ readonly MultiChainSession: readonly [{
157
+ readonly name: "sessionsAndChainIds";
158
+ readonly type: "ChainSession[]";
159
+ }];
160
+ };
161
+ declare const SMART_SESSION_EMISSARY_ADDRESS: Address;
79
162
  declare const SMART_SESSION_MODE_USE = "0x00";
80
163
  declare const SMART_SESSION_MODE_ENABLE = "0x01";
81
164
  declare const SMART_SESSION_MODE_UNSAFE_ENABLE = "0x02";
82
165
  declare const SMART_SESSIONS_FALLBACK_TARGET_FLAG: Address;
83
166
  declare const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG: Hex;
84
167
  declare const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION: Hex;
85
- declare function getEnableSessionCall(session: Session): Promise<{
168
+ declare function getSessionDetails(account: Address, sessions: Session[]): Promise<SessionDetails>;
169
+ declare function getEnableSessionCall(account: Address, session: Session, enableSessionSignature: Hex, hashesAndChainIds: {
170
+ chainId: bigint;
171
+ sessionDigest: Hex;
172
+ }[], sessionToEnableIndex: number): Promise<{
86
173
  to: `0x${string}`;
87
174
  data: `0x${string}`;
88
175
  }>;
89
- declare function getSmartSessionData(session: Session): SessionData;
90
- declare function getSmartSessionValidator(config: RhinestoneAccountConfig): Module | null;
91
- declare function isSessionEnabled(client: PublicClient, address: Address, permissionId: Hex): Promise<boolean>;
92
- declare function encodeSmartSessionSignature(mode: SmartSessionModeType, permissionId: Hex, signature: Hex, enableSessionData?: EnableSessionData): `0x${string}`;
176
+ declare function getSessionData(session: Session): SessionData;
93
177
  declare function getPermissionId(session: Session): `0x${string}`;
94
- export { SMART_SESSION_MODE_USE, SMART_SESSION_MODE_ENABLE, SMART_SESSIONS_VALIDATOR_ADDRESS, SMART_SESSIONS_FALLBACK_TARGET_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION, getSmartSessionData, getSmartSessionValidator, getEnableSessionCall, encodeSmartSessionSignature, getPermissionId, isSessionEnabled, };
95
- export type { EnableSessionData, ChainSession, ChainDigest, SessionData, SmartSessionModeType, };
178
+ declare function getSmartSessionValidator(config: RhinestoneAccountConfig): Module | null;
179
+ export { SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSIONS_FALLBACK_TARGET_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION, getSessionData, getEnableSessionCall, getPermissionId, getSmartSessionValidator, getSessionDetails, };
180
+ export type { ChainSession, ChainDigest, SessionData, SmartSessionModeType, SessionDetails, };
96
181
  //# sourceMappingURL=smart-sessions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAIZ,KAAK,GAAG,EAKR,KAAK,mBAAmB,EAGzB,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAEnE,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAGjE,UAAU,WAAW;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,wBAAwB,EAAE,GAAG,CAAA;IAC7B,IAAI,EAAE,GAAG,CAAA;IACT,eAAe,EAAE;QACf,qBAAqB,EAAE,SAAS,qBAAqB,EAAE,CAAA;QACvD,eAAe,EAAE,SAAS,aAAa,EAAE,CAAA;KAC1C,CAAA;IACD,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;IAC9B,aAAa,EAAE,SAAS,UAAU,EAAE,CAAA;CACrC;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;CACd;AAED,UAAU,qBAAqB;IAC7B,kBAAkB,EAAE,GAAG,CAAA;IACvB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC;AAED,UAAU,UAAU;IAClB,oBAAoB,EAAE,GAAG,CAAA;IACzB,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,SAAS,UAAU,EAAE,CAAA;CACtC;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;CACd;AAED,KAAK,oBAAoB,GACrB,OAAO,sBAAsB,GAC7B,OAAO,yBAAyB,GAChC,OAAO,gCAAgC,CAAA;AAE3C,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,GAAG,CAAA;CACnB;AAED,UAAU,iBAAiB;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,0BAA0B,EAAE,OAAO,CAAA;IACnC,sBAAsB,EAAE,OAAO,CAAA;IAC/B,cAAc,EAAE,SAAS,UAAU,EAAE,CAAA;IACrC,eAAe,EAAE,WAAW,CAAA;IAC5B,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;CAC/B;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,iBAAiB,CAAA;IAC9B,gBAAgB,EAAE,OAAO,CAAA;IACzB,wBAAwB,EAAE,GAAG,CAAA;IAC7B,IAAI,EAAE,GAAG,CAAA;IACT,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,aAAa,CAAA;CACvB;AAED,UAAU,WAAW;IACnB,qBAAqB,EAAE,SAAS,cAAc,EAAE,CAAA;IAChD,eAAe,EAAE,SAAS,UAAU,EAAE,CAAA;CACvC;AAED,UAAU,cAAc;IACtB,kBAAkB,EAAE,GAAG,CAAA;IACvB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B;AAED,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,iBAAiB,EAAE,WAAW,EAAE,CAAA;IAChC,IAAI,EAAE,mBAAmB,CAAC,OAAO,KAAK,EAAE,mBAAmB,CAAC,CAAA;CAC7D;AAED,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CD,CAAA;AAEV,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAE9C,QAAA,MAAM,sBAAsB,SAAS,CAAA;AACrC,QAAA,MAAM,yBAAyB,SAAS,CAAA;AACxC,QAAA,MAAM,gCAAgC,SAAS,CAAA;AAG/C,QAAA,MAAM,mCAAmC,EAAE,OACG,CAAA;AAC9C,QAAA,MAAM,4CAA4C,EAAE,GAAkB,CAAA;AACtE,QAAA,MAAM,2EAA2E,EAAE,GACrE,CAAA;AAKd,iBAAe,iBAAiB,CAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,cAAc,CAAC,CA2CzB;AAqED,iBAAe,oBAAoB,CACjC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,sBAAsB,EAAE,GAAG,EAC3B,iBAAiB,EAAE;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,GAAG,CAAA;CACnB,EAAE,EACH,oBAAoB,EAAE,MAAM;;;GA8B7B;AAED,iBAAS,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAyBrD;AAED,iBAAS,eAAe,CAAC,OAAO,EAAE,OAAO,iBAyBxC;AAED,iBAAS,wBAAwB,CAC/B,MAAM,EAAE,uBAAuB,GAC9B,MAAM,GAAG,IAAI,CAef;AAED,OAAO,EACL,8BAA8B,EAC9B,mCAAmC,EACnC,4CAA4C,EAC5C,2EAA2E,EAC3E,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,iBAAiB,GAClB,CAAA;AACD,YAAY,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,cAAc,GACf,CAAA"}