UNPKG

@etherspot/remote-signer

Version:

Etherspot Permissioned Signer SDK - signs the UserOp with SessionKey and sends it to the Bundler

1 lines 2.7 kB
{"version":3,"sources":["../../src/sdk/session-keys/sign-userop.ts"],"sourcesContent":["import { PERMISSIONS_URL } from \"../common/constants\"\nimport { deepHexlify, UserOperation, resolveProperties } from \"../common\"\nimport { validateUserOp } from \"../base/UserOpHandler\"\n\nexport const signUserOpWithSessionKey = async (\n accountAddress: string,\n chainId: number,\n apiKey: string,\n sessionKey: string,\n userOp: UserOperation,\n permissionsBackendUrl: string = PERMISSIONS_URL\n): Promise<UserOperation> => {\n let response = null;\n\n try {\n\n if(!sessionKey) {\n throw new Error('Session key is required')\n }\n\n if(!apiKey) {\n throw new Error('API key is required')\n }\n\n if(!accountAddress) {\n throw new Error('Account address is required')\n }\n\n if(chainId === undefined || chainId === null || chainId <= 0) {\n throw new Error('Chain ID is required')\n }\n\n validateUserOp(userOp);\n\n let url = `${permissionsBackendUrl}/account/signUserOp?account=${accountAddress}&chainId=${chainId}&sessionKey=${sessionKey}&apiKey=${apiKey}`;\n\n response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(deepHexlify(await resolveProperties(userOp))),\n });\n\n if (response.status === 200) {\n const responseJson = await response.json();\n return responseJson\n } else {\n const responseJson = await response.json();\n throw new Error(responseJson.message)\n }\n } catch (err) {\n throw new Error(err.message)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAIO,IAAM,2BAA2B,OACpC,gBACA,SACA,QACA,YACA,QACA,wBAAgC,oBACP;AACzB,MAAI,WAAW;AAEf,MAAI;AAEA,QAAG,CAAC,YAAY;AACZ,YAAM,IAAI,MAAM,yBAAyB;AAAA,IAC7C;AAEA,QAAG,CAAC,QAAQ;AACR,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AAEA,QAAG,CAAC,gBAAgB;AAChB,YAAM,IAAI,MAAM,6BAA6B;AAAA,IACjD;AAEA,QAAG,YAAY,UAAa,YAAY,QAAQ,WAAW,GAAG;AAC1D,YAAM,IAAI,MAAM,sBAAsB;AAAA,IAC1C;AAEA,mBAAe,MAAM;AAErB,QAAI,MAAM,GAAG,qBAAqB,+BAA+B,cAAc,YAAY,OAAO,eAAe,UAAU,WAAW,MAAM;AAE5I,eAAW,MAAM,MAAM,KAAK;AAAA,MACxB,QAAQ;AAAA,MACR,SAAS;AAAA,QACL,UAAU;AAAA,QACV,gBAAgB;AAAA,MACpB;AAAA,MACA,MAAM,KAAK,UAAU,YAAY,MAAM,kBAAkB,MAAM,CAAC,CAAC;AAAA,IACrE,CAAC;AAED,QAAI,SAAS,WAAW,KAAK;AACzB,YAAM,eAAe,MAAM,SAAS,KAAK;AACzC,aAAO;AAAA,IACX,OAAO;AACH,YAAM,eAAe,MAAM,SAAS,KAAK;AACzC,YAAM,IAAI,MAAM,aAAa,OAAO;AAAA,IACxC;AAAA,EACJ,SAAS,KAAK;AACV,UAAM,IAAI,MAAM,IAAI,OAAO;AAAA,EAC/B;AACJ;","names":[]}