Page MenuHomePhabricator

[Cashtab] Implement dark theme + toggle
AbandonedPublic

Authored by kieran709 on Jan 18 2022, 15:43.

Details

Reviewers
bytesofman
Group Reviewers
Restricted Project
Summary

Added switch to Config.js which toggles between light and dark theme. The user selected theme is saved in local storage, the toggle function is passed to Config.js through App.js. Currently there are some references to CSS props that don't point to existing props throughout the app, and other references will not work when toggling between the dark and light theme. This diff will require several smaller CSS updates in order to be ready to land.

Related to task T2113.

Test Plan

cd web/cashtab
npm start
navigate to config.js and toggle theme
hard refresh the page, ensure that the selected theme is still active
toggle the theme again and perform a hard refresh
ensure that selected theme is still active

Diff Detail

Repository
rABC Bitcoin ABC
Branch
implement-dark-theme
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 17931
Build 35684: Build Diffcashtab-tests
Build 35683: arc lint + arc unit

Event Timeline

Several references to theme props need to be changed in order for the transition from the light theme to the dark theme to work.

Failed tests logs:

====== CashTab Unit Tests: <QRCode /> QRCode copying ecash address ======
Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:18747:19)
    at beginWork (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:19114:14)
    at HTMLUnknownElement.callCallback (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:3945:14)
    at innerInvokeEventListeners (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:316:27)
    at invokeEventListeners (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:267:3)
    at HTMLUnknownElementImpl._dispatch (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:214:9)
    at HTMLUnknownElementImpl.dispatchEvent (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:87:17)
    at HTMLUnknownElement.dispatchEvent (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:144:23)
    at Object.invokeGuardedCallbackDev (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:3994:16)
    at invokeGuardedCallback (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:4056:31)
    at beginWork$1 (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:23964:7)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22779:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22707:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22670:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22293:18)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:21881:7)
    at updateContainer (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:25482:3)
    at /work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:26021:7
    at unbatchedUpdates (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22431:12)
    at legacyRenderSubtreeIntoContainer (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:26020:5)
    at Object.render (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:26103:10)
    at /work/web/cashtab/node_modules/@testing-library/react/dist/pure.js:99:25
    at batchedUpdates$1 (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22380:12)
    at act (/work/web/cashtab/node_modules/react-dom/cjs/react-dom-test-utils.development.js:1042:14)
    at render (/work/web/cashtab/node_modules/@testing-library/react/dist/pure.js:95:26)
    at Object.<anonymous> (/work/web/cashtab/src/components/Common/__tests__/QRCode.test.js:12:31)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
====== CashTab Unit Tests: <QRCode /> QRCode copying eToken address ======
Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:18747:19)
    at beginWork (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:19114:14)
    at HTMLUnknownElement.callCallback (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:3945:14)
    at innerInvokeEventListeners (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:316:27)
    at invokeEventListeners (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:267:3)
    at HTMLUnknownElementImpl._dispatch (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:214:9)
    at HTMLUnknownElementImpl.dispatchEvent (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:87:17)
    at HTMLUnknownElement.dispatchEvent (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:144:23)
    at Object.invokeGuardedCallbackDev (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:3994:16)
    at invokeGuardedCallback (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:4056:31)
    at beginWork$1 (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:23964:7)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22779:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22707:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22670:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22293:18)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:21881:7)
    at updateContainer (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:25482:3)
    at /work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:26021:7
    at unbatchedUpdates (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22431:12)
    at legacyRenderSubtreeIntoContainer (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:26020:5)
    at Object.render (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:26103:10)
    at /work/web/cashtab/node_modules/@testing-library/react/dist/pure.js:99:25
    at batchedUpdates$1 (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22380:12)
    at act (/work/web/cashtab/node_modules/react-dom/cjs/react-dom-test-utils.development.js:1042:14)
    at render (/work/web/cashtab/node_modules/@testing-library/react/dist/pure.js:95:26)
    at Object.<anonymous> (/work/web/cashtab/src/components/Common/__tests__/QRCode.test.js:35:31)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
====== CashTab Unit Tests: <QRCode /> QRCode without address ======
Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:18747:19)
    at beginWork (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:19114:14)
    at HTMLUnknownElement.callCallback (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:3945:14)
    at innerInvokeEventListeners (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:316:27)
    at invokeEventListeners (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:267:3)
    at HTMLUnknownElementImpl._dispatch (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:214:9)
    at HTMLUnknownElementImpl.dispatchEvent (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:87:17)
    at HTMLUnknownElement.dispatchEvent (/work/web/cashtab/node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:144:23)
    at Object.invokeGuardedCallbackDev (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:3994:16)
    at invokeGuardedCallback (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:4056:31)
    at beginWork$1 (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:23964:7)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22779:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22707:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22670:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22293:18)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:21881:7)
    at updateContainer (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:25482:3)
    at /work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:26021:7
    at unbatchedUpdates (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22431:12)
    at legacyRenderSubtreeIntoContainer (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:26020:5)
    at Object.render (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:26103:10)
    at /work/web/cashtab/node_modules/@testing-library/react/dist/pure.js:99:25
    at batchedUpdates$1 (/work/web/cashtab/node_modules/react-dom/cjs/react-dom.development.js:22380:12)
    at act (/work/web/cashtab/node_modules/react-dom/cjs/react-dom-test-utils.development.js:1042:14)
    at render (/work/web/cashtab/node_modules/@testing-library/react/dist/pure.js:95:26)
    at Object.<anonymous> (/work/web/cashtab/src/components/Common/__tests__/QRCode.test.js:51:31)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
====== CashTab Unit Tests:  Render StyledCollapse component ======
Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Common/__tests__/StyledCollapse.test.js:8:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
====== CashTab Unit Tests:  Configure without a wallet ======
Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Configure/__tests__/Configure.test.js:18:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
====== CashTab Unit Tests:  Configure with a wallet ======
Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Configure/__tests__/Configure.test.js:29:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
====== CashTab Unit Tests:  Wallet with BCH balances and tokens ======
Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Send/__tests__/SendToken.test.js:44:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Tokens/__tests__/Tokens.test.js:74:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Send/__tests__/Send.test.js:74:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Wallet/__tests__/Wallet.test.js:54:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
====== CashTab Unit Tests:  Wallet with BCH balances and tokens and state field ======
Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Send/__tests__/SendToken.test.js:63:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Tokens/__tests__/CreateTokenForm.test.js:43:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Tokens/__tests__/Tokens.test.js:88:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Send/__tests__/Send.test.js:88:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Wallet/__tests__/Wallet.test.js:67:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
====== CashTab Unit Tests:  Without wallet defined ======
Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Send/__tests__/SendToken.test.js:86:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Tokens/__tests__/Tokens.test.js:106:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Send/__tests__/Send.test.js:106:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Wallet/__tests__/Wallet.test.js:83:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
====== CashTab Unit Tests:  Wallet without BCH balance ======
Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Tokens/__tests__/Tokens.test.js:46:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Send/__tests__/Send.test.js:46:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Wallet/__tests__/Wallet.test.js:28:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
====== CashTab Unit Tests:  Wallet with BCH balances ======
Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Tokens/__tests__/Tokens.test.js:60:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Send/__tests__/Send.test.js:60:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)Error: ThemeProvider: Please make your "theme" prop an object.
    at new StyledComponentsError (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:214:58)
    at ThemeProvider.getTheme (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1750:13)
    at ThemeProvider.getContext (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1757:17)
    at ThemeProvider.memoized [as getContext] (/work/web/cashtab/node_modules/memoize-one/dist/memoize-one.cjs.js:29:31)
    at ThemeProvider.renderInner (/work/web/cashtab/node_modules/styled-components/dist/styled-components.cjs.js:1723:24)
    at updateContextConsumer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:9665:19)
    at beginWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10031:14)
    at performUnitOfWork (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13800:12)
    at workLoopSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13728:5)
    at renderRootSync (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13691:7)
    at performSyncWorkOnRoot (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13404:18)
    at /work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2537:26
    at unstable_runWithPriority (/work/web/cashtab/node_modules/scheduler/cjs/scheduler.development.js:646:12)
    at runWithPriority (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2486:10)
    at flushSyncCallbackQueueImpl (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2532:9)
    at flushSyncCallbackQueue (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2519:3)
    at scheduleUpdateOnFiber (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13004:9)
    at updateContainer (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16454:3)
    at Object.create (/work/web/cashtab/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:17149:3)
    at Object.<anonymous> (/work/web/cashtab/src/components/Wallet/__tests__/Wallet.test.js:41:32)
    at Object.asyncJestTest (/work/web/cashtab/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (<anonymous>)
    at mapper (/work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /work/web/cashtab/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (node:internal/process/task_queues:94:5)

Each failure log is accessible here:
CashTab Unit Tests: <QRCode /> QRCode copying ecash address
CashTab Unit Tests: <QRCode /> QRCode copying eToken address
CashTab Unit Tests: <QRCode /> QRCode without address
CashTab Unit Tests: Render StyledCollapse component
CashTab Unit Tests: Configure without a wallet
CashTab Unit Tests: Configure with a wallet
CashTab Unit Tests: Wallet with BCH balances and tokens
CashTab Unit Tests: Wallet with BCH balances and tokens and state field
CashTab Unit Tests: Without wallet defined
CashTab Unit Tests: Wallet without BCH balance
CashTab Unit Tests: Wallet with BCH balances