From 53def21b8ea885ca6134e72dc6e2eb18b381245c Mon Sep 17 00:00:00 2001 From: poocart <7067483+poocart@users.noreply.github.com> Date: Wed, 20 Mar 2024 15:58:33 +0200 Subject: [PATCH] separate bundler and data services api keys --- CHANGELOG.md | 5 +++++ package-lock.json | 4 ++-- package.json | 2 +- rollup.config.js | 3 ++- src/components/EtherspotTransactionKit.tsx | 9 ++++++--- src/providers/EtherspotContextProvider.tsx | 14 ++++++++------ 6 files changed, 24 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d2b10a..9c116d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [0.10.0] - 2024-03-20 + +### Breaking Changes +- Etherspot project keys are now split as `dataApiKey` and `bundlerApiKey` to support separation of bundler and data services, however `TransactionKit` still carries embedded keys with low frequency usage API calls support + ## [0.9.2] - 2024-03-20 ### Breaking Changes diff --git a/package-lock.json b/package-lock.json index e07b7e9..4ffc9f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@etherspot/transaction-kit", - "version": "0.9.2", + "version": "0.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@etherspot/transaction-kit", - "version": "0.9.2", + "version": "0.10.0", "license": "MIT", "dependencies": { "@etherspot/eip1271-verification-util": "0.1.2", diff --git a/package.json b/package.json index 92e3721..4f88df8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@etherspot/transaction-kit", "description": "React Etherspot Transaction Kit", - "version": "0.9.2", + "version": "0.10.0", "main": "dist/cjs/index.js", "scripts": { "rollup:build": "NODE_OPTIONS=--max-old-space-size=8192 rollup -c", diff --git a/rollup.config.js b/rollup.config.js index 0fd15ef..154ed48 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -37,7 +37,8 @@ export default [ exclude: ['./example/**', './src/test/**'] }), replace({ - __ETHERSPOT_PROJECT_KEY__: process.env.ETHERSPOT_PROJECT_KEY ?? '', + __ETHERSPOT_DATA_API_KEY__: process.env.ETHERSPOT_DATA_API_KEY ?? '', + __ETHERSPOT_BUNDLER_API_KEY__: process.env.ETHERSPOT_BUNDLER_API_KEY ?? '', preventAssignment: true, }), ], diff --git a/src/components/EtherspotTransactionKit.tsx b/src/components/EtherspotTransactionKit.tsx index 0c45016..65ba599 100644 --- a/src/components/EtherspotTransactionKit.tsx +++ b/src/components/EtherspotTransactionKit.tsx @@ -13,7 +13,8 @@ interface EtherspotTransactionKitProps extends React.PropsWithChildren { provider: WalletProviderLike; chainId?: number; accountTemplate?: AccountTemplate; - projectKey?: string; + dataApiKey?: string; + bundlerApiKey?: string; } const EtherspotTransactionKit = ({ @@ -21,13 +22,15 @@ const EtherspotTransactionKit = ({ provider, chainId = 1, accountTemplate = Factory.ETHERSPOT, - projectKey, + dataApiKey, + bundlerApiKey, }: EtherspotTransactionKitProps) => ( diff --git a/src/providers/EtherspotContextProvider.tsx b/src/providers/EtherspotContextProvider.tsx index f44da11..9263606 100644 --- a/src/providers/EtherspotContextProvider.tsx +++ b/src/providers/EtherspotContextProvider.tsx @@ -28,13 +28,15 @@ const EtherspotContextProvider = ({ provider, chainId, accountTemplate, - projectKey, + dataApiKey, + bundlerApiKey, }: { children: ReactNode; provider: WalletProviderLike; chainId: number; accountTemplate: AccountTemplate; - projectKey?: string; + dataApiKey?: string; + bundlerApiKey?: string; }) => { const context = useContext(EtherspotContext); @@ -68,7 +70,7 @@ const EtherspotContextProvider = ({ // @ts-ignore const sdkForChain = new PrimeSdk(mappedProvider ?? provider, { chainId: +sdkChainId, - etherspotBundlerApiKey: projectKey ?? ('__ETHERSPOT_PROJECT_KEY__' || undefined), + etherspotBundlerApiKey: bundlerApiKey ?? ('__ETHERSPOT_BUNDLER_API_KEY__' || undefined), factoryWallet: accountTemplate as Factory, }); @@ -81,13 +83,13 @@ const EtherspotContextProvider = ({ await sdkForChain.getCounterFactualAddress(); return sdkForChain; - }, [provider, chainId, accountTemplate, projectKey]); + }, [provider, chainId, accountTemplate, bundlerApiKey]); const getDataService = useCallback(() => { if (dataService) return dataService; - dataService = new DataUtils(projectKey ?? ('__ETHERSPOT_PROJECT_KEY__' || undefined)); + dataService = new DataUtils(dataApiKey ?? ('__ETHERSPOT_DATA_API_KEY__' || undefined)); return dataService; - }, [projectKey]); + }, [dataApiKey]); const contextData = useMemo(() => ({ getSdk,