Skip to content

Commit

Permalink
Merge pull request #8879 from LedgerHQ/support/QAA-420
Browse files Browse the repository at this point in the history
[QAA-420] - Adding e2e test - reset app
  • Loading branch information
VicAlbr authored Jan 14, 2025
2 parents a113283 + 01615ca commit 38f7d5d
Show file tree
Hide file tree
Showing 8 changed files with 90 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,13 @@ export function Welcome() {
<LeftContainer>
<Presentation>
<Logos.LedgerLiveRegular color={colors.neutral.c100} />
<Text variant="h1" pt={10} pb={7} onClick={() => handleOpenFeatureFlagsDrawer("1")}>
<Text
data-testid="onbording-welcome-title"
variant="h1"
pt={10}
pb={7}
onClick={() => handleOpenFeatureFlagsDrawer("1")}
>
{t("onboarding.screens.welcome.title")}
</Text>
<Description variant="body" onClick={() => handleOpenFeatureFlagsDrawer("2")}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export default function ResetButton() {
}, [pending, handleConfirm, handleError, hardReset]);
return (
<>
<Button small danger onClick={open} event="HardResetIntent">
<Button data-testid="reset-button" small danger onClick={open} event="HardResetIntent">
{t("common.reset")}
</Button>

Expand All @@ -48,7 +48,7 @@ export default function ResetButton() {
desc={
<Box>
{t("settings.hardResetModal.desc")}
<Alert type="warning" mt={4}>
<Alert data-testid="warning-message" type="warning" mt={4}>
{t("settings.hardResetModal.warning")}
</Alert>
</Box>
Expand Down
4 changes: 4 additions & 0 deletions apps/ledger-live-desktop/tests/page/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ import { LockscreenPage } from "tests/page/lockscreen.page";
import { NFTDrawer } from "./drawer/nft.drawer";
import { NftGallery } from "./nftGallery.page";
import { AssetPage } from "./asset.page";
import { SettingsModal } from "tests/page/modal/settings.modal";
import { OnboardingPage } from "tests/page/onboarding.page";

export class Application extends PageHolder {
public account = new AccountPage(this.page);
Expand All @@ -49,4 +51,6 @@ export class Application extends PageHolder {
public nftDrawer = new NFTDrawer(this.page);
public nftGallery = new NftGallery(this.page);
public assetPage = new AssetPage(this.page);
public settingsModal = new SettingsModal(this.page);
public onboarding = new OnboardingPage(this.page);
}
20 changes: 20 additions & 0 deletions apps/ledger-live-desktop/tests/page/modal/settings.modal.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { expect } from "@playwright/test";
import { Modal } from "../../component/modal.component";
import { step } from "tests/misc/reporters/step";

export class SettingsModal extends Modal {
readonly warningMessage = this.page.getByTestId("warning-message");

@step("Check Reset Modal")
async checkResetModal() {
await expect(this.title).toHaveText("Reset Ledger Live");
await expect(this.warningMessage).toHaveText(
"Resetting Ledger Live will erase your swap transaction history for all your accounts.",
);
}

@step("Click on Confirm Button")
async clickOnConfirmButton() {
await this.confirmButton.click();
}
}
2 changes: 2 additions & 0 deletions apps/ledger-live-desktop/tests/page/onboarding.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,11 @@ export class OnboardingPage extends AppPage {
private quizAnswerTopButton = this.page.getByTestId("v3-quiz-answer-0");
private quizAnswerBottomButton = this.page.getByTestId("v3-quiz-answer-1");
readonly roleAnimation = this.page.locator("[role=animation]");
private onbordingWelcomeTitle = this.page.getByTestId("onbording-welcome-title");

async waitForLaunch() {
await this.getStartedButton.waitFor({ state: "visible" });
await this.onbordingWelcomeTitle.waitFor({ state: "visible" });
}

async waitForPedagogyModal() {
Expand Down
9 changes: 9 additions & 0 deletions apps/ledger-live-desktop/tests/page/settings.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ export class SettingsPage extends AppPage {
private developerTab = this.page.getByTestId("settings-developer-tab");
private experimentalDevModeToggle = this.page.getByTestId("MANAGER_DEV_MODE-button");
private ledgerSupport = this.page.getByTestId("ledgerSupport-link");
private resetAppButton = this.page.getByTestId("reset-button");

readonly counterValueSelector = this.page.locator(
"[data-testid='setting-countervalue-dropDown'] .select__value-container",
Expand All @@ -39,14 +40,17 @@ export class SettingsPage extends AppPage {
await this.accountsTab.click();
}

@step("Go to Settings About tab")
async goToAboutTab() {
await this.aboutTab.click();
}

@step("Go to Settings Help tab")
async goToHelpTab() {
await this.helpTab.click();
}

@step("Go to Settings Experimental tab")
async goToExperimentalTab() {
await this.experimentalTab.click();
}
Expand Down Expand Up @@ -124,4 +128,9 @@ export class SettingsPage extends AppPage {
}
expect(url).toBe("https://support.ledger.com/?redirect=false");
}

@step("Reset App")
async resetApp() {
await this.resetAppButton.click();
}
}
30 changes: 30 additions & 0 deletions apps/ledger-live-desktop/tests/specs/speculos/settings.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { addTmsLink } from "tests/utils/allureUtils";
import { getDescription } from "../../utils/customJsonReporter";
import { Account } from "@ledgerhq/live-common/e2e/enum/Account";
import { CLI } from "tests/utils/cliUtils";
import { FileUtils } from "tests/utils/fileUtils";

test.describe("Settings", () => {
test.use({
Expand Down Expand Up @@ -147,3 +148,32 @@ test.describe("Ledger Support (web link)", () => {
},
);
});

test.describe("Reset app", () => {
test.use({
userdata: "1AccountBTC1AccountETH",
});

test(
"Verify that user can Reset app",
{
annotation: {
type: "TMS",
description: "B2CQA-821",
},
},
async ({ app, userdataFile }) => {
await addTmsLink(getDescription(test.info().annotations, "TMS").split(", "));

await app.layout.goToSettings();
const appJsonBefore = await FileUtils.getAppJsonSize(userdataFile);
await app.settings.goToHelpTab();
await app.settings.resetApp();
await app.settingsModal.checkResetModal();
await app.settingsModal.clickOnConfirmButton();
await app.onboarding.waitForLaunch();
const appJsonAfter = await FileUtils.getAppJsonSize(userdataFile);
await FileUtils.compareAppJsonSize(appJsonBefore, appJsonAfter);
},
);
});
16 changes: 16 additions & 0 deletions apps/ledger-live-desktop/tests/utils/fileUtils.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import { appendFile } from "fs/promises";
import { expect } from "@playwright/test";
import { step } from "tests/misc/reporters/step";
import fs from "fs/promises";

export async function safeAppendFile(filePath: string, data: string) {
try {
Expand All @@ -7,3 +10,16 @@ export async function safeAppendFile(filePath: string, data: string) {
if (e) console.error("couldn't append file", e);
}
}

export class FileUtils {
@step("get app.json size")
static async getAppJsonSize(userdataFile: string) {
const fileStats = await fs.stat(userdataFile);
return fileStats.size;
}

@step("Compare 2 app.json files")
static async compareAppJsonSize(appJson1: number, appJson2: number) {
expect(appJson1).not.toEqual(appJson2);
}
}

1 comment on commit 38f7d5d

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Bot] Testing with 'Nitrogen' ✅ 2 txs ❌ 1 txs ($8.10) ⏲ 81.2s

❌ 1 specs have problems: Algorand

What is the bot and how does it work? Everything is documented here!

❌ 1 mutation errors
necessary accounts resynced in 0.21ms
▬ Algorand 2.1.14 on nanoS 2.1.0
→ FROM undefined: 6.69867 ALGO (731ops) (WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA on 44'/283'/3'/0/0) #3 js:2:algorand:WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA: 3.598673 ALGO spendable. 
  TokenAccount Asia Reserve Currency Coin: 0 ARCC (0 ops)
  TokenAccount MESE USD Exchange Token: 0 USD-MESE (0 ops)
  TokenAccount MESE Index Fund: 0 MESX (0 ops)
  TokenAccount Micro-Microsoft: 0 M-MSFT (0 ops)
  TokenAccount Micro-Amazon: 0 M-AMZN (0 ops)
  TokenAccount Micro-Twitter: 0 M-TWTR (0 ops)
  TokenAccount Micro-Netflix: 0 M-NFLX (0 ops)
  TokenAccount Micro-Google: 0 M-GOOGL (0 ops)
  TokenAccount Micro-Apple: 0 M-AAPL (0 ops)
  TokenAccount Micro-Tesla: 0 M-TSLA (0 ops)
  TokenAccount Realio Token: 0 RIO (0 ops)
  TokenAccount realioUSD: 0 RUSD (0 ops)
  TokenAccount Liquid Mining Fund I: 0 RHO 1 (0 ops)
  TokenAccount Credit Opportunities Fund I: 0 VAL 1 (0 ops)
  TokenAccount Meld Gold: 0 MCAU (0 ops)
  TokenAccount Meld Silver: 0 MCAG (0 ops)
  TokenAccount PLANET: 0 PLANETS (0 ops)
  TokenAccount USDC: 0 USDC (0 ops)
  TokenAccount HEADLINE: 0 HDL (0 ops)
  TokenAccount Exodus: 0 EXIT (0 ops)
  TokenAccount Yieldly: 0 YLDY (0 ops)
  TokenAccount AlgoGems: 0 GEMS (0 ops)
  TokenAccount Opulous: 0 OPUL (0 ops)
  TokenAccount Choice Coin: 0 CHOICE (0 ops)
  TokenAccount Smile Coin: 0 SMILE (0 ops)
  TokenAccount goBTC: 0 goBTC (0 ops)
  TokenAccount goETH: 0 goETH (0 ops)
  TokenAccount goMINT: 0 goMINT (0 ops)
  TokenAccount Nimble: 0 NIMBLE (0 ops)
  TokenAccount CollecteursX: 0 CLTR (0 ops)
max spendable ~3.59767
★ using mutation 'opt-In ASA available'
→ TO undefined: 6.69867 ALGO (731ops) (WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA on 44'/283'/3'/0/0) #3 js:2:algorand:WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA:
✔️ transaction 
    OPT_IN 0 ALGO
    TO WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA
    with fees=0.001 ALGO
STATUS (866ms)
  amount: 0 ALGO
  estimated fees: 0.001 ALGO
  total spent: 0.001 ALGO
errors: 
warnings: 
⚠️ TEST deviceAction confirm step 'Asset ID'
Error: expect(received).toMatchObject(expected)

- Expected  - 1
+ Received  + 1

  Object {
-   "Asset ID": "Defly Token (#470842789)",
+   "Asset ID": "Defly (#470842789)",
  }
(totally spent 2913ms – ends at 2025-01-14T10:43:12.996Z)
⚠️ 1 spec hints
  • Spec Algorand:
    • mutations should define a testDestination(): opt-In ASA available
Details of the 3 mutations

Spec Algorand (6)

Spec Algorand found 6 Algorand accounts. Will use Algorand 2.1.14 on nanoS 2.1.0
undefined: 3.1 ALGO (633ops) (TM4WJOS4MZ2TD775W7GSXZMBUF74YT6SKSBXCZY3N7OUIAPXE54MZ5FCD4 on 44'/283'/0'/0/0) #0 js:2:algorand:TM4WJOS4MZ2TD775W7GSXZMBUF74YT6SKSBXCZY3N7OUIAPXE54MZ5FCD4:
undefined: 3.1 ALGO (636ops) (RWYWVHL3QJSTOLJTM6TIQ65LZX5IUJMHRMSEISS5FGJ7CRLTJSH3S5UAQQ on 44'/283'/1'/0/0) #1 js:2:algorand:RWYWVHL3QJSTOLJTM6TIQ65LZX5IUJMHRMSEISS5FGJ7CRLTJSH3S5UAQQ:
undefined: 5.11095 ALGO (661ops) (YHPWECPNX7OU2AS5NGEC6JUFZRUZWKXKO5RK267DEMQZ2R7IBCE2MAAYNE on 44'/283'/2'/0/0) #2 js:2:algorand:YHPWECPNX7OU2AS5NGEC6JUFZRUZWKXKO5RK267DEMQZ2R7IBCE2MAAYNE:
undefined: 6.69867 ALGO (731ops) (WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA on 44'/283'/3'/0/0) #3 js:2:algorand:WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA:
undefined: 4.55085 ALGO (575ops) (GEPEPFCOO7TRQ3HKU5IKQPARS7DDXDHH6Y2VNMUJWH7TMLLOZ3Z6JKRQAI on 44'/283'/4'/0/0) #4 js:2:algorand:GEPEPFCOO7TRQ3HKU5IKQPARS7DDXDHH6Y2VNMUJWH7TMLLOZ3Z6JKRQAI:
undefined: 0 ALGO (0ops) (X3TNYJCHUW6UBWVEN5K2ULWMLRWRGBEUWZLR4V2XR3UDN4TWNZP3Q6EAQU on 44'/283'/5'/0/0) #5 js:2:algorand:X3TNYJCHUW6UBWVEN5K2ULWMLRWRGBEUWZLR4V2XR3UDN4TWNZP3Q6EAQU:
necessary accounts resynced in 0.18ms
▬ Algorand 2.1.14 on nanoS 2.1.0
→ FROM undefined: 5.11095 ALGO (661ops) (YHPWECPNX7OU2AS5NGEC6JUFZRUZWKXKO5RK267DEMQZ2R7IBCE2MAAYNE on 44'/283'/2'/0/0) #2 js:2:algorand:YHPWECPNX7OU2AS5NGEC6JUFZRUZWKXKO5RK267DEMQZ2R7IBCE2MAAYNE: 2.010958 ALGO spendable. 
  TokenAccount Asia Reserve Currency Coin: 0 ARCC (0 ops)
  TokenAccount MESE USD Exchange Token: 0 USD-MESE (0 ops)
  TokenAccount MESE Index Fund: 0 MESX (0 ops)
  TokenAccount Micro-Microsoft: 0 M-MSFT (0 ops)
  TokenAccount Micro-Amazon: 0 M-AMZN (0 ops)
  TokenAccount Micro-Twitter: 0 M-TWTR (0 ops)
  TokenAccount Micro-Netflix: 0 M-NFLX (0 ops)
  TokenAccount Micro-Google: 0 M-GOOGL (0 ops)
  TokenAccount Micro-Apple: 0 M-AAPL (0 ops)
  TokenAccount Micro-Tesla: 0 M-TSLA (0 ops)
  TokenAccount Realio Token: 0 RIO (0 ops)
  TokenAccount realioUSD: 0 RUSD (0 ops)
  TokenAccount Liquid Mining Fund I: 0 RHO 1 (0 ops)
  TokenAccount Credit Opportunities Fund I: 0 VAL 1 (0 ops)
  TokenAccount Meld Gold: 0 MCAU (0 ops)
  TokenAccount Meld Silver: 0 MCAG (0 ops)
  TokenAccount PLANET: 0 PLANETS (0 ops)
  TokenAccount USDC: 0 USDC (0 ops)
  TokenAccount HEADLINE: 0 HDL (0 ops)
  TokenAccount Exodus: 0 EXIT (0 ops)
  TokenAccount Yieldly: 0 YLDY (0 ops)
  TokenAccount AlgoGems: 0 GEMS (0 ops)
  TokenAccount Opulous: 0 OPUL (0 ops)
  TokenAccount Choice Coin: 0 CHOICE (0 ops)
  TokenAccount Smile Coin: 0 SMILE (0 ops)
  TokenAccount goBTC: 0 goBTC (0 ops)
  TokenAccount goETH: 0 goETH (0 ops)
  TokenAccount goMINT: 0 goMINT (0 ops)
  TokenAccount Nimble: 0 NIMBLE (0 ops)
  TokenAccount CollecteursX: 0 CLTR (0 ops)
max spendable ~2.00995
★ using mutation 'move ~50%'
→ TO undefined: 4.55085 ALGO (575ops) (GEPEPFCOO7TRQ3HKU5IKQPARS7DDXDHH6Y2VNMUJWH7TMLLOZ3Z6JKRQAI on 44'/283'/4'/0/0) #4 js:2:algorand:GEPEPFCOO7TRQ3HKU5IKQPARS7DDXDHH6Y2VNMUJWH7TMLLOZ3Z6JKRQAI:
✔️ transaction 
    SEND 1.05354 ALGO
    TO GEPEPFCOO7TRQ3HKU5IKQPARS7DDXDHH6Y2VNMUJWH7TMLLOZ3Z6JKRQAI
    with fees=0.001 ALGO
STATUS (652ms)
  amount: 1.053544 ALGO
  estimated fees: 0.001 ALGO
  total spent: 1.054544 ALGO
errors: 
warnings: 
✔️ has been signed! (4.9s) 
✔️ broadcasted! (176ms) optimistic operation: 
  -1.054544 ALGO     OUT        JM3SNIOPWTGO2EC6RSRWGWHQZHMKRCM5ETZRLBHSARCS3XX7HXDQ 2025-01-14T10:42
✔️ operation confirmed (10.5s): 
  -1.054544 ALGO     OUT        JM3SNIOPWTGO2EC6RSRWGWHQZHMKRCM5ETZRLBHSARCS3XX7HXDQ 2025-01-14T10:42 REWARDS : 0 ALGO          
✔️ undefined: 4.05641 ALGO (662ops) (YHPWECPNX7OU2AS5NGEC6JUFZRUZWKXKO5RK267DEMQZ2R7IBCE2MAAYNE on 44'/283'/2'/0/0) #2 js:2:algorand:YHPWECPNX7OU2AS5NGEC6JUFZRUZWKXKO5RK267DEMQZ2R7IBCE2MAAYNE: 0.956414 ALGO spendable. 
  TokenAccount Asia Reserve Currency Coin: 0 ARCC (0 ops)
  TokenAccount MESE USD Exchange Token: 0 USD-MESE (0 ops)
  TokenAccount MESE Index Fund: 0 MESX (0 ops)
  TokenAccount Micro-Microsoft: 0 M-MSFT (0 ops)
  TokenAccount Micro-Amazon: 0 M-AMZN (0 ops)
  TokenAccount Micro-Twitter: 0 M-TWTR (0 ops)
  TokenAccount Micro-Netflix: 0 M-NFLX (0 ops)
  TokenAccount Micro-Google: 0 M-GOOGL (0 ops)
  TokenAccount Micro-Apple: 0 M-AAPL (0 ops)
  TokenAccount Micro-Tesla: 0 M-TSLA (0 ops)
  TokenAccount Realio Token: 0 RIO (0 ops)
  TokenAccount realioUSD: 0 RUSD (0 ops)
  TokenAccount Liquid Mining Fund I: 0 RHO 1 (0 ops)
  TokenAccount Credit Opportunities Fund I: 0 VAL 1 (0 ops)
  TokenAccount Meld Gold: 0 MCAU (0 ops)
  TokenAccount Meld Silver: 0 MCAG (0 ops)
  TokenAccount PLANET: 0 PLANETS (0 ops)
  TokenAccount USDC: 0 USDC (0 ops)
  TokenAccount HEADLINE: 0 HDL (0 ops)
  TokenAccount Exodus: 0 EXIT (0 ops)
  TokenAccount Yieldly: 0 YLDY (0 ops)
  TokenAccount AlgoGems: 0 GEMS (0 ops)
  TokenAccount Opulous: 0 OPUL (0 ops)
  TokenAccount Choice Coin: 0 CHOICE (0 ops)
  TokenAccount Smile Coin: 0 SMILE (0 ops)
  TokenAccount goBTC: 0 goBTC (0 ops)
  TokenAccount goETH: 0 goETH (0 ops)
  TokenAccount goMINT: 0 goMINT (0 ops)
  TokenAccount Nimble: 0 NIMBLE (0 ops)
  TokenAccount CollecteursX: 0 CLTR (0 ops)(in 10.5s)
✔️ destination operation 
  +1.053544 ALGO     IN         JM3SNIOPWTGO2EC6RSRWGWHQZHMKRCM5ETZRLBHSARCS3XX7HXDQ 2025-01-14T10:42 REWARDS : 0 ALGO          
(in 10.2s)

necessary accounts resynced in 0.21ms
▬ Algorand 2.1.14 on nanoS 2.1.0
→ FROM undefined: 6.69867 ALGO (731ops) (WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA on 44'/283'/3'/0/0) #3 js:2:algorand:WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA: 3.598673 ALGO spendable. 
  TokenAccount Asia Reserve Currency Coin: 0 ARCC (0 ops)
  TokenAccount MESE USD Exchange Token: 0 USD-MESE (0 ops)
  TokenAccount MESE Index Fund: 0 MESX (0 ops)
  TokenAccount Micro-Microsoft: 0 M-MSFT (0 ops)
  TokenAccount Micro-Amazon: 0 M-AMZN (0 ops)
  TokenAccount Micro-Twitter: 0 M-TWTR (0 ops)
  TokenAccount Micro-Netflix: 0 M-NFLX (0 ops)
  TokenAccount Micro-Google: 0 M-GOOGL (0 ops)
  TokenAccount Micro-Apple: 0 M-AAPL (0 ops)
  TokenAccount Micro-Tesla: 0 M-TSLA (0 ops)
  TokenAccount Realio Token: 0 RIO (0 ops)
  TokenAccount realioUSD: 0 RUSD (0 ops)
  TokenAccount Liquid Mining Fund I: 0 RHO 1 (0 ops)
  TokenAccount Credit Opportunities Fund I: 0 VAL 1 (0 ops)
  TokenAccount Meld Gold: 0 MCAU (0 ops)
  TokenAccount Meld Silver: 0 MCAG (0 ops)
  TokenAccount PLANET: 0 PLANETS (0 ops)
  TokenAccount USDC: 0 USDC (0 ops)
  TokenAccount HEADLINE: 0 HDL (0 ops)
  TokenAccount Exodus: 0 EXIT (0 ops)
  TokenAccount Yieldly: 0 YLDY (0 ops)
  TokenAccount AlgoGems: 0 GEMS (0 ops)
  TokenAccount Opulous: 0 OPUL (0 ops)
  TokenAccount Choice Coin: 0 CHOICE (0 ops)
  TokenAccount Smile Coin: 0 SMILE (0 ops)
  TokenAccount goBTC: 0 goBTC (0 ops)
  TokenAccount goETH: 0 goETH (0 ops)
  TokenAccount goMINT: 0 goMINT (0 ops)
  TokenAccount Nimble: 0 NIMBLE (0 ops)
  TokenAccount CollecteursX: 0 CLTR (0 ops)
max spendable ~3.59767
★ using mutation 'opt-In ASA available'
→ TO undefined: 6.69867 ALGO (731ops) (WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA on 44'/283'/3'/0/0) #3 js:2:algorand:WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA:
✔️ transaction 
    OPT_IN 0 ALGO
    TO WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA
    with fees=0.001 ALGO
STATUS (866ms)
  amount: 0 ALGO
  estimated fees: 0.001 ALGO
  total spent: 0.001 ALGO
errors: 
warnings: 
⚠️ TEST deviceAction confirm step 'Asset ID'
Error: expect(received).toMatchObject(expected)

- Expected  - 1
+ Received  + 1

  Object {
-   "Asset ID": "Defly Token (#470842789)",
+   "Asset ID": "Defly (#470842789)",
  }
(totally spent 2913ms – ends at 2025-01-14T10:43:13.030Z)
necessary accounts resynced in 0.27ms
▬ Algorand 2.1.14 on nanoS 2.1.0
→ FROM undefined: 5.60439 ALGO (576ops) (GEPEPFCOO7TRQ3HKU5IKQPARS7DDXDHH6Y2VNMUJWH7TMLLOZ3Z6JKRQAI on 44'/283'/4'/0/0) #4 js:2:algorand:GEPEPFCOO7TRQ3HKU5IKQPARS7DDXDHH6Y2VNMUJWH7TMLLOZ3Z6JKRQAI: 2.904398 ALGO spendable. 
  TokenAccount Asia Reserve Currency Coin: 0 ARCC (0 ops)
  TokenAccount MESE USD Exchange Token: 0 USD-MESE (0 ops)
  TokenAccount MESE Index Fund: 0 MESX (0 ops)
  TokenAccount Micro-Microsoft: 0 M-MSFT (0 ops)
  TokenAccount Micro-Amazon: 0 M-AMZN (0 ops)
  TokenAccount Micro-Twitter: 0 M-TWTR (0 ops)
  TokenAccount Micro-Google: 0 M-GOOGL (0 ops)
  TokenAccount Micro-Apple: 0 M-AAPL (0 ops)
  TokenAccount Micro-Tesla: 0 M-TSLA (0 ops)
  TokenAccount Realio Token: 0 RIO (0 ops)
  TokenAccount realioUSD: 0 RUSD (0 ops)
  TokenAccount Liquid Mining Fund I: 0 RHO 1 (0 ops)
  TokenAccount Credit Opportunities Fund I: 0 VAL 1 (0 ops)
  TokenAccount Meld Gold: 0 MCAU (0 ops)
  TokenAccount Meld Silver: 0 MCAG (0 ops)
  TokenAccount PLANET: 0 PLANETS (0 ops)
  TokenAccount USDC: 0 USDC (0 ops)
  TokenAccount HEADLINE: 0 HDL (0 ops)
  TokenAccount Exodus: 0 EXIT (0 ops)
  TokenAccount AlgoGems: 0 GEMS (0 ops)
  TokenAccount Opulous: 0 OPUL (0 ops)
  TokenAccount Choice Coin: 0 CHOICE (0 ops)
  TokenAccount Smile Coin: 0 SMILE (0 ops)
  TokenAccount goMINT: 0 goMINT (0 ops)
  TokenAccount Nimble: 0 NIMBLE (0 ops)
  TokenAccount CollecteursX: 0 CLTR (0 ops)
max spendable ~2.90339
★ using mutation 'send max'
→ TO undefined: 4.05641 ALGO (662ops) (YHPWECPNX7OU2AS5NGEC6JUFZRUZWKXKO5RK267DEMQZ2R7IBCE2MAAYNE on 44'/283'/2'/0/0) #2 js:2:algorand:YHPWECPNX7OU2AS5NGEC6JUFZRUZWKXKO5RK267DEMQZ2R7IBCE2MAAYNE:
✔️ transaction 
    SEND MAX
    TO YHPWECPNX7OU2AS5NGEC6JUFZRUZWKXKO5RK267DEMQZ2R7IBCE2MAAYNE
    with fees=0.001 ALGO
STATUS (784ms)
  amount: 2.903398 ALGO
  estimated fees: 0.001 ALGO
  total spent: 2.904398 ALGO
errors: 
warnings: 
✔️ has been signed! (5.1s) 
✔️ broadcasted! (382ms) optimistic operation: 
  -2.904398 ALGO     OUT        5SXGSAD4Z3Z5SW5NHPGHSA2GB7D7AZCQ74QH2XZP4FFSIXY7Q2OQ 2025-01-14T10:42
✔️ operation confirmed (10.4s): 
  -2.904398 ALGO     OUT        5SXGSAD4Z3Z5SW5NHPGHSA2GB7D7AZCQ74QH2XZP4FFSIXY7Q2OQ 2025-01-14T10:42 REWARDS : 0 ALGO          
✔️ undefined: 2.7 ALGO (577ops) (GEPEPFCOO7TRQ3HKU5IKQPARS7DDXDHH6Y2VNMUJWH7TMLLOZ3Z6JKRQAI on 44'/283'/4'/0/0) #4 js:2:algorand:GEPEPFCOO7TRQ3HKU5IKQPARS7DDXDHH6Y2VNMUJWH7TMLLOZ3Z6JKRQAI: 0 ALGO spendable. 
  TokenAccount Asia Reserve Currency Coin: 0 ARCC (0 ops)
  TokenAccount MESE USD Exchange Token: 0 USD-MESE (0 ops)
  TokenAccount MESE Index Fund: 0 MESX (0 ops)
  TokenAccount Micro-Microsoft: 0 M-MSFT (0 ops)
  TokenAccount Micro-Amazon: 0 M-AMZN (0 ops)
  TokenAccount Micro-Twitter: 0 M-TWTR (0 ops)
  TokenAccount Micro-Google: 0 M-GOOGL (0 ops)
  TokenAccount Micro-Apple: 0 M-AAPL (0 ops)
  TokenAccount Micro-Tesla: 0 M-TSLA (0 ops)
  TokenAccount Realio Token: 0 RIO (0 ops)
  TokenAccount realioUSD: 0 RUSD (0 ops)
  TokenAccount Liquid Mining Fund I: 0 RHO 1 (0 ops)
  TokenAccount Credit Opportunities Fund I: 0 VAL 1 (0 ops)
  TokenAccount Meld Gold: 0 MCAU (0 ops)
  TokenAccount Meld Silver: 0 MCAG (0 ops)
  TokenAccount PLANET: 0 PLANETS (0 ops)
  TokenAccount USDC: 0 USDC (0 ops)
  TokenAccount HEADLINE: 0 HDL (0 ops)
  TokenAccount Exodus: 0 EXIT (0 ops)
  TokenAccount AlgoGems: 0 GEMS (0 ops)
  TokenAccount Opulous: 0 OPUL (0 ops)
  TokenAccount Choice Coin: 0 CHOICE (0 ops)
  TokenAccount Smile Coin: 0 SMILE (0 ops)
  TokenAccount goMINT: 0 goMINT (0 ops)
  TokenAccount Nimble: 0 NIMBLE (0 ops)
  TokenAccount CollecteursX: 0 CLTR (0 ops)(in 10.4s)
✔️ destination operation 
  +2.903398 ALGO     IN         5SXGSAD4Z3Z5SW5NHPGHSA2GB7D7AZCQ74QH2XZP4FFSIXY7Q2OQ 2025-01-14T10:42 REWARDS : 0 ALGO          
(in 10.3s)


Details of the 2 uncovered mutations

Spec Algorand (2)

  • send ASA ~50%: Spendable balance is too low (3)
  • claim rewards: No pending rewards (3)
Portfolio ($8.10) – Details of the 1 currencies
Spec (accounts) State Remaining Runs (est) funds?
Algorand (6) 3240 ops (+4), 7.46048 ALGO ($8.10) 💪 999+ TM4WJOS4MZ2TD775W7GSXZMBUF74YT6SKSBXCZY3N7OUIAPXE54MZ5FCD4
undefined: 3.1 ALGO (633ops) (TM4WJOS4MZ2TD775W7GSXZMBUF74YT6SKSBXCZY3N7OUIAPXE54MZ5FCD4 on 44'/283'/0'/0/0) #0 js:2:algorand:TM4WJOS4MZ2TD775W7GSXZMBUF74YT6SKSBXCZY3N7OUIAPXE54MZ5FCD4:
undefined: 3.1 ALGO (636ops) (RWYWVHL3QJSTOLJTM6TIQ65LZX5IUJMHRMSEISS5FGJ7CRLTJSH3S5UAQQ on 44'/283'/1'/0/0) #1 js:2:algorand:RWYWVHL3QJSTOLJTM6TIQ65LZX5IUJMHRMSEISS5FGJ7CRLTJSH3S5UAQQ:
undefined: 6.95981 ALGO (663ops) (YHPWECPNX7OU2AS5NGEC6JUFZRUZWKXKO5RK267DEMQZ2R7IBCE2MAAYNE on 44'/283'/2'/0/0) #2 js:2:algorand:YHPWECPNX7OU2AS5NGEC6JUFZRUZWKXKO5RK267DEMQZ2R7IBCE2MAAYNE:
undefined: 6.69867 ALGO (731ops) (WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA on 44'/283'/3'/0/0) #3 js:2:algorand:WNBXHLRE6IL5W5S3UO2FUWW7DJ6NUBVIVCYV2K66MFE3ABLAPDVEJX5ILA:
undefined: 2.7 ALGO (577ops) (GEPEPFCOO7TRQ3HKU5IKQPARS7DDXDHH6Y2VNMUJWH7TMLLOZ3Z6JKRQAI on 44'/283'/4'/0/0) #4 js:2:algorand:GEPEPFCOO7TRQ3HKU5IKQPARS7DDXDHH6Y2VNMUJWH7TMLLOZ3Z6JKRQAI:
undefined: 0 ALGO (0ops) (X3TNYJCHUW6UBWVEN5K2ULWMLRWRGBEUWZLR4V2XR3UDN4TWNZP3Q6EAQU on 44'/283'/5'/0/0) #5 js:2:algorand:X3TNYJCHUW6UBWVEN5K2ULWMLRWRGBEUWZLR4V2XR3UDN4TWNZP3Q6EAQU:
Performance ⏲ 81.2s

Time spent for each spec: (total across mutations)

Spec (accounts) preload scan re-sync tx status sign op broadcast test destination test
TOTAL 1.17ms 20.1s 1.26ms 2302ms 10s 558ms 21s 20.5s
Algorand (5) 1.17ms 20.1s 1.26ms 2302ms 10s 558ms 21s 20.5s

What is the bot and how does it work? Everything is documented here!

Please sign in to comment.