From cf4e4b51c8c5af2d455b4c1c8d2c1f9b6e424cff Mon Sep 17 00:00:00 2001 From: Dustil Dawn <120224927+DustilDawn@users.noreply.github.com> Date: Wed, 18 Jan 2023 21:35:03 +0000 Subject: [PATCH] Add Lit Protocol PKP Wallet Support Hey there, so I've been working on Lit Protocol during this hackathon and made it work with PKP! This will be a great shared account feature for the ecosystem! https://github.com/DustilDawn/orbis-sdk/blob/de27fe2a4d2a312c4211c90bfda87c423fe2c174/index.js#L6 --- packages/pkh-ethereum/src/authmethod.ts | 30 ++++++++++++++++++------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/packages/pkh-ethereum/src/authmethod.ts b/packages/pkh-ethereum/src/authmethod.ts index 2c32ec2e..7e808a97 100644 --- a/packages/pkh-ethereum/src/authmethod.ts +++ b/packages/pkh-ethereum/src/authmethod.ts @@ -68,16 +68,30 @@ async function createCACAO( chainId: account.chainId.reference, resources: opts.resources, }) - const signature = await safeSend(ethProvider, 'personal_sign', [ - siweMessage.signMessage(), - account.address, - ]) - siweMessage.signature = signature - return Cacao.fromSiweMessage(siweMessage) -} + + let payload = { + method: 'personal_sign', + params: [ + siweMessage.signMessage(), + account.address, + ], + } + + let signature = 'rpcProvider' in ethProvider ? await ethProvider.sendAsync(payload) : await safeSend(ethProvider, payload.method, payload.params); + + siweMessage.signature = signature + return Cacao.fromSiweMessage(siweMessage) + } async function requestChainId(provider: any): Promise { - const chainIdHex = (await safeSend(provider, 'eth_chainId', [])) as string + + let payload = { + method: 'eth_chainId', + params: [], + }; + + let chainIdHex = 'rpcProvider' in provider ? await provider.sendAsync(payload) : await safeSend(provider, payload.method, payload.params); + return parseInt(chainIdHex, 16) }