UNPKG

startale-aa-sdk

Version:

SDK for startale account integration with support for account abstraction, ERC-7579, ERC-4337.

49 lines 2.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toSmartSessionsValidator = exports.getUsePermissionInitData = exports.getUsePermissionModuleInitData = exports.DUMMY_ECDSA_SIG = void 0; const viem_1 = require("viem"); const constants_1 = require("../../../constants/index.js"); const toModule_1 = require("../../utils/toModule.js"); exports.DUMMY_ECDSA_SIG = "0xe8b94748580ca0b4993c9a1b86b5be851bfc076ff5ce3a1ff65bf16392acfcb800f9b4f1aef1555c7fce5599fffb17e7c635502154a0333ba21f3ae491839af51c"; const getUsePermissionModuleInitData = (_) => ({ address: constants_1.SMART_SESSIONS_ADDRESS, type: "validator", initData: "0x" }); exports.getUsePermissionModuleInitData = getUsePermissionModuleInitData; const getUsePermissionInitData = ({ signerAddress }) => (0, viem_1.encodePacked)(["address"], [signerAddress]); exports.getUsePermissionInitData = getUsePermissionInitData; const toSmartSessionsValidator = (parameters) => { const { account, signer, moduleInitData: moduleInitData_, deInitData = "0x", initData: initData_, initArgs: initArgs_ = { signerAddress: signer.address }, moduleData: { permissionIdIndex = 0, permissionIds = [], mode = constants_1.SmartSessionMode.USE, enableSessionData } = {} } = parameters; const initData = initData_ ?? (0, exports.getUsePermissionInitData)(initArgs_); const moduleInitData = moduleInitData_ ?? (0, constants_1.getSmartSessionsValidator)({ useRegistry: false }); return (0, toModule_1.toModule)({ ...parameters, signer, accountAddress: account.address, address: constants_1.SMART_SESSIONS_ADDRESS, initData, moduleInitData, deInitData, getStubSignature: async () => (0, constants_1.encodeSmartSessionSignature)({ mode, permissionId: permissionIds[permissionIdIndex], enableSessionData, signature: (0, constants_1.getOwnableValidatorMockSignature)({ threshold: 1 }) }), signUserOpHash: async (userOpHash) => { return (0, constants_1.encodeSmartSessionSignature)({ mode, permissionId: permissionIds[permissionIdIndex], enableSessionData, signature: await signer.signMessage({ message: { raw: userOpHash } }) }); } }); }; exports.toSmartSessionsValidator = toSmartSessionsValidator; //# sourceMappingURL=toSmartSessionsValidator.js.map