@rhinestone/sdk 2.2.5 → 2.3.0
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/README.md +35 -0
- package/dist/src/api/direct-signing.d.ts.map +1 -1
- package/dist/src/api/direct-signing.js +13 -1
- package/dist/src/clients/orchestrator/client.js +1 -1
- package/dist/src/config/account.d.ts +36 -2
- package/dist/src/config/account.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions/erc7739.d.ts +8 -0
- package/dist/src/modules/validators/smart-sessions/erc7739.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/erc7739.js +17 -0
- package/dist/src/modules/validators/smart-sessions/resolve.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions/resolve.js +7 -6
- package/dist/src/modules/validators/smart-sessions/signing.d.ts +8 -0
- package/dist/src/modules/validators/smart-sessions/signing.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/signing.js +146 -0
- package/dist/src/modules/validators/smart-sessions/types.d.ts +19 -1
- package/dist/src/modules/validators/smart-sessions/types.d.ts.map +1 -1
- package/dist/src/signing/protocols/erc7739.d.ts +2 -0
- package/dist/src/signing/protocols/erc7739.d.ts.map +1 -1
- package/dist/src/signing/protocols/erc7739.js +6 -17
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -199,6 +199,41 @@ const session = toSession({
|
|
|
199
199
|
})
|
|
200
200
|
```
|
|
201
201
|
|
|
202
|
+
Smart Session ERC-1271 signing is unrestricted when `signing` is omitted. It
|
|
203
|
+
can be disabled, time-boxed, or scoped to exact EIP-712 domains and schemas:
|
|
204
|
+
|
|
205
|
+
```ts
|
|
206
|
+
const disabled = { mode: 'disabled' } as const
|
|
207
|
+
const timeboxed = {
|
|
208
|
+
mode: 'unrestricted',
|
|
209
|
+
validAfter: new Date(),
|
|
210
|
+
validUntil: new Date(Date.now() + 60 * 60 * 1000),
|
|
211
|
+
} as const
|
|
212
|
+
const scoped = {
|
|
213
|
+
mode: 'scoped',
|
|
214
|
+
allowedContents: [
|
|
215
|
+
{
|
|
216
|
+
domain: {
|
|
217
|
+
name: 'Permit2',
|
|
218
|
+
chainId: base.id,
|
|
219
|
+
verifyingContract: permit2,
|
|
220
|
+
},
|
|
221
|
+
types: {
|
|
222
|
+
Permit: [
|
|
223
|
+
{ name: 'spender', type: 'address' },
|
|
224
|
+
{ name: 'amount', type: 'uint256' },
|
|
225
|
+
],
|
|
226
|
+
},
|
|
227
|
+
primaryType: 'Permit',
|
|
228
|
+
},
|
|
229
|
+
],
|
|
230
|
+
} as const
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
A scoped entry constrains its domain and schema, not message values. Scoped
|
|
234
|
+
configuration can be enabled on-chain, but this SDK intentionally rejects
|
|
235
|
+
scoped direct signing until safe ERC-7739 signature emission is available.
|
|
236
|
+
|
|
202
237
|
For a complete walkthrough, see the [Quickstart guide](https://docs.rhinestone.dev/smart-wallet/quickstart).
|
|
203
238
|
|
|
204
239
|
## Migrating from Orchestrator SDK
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct-signing.d.ts","sourceRoot":"","sources":["../../../api/direct-signing.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,GAAG,EAIR,KAAK,eAAe,EACpB,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"direct-signing.d.ts","sourceRoot":"","sources":["../../../api/direct-signing.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,GAAG,EAIR,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAEzB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAIxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAA;AAa1F,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAA;AAEzB,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAA;IAC5C,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAA;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAA;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAA;CAC5C;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,mBAAmB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GACjE,OAAO,CAAC;IACT,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;CACvC,CAAC,CAwDD;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,mBAAmB,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAA;CAAE,GACvE,OAAO,CAAC;IACT,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;CACvC,CAAC,CA0DD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { encodePacked, hashMessage, hashTypedData, pad, } from 'viem';
|
|
1
|
+
import { encodePacked, hashMessage, hashTypedData, pad, zeroHash, } from 'viem';
|
|
2
2
|
import { wrapKernelMessageHash } from '../accounts/adapters/kernel.js';
|
|
3
3
|
import { defineValidator } from '../modules/validators/definition.js';
|
|
4
4
|
import { getPermissionId } from '../modules/validators/smart-sessions/digest.js';
|
|
@@ -115,6 +115,7 @@ export async function signRuntimeTypedData(input) {
|
|
|
115
115
|
// "notarized" (direct) mode. Used by both message and typed-data signing so
|
|
116
116
|
// they produce the identical on-chain-verifiable shape.
|
|
117
117
|
async function signSessionErc1271(input) {
|
|
118
|
+
assertDirectSessionSigning(input.session);
|
|
118
119
|
const selection = sessionOwnerSelection(input.session);
|
|
119
120
|
const context = createAccountSigningContext({
|
|
120
121
|
runtime: input.runtime,
|
|
@@ -167,6 +168,17 @@ async function signSessionErc1271(input) {
|
|
|
167
168
|
},
|
|
168
169
|
});
|
|
169
170
|
}
|
|
171
|
+
function assertDirectSessionSigning(session) {
|
|
172
|
+
const allowedContents = session.session.erc7739Policies.allowedERC7739Content;
|
|
173
|
+
const allowsDirectSigning = allowedContents.some((content) => content.appDomainSeparator === zeroHash &&
|
|
174
|
+
content.contentNames.includes(''));
|
|
175
|
+
if (allowsDirectSigning)
|
|
176
|
+
return;
|
|
177
|
+
if (allowedContents.length === 0) {
|
|
178
|
+
throw new Error('This Smart Session has signing disabled');
|
|
179
|
+
}
|
|
180
|
+
throw new Error('Scoped Smart Session signing requires safe ERC-7739 emission, which is not available in this SDK');
|
|
181
|
+
}
|
|
170
182
|
function sessionOwnerSelection(session) {
|
|
171
183
|
const validator = defineValidator(session.session.owners, 'smart-session-validator');
|
|
172
184
|
return {
|
|
@@ -3,7 +3,7 @@ import { createOrchestratorAuth } from './auth.js';
|
|
|
3
3
|
import { ChainCatalog, parseChains } from './chain-catalog.js';
|
|
4
4
|
import { fetchOrchestratorJson } from './fetch.js';
|
|
5
5
|
import { mapIntentRequestToWire, mapIntentStatusFromWire, mapPortfolioFromWire, mapQuoteResponseFromWire, mapSignedIntentToWire, mapSplitRequestToWire, mapSplitResultFromWire, } from './mappers.js';
|
|
6
|
-
const SDK_VERSION = '2.
|
|
6
|
+
const SDK_VERSION = '2.3.0';
|
|
7
7
|
const API_VERSION = '2026-04.blanc';
|
|
8
8
|
export function createOrchestratorClient(options) {
|
|
9
9
|
const fetchPort = options.fetch ?? globalThis.fetch;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Abi, AbiFunction, Account, Address, Chain, Hex } from 'viem';
|
|
1
|
+
import type { Abi, AbiFunction, Account, Address, Chain, Hex, TypedData, TypedDataDomain } from 'viem';
|
|
2
2
|
import type { WebAuthnAccount } from 'viem/account-abstraction';
|
|
3
3
|
import type { AccountType } from '../accounts/types.js';
|
|
4
4
|
import type { NonEvmAddress, NonEvmChain } from '../chains/non-evm.js';
|
|
@@ -434,6 +434,35 @@ interface SessionPolicyAddresses {
|
|
|
434
434
|
usageLimit?: Address;
|
|
435
435
|
valueLimit?: Address;
|
|
436
436
|
}
|
|
437
|
+
/** An EIP-712 domain and canonical schema that a scoped session may sign. */
|
|
438
|
+
interface SessionSigningContent {
|
|
439
|
+
/** The exact application domain. Omitted fields are not inferred. */
|
|
440
|
+
domain: TypedDataDomain;
|
|
441
|
+
/** The primary type and every custom type reachable from it. */
|
|
442
|
+
types: TypedData;
|
|
443
|
+
primaryType: string;
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
* ERC-1271 signing capability for a Smart Session.
|
|
447
|
+
*
|
|
448
|
+
* Omitting this field preserves the legacy unrestricted behavior. Scoped
|
|
449
|
+
* signing matches the domain and schema only, not message field values, and
|
|
450
|
+
* uses one validity window for every allowed schema. The production SDK does
|
|
451
|
+
* not yet emit scoped ERC-7739 signatures, so scoped direct signing fails
|
|
452
|
+
* locally until the deployed nested-signing path is remediated.
|
|
453
|
+
*/
|
|
454
|
+
type SessionSigning = {
|
|
455
|
+
mode: 'disabled';
|
|
456
|
+
} | {
|
|
457
|
+
mode: 'unrestricted';
|
|
458
|
+
validAfter?: Date;
|
|
459
|
+
validUntil?: Date;
|
|
460
|
+
} | {
|
|
461
|
+
mode: 'scoped';
|
|
462
|
+
allowedContents: readonly SessionSigningContent[];
|
|
463
|
+
validAfter?: Date;
|
|
464
|
+
validUntil?: Date;
|
|
465
|
+
};
|
|
437
466
|
interface SessionDefinition<TAbis extends readonly Abi[] = readonly Abi[]> {
|
|
438
467
|
chain: Chain;
|
|
439
468
|
owners: OwnerSet;
|
|
@@ -446,6 +475,11 @@ interface SessionDefinition<TAbis extends readonly Abi[] = readonly Abi[]> {
|
|
|
446
475
|
* See {@link CrossChainPermissionInput}.
|
|
447
476
|
*/
|
|
448
477
|
crossChainPermits?: readonly CrossChainPermissionInput[];
|
|
478
|
+
/**
|
|
479
|
+
* Configure ERC-1271 signing. Omission is unrestricted for backwards
|
|
480
|
+
* compatibility; use `disabled` to remove signing capability explicitly.
|
|
481
|
+
*/
|
|
482
|
+
signing?: SessionSigning;
|
|
449
483
|
/**
|
|
450
484
|
* Override one or more SmartSession policy addresses. Defaults to the latest
|
|
451
485
|
* V2 deployments. Use to pin to V1 deployments for an account that already
|
|
@@ -764,5 +798,5 @@ interface UserOperationTransaction {
|
|
|
764
798
|
chain: Chain;
|
|
765
799
|
}
|
|
766
800
|
type Transaction = SameChainTransaction | CrossChainTransaction;
|
|
767
|
-
export type { AccountType, SafeAccount, NexusAccount, KernelAccount, StartaleAccount, HcaAccount, EoaAccount, RhinestoneAccountConfig, RhinestoneSDKConfig, RhinestoneConfig, AccountProviderConfig, ProviderConfig, BundlerConfig, PaymasterConfig, Transaction, UserOperationTransaction, TokenSymbol, CalldataInput, LazyCallInput, CallInput, SourceCallProvidedFunds, SourceCallInput, CallResolveContext, Call, Sponsorship, TokenRequest, TokenRequests, NonEvmTokenRequest, NonEvmTokenRequests, SourceAssetInput, OwnerSet, OwnableValidatorConfig, ENSValidatorConfig, WebauthnValidatorConfig, MultiFactorValidatorConfig, SignerSet, GuardiansSignerSet, Recovery, ChainSessionConfig, SingleSessionSignerSet, PerChainSessionSignerSet, SessionSignerSet, SessionDefinition, SessionInput, SessionEnableData, Session, ModuleType, ModuleInput, Action, ScopedAction, FallbackAction, Permission, PermissionsForAbis, PermissionFunctionConfig, ParamConstraint, ResolvedAction, ResolvedERC7739Content, ResolvedERC7739Policies, ResolvedPolicy, Policy, Permit2ClaimPolicy, CrossChainPermit, CrossChainPermissionInput, FromLeg, ToLeg, CrossChainSettlementLayer, UniversalActionPolicyParamCondition, ArgPolicyExpression, SessionPolicyAddresses, ApiKeyAuth, JwtAuth, AuthConfig, };
|
|
801
|
+
export type { AccountType, SafeAccount, NexusAccount, KernelAccount, StartaleAccount, HcaAccount, EoaAccount, RhinestoneAccountConfig, RhinestoneSDKConfig, RhinestoneConfig, AccountProviderConfig, ProviderConfig, BundlerConfig, PaymasterConfig, Transaction, UserOperationTransaction, TokenSymbol, CalldataInput, LazyCallInput, CallInput, SourceCallProvidedFunds, SourceCallInput, CallResolveContext, Call, Sponsorship, TokenRequest, TokenRequests, NonEvmTokenRequest, NonEvmTokenRequests, SourceAssetInput, OwnerSet, OwnableValidatorConfig, ENSValidatorConfig, WebauthnValidatorConfig, MultiFactorValidatorConfig, SignerSet, GuardiansSignerSet, Recovery, ChainSessionConfig, SingleSessionSignerSet, PerChainSessionSignerSet, SessionSignerSet, SessionDefinition, SessionSigning, SessionSigningContent, SessionInput, SessionEnableData, Session, ModuleType, ModuleInput, Action, ScopedAction, FallbackAction, Permission, PermissionsForAbis, PermissionFunctionConfig, ParamConstraint, ResolvedAction, ResolvedERC7739Content, ResolvedERC7739Policies, ResolvedPolicy, Policy, Permit2ClaimPolicy, CrossChainPermit, CrossChainPermissionInput, FromLeg, ToLeg, CrossChainSettlementLayer, UniversalActionPolicyParamCondition, ArgPolicyExpression, SessionPolicyAddresses, ApiKeyAuth, JwtAuth, AuthConfig, };
|
|
768
802
|
//# sourceMappingURL=account.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../config/account.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../config/account.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { RhinestoneSDK, hyperCorePerp, hyperCoreSpot, solanaMainnet, tronMainnet
|
|
|
8
8
|
export type { RhinestoneAccount, SignedIntentData } from './api/account.js';
|
|
9
9
|
export type { DestinationChain, NonEvmAddress, NonEvmChain, } from './chains/non-evm.js';
|
|
10
10
|
export type { AppFeeBalances, AppFeeRate, ApprovalRequired, AuxiliaryFunds, BridgeFill, ChainOperation, FailureReason, IntentInput, IntentOpStatus, OperationStatus, OriginSignature, Portfolio, ProtocolFeeRate, Quote, SerializedIntentInput, SettlementLayer, SettlementLayerFilter, SignData, SplitIntentsInput, SplitIntentsResult, TokenRequirements, WrapRequired, } from './clients/orchestrator/public.js';
|
|
11
|
-
export type { AccountProviderConfig, AccountType, BundlerConfig, Call, CallInput, ChainSessionConfig, CrossChainPermissionInput, CrossChainPermit, CrossChainSettlementLayer, FromLeg, GuardiansSignerSet, MultiFactorValidatorConfig, NonEvmTokenRequest, NonEvmTokenRequests, OwnableValidatorConfig, OwnerSet, ParamConstraint, PaymasterConfig, Permission, PermissionFunctionConfig, Permit2ClaimPolicy, Policy, ProviderConfig, Recovery, RhinestoneAccountConfig, Session, SessionDefinition, SignerSet, SourceCallInput, SourceCallProvidedFunds, TokenRequest, TokenSymbol, ToLeg, Transaction, UniversalActionPolicyParamCondition, WebauthnValidatorConfig, } from './config/account.js';
|
|
11
|
+
export type { AccountProviderConfig, AccountType, BundlerConfig, Call, CallInput, ChainSessionConfig, CrossChainPermissionInput, CrossChainPermit, CrossChainSettlementLayer, FromLeg, GuardiansSignerSet, MultiFactorValidatorConfig, NonEvmTokenRequest, NonEvmTokenRequests, OwnableValidatorConfig, OwnerSet, ParamConstraint, PaymasterConfig, Permission, PermissionFunctionConfig, Permit2ClaimPolicy, Policy, ProviderConfig, Recovery, RhinestoneAccountConfig, Session, SessionDefinition, SessionSigning, SessionSigningContent, SignerSet, SourceCallInput, SourceCallProvidedFunds, TokenRequest, TokenSymbol, ToLeg, Transaction, UniversalActionPolicyParamCondition, WebauthnValidatorConfig, } from './config/account.js';
|
|
12
12
|
export type { OwnerPasskeySignature, OwnerSignature, OwnerSignatureData, SignAsOwnerOptions, } from './signing/types.js';
|
|
13
13
|
export type { PreparedQuotes, PreparedTransactionData, QuoteSelection, SignedTransactionData, TransactionResult, } from './transactions/intents/types.js';
|
|
14
14
|
export type { PreparedUserOperationData, SignedUserOperationData, UserOperationResult, } from './transactions/user-operations/types.js';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAA;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAE1E,OAAO,EACL,aAAa,EAEb,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EAEX,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,GAC/B,CAAA;AAED,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACxE,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,WAAW,GACZ,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,SAAS,EACT,eAAe,EACf,KAAK,EACL,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,GACb,MAAM,+BAA+B,CAAA;AACtC,YAAY,EACV,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,IAAI,EACJ,SAAS,EACT,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,EACzB,OAAO,EACP,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,eAAe,EACf,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,QAAQ,EACR,uBAAuB,EACvB,OAAO,EACP,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,KAAK,EACL,WAAW,EACX,mCAAmC,EACnC,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sCAAsC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAA;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAE1E,OAAO,EACL,aAAa,EAEb,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EAEX,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,GAC/B,CAAA;AAED,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACxE,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,WAAW,GACZ,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,SAAS,EACT,eAAe,EACf,KAAK,EACL,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,GACb,MAAM,+BAA+B,CAAA;AACtC,YAAY,EACV,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,IAAI,EACJ,SAAS,EACT,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,EACzB,OAAO,EACP,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,eAAe,EACf,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,QAAQ,EACR,uBAAuB,EACvB,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,SAAS,EACT,eAAe,EACf,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,KAAK,EACL,WAAW,EACX,mCAAmC,EACnC,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sCAAsC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erc7739.d.ts","sourceRoot":"","sources":["../../../../../modules/validators/smart-sessions/erc7739.ts"],"names":[],"mappings":"AAAA,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CACtB,MAAM,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAC5E,CAAA;CACF,GAAG,MAAM,CAiBT"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function encodeErc7739ContentType(input) {
|
|
2
|
+
const { primaryType, types } = input;
|
|
3
|
+
const dependencies = new Set();
|
|
4
|
+
const collect = (type) => {
|
|
5
|
+
const typeName = type.match(/^\w*/)?.[0];
|
|
6
|
+
if (!typeName || dependencies.has(typeName) || !types[typeName])
|
|
7
|
+
return;
|
|
8
|
+
dependencies.add(typeName);
|
|
9
|
+
for (const field of types[typeName])
|
|
10
|
+
collect(field.type);
|
|
11
|
+
};
|
|
12
|
+
collect(primaryType);
|
|
13
|
+
dependencies.delete(primaryType);
|
|
14
|
+
return [primaryType, ...[...dependencies].sort()]
|
|
15
|
+
.map((type) => `${type}(${types[type].map((field) => `${field.type} ${field.name}`).join(',')})`)
|
|
16
|
+
.join('');
|
|
17
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../../modules/validators/smart-sessions/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAgC,MAAM,MAAM,CAAA;AAU3E,OAAO,EACL,wBAAwB,EAEzB,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../../modules/validators/smart-sessions/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAgC,MAAM,MAAM,CAAA;AAU3E,OAAO,EACL,wBAAwB,EAEzB,MAAM,sBAAsB,CAAA;AAO7B,OAAO,KAAK,EAEV,OAAO,EAEP,WAAW,EACX,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,mCAAmC,EAAE,OACJ,CAAA;AAC9C,eAAO,MAAM,4CAA4C,EAAE,GAAkB,CAAA;AAC7E,eAAO,MAAM,2EAA2E,EACtF,YAAqB,CAAA;AACvB,eAAO,MAAM,uBAAuB,EAClC,4CAAqD,CAAA;AACvD,eAAO,MAAM,yBAAyB,EAAG,YAAqB,CAAA;AAU9D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,aAAa,CAAA;IAGnD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CACtC;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,iBAAiB,EAC7B,OAAO,GAAE,qBAA0B,GAClC,WAAW,CA0Fb;AAED,wBAAgB,SAAS,CACvB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAyBT;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
|
|
@@ -8,6 +8,7 @@ import { getPermissionIdFromData } from './digest.js';
|
|
|
8
8
|
import { DEFAULT_POLICY_ADDRESSES, resolvePolicyAddresses, } from './policies/addresses.js';
|
|
9
9
|
import { expandCrossChainPermit, resolvePermit2ClaimPolicy, } from './policies/claim.js';
|
|
10
10
|
import { encodeSessionPolicy } from './policies/encode.js';
|
|
11
|
+
import { resolveSessionSigning } from './signing.js';
|
|
11
12
|
export const SMART_SESSIONS_FALLBACK_TARGET_FLAG = '0x0000000000000000000000000000000000000001';
|
|
12
13
|
export const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG = '0x00000001';
|
|
13
14
|
export const SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION = '0x00000002';
|
|
@@ -80,16 +81,16 @@ export function resolveSessionData(definition, options = {}) {
|
|
|
80
81
|
policy: PERMIT2_CLAIM_POLICY_ADDRESS,
|
|
81
82
|
initData: encodePermit2ClaimPolicyInitData(resolvePermit2ClaimPolicy(policy)),
|
|
82
83
|
}));
|
|
84
|
+
const erc7739Policies = resolveSessionSigning({
|
|
85
|
+
signing: definition.signing,
|
|
86
|
+
environment,
|
|
87
|
+
addresses,
|
|
88
|
+
});
|
|
83
89
|
return {
|
|
84
90
|
sessionValidator: validator.address,
|
|
85
91
|
sessionValidatorInitData: validator.initData,
|
|
86
92
|
salt: zeroHash,
|
|
87
|
-
erc7739Policies
|
|
88
|
-
allowedERC7739Content: [
|
|
89
|
-
{ contentNames: [''], appDomainSeparator: zeroHash },
|
|
90
|
-
],
|
|
91
|
-
erc1271Policies: [{ policy: addresses.sudo, initData: '0x' }],
|
|
92
|
-
},
|
|
93
|
+
erc7739Policies,
|
|
93
94
|
actions,
|
|
94
95
|
claimPolicies,
|
|
95
96
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ResolvedPolicyAddresses } from './policies/addresses.js';
|
|
2
|
+
import type { ResolvedERC7739Policies, SessionSigning } from './types.js';
|
|
3
|
+
export declare function resolveSessionSigning(input: {
|
|
4
|
+
readonly signing?: SessionSigning;
|
|
5
|
+
readonly environment: 'production' | 'development';
|
|
6
|
+
readonly addresses: ResolvedPolicyAddresses;
|
|
7
|
+
}): ResolvedERC7739Policies;
|
|
8
|
+
//# sourceMappingURL=signing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["../../../../../modules/validators/smart-sessions/signing.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAEnE,OAAO,KAAK,EACV,uBAAuB,EACvB,cAAc,EAEf,MAAM,SAAS,CAAA;AAYhB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAA;IACjC,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,CAAA;IAClD,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAA;CAC5C,GAAG,uBAAuB,CAyB1B"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { domainSeparator, zeroHash } from 'viem';
|
|
2
|
+
import { FAR_FUTURE_MS } from '../permissions.js';
|
|
3
|
+
import { encodeErc7739ContentType } from './erc7739.js';
|
|
4
|
+
import { encodeSessionPolicy } from './policies/encode.js';
|
|
5
|
+
const UINT48_MAX = 2 ** 48 - 1;
|
|
6
|
+
const DOMAIN_FIELDS = new Set([
|
|
7
|
+
'name',
|
|
8
|
+
'version',
|
|
9
|
+
'chainId',
|
|
10
|
+
'verifyingContract',
|
|
11
|
+
'salt',
|
|
12
|
+
]);
|
|
13
|
+
const IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_]*$/u;
|
|
14
|
+
export function resolveSessionSigning(input) {
|
|
15
|
+
const signing = input.signing ?? { mode: 'unrestricted' };
|
|
16
|
+
if (signing.mode === 'disabled') {
|
|
17
|
+
if ('validAfter' in signing || 'validUntil' in signing) {
|
|
18
|
+
throw new Error('Disabled session signing cannot have a validity window');
|
|
19
|
+
}
|
|
20
|
+
return { allowedERC7739Content: [], erc1271Policies: [] };
|
|
21
|
+
}
|
|
22
|
+
const allowedERC7739Content = signing.mode === 'unrestricted'
|
|
23
|
+
? [{ appDomainSeparator: zeroHash, contentNames: [''] }]
|
|
24
|
+
: resolveAllowedContents(signing.allowedContents);
|
|
25
|
+
return {
|
|
26
|
+
allowedERC7739Content,
|
|
27
|
+
erc1271Policies: [
|
|
28
|
+
resolveSigningPolicy({
|
|
29
|
+
validAfter: signing.validAfter,
|
|
30
|
+
validUntil: signing.validUntil,
|
|
31
|
+
environment: input.environment,
|
|
32
|
+
addresses: input.addresses,
|
|
33
|
+
}),
|
|
34
|
+
],
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function resolveAllowedContents(contents) {
|
|
38
|
+
if (contents.length === 0) {
|
|
39
|
+
throw new Error('Scoped session signing requires at least one allowed content');
|
|
40
|
+
}
|
|
41
|
+
const byDomain = new Map();
|
|
42
|
+
const seen = new Set();
|
|
43
|
+
for (const content of contents) {
|
|
44
|
+
validateContent(content);
|
|
45
|
+
const appDomainSeparator = domainSeparator({ domain: content.domain });
|
|
46
|
+
const contentName = encodeErc7739ContentType({
|
|
47
|
+
primaryType: content.primaryType,
|
|
48
|
+
types: content.types,
|
|
49
|
+
});
|
|
50
|
+
const duplicateKey = `${appDomainSeparator}:${contentName}`;
|
|
51
|
+
if (seen.has(duplicateKey)) {
|
|
52
|
+
throw new Error(`Duplicate scoped signing content for ${content.primaryType} under domain ${appDomainSeparator}`);
|
|
53
|
+
}
|
|
54
|
+
seen.add(duplicateKey);
|
|
55
|
+
const group = byDomain.get(appDomainSeparator);
|
|
56
|
+
if (group)
|
|
57
|
+
group.contentNames.push(contentName);
|
|
58
|
+
else {
|
|
59
|
+
byDomain.set(appDomainSeparator, {
|
|
60
|
+
appDomainSeparator,
|
|
61
|
+
contentNames: [contentName],
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return [...byDomain.values()];
|
|
66
|
+
}
|
|
67
|
+
function validateContent(content) {
|
|
68
|
+
for (const field of Object.keys(content.domain)) {
|
|
69
|
+
if (!DOMAIN_FIELDS.has(field)) {
|
|
70
|
+
throw new Error(`Unsupported EIP-712 domain field "${field}"`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (content.primaryType === 'EIP712Domain') {
|
|
74
|
+
throw new Error('EIP712Domain cannot be a scoped signing primary type');
|
|
75
|
+
}
|
|
76
|
+
if (!content.types[content.primaryType]) {
|
|
77
|
+
throw new Error(`Scoped signing primary type "${content.primaryType}" is missing from types`);
|
|
78
|
+
}
|
|
79
|
+
validateTypeDependencies(content.primaryType, content.types);
|
|
80
|
+
}
|
|
81
|
+
function validateTypeDependencies(primaryType, types) {
|
|
82
|
+
const visited = new Set();
|
|
83
|
+
const visit = (type) => {
|
|
84
|
+
const match = type.match(/^([A-Za-z_][A-Za-z0-9_]*)(\[(?:[1-9][0-9]*)?\])*$/u);
|
|
85
|
+
if (!match) {
|
|
86
|
+
throw new Error(`Scoped signing type "${type}" is not a valid EIP-712 type`);
|
|
87
|
+
}
|
|
88
|
+
const typeName = match[1];
|
|
89
|
+
if (typeName === 'uint' || typeName === 'int') {
|
|
90
|
+
throw new Error(`Scoped signing type "${typeName}" is not a valid EIP-712 type`);
|
|
91
|
+
}
|
|
92
|
+
if (isPrimitiveType(typeName) || visited.has(typeName))
|
|
93
|
+
return;
|
|
94
|
+
const fields = types[typeName];
|
|
95
|
+
if (!fields) {
|
|
96
|
+
throw new Error(`Scoped signing type "${typeName}" is missing from types`);
|
|
97
|
+
}
|
|
98
|
+
visited.add(typeName);
|
|
99
|
+
const fieldNames = new Set();
|
|
100
|
+
for (const field of fields) {
|
|
101
|
+
if (!IDENTIFIER.test(field.name)) {
|
|
102
|
+
throw new Error(`Scoped signing field name "${field.name}" in ${typeName} is invalid`);
|
|
103
|
+
}
|
|
104
|
+
if (fieldNames.has(field.name)) {
|
|
105
|
+
throw new Error(`Scoped signing type "${typeName}" has duplicate field "${field.name}"`);
|
|
106
|
+
}
|
|
107
|
+
fieldNames.add(field.name);
|
|
108
|
+
visit(field.type);
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
visit(primaryType);
|
|
112
|
+
}
|
|
113
|
+
function isPrimitiveType(type) {
|
|
114
|
+
return (type === 'address' ||
|
|
115
|
+
type === 'bool' ||
|
|
116
|
+
type === 'string' ||
|
|
117
|
+
type === 'bytes' ||
|
|
118
|
+
/^bytes([1-9]|[12][0-9]|3[0-2])$/u.test(type) ||
|
|
119
|
+
/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)$/u.test(type));
|
|
120
|
+
}
|
|
121
|
+
function resolveSigningPolicy(input) {
|
|
122
|
+
if (input.validAfter === undefined && input.validUntil === undefined) {
|
|
123
|
+
return encodeSessionPolicy({ type: 'sudo' }, input.environment, input.addresses);
|
|
124
|
+
}
|
|
125
|
+
const validAfter = dateSeconds(input.validAfter ?? new Date(0), 'validAfter');
|
|
126
|
+
const validUntil = dateSeconds(input.validUntil ?? new Date(FAR_FUTURE_MS), 'validUntil');
|
|
127
|
+
if (validUntil < validAfter) {
|
|
128
|
+
throw new Error('Session signing validUntil is before validAfter');
|
|
129
|
+
}
|
|
130
|
+
return encodeSessionPolicy({
|
|
131
|
+
type: 'time-frame',
|
|
132
|
+
validAfter: validAfter * 1000,
|
|
133
|
+
validUntil: validUntil * 1000,
|
|
134
|
+
}, input.environment, input.addresses);
|
|
135
|
+
}
|
|
136
|
+
function dateSeconds(date, field) {
|
|
137
|
+
const milliseconds = date.getTime();
|
|
138
|
+
if (!Number.isFinite(milliseconds)) {
|
|
139
|
+
throw new Error(`Session signing ${field} must be a valid Date`);
|
|
140
|
+
}
|
|
141
|
+
const seconds = Math.floor(milliseconds / 1000);
|
|
142
|
+
if (seconds < 0 || seconds > UINT48_MAX) {
|
|
143
|
+
throw new Error(`Session signing ${field} is outside the uint48 range`);
|
|
144
|
+
}
|
|
145
|
+
return seconds;
|
|
146
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Abi, AbiFunction, Address, Chain, Hex, TypedDataDefinition } from 'viem';
|
|
1
|
+
import type { Abi, AbiFunction, Address, Chain, Hex, TypedData, TypedDataDefinition, TypedDataDomain } from 'viem';
|
|
2
2
|
import type { OwnerSet } from '../types.js';
|
|
3
3
|
export type UniversalActionPolicyParamCondition = 'equal' | 'greaterThan' | 'lessThan' | 'greaterThanOrEqual' | 'lessThanOrEqual' | 'notEqual' | 'inRange';
|
|
4
4
|
export interface UniversalActionPolicyParamRule {
|
|
@@ -155,12 +155,30 @@ export interface Permit2ClaimPolicy {
|
|
|
155
155
|
max?: bigint;
|
|
156
156
|
}[];
|
|
157
157
|
}
|
|
158
|
+
export interface SessionSigningContent {
|
|
159
|
+
readonly domain: TypedDataDomain;
|
|
160
|
+
readonly types: TypedData;
|
|
161
|
+
readonly primaryType: string;
|
|
162
|
+
}
|
|
163
|
+
export type SessionSigning = {
|
|
164
|
+
readonly mode: 'disabled';
|
|
165
|
+
} | {
|
|
166
|
+
readonly mode: 'unrestricted';
|
|
167
|
+
readonly validAfter?: Date;
|
|
168
|
+
readonly validUntil?: Date;
|
|
169
|
+
} | {
|
|
170
|
+
readonly mode: 'scoped';
|
|
171
|
+
readonly allowedContents: readonly SessionSigningContent[];
|
|
172
|
+
readonly validAfter?: Date;
|
|
173
|
+
readonly validUntil?: Date;
|
|
174
|
+
};
|
|
158
175
|
export interface SessionDefinition {
|
|
159
176
|
chain: Chain;
|
|
160
177
|
owners: OwnerSet;
|
|
161
178
|
permissions?: Permission[];
|
|
162
179
|
claimPolicies?: Permit2ClaimPolicy[];
|
|
163
180
|
crossChainPermits?: CrossChainPermissionInput[];
|
|
181
|
+
signing?: SessionSigning;
|
|
164
182
|
policyAddresses?: SessionPolicyAddresses;
|
|
165
183
|
}
|
|
166
184
|
export interface ResolvedPolicy {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../modules/validators/smart-sessions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,GAAG,EACH,WAAW,EACX,OAAO,EACP,KAAK,EACL,GAAG,EACH,mBAAmB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../modules/validators/smart-sessions/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type Address, type Hex, type TypedDataDefinition } from 'viem';
|
|
2
|
+
import { encodeErc7739ContentType } from '../../modules/validators/smart-sessions/erc7739.js';
|
|
3
|
+
export { encodeErc7739ContentType };
|
|
2
4
|
export interface Erc7739VerifierDomain {
|
|
3
5
|
readonly name: string;
|
|
4
6
|
readonly version: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc7739.d.ts","sourceRoot":"","sources":["../../../../signing/protocols/erc7739.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,GAAG,EAKR,KAAK,mBAAmB,EAGzB,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"erc7739.d.ts","sourceRoot":"","sources":["../../../../signing/protocols/erc7739.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,GAAG,EAKR,KAAK,mBAAmB,EAGzB,MAAM,MAAM,CAAA;AAEb,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AAE1F,OAAO,EAAE,wBAAwB,EAAE,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;CACnB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAA;IACvC,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAA;CAC/C,GAAG,GAAG,CA2DN;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAA;IACvC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAA;CACxB,GAAG,GAAG,CASN"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { concat, encodeAbiParameters, hashDomain, hashStruct, keccak256, toHex, } from 'viem';
|
|
2
2
|
import { wrapTypedDataSignature } from 'viem/experimental/erc7739';
|
|
3
|
+
import { encodeErc7739ContentType } from '../../modules/validators/smart-sessions/erc7739.js';
|
|
4
|
+
export { encodeErc7739ContentType };
|
|
3
5
|
export function hashErc7739TypedData(input) {
|
|
4
6
|
const { domain, types, primaryType, message } = input.typedData;
|
|
5
7
|
if (!domain || !primaryType) {
|
|
6
8
|
throw new Error('ERC-7739 requires a complete typed-data definition');
|
|
7
9
|
}
|
|
8
10
|
const typeFields = types;
|
|
9
|
-
const contentsType =
|
|
11
|
+
const contentsType = encodeErc7739ContentType({
|
|
12
|
+
primaryType,
|
|
13
|
+
types: typeFields,
|
|
14
|
+
});
|
|
10
15
|
const typedDataSignTypeHash = keccak256(toHex(`TypedDataSign(${primaryType} contents,string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)${contentsType}`));
|
|
11
16
|
const contentsHash = hashStruct({
|
|
12
17
|
data: message,
|
|
@@ -59,19 +64,3 @@ export function wrapErc7739TypedDataSignature(input) {
|
|
|
59
64
|
signature: input.signature,
|
|
60
65
|
});
|
|
61
66
|
}
|
|
62
|
-
function encodeType(primaryType, types) {
|
|
63
|
-
const dependencies = new Set();
|
|
64
|
-
const collect = (type) => {
|
|
65
|
-
const typeName = type.match(/^\w*/)?.[0];
|
|
66
|
-
if (!typeName || dependencies.has(typeName) || !types[typeName])
|
|
67
|
-
return;
|
|
68
|
-
dependencies.add(typeName);
|
|
69
|
-
for (const field of types[typeName])
|
|
70
|
-
collect(field.type);
|
|
71
|
-
};
|
|
72
|
-
collect(primaryType);
|
|
73
|
-
dependencies.delete(primaryType);
|
|
74
|
-
return [primaryType, ...[...dependencies].sort()]
|
|
75
|
-
.map((type) => `${type}(${types[type].map((field) => `${field.type} ${field.name}`).join(',')})`)
|
|
76
|
-
.join('');
|
|
77
|
-
}
|