@account-kit/wallet-client 0.1.0-alpha.8 → 0.1.0-alpha.9
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/esm/capabilities/index.d.ts +3 -0
- package/dist/esm/capabilities/index.js +2 -0
- package/dist/esm/capabilities/index.js.map +1 -1
- package/dist/esm/capabilities/multiDimensionalNonce.d.ts +3 -0
- package/dist/esm/capabilities/multiDimensionalNonce.js +7 -0
- package/dist/esm/capabilities/multiDimensionalNonce.js.map +1 -0
- package/dist/esm/client/actions/signPreparedCalls.js +26 -37
- package/dist/esm/client/actions/signPreparedCalls.js.map +1 -1
- package/dist/esm/exports/internal.d.ts +1 -0
- package/dist/esm/exports/internal.js +1 -0
- package/dist/esm/exports/internal.js.map +1 -1
- package/dist/esm/isomorphic/actions/createSession.js +9 -3
- package/dist/esm/isomorphic/actions/createSession.js.map +1 -1
- package/dist/esm/isomorphic/actions/prepareCalls.js +19 -4
- package/dist/esm/isomorphic/actions/prepareCalls.js.map +1 -1
- package/dist/esm/isomorphic/actions/sendPreparedCalls.js +13 -4
- package/dist/esm/isomorphic/actions/sendPreparedCalls.js.map +1 -1
- package/dist/esm/isomorphic/utils/7702.d.ts +6 -1
- package/dist/esm/isomorphic/utils/7702.js +5 -4
- package/dist/esm/isomorphic/utils/7702.js.map +1 -1
- package/dist/esm/isomorphic/utils/createAccount.d.ts +1 -0
- package/dist/esm/isomorphic/utils/createAccount.js +25 -3
- package/dist/esm/isomorphic/utils/createAccount.js.map +1 -1
- package/dist/esm/rpc/request.d.ts +46 -2
- package/dist/esm/rpc/request.js +1 -0
- package/dist/esm/rpc/request.js.map +1 -1
- package/dist/esm/rpc/schema.d.ts +46 -2
- package/dist/esm/schemas.d.ts +23 -4
- package/dist/esm/schemas.js +46 -2
- package/dist/esm/schemas.js.map +1 -1
- package/dist/esm/utils.d.ts +1 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist/types/capabilities/index.d.ts +3 -0
- package/dist/types/capabilities/index.d.ts.map +1 -1
- package/dist/types/capabilities/multiDimensionalNonce.d.ts +4 -0
- package/dist/types/capabilities/multiDimensionalNonce.d.ts.map +1 -0
- package/dist/types/client/actions/signPreparedCalls.d.ts.map +1 -1
- package/dist/types/exports/internal.d.ts +1 -0
- package/dist/types/exports/internal.d.ts.map +1 -1
- package/dist/types/isomorphic/actions/createSession.d.ts.map +1 -1
- package/dist/types/isomorphic/actions/prepareCalls.d.ts.map +1 -1
- package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts.map +1 -1
- package/dist/types/isomorphic/utils/7702.d.ts +6 -1
- package/dist/types/isomorphic/utils/7702.d.ts.map +1 -1
- package/dist/types/isomorphic/utils/createAccount.d.ts +1 -0
- package/dist/types/isomorphic/utils/createAccount.d.ts.map +1 -1
- package/dist/types/rpc/request.d.ts +46 -2
- package/dist/types/rpc/request.d.ts.map +1 -1
- package/dist/types/rpc/schema.d.ts +46 -2
- package/dist/types/rpc/schema.d.ts.map +1 -1
- package/dist/types/schemas.d.ts +23 -4
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/utils.d.ts +1 -0
- package/dist/types/utils.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/capabilities/index.ts +2 -0
- package/src/capabilities/multiDimensionalNonce.ts +7 -0
- package/src/client/actions/signPreparedCalls.ts +42 -43
- package/src/exports/internal.ts +1 -0
- package/src/isomorphic/actions/createSession.ts +11 -3
- package/src/isomorphic/actions/prepareCalls.ts +27 -9
- package/src/isomorphic/actions/sendPreparedCalls.ts +14 -4
- package/src/isomorphic/utils/7702.ts +16 -5
- package/src/isomorphic/utils/createAccount.ts +35 -2
- package/src/rpc/request.ts +1 -0
- package/src/schemas.ts +77 -5
- package/src/utils.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAccount.js","sourceRoot":"","sources":["../../../../src/isomorphic/utils/createAccount.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"createAccount.js","sourceRoot":"","sources":["../../../../src/isomorphic/utils/createAccount.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SmartAccountSigner, SmartContractAccount } from \"@aa-sdk/core\";\nimport {\n createLightAccount,\n createModularAccountV2,\n createMultiOwnerLightAccount,\n createMultiOwnerModularAccount,\n type ModularAccountV2,\n} from \"@account-kit/smart-contracts\";\nimport type { StaticDecode } from \"@sinclair/typebox\";\nimport type { Address, Chain, Transport } from \"viem\";\nimport { concatHex, hexToBigInt, hexToNumber, zeroAddress } from \"viem\";\nimport type { TypeSerializedInitcode } from \"../../schemas.js\";\nimport { parsePermissionsContext } from \"./parsePermissionsContext.js\";\nimport { assertNever } from \"../../utils.js\";\nimport { getAccountTypeForDelegationAddress7702 } from \"./7702.js\";\nimport { PermissionsCapability } from \"../../capabilities/permissions/index.js\";\nimport { InternalError, InvalidRequestError } from \"ox/RpcResponse\";\n\ntype CreateAccountParams = {\n chain: Chain;\n transport: Transport;\n signer: SmartAccountSigner;\n accountAddress: Address;\n counterfactualInfo?: StaticDecode<typeof TypeSerializedInitcode>; // undefined for 7702 accounts\n permissions?: StaticDecode<typeof PermissionsCapability>;\n delegation?: Address;\n};\n\n/**\n * Creates a smart account instance from the given parameters.\n * @param params - The parameters for creating a smart account.\n * @returns A promise that resolves to the created smart account.\n */\nexport async function createAccount(\n params: CreateAccountParams,\n): Promise<SmartContractAccount> {\n const { counterfactualInfo: ci, ...accountParams } = params;\n\n // This throws if we pass a permission context and the account is not MA-v2\n // TODO: test that this edge case is handled correctly\n const parsedContext = parsePermissionsContext(\n params.permissions,\n ci,\n params.delegation,\n );\n\n const signerEntity =\n parsedContext?.contextVersion === \"NON_DEFERRED_ACTION\"\n ? {\n entityId: hexToNumber(parsedContext.entityId),\n isGlobalValidation: parsedContext.isGlobalValidation,\n }\n : undefined;\n\n const mode = params.delegation ? \"7702\" : \"default\";\n\n if (mode === \"7702\") {\n const accountType = getAccountTypeForDelegationAddress7702(\n params.delegation!,\n );\n if (accountType !== \"ModularAccountV2\") {\n throw new Error(\"7702 mode currently only supports ModularAccountV2\");\n }\n return createModularAccountV2({\n ...accountParams,\n signerEntity,\n deferredAction: parsedContext?.deferredAction,\n mode,\n });\n }\n\n if (mode !== \"default\") {\n return assertNever(mode, \"Unexpected mode in createAccount\");\n }\n\n // At this point, we are guaranteed to be in default mode, where ci\n // (counterfactualInfo) must be defined\n\n if (!ci) {\n throw new InternalError({\n message: \"Counterfactual info not found\",\n });\n }\n\n const factoryType = ci.factoryType;\n const commonParams = {\n ...accountParams,\n initCode: concatHex([ci.factoryAddress, ci.factoryData]),\n };\n\n // Return the account created based on the factory type\n switch (factoryType) {\n case \"MAv2.0.0-sma-b\":\n return createModularAccountV2({\n ...commonParams,\n signerEntity,\n deferredAction: parsedContext?.deferredAction,\n mode,\n });\n case \"LightAccountV2.0.0\":\n return createLightAccount({\n ...commonParams,\n version: \"v2.0.0\",\n });\n case \"LightAccountV1.0.1\":\n return createLightAccount({\n ...commonParams,\n version: \"v1.0.1\",\n });\n case \"LightAccountV1.0.2\":\n return createLightAccount({\n ...commonParams,\n version: \"v1.0.2\",\n });\n case \"LightAccountV1.1.0\":\n return createLightAccount({\n ...commonParams,\n version: \"v1.1.0\",\n });\n case \"MAv1.0.0-MultiOwner\":\n return createMultiOwnerModularAccount({\n ...commonParams,\n });\n case \"LightAccountV2.0.0-MultiOwner\":\n return createMultiOwnerLightAccount({\n ...commonParams,\n version: \"v2.0.0\",\n });\n case \"MAv1.0.0-MultiSig\":\n case \"MAv2.0.0-ma-ssv\":\n case \"MAv2.0.0-ma-webauthn\":\n case \"unknown\":\n case undefined:\n throw new InvalidRequestError({\n message: `Account type currently unsupported: ${factoryType}`,\n });\n default:\n return assertNever(factoryType, \"Unsupported factory type\");\n }\n}\n\nexport function isModularAccountV2(\n account: SmartContractAccount,\n): account is ModularAccountV2 {\n return account.source === \"ModularAccountV2\";\n}\n\n// Performs basic checks on the initialOwners array and returns a new array with the signer address added if not present.\n// Pulled from MAv1 support in Account Kit.\nexport function prepareInitialOwners(\n initialOwners: Address[],\n signerAddress: Address,\n): Address[] {\n const preparedOwners = Array.from(\n new Set([...initialOwners, signerAddress]),\n ).sort((a, b) => {\n const bigintA = hexToBigInt(a);\n const bigintB = hexToBigInt(b);\n\n return bigintA < bigintB ? -1 : bigintA > bigintB ? 1 : 0;\n });\n\n if (preparedOwners.some((x) => x === zeroAddress)) {\n throw new InvalidRequestError({\n message: \"Initial owners cannot contain the zero address\",\n });\n }\n\n return preparedOwners;\n}\n"]}
|
|
@@ -262,6 +262,9 @@ export declare const wallet_prepareCalls: import("@sinclair/typebox").TObject<{
|
|
|
262
262
|
account: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
263
263
|
delegation: import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TLiteral<"0x69007702764179f14F51cdce752f4f775d74E139"> | import("@sinclair/typebox").TLiteral<"ModularAccountV2">)[]>;
|
|
264
264
|
}>, import("@sinclair/typebox").TLiteral<true>]>>;
|
|
265
|
+
nonceOverride: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
266
|
+
nonceKey: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
267
|
+
}>>;
|
|
265
268
|
}>>;
|
|
266
269
|
}>]>;
|
|
267
270
|
}>;
|
|
@@ -528,8 +531,28 @@ export declare const wallet_requestAccount: import("@sinclair/typebox").TObject<
|
|
|
528
531
|
signerAddress: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
529
532
|
id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
530
533
|
creationHint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
531
|
-
accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").
|
|
534
|
+
accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"sma-b">>;
|
|
535
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
536
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
537
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v2">;
|
|
538
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
539
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
540
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v2-multi-owner">;
|
|
541
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
542
|
+
initialOwners: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>>;
|
|
543
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
544
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v1.0.1">;
|
|
545
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
546
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
547
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v1.0.2">;
|
|
548
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
549
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
550
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v1.1.0">;
|
|
551
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
552
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
553
|
+
accountType: import("@sinclair/typebox").TLiteral<"ma-v1-multi-owner">;
|
|
532
554
|
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
555
|
+
initialOwners: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>>;
|
|
533
556
|
}>, import("@sinclair/typebox").TObject<{
|
|
534
557
|
accountType: import("@sinclair/typebox").TLiteral<"7702">;
|
|
535
558
|
}>]>>;
|
|
@@ -557,8 +580,28 @@ export declare const wallet_createAccount: import("@sinclair/typebox").TObject<{
|
|
|
557
580
|
signerAddress: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
558
581
|
id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
559
582
|
creationOptions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
560
|
-
accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").
|
|
583
|
+
accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"sma-b">>;
|
|
561
584
|
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
585
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
586
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v2">;
|
|
587
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
588
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
589
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v2-multi-owner">;
|
|
590
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
591
|
+
initialOwners: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>>;
|
|
592
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
593
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v1.0.1">;
|
|
594
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
595
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
596
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v1.0.2">;
|
|
597
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
598
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
599
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v1.1.0">;
|
|
600
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
601
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
602
|
+
accountType: import("@sinclair/typebox").TLiteral<"ma-v1-multi-owner">;
|
|
603
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
604
|
+
initialOwners: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>>;
|
|
562
605
|
}>, import("@sinclair/typebox").TObject<{
|
|
563
606
|
accountType: import("@sinclair/typebox").TLiteral<"7702">;
|
|
564
607
|
}>]>>;
|
|
@@ -646,6 +689,7 @@ export declare const wallet_createSession: import("@sinclair/typebox").TObject<{
|
|
|
646
689
|
}>;
|
|
647
690
|
ReturnType: import("@sinclair/typebox").TObject<{
|
|
648
691
|
sessionId: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
692
|
+
chainId: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
649
693
|
signatureRequest: import("@sinclair/typebox").TObject<{
|
|
650
694
|
type: import("@sinclair/typebox").TLiteral<"eth_signTypedData_v4">;
|
|
651
695
|
data: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TObject<{
|
package/dist/esm/rpc/request.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/rpc/request.ts"],"names":[],"mappings":"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","sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { Capabilities } from \"../capabilities/index.js\";\nimport {\n PermissionsContext,\n PermissionsData,\n RemotePermission,\n} from \"../capabilities/permissions/index.js\";\nimport {\n TypeCallArray,\n TypePrepareCall_UserOpV060_Signed,\n TypePrepareCall_UserOpV070_Signed,\n PreparedCall_Authorization,\n PreparedCall_UserOpV060,\n PreparedCall_UserOpV070,\n TypeAddress,\n TypeBase64UrlEncodedString,\n TypeCreationOptions,\n TypeHex,\n TypeSerializedInitcode,\n TypeTypedDataSignatureRequest,\n TypeUuid,\n} from \"../schemas.js\";\nimport { Examples } from \"./examples.js\";\n\nexport const wallet_sendPreparedCalls = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_sendPreparedCalls\"),\n params: Type.Tuple([\n Type.Intersect([\n Type.Union([\n TypeCallArray,\n TypePrepareCall_UserOpV060_Signed,\n TypePrepareCall_UserOpV070_Signed,\n ]),\n Type.Object({\n capabilities: Type.Optional(\n Type.Object({\n permissions: Type.Optional(\n Type.Union([PermissionsContext, RemotePermission]),\n ),\n }),\n ),\n }),\n ]),\n ]),\n }),\n ReturnType: Type.Object({\n preparedCallIds: Type.Array(TypeHex()),\n }),\n },\n {\n description:\n \"This method is used after signing the signatureRequest returned from prepareCalls to submit a user operation\",\n examples: Examples.SendPreparedCalls,\n },\n);\n\nexport const wallet_prepareCalls = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_prepareCalls\"),\n params: Type.Tuple([\n Type.Object({\n calls: Type.Array(\n Type.Object({\n to: TypeAddress,\n data: Type.Optional(TypeHex()),\n value: Type.Optional(TypeHex()),\n }),\n ),\n from: TypeAddress,\n chainId: TypeHex(),\n capabilities: Type.Optional(Capabilities),\n }),\n ]),\n }),\n ReturnType: Type.Union([\n Type.Object(\n {\n type: Type.Literal(\"array\"),\n data: Type.Array(\n Type.Union([\n PreparedCall_UserOpV060,\n PreparedCall_UserOpV070,\n PreparedCall_Authorization,\n ]),\n ),\n },\n { description: \"Array of prepared calls\" },\n ),\n PreparedCall_UserOpV060,\n PreparedCall_UserOpV070,\n ]),\n },\n {\n description:\n \"This method is used to prepare a user operation for submission. It will return a built user operation and a signature request which needs to be signed by the user before submitting to wallet_sendPreparedCalls\",\n examples: Examples.PrepareCalls,\n },\n);\n\nexport const wallet_requestAccount = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_requestAccount\"),\n params: Type.Tuple([\n Type.Union([\n Type.Object(\n {\n signerAddress: TypeAddress,\n id: Type.Optional(TypeUuid),\n creationHint: TypeCreationOptions,\n includeCounterfactualInfo: Type.Optional(\n Type.Boolean({ default: false }),\n ),\n },\n {\n description: \"Using signer address\",\n },\n ),\n Type.Object(\n {\n accountAddress: TypeAddress,\n includeCounterfactualInfo: Type.Optional(\n Type.Boolean({ default: false }),\n ),\n },\n {\n description: \"Using smart contract account address\",\n },\n ),\n ]),\n ]),\n }),\n ReturnType: Type.Object({\n accountAddress: TypeAddress,\n id: TypeUuid,\n counterfactualInfo: Type.Optional(TypeSerializedInitcode),\n delegation: Type.Optional(TypeAddress),\n }),\n },\n {\n description: `This method is used to get the smart account address and relevant info for a given signer. If an account does not already exist for a given signer, this method will create one before returning the counterfactual address.`,\n examples: Examples.RequestAccount,\n },\n);\n\nexport const wallet_createAccount = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_createAccount\"),\n params: Type.Tuple([\n Type.Object({\n signerAddress: TypeAddress,\n id: Type.Optional(TypeUuid),\n creationOptions: TypeCreationOptions,\n }),\n ]),\n }),\n ReturnType: Type.Object({\n accountAddress: TypeAddress,\n id: TypeUuid,\n }),\n },\n {\n description: `This method is used to create a smart account for a given signer. This method is primarly used to import existing accounts. For most cases, you should use wallet_requestAccount instead.`,\n examples: Examples.CreateAccount,\n },\n);\n\nexport const wallet_listAccounts = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_listAccounts\"),\n params: Type.Tuple([\n Type.Object({\n signerAddress: TypeAddress,\n limit: Type.Optional(\n Type.Number({ minimum: 1, maximum: 100, default: 100 }),\n ),\n after: Type.Optional(TypeBase64UrlEncodedString),\n }),\n ]),\n }),\n ReturnType: Type.Object({\n accounts: Type.Array(\n Type.Object({\n accountAddress: TypeAddress,\n id: TypeUuid,\n }),\n ),\n meta: Type.Object({\n totalCount: Type.Integer(),\n after: Type.Union([TypeBase64UrlEncodedString, Type.Null()]),\n }),\n }),\n },\n {\n description:\n \"This method is used to list all smart accounts for a given signer.\",\n examples: Examples.ListAccounts,\n },\n);\n\nexport const wallet_createSession = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_createSession\"),\n params: Type.Tuple([\n Type.Intersect([\n PermissionsData,\n Type.Object({\n account: TypeAddress,\n }),\n ]),\n ]),\n }),\n ReturnType: Type.Object({\n sessionId: TypeHex(),\n signatureRequest: TypeTypedDataSignatureRequest,\n }),\n },\n {\n description:\n \"This method is used to create a session for a given address with specified permissions.\",\n examples: Examples.CreateSession,\n },\n);\n\nexport const wallet_getCallsStatus = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_getCallsStatus\"),\n params: Type.Tuple([\n TypeHex({\n description: \"The call ID returned from wallet_sendPreparedCalls\",\n }),\n ]),\n }),\n ReturnType: Type.Object({\n id: TypeHex(),\n chainId: TypeHex(),\n atomic: Type.Boolean(),\n status: Type.Union([\n Type.Literal(100, {\n title: \"Pending\",\n description:\n \"Batch has been received by the wallet but has not completed execution onchain\",\n }),\n Type.Literal(200, {\n title: \"Confirmed\",\n description:\n \"Batch has been included onchain without reverts, receipts array contains info of all calls\",\n }),\n Type.Literal(400, {\n title: \"Offchain Failure\",\n description:\n \"Batch has not been included onchain and wallet will not retry\",\n }),\n Type.Literal(500, {\n title: \"Onchain Failure\",\n description:\n \"Batch reverted *completely* and only changes related to gas charge may have been included onchain\",\n }),\n Type.Literal(600, {\n title: \"Partial Onchain Failure\",\n description:\n \"Batch reverted *partially* and some changes related to batch calls may have been included onchain\",\n }),\n ]),\n receipts: Type.Optional(\n Type.Array(\n Type.Object({\n logs: Type.Array(\n Type.Object({\n address: TypeAddress,\n data: TypeHex(),\n topics: Type.Array(TypeHex()),\n }),\n ),\n status: TypeHex({\n description: \"0x1 for success, 0x0 for failure\",\n }),\n blockHash: TypeHex(),\n blockNumber: TypeHex(),\n gasUsed: TypeHex(),\n transactionHash: TypeHex(),\n }),\n ),\n ),\n }),\n },\n {\n description:\n \"This method is used to get the status of calls IDs returned from wallet_sendPreparedCalls.\",\n examples: Examples.GetCallsStatus,\n },\n);\n"]}
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/rpc/request.ts"],"names":[],"mappings":"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","sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { Capabilities } from \"../capabilities/index.js\";\nimport {\n PermissionsContext,\n PermissionsData,\n RemotePermission,\n} from \"../capabilities/permissions/index.js\";\nimport {\n TypeCallArray,\n TypePrepareCall_UserOpV060_Signed,\n TypePrepareCall_UserOpV070_Signed,\n PreparedCall_Authorization,\n PreparedCall_UserOpV060,\n PreparedCall_UserOpV070,\n TypeAddress,\n TypeBase64UrlEncodedString,\n TypeCreationOptions,\n TypeHex,\n TypeSerializedInitcode,\n TypeTypedDataSignatureRequest,\n TypeUuid,\n} from \"../schemas.js\";\nimport { Examples } from \"./examples.js\";\n\nexport const wallet_sendPreparedCalls = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_sendPreparedCalls\"),\n params: Type.Tuple([\n Type.Intersect([\n Type.Union([\n TypeCallArray,\n TypePrepareCall_UserOpV060_Signed,\n TypePrepareCall_UserOpV070_Signed,\n ]),\n Type.Object({\n capabilities: Type.Optional(\n Type.Object({\n permissions: Type.Optional(\n Type.Union([PermissionsContext, RemotePermission]),\n ),\n }),\n ),\n }),\n ]),\n ]),\n }),\n ReturnType: Type.Object({\n preparedCallIds: Type.Array(TypeHex()),\n }),\n },\n {\n description:\n \"This method is used after signing the signatureRequest returned from prepareCalls to submit a user operation\",\n examples: Examples.SendPreparedCalls,\n },\n);\n\nexport const wallet_prepareCalls = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_prepareCalls\"),\n params: Type.Tuple([\n Type.Object({\n calls: Type.Array(\n Type.Object({\n to: TypeAddress,\n data: Type.Optional(TypeHex()),\n value: Type.Optional(TypeHex()),\n }),\n ),\n from: TypeAddress,\n chainId: TypeHex(),\n capabilities: Type.Optional(Capabilities),\n }),\n ]),\n }),\n ReturnType: Type.Union([\n Type.Object(\n {\n type: Type.Literal(\"array\"),\n data: Type.Array(\n Type.Union([\n PreparedCall_UserOpV060,\n PreparedCall_UserOpV070,\n PreparedCall_Authorization,\n ]),\n ),\n },\n { description: \"Array of prepared calls\" },\n ),\n PreparedCall_UserOpV060,\n PreparedCall_UserOpV070,\n ]),\n },\n {\n description:\n \"This method is used to prepare a user operation for submission. It will return a built user operation and a signature request which needs to be signed by the user before submitting to wallet_sendPreparedCalls\",\n examples: Examples.PrepareCalls,\n },\n);\n\nexport const wallet_requestAccount = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_requestAccount\"),\n params: Type.Tuple([\n Type.Union([\n Type.Object(\n {\n signerAddress: TypeAddress,\n id: Type.Optional(TypeUuid),\n creationHint: TypeCreationOptions,\n includeCounterfactualInfo: Type.Optional(\n Type.Boolean({ default: false }),\n ),\n },\n {\n description: \"Using signer address\",\n },\n ),\n Type.Object(\n {\n accountAddress: TypeAddress,\n includeCounterfactualInfo: Type.Optional(\n Type.Boolean({ default: false }),\n ),\n },\n {\n description: \"Using smart contract account address\",\n },\n ),\n ]),\n ]),\n }),\n ReturnType: Type.Object({\n accountAddress: TypeAddress,\n id: TypeUuid,\n counterfactualInfo: Type.Optional(TypeSerializedInitcode),\n delegation: Type.Optional(TypeAddress),\n }),\n },\n {\n description: `This method is used to get the smart account address and relevant info for a given signer. If an account does not already exist for a given signer, this method will create one before returning the counterfactual address.`,\n examples: Examples.RequestAccount,\n },\n);\n\nexport const wallet_createAccount = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_createAccount\"),\n params: Type.Tuple([\n Type.Object({\n signerAddress: TypeAddress,\n id: Type.Optional(TypeUuid),\n creationOptions: TypeCreationOptions,\n }),\n ]),\n }),\n ReturnType: Type.Object({\n accountAddress: TypeAddress,\n id: TypeUuid,\n }),\n },\n {\n description: `This method is used to create a smart account for a given signer. This method is primarly used to import existing accounts. For most cases, you should use wallet_requestAccount instead.`,\n examples: Examples.CreateAccount,\n },\n);\n\nexport const wallet_listAccounts = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_listAccounts\"),\n params: Type.Tuple([\n Type.Object({\n signerAddress: TypeAddress,\n limit: Type.Optional(\n Type.Number({ minimum: 1, maximum: 100, default: 100 }),\n ),\n after: Type.Optional(TypeBase64UrlEncodedString),\n }),\n ]),\n }),\n ReturnType: Type.Object({\n accounts: Type.Array(\n Type.Object({\n accountAddress: TypeAddress,\n id: TypeUuid,\n }),\n ),\n meta: Type.Object({\n totalCount: Type.Integer(),\n after: Type.Union([TypeBase64UrlEncodedString, Type.Null()]),\n }),\n }),\n },\n {\n description:\n \"This method is used to list all smart accounts for a given signer.\",\n examples: Examples.ListAccounts,\n },\n);\n\nexport const wallet_createSession = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_createSession\"),\n params: Type.Tuple([\n Type.Intersect([\n PermissionsData,\n Type.Object({\n account: TypeAddress,\n }),\n ]),\n ]),\n }),\n ReturnType: Type.Object({\n sessionId: TypeHex(),\n chainId: TypeHex(),\n signatureRequest: TypeTypedDataSignatureRequest,\n }),\n },\n {\n description:\n \"This method is used to create a session for a given address with specified permissions.\",\n examples: Examples.CreateSession,\n },\n);\n\nexport const wallet_getCallsStatus = Type.Object(\n {\n Request: Type.Object({\n method: Type.Literal(\"wallet_getCallsStatus\"),\n params: Type.Tuple([\n TypeHex({\n description: \"The call ID returned from wallet_sendPreparedCalls\",\n }),\n ]),\n }),\n ReturnType: Type.Object({\n id: TypeHex(),\n chainId: TypeHex(),\n atomic: Type.Boolean(),\n status: Type.Union([\n Type.Literal(100, {\n title: \"Pending\",\n description:\n \"Batch has been received by the wallet but has not completed execution onchain\",\n }),\n Type.Literal(200, {\n title: \"Confirmed\",\n description:\n \"Batch has been included onchain without reverts, receipts array contains info of all calls\",\n }),\n Type.Literal(400, {\n title: \"Offchain Failure\",\n description:\n \"Batch has not been included onchain and wallet will not retry\",\n }),\n Type.Literal(500, {\n title: \"Onchain Failure\",\n description:\n \"Batch reverted *completely* and only changes related to gas charge may have been included onchain\",\n }),\n Type.Literal(600, {\n title: \"Partial Onchain Failure\",\n description:\n \"Batch reverted *partially* and some changes related to batch calls may have been included onchain\",\n }),\n ]),\n receipts: Type.Optional(\n Type.Array(\n Type.Object({\n logs: Type.Array(\n Type.Object({\n address: TypeAddress,\n data: TypeHex(),\n topics: Type.Array(TypeHex()),\n }),\n ),\n status: TypeHex({\n description: \"0x1 for success, 0x0 for failure\",\n }),\n blockHash: TypeHex(),\n blockNumber: TypeHex(),\n gasUsed: TypeHex(),\n transactionHash: TypeHex(),\n }),\n ),\n ),\n }),\n },\n {\n description:\n \"This method is used to get the status of calls IDs returned from wallet_sendPreparedCalls.\",\n examples: Examples.GetCallsStatus,\n },\n);\n"]}
|
package/dist/esm/rpc/schema.d.ts
CHANGED
|
@@ -38,6 +38,9 @@ export declare const WalletServerRpcSchema: {
|
|
|
38
38
|
multiplier: number;
|
|
39
39
|
} | undefined;
|
|
40
40
|
} | undefined;
|
|
41
|
+
nonceOverride?: {
|
|
42
|
+
nonceKey: `0x${string}`;
|
|
43
|
+
} | undefined;
|
|
41
44
|
} | undefined;
|
|
42
45
|
chainId: `0x${string}`;
|
|
43
46
|
calls: {
|
|
@@ -469,7 +472,27 @@ export declare const WalletServerRpcSchema: {
|
|
|
469
472
|
id?: string | undefined;
|
|
470
473
|
creationOptions?: {
|
|
471
474
|
salt?: `0x${string}` | undefined;
|
|
472
|
-
accountType?: "sma-b" |
|
|
475
|
+
accountType?: "sma-b" | undefined;
|
|
476
|
+
} | {
|
|
477
|
+
salt?: `0x${string}` | undefined;
|
|
478
|
+
accountType: "la-v2";
|
|
479
|
+
} | {
|
|
480
|
+
salt?: `0x${string}` | undefined;
|
|
481
|
+
initialOwners?: `0x${string}`[] | undefined;
|
|
482
|
+
accountType: "la-v2-multi-owner";
|
|
483
|
+
} | {
|
|
484
|
+
salt?: `0x${string}` | undefined;
|
|
485
|
+
accountType: "la-v1.0.1";
|
|
486
|
+
} | {
|
|
487
|
+
salt?: `0x${string}` | undefined;
|
|
488
|
+
accountType: "la-v1.0.2";
|
|
489
|
+
} | {
|
|
490
|
+
salt?: `0x${string}` | undefined;
|
|
491
|
+
accountType: "la-v1.1.0";
|
|
492
|
+
} | {
|
|
493
|
+
salt?: `0x${string}` | undefined;
|
|
494
|
+
initialOwners?: `0x${string}`[] | undefined;
|
|
495
|
+
accountType: "ma-v1-multi-owner";
|
|
473
496
|
} | {
|
|
474
497
|
accountType: "7702";
|
|
475
498
|
} | undefined;
|
|
@@ -487,7 +510,27 @@ export declare const WalletServerRpcSchema: {
|
|
|
487
510
|
id?: string | undefined;
|
|
488
511
|
creationHint?: {
|
|
489
512
|
salt?: `0x${string}` | undefined;
|
|
490
|
-
accountType?: "sma-b" |
|
|
513
|
+
accountType?: "sma-b" | undefined;
|
|
514
|
+
} | {
|
|
515
|
+
salt?: `0x${string}` | undefined;
|
|
516
|
+
accountType: "la-v2";
|
|
517
|
+
} | {
|
|
518
|
+
salt?: `0x${string}` | undefined;
|
|
519
|
+
initialOwners?: `0x${string}`[] | undefined;
|
|
520
|
+
accountType: "la-v2-multi-owner";
|
|
521
|
+
} | {
|
|
522
|
+
salt?: `0x${string}` | undefined;
|
|
523
|
+
accountType: "la-v1.0.1";
|
|
524
|
+
} | {
|
|
525
|
+
salt?: `0x${string}` | undefined;
|
|
526
|
+
accountType: "la-v1.0.2";
|
|
527
|
+
} | {
|
|
528
|
+
salt?: `0x${string}` | undefined;
|
|
529
|
+
accountType: "la-v1.1.0";
|
|
530
|
+
} | {
|
|
531
|
+
salt?: `0x${string}` | undefined;
|
|
532
|
+
initialOwners?: `0x${string}`[] | undefined;
|
|
533
|
+
accountType: "ma-v1-multi-owner";
|
|
491
534
|
} | {
|
|
492
535
|
accountType: "7702";
|
|
493
536
|
} | undefined;
|
|
@@ -584,6 +627,7 @@ export declare const WalletServerRpcSchema: {
|
|
|
584
627
|
method: "wallet_createSession";
|
|
585
628
|
};
|
|
586
629
|
ReturnType: {
|
|
630
|
+
chainId: `0x${string}`;
|
|
587
631
|
signatureRequest: {
|
|
588
632
|
type: "eth_signTypedData_v4";
|
|
589
633
|
data: {
|
package/dist/esm/schemas.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type SchemaOptions, type Static } from "@sinclair/typebox";
|
|
2
|
-
export declare const baseAccountTypes: readonly ["sma-b", "la-v2", "la-v1.0.1", "la-v1.0.2", "la-v1.1.0"];
|
|
2
|
+
export declare const baseAccountTypes: readonly ["sma-b", "la-v2", "la-v2-multi-owner", "la-v1.0.1", "la-v1.0.2", "la-v1.1.0", "ma-v1-multi-owner"];
|
|
3
3
|
export type BaseAccountType = (typeof baseAccountTypes)[number];
|
|
4
|
-
export declare const accountTypes: readonly ["sma-b", "la-v2", "la-v1.0.1", "la-v1.0.2", "la-v1.1.0", "7702"];
|
|
4
|
+
export declare const accountTypes: readonly ["sma-b", "la-v2", "la-v2-multi-owner", "la-v1.0.1", "la-v1.0.2", "la-v1.1.0", "ma-v1-multi-owner", "7702"];
|
|
5
5
|
export type AccountType = (typeof accountTypes)[number];
|
|
6
6
|
export declare const TypeHex: (options?: SchemaOptions) => import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
7
7
|
export declare const TypeAddress: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
@@ -145,13 +145,32 @@ export declare const TypeCounterfactualInfo: import("@sinclair/typebox").TInters
|
|
|
145
145
|
}>]>]>;
|
|
146
146
|
export type TypeCounterfactualInfo = Static<typeof TypeCounterfactualInfo>;
|
|
147
147
|
export declare const TypeCreationOptions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
148
|
-
accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").
|
|
148
|
+
accountType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<"sma-b">>;
|
|
149
149
|
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
150
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
151
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v2">;
|
|
152
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
153
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
154
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v2-multi-owner">;
|
|
155
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
156
|
+
initialOwners: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>>;
|
|
157
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
158
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v1.0.1">;
|
|
159
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
160
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
161
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v1.0.2">;
|
|
162
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
163
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
164
|
+
accountType: import("@sinclair/typebox").TLiteral<"la-v1.1.0">;
|
|
165
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
166
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
167
|
+
accountType: import("@sinclair/typebox").TLiteral<"ma-v1-multi-owner">;
|
|
168
|
+
salt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
169
|
+
initialOwners: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>>;
|
|
150
170
|
}>, import("@sinclair/typebox").TObject<{
|
|
151
171
|
accountType: import("@sinclair/typebox").TLiteral<"7702">;
|
|
152
172
|
}>]>>;
|
|
153
173
|
export type TypeCreationOptions = Static<typeof TypeCreationOptions>;
|
|
154
|
-
export type TypeAccountType = Exclude<Static<typeof TypeCreationOptions>, undefined>["accountType"];
|
|
155
174
|
export declare const TypeSignatureType: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"secp256k1">, import("@sinclair/typebox").TLiteral<"ecdsa">, import("@sinclair/typebox").TLiteral<"contract">]>;
|
|
156
175
|
export type TypeSignatureType = Static<typeof TypeSignatureType>;
|
|
157
176
|
export declare const KeySigner: import("@sinclair/typebox").TObject<{
|
package/dist/esm/schemas.js
CHANGED
|
@@ -8,9 +8,11 @@ FormatRegistry.Set("base64url", (value) => BASE_64_URL_REGEX.test(value));
|
|
|
8
8
|
export const baseAccountTypes = [
|
|
9
9
|
"sma-b",
|
|
10
10
|
"la-v2",
|
|
11
|
+
"la-v2-multi-owner",
|
|
11
12
|
"la-v1.0.1",
|
|
12
13
|
"la-v1.0.2",
|
|
13
14
|
"la-v1.1.0",
|
|
15
|
+
"ma-v1-multi-owner",
|
|
14
16
|
];
|
|
15
17
|
export const accountTypes = [...baseAccountTypes, "7702"];
|
|
16
18
|
export const TypeHex = (options) => Type.TemplateLiteral("0x${string}", {
|
|
@@ -215,10 +217,52 @@ export const TypeCounterfactualInfo = Type.Intersect([
|
|
|
215
217
|
export const TypeCreationOptions = Type.Optional(Type.Union([
|
|
216
218
|
Type.Object({
|
|
217
219
|
// Optional b/c `sma-b` is the default if no accountType is specified.
|
|
218
|
-
accountType: Type.Optional(Type.
|
|
220
|
+
accountType: Type.Optional(Type.Literal("sma-b")),
|
|
219
221
|
salt: Type.Optional(TypeHex()),
|
|
220
222
|
}, {
|
|
221
|
-
description: "SMA-B account type",
|
|
223
|
+
description: "Modular Account V2 SMA-B account type",
|
|
224
|
+
}),
|
|
225
|
+
Type.Object({
|
|
226
|
+
accountType: Type.Literal("la-v2"),
|
|
227
|
+
salt: Type.Optional(TypeHex()),
|
|
228
|
+
}, {
|
|
229
|
+
description: "Light Account V2 account type",
|
|
230
|
+
}),
|
|
231
|
+
Type.Object({
|
|
232
|
+
accountType: Type.Literal("la-v2-multi-owner"),
|
|
233
|
+
salt: Type.Optional(TypeHex()),
|
|
234
|
+
initialOwners: Type.Optional(Type.Array(TypeAddress, {
|
|
235
|
+
description: "The initial owners of the account. The signer address will be implicitly added if not specified in this list.",
|
|
236
|
+
})),
|
|
237
|
+
}, {
|
|
238
|
+
description: "Light Account V2 Multi-Owner account type",
|
|
239
|
+
}),
|
|
240
|
+
Type.Object({
|
|
241
|
+
accountType: Type.Literal("la-v1.0.1"),
|
|
242
|
+
salt: Type.Optional(TypeHex()),
|
|
243
|
+
}, {
|
|
244
|
+
description: "Light Account V1.0.1 account type",
|
|
245
|
+
}),
|
|
246
|
+
Type.Object({
|
|
247
|
+
accountType: Type.Literal("la-v1.0.2"),
|
|
248
|
+
salt: Type.Optional(TypeHex()),
|
|
249
|
+
}, {
|
|
250
|
+
description: "Light Account V1.0.2 account type",
|
|
251
|
+
}),
|
|
252
|
+
Type.Object({
|
|
253
|
+
accountType: Type.Literal("la-v1.1.0"),
|
|
254
|
+
salt: Type.Optional(TypeHex()),
|
|
255
|
+
}, {
|
|
256
|
+
description: "Light Account V1.1.0 account type",
|
|
257
|
+
}),
|
|
258
|
+
Type.Object({
|
|
259
|
+
accountType: Type.Literal("ma-v1-multi-owner"),
|
|
260
|
+
salt: Type.Optional(TypeHex()),
|
|
261
|
+
initialOwners: Type.Optional(Type.Array(TypeAddress, {
|
|
262
|
+
description: "The initial owners of the account. The signer address will be implicitly added if not specified in this list.",
|
|
263
|
+
})),
|
|
264
|
+
}, {
|
|
265
|
+
description: "Modular Account V1 Multi-Owner account type",
|
|
222
266
|
}),
|
|
223
267
|
Type.Object({
|
|
224
268
|
accountType: Type.Literal("7702"),
|
package/dist/esm/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FormatRegistry,\n Type,\n type SchemaOptions,\n type Static,\n} from \"@sinclair/typebox\";\nimport { yParityToV } from \"ox/Signature\";\nimport {\n toHex,\n slice,\n pad,\n concat,\n hexToBigInt,\n serializeSignature,\n hexToNumber,\n parseSignature,\n numberToHex,\n} from \"viem\";\n\nconst UUID_V4_REGEX =\n /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\nFormatRegistry.Set(\"uuid\", (value) => UUID_V4_REGEX.test(value));\n\nconst BASE_64_URL_REGEX = /^[A-Za-z0-9_-]+$/; // Matches base64url encoded strings (without padding)\nFormatRegistry.Set(\"base64url\", (value) => BASE_64_URL_REGEX.test(value));\n\nexport const baseAccountTypes = [\n \"sma-b\",\n \"la-v2\",\n \"la-v1.0.1\",\n \"la-v1.0.2\",\n \"la-v1.1.0\",\n] as const;\n\nexport type BaseAccountType = (typeof baseAccountTypes)[number];\n\nexport const accountTypes = [...baseAccountTypes, \"7702\"] as const;\n\nexport type AccountType = (typeof accountTypes)[number];\n\nexport const TypeHex = (options?: SchemaOptions) =>\n Type.TemplateLiteral(\"0x${string}\", {\n ...options,\n });\n\nexport const TypeAddress = Type.TemplateLiteral(\"0x${string}\", {});\n\nexport const TypeUuid = Type.String({\n format: \"uuid\",\n});\n\nexport const TypeBase64UrlEncodedString = Type.String({\n format: \"base64url\",\n});\n\n// BigInt is not json-serializable, so it must be encoded as a string.\nexport const TypeU256 = Type.Transform(Type.String({}))\n .Decode((value) => BigInt(value))\n .Encode((value) => toHex(value));\n\nexport const TypeU32 = Type.Transform(Type.String({}))\n .Decode((value) => Number.parseInt(value, 16))\n .Encode((value) => toHex(value));\n\nexport const TypeUserOperationRequest_v6 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n initCode: Type.Union([\n TypeHex({\n description: \"Present\",\n }),\n Type.Literal(\"0x\", {\n description: \"Absent\",\n }),\n ]),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymasterAndData: Type.Union([\n TypeHex({\n description: \"Present\",\n }),\n Type.Literal(\"0x\", {\n description: \"Absent\",\n }),\n ]),\n signature: TypeHex(),\n});\n\nexport const TypeUserOperationRequest_v7 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n factory: Type.Optional(TypeAddress),\n factoryData: Type.Optional(TypeHex()),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymaster: Type.Optional(TypeAddress),\n paymasterData: Type.Optional(TypeHex()),\n paymasterVerificationGasLimit: Type.Optional(TypeHex()),\n paymasterPostOpGasLimit: Type.Optional(TypeHex()),\n signature: TypeHex(),\n});\n\nexport const TypeEip7702UnsignedAuth = Type.Object({\n chainId: TypeHex(),\n address: TypeAddress,\n nonce: TypeHex(),\n});\n\nexport const TypeEip7702SignedAuth = Type.Intersect([\n TypeEip7702UnsignedAuth,\n Type.Object({\n r: TypeHex(),\n s: TypeHex(),\n yParity: TypeHex(),\n }),\n]);\n\nexport const TypeWebAuthnPublicKey = Type.Object({\n x: TypeU256,\n y: TypeU256,\n});\n\nexport const TypePersistedInitcode = Type.Object({\n factoryAddress: TypeAddress,\n initcode: Type.Union([\n Type.Object(\n {\n factoryType: Type.Literal(\"unknown\", {\n description: \"Unknown factory type\",\n }),\n factoryData: TypeHex({}),\n },\n {\n description: \"Unknown factory type\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV2.0.0\"),\n Type.Literal(\"LightAccountV1.1.0\"),\n Type.Literal(\"LightAccountV1.0.2\"),\n Type.Literal(\"LightAccountV1.0.1\"),\n ]),\n salt: TypeU256,\n initialOwner: TypeAddress,\n },\n {\n description: \"Light Account\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Union([\n Type.Literal(\"MAv1.0.0-MultiOwner\"),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\"),\n ]),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n },\n {\n description: \"Multi-Owner Modular Account\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Literal(\"MAv1.0.0-MultiSig\"),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n threshold: TypeU256,\n },\n {\n description: \"Multi-Sig Modular Account\",\n },\n ),\n Type.Intersect([\n Type.Object({\n factoryType: Type.Literal(\"MAv2.0.0\"),\n salt: TypeU256,\n }),\n Type.Union([\n Type.Object(\n {\n mav2type: Type.Literal(\"ma-ssv\"),\n initialOwner: TypeAddress,\n entityId: TypeU32,\n },\n {\n description: \"Modular Account V2 SSV\",\n },\n ),\n Type.Object(\n {\n mav2type: Type.Literal(\"sma-b\"),\n initialOwner: TypeAddress,\n },\n {\n description: \"Modular Account V2 SMA-B\",\n },\n ),\n Type.Object(\n {\n mav2type: Type.Literal(\"ma-webauthn\"),\n initialOwner: TypeWebAuthnPublicKey,\n entityId: TypeU32,\n },\n {\n description: \"Modular Account V2 WebAuthn\",\n },\n ),\n ]),\n ]),\n ]),\n});\n\nexport const TypeSerializedInitcode = Type.Object({\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV1.0.1\", { description: \"Light Account v1.0.1\" }),\n Type.Literal(\"LightAccountV1.0.2\", { description: \"Light Account v1.0.2\" }),\n Type.Literal(\"LightAccountV1.1.0\", { description: \"Light Account v1.1.0\" }),\n Type.Literal(\"LightAccountV2.0.0\", { description: \"Light Account v2.0.0\" }),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\", {\n description: \"Light Account v2.0.0 MultiOwner\",\n }),\n Type.Literal(\"MAv1.0.0-MultiOwner\", {\n description: \"Modular Account v1.0.0 MultiOwner\",\n }),\n Type.Literal(\"MAv1.0.0-MultiSig\", {\n description: \"Modular Account v1.0.0 MultiSig\",\n }),\n Type.Literal(\"MAv2.0.0-sma-b\", {\n description: \"Modular Account v2.0.0 SMA-B\",\n }),\n Type.Literal(\"MAv2.0.0-ma-ssv\", {\n description: \"Modular Account v2.0.0 SSV\",\n }),\n Type.Literal(\"MAv2.0.0-ma-webauthn\", {\n description: \"Modular Account v2.0.0 WebAuthn\",\n }),\n Type.Literal(\"unknown\", { description: \"Unknown factory type\" }),\n ]),\n factoryAddress: TypeAddress,\n factoryData: TypeHex({}),\n});\n\nexport const TypeCounterfactualInfo = Type.Intersect([\n Type.Object({\n accountAddress: TypeAddress,\n }),\n Type.Union([\n Type.Intersect(\n [\n Type.Object({\n type: Type.Literal(\"sca\"),\n }),\n TypePersistedInitcode,\n ],\n {\n description: \"Smart Contract Account\",\n },\n ),\n Type.Object(\n {\n type: Type.Literal(\"7702\"),\n implementationAddress: TypeAddress,\n },\n {\n description: \"7702 Account\",\n },\n ),\n ]),\n]);\nexport type TypeCounterfactualInfo = Static<typeof TypeCounterfactualInfo>;\n\nexport const TypeCreationOptions = Type.Optional(\n Type.Union([\n Type.Object(\n {\n // Optional b/c `sma-b` is the default if no accountType is specified.\n accountType: Type.Optional(\n Type.Union(baseAccountTypes.map((lit) => Type.Literal(lit))),\n ),\n salt: Type.Optional(TypeHex()),\n },\n {\n description: \"SMA-B account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"7702\"),\n // TODO: Add support for specifying a delegation address.\n // Currently we only support delegating to MAv2, and it's important\n // that wallet applications maintain a strict shortlist of well-known\n // accounts: https://github.com/ethereum/ERCs/pull/947/files#diff-dab085f963ca621595044bcbc0922705aa38b69f5bf8770dcb3d0496a633efcfR189\n // delegation: TypeAddress,\n },\n {\n description: \"7702 account type\",\n },\n ),\n ]),\n);\nexport type TypeCreationOptions = Static<typeof TypeCreationOptions>;\n\nexport type TypeAccountType = Exclude<\n Static<typeof TypeCreationOptions>,\n undefined\n>[\"accountType\"];\n\nexport const TypeSignatureType = Type.Union([\n Type.Literal(\"secp256k1\", { description: \"Secp256k1\" }),\n Type.Literal(\"ecdsa\", { description: \"ECDSA (alias for secp256k1)\" }),\n Type.Literal(\"contract\", { description: \"Contract\" }),\n]);\nexport type TypeSignatureType = Static<typeof TypeSignatureType>;\n\nexport const KeySigner = Type.Object({\n type: TypeSignatureType,\n publicKey: TypeHex({}),\n});\nexport type KeySigner = Static<typeof KeySigner>;\n\nexport const TTypedDataDefinition = Type.Transform(\n Type.Object({\n domain: Type.Optional(\n Type.Object({\n chainId: Type.Optional(Type.Integer()),\n name: Type.Optional(Type.String()),\n salt: Type.Optional(TypeHex()),\n verifyingContract: Type.Optional(TypeAddress),\n version: Type.Optional(Type.String()),\n }),\n ),\n types: Type.Record(\n Type.String(),\n Type.Array(\n Type.Object({\n name: Type.String(),\n type: Type.String(),\n }),\n ),\n ),\n primaryType: Type.String(),\n message: Type.Record(Type.String(), Type.Unknown()),\n }),\n)\n // No-op b/c Viem is happy w/ the encoded version too.\n .Decode((it) => it)\n // Encode the TypedDataDefinition into our json-serialized format.\n .Encode(({ domain, types, primaryType, message }) => {\n return {\n domain: {\n ...domain,\n chainId:\n typeof domain?.chainId === \"bigint\"\n ? Number(domain.chainId)\n : domain?.chainId,\n },\n types,\n primaryType,\n message: JSON.parse(\n JSON.stringify(message, (_, v) =>\n typeof v === \"bigint\" ? toHex(v) : v,\n ),\n ),\n };\n });\n\nexport const TypePersonalSignSignatureRequest = Type.Object(\n {\n type: Type.Literal(\"personal_sign\"),\n data: Type.Union([\n Type.String({ minLength: 1, description: \"Message\" }),\n Type.Object(\n {\n raw: TypeHex(),\n },\n { description: \"Raw message\" },\n ),\n ]),\n rawPayload: TypeHex(),\n },\n { description: \"Personal sign\" },\n);\n\nexport const TypeTypedDataSignatureRequest = Type.Object(\n {\n type: Type.Literal(\"eth_signTypedData_v4\"),\n data: TTypedDataDefinition,\n rawPayload: TypeHex(),\n },\n {\n description: \"Typed data\",\n },\n);\n\nexport const TypeAuthorizationSignatureRequest = Type.Object({\n type: Type.Literal(\"eip7702Auth\"),\n rawPayload: TypeHex(),\n});\n\nexport const TypeSignatureRequest = Type.Union([\n TypePersonalSignSignatureRequest,\n TypeTypedDataSignatureRequest,\n TypeAuthorizationSignatureRequest,\n]);\n\nexport const TypeCallId = Type.Transform(TypeHex())\n .Decode((value) => {\n return {\n chainId: toHex(hexToBigInt(slice(value, 0, 32))),\n hash: slice(value, 32),\n };\n })\n .Encode(({ chainId, hash }) => {\n const chainIdPadded = pad(chainId, { size: 32 });\n return concat([chainIdPadded, hash]);\n });\n\nexport const PreparedCall_UserOpV060 = Type.Object(\n {\n type: Type.Literal(\"user-operation-v060\", {\n description: \"User Operation (Entrypoint v0.6.0)\",\n }),\n data: Type.Omit(TypeUserOperationRequest_v6, [\"signature\"], {\n description: \"Unsigned User Operation (Entrypoint v0.6.0)\",\n }),\n chainId: TypeHex(),\n signatureRequest: Type.Union([\n TypePersonalSignSignatureRequest,\n TypeTypedDataSignatureRequest,\n ]),\n },\n {\n description: \"Prepared User Operation (Entrypoint v0.6.0)\",\n },\n);\n\nexport const PreparedCall_UserOpV070 = Type.Object(\n {\n type: Type.Literal(\"user-operation-v070\", {\n description: \"User Operation (Entrypoint v0.7.0)\",\n }),\n data: Type.Omit(TypeUserOperationRequest_v7, [\"signature\"], {\n description: \"Unsigned User Operation (Entrypoint v0.7.0)\",\n }),\n chainId: TypeHex(),\n signatureRequest: Type.Union([\n TypePersonalSignSignatureRequest,\n TypeTypedDataSignatureRequest,\n ]),\n },\n {\n description: \"Prepared User Operation (Entrypoint v0.7.0)\",\n },\n);\n\nexport const PreparedCall_Authorization = Type.Object(\n {\n type: Type.Literal(\"authorization\", {\n description: \"EIP-7702 Authorization Request\",\n }),\n data: Type.Omit(TypeEip7702UnsignedAuth, [\"chainId\"]),\n chainId: TypeHex(),\n signatureRequest: TypeAuthorizationSignatureRequest,\n },\n {\n description: \"Prepared EIP-7702 Authorization\",\n },\n);\n\nexport const TypeEdcsaSigData = Type.Union([\n TypeHex({\n description: \"Hex-encoded signature\",\n }),\n Type.Transform(\n Type.Object(\n {\n r: TypeHex(),\n s: TypeHex(),\n yParity: TypeHex(),\n },\n { description: \"r, s, yParity\" },\n ),\n )\n .Decode((sig) =>\n serializeSignature({ ...sig, yParity: hexToNumber(sig.yParity) }),\n )\n .Encode((hex) => {\n const parsed = parseSignature(hex);\n return {\n ...parsed,\n yParity: numberToHex(parsed.yParity),\n };\n }),\n Type.Transform(\n Type.Object(\n {\n r: TypeHex(),\n s: TypeHex(),\n v: TypeHex(),\n },\n {\n description: \"r, s, v\",\n },\n ),\n )\n .Decode((sig) => serializeSignature({ ...sig, v: hexToBigInt(sig.v) }))\n .Encode((hex) => {\n const parsed = parseSignature(hex);\n return {\n ...parsed,\n v: numberToHex(yParityToV(parsed.yParity)),\n };\n }),\n]);\n\nexport const TypeEcdsaSig = Type.Object({\n signature: Type.Union([\n Type.Object(\n {\n type: Type.Literal(\"secp256k1\"),\n data: TypeEdcsaSigData,\n },\n {\n description: \"Secp256k1 signature\",\n },\n ),\n Type.Object(\n {\n type: Type.Literal(\"ecdsa\"),\n data: TypeEdcsaSigData,\n },\n {\n description: \"ECDSA signature (alias for secp256k1)\",\n },\n ),\n ]),\n});\n\nexport const TypePrepareCall_UserOpV060_Signed = Type.Intersect(\n [Type.Omit(PreparedCall_UserOpV060, [\"signatureRequest\"]), TypeEcdsaSig],\n {\n description: \"Prepared User Operation (Entrypoint v0.6.0) with signature\",\n },\n);\n\nexport const TypePrepareCall_UserOpV070_Signed = Type.Intersect(\n [Type.Omit(PreparedCall_UserOpV070, [\"signatureRequest\"]), TypeEcdsaSig],\n {\n description: \"Prepared User Operation (Entrypoint v0.7.0) with signature\",\n },\n);\n\nexport const TypePrepareCall_Authorization_Signed = Type.Intersect(\n [Type.Omit(PreparedCall_Authorization, [\"signatureRequest\"]), TypeEcdsaSig],\n {\n description: \"Prepared EIP-7702 Authorization with signature\",\n },\n);\n\nexport const TypeCallArray = Type.Object(\n {\n type: Type.Literal(\"array\"),\n data: Type.Array(\n Type.Union([\n TypePrepareCall_UserOpV060_Signed,\n TypePrepareCall_UserOpV070_Signed,\n TypePrepareCall_Authorization_Signed,\n ]),\n ),\n },\n {\n description: \"Array of prepared calls with signatures\",\n },\n);\n"]}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FormatRegistry,\n Type,\n type SchemaOptions,\n type Static,\n} from \"@sinclair/typebox\";\nimport { yParityToV } from \"ox/Signature\";\nimport {\n toHex,\n slice,\n pad,\n concat,\n hexToBigInt,\n serializeSignature,\n hexToNumber,\n parseSignature,\n numberToHex,\n} from \"viem\";\nimport type { Expect } from \"./utils.ts\";\n\nconst UUID_V4_REGEX =\n /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\nFormatRegistry.Set(\"uuid\", (value) => UUID_V4_REGEX.test(value));\n\nconst BASE_64_URL_REGEX = /^[A-Za-z0-9_-]+$/; // Matches base64url encoded strings (without padding)\nFormatRegistry.Set(\"base64url\", (value) => BASE_64_URL_REGEX.test(value));\n\nexport const baseAccountTypes = [\n \"sma-b\",\n \"la-v2\",\n \"la-v2-multi-owner\",\n \"la-v1.0.1\",\n \"la-v1.0.2\",\n \"la-v1.1.0\",\n \"ma-v1-multi-owner\",\n] as const;\n\nexport type BaseAccountType = (typeof baseAccountTypes)[number];\n\nexport const accountTypes = [...baseAccountTypes, \"7702\"] as const;\n\nexport type AccountType = (typeof accountTypes)[number];\n\nexport const TypeHex = (options?: SchemaOptions) =>\n Type.TemplateLiteral(\"0x${string}\", {\n ...options,\n });\n\nexport const TypeAddress = Type.TemplateLiteral(\"0x${string}\", {});\n\nexport const TypeUuid = Type.String({\n format: \"uuid\",\n});\n\nexport const TypeBase64UrlEncodedString = Type.String({\n format: \"base64url\",\n});\n\n// BigInt is not json-serializable, so it must be encoded as a string.\nexport const TypeU256 = Type.Transform(Type.String({}))\n .Decode((value) => BigInt(value))\n .Encode((value) => toHex(value));\n\nexport const TypeU32 = Type.Transform(Type.String({}))\n .Decode((value) => Number.parseInt(value, 16))\n .Encode((value) => toHex(value));\n\nexport const TypeUserOperationRequest_v6 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n initCode: Type.Union([\n TypeHex({\n description: \"Present\",\n }),\n Type.Literal(\"0x\", {\n description: \"Absent\",\n }),\n ]),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymasterAndData: Type.Union([\n TypeHex({\n description: \"Present\",\n }),\n Type.Literal(\"0x\", {\n description: \"Absent\",\n }),\n ]),\n signature: TypeHex(),\n});\n\nexport const TypeUserOperationRequest_v7 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n factory: Type.Optional(TypeAddress),\n factoryData: Type.Optional(TypeHex()),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymaster: Type.Optional(TypeAddress),\n paymasterData: Type.Optional(TypeHex()),\n paymasterVerificationGasLimit: Type.Optional(TypeHex()),\n paymasterPostOpGasLimit: Type.Optional(TypeHex()),\n signature: TypeHex(),\n});\n\nexport const TypeEip7702UnsignedAuth = Type.Object({\n chainId: TypeHex(),\n address: TypeAddress,\n nonce: TypeHex(),\n});\n\nexport const TypeEip7702SignedAuth = Type.Intersect([\n TypeEip7702UnsignedAuth,\n Type.Object({\n r: TypeHex(),\n s: TypeHex(),\n yParity: TypeHex(),\n }),\n]);\n\nexport const TypeWebAuthnPublicKey = Type.Object({\n x: TypeU256,\n y: TypeU256,\n});\n\nexport const TypePersistedInitcode = Type.Object({\n factoryAddress: TypeAddress,\n initcode: Type.Union([\n Type.Object(\n {\n factoryType: Type.Literal(\"unknown\", {\n description: \"Unknown factory type\",\n }),\n factoryData: TypeHex({}),\n },\n {\n description: \"Unknown factory type\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV2.0.0\"),\n Type.Literal(\"LightAccountV1.1.0\"),\n Type.Literal(\"LightAccountV1.0.2\"),\n Type.Literal(\"LightAccountV1.0.1\"),\n ]),\n salt: TypeU256,\n initialOwner: TypeAddress,\n },\n {\n description: \"Light Account\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Union([\n Type.Literal(\"MAv1.0.0-MultiOwner\"),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\"),\n ]),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n },\n {\n description: \"Multi-Owner Modular Account\",\n },\n ),\n Type.Object(\n {\n factoryType: Type.Literal(\"MAv1.0.0-MultiSig\"),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n threshold: TypeU256,\n },\n {\n description: \"Multi-Sig Modular Account\",\n },\n ),\n Type.Intersect([\n Type.Object({\n factoryType: Type.Literal(\"MAv2.0.0\"),\n salt: TypeU256,\n }),\n Type.Union([\n Type.Object(\n {\n mav2type: Type.Literal(\"ma-ssv\"),\n initialOwner: TypeAddress,\n entityId: TypeU32,\n },\n {\n description: \"Modular Account V2 SSV\",\n },\n ),\n Type.Object(\n {\n mav2type: Type.Literal(\"sma-b\"),\n initialOwner: TypeAddress,\n },\n {\n description: \"Modular Account V2 SMA-B\",\n },\n ),\n Type.Object(\n {\n mav2type: Type.Literal(\"ma-webauthn\"),\n initialOwner: TypeWebAuthnPublicKey,\n entityId: TypeU32,\n },\n {\n description: \"Modular Account V2 WebAuthn\",\n },\n ),\n ]),\n ]),\n ]),\n});\n\nexport const TypeSerializedInitcode = Type.Object({\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV1.0.1\", { description: \"Light Account v1.0.1\" }),\n Type.Literal(\"LightAccountV1.0.2\", { description: \"Light Account v1.0.2\" }),\n Type.Literal(\"LightAccountV1.1.0\", { description: \"Light Account v1.1.0\" }),\n Type.Literal(\"LightAccountV2.0.0\", { description: \"Light Account v2.0.0\" }),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\", {\n description: \"Light Account v2.0.0 MultiOwner\",\n }),\n Type.Literal(\"MAv1.0.0-MultiOwner\", {\n description: \"Modular Account v1.0.0 MultiOwner\",\n }),\n Type.Literal(\"MAv1.0.0-MultiSig\", {\n description: \"Modular Account v1.0.0 MultiSig\",\n }),\n Type.Literal(\"MAv2.0.0-sma-b\", {\n description: \"Modular Account v2.0.0 SMA-B\",\n }),\n Type.Literal(\"MAv2.0.0-ma-ssv\", {\n description: \"Modular Account v2.0.0 SSV\",\n }),\n Type.Literal(\"MAv2.0.0-ma-webauthn\", {\n description: \"Modular Account v2.0.0 WebAuthn\",\n }),\n Type.Literal(\"unknown\", { description: \"Unknown factory type\" }),\n ]),\n factoryAddress: TypeAddress,\n factoryData: TypeHex({}),\n});\n\nexport const TypeCounterfactualInfo = Type.Intersect([\n Type.Object({\n accountAddress: TypeAddress,\n }),\n Type.Union([\n Type.Intersect(\n [\n Type.Object({\n type: Type.Literal(\"sca\"),\n }),\n TypePersistedInitcode,\n ],\n {\n description: \"Smart Contract Account\",\n },\n ),\n Type.Object(\n {\n type: Type.Literal(\"7702\"),\n implementationAddress: TypeAddress,\n },\n {\n description: \"7702 Account\",\n },\n ),\n ]),\n]);\nexport type TypeCounterfactualInfo = Static<typeof TypeCounterfactualInfo>;\n\nexport const TypeCreationOptions = Type.Optional(\n Type.Union([\n Type.Object(\n {\n // Optional b/c `sma-b` is the default if no accountType is specified.\n accountType: Type.Optional(Type.Literal(\"sma-b\")),\n salt: Type.Optional(TypeHex()),\n },\n {\n description: \"Modular Account V2 SMA-B account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"la-v2\"),\n salt: Type.Optional(TypeHex()),\n },\n {\n description: \"Light Account V2 account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"la-v2-multi-owner\"),\n salt: Type.Optional(TypeHex()),\n initialOwners: Type.Optional(\n Type.Array(TypeAddress, {\n description:\n \"The initial owners of the account. The signer address will be implicitly added if not specified in this list.\",\n }),\n ),\n },\n {\n description: \"Light Account V2 Multi-Owner account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"la-v1.0.1\"),\n salt: Type.Optional(TypeHex()),\n },\n {\n description: \"Light Account V1.0.1 account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"la-v1.0.2\"),\n salt: Type.Optional(TypeHex()),\n },\n {\n description: \"Light Account V1.0.2 account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"la-v1.1.0\"),\n salt: Type.Optional(TypeHex()),\n },\n {\n description: \"Light Account V1.1.0 account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"ma-v1-multi-owner\"),\n salt: Type.Optional(TypeHex()),\n initialOwners: Type.Optional(\n Type.Array(TypeAddress, {\n description:\n \"The initial owners of the account. The signer address will be implicitly added if not specified in this list.\",\n }),\n ),\n },\n {\n description: \"Modular Account V1 Multi-Owner account type\",\n },\n ),\n Type.Object(\n {\n accountType: Type.Literal(\"7702\"),\n // TODO: Add support for specifying a delegation address.\n // Currently we only support delegating to MAv2, and it's important\n // that wallet applications maintain a strict shortlist of well-known\n // accounts: https://github.com/ethereum/ERCs/pull/947/files#diff-dab085f963ca621595044bcbc0922705aa38b69f5bf8770dcb3d0496a633efcfR189\n // delegation: TypeAddress,\n },\n {\n description: \"7702 account type\",\n },\n ),\n ]),\n);\nexport type TypeCreationOptions = Static<typeof TypeCreationOptions>;\n\ntype BaseAccountTypeExhaustive = BaseAccountType extends Exclude<\n Static<typeof TypeCreationOptions>,\n undefined\n>[\"accountType\"]\n ? true\n : \"BaseAccountType values not fully covered in TypeCreationOptions\";\n\n// Compile-time assertion that TypeCreationOptions covers all BaseAccountType values.\ntype _AssertBaseAccountTypeExhaustive = Expect<BaseAccountTypeExhaustive>;\n\nexport const TypeSignatureType = Type.Union([\n Type.Literal(\"secp256k1\", { description: \"Secp256k1\" }),\n Type.Literal(\"ecdsa\", { description: \"ECDSA (alias for secp256k1)\" }),\n Type.Literal(\"contract\", { description: \"Contract\" }),\n]);\nexport type TypeSignatureType = Static<typeof TypeSignatureType>;\n\nexport const KeySigner = Type.Object({\n type: TypeSignatureType,\n publicKey: TypeHex({}),\n});\nexport type KeySigner = Static<typeof KeySigner>;\n\nexport const TTypedDataDefinition = Type.Transform(\n Type.Object({\n domain: Type.Optional(\n Type.Object({\n chainId: Type.Optional(Type.Integer()),\n name: Type.Optional(Type.String()),\n salt: Type.Optional(TypeHex()),\n verifyingContract: Type.Optional(TypeAddress),\n version: Type.Optional(Type.String()),\n }),\n ),\n types: Type.Record(\n Type.String(),\n Type.Array(\n Type.Object({\n name: Type.String(),\n type: Type.String(),\n }),\n ),\n ),\n primaryType: Type.String(),\n message: Type.Record(Type.String(), Type.Unknown()),\n }),\n)\n // No-op b/c Viem is happy w/ the encoded version too.\n .Decode((it) => it)\n // Encode the TypedDataDefinition into our json-serialized format.\n .Encode(({ domain, types, primaryType, message }) => {\n return {\n domain: {\n ...domain,\n chainId:\n typeof domain?.chainId === \"bigint\"\n ? Number(domain.chainId)\n : domain?.chainId,\n },\n types,\n primaryType,\n message: JSON.parse(\n JSON.stringify(message, (_, v) =>\n typeof v === \"bigint\" ? toHex(v) : v,\n ),\n ),\n };\n });\n\nexport const TypePersonalSignSignatureRequest = Type.Object(\n {\n type: Type.Literal(\"personal_sign\"),\n data: Type.Union([\n Type.String({ minLength: 1, description: \"Message\" }),\n Type.Object(\n {\n raw: TypeHex(),\n },\n { description: \"Raw message\" },\n ),\n ]),\n rawPayload: TypeHex(),\n },\n { description: \"Personal sign\" },\n);\n\nexport const TypeTypedDataSignatureRequest = Type.Object(\n {\n type: Type.Literal(\"eth_signTypedData_v4\"),\n data: TTypedDataDefinition,\n rawPayload: TypeHex(),\n },\n {\n description: \"Typed data\",\n },\n);\n\nexport const TypeAuthorizationSignatureRequest = Type.Object({\n type: Type.Literal(\"eip7702Auth\"),\n rawPayload: TypeHex(),\n});\n\nexport const TypeSignatureRequest = Type.Union([\n TypePersonalSignSignatureRequest,\n TypeTypedDataSignatureRequest,\n TypeAuthorizationSignatureRequest,\n]);\n\nexport const TypeCallId = Type.Transform(TypeHex())\n .Decode((value) => {\n return {\n chainId: toHex(hexToBigInt(slice(value, 0, 32))),\n hash: slice(value, 32),\n };\n })\n .Encode(({ chainId, hash }) => {\n const chainIdPadded = pad(chainId, { size: 32 });\n return concat([chainIdPadded, hash]);\n });\n\nexport const PreparedCall_UserOpV060 = Type.Object(\n {\n type: Type.Literal(\"user-operation-v060\", {\n description: \"User Operation (Entrypoint v0.6.0)\",\n }),\n data: Type.Omit(TypeUserOperationRequest_v6, [\"signature\"], {\n description: \"Unsigned User Operation (Entrypoint v0.6.0)\",\n }),\n chainId: TypeHex(),\n signatureRequest: Type.Union([\n TypePersonalSignSignatureRequest,\n TypeTypedDataSignatureRequest,\n ]),\n },\n {\n description: \"Prepared User Operation (Entrypoint v0.6.0)\",\n },\n);\n\nexport const PreparedCall_UserOpV070 = Type.Object(\n {\n type: Type.Literal(\"user-operation-v070\", {\n description: \"User Operation (Entrypoint v0.7.0)\",\n }),\n data: Type.Omit(TypeUserOperationRequest_v7, [\"signature\"], {\n description: \"Unsigned User Operation (Entrypoint v0.7.0)\",\n }),\n chainId: TypeHex(),\n signatureRequest: Type.Union([\n TypePersonalSignSignatureRequest,\n TypeTypedDataSignatureRequest,\n ]),\n },\n {\n description: \"Prepared User Operation (Entrypoint v0.7.0)\",\n },\n);\n\nexport const PreparedCall_Authorization = Type.Object(\n {\n type: Type.Literal(\"authorization\", {\n description: \"EIP-7702 Authorization Request\",\n }),\n data: Type.Omit(TypeEip7702UnsignedAuth, [\"chainId\"]),\n chainId: TypeHex(),\n signatureRequest: TypeAuthorizationSignatureRequest,\n },\n {\n description: \"Prepared EIP-7702 Authorization\",\n },\n);\n\nexport const TypeEdcsaSigData = Type.Union([\n TypeHex({\n description: \"Hex-encoded signature\",\n }),\n Type.Transform(\n Type.Object(\n {\n r: TypeHex(),\n s: TypeHex(),\n yParity: TypeHex(),\n },\n { description: \"r, s, yParity\" },\n ),\n )\n .Decode((sig) =>\n serializeSignature({ ...sig, yParity: hexToNumber(sig.yParity) }),\n )\n .Encode((hex) => {\n const parsed = parseSignature(hex);\n return {\n ...parsed,\n yParity: numberToHex(parsed.yParity),\n };\n }),\n Type.Transform(\n Type.Object(\n {\n r: TypeHex(),\n s: TypeHex(),\n v: TypeHex(),\n },\n {\n description: \"r, s, v\",\n },\n ),\n )\n .Decode((sig) => serializeSignature({ ...sig, v: hexToBigInt(sig.v) }))\n .Encode((hex) => {\n const parsed = parseSignature(hex);\n return {\n ...parsed,\n v: numberToHex(yParityToV(parsed.yParity)),\n };\n }),\n]);\n\nexport const TypeEcdsaSig = Type.Object({\n signature: Type.Union([\n Type.Object(\n {\n type: Type.Literal(\"secp256k1\"),\n data: TypeEdcsaSigData,\n },\n {\n description: \"Secp256k1 signature\",\n },\n ),\n Type.Object(\n {\n type: Type.Literal(\"ecdsa\"),\n data: TypeEdcsaSigData,\n },\n {\n description: \"ECDSA signature (alias for secp256k1)\",\n },\n ),\n ]),\n});\n\nexport const TypePrepareCall_UserOpV060_Signed = Type.Intersect(\n [Type.Omit(PreparedCall_UserOpV060, [\"signatureRequest\"]), TypeEcdsaSig],\n {\n description: \"Prepared User Operation (Entrypoint v0.6.0) with signature\",\n },\n);\n\nexport const TypePrepareCall_UserOpV070_Signed = Type.Intersect(\n [Type.Omit(PreparedCall_UserOpV070, [\"signatureRequest\"]), TypeEcdsaSig],\n {\n description: \"Prepared User Operation (Entrypoint v0.7.0) with signature\",\n },\n);\n\nexport const TypePrepareCall_Authorization_Signed = Type.Intersect(\n [Type.Omit(PreparedCall_Authorization, [\"signatureRequest\"]), TypeEcdsaSig],\n {\n description: \"Prepared EIP-7702 Authorization with signature\",\n },\n);\n\nexport const TypeCallArray = Type.Object(\n {\n type: Type.Literal(\"array\"),\n data: Type.Array(\n Type.Union([\n TypePrepareCall_UserOpV060_Signed,\n TypePrepareCall_UserOpV070_Signed,\n TypePrepareCall_Authorization_Signed,\n ]),\n ),\n },\n {\n description: \"Array of prepared calls with signatures\",\n },\n);\n"]}
|
package/dist/esm/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Hex } from "viem";
|
|
2
|
+
export type Expect<T extends true> = T;
|
|
2
3
|
export declare const assertNever: (_val: never, msg: string) => never;
|
|
3
4
|
/** If the value is already Hex, it is returned unchanged. If it's a string, number or bigint, it's converted. */
|
|
4
5
|
export declare const castToHex: (val: string | number | bigint | Hex) => Hex;
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAY,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAY,MAAM,MAAM,CAAC;AAI9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAW,EAAE,GAAW,EAAS,EAAE;IAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,iHAAiH;AACjH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAmC,EAAO,EAAE;IACpE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,CAAC","sourcesContent":["import { isHex, toHex, type Hex } from \"viem\";\n\nexport type Expect<T extends true> = T;\n\nexport const assertNever = (_val: never, msg: string): never => {\n throw new Error(msg);\n};\n\n/** If the value is already Hex, it is returned unchanged. If it's a string, number or bigint, it's converted. */\nexport const castToHex = (val: string | number | bigint | Hex): Hex => {\n if (isHex(val)) {\n return val;\n }\n return toHex(val);\n};\n"]}
|
|
@@ -35,5 +35,8 @@ export declare const Capabilities: import("@sinclair/typebox").TObject<{
|
|
|
35
35
|
account: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">>;
|
|
36
36
|
delegation: import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TLiteral<"0x69007702764179f14F51cdce752f4f775d74E139"> | import("@sinclair/typebox").TLiteral<"ModularAccountV2">)[]>;
|
|
37
37
|
}>, import("@sinclair/typebox").TLiteral<true>]>>;
|
|
38
|
+
nonceOverride: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
39
|
+
nonceKey: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
40
|
+
}>>;
|
|
38
41
|
}>;
|
|
39
42
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/capabilities/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/capabilities/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiDimensionalNonce.d.ts","sourceRoot":"","sources":["../../../src/capabilities/multiDimensionalNonce.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,+BAA+B;;EAG1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signPreparedCalls.d.ts","sourceRoot":"","sources":["../../../../src/client/actions/signPreparedCalls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"signPreparedCalls.d.ts","sourceRoot":"","sources":["../../../../src/client/actions/signPreparedCalls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAOhE,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;AAEzD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C,CAAC,OAAO,wBAAwB,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CACnF,CAAC,CAAC,CAAC,CAAC;AAEL;;;;;;IAMI;AACJ,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CA2ClC"}
|