Page MenuHomePhabricator

[Cashtab] Replace address function with equivalent lib function
ClosedPublic

Authored by bytesofman on Feb 25 2024, 05:34.

Details

Summary

This was implemented in Cashtab before ecashaddrjs had this functionality. Replace Cashtab implementation with library implementation. Remove Cashtab implementation and its associated tests.

Test Plan

npm test

Diff Detail

Repository
rABC Bitcoin ABC
Branch
replace-addr-fn-with-lib
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 27401
Build 54365: Build Diffcashtab-tests
Build 54364: arc lint + arc unit

Event Timeline

Failed tests logs:

====== CashTab Unit Tests: Correctly executes cash utility functions cashaddr.encodeOutputScript throws correct error for an output script that for some reason is bracketed by P2PKH markers but is not a valid hash160 ======
TypeError: Cannot read properties of undefined (reading 'message')
    at Object.message (/work/cashtab/src/utils/__tests__/cashMethods.test.js:1225:28)
    at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
    at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
    at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
    at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
    at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
    at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
    at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
    at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)

Each failure log is accessible here:
CashTab Unit Tests: Correctly executes cash utility functions cashaddr.encodeOutputScript throws correct error for an output script that for some reason is bracketed by P2PKH markers but is not a valid hash160

Failed tests logs:

====== CashTab Unit Tests: <Home /> Renders Sideshift button if user loads with a new wallet ======
Error: Unable to find role="button" and name `/Exchange to XEC via SideShift/`

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="ant-spin-nested-loading css-dev-only-do-not-override-1rqnfsa"
    >
      <div>
        <div
          aria-busy="true"
          aria-live="polite"
          class="ant-spin ant-spin-spinning css-dev-only-do-not-override-1rqnfsa"
        >
          <span
            aria-label="loading"
            class="anticon anticon-loading anticon-spin cashLoadingIcon ant-spin-dot"
            role="img"
          >
            <svg
              aria-hidden="true"
              data-icon="loading"
              fill="currentColor"
              focusable="false"
              height="1em"
              viewBox="0 0 1024 1024"
              width="1em"
            >
              <path
                d="M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"
              />
            </svg>
          </span>
        </div>
      </div>
      <div
        class="ant-spin-container ant-spin-blur"
      >
        <div
          class="sc-LKuAh jSXNAo"
        >
          <div
            class="sc-kZmsYB eHkWzo"
          >
            <div
              class="sc-RcBXQ gMCskf"
            >
              <div
                class="sc-hzNEM iiFjIO"
              >
                <div
                  class="sc-iSDuPN ccpgHi"
                >
                  <img
                    alt="cashtab"
                    class="sc-fZwumE bcurWd"
                    src="test-file-stub"
                  />
                </div>
                <div
                  class="sc-elJkPf geNavj"
                  data-testid="wallet-info-ctn"
                >
                  <div
                    class="sc-dEoRIm iVOOxs"
                  >
                    <div
                      class="sc-jtggT dNidya"
                    >
                      Transaction Fixtures
                    </div>
                    <a
                      href="/configure"
                    >
                      <svg
                        class="sc-jTzLTM bTdWCF"
                      />
                    </a>
                    <div>
                       
                      <button
                        aria-checked="true"
                        class="ant-switch ant-switch-small css-dev-only-do-not-override-1rqnfsa ant-switch-checked"
                        role="switch"
                        type="button"
                      >
                        <div
                          class="ant-switch-handle"
                        />
                        <span
                          class="ant-switch-inner"
                        >
                          <span
                            class="ant-switch-inner-checked"
                          >
                            <svg
                              class="sc-cSHVUG bgwEHu"
                            />
                          </span>
                          <span
                            class="ant-switch-inner-unchecked"
                          >
                            <svg
                              class="sc-kAzzGY fUTkYj"
                            />
                          </span>
                        </span>
                      </button>
                    </div>
                  </div>
                  <div
                    class="sc-ebFjAB kxaSkj"
                    data-testid="balance-xec"
                  >
                    0.00
                     
                    XEC
                     
                  </div>
                  <div
                    class="sc-jKVCRD bKzIGa"
                    data-testid="balance-fiat"
                  >
                    $
                    0.00
                     
                    USD
                  </div>
                  <p
                    class="sc-kaNhvL kDOvrh"
                    data-testid="ecash-price"
                  >
                    1 
                    XEC
                     = 
                    0.00003000
                     
                    USD
                  </p>
                </div>
              </div>
              <div
                class="sc-jwKygS hNrbtP"
                data-testid="loading-ctn"
              />
            </div>
            <div
              class="sc-iBEsjs jmPiFQ"
            >
              <button
                class="sc-gmeYpB dpikyJ"
              >
                <svg />
              </button>
              <button
                class="sc-gmeYpB eQwTbZ"
                data-testid="nav-btn-send"
              >
                <svg
                  class="sc-kEYyzF dWIuoY"
                  style="margin-top: -9px;"
                />
              </button>
              <button
                class="sc-gmeYpB eQwTbZ"
                data-testid="nav-btn-etokens"
              >
                <span
                  aria-label="appstore-add"
                  class="anticon anticon-appstore-add"
                  role="img"
                  style="font-size: 24px;"
                >
                  <svg
                    aria-hidden="true"
                    data-icon="appstore-add"
                    fill="currentColor"
                    focusable="false"
                    height="1em"
                    viewBox="64 64 896 896"
                    width="1em"
                  >
                    <defs />
                    <path
                      d="M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zm52 132H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"
                    />
                  </svg>
                </span>
              </button>
              <button
                class="sc-gmeYpB eQwTbZ"
                data-testid="nav-btn-receive"
              >
                <svg />
              </button>
              <div
                class="sc-chbbiW ktwTIv"
                data-testid="hamburger"
              >
                <span
                  class="sc-kxynE bbUulF"
                />
                <div
                  class="sc-cooIXK gkGTON"
                  data-testid="hamburger-menu"
                >
                  <button
                    class="sc-fcdeBU RXlWo"
                    data-testid="nav-btn-airdrop"
                  >
                     
                    <p>
                      Airdrop
                    </p>
                    <svg
                      height="33px"
                      width="30px"
                    />
                  </button>
                  <button
                    class="sc-fcdeBU RXlWo"
                    data-testid="nav-btn-swap"
                  >
                     
                    <p>
                      Swap
                    </p>
                    <span
                      aria-label="swap"
                      class="anticon anticon-swap"
                      role="img"
                      style="font-size: 24px;"
                    >
                      <svg
                        aria-hidden="true"
                        data-icon="swap"
                        fill="currentColor"
                        focusable="false"
                        height="1em"
                        viewBox="64 64 896 896"
                        width="1em"
                      >
                        <path
                          d="M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"
                        />
                      </svg>
                    </span>
                  </button>
                  <button
                    class="sc-fcdeBU RXlWo"
                    data-testid="nav-btn-signverifymsg"
                  >
                    <p>
                      Sign & Verify
                    </p>
                    <svg
                      class="sc-chPdSV kiHcnD"
                    />
                  </button>
                  <button
                    class="sc-fcdeBU RXlWo"
                    data-testid="nav-btn-configure"
                  >
                    <p>
                      Settings
                    </p>
                    <svg
                      height="33px"
                      width="30px"
                    />
                  </button>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
    at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
    at Object.findByRole (/work/cashtab/src/components/Home/__tests__/Home.test.js:128:26)

Each failure log is accessible here:
CashTab Unit Tests: <Home /> Renders Sideshift button if user loads with a new wallet

rebase for flaky test, to be checked out in separate diff

This revision is now accepted and ready to land.Feb 26 2024, 06:03

Failed tests logs:

====== CashTab Unit Tests: <Home /> Renders Sideshift button if user loads with a new wallet ======
Error: Unable to find role="button" and name `/Exchange to XEC via SideShift/`

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="ant-spin-nested-loading css-dev-only-do-not-override-1rqnfsa"
    >
      <div>
        <div
          aria-busy="true"
          aria-live="polite"
          class="ant-spin ant-spin-spinning css-dev-only-do-not-override-1rqnfsa"
        >
          <span
            aria-label="loading"
            class="anticon anticon-loading anticon-spin cashLoadingIcon ant-spin-dot"
            role="img"
          >
            <svg
              aria-hidden="true"
              data-icon="loading"
              fill="currentColor"
              focusable="false"
              height="1em"
              viewBox="0 0 1024 1024"
              width="1em"
            >
              <path
                d="M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"
              />
            </svg>
          </span>
        </div>
      </div>
      <div
        class="ant-spin-container ant-spin-blur"
      >
        <div
          class="sc-LKuAh jSXNAo"
        >
          <div
            class="sc-kZmsYB eHkWzo"
          >
            <div
              class="sc-RcBXQ gMCskf"
            >
              <div
                class="sc-hzNEM iiFjIO"
              >
                <div
                  class="sc-iSDuPN ccpgHi"
                >
                  <img
                    alt="cashtab"
                    class="sc-fZwumE bcurWd"
                    src="test-file-stub"
                  />
                </div>
                <div
                  class="sc-elJkPf geNavj"
                  data-testid="wallet-info-ctn"
                >
                  <div
                    class="sc-dEoRIm iVOOxs"
                  >
                    <div
                      class="sc-jtggT dNidya"
                    >
                      Transaction Fixtures
                    </div>
                    <a
                      href="/configure"
                    >
                      <svg
                        class="sc-jTzLTM bTdWCF"
                      />
                    </a>
                    <div>
                       
                      <button
                        aria-checked="true"
                        class="ant-switch ant-switch-small css-dev-only-do-not-override-1rqnfsa ant-switch-checked"
                        role="switch"
                        type="button"
                      >
                        <div
                          class="ant-switch-handle"
                        />
                        <span
                          class="ant-switch-inner"
                        >
                          <span
                            class="ant-switch-inner-checked"
                          >
                            <svg
                              class="sc-cSHVUG bgwEHu"
                            />
                          </span>
                          <span
                            class="ant-switch-inner-unchecked"
                          >
                            <svg
                              class="sc-kAzzGY fUTkYj"
                            />
                          </span>
                        </span>
                      </button>
                    </div>
                  </div>
                  <div
                    class="sc-ebFjAB kxaSkj"
                    data-testid="balance-xec"
                  >
                    0.00
                     
                    XEC
                     
                  </div>
                  <div
                    class="sc-jKVCRD bKzIGa"
                    data-testid="balance-fiat"
                  >
                    $
                    0.00
                     
                    USD
                  </div>
                  <p
                    class="sc-kaNhvL kDOvrh"
                    data-testid="ecash-price"
                  >
                    1 
                    XEC
                     = 
                    0.00003000
                     
                    USD
                  </p>
                </div>
              </div>
              <div
                class="sc-jwKygS hNrbtP"
                data-testid="loading-ctn"
              />
            </div>
            <div
              class="sc-iBEsjs jmPiFQ"
            >
              <button
                class="sc-gmeYpB dpikyJ"
              >
                <svg />
              </button>
              <button
                class="sc-gmeYpB eQwTbZ"
                data-testid="nav-btn-send"
              >
                <svg
                  class="sc-kEYyzF dWIuoY"
                  style="margin-top: -9px;"
                />
              </button>
              <button
                class="sc-gmeYpB eQwTbZ"
                data-testid="nav-btn-etokens"
              >
                <span
                  aria-label="appstore-add"
                  class="anticon anticon-appstore-add"
                  role="img"
                  style="font-size: 24px;"
                >
                  <svg
                    aria-hidden="true"
                    data-icon="appstore-add"
                    fill="currentColor"
                    focusable="false"
                    height="1em"
                    viewBox="64 64 896 896"
                    width="1em"
                  >
                    <defs />
                    <path
                      d="M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zm52 132H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"
                    />
                  </svg>
                </span>
              </button>
              <button
                class="sc-gmeYpB eQwTbZ"
                data-testid="nav-btn-receive"
              >
                <svg />
              </button>
              <div
                class="sc-chbbiW ktwTIv"
                data-testid="hamburger"
              >
                <span
                  class="sc-kxynE bbUulF"
                />
                <div
                  class="sc-cooIXK gkGTON"
                  data-testid="hamburger-menu"
                >
                  <button
                    class="sc-fcdeBU RXlWo"
                    data-testid="nav-btn-airdrop"
                  >
                     
                    <p>
                      Airdrop
                    </p>
                    <svg
                      height="33px"
                      width="30px"
                    />
                  </button>
                  <button
                    class="sc-fcdeBU RXlWo"
                    data-testid="nav-btn-swap"
                  >
                     
                    <p>
                      Swap
                    </p>
                    <span
                      aria-label="swap"
                      class="anticon anticon-swap"
                      role="img"
                      style="font-size: 24px;"
                    >
                      <svg
                        aria-hidden="true"
                        data-icon="swap"
                        fill="currentColor"
                        focusable="false"
                        height="1em"
                        viewBox="64 64 896 896"
                        width="1em"
                      >
                        <path
                          d="M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"
                        />
                      </svg>
                    </span>
                  </button>
                  <button
                    class="sc-fcdeBU RXlWo"
                    data-testid="nav-btn-signverifymsg"
                  >
                    <p>
                      Sign & Verify
                    </p>
                    <svg
                      class="sc-chPdSV kiHcnD"
                    />
                  </button>
                  <button
                    class="sc-fcdeBU RXlWo"
                    data-testid="nav-btn-configure"
                  >
                    <p>
                      Settings
                    </p>
                    <svg
                      height="33px"
                      width="30px"
                    />
                  </button>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
    at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
    at Object.findByRole (/work/cashtab/src/components/Home/__tests__/Home.test.js:128:26)

Each failure log is accessible here:
CashTab Unit Tests: <Home /> Renders Sideshift button if user loads with a new wallet

Failed tests logs:

====== CashTab Unit Tests: <Home /> Renders Sideshift button if user loads with a new wallet ======
Error: Unable to find role="button" and name `/Exchange to XEC via SideShift/`

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="ant-spin-nested-loading css-dev-only-do-not-override-1rqnfsa"
    >
      <div>
        <div
          aria-busy="true"
          aria-live="polite"
          class="ant-spin ant-spin-spinning css-dev-only-do-not-override-1rqnfsa"
        >
          <span
            aria-label="loading"
            class="anticon anticon-loading anticon-spin cashLoadingIcon ant-spin-dot"
            role="img"
          >
            <svg
              aria-hidden="true"
              data-icon="loading"
              fill="currentColor"
              focusable="false"
              height="1em"
              viewBox="0 0 1024 1024"
              width="1em"
            >
              <path
                d="M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"
              />
            </svg>
          </span>
        </div>
      </div>
      <div
        class="ant-spin-container ant-spin-blur"
      >
        <div
          class="sc-LKuAh jSXNAo"
        >
          <div
            class="sc-kZmsYB eHkWzo"
          >
            <div
              class="sc-RcBXQ gMCskf"
            >
              <div
                class="sc-hzNEM iiFjIO"
              >
                <div
                  class="sc-iSDuPN ccpgHi"
                >
                  <img
                    alt="cashtab"
                    class="sc-fZwumE bcurWd"
                    src="test-file-stub"
                  />
                </div>
                <div
                  class="sc-elJkPf geNavj"
                  data-testid="wallet-info-ctn"
                >
                  <div
                    class="sc-dEoRIm iVOOxs"
                  >
                    <div
                      class="sc-jtggT dNidya"
                    >
                      Transaction Fixtures
                    </div>
                    <a
                      href="/configure"
                    >
                      <svg
                        class="sc-jTzLTM bTdWCF"
                      />
                    </a>
                    <div>
                       
                      <button
                        aria-checked="true"
                        class="ant-switch ant-switch-small css-dev-only-do-not-override-1rqnfsa ant-switch-checked"
                        role="switch"
                        type="button"
                      >
                        <div
                          class="ant-switch-handle"
                        />
                        <span
                          class="ant-switch-inner"
                        >
                          <span
                            class="ant-switch-inner-checked"
                          >
                            <svg
                              class="sc-cSHVUG bgwEHu"
                            />
                          </span>
                          <span
                            class="ant-switch-inner-unchecked"
                          >
                            <svg
                              class="sc-kAzzGY fUTkYj"
                            />
                          </span>
                        </span>
                      </button>
                    </div>
                  </div>
                  <div
                    class="sc-ebFjAB kxaSkj"
                    data-testid="balance-xec"
                  >
                    0.00
                     
                    XEC
                     
                  </div>
                  <div
                    class="sc-jKVCRD bKzIGa"
                    data-testid="balance-fiat"
                  >
                    $
                    0.00
                     
                    USD
                  </div>
                  <p
                    class="sc-kaNhvL kDOvrh"
                    data-testid="ecash-price"
                  >
                    1 
                    XEC
                     = 
                    0.00003000
                     
                    USD
                  </p>
                </div>
              </div>
              <div
                class="sc-jwKygS hNrbtP"
                data-testid="loading-ctn"
              />
            </div>
            <div
              class="sc-iBEsjs jmPiFQ"
            >
              <button
                class="sc-gmeYpB dpikyJ"
              >
                <svg />
              </button>
              <button
                class="sc-gmeYpB eQwTbZ"
                data-testid="nav-btn-send"
              >
                <svg
                  class="sc-kEYyzF dWIuoY"
                  style="margin-top: -9px;"
                />
              </button>
              <button
                class="sc-gmeYpB eQwTbZ"
                data-testid="nav-btn-etokens"
              >
                <span
                  aria-label="appstore-add"
                  class="anticon anticon-appstore-add"
                  role="img"
                  style="font-size: 24px;"
                >
                  <svg
                    aria-hidden="true"
                    data-icon="appstore-add"
                    fill="currentColor"
                    focusable="false"
                    height="1em"
                    viewBox="64 64 896 896"
                    width="1em"
                  >
                    <defs />
                    <path
                      d="M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zm52 132H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"
                    />
                  </svg>
                </span>
              </button>
              <button
                class="sc-gmeYpB eQwTbZ"
                data-testid="nav-btn-receive"
              >
                <svg />
              </button>
              <div
                class="sc-chbbiW ktwTIv"
                data-testid="hamburger"
              >
                <span
                  class="sc-kxynE bbUulF"
                />
                <div
                  class="sc-cooIXK gkGTON"
                  data-testid="hamburger-menu"
                >
                  <button
                    class="sc-fcdeBU RXlWo"
                    data-testid="nav-btn-airdrop"
                  >
                     
                    <p>
                      Airdrop
                    </p>
                    <svg
                      height="33px"
                      width="30px"
                    />
                  </button>
                  <button
                    class="sc-fcdeBU RXlWo"
                    data-testid="nav-btn-swap"
                  >
                     
                    <p>
                      Swap
                    </p>
                    <span
                      aria-label="swap"
                      class="anticon anticon-swap"
                      role="img"
                      style="font-size: 24px;"
                    >
                      <svg
                        aria-hidden="true"
                        data-icon="swap"
                        fill="currentColor"
                        focusable="false"
                        height="1em"
                        viewBox="64 64 896 896"
                        width="1em"
                      >
                        <path
                          d="M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"
                        />
                      </svg>
                    </span>
                  </button>
                  <button
                    class="sc-fcdeBU RXlWo"
                    data-testid="nav-btn-signverifymsg"
                  >
                    <p>
                      Sign & Verify
                    </p>
                    <svg
                      class="sc-chPdSV kiHcnD"
                    />
                  </button>
                  <button
                    class="sc-fcdeBU RXlWo"
                    data-testid="nav-btn-configure"
                  >
                    <p>
                      Settings
                    </p>
                    <svg
                      height="33px"
                      width="30px"
                    />
                  </button>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
    at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
    at Object.findByRole (/work/cashtab/src/components/Home/__tests__/Home.test.js:128:26)

Each failure log is accessible here:
CashTab Unit Tests: <Home /> Renders Sideshift button if user loads with a new wallet

let's see if rebasing onto the flaky-test-fix fixes this

rebase to get flaky test fix in