diff --git a/advanced/wallets/react-wallet-v2/src/lib/SmartAccountLib.ts b/advanced/wallets/react-wallet-v2/src/lib/SmartAccountLib.ts index 5518a80..31dcf9b 100644 --- a/advanced/wallets/react-wallet-v2/src/lib/SmartAccountLib.ts +++ b/advanced/wallets/react-wallet-v2/src/lib/SmartAccountLib.ts @@ -39,8 +39,6 @@ export class SmartAccountLib { throw new Error('A Pimlico API Key is required') } - console.log('investigate 2', chain, privateKey, sponsored) - this.chain = chain this.sponsored = sponsored this.#signerPrivateKey = privateKey diff --git a/advanced/wallets/react-wallet-v2/src/utils/HelperUtil.ts b/advanced/wallets/react-wallet-v2/src/utils/HelperUtil.ts index 79b5070..47b1c6e 100644 --- a/advanced/wallets/react-wallet-v2/src/utils/HelperUtil.ts +++ b/advanced/wallets/react-wallet-v2/src/utils/HelperUtil.ts @@ -179,7 +179,7 @@ export function styledToast(message: string, type: string) { style: { borderRadius: '10px', background: '#333', - color: '#fff' + color: '#fff', } }) } diff --git a/advanced/wallets/react-wallet-v2/src/utils/SmartAccountUtils.ts b/advanced/wallets/react-wallet-v2/src/utils/SmartAccountUtils.ts index a9ec88c..ad812d5 100644 --- a/advanced/wallets/react-wallet-v2/src/utils/SmartAccountUtils.ts +++ b/advanced/wallets/react-wallet-v2/src/utils/SmartAccountUtils.ts @@ -62,7 +62,6 @@ export const USDC_FAUCET_URL = 'https://faucet.circle.com/' export const VITALIK_ADDRESS = '0xd8da6bf26964af9d7eed9e03e53415d37aa96045' as Hex export const publicRPCUrl = ({ chain }: UrlConfig) => { - console.log("investigate", chain) return RPC_URLS[chain?.name] } diff --git a/advanced/wallets/react-wallet-v2/src/views/SessionProposalModal.tsx b/advanced/wallets/react-wallet-v2/src/views/SessionProposalModal.tsx index 701b17c..778d272 100644 --- a/advanced/wallets/react-wallet-v2/src/views/SessionProposalModal.tsx +++ b/advanced/wallets/react-wallet-v2/src/views/SessionProposalModal.tsx @@ -242,41 +242,47 @@ export default function SessionProposalModal() { const onApprove = useCallback(async () => { if (proposal) { setIsLoadingApprove(true) + + try { // get keys of namespaces - const namespaceKeys = Object.keys(namespaces) - const [nameSpaceKey] = namespaceKeys + const namespaceKeys = Object.keys(namespaces) + const [nameSpaceKey] = namespaceKeys - // get chain ids from namespaces - const [chainIds] = namespaceKeys.map(key => namespaces[key].chains) + // get chain ids from namespaces + const [chainIds] = namespaceKeys.map(key => namespaces[key].chains) - if (chainIds) { - const allowedChainIds = chainIds.filter(id => { - const chainId = id.replace(`${nameSpaceKey}:`, '') - return allowedChains.map(chain => chain.id.toString()).includes(chainId) - }) + if (chainIds) { + const allowedChainIds = chainIds.filter(id => { + const chainId = id.replace(`${nameSpaceKey}:`, '') + return allowedChains.map(chain => chain.id.toString()).includes(chainId) + }) - console.log('allowedChainIds', allowedChainIds) + console.log('allowedChainIds', allowedChainIds) - const chainIdParsed = allowedChainIds[0].replace(`${nameSpaceKey}:`, '') - const signerAddress = namespaces[nameSpaceKey].accounts[0].split(':')[2] - const wallet = eip155Wallets[signerAddress] - const chain = allowedChains.find(chain => chain.id.toString() === chainIdParsed)! - - const smartAccountClient = new SmartAccountLib({ - privateKey: wallet.getPrivateKey() as Hex, - chain: allowedChains.find(chain => chain.id.toString() === chainIdParsed)!, - sponsored: smartAccountSponsorshipEnabled, - }) + if (allowedChainIds.length) { + const chainIdParsed = allowedChainIds[0].replace(`${nameSpaceKey}:`, '') - const smartAccountAddress = await smartAccountClient.getAccount() - if (wallet && smartAccountAddress) { - namespaces.eip155.accounts = [...namespaces.eip155.accounts, `${nameSpaceKey}:${chain.id}:${smartAccountAddress.address}`] + if (namespaces[nameSpaceKey].accounts) { + const signerAddress = namespaces[nameSpaceKey].accounts[0].split(':')[2] + const wallet = eip155Wallets[signerAddress] + const chain = allowedChains.find(chain => chain.id.toString() === chainIdParsed)! + + const smartAccountClient = new SmartAccountLib({ + privateKey: wallet.getPrivateKey() as Hex, + chain: allowedChains.find(chain => chain.id.toString() === chainIdParsed)!, + sponsored: smartAccountSponsorshipEnabled, + }) + + const smartAccountAddress = await smartAccountClient.getAccount() + if (wallet && smartAccountAddress) { + namespaces.eip155.accounts = [...namespaces.eip155.accounts, `${nameSpaceKey}:${chain.id}:${smartAccountAddress.address}`] + } + + console.log('approving namespaces:', namespaces.eip155.accounts) + } + } } - - console.log('approving namespaces:', namespaces.eip155.accounts) - } - try { await web3wallet.approveSession({ id: proposal.id, namespaces