Page MenuHomePhabricator

[Cashtab] Use 64-bit ints for agora offers
ClosedPublic

Authored by bytesofman on Sat, Nov 15, 12:16.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC3e4b420c3737: [Cashtab] Use 64-bit ints for agora offers
Summary

There's not really a reason to use 32 anymore. Will move the ecash-agora default to 64, but that will require some test updates. For now, just update the most common tool used for creating offers.

Test Plan

npm test

Diff Detail

Repository
rABC Bitcoin ABC
Branch
agora-64-live
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 35073
Build 69606: Build Diffcashtab-tests
Build 69605: arc lint + arc unit

Event Timeline

Failed tests logs:

====== CashTab Unit Tests: <Token /> available actions rendered We can list an SLP1 fungible token ======
Error: Unable to find an element with the text: List VSP?. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="sc-kDhYZr lbsWhv"
    >
      <section
        aria-atomic="false"
        aria-label="Notifications Alt+T"
        aria-live="polite"
        aria-relevant="additions text"
        class="Toastify"
      >
        <div
          class="Toastify__toast-container Toastify__toast-container--top-right"
          tabindex="-1"
        >
          <div
            class="Toastify__toast Toastify__toast-theme--dark Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
            data-in="true"
            id="1"
            role="alert"
            tabindex="0"
          >
            <div
              class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
            >
              <svg
                fill="var(--toastify-icon-color-error)"
                height="100%"
                viewBox="0 0 24 24"
                width="100%"
              >
                <path
                  d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
                />
              </svg>
            </div>
            Unable to create Agora offer with these parameters, try increasing the min buy.
            <button
              aria-label="close"
              class="Toastify__close-button Toastify__close-button--dark"
              type="button"
            >
              <svg
                aria-hidden="true"
                viewBox="0 0 14 16"
              >
                <path
                  d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
                  fill-rule="evenodd"
                />
              </svg>
            </button>
            <div
              class="Toastify__progress-bar--wrp"
              data-hidden="false"
            >
              <div
                class="Toastify__progress-bar--bg Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
              />
              <div
                aria-hidden="false"
                aria-label="notification timer"
                class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
                role="progressbar"
                style="animation-duration: 2000ms; animation-play-state: paused;"
              />
            </div>
          </div>
        </div>
      </section>
      <div
        class="sc-sPYgB bWdybM"
      >
        <div
          class="sc-dHIava gwcDcN"
        >
          <div
            class="sc-jQMNup kYdEKV"
            title="Wallet Info"
          >
            <div
              class="sc-bJHhxl iuqHLk"
            >
              <img
                alt="cashtab"
                src="test-file-stub"
              />
              <div
                class="sc-epGmkI jhLth"
                title="Price in Local Currency mobile"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
            </div>
            <div
              class="sc-TuwoP GeXYV"
            >
              <div
                class="sc-fQkuQJ YYJpm"
                title="Price in Local Currency"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
              <div
                class="sc-dphlzf itKiXF"
              >
                <label
                  class="sc-iFUGim gdQNwm"
                >
                  <input
                    checked=""
                    class="sc-cNQqM hNvANk"
                    type="checkbox"
                  />
                  <div
                    class="sc-clBsIJ irAckt"
                  >
                    <img
                      alt="toggle icon"
                      src="test-file-stub"
                    />
                  </div>
                </label>
                <button
                  aria-label="Copy ecash:qqq9f9z3uhpzkxrgdjkd7dxuuey7tmpmugpmnw0kue"
                  class="sc-dNLxif cAFGSA"
                >
                  <svg
                    title="copy-paste"
                  />
                </button>
                <select
                  class="sc-fCPvlr kWYXIa"
                  data-testid="wallet-select"
                  id="wallets"
                  name="wallets"
                >
                  <option
                    class="sc-gAmQfK cThFwn"
                    [...
    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.findByText (/work/cashtab/src/components/Etokens/__tests__/TokenActions.test.js:403:29)
====== CashTab Unit Tests: <Token /> available actions rendered We can list an ALP fungible token ======
TestingLibraryElementError: Unable to find an element with the text: List tCRD?. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="sc-kDhYZr lbsWhv"
    >
      <section
        aria-atomic="false"
        aria-label="Notifications Alt+T"
        aria-live="polite"
        aria-relevant="additions text"
        class="Toastify"
      >
        <div
          class="Toastify__toast-container Toastify__toast-container--top-right"
          tabindex="-1"
        >
          <div
            class="Toastify__toast Toastify__toast-theme--dark Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
            data-in="true"
            id="11"
            role="alert"
            tabindex="0"
          >
            <div
              class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
            >
              <svg
                fill="var(--toastify-icon-color-error)"
                height="100%"
                viewBox="0 0 24 24"
                width="100%"
              >
                <path
                  d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
                />
              </svg>
            </div>
            Unable to create Agora offer with these parameters, try increasing the min buy.
            <button
              aria-label="close"
              class="Toastify__close-button Toastify__close-button--dark"
              type="button"
            >
              <svg
                aria-hidden="true"
                viewBox="0 0 14 16"
              >
                <path
                  d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
                  fill-rule="evenodd"
                />
              </svg>
            </button>
            <div
              class="Toastify__progress-bar--wrp"
              data-hidden="false"
            >
              <div
                class="Toastify__progress-bar--bg Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
              />
              <div
                aria-hidden="false"
                aria-label="notification timer"
                class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
                role="progressbar"
                style="animation-duration: 2000ms; animation-play-state: paused;"
              />
            </div>
          </div>
        </div>
      </section>
      <div
        class="sc-sPYgB bWdybM"
      >
        <div
          class="sc-dHIava gwcDcN"
        >
          <div
            class="sc-jQMNup kYdEKV"
            title="Wallet Info"
          >
            <div
              class="sc-bJHhxl iuqHLk"
            >
              <img
                alt="cashtab"
                src="test-file-stub"
              />
              <div
                class="sc-epGmkI jhLth"
                title="Price in Local Currency mobile"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
            </div>
            <div
              class="sc-TuwoP GeXYV"
            >
              <div
                class="sc-fQkuQJ YYJpm"
                title="Price in Local Currency"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
              <div
                class="sc-dphlzf itKiXF"
              >
                <label
                  class="sc-ekHBYt JWgbH"
                >
                  <input
                    checked=""
                    class="sc-eTyWNx hddDQA"
                    type="checkbox"
                  />
                  <div
                    class="sc-ccXozh gwLiBn"
                  >
                    <img
                      alt="toggle icon"
                      src="test-file-stub"
                    />
                  </div>
                </label>
                <button
                  aria-label="Copy ecash:qqq9f9z3uhpzkxrgdjkd7dxuuey7tmpmugpmnw0kue"
                  class="sc-dNLxif cAFGSA"
                >
                  <svg
                    title="copy-paste"
                  />
                </button>
                <select
                  class="sc-fCPvlr kWYXIa"
                  data-testid="wallet-select"
                  id="wallets"
                  name="wallets"
                >
                  <option
                    class="sc-gAmQfK cThFwn"
                    ...
    at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
    at Object.getByText (/work/cashtab/src/components/Etokens/__tests__/TokenActions.test.js:1904:23)
====== CashTab Unit Tests: <Token /> available actions rendered We can redeem XECX for XEC 1:1 using a workflow unique to XECX ======
TestingLibraryElementError: Unable to find an element with the text: Redeem 10,000.00 XECX?. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="sc-kDhYZr lbsWhv"
    >
      <section
        aria-atomic="false"
        aria-label="Notifications Alt+T"
        aria-live="polite"
        aria-relevant="additions text"
        class="Toastify"
      >
        <div
          class="Toastify__toast-container Toastify__toast-container--top-right"
          tabindex="-1"
        >
          <div
            class="Toastify__toast Toastify__toast-theme--dark Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
            data-in="true"
            id="12"
            role="alert"
            tabindex="0"
          >
            <div
              class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
            >
              <svg
                fill="var(--toastify-icon-color-error)"
                height="100%"
                viewBox="0 0 24 24"
                width="100%"
              >
                <path
                  d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
                />
              </svg>
            </div>
            Unable to create Agora offer with these parameters, try increasing the min buy.
            <button
              aria-label="close"
              class="Toastify__close-button Toastify__close-button--dark"
              type="button"
            >
              <svg
                aria-hidden="true"
                viewBox="0 0 14 16"
              >
                <path
                  d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
                  fill-rule="evenodd"
                />
              </svg>
            </button>
            <div
              class="Toastify__progress-bar--wrp"
              data-hidden="false"
            >
              <div
                class="Toastify__progress-bar--bg Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
              />
              <div
                aria-hidden="false"
                aria-label="notification timer"
                class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
                role="progressbar"
                style="animation-duration: 2000ms; animation-play-state: paused;"
              />
            </div>
          </div>
        </div>
      </section>
      <div
        class="sc-sPYgB bWdybM"
      >
        <div
          class="sc-dHIava gwcDcN"
        >
          <div
            class="sc-jQMNup kYdEKV"
            title="Wallet Info"
          >
            <div
              class="sc-bJHhxl iuqHLk"
            >
              <img
                alt="cashtab"
                src="test-file-stub"
              />
              <div
                class="sc-epGmkI jhLth"
                title="Price in Local Currency mobile"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
            </div>
            <div
              class="sc-TuwoP GeXYV"
            >
              <div
                class="sc-fQkuQJ YYJpm"
                title="Price in Local Currency"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
              <div
                class="sc-dphlzf itKiXF"
              >
                <label
                  class="sc-evWYkj kTEHtn"
                >
                  <input
                    checked=""
                    class="sc-idjmjb kZPoPV"
                    type="checkbox"
                  />
                  <div
                    class="sc-fHlXLc fFyrJu"
                  >
                    <img
                      alt="toggle icon"
                      src="test-file-stub"
                    />
                  </div>
                </label>
                <button
                  aria-label="Copy ecash:qqq9f9z3uhpzkxrgdjkd7dxuuey7tmpmugpmnw0kue"
                  class="sc-dNLxif cAFGSA"
                >
                  <svg
                    title="copy-paste"
                  />
                </button>
                <select
                  class="sc-fCPvlr kWYXIa"
                  data-testid="wallet-select"
                  id="wallets"
                  name="wallets"
                >
                  <option
                    class="sc-gAmQfK cThFwn"
                    ...
    at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
    at Object.getByText (/work/cashtab/src/components/Etokens/__tests__/TokenActions.test.js:2045:23)
====== CashTab Unit Tests: <Token /> available actions rendered We see expected alert in XECX redemption workflow for hot wallet balance ======
TestingLibraryElementError: Unable to find an element with the text: Redeem 10,000.00 XECX?. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="sc-kDhYZr lbsWhv"
    >
      <section
        aria-atomic="false"
        aria-label="Notifications Alt+T"
        aria-live="polite"
        aria-relevant="additions text"
        class="Toastify"
      >
        <div
          class="Toastify__toast-container Toastify__toast-container--top-right"
          tabindex="-1"
        >
          <div
            class="Toastify__toast Toastify__toast-theme--dark Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
            data-in="true"
            id="13"
            role="alert"
            tabindex="0"
          >
            <div
              class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
            >
              <svg
                fill="var(--toastify-icon-color-error)"
                height="100%"
                viewBox="0 0 24 24"
                width="100%"
              >
                <path
                  d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
                />
              </svg>
            </div>
            Unable to create Agora offer with these parameters, try increasing the min buy.
            <button
              aria-label="close"
              class="Toastify__close-button Toastify__close-button--dark"
              type="button"
            >
              <svg
                aria-hidden="true"
                viewBox="0 0 14 16"
              >
                <path
                  d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
                  fill-rule="evenodd"
                />
              </svg>
            </button>
            <div
              class="Toastify__progress-bar--wrp"
              data-hidden="false"
            >
              <div
                class="Toastify__progress-bar--bg Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
              />
              <div
                aria-hidden="false"
                aria-label="notification timer"
                class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
                role="progressbar"
                style="animation-duration: 2000ms; animation-play-state: paused;"
              />
            </div>
          </div>
        </div>
      </section>
      <div
        class="sc-sPYgB bWdybM"
      >
        <div
          class="sc-dHIava gwcDcN"
        >
          <div
            class="sc-jQMNup kYdEKV"
            title="Wallet Info"
          >
            <div
              class="sc-bJHhxl iuqHLk"
            >
              <img
                alt="cashtab"
                src="test-file-stub"
              />
              <div
                class="sc-epGmkI jhLth"
                title="Price in Local Currency mobile"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
            </div>
            <div
              class="sc-TuwoP GeXYV"
            >
              <div
                class="sc-fQkuQJ YYJpm"
                title="Price in Local Currency"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
              <div
                class="sc-dphlzf itKiXF"
              >
                <label
                  class="sc-cZLAbK TpNbc"
                >
                  <input
                    checked=""
                    class="sc-iVOTot YTYxr"
                    type="checkbox"
                  />
                  <div
                    class="sc-kOCNXg gAzyyd"
                  >
                    <img
                      alt="toggle icon"
                      src="test-file-stub"
                    />
                  </div>
                </label>
                <button
                  aria-label="Copy ecash:qqq9f9z3uhpzkxrgdjkd7dxuuey7tmpmugpmnw0kue"
                  class="sc-dNLxif cAFGSA"
                >
                  <svg
                    title="copy-paste"
                  />
                </button>
                <select
                  class="sc-fCPvlr kWYXIa"
                  data-testid="wallet-select"
                  id="wallets"
                  name="wallets"
                >
                  <option
                    class="sc-gAmQfK cThFwn"
                    [...
    at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
    at Object.getByText (/work/cashtab/src/components/Etokens/__tests__/TokenActions.test.js:2150:23)
====== CashTab Unit Tests: <Token /> available actions rendered We DO NOT see expected alert in XECX redemption workflow for hot wallet balance if there is some error determining the hot wallet balance ======
TestingLibraryElementError: Unable to find an element with the text: Redeem 10,000.00 XECX?. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="sc-kDhYZr lbsWhv"
    >
      <section
        aria-atomic="false"
        aria-label="Notifications Alt+T"
        aria-live="polite"
        aria-relevant="additions text"
        class="Toastify"
      >
        <div
          class="Toastify__toast-container Toastify__toast-container--top-right"
          tabindex="-1"
        >
          <div
            class="Toastify__toast Toastify__toast-theme--dark Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
            data-in="true"
            id="14"
            role="alert"
            tabindex="0"
          >
            <div
              class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
            >
              <svg
                fill="var(--toastify-icon-color-error)"
                height="100%"
                viewBox="0 0 24 24"
                width="100%"
              >
                <path
                  d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
                />
              </svg>
            </div>
            Unable to create Agora offer with these parameters, try increasing the min buy.
            <button
              aria-label="close"
              class="Toastify__close-button Toastify__close-button--dark"
              type="button"
            >
              <svg
                aria-hidden="true"
                viewBox="0 0 14 16"
              >
                <path
                  d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
                  fill-rule="evenodd"
                />
              </svg>
            </button>
            <div
              class="Toastify__progress-bar--wrp"
              data-hidden="false"
            >
              <div
                class="Toastify__progress-bar--bg Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
              />
              <div
                aria-hidden="false"
                aria-label="notification timer"
                class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
                role="progressbar"
                style="animation-duration: 2000ms; animation-play-state: paused;"
              />
            </div>
          </div>
        </div>
      </section>
      <div
        class="sc-sPYgB bWdybM"
      >
        <div
          class="sc-dHIava gwcDcN"
        >
          <div
            class="sc-jQMNup kYdEKV"
            title="Wallet Info"
          >
            <div
              class="sc-bJHhxl iuqHLk"
            >
              <img
                alt="cashtab"
                src="test-file-stub"
              />
              <div
                class="sc-epGmkI jhLth"
                title="Price in Local Currency mobile"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
            </div>
            <div
              class="sc-TuwoP GeXYV"
            >
              <div
                class="sc-fQkuQJ YYJpm"
                title="Price in Local Currency"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
              <div
                class="sc-dphlzf itKiXF"
              >
                <label
                  class="sc-fxgLge AtLzD"
                >
                  <input
                    checked=""
                    class="sc-hDgvsY dzGFgv"
                    type="checkbox"
                  />
                  <div
                    class="sc-gtXRHa dncABj"
                  >
                    <img
                      alt="toggle icon"
                      src="test-file-stub"
                    />
                  </div>
                </label>
                <button
                  aria-label="Copy ecash:qqq9f9z3uhpzkxrgdjkd7dxuuey7tmpmugpmnw0kue"
                  class="sc-dNLxif cAFGSA"
                >
                  <svg
                    title="copy-paste"
                  />
                </button>
                <select
                  class="sc-fCPvlr kWYXIa"
                  data-testid="wallet-select"
                  id="wallets"
                  name="wallets"
                >
                  <option
                    class="sc-gAmQfK cThFwn"
                    ...
    at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
    at Object.getByText (/work/cashtab/src/components/Etokens/__tests__/TokenActions.test.js:2240:23)
====== CashTab Unit Tests: <Token /> available actions rendered We can redeem 1 Firma for $1 of XEC using a workflow unique to Firma ======
Error: Unable to find an element with the text: Redeem $FIRMA for XEC?. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="sc-kDhYZr lbsWhv"
    >
      <section
        aria-atomic="false"
        aria-label="Notifications Alt+T"
        aria-live="polite"
        aria-relevant="additions text"
        class="Toastify"
      >
        <div
          class="Toastify__toast-container Toastify__toast-container--top-right"
          tabindex="-1"
        >
          <div
            class="Toastify__toast Toastify__toast-theme--dark Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
            data-in="true"
            id="15"
            role="alert"
            tabindex="0"
          >
            <div
              class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
            >
              <svg
                fill="var(--toastify-icon-color-error)"
                height="100%"
                viewBox="0 0 24 24"
                width="100%"
              >
                <path
                  d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
                />
              </svg>
            </div>
            Unable to create Agora offer with these parameters, try increasing the min buy.
            <button
              aria-label="close"
              class="Toastify__close-button Toastify__close-button--dark"
              type="button"
            >
              <svg
                aria-hidden="true"
                viewBox="0 0 14 16"
              >
                <path
                  d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
                  fill-rule="evenodd"
                />
              </svg>
            </button>
            <div
              class="Toastify__progress-bar--wrp"
              data-hidden="false"
            >
              <div
                class="Toastify__progress-bar--bg Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
              />
              <div
                aria-hidden="false"
                aria-label="notification timer"
                class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
                role="progressbar"
                style="animation-duration: 2000ms; animation-play-state: paused;"
              />
            </div>
          </div>
        </div>
      </section>
      <div
        class="sc-sPYgB bWdybM"
      >
        <div
          class="sc-dHIava gwcDcN"
        >
          <div
            class="sc-jQMNup kYdEKV"
            title="Wallet Info"
          >
            <div
              class="sc-bJHhxl iuqHLk"
            >
              <img
                alt="cashtab"
                src="test-file-stub"
              />
              <div
                class="sc-epGmkI jhLth"
                title="Price in Local Currency mobile"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
            </div>
            <div
              class="sc-TuwoP GeXYV"
            >
              <div
                class="sc-fQkuQJ YYJpm"
                title="Price in Local Currency"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
              <div
                class="sc-dphlzf itKiXF"
              >
                <label
                  class="sc-kvkilB GiLpZ"
                >
                  <input
                    checked=""
                    class="sc-cANqwJ OsUKg"
                    type="checkbox"
                  />
                  <div
                    class="sc-clWJBl kdzlZe"
                  >
                    <img
                      alt="toggle icon"
                      src="test-file-stub"
                    />
                  </div>
                </label>
                <button
                  aria-label="Copy ecash:qqq9f9z3uhpzkxrgdjkd7dxuuey7tmpmugpmnw0kue"
                  class="sc-dNLxif cAFGSA"
                >
                  <svg
                    title="copy-paste"
                  />
                </button>
                <select
                  class="sc-fCPvlr kWYXIa"
                  data-testid="wallet-select"
                  id="wallets"
                  name="wallets"
                >
                  <option
                    class="sc-gAmQfK cThFwn"
                    [...
    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.findByText (/work/cashtab/src/components/Etokens/__tests__/TokenActions.test.js:2370:26)
====== CashTab Unit Tests: <Token /> available actions rendered FIRMA redeem is disabled if the hot wallet cannot cover redeem amount ======
Error: Unable to find an element with the text: Redeem $FIRMA for XEC?. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="sc-kDhYZr lbsWhv"
    >
      <section
        aria-atomic="false"
        aria-label="Notifications Alt+T"
        aria-live="polite"
        aria-relevant="additions text"
        class="Toastify"
      >
        <div
          class="Toastify__toast-container Toastify__toast-container--top-right"
          tabindex="-1"
        >
          <div
            class="Toastify__toast Toastify__toast-theme--dark Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
            data-in="true"
            id="16"
            role="alert"
            tabindex="0"
          >
            <div
              class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
            >
              <svg
                fill="var(--toastify-icon-color-error)"
                height="100%"
                viewBox="0 0 24 24"
                width="100%"
              >
                <path
                  d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
                />
              </svg>
            </div>
            Unable to create Agora offer with these parameters, try increasing the min buy.
            <button
              aria-label="close"
              class="Toastify__close-button Toastify__close-button--dark"
              type="button"
            >
              <svg
                aria-hidden="true"
                viewBox="0 0 14 16"
              >
                <path
                  d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
                  fill-rule="evenodd"
                />
              </svg>
            </button>
            <div
              class="Toastify__progress-bar--wrp"
              data-hidden="false"
            >
              <div
                class="Toastify__progress-bar--bg Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
              />
              <div
                aria-hidden="false"
                aria-label="notification timer"
                class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
                role="progressbar"
                style="animation-duration: 2000ms; animation-play-state: paused;"
              />
            </div>
          </div>
        </div>
      </section>
      <div
        class="sc-sPYgB bWdybM"
      >
        <div
          class="sc-dHIava gwcDcN"
        >
          <div
            class="sc-jQMNup kYdEKV"
            title="Wallet Info"
          >
            <div
              class="sc-bJHhxl iuqHLk"
            >
              <img
                alt="cashtab"
                src="test-file-stub"
              />
              <div
                class="sc-epGmkI jhLth"
                title="Price in Local Currency mobile"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
            </div>
            <div
              class="sc-TuwoP GeXYV"
            >
              <div
                class="sc-fQkuQJ YYJpm"
                title="Price in Local Currency"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
              <div
                class="sc-dphlzf itKiXF"
              >
                <label
                  class="sc-lhLRcH fEtigE"
                >
                  <input
                    checked=""
                    class="sc-jMtzgO hFVdHq"
                    type="checkbox"
                  />
                  <div
                    class="sc-ccvjgv hQHZNr"
                  >
                    <img
                      alt="toggle icon"
                      src="test-file-stub"
                    />
                  </div>
                </label>
                <button
                  aria-label="Copy ecash:qqq9f9z3uhpzkxrgdjkd7dxuuey7tmpmugpmnw0kue"
                  class="sc-dNLxif cAFGSA"
                >
                  <svg
                    title="copy-paste"
                  />
                </button>
                <select
                  class="sc-fCPvlr kWYXIa"
                  data-testid="wallet-select"
                  id="wallets"
                  name="wallets"
                >
                  <option
                    class="sc-gAmQfK cThFwn"
                    ...
    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.findByText (/work/cashtab/src/components/Etokens/__tests__/TokenActions.test.js:2507:26)
====== CashTab Unit Tests: <Token /> available actions rendered We can list a MINT VAULT fungible token ======
TestingLibraryElementError: Unable to find an element with the text: List MVTT β?. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="sc-kDhYZr lbsWhv"
    >
      <section
        aria-atomic="false"
        aria-label="Notifications Alt+T"
        aria-live="polite"
        aria-relevant="additions text"
        class="Toastify"
      >
        <div
          class="Toastify__toast-container Toastify__toast-container--top-right"
          tabindex="-1"
        >
          <div
            class="Toastify__toast Toastify__toast-theme--dark Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
            data-in="true"
            id="20"
            role="alert"
            tabindex="0"
          >
            <div
              class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
            >
              <svg
                fill="var(--toastify-icon-color-error)"
                height="100%"
                viewBox="0 0 24 24"
                width="100%"
              >
                <path
                  d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
                />
              </svg>
            </div>
            Unable to create Agora offer with these parameters, try increasing the min buy.
            <button
              aria-label="close"
              class="Toastify__close-button Toastify__close-button--dark"
              type="button"
            >
              <svg
                aria-hidden="true"
                viewBox="0 0 14 16"
              >
                <path
                  d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
                  fill-rule="evenodd"
                />
              </svg>
            </button>
            <div
              class="Toastify__progress-bar--wrp"
              data-hidden="false"
            >
              <div
                class="Toastify__progress-bar--bg Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
              />
              <div
                aria-hidden="false"
                aria-label="notification timer"
                class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
                role="progressbar"
                style="animation-duration: 2000ms; animation-play-state: paused;"
              />
            </div>
          </div>
        </div>
      </section>
      <div
        class="sc-sPYgB bWdybM"
      >
        <div
          class="sc-dHIava gwcDcN"
        >
          <div
            class="sc-jQMNup kYdEKV"
            title="Wallet Info"
          >
            <div
              class="sc-bJHhxl iuqHLk"
            >
              <img
                alt="cashtab"
                src="test-file-stub"
              />
              <div
                class="sc-epGmkI jhLth"
                title="Price in Local Currency mobile"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
            </div>
            <div
              class="sc-TuwoP GeXYV"
            >
              <div
                class="sc-fQkuQJ YYJpm"
                title="Price in Local Currency"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
              <div
                class="sc-dphlzf itKiXF"
              >
                <label
                  class="sc-dWcDbm jQQuFG"
                >
                  <input
                    checked=""
                    class="sc-esExBO iTmvTY"
                    type="checkbox"
                  />
                  <div
                    class="sc-ctwKVn ecozpq"
                  >
                    <img
                      alt="toggle icon"
                      src="test-file-stub"
                    />
                  </div>
                </label>
                <button
                  aria-label="Copy ecash:qqq9f9z3uhpzkxrgdjkd7dxuuey7tmpmugpmnw0kue"
                  class="sc-dNLxif cAFGSA"
                >
                  <svg
                    title="copy-paste"
                  />
                </button>
                <select
                  class="sc-fCPvlr kWYXIa"
                  data-testid="wallet-select"
                  id="wallets"
                  name="wallets"
                >
                  <option
                    class="sc-gAmQfK cThFwn"
                    ...
    at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
    at Object.getByText (/work/cashtab/src/components/Etokens/__tests__/TokenActions.test.js:2865:23)
====== CashTab Unit Tests: <Token /> available actions rendered We do not allow users to list FIRMA below the bid price ======
Error: Unable to find an element with the text: List FIRMA?. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
<body>
  <div>
    <div
      class="sc-kDhYZr lbsWhv"
    >
      <section
        aria-atomic="false"
        aria-label="Notifications Alt+T"
        aria-live="polite"
        aria-relevant="additions text"
        class="Toastify"
      >
        <div
          class="Toastify__toast-container Toastify__toast-container--top-right"
          tabindex="-1"
        >
          <div
            class="Toastify__toast Toastify__toast-theme--dark Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
            data-in="true"
            id="21"
            role="alert"
            tabindex="0"
          >
            <div
              class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
            >
              <svg
                fill="var(--toastify-icon-color-error)"
                height="100%"
                viewBox="0 0 24 24"
                width="100%"
              >
                <path
                  d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
                />
              </svg>
            </div>
            Unable to create Agora offer with these parameters, try increasing the min buy.
            <button
              aria-label="close"
              class="Toastify__close-button Toastify__close-button--dark"
              type="button"
            >
              <svg
                aria-hidden="true"
                viewBox="0 0 14 16"
              >
                <path
                  d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
                  fill-rule="evenodd"
                />
              </svg>
            </button>
            <div
              class="Toastify__progress-bar--wrp"
              data-hidden="false"
            >
              <div
                class="Toastify__progress-bar--bg Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
              />
              <div
                aria-hidden="false"
                aria-label="notification timer"
                class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--dark Toastify__progress-bar--error"
                role="progressbar"
                style="animation-duration: 2000ms; animation-play-state: paused;"
              />
            </div>
          </div>
        </div>
      </section>
      <div
        class="sc-sPYgB bWdybM"
      >
        <div
          class="sc-dHIava gwcDcN"
        >
          <div
            class="sc-jQMNup kYdEKV"
            title="Wallet Info"
          >
            <div
              class="sc-bJHhxl iuqHLk"
            >
              <img
                alt="cashtab"
                src="test-file-stub"
              />
              <div
                class="sc-epGmkI jhLth"
                title="Price in Local Currency mobile"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
            </div>
            <div
              class="sc-TuwoP GeXYV"
            >
              <div
                class="sc-fQkuQJ YYJpm"
                title="Price in Local Currency"
              >
                1 
                XEC
                 = 
                0.00003000
                 
                USD
              </div>
              <div
                class="sc-dphlzf itKiXF"
              >
                <label
                  class="sc-dCaJBF eiCcKa"
                >
                  <input
                    checked=""
                    class="sc-cXHFlN jSyGXF"
                    type="checkbox"
                  />
                  <div
                    class="sc-ihiiSJ dhUwvy"
                  >
                    <img
                      alt="toggle icon"
                      src="test-file-stub"
                    />
                  </div>
                </label>
                <button
                  aria-label="Copy ecash:qqq9f9z3uhpzkxrgdjkd7dxuuey7tmpmugpmnw0kue"
                  class="sc-dNLxif cAFGSA"
                >
                  <svg
                    title="copy-paste"
                  />
                </button>
                <select
                  class="sc-fCPvlr kWYXIa"
                  data-testid="wallet-select"
                  id="wallets"
                  name="wallets"
                >
                  <option
                    class="sc-gAmQfK cThFwn"
                    ...
    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.findByText (/work/cashtab/src/components/Etokens/__tests__/TokenActions.test.js:2979:29)

Each failure log is accessible here:
CashTab Unit Tests: <Token /> available actions rendered We can list an SLP1 fungible token
CashTab Unit Tests: <Token /> available actions rendered We can list an ALP fungible token
CashTab Unit Tests: <Token /> available actions rendered We can redeem XECX for XEC 1:1 using a workflow unique to XECX
CashTab Unit Tests: <Token /> available actions rendered We see expected alert in XECX redemption workflow for hot wallet balance
CashTab Unit Tests: <Token /> available actions rendered We DO NOT see expected alert in XECX redemption workflow for hot wallet balance if there is some error determining the hot wallet balance
CashTab Unit Tests: <Token /> available actions rendered We can redeem 1 Firma for $1 of XEC using a workflow unique to Firma
CashTab Unit Tests: <Token /> available actions rendered FIRMA redeem is disabled if the hot wallet cannot cover redeem amount
CashTab Unit Tests: <Token /> available actions rendered We can list a MINT VAULT fungible token
CashTab Unit Tests: <Token /> available actions rendered We do not allow users to list FIRMA below the bid price

This revision is now accepted and ready to land.Sat, Nov 15, 14:00