From 2c02ae03920bd10a9ec17f68eb23a045f26fab40 Mon Sep 17 00:00:00 2001 From: mirceahasegan Date: Thu, 19 Dec 2024 14:07:14 +0100 Subject: [PATCH 01/12] chore(nami): remove unused ledger lib (#1602) --- packages/nami/package.json | 1 - yarn.lock | 1 - 2 files changed, 2 deletions(-) diff --git a/packages/nami/package.json b/packages/nami/package.json index 1a2759d7c..4fa28294b 100644 --- a/packages/nami/package.json +++ b/packages/nami/package.json @@ -57,7 +57,6 @@ }, "dependencies": { "@biglup/is-cid": "^1.0.3", - "@cardano-foundation/ledgerjs-hw-app-cardano": "^7.1.4", "@cardano-sdk/core": "0.42.1", "@cardano-sdk/crypto": "0.1.32", "@cardano-sdk/tx-construction": "0.23.0", diff --git a/yarn.lock b/yarn.lock index f83ee8034..1b925ff4d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13743,7 +13743,6 @@ __metadata: resolution: "@lace/nami@workspace:packages/nami" dependencies: "@biglup/is-cid": ^1.0.3 - "@cardano-foundation/ledgerjs-hw-app-cardano": ^7.1.4 "@cardano-sdk/core": 0.42.1 "@cardano-sdk/crypto": 0.1.32 "@cardano-sdk/tx-construction": 0.23.0 From bf4ba485fb126fd1acea867b2f9c4d3d813b2ca0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20K=C5=82os?= <114915819+wklos-iohk@users.noreply.github.com> Date: Thu, 19 Dec 2024 17:21:35 +0100 Subject: [PATCH 02/12] test(extension): maintenance 19 Dec 2024 (#1610) * test(extension): disable test due to bug * test(extension): adjust stake pool name * test(extension): adjust assertion timeout * test(extension): comment out broken tests --- packages/e2e-tests/src/features/DAppConnector.feature | 3 ++- ...tionDelegatedFundsSinglePoolExtended.part2.feature | 2 +- .../analytics/AnalyticsOnboardingEvents.feature | 4 ++-- packages/e2e-tests/src/page/page.ts | 11 +++++++---- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/e2e-tests/src/features/DAppConnector.feature b/packages/e2e-tests/src/features/DAppConnector.feature index ca8f6d3a1..09d85b6d2 100644 --- a/packages/e2e-tests/src/features/DAppConnector.feature +++ b/packages/e2e-tests/src/features/DAppConnector.feature @@ -59,7 +59,8 @@ Feature: DAppConnector - Common Then I see Lace wallet info in DApp when connected And I don't see DApp window - @LW-3807 @Mainnet + @LW-3807 @Mainnet @Pending + @issue=LW-11988 Scenario: "No wallet" modal displayed after trying to connect Dapp when there is no wallet Given I remove wallet And I accept analytics banner on "Get started" page diff --git a/packages/e2e-tests/src/features/MultidelegationDelegatedFundsSinglePoolExtended.part2.feature b/packages/e2e-tests/src/features/MultidelegationDelegatedFundsSinglePoolExtended.part2.feature index 6b5a753b6..48ec69606 100644 --- a/packages/e2e-tests/src/features/MultidelegationDelegatedFundsSinglePoolExtended.part2.feature +++ b/packages/e2e-tests/src/features/MultidelegationDelegatedFundsSinglePoolExtended.part2.feature @@ -53,7 +53,7 @@ Feature: Staking Page - Delegated funds - Single pool - Extended View And I see "Add stake pool" button is enabled When I click "Add stake pool" button And I switch to list view on "Browse pools" tab - And I pick "10" pools for delegation from browse pools view: "8BETA, SMAUG, WOOF, TEKO, ADV, MOC2, SQRL, SEA, ALFA" + And I pick "10" pools for delegation from browse pools view: "8BETA, ACL, WOOF, TEKO, ADV, MOC2, MKM, SEA, ALFA" And I click "Next" button on staking portfolio bar And I click "Fine by me" button on "Changing staking preferences?" modal Then I see Manage delegation drawer diff --git a/packages/e2e-tests/src/features/analytics/AnalyticsOnboardingEvents.feature b/packages/e2e-tests/src/features/analytics/AnalyticsOnboardingEvents.feature index 16698c170..056f7290c 100644 --- a/packages/e2e-tests/src/features/analytics/AnalyticsOnboardingEvents.feature +++ b/packages/e2e-tests/src/features/analytics/AnalyticsOnboardingEvents.feature @@ -30,7 +30,7 @@ Feature: Analytics - Posthog - Onboarding - Extended View And I click "Enter wallet" button Then I validate latest analytics multiple events: | onboarding \| restore wallet revamp \| let's set up your new wallet \| enter wallet \| click | - | $create_alias | +# | $create_alias | TODO: uncomment when LW-12025 is fixed And I validate that alias event has assigned same user id "5b3ca1f1f7a14aad1e79f46213e2777d" in posthog @LW-7365 @@ -56,7 +56,7 @@ Feature: Analytics - Posthog - Onboarding - Extended View And I click "Enter wallet" button Then I validate latest analytics multiple events: | onboarding \| new wallet revamp \| let's set up your new wallet \| enter wallet \| click | - | $create_alias | +# | $create_alias | TODO: uncomment when LW-12025 is fixed And I validate that 10 analytics event(s) have been sent @LW-7364 @Pending diff --git a/packages/e2e-tests/src/page/page.ts b/packages/e2e-tests/src/page/page.ts index e5b6616b3..632593046 100644 --- a/packages/e2e-tests/src/page/page.ts +++ b/packages/e2e-tests/src/page/page.ts @@ -4,9 +4,12 @@ export interface Page { export abstract class LaceView { async waitForPreloaderToDisappear(): Promise { - await browser.waitUntil(async () => { - const preloaderExists = await $('#preloader').isExisting(); - return !preloaderExists; - }); + await browser.waitUntil( + async () => { + const preloaderExists = await $('#preloader').isExisting(); + return !preloaderExists; + }, + { timeout: 5 * 60 * 1000, interval: 1000 } + ); } } From dd1fe7a227155439029c18f55bb796cb6bece397 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20K=C5=82os?= <114915819+wklos-iohk@users.noreply.github.com> Date: Fri, 20 Dec 2024 11:23:49 +0100 Subject: [PATCH 03/12] test(extension): update allure-publish-action and action-slack-notify (#1611) --- .github/workflows/ci.yml | 2 +- .github/workflows/e2e-tests-linux-split.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 02493a605..d8058bdbd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -298,7 +298,7 @@ jobs: " > environment.properties - name: Publish allure report to S3 - uses: andrcuns/allure-publish-action@v2.7.1 + uses: andrcuns/allure-publish-action@v2.9.0 if: always() env: GITHUB_AUTH_TOKEN: ${{ secrets.GH_TOKEN }} diff --git a/.github/workflows/e2e-tests-linux-split.yml b/.github/workflows/e2e-tests-linux-split.yml index e4d46f9e2..f1ea599ab 100644 --- a/.github/workflows/e2e-tests-linux-split.yml +++ b/.github/workflows/e2e-tests-linux-split.yml @@ -267,7 +267,7 @@ jobs: " > environment.properties - name: Publish allure report to S3 - uses: andrcuns/allure-publish-action@v2.7.1 + uses: andrcuns/allure-publish-action@v2.9.0 env: GITHUB_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} AWS_ACCESS_KEY_ID: ${{ secrets.E2E_AWS_ACCESS_KEY_ID }} @@ -287,7 +287,7 @@ jobs: echo "https://${{ secrets.E2E_REPORTS_USER }}:${{ secrets.E2E_REPORTS_PASSWORD }}@${{ secrets.E2E_REPORTS_URL }}/all/linux/${{ env.BROWSER }}/${{ env.RUN }}/index.html | browser: ${{ env.BROWSER }} | network: ${{ env.NETWORK }} | platform: linux | tags: ${{ needs.setup.outputs.tags }} | smoke only: ${{ needs.setup.outputs.smoke_only }}" >> $GITHUB_STEP_SUMMARY - name: Slack Notification - uses: rtCamp/action-slack-notify@v2.3.0 + uses: rtCamp/action-slack-notify@v2.3.2 env: SLACK_COLOR: "${{ contains(needs.*.result, 'failure') && 'failure' || 'good' }}" SLACK_ICON_EMOJI: ':lace:' From 9b5ceed07d62083a9cf080ceef2e2f507a6b5f6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20K=C5=82os?= <114915819+wklos-iohk@users.noreply.github.com> Date: Fri, 20 Dec 2024 11:30:35 +0100 Subject: [PATCH 04/12] test(extension): maintenance 20 Dec 2024 (#1612) * test(extension): adjust timeout for ADA handle * test(extension): update test with onboarding analytics --- .../e2e-tests/src/assert/addressBook/AddressFormAssert.ts | 4 ++-- .../src/features/analytics/AnalyticsOnboardingEvents.feature | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/e2e-tests/src/assert/addressBook/AddressFormAssert.ts b/packages/e2e-tests/src/assert/addressBook/AddressFormAssert.ts index 2d39d3a42..8b2269c23 100644 --- a/packages/e2e-tests/src/assert/addressBook/AddressFormAssert.ts +++ b/packages/e2e-tests/src/assert/addressBook/AddressFormAssert.ts @@ -35,12 +35,12 @@ class AddressFormAssert { }; async assertSeeIconForInvalidAdaHandle(shouldBeDisplayed: boolean) { - await AddressForm.searchLoader.waitForClickable({ reverse: true, timeout: 5000 }); + await AddressForm.searchLoader.waitForClickable({ reverse: true, timeout: 10_000 }); await AddressForm.adaHandleIconInvalid.waitForClickable({ reverse: !shouldBeDisplayed }); } async assertSeeIconForValidAdaHandle(shouldBeDisplayed: boolean) { - await AddressForm.searchLoader.waitForClickable({ reverse: true, timeout: 5000 }); + await AddressForm.searchLoader.waitForClickable({ reverse: true, timeout: 10_000 }); await AddressForm.adaHandleIconValid.waitForClickable({ reverse: !shouldBeDisplayed }); } } diff --git a/packages/e2e-tests/src/features/analytics/AnalyticsOnboardingEvents.feature b/packages/e2e-tests/src/features/analytics/AnalyticsOnboardingEvents.feature index 056f7290c..81eb5e565 100644 --- a/packages/e2e-tests/src/features/analytics/AnalyticsOnboardingEvents.feature +++ b/packages/e2e-tests/src/features/analytics/AnalyticsOnboardingEvents.feature @@ -31,7 +31,7 @@ Feature: Analytics - Posthog - Onboarding - Extended View Then I validate latest analytics multiple events: | onboarding \| restore wallet revamp \| let's set up your new wallet \| enter wallet \| click | # | $create_alias | TODO: uncomment when LW-12025 is fixed - And I validate that alias event has assigned same user id "5b3ca1f1f7a14aad1e79f46213e2777d" in posthog +# And I validate that alias event has assigned same user id "5b3ca1f1f7a14aad1e79f46213e2777d" in posthog @LW-7365 Scenario: Analytics - Onboarding new wallet events @@ -56,7 +56,8 @@ Feature: Analytics - Posthog - Onboarding - Extended View And I click "Enter wallet" button Then I validate latest analytics multiple events: | onboarding \| new wallet revamp \| let's set up your new wallet \| enter wallet \| click | -# | $create_alias | TODO: uncomment when LW-12025 is fixed + | onboarding \| new wallet revamp \| added | + | $create_alias | And I validate that 10 analytics event(s) have been sent @LW-7364 @Pending From ac178a42c74574459e1bc07abd210cc325f041d6 Mon Sep 17 00:00:00 2001 From: vetalcore Date: Fri, 20 Dec 2024 14:54:17 +0200 Subject: [PATCH 05/12] feat(nami): [lw-11879] dapp compatibility improvements (#1603) --- packages/nami/src/ui/app/pages/settings.tsx | 47 +++++++++++++++------ 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/packages/nami/src/ui/app/pages/settings.tsx b/packages/nami/src/ui/app/pages/settings.tsx index 54cf665c6..edad166f6 100644 --- a/packages/nami/src/ui/app/pages/settings.tsx +++ b/packages/nami/src/ui/app/pages/settings.tsx @@ -461,33 +461,56 @@ const Whitelisted = ({ Whitelisted sites - - DApp compatibility mode - - { - handleCompatibilityModeChoice(!isCompatibilityMode); - }} - /> + + + DApp compatibility mode + + + + Use this for DApps that support Nami but not Lace. Enable it to + connect via Nami mode wallet integration + + + { + handleCompatibilityModeChoice(!isCompatibilityMode); + }} + /> + {connectedDapps?.length > 0 ? ( connectedDapps.map(({ url, logo }, index) => ( } /> - {url.split('//')[1]} + + {url.split('//')[1]} + { From 5905d2b0ad23fc27fb7e7301d569d654246d4d2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20K=C5=82os?= <114915819+wklos-iohk@users.noreply.github.com> Date: Mon, 23 Dec 2024 13:44:23 +0100 Subject: [PATCH 06/12] test(extension): add tests for "Delegate your voting power" banner (#1615) --- .../DelegateYourVotingPowerBannerAssert.ts | 27 +++++++++++++ .../e2e-tests/src/data/EducationalArticles.ts | 4 ++ .../DelegateYourVotingPowerBanner.ts | 40 +++++++++++++++++++ .../src/features/EmptyStatesExtended.feature | 5 +++ .../src/features/EmptyStatesPopup.feature | 5 +++ .../MultiDelegationPageExtended.part3.feature | 5 +++ .../features/MultiDelegationPagePopup.feature | 5 +++ ...elegatedFundsMultiplePoolsExtended.feature | 17 ++++++++ ...onDelegatedFundsMultiplePoolsPopup.feature | 17 ++++++++ packages/e2e-tests/src/steps/commonSteps.ts | 8 ++++ .../src/steps/multidelegationSteps.ts | 14 +++++++ .../RegisterAsDRepBanner.tsx | 12 +++--- .../browser-extension-wallet/en.json | 2 +- 13 files changed, 155 insertions(+), 6 deletions(-) create mode 100644 packages/e2e-tests/src/assert/multidelegation/DelegateYourVotingPowerBannerAssert.ts create mode 100644 packages/e2e-tests/src/elements/multidelegation/DelegateYourVotingPowerBanner.ts diff --git a/packages/e2e-tests/src/assert/multidelegation/DelegateYourVotingPowerBannerAssert.ts b/packages/e2e-tests/src/assert/multidelegation/DelegateYourVotingPowerBannerAssert.ts new file mode 100644 index 000000000..6c93ae14f --- /dev/null +++ b/packages/e2e-tests/src/assert/multidelegation/DelegateYourVotingPowerBannerAssert.ts @@ -0,0 +1,27 @@ +import DelegateYourVotingPowerBanner from '../../elements/multidelegation/DelegateYourVotingPowerBanner'; +import { expect } from 'chai'; +import { t } from '../../utils/translationService'; + +class DelegateYourVotingPowerBannerAssert { + assertSeeDelegateYourVotingPowerBanner = async (shouldBeDisplayed: boolean) => { + await DelegateYourVotingPowerBanner.container.waitForDisplayed({ reverse: !shouldBeDisplayed }); + if (shouldBeDisplayed) { + await DelegateYourVotingPowerBanner.title.waitForDisplayed(); + expect(await DelegateYourVotingPowerBanner.title.getText()).to.equal( + await t('browserView.staking.stakingInfo.RegisterAsDRepBanner.title') + ); + await DelegateYourVotingPowerBanner.description.waitForDisplayed(); + const expectedDescription = (await t('browserView.staking.stakingInfo.RegisterAsDRepBanner.description')) + .replace('', '') + .replace('', ''); + expect(await DelegateYourVotingPowerBanner.description.getText()).to.equal(expectedDescription); + await DelegateYourVotingPowerBanner.knowMoreLink.waitForDisplayed(); + await DelegateYourVotingPowerBanner.registerButton.waitForEnabled(); + expect(await DelegateYourVotingPowerBanner.registerButton.getText()).to.equal( + await t('browserView.staking.stakingInfo.RegisterAsDRepBanner.cta') + ); + } + }; +} + +export default new DelegateYourVotingPowerBannerAssert(); diff --git a/packages/e2e-tests/src/data/EducationalArticles.ts b/packages/e2e-tests/src/data/EducationalArticles.ts index ef06391c8..39426b841 100644 --- a/packages/e2e-tests/src/data/EducationalArticles.ts +++ b/packages/e2e-tests/src/data/EducationalArticles.ts @@ -47,6 +47,10 @@ export const faqArticles: Record> = { 'Best practices for using the “copy to clipboard” and “paste from clipboard” recovery phrase features': { question: 'best-practices-for-using-the-copy-to-clipboard-paste-from-clipboard-recovery-phrase-features', title: 'Best practices for using the “copy to clipboard” and “paste from clipboard” recovery phrase features' + }, + 'What is the Voltaire GovTool?': { + question: 'what-is-the-voltaire-govtool', + title: 'What is the Voltaire GovTool?' } }; diff --git a/packages/e2e-tests/src/elements/multidelegation/DelegateYourVotingPowerBanner.ts b/packages/e2e-tests/src/elements/multidelegation/DelegateYourVotingPowerBanner.ts new file mode 100644 index 000000000..c3aebaad1 --- /dev/null +++ b/packages/e2e-tests/src/elements/multidelegation/DelegateYourVotingPowerBanner.ts @@ -0,0 +1,40 @@ +/* eslint-disable no-undef */ +import { ChainablePromiseElement } from 'webdriverio'; + +class DelegateYourVotingPowerBanner { + private BANNER_CONTAINER = '[data-testid="register-as-drep-banner"]'; + private BANNER_TITLE = '[data-testid="register-as-drep-banner-title"]'; + private BANNER_DESCRIPTION = '[data-testid="register-as-drep-banner-description"]'; + private KNOW_MORE_LINK = '[data-testid="know-more-link"]'; + private REGISTER_BUTTON = '[data-testid="register-now-at-gov-tool-button"]'; + + get container(): ChainablePromiseElement { + return $(this.BANNER_CONTAINER); + } + + get title(): ChainablePromiseElement { + return $(this.BANNER_TITLE); + } + + get description(): ChainablePromiseElement { + return $(this.BANNER_DESCRIPTION); + } + + get knowMoreLink(): ChainablePromiseElement { + return $(this.KNOW_MORE_LINK); + } + + get registerButton(): ChainablePromiseElement { + return $(this.REGISTER_BUTTON); + } + + async clickOnKnowMoreLink(): Promise { + await this.knowMoreLink.click(); + } + + async clickRegisterButton(): Promise { + await this.registerButton.click(); + } +} + +export default new DelegateYourVotingPowerBanner(); diff --git a/packages/e2e-tests/src/features/EmptyStatesExtended.feature b/packages/e2e-tests/src/features/EmptyStatesExtended.feature index 1697237c3..e800559e1 100644 --- a/packages/e2e-tests/src/features/EmptyStatesExtended.feature +++ b/packages/e2e-tests/src/features/EmptyStatesExtended.feature @@ -68,3 +68,8 @@ Feature: Empty states When I click "Set Collateral" button in test DApp Then I don't see DApp window + @LW-12031 + Scenario: Extended View - "Delegate your voting power" banner is not displayed if user has no funds + When I navigate to Staking extended page + Then "Delegate your voting power" banner is not displayed + diff --git a/packages/e2e-tests/src/features/EmptyStatesPopup.feature b/packages/e2e-tests/src/features/EmptyStatesPopup.feature index b345407fd..cf4773863 100644 --- a/packages/e2e-tests/src/features/EmptyStatesPopup.feature +++ b/packages/e2e-tests/src/features/EmptyStatesPopup.feature @@ -42,3 +42,8 @@ Feature: Empty states @LW-6875 Scenario: Popup view - Hide my balance - no eye icon for wallet with no funds Then Eye icon is not displayed on Tokens page + + @LW-12032 + Scenario: Popup View - "Delegate your voting power" banner is not displayed if user has no funds + When I navigate to Staking popup page + Then "Delegate your voting power" banner is not displayed diff --git a/packages/e2e-tests/src/features/MultiDelegationPageExtended.part3.feature b/packages/e2e-tests/src/features/MultiDelegationPageExtended.part3.feature index 017ef2fff..69be6e0bf 100644 --- a/packages/e2e-tests/src/features/MultiDelegationPageExtended.part3.feature +++ b/packages/e2e-tests/src/features/MultiDelegationPageExtended.part3.feature @@ -138,3 +138,8 @@ Feature: Staking Page - Extended View Then I do not see the modal about issues with multi-delegation and DApps When I refresh the page Then I do not see the modal about issues with multi-delegation and DApps + + @LW-12033 @Testnet + Scenario: Popup View - "Delegate your voting power" banner is not displayed if user is not staking, but has funds + When I navigate to Staking extended page + Then "Delegate your voting power" banner is not displayed diff --git a/packages/e2e-tests/src/features/MultiDelegationPagePopup.feature b/packages/e2e-tests/src/features/MultiDelegationPagePopup.feature index 6ada89a0e..aa5b03687 100644 --- a/packages/e2e-tests/src/features/MultiDelegationPagePopup.feature +++ b/packages/e2e-tests/src/features/MultiDelegationPagePopup.feature @@ -17,3 +17,8 @@ Feature: Staking Page - Popup View When I click "Expand view" on Start Staking page And I switch to last window Then I see Lace extension main page in extended mode + + @LW-12034 @Testnet + Scenario: Popup View - "Delegate your voting power" banner is not displayed if user is not staking, but has funds + When I navigate to Staking popup page + Then "Delegate your voting power" banner is not displayed diff --git a/packages/e2e-tests/src/features/MultidelegationDelegatedFundsMultiplePoolsExtended.feature b/packages/e2e-tests/src/features/MultidelegationDelegatedFundsMultiplePoolsExtended.feature index 63a52b432..6a2192342 100644 --- a/packages/e2e-tests/src/features/MultidelegationDelegatedFundsMultiplePoolsExtended.feature +++ b/packages/e2e-tests/src/features/MultidelegationDelegatedFundsMultiplePoolsExtended.feature @@ -210,3 +210,20 @@ Feature: Staking Page - Delegated funds - Multiple pools - Extended View Then I do not see the modal about issues with multi-delegation and DApps When I refresh the page Then I do not see the modal about issues with multi-delegation and DApps + + @LW-12035 + Scenario: Extended View - "Delegate your voting power" banner is displayed if user is staking, but has not delegated voting rights nor registered as a DRep + When I navigate to Staking extended page + Then "Delegate your voting power" banner is displayed + + @LW-12037 + Scenario: Extended View - "Delegate your voting power" banner - click "Know more" link + When I navigate to Staking extended page + And I click on "Know more" link on "Delegate your voting power" banner + Then I see a "FAQ" article with title "What is the Voltaire GovTool?" + + @LW-12039 + Scenario: Extended View - "Delegate your voting power" banner - click on "Register now at Gov Tool" button + When I navigate to Staking extended page + And I click on "Register now at Gov Tool" button + Then Gov Tool page is displayed in a new tab diff --git a/packages/e2e-tests/src/features/MultidelegationDelegatedFundsMultiplePoolsPopup.feature b/packages/e2e-tests/src/features/MultidelegationDelegatedFundsMultiplePoolsPopup.feature index 0d58787b5..7c2cdef6b 100644 --- a/packages/e2e-tests/src/features/MultidelegationDelegatedFundsMultiplePoolsPopup.feature +++ b/packages/e2e-tests/src/features/MultidelegationDelegatedFundsMultiplePoolsPopup.feature @@ -48,3 +48,20 @@ Feature: Staking Page - Delegated funds - Multiple pools - Popup View Then I do not see the modal about issues with multi-delegation and DApps When I refresh the page Then I do not see the modal about issues with multi-delegation and DApps + + @LW-12036 + Scenario: Popup View - "Delegate your voting power" banner is displayed if user is staking, but has not delegated voting rights nor registered as a DRep + When I navigate to Staking popup page + Then "Delegate your voting power" banner is displayed + + @LW-12038 + Scenario: Popup View - "Delegate your voting power" banner - click "Know more" link + When I navigate to Staking popup page + And I click on "Know more" link on "Delegate your voting power" banner + Then I see a "FAQ" article with title "What is the Voltaire GovTool?" + + @LW-12040 + Scenario: Popup View - "Delegate your voting power" banner - click on "Register now at Gov Tool" button + When I navigate to Staking popup page + And I click on "Register now at Gov Tool" button + Then Gov Tool page is displayed in a new tab diff --git a/packages/e2e-tests/src/steps/commonSteps.ts b/packages/e2e-tests/src/steps/commonSteps.ts index 3f82f960f..8c27d3b5d 100755 --- a/packages/e2e-tests/src/steps/commonSteps.ts +++ b/packages/e2e-tests/src/steps/commonSteps.ts @@ -51,6 +51,7 @@ import { import MainLoader from '../elements/MainLoader'; import Modal from '../elements/modal'; import { setCameraAccessPermission } from '../utils/browserPermissionsUtils'; +import extensionUtils from '../utils/utils'; Given(/^Lace is ready for test$/, async () => { await MainLoader.waitUntilLoaderDisappears(); @@ -431,3 +432,10 @@ When( await browser.refresh(); } ); + +Then(/^Gov Tool page is displayed in a new tab$/, async () => { + const expectedUrl = extensionUtils.isMainnet() + ? 'https://gov.tools/' + : `https://${String(extensionUtils.getNetwork().name).toLowerCase()}.gov.tools/`; + await commonAssert.assertSeeTabWithUrl(expectedUrl); +}); diff --git a/packages/e2e-tests/src/steps/multidelegationSteps.ts b/packages/e2e-tests/src/steps/multidelegationSteps.ts index 82a968712..eb1cde1bf 100644 --- a/packages/e2e-tests/src/steps/multidelegationSteps.ts +++ b/packages/e2e-tests/src/steps/multidelegationSteps.ts @@ -43,6 +43,8 @@ import { StakePoolGridCard } from '../elements/multidelegation/StakePoolGridCard import { StakePoolListItem } from '../elements/multidelegation/StakePoolListItem'; import SwitchingPoolsModalAssert from '../assert/multidelegation/SwitchingPoolsModalAssert'; import { clearInputFieldValue } from '../utils/inputFieldUtils'; +import DelegateYourVotingPowerBanner from '../elements/multidelegation/DelegateYourVotingPowerBanner'; +import DelegateYourVotingPowerBannerAssert from '../assert/multidelegation/DelegateYourVotingPowerBannerAssert'; const validPassword = 'N_8J@bne87A'; @@ -694,3 +696,15 @@ Then(/^the staking error screen is displayed$/, async () => { Then(/^I see "Switching to less pools" modal$/, async () => { await SwitchingPoolsModalAssert.assertSeeSwitchingToLessPoolsModal(); }); + +Then(/^"Delegate your voting power" banner (is|is not) displayed$/, async (state: 'is' | 'is not') => { + await DelegateYourVotingPowerBannerAssert.assertSeeDelegateYourVotingPowerBanner(state === 'is'); +}); + +When(/^I click on "Know more" link on "Delegate your voting power" banner$/, async () => { + await DelegateYourVotingPowerBanner.clickOnKnowMoreLink(); +}); + +When(/^I click on "Register now at Gov Tool" button$/, async () => { + await DelegateYourVotingPowerBanner.clickRegisterButton(); +}); diff --git a/packages/staking/src/features/overview/RegisterAsDRepBanner/RegisterAsDRepBanner.tsx b/packages/staking/src/features/overview/RegisterAsDRepBanner/RegisterAsDRepBanner.tsx index 2d611a558..f7a94f85b 100644 --- a/packages/staking/src/features/overview/RegisterAsDRepBanner/RegisterAsDRepBanner.tsx +++ b/packages/staking/src/features/overview/RegisterAsDRepBanner/RegisterAsDRepBanner.tsx @@ -16,18 +16,20 @@ type props = { export const RegisterAsDRepBanner = ({ popupView, openExternalLink, govToolUrl }: props): React.ReactElement => { const { t } = useTranslation(); return ( -
+
-
{t('browserView.staking.stakingInfo.RegisterAsDRepBanner.title')}
-
+
+ {t('browserView.staking.stakingInfo.RegisterAsDRepBanner.title')} +
+
openExternalLink(`${process.env.FAQ_URL}?question=what-is-the-voltaire-govtool`)} - data-testid="terms-of-service-link" + data-testid="know-more-link" /> ), }} @@ -38,7 +40,7 @@ export const RegisterAsDRepBanner = ({ popupView, openExternalLink, govToolUrl } govToolUrl && openExternalLink(govToolUrl)} - data-testid="enable-account-password-prompt-confirm-btn" + data-testid="register-now-at-gov-tool-button" label={t('browserView.staking.stakingInfo.RegisterAsDRepBanner.cta')} /> diff --git a/packages/translation/src/lib/translations/browser-extension-wallet/en.json b/packages/translation/src/lib/translations/browser-extension-wallet/en.json index fe16ee0d2..bffd2c9ab 100644 --- a/packages/translation/src/lib/translations/browser-extension-wallet/en.json +++ b/packages/translation/src/lib/translations/browser-extension-wallet/en.json @@ -440,7 +440,7 @@ "browserView.staking.stakingInfo.StakeFundsBanner.title": "Start staking", "browserView.staking.stakingInfo.RegisterAsDRepBanner.title": "Delegate your voting power", "browserView.staking.stakingInfo.RegisterAsDRepBanner.description": "Please register as a DRep or delegate your voting rights to a DRep in the Gov Tool portal to ensure Lace can utilize your stake delegation rewards. Know more", - "browserView.staking.stakingInfo.RegisterAsDRepBanner.cta": "Register now at Gov Tool ", + "browserView.staking.stakingInfo.RegisterAsDRepBanner.cta": "Register now at Gov Tool", "browserView.staking.stakingInfo.stats.Fee": "Fee", "browserView.staking.stakingInfo.stats.Margin": "Margin", "browserView.staking.stakingInfo.stats.stakeKey": "Stake key", From 6b3e2e48d517bc032c3fa9691cbc67646c3a0ac6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20K=C5=82os?= <114915819+wklos-iohk@users.noreply.github.com> Date: Tue, 24 Dec 2024 10:18:57 +0100 Subject: [PATCH 07/12] test(extension): minor test updates (#1617) --- .../src/features/MultiDelegationPageExtended.part3.feature | 2 +- ...xtended.feature => AnalyticsEventPropertiesExtended.feature} | 0 ...ritesPopup.feature => AnalyticsEventPropertiesPopup.feature} | 0 packages/e2e-tests/src/steps/transactionsSteps.ts | 2 +- packages/e2e-tests/wdio.conf.base.ts | 2 +- 5 files changed, 3 insertions(+), 3 deletions(-) rename packages/e2e-tests/src/features/analytics/{AnalyticsEventProperitesExtended.feature => AnalyticsEventPropertiesExtended.feature} (100%) rename packages/e2e-tests/src/features/analytics/{AnalyticsEventProperitesPopup.feature => AnalyticsEventPropertiesPopup.feature} (100%) diff --git a/packages/e2e-tests/src/features/MultiDelegationPageExtended.part3.feature b/packages/e2e-tests/src/features/MultiDelegationPageExtended.part3.feature index 69be6e0bf..79afc2e36 100644 --- a/packages/e2e-tests/src/features/MultiDelegationPageExtended.part3.feature +++ b/packages/e2e-tests/src/features/MultiDelegationPageExtended.part3.feature @@ -140,6 +140,6 @@ Feature: Staking Page - Extended View Then I do not see the modal about issues with multi-delegation and DApps @LW-12033 @Testnet - Scenario: Popup View - "Delegate your voting power" banner is not displayed if user is not staking, but has funds + Scenario: Extended View - "Delegate your voting power" banner is not displayed if user is not staking, but has funds When I navigate to Staking extended page Then "Delegate your voting power" banner is not displayed diff --git a/packages/e2e-tests/src/features/analytics/AnalyticsEventProperitesExtended.feature b/packages/e2e-tests/src/features/analytics/AnalyticsEventPropertiesExtended.feature similarity index 100% rename from packages/e2e-tests/src/features/analytics/AnalyticsEventProperitesExtended.feature rename to packages/e2e-tests/src/features/analytics/AnalyticsEventPropertiesExtended.feature diff --git a/packages/e2e-tests/src/features/analytics/AnalyticsEventProperitesPopup.feature b/packages/e2e-tests/src/features/analytics/AnalyticsEventPropertiesPopup.feature similarity index 100% rename from packages/e2e-tests/src/features/analytics/AnalyticsEventProperitesPopup.feature rename to packages/e2e-tests/src/features/analytics/AnalyticsEventPropertiesPopup.feature diff --git a/packages/e2e-tests/src/steps/transactionsSteps.ts b/packages/e2e-tests/src/steps/transactionsSteps.ts index 3af7ebfee..df7ad5e1d 100644 --- a/packages/e2e-tests/src/steps/transactionsSteps.ts +++ b/packages/e2e-tests/src/steps/transactionsSteps.ts @@ -61,7 +61,7 @@ When(/^I click on a transaction hash and save hash information$/, async () => { }); When(/^I click on a transaction hash$/, async () => { - await TransactionDetailsPage.transactionDetailsHash.waitForDisplayed(); + await TransactionDetailsPage.transactionDetailsHash.waitForClickable(); await TransactionDetailsPage.transactionDetailsHash.click(); }); diff --git a/packages/e2e-tests/wdio.conf.base.ts b/packages/e2e-tests/wdio.conf.base.ts index 26d46fafe..e4df4bd94 100755 --- a/packages/e2e-tests/wdio.conf.base.ts +++ b/packages/e2e-tests/wdio.conf.base.ts @@ -22,7 +22,7 @@ export const config: WebdriverIO.Config = { batch3: [ './src/features/analytics/AnalyticsActivity*.feature', './src/features/analytics/AnalyticsAddress*.feature', - './src/features/analytics/AnalyticsEventProperites*.feature', + './src/features/analytics/AnalyticsEventProperties*.feature', './src/features/analytics/AnalyticsFiatOnRampOffRamp.feature', './src/features/analytics/AnalyticsForgotPassword.feature', './src/features/analytics/AnalyticsNavigation*.feature', From c0abea8211189f704c2ee6827fd8cd22efa12e1a Mon Sep 17 00:00:00 2001 From: Michael Chappell <7581002+mchappell@users.noreply.github.com> Date: Fri, 27 Dec 2024 21:47:22 +0000 Subject: [PATCH 08/12] feat: [LW-12030] use drep provider active status override proxy (#1620) --- .../src/lib/scripts/background/config.ts | 5 ++- .../providers/ExperimentsProvider/config.ts | 7 +++- .../providers/ExperimentsProvider/types.ts | 3 +- .../client/PostHogClient.ts | 3 +- packages/cardano/src/wallet/lib/providers.ts | 36 +++++++++++++++++-- 5 files changed, 47 insertions(+), 7 deletions(-) diff --git a/apps/browser-extension-wallet/src/lib/scripts/background/config.ts b/apps/browser-extension-wallet/src/lib/scripts/background/config.ts index 20ac32585..d6fa63c53 100644 --- a/apps/browser-extension-wallet/src/lib/scripts/background/config.ts +++ b/apps/browser-extension-wallet/src/lib/scripts/background/config.ts @@ -45,6 +45,9 @@ export const getProviders = async (chainName: Wallet.ChainName): Promise ({ [ExperimentName.SHARED_WALLETS]: false, [ExperimentName.WEBSOCKET_API]: false, [ExperimentName.BLOCKFROST_ASSET_PROVIDER]: false, - [ExperimentName.EXTENSION_STORAGE]: false + [ExperimentName.EXTENSION_STORAGE]: false, + [ExperimentName.USE_DREP_PROVIDER_OVERRIDE]: false }); export const experiments: ExperimentsConfig = { @@ -38,5 +39,9 @@ export const experiments: ExperimentsConfig = { [ExperimentName.EXTENSION_STORAGE]: { value: false, default: false + }, + [ExperimentName.USE_DREP_PROVIDER_OVERRIDE]: { + value: false, + default: false } }; diff --git a/apps/browser-extension-wallet/src/providers/ExperimentsProvider/types.ts b/apps/browser-extension-wallet/src/providers/ExperimentsProvider/types.ts index 60c625700..0baf38c09 100644 --- a/apps/browser-extension-wallet/src/providers/ExperimentsProvider/types.ts +++ b/apps/browser-extension-wallet/src/providers/ExperimentsProvider/types.ts @@ -12,7 +12,8 @@ export enum ExperimentName { SHARED_WALLETS = 'shared-wallets', WEBSOCKET_API = 'websocket-api', BLOCKFROST_ASSET_PROVIDER = 'blockfrost-asset-provider', - EXTENSION_STORAGE = 'extension-storage' + EXTENSION_STORAGE = 'extension-storage', + USE_DREP_PROVIDER_OVERRIDE = 'use-drep-provider-override' } interface FeatureFlag { diff --git a/apps/browser-extension-wallet/src/providers/PostHogClientProvider/client/PostHogClient.ts b/apps/browser-extension-wallet/src/providers/PostHogClientProvider/client/PostHogClient.ts index d9863d10f..8f3ce5e37 100644 --- a/apps/browser-extension-wallet/src/providers/PostHogClientProvider/client/PostHogClient.ts +++ b/apps/browser-extension-wallet/src/providers/PostHogClientProvider/client/PostHogClient.ts @@ -32,7 +32,8 @@ type FeatureFlag = | 'use-switch-to-nami-mode' | 'websocket-api' | ExperimentName.BLOCKFROST_ASSET_PROVIDER - | ExperimentName.EXTENSION_STORAGE; + | ExperimentName.EXTENSION_STORAGE + | ExperimentName.USE_DREP_PROVIDER_OVERRIDE; type FeatureFlags = { [key in FeatureFlag]: boolean; diff --git a/packages/cardano/src/wallet/lib/providers.ts b/packages/cardano/src/wallet/lib/providers.ts index e0bf452b6..e5b4404e1 100644 --- a/packages/cardano/src/wallet/lib/providers.ts +++ b/packages/cardano/src/wallet/lib/providers.ts @@ -15,6 +15,7 @@ import { TxSubmitProvider, UtxoProvider } from '@cardano-sdk/core'; +import type { DRepInfo } from '@cardano-sdk/core'; import { CardanoWsClient, @@ -81,6 +82,7 @@ export interface ProvidersConfig { experiments: { useWebSocket?: boolean; useBlockfrostAssetProvider?: boolean; + useDrepProviderOverrideActiveStatus?: boolean; }; } @@ -94,7 +96,7 @@ export const createProviders = ({ axiosAdapter, env: { baseCardanoServicesUrl: baseUrl, customSubmitTxUrl, blockfrostConfig }, logger, - experiments: { useBlockfrostAssetProvider, useWebSocket } + experiments: { useBlockfrostAssetProvider, useWebSocket, useDrepProviderOverrideActiveStatus } }: ProvidersConfig): WalletProvidersDependencies => { if (!logger) logger = console; @@ -112,6 +114,34 @@ export const createProviders = ({ const txSubmitProvider = createTxSubmitProvider(httpProviderConfig, customSubmitTxUrl); const drepProvider = new BlockfrostDRepProvider(blockfrostClient, logger); + // Temporary proxy for drepProvider to overwrite the 'active' property to always be true + const drepProviderOverrideActiveStatus = new Proxy(drepProvider, { + get(target, property, receiver) { + const original = Reflect.get(target, property, receiver); + if (property === 'getDRepInfo') { + return async function (...args: any[]) { + const response: DRepInfo = await original.apply(target, args); + return { + ...response, + active: true + }; + }; + } + + if (property === 'getDRepsInfo') { + return async function (...args: any[]) { + const response: DRepInfo[] = await original.apply(target, args); + return response.map((drepInfo) => ({ + ...drepInfo, + active: true + })); + }; + } + + return original; + } + }); + if (useWebSocket) { const url = new URL(baseUrl); @@ -133,7 +163,7 @@ export const createProviders = ({ chainHistoryProvider: wsProvider.chainHistoryProvider, rewardsProvider, wsProvider, - drepProvider + drepProvider: useDrepProviderOverrideActiveStatus ? drepProviderOverrideActiveStatus : drepProvider }; } @@ -145,7 +175,7 @@ export const createProviders = ({ utxoProvider: utxoHttpProvider(httpProviderConfig), chainHistoryProvider, rewardsProvider, - drepProvider + drepProvider: useDrepProviderOverrideActiveStatus ? drepProviderOverrideActiveStatus : drepProvider }; }; From f0fcc6519036e6655bee61f1b7b6602eddffb69e Mon Sep 17 00:00:00 2001 From: Michael Chappell <7581002+mchappell@users.noreply.github.com> Date: Fri, 27 Dec 2024 21:49:55 +0000 Subject: [PATCH 09/12] chore: bump manifest version v1.18.1 (#1621) --- apps/browser-extension-wallet/manifest.json | 2 +- apps/browser-extension-wallet/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/browser-extension-wallet/manifest.json b/apps/browser-extension-wallet/manifest.json index 301d7fb12..9a34de806 100644 --- a/apps/browser-extension-wallet/manifest.json +++ b/apps/browser-extension-wallet/manifest.json @@ -1,7 +1,7 @@ { "name": "$WALLET_MANIFEST_NAME", "description": "One fast, accessible, and secure platform for digital assets, DApps, NFTs, and DeFi.", - "version": "1.18.0", + "version": "1.18.1", "manifest_version": 3, "key": "$LACE_EXTENSION_KEY", "icons": { diff --git a/apps/browser-extension-wallet/package.json b/apps/browser-extension-wallet/package.json index 95f3dcc17..f584da7f1 100644 --- a/apps/browser-extension-wallet/package.json +++ b/apps/browser-extension-wallet/package.json @@ -1,6 +1,6 @@ { "name": "@lace/browser-extension-wallet", - "version": "1.18.0", + "version": "1.18.1", "description": "A fully capable wallet packaged as browser extensions for Chrome, Firefox, and Edge", "homepage": "https://github.com/input-output-hk/lace/blob/master/apps/browser-extension-wallet/README.md", "bugs": { From 931319b55de7ddf49f7d7f6db30e37469dfb2a71 Mon Sep 17 00:00:00 2001 From: Lukasz Jagiela <12641433+ljagiela@users.noreply.github.com> Date: Thu, 2 Jan 2025 17:50:45 +0100 Subject: [PATCH 10/12] test: e2e - reset test wallets (#1624) --- .../src/support/walletConfiguration.ts.gpg | Bin 42226 -> 42388 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/e2e-tests/src/support/walletConfiguration.ts.gpg b/packages/e2e-tests/src/support/walletConfiguration.ts.gpg index c05dccb4d5411cfb620381968d310c9fb90177b9..da3ace4d70c02beec0f436fa10ea764a6bd63ba8 100644 GIT binary patch literal 42388 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%0D(~Z;CeaF%V6xJIE8v}F3euL_OG^o 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
eCESQrzJ%t9F0XJVAnBnM8!TS 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 Date: Thu, 2 Jan 2025 20:26:18 +0100 Subject: [PATCH 11/12] test: e2e - minor test fixes (#1625) --- packages/e2e-tests/src/elements/modal.ts | 2 +- .../src/features/AdaHandleExtended.feature | 2 +- .../src/features/AdaHandlePopup.feature | 2 +- .../TransactionsExtended.part2.feature | 6 ++++-- .../features/TransactionsPopup.part2.feature | 6 ++++-- .../governance/CIP95StaticMethods.feature | 4 ++-- .../src/support/walletConfiguration.ts.gpg | Bin 42388 -> 41893 bytes 7 files changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/e2e-tests/src/elements/modal.ts b/packages/e2e-tests/src/elements/modal.ts index 3caa2e188..357834eb7 100644 --- a/packages/e2e-tests/src/elements/modal.ts +++ b/packages/e2e-tests/src/elements/modal.ts @@ -43,7 +43,7 @@ class Modal { async waitUntilModalDisappears() { await browser.pause(500); await browser.waitUntil(async () => !(await this.container.isDisplayed()), { - timeout: 10_000, + timeout: 15_000, interval: 500, timeoutMsg: 'failed while waiting for the modal to disappear' }); diff --git a/packages/e2e-tests/src/features/AdaHandleExtended.feature b/packages/e2e-tests/src/features/AdaHandleExtended.feature index b31a301cf..8aef22b4e 100644 --- a/packages/e2e-tests/src/features/AdaHandleExtended.feature +++ b/packages/e2e-tests/src/features/AdaHandleExtended.feature @@ -125,7 +125,7 @@ Feature: ADA handle - extended view And I see handles listed on the "Receive" screen And I close the drawer by clicking close button And I navigate to NFTs extended page - When I create folder with name: "Ada Handle folder" that contains 4 NFTs + When I create folder with name: "Ada Handle folder" that contains 5 NFTs Then I see a thumbnail of ADA handle with custom image on the NFT folder with name: "Ada Handle folder" When I left click on the NFT folder with name "Ada Handle folder" And I see "Ada Handle folder" NFT folder page in extended mode diff --git a/packages/e2e-tests/src/features/AdaHandlePopup.feature b/packages/e2e-tests/src/features/AdaHandlePopup.feature index 56dbcbcf2..ae528c0d5 100644 --- a/packages/e2e-tests/src/features/AdaHandlePopup.feature +++ b/packages/e2e-tests/src/features/AdaHandlePopup.feature @@ -123,7 +123,7 @@ Feature: ADA handle - popup view And I see handles listed on the "Receive" screen And I close the drawer by clicking close button And I navigate to NFTs popup page - When I create folder with name: "Ada Handle folder" that contains 4 NFTs + When I create folder with name: "Ada Handle folder" that contains 5 NFTs Then I see a thumbnail of ADA handle with custom image on the NFT folder with name: "Ada Handle folder" When I left click on the NFT folder with name "Ada Handle folder" And I see "Ada Handle folder" NFT folder page in popup mode diff --git a/packages/e2e-tests/src/features/TransactionsExtended.part2.feature b/packages/e2e-tests/src/features/TransactionsExtended.part2.feature index 9de229703..b1d356862 100644 --- a/packages/e2e-tests/src/features/TransactionsExtended.part2.feature +++ b/packages/e2e-tests/src/features/TransactionsExtended.part2.feature @@ -48,7 +48,8 @@ Feature: Transactions - Extended view | Sent | default - negative | | Received | green - positive | | Self Transaction | default - negative | - | Rewards | green - positive | +# enable rewards type of transaction when it's available +# | Rewards | green - positive | | Delegation | default - negative | | Stake Key De-Registration | green - positive | | Stake Key Registration | default - negative | @@ -64,7 +65,8 @@ Feature: Transactions - Extended view | Sent | | Received | | Self Transaction | - | Rewards | +# enable rewards type of transaction when it's available +# | Rewards | | Delegation | | Stake Key De-Registration | | Stake Key Registration | diff --git a/packages/e2e-tests/src/features/TransactionsPopup.part2.feature b/packages/e2e-tests/src/features/TransactionsPopup.part2.feature index 32554fcdb..cff698bbe 100644 --- a/packages/e2e-tests/src/features/TransactionsPopup.part2.feature +++ b/packages/e2e-tests/src/features/TransactionsPopup.part2.feature @@ -14,7 +14,8 @@ Feature: Transactions - Popup view | Sent | default - negative | | Received | green - positive | | Self Transaction | default - negative | - | Rewards | green - positive | +# enable rewards type of transaction when it's available +# | Rewards | green - positive | | Delegation | default - negative | | Stake Key De-Registration | green - positive | | Stake Key Registration | default - negative | @@ -30,7 +31,8 @@ Feature: Transactions - Popup view | Sent | | Received | | Self Transaction | - | Rewards | +# enable rewards type of transaction when it's available +# | Rewards | | Delegation | | Stake Key De-Registration | | Stake Key Registration | diff --git a/packages/e2e-tests/src/features/governance/CIP95StaticMethods.feature b/packages/e2e-tests/src/features/governance/CIP95StaticMethods.feature index 55cfcfba7..71c1e688e 100644 --- a/packages/e2e-tests/src/features/governance/CIP95StaticMethods.feature +++ b/packages/e2e-tests/src/features/governance/CIP95StaticMethods.feature @@ -25,10 +25,10 @@ Feature: CIP-95 Static methods And I click "Only once" button in DApp authorization window And I switch to window with CIP-95 test DApp And I wait for CIP-95 test DApp to be populated with data - Then .getPubDRepKey() returned "0260bdbdb0bf572c524672709849c6fe6a778b73bc2a65776e6a9a850dd690e9" + Then .getPubDRepKey() returned "912f7179f6c7d41e62168f15c947879b3ee89aa94f69bd60c93d756385062afd" And .getRegisteredPubStakeKeys() returned: | index | key | - | 0 | 9832a01bc835d16e380db33476d5cf10bd777b7aa4eb8aec017fdb7bbbfceb28 | + | 0 | cbcb3e0af7a089a8e94da7382b2b02eee6aad4a501cf4d0e01eda44a2a71ca85 | @LW-10613 Scenario: CIP-95 - Static methods - user has staked funds on multiple stake pools diff --git a/packages/e2e-tests/src/support/walletConfiguration.ts.gpg b/packages/e2e-tests/src/support/walletConfiguration.ts.gpg index da3ace4d70c02beec0f436fa10ea764a6bd63ba8..3ea1dc2e6a52d213ce7bf4c92f718e8366cf1446 100644 GIT binary patch literal 41893 zcmV(jK=!|k4Fm}T2$=Mf{m1OeDEZRr0iW1nYpBVY{uLks4Tra5n?)&iy9h1#ek!Sr z{)_NhGmkm&{3Ge@bge}DiY{z=-lVSnign6us(u}=#dEi~9&-~O7#SP&=VT7dDW2}G zJX=r;RSv|@p}r#tPpbTv-3h)ELTnHiy@x^R3-jZJrhTx*5YjCVhHZ2qrH$GNNsG}s zpbz)iVKXlwZ4;e4Gxb&>uB4kn~61Y@wbBN zUd%JL0yaq~{ez4;(oaVTCl_D4B#z2h{=4;8(mgu)5Rf_l5*cVFrNCMOwmza22{76q z9`&@fzi^8-x|kh`=kB%JnDiy*VvA;41MjKOhSQ1P`_;VLo3DX;9ceeoXBHQPg;N3{ z86)F zxf0aSeTaYg)1N3U)f@-ER>=ES4d^LrQU2F!L`@&hAT~vqeg`pjS@R6$qFXxvl~Nuj3L@p&Vk?6X4L$7|zSwIA}3DQ{2WnnW1g4?lH2Pwz@?0Pu7zY zrw`SvWKi8E`#Rwk)G0MC)==!z0yIX8h1aW9!z3ypxeS5UEs=rMkX$wl&@!JL7k6PE z7<=p><8N`?dV09WUaKzAm&>GmS(EhI@-}wsAUbZppP!Mo@BWgv;jQj47KbMCH^|6M zZZti->yCqXu=6_NOPLkbt>>59joRUvMM)dbg;k~@605PZ4fK;qY1fRc{x%YI(idGT zG*TCmBJ2_}>b1@bAl2|zM-pOxHgI78|2M;TR+^ktGh?&)+awhNAy=8^5H3KdEV?G(%fF5;_a>#HFp&d8Mty z?TFbp;HQ@Z&&p<9i}v;zLbua8^6(QUGijX06Oc*gYSzbN>x?ob+%YjiQ=eg2?`Gw>qWNu6vQki^hn= zIAKgZlC;_2gwUUo9RFmZhb^^W3|l#T?-;`NMO)hCi8Ijm`CPWxPCRN%lpTq;sR=`& ztENOIZSX6DA;p@vJkBfAYprr0r;+P+pJVgAVGgq(T6>NOmvGLh&@ z$!sg>4Abq-tWkmNPndN&o&mvM5mH6_fZrM>uHS-$X=+^-=kZ+;)(P)M4G*@a8p#^i zBzkp4flYOd#rqt==W}_LV_5hpYaSjEofngoT2OvnR#3Ovri`3W&2Nd84j ztV4W;5(6NP;;s+_Xo*{{7A7&Kd;|KU)PnBPZVV_K*rIQ6=>XtgsDmDJOt!@Nf?Jvn zkb>?qf7H|#*~|2|VAG%3NQDILebXL>nI;VxXyIiM?D=jAyAV|>L1wo4^rxuLBs<2e zr=SDl0iFt$7vI5Q6yWG7{8-yvXUg5Sb>)Z`JQjGHY4T-SAnL)4kS<=o*cZw3ZVQs0bTnMkriDcGsiJ^87Itl1 zr!B$lCu_~bC7oPv-r-nPbaX1~E+teh^wY7yP8Y$3;iZllubTBhI!5bv)0gjitzNect4p;O+;O}#$ur5wWn*@89Ss4L3#Q@ZYV^Da8C zrez{$eC76a^Z$@vl`V#N>Ug>}P(_1Ov(m8q6uV)U2I$|+_X6a?H#aF)t)5bv+^iIB zlC~N`R`ok(%3f2WX{o343Mp0YZJ7okzGX)zR0M|#t)PV1uSEr~nFDemO(EkOG3R_v z!KkT47V*VZ#9Vt5(cwhoY82y=oU3wV7DSphzKjcbiZZ=)0p)l?>6zyt0%!pU&lqrtMFBkv5ubdBXox z)(uH`stDC#se&Ovo)n=49H$V3K0bFdmW7}8{M(EJer}-rXw2%R;&dl>;ud5K#+rLI zwj1~-^}?Tp-LBGL#QEWM?q{!!aS!$2}rW)@Zff=cu?<+-)th$FD=fd69^lL5ynje;43Muc$175JRoSNt%9ICMqoix&qKfAD zO*9S30dYP&Td_KQH}`SvMbN9NH%ZjM6`!Q>!5A=p8p*6a zn$nF(hDM<^aZYmL_f`>foL{Qz@%(hdIQgft)zAIQ*YyXJnvZ;oWGe@%L@AISO63{s zO@+{qp_()B@w)D?^UOzepavqB5Q90zowW`=K(~X+RCc|00=#V-c705_Yf|(cn|s~j zSQdZZIDj8<^=|-hNd7KTMG&kIW-5iJ@;=n`vT;E(F%jQ8t_sJ!`p!cg`C-Hl@va&2 zJiJw>uW0h~iunOoL-$xZ6;($BxCqr1_vH9w=#5y1r8O;8FU*kP*>jmYw{R35dToyd zo%F7pU-M0~zK&ie@A6*!Um0hnBmEB^P3<+h;PO99hSyDP@@QFrERSTYBA7(Ix_X>E zK9Fz`bKZ%f_r?YV3f?oFc-Ut&QdFyNsS2%eG`PB?u#)=MtZ=E1%3hhhRu&*r~)qbmkmz(M?E zk}S!m=vRJ5B8c*)V;T;iQD=PJvGxiXmFfc7UFE?nvll=pDQnPY6^{-!=A-^jA=rSf za%%B(zXN4=?OG|!Nc+I1w9s5SKEkmOg+TG2NJlI6Eit=2zR?gY*Q!m!O4%r?zu{;| zW%-b$P>1zwNS*ZImg0$pB{XEa%OdsXO4W>g1k2lBi8}9S=YV`0%z1V)$ug4huAMfe zVLUh1X;xrvEjo#*LYOy!76S3irokLCHvJuj9E>B;`k^|0>F*cdv*R?reC3_Q44S=J zhHuM;H@=3cn1r8V#AjU98y}C;#&FTI&TlCZ_m5*gVlUO@L4NMbqtu776^%_l-O<2j zo^vqE4&}wqHS8M9_avhM+kAj7 z>Hojc+glgi9{zMQ|G5yrhv^gI%IRkyHPAb9^bw@==3}go`uWEV2X;Z)>0AnchDobm zUhN%Tg!0dR5N%$H`-}BlLwfdn7XlkkJhg8!Mrw$qn`slM^`UJSw_O30rkk&(R0ub> zs8?ie?r`&mW5Oiq1IYjt|IRWCwZ%C@>KZOgSc&@jQgBJ zl|)KLa~#21_T7UAh0t3JaexGgS+i60nMN!&XyTKD-D+4W>l)1}bKPXKIXF_E%Ub=Z zMu+UK&OWg5P<8*@fzSH7m*jPnK5=Pn>8w!s!N-y9_BT&40Q z@*fsalCkoU8Bp-FgE?C6&zNnzi9IR*xLYi#1HV#gF)SGYM~GE!gN@#WO=8hz zW*O<^5|p;@bX2Fp$Lt(*{=&p(x;vbGgC&yh4*=p206fBA$$@1rj+y$FoBmfcWfzbk z9fM-lcT5W68{_+mRa;b*2d`TH%CL^CoE$j@qL*waWe{T$v8^}|(J^zba?xaJOECIK zF*wZ7=3d)|T4woc+;{AmQgwEhh$XE>ZUd^u2q4_&Gv?pHsc(AWg6e8hNT(EmsViqI7v)q$3ueH)CcO_VWcIQWW)(z(PRcc_|cWzh1m^2x(W0pMa+RD@< z=Phfbbo*rqUj~GQ>J75_Ca0%w>O2zOuX}aR&iNpPk55Gz-c%xg$cUq8_4Y@;-g_j1 z03NeF{xQk`NO_*tB73Y8Lrv#qY{jKJnpAj|mzWD|aZFP|?_p_h(b&0qG{jbTTh&v7 zrmH0C6F_TSy5j1^#-tRU3uRhu+MqbUbRrx<2G0g1uiAk%%&O;c1f+osj4->V2Ye)1$GA{@V1Qt90OGV z;R~FI|DQ`1)(;1<6;)ReW0>E8bgFT~ar@$fpIQDv$t|NM-}Qy`i5j>sn@FvlcizSf z#pY*fRU0ACrx{+cEbGA*0*|_ZyC##!xQ6MQK^m5_QIxf}j#3w^wVC$4aBxbgQ(2PC z7rDjL>P!W$A##JPbl$Zea7#j5 zvR`WY{lms=CdnD3L=M~vwNE8lQv*l3YNzo6_;xo58aSRh^y_C!($Mwf_1k66wodZ9 zd0PZ|(?|z?7STbbTw~x|0Uj&t_;Q)|)roujWe}~cgF??93XvG$SL9T~CzEB-7b1RH zf*AdH`{#_lc9f2w#}AGLa+iVvS$xZ00L&Qc;-4k4h{we9=E1~le%_q1F z_S_*Q^Nz~0;a$Ry9T9ZcD*>R8Ws8x@kLE7Wu3O0lHL6WV8A*30xL_-06{d#|~xtvM*OY0Rs~mwEsF`|X(xfTgp0$D5fF1ar8_ zIt4+HAzOEPzgk;%qJ%(Q6TKtet*I%60W>)x37IvyUi-c3BC;1YAibQqic#I!VPGLp z>s==hKy;f0ygEQHcDJX^2({w*@O53GrbuLjx4D2X4<3;;WfPA;V`&gAt+Yc5lgE4T z{%cI2Yr12=pz$lPb4l8Q;h_`RFLT}BDqW$#wXb>PsbaIbw$_te{S%h4yryItAYgdq zttzZU{qDcl&PnAXvj__DesFMUYlw>}sRL!dX~ZodKOh>rjqVhLb~9y_W$F7eMZfES zK_~UfDE5li03x}iisuMIUGB%fEgKJW*<;QG@YTOnJ}_Y>k7Zj@;WU0%AeCiYdp^4B zp_&D#g}D69cd-PKo{7EGC(OMl3yvCS%4r5F-pp-(6B}K9K?0Dq6c>O|E$u$Iom+gb zbsZLL2Rcln>weY~8$_MXr{CbohfUR|QU=%^2$N_-4@ZJ-PX}MZkOMIP9C4Gy@DJ*N_LuhoF%Aw}ZY>Y|!ECRLw zX2%ojc+?B##YBR>1^vRVO|+s~0QJ~Mu$yG!GI9*V%JI#GaAd6I9O7M6$;}=8SaYrRKRgS7 zMZTHJzcnMb#}sSy!#Q?k6HNAHwo)gtF|*O$FO)UL-+w6BYyU6UolPD~rIVTgd>t^u z$Jq|YBm>g5r)6Ctv-Ki@1}>!RjE&j^FA!F$qk=qos4?!r@zDXluV91x*U3yF>l{{0 zznr!(+QuhusG_!Wx9^9=Ww)Mb=h@wDG;@hO7ssBh0C$9{L1rBofCGaP zyE+01&lQAZG;b%hp(cnI<|dN}bF<)Cz2O>OMQyVyz;d1GQ0G47yW&wkBOE3LIQG{{ zG`%=%s|OIBuK-87+!%WU$^6WGcVzDOHJh3{QeYjUz=G?m*JR&rT|y-??xrIK#7Q)O zJ&Fj8L2aJPjQA=p?vBRTgU{aqDmy}GvEhC>3KKkKin(ZPNr9?*X4h@}mmYj}R=63Ziz+$wHG8%^JqppdpVe zIfrxK@w@At0K8{)yPj?2&xpWSausNcDryDw4)$1dSC3-$N^1xD8Ju{Ha_2XF=NY-8 zA8fO|qxS6*wvXfXfrSrV%bHg||Ip!E@z6W@@G6pc0m4|gu-~^2*WZ*4@qJO0m4Gr; zJbH;^v7F*F==&Liccv2fOC$wwL?g;^g&BSpFn{m%6p$619A<~UcM{W7dL+X*}j zBJ9=XD`LKZ+Gms5d}#3=w_?Zy?Z^0ggwIU1!dIldH`?pY(ML!3O0~^^{ql40Io0jk zd#Od?IqbQ5NGHWjbZIa;=*h_twg{SV6uFisnpZ`yD~HG+NR|%t#VNjiNTBuR_8f(7 zQ!k;uZc1Qm>3~Z^Ov__ZR1nR_4)P0O%j~__;c%gp$ArpD_DZ0TNzyOoD1j{#oaVDG zk|IV5v&vE(`lP)>uU5U5jnqBRVcl9ywO?3nL)jH_G{-`rw@onl?6?) zTKGuY$tZXjbCykJIFUl&3ueZYb=q$5tAHkN_FNPJULsOZzKY5CWT3}4js~1V8H93{ zyZ)t@e3a8p0=EHx@{_7VFu>3d%0(hd>HYGV*c-HnyW2y|$}__t0Bp)#Vn|<*-j;8v zayigFCrpl9X=gJnVeZAL!EkiFeqx^WdydEDiDH|7eWBK4f>)3Ad2 z#Vw-!ypF(()9VSf1JzTk%)A&Bd?%QPjT`kaiOqD)j)WP06Vax_^Bdk>2xUA-*DOx# z0?}p7JKJn&C0yK=G3(~yF!YP$r8$`-K1>0T{|s{kDJ_ZwqZ89(6e^v+Vpb^8cFDgS zTUCEVH*s9mr#^0$S@0N}c_7ht+x9-tS{!S$N3_xaffU*o2C_sYuI$neoklQhatA=3 zW=cs{0O-?acwdu;slXF7i9BHP{bf<>W`FKSQH~LtNl)2{$s`f1QlkRc`Kv)= z7XZh28&}?5kuN%g>FF?a+rC+U9&I3z19J>IYlCx@% z)v-%C$p7}vI2&(d;iZbsLVDZ0dD13I=8N+jEhAb$u;3w?K(>!Gi>Wq8)8QmLw zi>XnnM{DgQ%Z`(@t?GX_$>cZAlbYj1?Zt|Xzxti;Qd=v1qMed@hE?z((mI=sEeNayIQJP z;G!%#>$nlD!bRU{fWU}??aA?8I!QN>^3`p$(HsLAX_`|2jSG8Cwo9_ zWwa;!3kh3lO<%`b3jyes3@;hf@ZE@M0McKPifR=Pu*SOezaGKtnIsk1h10WviR8Dg=D>uPdHzw-2Zgqlq2Wu{3ht(Z zq(pzsG5n99|C1lLG7=77U^Gv zm<_N>b>Mu4eTJB!GM+Tdd?uKi{XH3^g3&xuZroWy+xRx3w;FmDyZ=WR370^`yk{SE zN$HoE-ybIO#o5QT=Pjp3t}1^6`5Y;91I!;oBq$BxMW`g(c5L~d-Vr2QF*v;CWyu}o zjhf;&G8hM&(uHKT5$6y>qH#Q3N0O<$O$ALxG78i-Qr9NFRfFkqlho$g>vR8Q@_!SB zu#^f6&mrmB4=2O>;SoAnq92O^xwJ(7XyqF9{ye;NYHV^IY&IEapH<(J-YKR^#dpATPc%W+j{w%c_F?dpzX9L3merc0Lklp$j3 zQ)pGa2P<6c>Z>2fP7nBnkgi&&^xfn4|7vg+D;X#zR(FmOuyyGaQKDsNc1d5f25!g2 zaHg@@MfZW?m2vCjS@Jr@4U}u$8iJn%7ZFh+t^LpN2)S&~WXNrg)A~}!WMkT77rV!L zvp6m=&kAJ{`$oUsP4y`*_W^2pQN!wi^ulq>Q-_b5sN1F+`) zUYW;+S)Z0e`4*9$lINi3fQhI4hX3zQp~2vv9eL$TzuB$=v z`FWHI;vnbOoc!7p*oPh=Z#2t+cP5=8NvSXShdl09-Kwot$B|uyk8}DxMb-4VKi|P9 zKXf?$=<*o@tsJ?z+ey=|dmQ4-v(3?ddTxZvNh8`JQ%eAKV+{{2r)4=0Mh zYxQ~R?E}EFnpfws{nI2}7;6kBvNML7h8iAM{xG`$TeD(uKR;u-+nvf$oRdf`_4-|1 zw!L41i8sTZ44@Pz*=|Y+{~vIdoVod%y|ds{kaSumu?~>{t`X^%p0Qo1lb@C%thZ4} z*$*}Do=qN5_8j|g%a^E4=*CmNRkE^oxsq$-q}TUS62ZrDQg7t&Ea?nHtny7&L@qxk zW1zt5mzhGjeQuc*VfYDjB_Q?x~4^r?5s@LK(z9;ORy0`1V?^Bmoz-5NxE^{Q2<u#o(X&Y^DZ+MEae%xLD9IVXdg=fR)5U7(!+NUs=$vqv1^Mv7W z2oFC*ay}BujK=WX z_nfTmx<-JmU;y206_N(kx=Ew1&76gOqf&~&X`m%z0XG7?&~KhmZ?D#fGjD1>bmH+3 zM=f0^Tl!flK3)!Mrt=TCKI99x%9SS>RU%y)t|toIBbETPk6i;&{%L5mK9EdEGd+s+ zj@lQGVBq-e!cPhAn=}`&m!LUufg?U^s$-Yds8isXJ@s}fJ8q|%wfA3AI--?8*g+mj z$P8KfEl8{_;U}(|vChChu;a*XKr?*H{lZ@L;$AwFe)!n8gKi11acv?JEz?!CRQ+;I z^c9$n)O?y_@3qT4D`!A^Q`}CDE{hQ}+Q0&fKp#r`vYzuKd~%VA0CtFLMIm3JbUs_~ z5rD1`<`W8P#s3VrY}1r?PJe4r0TOYhzHLwv*F?Srj})YalVJibgHa>2Dhq%?uaSGuv7m0ic7ooK3&U z|8Xn98&UolwF^oGA4a{fv$z0nLlv%AbQ#iS+W|nIc3*QkP~?U_}j1( zG;{{og7T6UWVNyYqt3STJC)sPlJ_#&^;e{B8R;!GF{D9eJfTH-Kqm(-KK6;zH;YYh z?*RqA5=|>1lvl2auZ+R~c+K0gRm`WyaNmAGuz5oIkXHw6*OH;}rR;K`;c-v8hrF2G z_vEfD9bwh`JFbsTjuGiRZ{%}h0O_u%V&3PlTsFnx$x{K^pq*48e|P0F@8nQ)#1mF6 z$(NAC1~14!@OI4i=XmyFbet4YHR&B`83C5jr_8!=z47Jj>C=GcvrSBPABsL0l`r^#UG_Z zt@UDF<+uO>A3JYhxsmgsSli1GZJCKd)AxlfybHL(GE1;JtZ9GL$)$SQYk7b3R z0J9m95}BbW$L7vQ#qCcWAU7b#HMU{yYBHeHx2@^fjkecc*FrsmzANZr(#GvLX%KcH zODNOq@|ZyX=sgvqqMQG)h6F3Ee$6`YQw1SJM8v*I-*SI@!14+J#Zx#UHCMBna*cC9 z(K_xEA+1a?$xztmoQb-vmaV#cq)RqXx!T318MGU{YFjocE8&V(wO(bnrm%45KBY_Z|kVnh6 zR~r9{YO>tK4EC!A>u|HWo1wnK)(nM~i;?@7vi}vx|i%u}Z&UDjQ>UxcWsj_gMJs=Yw%-s@ePBAC{2&Nr!T_32>=Bp_B zKH%}+K9B_mrg(qmz+!U6tMe&mS1Q6UCkjVC?&Gp!OpDR^(I}h@iAUla8^5N9TGtvBbF8>A^Q7 zk>FCQP=J_d7KJyDsjBQM_AVdLqldSGZqKp3B}g6U>7;X|*n(^NDO6}XfHwZnQgG$H z?>y;-B;t*PG@5qsVlIR&|*CB*UV1{gUvERK9O zy8AXO#D4eKJGEtNbW$@TG`i`)WhW*wM^|T6eaN&)0iu*oW6`!XQ}H?*3KfJ}$zev> zms^mq(*@up&tcZJu!o8UBXg^~$pOKwruUlA7Eg+Y95yRo>~haXzt_)hrXq(dqFQyeCCn>DRe=5})&3)z!fJjEqU^+rx*4opBA%|NCBHyN2tg z1%nlN2y4$`hYiX(`K{>Y8wE%y#ZR;+>rMVcv3l0Zcv)WD8HYh@$QwNwg-@3)4QRKX*qpaj(6Sf}Gf>`j^LjIc_#YfwH&+62@N<>fw!p9h~I>BXCf@-!)cy@1D zw`t`Q@a`o}3o`Wo!Rzn>TLaq3Q$H z_CnwH5igpf`obcnoCBom?6CsT?_B&lpli{XzRXE2<=OL2H{2ZsI*%z~v#sxoudn zOx_k8yZ6Gv<2sP7tihyUm{Za56t3)xI<0WsYcR+r3OF_;HAc<|B7?o42UnX8bXV>WrxKbtQT!eFc%jF)fqh<2o|y$`a(5TW-dCj%Q|h#}qfNpjWwkzr{!gW|(O z4DMZFTVB@0C1lICwyv#xEM@0+wyY(p?e8OL3f=T7?`Olzcw7of)gkP z)mO!tW2ZyA5Wf0@uc?nW853sL2sg92)?Fwk45?fK4V;5I0&cN25!4ubwhu2uCpaRc zSU3zI9KHp=4$v93{uS=Cr)uBW{@K`mzp02z*)Wp3gtgBLR{W3+IyX$C+9*03{1Z^Z zu#vj)_(}L^d__2x{|AvMDF*nFmjo)qPF!&pVGGqy&Y@?r#mP4u%qf=O%;lpRa1v=jI+!R7<9i|zt@Gx0g3|0QorUSpkCEzFl%qtDuc%-kEXeYYkP%D!PQVhHsxd2{8knr^ZoE*YdPx^F+Lq3}&X`{>ovL6rK+7MQTLp5j@H+I}z zSDIeK!F;SR+p|SQ-P3ETf6@zB_v3t2B$p?bw8`j@ta87DPG-Svj2BLcA=bj4w;AuG zP_(_>+kN}bWH9n$muQ2V0G7Vb;MPQ|Xq#;-s3B|2@9&R{m+uBn??tZsB7fw{=u}rf z$HN`s0fUpYxve1Wh*e0_L0E5WxGffjv%P_fjzMq9j{my8|0WANFF|8(bN z(;~#GaRwq6Csn`+^hI=8;r*MTu7nzj#1>b;Uop6%W-G7hR&Fd=M(Y)s_0M;Ka;R7- zy3UIQ5hw$p{B!i{7izjkR7K_+c$V%ZtRTq=lYqDbbMmjaQ2YmtcKPK%fckHlX0-pF zqs$Pt@s#xSw-O+#9$}79&Oe|U(SyjPZprD!4LZZg2!<{%!Jt+vR*C)q&eijArb%W7Pls`o;+_768e|k8}d+uaQuphj<%m$ zmG=3rjj5FFR-~`mlOJZi6SRsV670i_7Yf7`laIz@*TqmHZ4&cBsQu9fz)VvA<9NU$3dRXUVXjAO=-1~$7adXOQTQIc_BCl zj4!>UGBJS?8-GW{qfua`;%*vzA>cf4a^AD`NwMjCnM&40r9Mb^m@S{=nmORt0f6p!u;7=(e zg|vzuUS>aEtNi9Bmf=<+KX5Xn8yms(uIRn|9f$1vF<$eE$R@J2k=ps=J$dhXdddnx z;(ZQXIbb=VBZ=1Q(ALmZXJv5}H^^(DSFdAK_mPyds$T zwz^1@#|s#CBs$W7;hPU9c;v+2MXTBa-;M?}ZhYKYZdAV`MyO3k^3~Q@u)pU3<)hkb zoJPpB-gZfnPm2ujGy!CnEPt6sIPYdmhPX)>*%&2)m%pI~=*XlRipShHtu-~2&a5f| zrOhvy!DX`ZcMy=yZPzR}(lyzYnC)wLUUA1V zE(R8>h|r5kU80MuldyXZ8Er~Wso(W&28>9E<>BI5t^W!@92 zF9>2~Et+6S>d|@8DS+F6q4x8ll^vH77FnE{Gb42IE#^aymVRybo2|vcCBOLIdjYYW zl09G|;(abNQFFLqZzhE`$rh6{4;Npjs?PasG5G|`&DM>Sdg2=2`i&%FFYHj8a(%XC z)f6?i7qu4Ib+(a?)0y01*aE|0KSOdm9?6J?>&d+%GT{5uytZwy8T=M~rvxD(C_AEI zH3SZ8NI=w=5Q^B$`;rbU-Td*3I9Q($mH@8wutps|( zy>uBhR!3jH11;muG9i2mn}|&iD8@8#4fOganXPf{;du#V5#_p@iD)72iN4^42a8gO zr^zRXR4o2vkXZh5=qqO|*^NZQ-l}h@%HZJCF)%~1rCxWSD5s?PR5E4Ayu=GHT8tFPSMf~Ip(E(+l8*UP@6P|LP7swvDj;hWUTkSfMj!7 zZe{RcDZEJq^C%E@u0keI*{EZ-Sx_JVpn8q(zh~RzZ#HH-8%vo_(GT6@(g02a&wLFf z_ZcxQhmpMEjdKA%?-Z#*{VnZ6c;lJr7!UV1^%xt^Ab{C%)6tDSH^Y*y@k-a&kNay4 zs%SM=LoNJ_ut%6XwFZ+RFfiv$UJ~+=v7`VXY||B)vM7EjjiE8&Nl2qjnD9PoAVEH9 z4&~Oq%*<6=L_kgxw(W7lt0V%a@)0O65FlKARv5{>Npa+S;PPBjX#@KpekTn^>E<-< zSUVcvMzvF!Nv)Gyvx;Y7-6BL(37|-7KCT{{&9H7z6^Fn!x$L4{K{jAhWp-LkwsIF4 zGKR;K6o^0t`Ev~7Ml4}ShlHEF#O>lhiwQ|CFReOpH?d;@1;MiVGN%MD*kjC#iL#p* zX@XvU|G$0y9Z(z_-*~Hh!j9_`vOw6l6DQ9m=rV~!NjgnE5pxjFVM=fzaJ1RztMfV@ z9ke?fHMc|RMjRxyfD?TKPF!~f0kIc1|RO(LFAvaIdD{xKHoa8 zglpj=sFK8R%I~b5b2uhlgv^n~nR0qa*j)rU&FKSschV9-Ogh_*p`-Sg`Be2p^mGZJ z<^;-~-~bBBXFA!UbVtOM+&{#HA z_*g4RqK$q7jc&_g;G#0>!~9Z2;|<(}(aRWH?}_DiI?PVHLs%z~NEKS5$RM_d9XL4w7Sr zvkjJ?11m;9XjTf2Ey(+#th$p}8q4+%;(yCO|7oe=c!j5IsvSr81xXU7$T?`V-L8gr zD8EP>WN3n-u9r(DB0fzyl^0ra3OA6eduj_|?t2FwNIg68>?N8$ zXa*MBfGk!awhFxL=A&S;DbZ$`(R|{zN+z_>YL%t+Qgys|MhHo*7P|Z;XD=`}80+0J zN~m+a*uFQ?hU_Eo6mMm_J^MgSiXOPfo%E~dIu9}29DmjozexCN*N9>y7vLQ*>aaB2 zXcw5(5Ye(0aiICyv)(eRbH{FOodu9P^bKfomxy@Q~gD z;fy4%wy>m^Ft3nuW-03cXc-}KT%dV_*OK1u$*rs$9O;hwJA6H6u#k`RoQWbbkp%Wv zUFFHkH*^h0rr-%*w~M~n(@EtPccdhg5@!cr?to-5=*I`;(Z~U+19T~-S)cF<{@;gb zB;HBh(y7+8X#O(a@DKuySf71yOB?nH0wGSlca zB%+RZvs&0zK?xm-Y^+ZHchVW7z33waEi-D-om6g9&6!VC^FX;payeO^jalC;U{AiO zMI~17>PUUJd&u<)_*NP3Xf%Fz26In=oCHk_SZL(se@*DI!#S&GJDAA}J?~fSA0wEU z*sMal`3YY@{&T;Ok%;#IHC!!aGaKSf>sm#}v>xcpCx29f9sTIBw^BcH@!-uL(X&T# z9C=wjnoVAk#Ush*@9Ae@gd2vj6M~{70BDLb2c&a|A3vRwL9=$2fsS#QdS z&eH>t;x)hxgcF`jiYW0yHBK8_tW&3-mZ+!~VHk#UxJ$9b7`Ph14t)E5^qJA@E_`{m zv*D3XuNm*B#54& zVGIr3fuIe-#4Ermp+n}{An#^6rBD0|7?WJjuNT?jAD$_=GHRi4M5i45+O-Dx-pm|h z+V@M&G26^mT$6WsFh*hlY2sf#fY^3XMON*r?>z*S4#rbaaB+6ea>K&xYOJH0p8P>) zJ{Wn1u@ z`hbWE4If{mu4MYHLJ^9M11X~-j}2>sz7>|s^#J}^GVd=FV*OyG_nWV^D&|jybmRao z(9+1e@;}BnBkQr|CGPc%LjJrNA>WipKq=~7ibLlO2VLo7H9rb70XmmKRzDzune2@) z&Nj%kuzmg{_J#>5HQ1ID8ai-x64vK@4vsIiFMr36D#IKIYKKY1u||zJ=p{Hca(=*9 zGw1`_tGtNH#h$ks<8P=*^>J{{x$vZh8mM?NzOW#?WI%C_V`b^_X~zn>DQ9^+fFASu zqTQ)LNywwescqm*I&RU5zWq18DY&LUFNphE$uin|V?Njbm2cRAp717?z*xKXhQ>jV zQdfww$#wUltYI)$DhNKNmQpftL@!))YroZ^k79i&N;#L`jQqfI`sdxJGzcV1hEEQ{ z*fyN=*sZ7ZR+}FNFC#Zu%wxHNM@f5jvWTXpXk?VM+j~TGj??8$nTn_4ctQ4H zk7aQAADQb#pSPWjQ6^}f{mgwH5Rc7u^(w?WhzjqPv#>qZeGc3!GnyM}NmbAwYF7b8 z{E<>aJNt`W`>Z<`W5TBmU*}_DB7>RCYA%>L9l5M7m06cujO-C{CQne(BX$YJQgokz z5WVmT{qis;*3c$O7f`?+Y1;xrc31`o{GfkrZYBG$Yt34!mfhuUF;kp!m`s?>lu(;# zks;VfRhXy`QXr={`U zw$p5Bq~}fdUyRXc%$P`z*V5U@eo`@|EazDFbYyRP%UVCbbHVVg1oY+A?>ItJtOZHW zh(e)@$oT?Z{cTXx4SPQ50wUCk05L$$zX%$vmV4vvIk;HO=z}3t>W>@f&)u9p+{tq0 zQl8WMIT_m>+6rS5n)`! znh9e^-N`vw6M--bhf>dP5Hk?VR1!WOrC&G*z3zELO;Kiv3d53g@Y1d;W4Ie~ws!m( zoZazxc~;w!ethjXLCF|WR?0yX`X#Q`!OZw)(W+g7CXXJZCNaK{z#> z7(to6k`@bi9LGm`VO?Q9EJxVQ>8apl8z;lqq;FBiBN%V4e+hdU8u-1UG7x!z@j0voAt9I+?&C|mo2f}8cwq`>jC~cPt&k7vQIueRI*33F* zdH%(zYQN@6g>eE9I!q6&R+?E%qq*_5to`oUhqh|mdz}X8EvE4dQCgrPauIPiO2A|+ zQW!_h6m(!R(U);}xra?Q>G>8_wEcN8F99-Lq`fZJ%jcet6>EKtI4C=T0#ES)@0@Wc zW)cFA`iosIOep!@$r__N`l%r}7q2MrU5ud{5Zsu9}%1H5|M*<9v^OQmgG5l7fNKEq2W z?>Q1kLsl@+0=)yC*)H3}c&~-G3kqxlD?I|y^2?1SLaEt=K@9ak{AG95M;FZ5v2c5S zm|)g>Djd-3K;bUUt-#_fGV{FKZYNfa2ws%9&U2pXp4T|-ZSPfUtJX&6NBCn?1TlFw z_GWBUa4~#O6`VdFW6{WOCj&fC>6JhacT00@-bNC`HtUQnbkNQ8=B5$R;q&GX46-Z{ z+C9V5t%96|>%*V`Av%Y`oIIzAQ~2+%VVYjjEMC*P=cIbeW=8k>%Jo#O4fCadx;a79 ztTda{J*vk|06ywg6~y2MX?_1XVm)_>H>R~*q%I!#UQJ@R)5yo&pk546 z+&X=1>k-NQm(zZ@JnwB6ra>1__TvXr)47(5;hJTZvOx8}mDhp6S%_CT(I=|=jUe4i zL6Ao$EO*6zLR4ynxZzyl!OP;&$Q4v}h3dte@GvNQ$K@E7{4aC<=5HaE7RRkfXJ~i~ zoh`D3d@TDUh^eJ=S;+)oivW;DOW)CRgQ)o1Oz*5JAtrFmY#Dahu>-eNI^tf9b{*u-2*Hdgvg)YK2TkScGkvAaCDe9EjnX!-j6l_*cN)Y z1q_?{OwU>5fu-{1qFH5vs8@|yR=qK&3)LWR9eq;2IM=ft%0Pl(rzyf9i{F1@5l|yO zfB+6vl&L-#^W84Gtu@1hp0TTo%F>M;X7K_hV&_>}IBv53DC^oaLku2JV zuKyF%WsFAx<7H^a`)}%&*v5>j2r_SVm?A-v?0?PDq~96=|=uM z;M1*TEn+2{bEF&fcNj=KhxXQ+)xys^P~L+uz%qHRU559_7<0IpapvfoMwPs`V4?|< zPLre^l z2F4APte1?tUh^Kn7}#+6Iau84OEX=u+`s8VDn973ATNsa=9Ro{n=Rda0t9XS%Cc~X z{_~AUDJXDuFGS|6t;^V}Xdvo&J^a1OrRpD0iX58$y(+#p58Y_)V&d?u z2>k@8mz?S*%1wa^E0L*X9b#7yn9BRz2I26cx@T=s_ieFRX@^G@}zt*eru(*YT$)Trop7~r)pd9=0D53$9WXPrY3A{0|g z-e&KwWJnw^6fo}`hOR3Pyv^={x@C6(#U&tMZ}RN{{1n*5nF5c(MKZen-(kqSS+PP- zn?037`48WZSwAm}6%kUvB=$0!X6tnLBJ?&jWp0sjRP4t@rz*A&gDE_~3O$!X%TFei z;ryI2?u9<93!!`Kp}+6OHT*^>TXX;l$(8nI@d-qJ)xEV|c{gwpZ|w@@S5bA&|BB`{ z14rNLm5Zt6ZVq=NiuZ|42jyAY3tnS-g66! zV%#8-v%%6?W;K&W#CF@0vuIVle6PXRduR*IT2g?>YqVOSZ|b=3SEi6PwJzirDH+U4 z7gvEAli)v9MQG@A;6Wb7u-*0t!vJM~8uI=^Sawqzi^Rpcu}NhKbU6y+?$~7*+F;Db zSKhn~>sqYitL4-;#wOysP9QI)9z~HBCSjlB2K4yS2t1XO??6z~)-r(NVj;LCRm}}J z?4LF~{Pjkju=dX&?=mGyh2zb0f!v54IFL9mMOE@rU0&`XzXFAUOyZNg3oC9wk^N|G zVDBy9zrl8-9LXtwr@vFjklq$edtJK0NshB(L=dt5^8)aT4(SmQ?;elVvt|)Xu!#gK z?gU^M){aPpr>@)8x&go=ZY?JSL=2;40UeTZ0CnN$E;l;^Ys}2%O~gP4!l#f5vPKQM z$y~ntfMHOSeNqi`{n%r)?x>F7=yFchQ zv;g2C*R=J?!&sqgMXZ7c_1fDfQqT-6wdtiHuBporu#pRUxd+Yq!9{J_$jb5jHGAvc zTTcoOciGqJ&0T8K6OxV_8A|Y%Sr|;!sJh*2yHnmfy}`nete9+|c}|`(yUJpEtFS!5 z*0Xo!b(H?|+umXk88R5a#-x@*pZ$PSm<4Fj}X6=y5ViaUvdm2^f5(^E71#{l%Az z_AJpn3~F&M2)w*S_wRB+h}rqvY*kO&Al(tyWcRq@!kGWma<}SKz|j_RnExD>n$sWo z$3MJ2_!&8TzhA#2j^tK|aw;8z=ovRk^tj1!Are}hZqk&jU5~g9# zOV7+Xxzl^p9gI+wm;WZkp#V{%PLZLrh_{`f@>-pAQ&8GL_JW4X$*NyE3bgY4)SRw0 z+Ky%Dn$HXQlNqTnZUi|K1=kb9F|J*%>Eo}h=ZuW#(e{AC^pX>A*z~OWI(m5qat|^@ z=06>plldy4xHMaA@&SBOPX~!&uL*PRuol>d6qzB8KD^*JD=epXi zpaqS!zK$%sAMhsG-+`iVaH=W=mHu#)i@GCCx~Gkp3qerGf=X&i4GJYQcQK9KBO>qV zS6(uZ`J7;fmTMjNXIi~-Aa9N65yyauM&ozQLvFpASZV*-^XuIG4NZ(P04EB8Gs-Yo zq<-OpBf`Lv5J1qeu&VWE#IiP^oiykYi#iNt=@Fb$-IzLrEkxr9L1^wpl7|Q>pipwF zHeafA9+PP@CN)pGNbd~jH&+vxqc(5CNG9KW zt<~dwS-S+clwmw9o%aT=0wXf&da%Tl`#>QVr2vpvy_JfXy^5pa`+R>&0W08P`echf zrm9LoGG+>oW*p9TsHlc@pod3G5zFJkEY|u$fsk3CHM>uRPJ)UMUFtHG8m`hZ)X{zu zSgu&!tP1$XC7l}fj0;9p8>PqfoHxecP~x&ln(W^HAY{r%(CuKFs#<}k|D_3$;Km?s zIP#EJu3Q10cQB2;>`>YaLes#{J_0ebZMt10rYqXlRCq*kI|NOG~XU?K-`hA1%cv)rI zmf`xG$5;dS1}oY9a%Irf%&zq)m43s z&|4QU>$F(aWm-e?sFNz-!9IKW;nZRabh%gkwGb?44+?z-`QT@-5I9B6=N6-(dqhlo zJxSW?6y()0u+*6cM8y0SNfykDtKX={s_7@ok*ib0>F-(@_y-PJcmI_tzRUrtcp&lur zPPlp(gvFFBf!eXg;Zp45(HT4@tl1i0_BjEly7PKLv*^DJ#Ew#nlx10JrrKt5LUB{i z5BFBIFmMKvw72r9CcZ-xj$1)I#bcx!GW!q2YruRsK9m-_rY)mMAbT+%jXhOREEsSI zSicuBcPUZMB7FFW{7N$*vm=CT=GVA85Mz>;GlQCvtp!bZ3>V}^d=psLGa%LKZv6Rl zz-Uo2k5`GYjj<>SI~}09`?c>LlzDR1s|`hk#G*5}S#=H7?)-F5-x+T$8LP>4IJf^7 zj5ra)#U5`X|1=cg;n51qOD@wipUB8PINJNs*gU2U@`(Fb%sSNkZ)yYuR(gei{F;v; zS;z6{_1U9NtKez0F8&hfcV7|62S>YLMoc4@AkLIzahz7yNgIfb-=rUM8QiM;5OTeN zkOB;mRUw4e4ux>dcYJpb(=>SiNC6=^aR}WgpktnpYhh0d0;e}G_9Fq)G_0MMYbYi47%|S^=afUK^Ll6K4j2y_FQt7eGqMfQJ zIkN)_BHHtOoq}<#QeJ8g8L+2``LX;GkRT%k(;%P-Gr-(&V>uWa8k=}=Ft*%!%u@d~ zdBUx*m6L~)8@1w!#}CBr-?;&XT=9P4p8dZ^pR4lX@Z;@xSqmT#vjE2@Es~*Z-)&NN z9>W{7{;8E+*q-8e1_3P%gx)cHZk;-heB=I0u-`k>qL9ZR2XdYo~Z+dxdUF&7# z$T?>$-z!RVlE+L-&%;{k-*XiT;v{SaW(2IN)LrrxauG37w%ToC|Ha6jVgyHFHL<^< z5bajHX?6TRT|VyYqK*>BfiOxDsx1C_gPtSJM-sMs!c$q>Qvdq=IiL;$Y`eK*n_y@X zb?izgb@U(Cqcsl))J|8E8p`sI1uz=yyT*NGLGyoo{9io33n~WR@PbTKMmFgB>O1y% z&<&w8YPsWK?FxBvJ|nzUVXZuR8MP815{FwtHYFcZj~JIjHL zHFXU$8!o*VoB*x1IYO*82z6?)eBMO#rxA^kBh^a2YlBsmcrH%Fw+iULkEuvWbGmF( z@y_3rI9-sR_?z7#zTjZ#PcyQ2`{>+?rrQ1F2Q&OCC-hhgjXUGs9tnu*aJq>p3Q^y= zmPFKq)Q*;kwjEo$N9bY?!_%It+SYV5BnkmudZ9Ekx-hfoaN5@%pd8^_*Wr+m^bpTY zA%9wnEcAOXIRZe2_TeqWBdeKBsWNA)S#d_hr(Sw_ca*2vmtZa!bq4H!G|H|Q7ZS_O zh&nT>$ca8Kz*gtWm3WM|Aq&h-Z}R~&-8qeOlcx(e7w!fTt##do@QJUo*bqcV(N(GZ z4F#jb2cdO}z9}L+Iwkwx_%AtmY>F;7k?iom8yW%3oh4smS-o^>#{b*h;W3{C@;`CO zh@_){o&~QKj!wAw-ADqH%9X5I*geR{jwTqpi?Sm?DaRe(^fGt}%GKYiSr?2E5@_L745V29n5{wvelJi~VjW|kWo3JF6K7|h#6Bvb zW)huE?f8)S@ub{es*gXN74oajE#lK)ZPAXM7FB#aKLNa3{tR4LP)D&32i7hdJOq)M;-Mal2%T zCq8|#oQ@FqE6Nh-=jkUCaSOIk)_+k> zLJVovVhc*LaWbDO(3%eVDt(HFQUK;&q|8whs#UT>VE2PF4HL+-VLwBDWwm~1k?WT9>b z8+Q=on|6B-6kQza(>)$7&q->Z>_cs~2{tKE42I7(>o*T?y%Hd>X1_S>fZ(F!rEAl5 zjds0)Vq=wlTKG6b=ueCG$^Fy^3k(7ZCZctsz2&&^4jK;H()SnTTffs4Dk3lTt(tldxG#~=@)yycx`}w{yG}N~o@gR(vHf3uX#chN z7%bzIUD)Z22WvRm68H%G3!KeLvw*Fidx8hJJj8u-Lcg9!v^alv($Oi+JvveqO#u6W z-6TDxltZxmS&Ski5wnW@MLX*|XamiKDFowoMLYnBSv*b)2#neuo)zEq$_tfzSrAOf5dU8OeY0^1CO4}j@@GBUN+MdeA%!AaSl z3m5nnFn+~W6r{_<8RinYLy{#aN>c80xLGXUq8gcGu&j~5p`1+~3i_ZmvyCQwRezbU z(7_4n$!=??haikCp7az~;@_C%-KtNReL8*=TW_WqpsL`e6S&~J|Jz%rCh?^~m|L0NvY-SS9J2gL^j6hv58 zm_vWIZ(`-7ZUq;&>DTwV9tBW8{@9)PeNKn!20V6>AY&n%*IfF(R$R-4zWLb_nwK}lP6xKk1G4P@5sPlnaV zKkkn1Ry9{R!?5MH28i(uCpyj_V3;-k7wCBjwNDi!u=t2R`p}kL`Em>sm`rwfRhqr@ z2#=@1F5i{~=)$t8sQEUWQPpflm)fPanzPRajcEpK`S0fqR4~y!Yg}IGLr;!Wxb1h) zrf`y-4rxXyf((KZ?Xx^xG~~Biq`)TK)#u>lVXDRwlrAcVvRcmzzYnj^4_(g`NMf-3 zP(_H4`->I+w@kbwd!7{nQt5`iuq*L=vGd=fWy=u zA4w^jf9hvUV}2^8qqtgG4glvdv(^FcE|e{h_=V1d2VZ$P^9p{ zDly-ti3<`Ur%|Gaj+t3rF#{rQ{6OtS3X^BoH{i~@qErmJ25O!twI^V+C|7oW`_uZA zp$Nk9`>h-dq+G%=EWzwimzQq6@`bVjAb!zczs1Fo#mE4<6A8qpPh@*b(!mp0w zcVemg#jog2g`ur#STrtpe?0*j;@faRp;afsW3g?VmVWlXy78eyf2rb-oVhLo=~fnI z83WO*{=_i*?2He%tRKnwEgagO_mxA4|K^Mg-#Yvut7$Ny8Rd~rwh8x4Dxk2gUD9;k zNTiMBC`DJ~;^{Rf3``4xVdr70QyMU~X-z&l*x*M*XEG)J8y7~kU|qucmiY*5i$Z>) zQ1=S#fprm;11rwm4ikvdxfnONMG?mwk65mxnD76I388qaMIN2-&KU*6feC{uclS#5mfqL}fvE^_Q*pJ|{anf?K-@@cNd>#%_f&I;k%Emgt?h=4V} zvz;nfN^uk5F8j@#;@K#{9Xc|;bH%iz*;_U&2CH&!Cq0z-ZSb0j)2q71HChIu{B*Ok zgy_lWhrS^<{sE0AGLJPQ(~zj19#kbH}m|4J0(*p6?_q>mLWK$g73 z7Dvrm$Z`j>GF*wSdM-3s#DO|UKGYNE1lE&k6amfBN~fPp8X6ejgpu&U-kXG69!CXz z{fNjZEq5+&U0>BI)y7uVobtyMs8ylp;=vX?;DF4$>o+l$Tb!;Hkzr@8URAmTzQ$_~ z-RgGQ2m5<1k&q=XsY%um;roWvms3+TGCmSt5b$}1?sT*7dfZ%mjvGpM1R4KA69RcM zAZ#I0*hf6VOlt9T8CO`FWtYwkylrXn)TrJeZjF+zn`#Q`Wq}Z4W&5LC5%m_ZPY$gh zdI&t6JL2TbcspJ}TWo;w|B=XbFvbti@6rKwZD4E&S^SN zRXPtf=P>Lqzmi-TKnR|PT^1s>-N(bN>4_o$piDGa*y%~m=I?2IU2;+$3NyHQ5O}t^_#7jOfrBwMTD10K!C;TbDatd}`#Iph#)!-<3Q` z3PNEChb7*`MCAEdXd-aWG&Z#X_h~;qbWfT)sVw0-1WUiktU8wNBh0tW4`s85*2enB zG;TL)^o`Q%7o=G8kO!B6WO6bSwhcJ!?UfRRvG=;)J*&nu(sVU9LE5KbNeWy6-~^w_ zXRIPI4ZRZ0fR+Eooom+xT#-MbaUWVjWzz-vOR_n7SfmSJd||=TfK19u1oW+{Yi{j@ z^?yW&LG-3j0_#!e785SQh-RGJz-~<7GEpIT&d)yclX+_rL+z<#i=8|`=)U;Z%4(s# z3?&Ran#M)@3PyAD=(3rK#7p(t92fd4eHu^D zvzdLCxD|aWa>`sj_S+sy=(8Cl&K21{+V$A3%gQt*-+oc)xlOgDmilYD{%r?FC1Op2 zss%VGI>?n?^-3`kkl&6lfUFN0x=C8-6Yt{r+hym4cmA^q8jPCxc*#&xR+<`oaJ)97 z$9_-iE{5?e{)yo6OyyQXZqE8Y1!VJ7i+Gr2AS8cE&mx+bsH}`CDS95R#To)@NzNau z8GD&qfB|;vd^=FqXv+VwEMraKegw&V$k4L`nLwL`TTk`wZctM@)mIbLeBvO2Y6ml0 zPyL4I;{0gU(hTT?V?|(GDEJ%WcLoJxJndd+WlT-6MyAT?=K?9GmRnVDUkap_j ztmF7j%K>8DLBoCrKAKLdAir-S{{4R?%814^^C#miSitI$aQYq_BV|m~lB=T4fFLC* zvZoFEyT8lfgy4)JM-=IqKrp-{8p$ASMM0ax`4>V~OHEjpKCypahbyMoGsD+mYfwTu zTbyGK;Bq<*aTPl8U**1f2abx5n!Hb`VRC#a>6{W}TH$G!rK01|OIn$Eow)(_M;Mc8a8UX*BWVQuvu#Jo@DJ=WL7jz8`Np3xweeCVbB zCF(u=NTNawJ0mA!#_?qFV+^9F%zfTH^sK0s=`&l}rC#Eh>5*c}b~{8wq0OK8Spsi_ z=!RFD)S~%*+V0({s$queofG_k-D?P3Lv(->^rTDpUU{p@iDS~l@C91VS>zcL$%{`2 zcsv;znap>Jx|w$sad#Vzm*0xiElO7|06C=jbX8q<+cG&8Rg>G>iV%L=&eloJtWwHh3Y#Bse3XyaWga?+!JaP);_UMJtFqE zopONe0W4j?pF?d)7|JZh12{$z!&_J#eZma5rkB#NE|8pe4-XP#o~o-MD>KA-V6o=! z@efsD%Z2QKC3Ubu2I}w~$~N$mh|ikKw|@M`kk82<-Vr6$-U}_k4Tu@WZ@kqOuogZZ z-XY_|8tTp-GA){(!zXW97TT^Y{uM5Z`=L`0e>1K^mWCzolF zk{2yFP|njuV>hyzN3|t6aAH&U#i86#ef%Cg{J+wZE_cMA_iJrFG~G?ptlDT-uC3J& z-W66)-=B!Zj=MFLrVEc_5e_;L&FkBh0njz6%2 zW_ZGnc0-lodtbgPmMOQynalr*1k%X-NP-0Tw2Z;?W(qlPJ$eSgE{}Ij8^*32hLa(; zZC#NMYQ}9_fx%vrEV@)9^j+!X5xMKT$q8@Vpyo&6*6Hj$>k4ygnid-=>=0dYeo0nyK%CYybhD|Hi9rvFOThvGnWS{-mm z&2Ia4h8~1hzURe+5PxlXAqE~o3fu)FIfriCZjn1<%ftf%KIB5se}S>ki>uh)u`tp9 zXeEPBZ1>e;;1Q3n%ThiqjF6Mequ=&kp(^w>gdk>uXW@*zZ9obb(kD1pG0#`<>b4uN z_m=&n?@=rVqYM4fQ%y+%xN>3(Q3hmKK@d^|nR{~Fj$|q>6e1>UYqeQbWw{x5SD;2pDU&bu;s zpx5YbjT^AdjyiTq!F#ObsG`1(&WO@~puH^K*LI~>ocYN=mgwgCO~2g67&T01qtpo? zO{`E#6Y>zROp^R~0cPN#JC~d=RTZ5!1EZb}?nS_@ra@fhk?jLZy!r*W3q(jO(j_S? zGJn*Ao#iiEA3&Z@CNHK%4%zW{>R3(uwSMDY)542AA0j=k9Bnr#`LFP~bqFwlC#@>E z&a46 zIe*qbOkv5#V3X?YCIJUK3%!~|9eRC=3(+AE=Qr>c+7j5bTl54Xq(1&3Xs>Q-+*@YUd*R)Vgz*@Tv! zHxw?j)LeRqBRNJdBx)~=n8p7Sr)j~#?xO9zlp*{(C)V`z$v+BQYbAgOr)3HB2Zgus z)4dZ&jmT&KD~FQR0nxn=vrp_X&Ey!!$#-Mb;~o=f>TA)1KnsZX^T}9H-mx9KHqFI~ zGQ#<`3LNmqy2~XmC#R1&#jl7M%5pte{=5U5O6Mr)?n_BE{65RdOzn{vyr;K0Dt2Dy z2#7T-z4dvAO_P`R?OYoaSJqc(^lYSwCOBu*lFbh-3!3i9!&W65Iu#E`s!RKrcKiY$M)yN6p6*#c?jnpssYONa~|6iHM_5mGuYd^Dxw-<`=|NWIkcqoq5a=CRwlTEOHOpAtJ z-FnZxd%7BgwyW_FJ(lc%xo0rXiT|;b?Yy_a#;b*mRAOa0j;8EC@)4~7{qyhi&euSq zAWm8NWZ1zO4n@t+35a?T*=br1Th2y56i}DQ702_rc59*@jv+tk_nyAzvCuYdhkVnH zB~Ib%%dne*@;K;C6K@d7FqJ1F+#1C~3{bTAj+^HFZxmp=RzVv0tw|o`AB7@GC}!Xcs&`jr0o^C6tj6L7z5XI4S08mod*DHauDr7*O1`| zW?mMR-oY-P>JZLaYy<5{aaAY1EeiPaBq);TQSkFiM=OcLXsM(UgDo3J!uoQyID{Fw zS|{~?AVoT1yxG+fViQ+*({5c#Q96F(?7pS!vlQbY8r`5iOY>gZ^RXT_W{?HOfziv$ zUUnL}@LpvffBYq_IB^AX^VEt>^G(RfQ!>f;_#99f|EV*jDLl8Z5yBD6^UM5J0m7TR z_hXLJx!Y_vt%AK}3#AYJyUOtq(cl#8dIJH+p8WxM_RHT+Y=<0_PJAX8Z@d(R1B;vj zjMQe;L~S`tcH&{_(>t&kCFlo43;tZ;*Jp-#Z?N|2{eX${ z=b+o3);eT0A~h#xZGIXPls=F&Nn2CXetCw6K_QI7g5!5Tl_JJMmjkJKL5c?D2u%`8 zX?y2fhYxYkf1`7nG}c%&hRXLRgH4mN^h{o<`kRvpQaVUHh@u-c2EYYyXuxp&~i_BuHxLqcFA zBQ5&0@O8F_{{Q=$uoQgOhfHRe!NGTSpH@1L{;hp<`on!*NoV9&sPMGNcifzcf(qyh zHfuaI^bfsx2mFzIn8me0qcsI^3SeOz6MiVOgK}TNM6HUrFzk3U97K6|OBj=IxF1fn z>Pq~YPPOXKs0qMr&4)LgY!L19Zp@k zC2h0A3UPZ9gfs0J+ue17fFQ;%(^2jiJX)oP|9S#;6WvkFNre~UCowDyXLLqLp>PQ- zhu5=$f}^8A5Qpdf;GH3c&8Bd*%4agvF?j#rm`v)C1-X%0PDq^zd`4O2)P)Y;?{Pvu zFe%gCYbY_2oq~-0*itda93f2OulZ?l+YJoxYp&Z4HOU1r_grc2bm+{5J{D`qs~%aRtF zS!nxff;%-HtRN#r$#C*}*vq%wQ}K-F2iqWsh8KdgeT62+Ny$f3_ugp0|eca(NXMajL>+&$Hz}1`2HldLhlQS9VcbrHp2im*$;R-;raNMQO5WI3m34g|H0I z)hwtWTi_o}==ftSR6bCUzJPfy0o@`;34z(yL^e3!plKCmx)1-#fnFQ5_8$GkeTI^- z`#*lXbqkB$pz#7|E2S8mxa+WUos>;f zHX1!Vuv>k)&k>4nsT~}$mPxWUu}9#P zo6ppmU+zKO?;5I$2T{0(8L15M8L*spf-#v$3CHWWmRP%_n7DVASV8Xqh>8RV+5N44 z0u06Z;QP2CsosKIU_5tvr8`!>13L2@rO}~tnR}?Pfgk|B>ltK?XHi~EkgqLqyq}q@Q#y%2gCCD`FhV`;tFR7+J0ICyG4Yb{$2xRkqRD?^1(F5lDKZ&x`^|Y&VR+ zlOLhTx*ZYUABJN0&EHTixvy)oYFaNpTl4>vHagm z|Jo1R+v|J;=UpqNoA~VVJ=c_sGn&b4fLiIUXZ*f7I?D0JGD((u19#ciXv#tBY5NpT zIPohk|L6G2t~WER9e2Q$`S!NCl zZdH%-*n0)_B6>S?^FG!DCC$Hw!3@FwwNzqCOgL-eSj0}3aQIMRklV8~zK2h4^h>O} zAoajQ*1zD#rJnErG{&M?dC#~ESk~y1muT+rM{!=F$!#Wzu{$dheU`0rKW%CS4*Nb4 z7byHvg97ot>1zkeN%-&G$j6qSHLCwcAK^1QUs3y+7XeQXGIVm>hiCJkKqmu5D z_r$7mONz;D&^`OV6qRaP6)T^gub4o~k50)<;r_mzGa_!!fwZ!R@I5*s#UD#<$&10DpQQf za`0-Otic*L8lLL&VWAL9)88QC0<+#@3*l^*q<5 z!In4#Fyp-=EI0)fBXD|dW-xdhu%S}(i;`cB@anRxdeL^KD4DXOI)Ci157fxEjIciO zL;)#F0?vMj0|gjVe4HP>&gEY_Y{piq`eKwQdvsn%dZB6`eyz1NUGP)E-K(>YUHpfkCn82BN5lp& zbo-I;k?n>!XC)J84Gv=bm0h!D6)#PSS|~XcGo2*Q%S1{poTX5t5UoYq#7z2MQyVp# zi$7!tg^@iI_KZW>mdON~+esR7eqKOF5UL)G~ z>^rhTTN?79ALsfx^Y&A9mBint!O($!1b``O!f^^|EdtkMCz0=)X z{?)@;kd(E+hJ`}*Wt*y=3g0VJw2jqNiogZE=g86Ja-)M&kMI?A4s{vEE6*DeMf{`Jl znckZ1pmyPbh>4c%5F1QSd3wH1eXG%keBzWJj}-(s^rM0NE_EmDD3WujZG2+4^~Vwj}W=0!Rq( zLz3>Mq{q$%m;YuDs!6zx)g5;5y2as1=B0&6w zS{D6v`o|}KR_N?{|4P7*6J+h_4Ld?$#izFH95N%fap7$*^3g{*m=bi4lJb|MjKF5)#jw%gZV zYsshU;L{7MkL1;`&E<9_Ls~DRZha&jT(3ZIyktmiXx<6WhT)t6^3KYWI2(iXOEt)# zjA)=1QHba^%w$0yA5T$83L%as+*yqoKEdNVo z9WtF*^pKY;tIcGjqs)YvASA7qg#8Tl(I0Du;Ii9I3?F7=lfT`Uw;GIrQ1lZMt(O%w z`Q4?ER`Pj=yoKLZDvOz;3WE=hwt7QOWyVB*KGGBP)LNxFS{+z}?Kn(WTwffT{(rK| zj<0=i0VwyaTnL*YvWp@etL3McoDQriJa;oBSS006*pjHU^$Sr91P6c(1XHY_z)gH> zTfbHdA#!Zu6UL62Y*PR!Yc8D|C_$Lq%oJlt*xX%}Ylx5BFE3p>BBhG$$={+h)P4;@ z7Co%#`hXoRv(%W6`K+}xyUh}bX!-Sr4hrg3WjvUv8a&VR;Q6QaS^IwFj=38cqIlJd z=*A7$Jyjv_bnf0=IzTpY>jk#D;AWK4?2kAs=#W`<+^KA^qb@%Pc^je?a}BSfD{kVN zbrf#5ra`%6={M@+lBX0PM@HRhZllc?GslCkOY(Cr{5cPd`HRPsi&?O4wY?>a3c9YB zEXDPe91}6&3*U6iblXo}HjN>9s{YHu88o!j_34a_sa6Bsrh}+B@k?>(hHANUInx!H zX?;dOqt?@ls%tBWPmWUC1QsyJmdfx#`Bc*9pt*iX!7(OV>h0kC1(&>JZ(&EfSf7y5 z*8__q8-|(csN&pNaFLk6JtM(_26DgANg99SELqQT0mJ_z15QkMHvkAf%1s(wFC}JL)Fhxw$E7;V@%si zyGfTxpGn2 z6a(GO%0g~czayfJT;9m&QKNmWA)w~hUJAQbs(DCFX-AbOXO$3zcDq}Y6)P2C0U*O< z2mh(MnpSMx_wd%*WDJ?8p9?Lgj#=}e?;vz*-1s#(S|Wdpv)X$tOz5`|iuu)WagWX( z-)!o9D)TAR_iJgK46|*m3M4tM^!8OMkyE33>rntqobqY+x~lC|ffVAiYT0PbnICt4 zC4_BAi%S47EkBDJ*YJoLOXg~tkx+2PLQQi)6NHCsEX;8B<1I<`EQ3L1PdrOU3p}bM z7-ZP{TE!P2&?JsNm@RM1)tP8K|EMD$!}z(yTUqO{+ODfkPnyJUjP;eCt=}606o$QS zgxH#DBwWfjA6tc_0VRGrRq&HLhpjG?MYJin6ku@rU-VIpzH!Y}@j5zH*EDklbJ*$` zbG_WO7-?XJ3xYscracCnF;Oy|ImcWmhtn!LK@X;q&Qp90_)6<+KXysYQ?6h$_XId! z(e8I00|RM&a4`ch_Zmj$a&sw;o~JR>z>?Rh76re`ge4RDuOUmYN!oqNo0Cp}NdlB6 zf#ZW>eo_9Ip)8utuVGx~MTIS5<_q)Z92_j$)K1r_IeF-s`_gLyC`6CzFfMJtYxBoA zojV9EMjx{Qq%^1Xx`;;j{`1!P4Q!c>2(N|EL}2*%&)R2GNs{-GatogbT&$UFk%%sA zAvqE6>s&WrS#zCt>!`mR#jbmvRF{qVa8MS?v5&>n)8*)6EeL8J?}VHOKj4~S9oF&Zg-T?d4eC8J-S0{=!nVX!ZWm!1;X z@ro*iGA}0SG(HVy>XlDqWqPh&^aLIoTWRDOcC{dTrKs)%9zq4HD9FoX&*QNqu>BgK zxfdlz;%9=R<0$MiJ;c-1tf3CjFR9I<}tmL8+p;+YO@_sZyf@G)HE& zyV;>l7D1rzRY@`+4O!TFmZ*xVAp0|!BIwgGd8}l~mH--w#WzD{uM_Fv3-oFOJjUGh zZpI*(A(Y5pm%|Ufjkk=hOZ|nrx}v>B+%AB=4W$rr@|negR9rcG0axM;$22_83Ac-m3a7#D z6BIyQ+X81EYJn&peSkVdUFkLzkh(+T+SP`_NDg%2?OiFY8|uBQm7rLKDFVHvmxI2q zpkco}B6uUnOIn7GUNt*O;9@QjX$YwoNp0G)zpm@|sc5u*8u@_F(5I+SZ`X1;=AoYW z3Ql8Pjd;RIG<}L$S|z}j#Mp|$AD7bgOM{Dfs*;t(*Ekn}bO@Xb_wF4}DpxQJl`4Gv zDy>-oYjLwVdd+r+8I_6n3LogHa#8fbAb7zbZ$->)^O@r&U}Tv z&#Lkq{UT$3qq+R#Yf^h@uOPN=#rrhq$Y>^mNCHWl4VbII-ey+g;^|glnfHx=`6&KgG55H9}N4lB)W}aXJ|(`VCp)kp2Oj{ zho@WE!9bsP1Az*;%NfAT<5;C@Y~LzsDOC}Q+PfvRnZ>q7fQZrBg&C)4qdQanBR7l3 z_zM>G0oQFOBo0Sr@4<4udX{4p}y(Xou;(WiddgIyhBQJ+z+*;830C%0Q%2X z#-v3(yHg#TmLYbWZ<^xNE7Wv34k=n0YACCt%wBs2MIMpLSpr5$3N#;|ZEfgBj? zg)zHXeaDui!`KCAyP6uJO7aMH@P{|XO54YMk5G$t8Whg$v+DETkEh*Lob|1-J5(6M z_+uDajCnkcD~?N&%?@{uoYzjW;?Awu&I_ttD~9qAKM3YSD?AouJYMP;{qLA75{vw+ zk(_~Lbb6BGZ>lWkE=y2x8Hk{?7FNyKqwq9}mg%1`2^{J-D_O~`BHm;H`X5sprhlodZ`mJk=xy?cmI=MVRj#TczSv7Z`)_lgvegCgvWBH+5@ z`l4kMLzqocRebAj72xiJ7S9^r;?pcr9vXq4CWDa-nEt8dv=!x5aG;Tb&#mP63KsX3 zK}V|T+A-_rwd-*kcIz?1@e<==>V%E8+q0>Q&{rRpZ!uy|xBe#qIMKw2H@=sL3Ny;f zufIpCW6ureqk+%>5?j1Q9@+b|Q7GW*3ed!yZ&OnkJ{(aY$uX3rcc&DClSTre35)Ln z_vj~yb*!k-&aH&A(Qa}-SX}-lXU~mK%#4q4c&AHj5MxTz5p`7J(Cf3vUl91piGu!C zQhYqL>VYbbxKcv{_7^Sl-SB5}>6vahktWBl#4fTO|E4_JE~D1JDRl(8ddt(|8pv4i zj#x(X1Jo4(8YZ@DDHN{au>#XcC$_ z+$_m3P$=m+wQwzZ(PSRMpNkNN(>e%|jU89S*c{Ve z2QXf@Zk@o7h1K1g>p%>)Bx3ysEVvx^`zbn2^6HN#Wgb57y_2CD0s#mVdBG!!En=VM z=-D>}kB7U}F?9@nmy0*CTT@%dI=(jM>1gspue_#x{7y?vIgev!p2(*7KPTF;m9S$u z4yzc)A>GU0U<%K^QSm)MdoAOxBwaQ|~lJdBFM1dEL{{ z*=KuaPm=4yx~khmlpSnr8;FVES_O1&Z zN0soZxnZ3Ik>#JIb1-bGhuU3ObqiqFBC9rIQ?p!Q*A~yP7Ce?uJ3KO;ECfLgoX>Q?ZZ4tKN4!{yn~0Q)2M9UlB}M;pLdht9iS4# zilEKR^FuoUYIxpKg1d&uGX{w*at2xzyGNk0Hqy^*v!}*D(Eu9$9ejYu89L%D7t}jA zu^v)@vhi{>Qx3xRPTZxu^U2FA8Se{peBXSUenED-UP{gV_{x|Ez}dE zWiP~PnldC1gQ*ZAcE-_Pq+|=}N(X;qV;%X9e-X$`U=M93Fm3TazG3MkPPMA0p5eb* zb4r09ekzlp!+A!ou&*sttNquCKA4gchEh_A;__yW_LP7#Y`lrOBbs#PfYGv$;a^k3 zO{B6-=}&YuO!FjY75&&*EaGj zFjw*l1)WqPi~i-;beaeO9)^q)cY0d>NU;EoI;ba3@Iw!0*LPD-hWwX5LstO4hLa@J)$l2;)=`WCI0Ft@%0)T zb3Vh3T*Gs)U@E&Y9Px+e{`Z=RqRewIw03<^(4Ji{9DOIqBO)KO2!b)JjoRC~|Lkf+ zXO2ckCDuvxg=2slydvLO=%u?aZIln~iOM~*sj2@=pHd0+?jd(yA1{3oVd7=KnZgtc z?`aG<{>w}w*d@|qP($9?4Zy^T0st$A!F@5AkQf6xc6V)j z^oB1>t?zSbmhE5RN>KPXOb{9sMt5UXsc$BqM%>v6)U4ID2ve9xTU6PIf57JR?fjhH zH-7N~8D_@-^AZl+qWcUKud3i;4iS$Wf+U*0WF2cN>OAOg_5nmWHB^5HeC5Oyw}<`e zbG`~GfZ3GBG5T)keh~XgaIH%e!?>a-4iu~a=?VQFfcK_g;c z51&)#$j^zo!+o?K4XQk@x_F7Cxxo1TwhJzse#K40a_yk0x)*_)^59z>(Vy`UYM2 zfkXI1B^zxMA$o*bu4moMq#1bL@9HaH7}h)0L6bK0E!xj%QPn&qoGb67syYMXM6P)S z6IuXdXQ84)HwWxeEywB-gkkMhOQFM&@1W?ng%JH35T7;xZJ@hPbO(PT@jR`yZpASU39a1vEf!)iPEQXkUg+kAN1msTgGyp+U{+e@CKK=; zya1{q;$o`zab0AxCi-Ie4c>DZYc$kA#`~Oo0xA=)IX5NNy^JV};h7t(fPHl5KhWW5 zQu(`C`SK-`6+gf4vt?_%66j?mEdMLobvt-TgUhgKqO`>L+Ts}Dg_~|AMEs^jchYvz zj|dH+EsE||K`;&k+jM%uF4tftA2V-^qsb-SU0H>|$7HV+67gkuK@^Jy$6_b9pNI}S zCKJS>@^gRa?IG7CLoxC#F1~NT9&)^S(MF1yKcy_AU1Hrt9ZAyCjcIqaQ#=3$t<`^V z(zS6Fq8C>`;@uUDYAwMbj1=KkNx*=lN~Bai-t_D7-BENR9Ki3;dzK$IG#{bgNd)%` zeXdsZr3HlB+6s%Ac3I#fGY>Yl-+xSeq2JEK%VGYFQPnD5#YKAZGG` zbAc??Lsor@XXjWK7|gT8LTW2ZiQtkWaaQlF>)d+hOAU$C&1W?b46XjqdM`v&Fw7kyIlt>HvL~j5(|2x1~x%`j-HA+ z&MKcJv4Ci2ei%vdY;kg0N6PLB35?}!Dq-<+c0tyT?i44a^_EH{B2maB9W)fJ>2djhJ#!9`P_fCKPmqWf z;F4Nar|CPd-Fu7 z1|Q96@>4w)GCzq|#yTC#!J85vA6kcG-o+>Wv4HDxBID5-D8rfHe@e*#NtEfW}9v2s8h2^TfZc+X!wM^p!=cMn8B0W)^+Yo5c^^rMHbKFQ^76x z2`L!=$ef|*rWT|%`8hd+)-aHt0Z$8%mYGQ=xEfbw+Y;R}TpxJigfICI>ZNlHbSUvF z0WEei*lt5rv{i%N?wbZ8{xJc#;*$yR?r~uW}4>T{zO^o4(J&+<(iDFYmyB z-AfBEN6YfiRSk`OdxYag5B?MLKohVHEis91zSaDtMj*>=PVRj;LM7PigV-jqdRi{X zyOjC?hj9U*;XCqQn2b`ze zM@C%5D;^TU@GXunZC%$gajC_2FGEe6lAnXYR{rPT* z5T_x-i56!9k+P0vLj!?m!-FfVPm^0r)@YP9fi$Fl>+$pS6Ix#DkHBkO?RuQcyWM)+ zG&a*U|4vkx%kIc1XKEJhFzo|)-yfqe^Z_tL!XCWq3qTS#`X-9Uj5fgko95KkbbrR~ z22x;p#EbEo2i+=8PhWEWG2|x28$xYZG21nfm?t+eC_aU}c5rF&i@H|mav1<71^}YM zI)E2#;gYgWXr7(lpwVD#fxFoF!K)yKH=d-QNK3e3j|L#3tILpuzqf_oG>~L6kBk@D zsjVekD%#YN;gc_jCnp_H_b)rERRK67=i7IxXK1`mzjplv96R2acs&8lE&8Kopo3?& z`Ai+baVx4vKL6DBuIeIyAgUY(`TGbRGl`C$u>Do=`QHq8ZG3zq`RX@pB*E`5bE<)} zV5Ui=o1EJDXQ1~W!QC1A6rGSE>JZNHFt@w$8Rt#jiR%;>QtC9%?{FGonBt%b2CTn~5r?#B10~%!*8^ zca(Rb`mfcZSI1$UVIs^ckO(^CE)+e21EL#gY`C;H%=SPHq5HDNNfs-SCDy*R%1b8Z zmGVvi;TP}mQCDZ)53votX}v+2R70A%g&_t89VgNNpu5~9J`rP288#yR1*sng!R!BLCrk>_FMY#9f|qVW3JhGTKn6GWccD}B^5b8{g8jch*=!QN{0pI zY!~Y5P2A#!TOZ~Mu#QQ6 zzX|uj;cWwEaA8@IMktRyFPrK$LTf9%)BUftX(n6GrQW!YIp3bxL#P6wezf_4d4JL< z)gumM>z2n`RDTk@J&J8+PBAs<*pB|B)~ZfI_G@h?A)$<()gNfS7o^mZEiUu4Xq`lb zI%k8E3Go;z*I*BB;&K9JTpJ$j;Ax6!tJk93O%Pikj*jZ;awsdXs#dU`}2gC@D2g%}Rr9m!yhI zJ0a@9hi4~O+?<-_hQFoQ>udvE@wRGUwRE6+`*2u3&})@SZvFy<*K12fH~X$fO{1Wq za1?dvpRoxg$#j2=l*E-WFDXMPrdS6z0Ss^A;nArVP>mVflk56HgA1Y3`FnP7zu3ZM zEgk;@E*%{dQpY6QNIhA7f{O~3tk`T*qcYtC_8afG{gp8frJ-_AJ2i<3>&9V-ma%aa z4-a#Z&liKWBXBSsaY_#-4TGEVOl#L0^a48ptf0VN9{9}zj7IaNg6E818{O(>opZGM z=sveT!0~f8ACQ)stI;984f9U6qSL?}Yd=Cw5B0vez{ zRciwPgfHx-3qT7Bt7h&9tbPe}Sh`=a6S1JT)A0rtN~00^AL~&LlZS;moYPzu37Tsa z*%lu3pfU_&i3=@|s6s5!R6Gx@ycLM9Hz}y&E>%FwE|5wg zo|~E7#9)7tYG(JQ;sB@S&SX>Wwh>^q+jcD?%5dk(s<@Y)7x$*t3|Rk0{gX2 zbRFHTnG|2pwx_yynQ!{57kvA9VV9k?x_50w5Wd{f=Ixl?QQ%IsW%)GDmvDB!9vuTy zq-lEw_*l7s;3Z=)4yY%5jDnady>>fF;t=SbK8NrBUfZL8MEo$om(j7}uu~L8Il%ui z24A)hcD(zv6}kObPEH&lQA=xAXow@{{^yeT)eO#ar{q%|Q-@I!k3D>F#awp3c&_Ii zg}ckLo=sla^kU%$AS5goS{SE8>8tr_)4;VlV$}mYh9~1U!lf1`MDK8gi_52JTc|K- z8^09X<@H2;S6-t|Gzv3Xc-#q9mSd%a#YsdQw*KK&?9S*BU7EcCL_xB^v-8gY{omVA zj2;6EbTeVjhqs*$`7mB`@jPj%%$SMluy5f8=)**}_NTdsG0l*Fl#9O(HIegs`o4Wp zA2FSuR?c)~xK1vlRh#IrqJkhnH-|*W>%mXbI&#lo#ChTPvJ1auMyQpiVaV#NnHeB# z?l(?8xqnZ%dUNRHUVrlR+Ks}&GeP;aM5n>;)v;g7gJp;#!6aHDkV==C_o|!n2-%=26Zo#wz+ zV0N_S2+%e~y_o6Tu?p=Zxx&1`y)n1?U&eqz%x^~tD}1vpm?v&1#fXYq;M%Oi!o)Ik z%9h%3{pc!4dANz1zxUr+Nw{6b3Tlkej^vbE^*~pN*@kefFE!1c8|EloW80Gx)#jyh z1nq0+u{+l|fUTofB8pnv)Cie=2OG{%Tet!vV6yf;3Fa?--a#e8t~!32P@}4$S4j`_ z&AVSduP^EkuOFz4^@C1G6v6~$i;kLv$E?pAF|cSS)ZU|J%7+Wg_kqT9b?Yp}bPL_) zl$iWu4+eTdA&7d;!v$frp~i0i2O@5wM)hHe&uS2XpEul&ohf!hKca<=FBJv%;Gm=h zfaN50g;!C>h4b11=7G(KLX-2PnWi|}nj@77HG$Y;3d0MkQ3Dk|I-&rXClG9L9nQFD zADE7?JVY3OX^zSdq4@L8(aYUV18pSHRO|W6#uz20@dsjqne^fXc0B6v zeSIW`*jSv3Vh_Pnh~u|;4K>-4@r9KbYgISD9=?HD8+h2!HZPk-)GcgFnnB2ZZ<>Vw zo0~t3IYkhXdD=gkX3_1k2cHt8cP>cFQv;aNq)Rvr?x#P03cDc}=)7~$M~PE7bxCj& z7cN<1QP3L@+PpImP_Rh(7kx*!q})G8{+XerK-Un z6ArGbrV6~~SO1F}72;>*Ewlq44DtG;nXqo$Bw=<~ZsoC}QISJ0pbmZd{J^QR8&wuX zA)Uwg6IGY4{HG(eKPxudJo1|muZCdt&11>6MUKifwjB-VD#~r1u36Nj$rgLjJELlv z_^~TrT1!cA4e88X&BtBRGK9dX2n#|?pC3Y)4{oy(biAyAJrXN0`NG-UO}Buvu=1af;?)UrO^tLmEM5CD3##pwT6G0ri^_Q;I*Tl z)mb^rI46vf$`x8T8d<>?UMYH!z1UT|XR#NV2Tu$GSX;b`^y%82fnkMP3!cs&x^vIP zdX%C&DMp^x`#51T&4=+&E9OXi;no))* z3V_|WC3;lcdnM%onBVbkP@iHmjEP~AtInrK;-xm?RguGOGuck3v2E!`W7i7W+;0dm zo@(&hcmHJzEShgx@~>(m))ujneok$iS6h;Mh2{a^9@KRq>g^Pez@dNc+&SS3rz|sP zEZVM}N5o&mZW?zg$(zx_@ohmCeTC|EtdzerKYm&a@wud5U~C5zYjhL}m!kMDD zVF4uY!$No3rf$GK7~omt@T3`I_~fa&jEfwxMZgO41Z?Ys*0!u`L}%$}iAA-N@0$M^ z>Wx9t%ZSS9jC4%61s!z_4VF^Z}7=AO9e-hO6t157^_n74L4Vma~b zGxP<~)zv{fqa*mpP?+SN@!We26tfLgswW?7s2>CL?MztNJ$4Owe`3U_aR`O@k+z5d zJ3zkx2h0m;0ErRJor%zGaP&5TE8)mxau-ANunHtG)Sh*lE27B?VX9493khX)aItp? Btyus7 literal 42388 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 c;|luM7nS@7VVRyqg`3`#KM%}{ Date: Fri, 3 Jan 2025 16:26:26 +0200 Subject: [PATCH 12/12] feat: add remaining blockfrost provider experiments (#1595) * chore: bump cardano-js-sdk * feat: add remaining blockfrost provider experiments - chain history - network info - rewards - tx submit - utxo --- apps/browser-extension-wallet/package.json | 6 +- .../src/lib/scripts/background/config.ts | 17 ++-- .../providers/ExperimentsProvider/config.ts | 25 ++++++ .../providers/ExperimentsProvider/types.ts | 5 ++ .../client/PostHogClient.ts | 5 ++ packages/cardano/package.json | 8 +- packages/cardano/src/wallet/lib/providers.ts | 48 +++++++++-- packages/core/package.json | 4 +- packages/nami/package.json | 2 +- packages/staking/package.json | 8 +- yarn.lock | 84 +++++++++---------- 11 files changed, 142 insertions(+), 70 deletions(-) diff --git a/apps/browser-extension-wallet/package.json b/apps/browser-extension-wallet/package.json index f584da7f1..fe8bde91e 100644 --- a/apps/browser-extension-wallet/package.json +++ b/apps/browser-extension-wallet/package.json @@ -41,15 +41,15 @@ }, "dependencies": { "@ant-design/icons": "^4.7.0", - "@cardano-sdk/cardano-services-client": "0.23.2", + "@cardano-sdk/cardano-services-client": "0.23.3", "@cardano-sdk/core": "0.42.1", "@cardano-sdk/dapp-connector": "0.12.47", "@cardano-sdk/input-selection": "0.13.31", "@cardano-sdk/tx-construction": "0.23.0", "@cardano-sdk/util": "0.15.5", "@cardano-sdk/util-rxjs": "0.8.0", - "@cardano-sdk/wallet": "0.46.2", - "@cardano-sdk/web-extension": "0.36.1", + "@cardano-sdk/wallet": "0.46.3", + "@cardano-sdk/web-extension": "0.36.2", "@emurgo/cip14-js": "~3.0.1", "@input-output-hk/lace-ui-toolkit": "1.21.0", "@lace/cardano": "0.1.0", diff --git a/apps/browser-extension-wallet/src/lib/scripts/background/config.ts b/apps/browser-extension-wallet/src/lib/scripts/background/config.ts index d6fa63c53..b58d90c8d 100644 --- a/apps/browser-extension-wallet/src/lib/scripts/background/config.ts +++ b/apps/browser-extension-wallet/src/lib/scripts/background/config.ts @@ -43,11 +43,7 @@ export const getProviders = async (chainName: Wallet.ChainName): Promise !!(featureFlags?.[magic]?.[experimentName] ?? false); return Wallet.createProviders({ axiosAdapter: axiosFetchAdapter, @@ -61,7 +57,16 @@ export const getProviders = async (chainName: Wallet.ChainName): Promise ({ [ExperimentName.SHARED_WALLETS]: false, [ExperimentName.WEBSOCKET_API]: false, [ExperimentName.BLOCKFROST_ASSET_PROVIDER]: false, + [ExperimentName.BLOCKFROST_CHAIN_HISTORY_PROVIDER]: false, + [ExperimentName.BLOCKFROST_NETWORK_INFO_PROVIDER]: false, + [ExperimentName.BLOCKFROST_REWARDS_PROVIDER]: false, + [ExperimentName.BLOCKFROST_TX_SUBMIT_PROVIDER]: false, + [ExperimentName.BLOCKFROST_UTXO_PROVIDER]: false, [ExperimentName.EXTENSION_STORAGE]: false, [ExperimentName.USE_DREP_PROVIDER_OVERRIDE]: false }); @@ -36,6 +41,26 @@ export const experiments: ExperimentsConfig = { value: false, default: false }, + [ExperimentName.BLOCKFROST_CHAIN_HISTORY_PROVIDER]: { + value: false, + default: false + }, + [ExperimentName.BLOCKFROST_NETWORK_INFO_PROVIDER]: { + value: false, + default: false + }, + [ExperimentName.BLOCKFROST_REWARDS_PROVIDER]: { + value: false, + default: false + }, + [ExperimentName.BLOCKFROST_TX_SUBMIT_PROVIDER]: { + value: false, + default: false + }, + [ExperimentName.BLOCKFROST_UTXO_PROVIDER]: { + value: false, + default: false + }, [ExperimentName.EXTENSION_STORAGE]: { value: false, default: false diff --git a/apps/browser-extension-wallet/src/providers/ExperimentsProvider/types.ts b/apps/browser-extension-wallet/src/providers/ExperimentsProvider/types.ts index 0baf38c09..982df5495 100644 --- a/apps/browser-extension-wallet/src/providers/ExperimentsProvider/types.ts +++ b/apps/browser-extension-wallet/src/providers/ExperimentsProvider/types.ts @@ -12,6 +12,11 @@ export enum ExperimentName { SHARED_WALLETS = 'shared-wallets', WEBSOCKET_API = 'websocket-api', BLOCKFROST_ASSET_PROVIDER = 'blockfrost-asset-provider', + BLOCKFROST_CHAIN_HISTORY_PROVIDER = 'blockfrost-chain-history-provider', + BLOCKFROST_NETWORK_INFO_PROVIDER = 'blockfrost-network-info-provider', + BLOCKFROST_REWARDS_PROVIDER = 'blockfrost-rewards-provider', + BLOCKFROST_TX_SUBMIT_PROVIDER = 'blockfrost-tx-submit-provider', + BLOCKFROST_UTXO_PROVIDER = 'blockfrost-utxo-provider', EXTENSION_STORAGE = 'extension-storage', USE_DREP_PROVIDER_OVERRIDE = 'use-drep-provider-override' } diff --git a/apps/browser-extension-wallet/src/providers/PostHogClientProvider/client/PostHogClient.ts b/apps/browser-extension-wallet/src/providers/PostHogClientProvider/client/PostHogClient.ts index 8f3ce5e37..9444475d0 100644 --- a/apps/browser-extension-wallet/src/providers/PostHogClientProvider/client/PostHogClient.ts +++ b/apps/browser-extension-wallet/src/providers/PostHogClientProvider/client/PostHogClient.ts @@ -32,6 +32,11 @@ type FeatureFlag = | 'use-switch-to-nami-mode' | 'websocket-api' | ExperimentName.BLOCKFROST_ASSET_PROVIDER + | ExperimentName.BLOCKFROST_CHAIN_HISTORY_PROVIDER + | ExperimentName.BLOCKFROST_NETWORK_INFO_PROVIDER + | ExperimentName.BLOCKFROST_REWARDS_PROVIDER + | ExperimentName.BLOCKFROST_TX_SUBMIT_PROVIDER + | ExperimentName.BLOCKFROST_UTXO_PROVIDER | ExperimentName.EXTENSION_STORAGE | ExperimentName.USE_DREP_PROVIDER_OVERRIDE; diff --git a/packages/cardano/package.json b/packages/cardano/package.json index 2df9efaab..19772d45f 100644 --- a/packages/cardano/package.json +++ b/packages/cardano/package.json @@ -40,7 +40,7 @@ "watch": "yarn build --watch" }, "dependencies": { - "@cardano-sdk/cardano-services-client": "0.23.2", + "@cardano-sdk/cardano-services-client": "0.23.3", "@cardano-sdk/core": "0.42.1", "@cardano-sdk/crypto": "0.1.32", "@cardano-sdk/hardware-ledger": "0.12.16", @@ -48,8 +48,8 @@ "@cardano-sdk/key-management": "0.24.13", "@cardano-sdk/tx-construction": "0.23.0", "@cardano-sdk/util": "0.15.5", - "@cardano-sdk/wallet": "0.46.2", - "@cardano-sdk/web-extension": "0.36.1", + "@cardano-sdk/wallet": "0.46.3", + "@cardano-sdk/web-extension": "0.36.2", "@lace/common": "0.1.0", "@ledgerhq/devices": "^8.4.4", "@stablelib/chacha20poly1305": "1.0.1", @@ -73,7 +73,7 @@ }, "devDependencies": { "@blockfrost/blockfrost-js": "^5.5.0", - "@cardano-sdk/util-dev": "0.24.1", + "@cardano-sdk/util-dev": "0.24.2", "@emurgo/cardano-message-signing-browser": "1.0.1", "@types/webextension-polyfill": "0.10.0", "axios": "^1.7.4", diff --git a/packages/cardano/src/wallet/lib/providers.ts b/packages/cardano/src/wallet/lib/providers.ts index e5b4404e1..aa1aa3e8b 100644 --- a/packages/cardano/src/wallet/lib/providers.ts +++ b/packages/cardano/src/wallet/lib/providers.ts @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -/* eslint-disable no-new */ +/* eslint-disable no-new, complexity, sonarjs/cognitive-complexity */ import { WalletProvidersDependencies } from '@src/wallet'; import { AxiosAdapter } from 'axios'; import { Logger } from 'ts-log'; @@ -32,7 +32,12 @@ import { RateLimiter, BlockfrostClient, BlockfrostAssetProvider, - BlockfrostDRepProvider + BlockfrostChainHistoryProvider, + BlockfrostDRepProvider, + BlockfrostUtxoProvider, + BlockfrostRewardsProvider, + BlockfrostTxSubmitProvider, + BlockfrostNetworkInfoProvider } from '@cardano-sdk/cardano-services-client'; import { RemoteApiProperties, RemoteApiPropertyType } from '@cardano-sdk/web-extension'; @@ -83,6 +88,11 @@ export interface ProvidersConfig { useWebSocket?: boolean; useBlockfrostAssetProvider?: boolean; useDrepProviderOverrideActiveStatus?: boolean; + useBlockfrostChainHistoryProvider?: boolean; + useBlockfrostNetworkInfoProvider?: boolean; + useBlockfrostRewardsProvider?: boolean; + useBlockfrostTxSubmitProvider?: boolean; + useBlockfrostUtxoProvider?: boolean; }; } @@ -96,7 +106,16 @@ export const createProviders = ({ axiosAdapter, env: { baseCardanoServicesUrl: baseUrl, customSubmitTxUrl, blockfrostConfig }, logger, - experiments: { useBlockfrostAssetProvider, useWebSocket, useDrepProviderOverrideActiveStatus } + experiments: { + useBlockfrostAssetProvider, + useBlockfrostChainHistoryProvider, + useBlockfrostNetworkInfoProvider, + useBlockfrostRewardsProvider, + useBlockfrostTxSubmitProvider, + useBlockfrostUtxoProvider, + useDrepProviderOverrideActiveStatus, + useWebSocket + } }: ProvidersConfig): WalletProvidersDependencies => { if (!logger) logger = console; @@ -108,10 +127,19 @@ export const createProviders = ({ const assetProvider = useBlockfrostAssetProvider ? new BlockfrostAssetProvider(blockfrostClient, logger) : assetInfoHttpProvider(httpProviderConfig); - const chainHistoryProvider = chainHistoryHttpProvider(httpProviderConfig); - const rewardsProvider = rewardsHttpProvider(httpProviderConfig); + const networkInfoProvider = useBlockfrostNetworkInfoProvider + ? new BlockfrostNetworkInfoProvider(blockfrostClient, logger) + : networkInfoHttpProvider(httpProviderConfig); + const chainHistoryProvider = useBlockfrostChainHistoryProvider + ? new BlockfrostChainHistoryProvider(blockfrostClient, networkInfoProvider, logger) + : chainHistoryHttpProvider(httpProviderConfig); + const rewardsProvider = useBlockfrostRewardsProvider + ? new BlockfrostRewardsProvider(blockfrostClient, logger) + : rewardsHttpProvider(httpProviderConfig); const stakePoolProvider = stakePoolHttpProvider(httpProviderConfig); - const txSubmitProvider = createTxSubmitProvider(httpProviderConfig, customSubmitTxUrl); + const txSubmitProvider = useBlockfrostTxSubmitProvider + ? new BlockfrostTxSubmitProvider(blockfrostClient, logger) + : createTxSubmitProvider(httpProviderConfig, customSubmitTxUrl); const drepProvider = new BlockfrostDRepProvider(blockfrostClient, logger); // Temporary proxy for drepProvider to overwrite the 'active' property to always be true @@ -167,12 +195,16 @@ export const createProviders = ({ }; } + const utxoProvider = useBlockfrostUtxoProvider + ? new BlockfrostUtxoProvider(blockfrostClient, logger) + : utxoHttpProvider(httpProviderConfig); + return { assetProvider, - networkInfoProvider: networkInfoHttpProvider(httpProviderConfig), + networkInfoProvider, txSubmitProvider, stakePoolProvider, - utxoProvider: utxoHttpProvider(httpProviderConfig), + utxoProvider, chainHistoryProvider, rewardsProvider, drepProvider: useDrepProviderOverrideActiveStatus ? drepProviderOverrideActiveStatus : drepProvider diff --git a/packages/core/package.json b/packages/core/package.json index 6314d492f..ca8c80543 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -43,8 +43,8 @@ }, "dependencies": { "@ant-design/icons": "^4.7.0", - "@cardano-sdk/wallet": "0.46.2", - "@cardano-sdk/web-extension": "0.36.1", + "@cardano-sdk/wallet": "0.46.3", + "@cardano-sdk/web-extension": "0.36.2", "@input-output-hk/lace-ui-toolkit": "1.19.0", "@lace/cardano": "0.1.0", "@lace/common": "0.1.0", diff --git a/packages/nami/package.json b/packages/nami/package.json index 4fa28294b..2b171071d 100644 --- a/packages/nami/package.json +++ b/packages/nami/package.json @@ -61,7 +61,7 @@ "@cardano-sdk/crypto": "0.1.32", "@cardano-sdk/tx-construction": "0.23.0", "@cardano-sdk/util": "0.15.5", - "@cardano-sdk/web-extension": "0.36.1", + "@cardano-sdk/web-extension": "0.36.2", "@chakra-ui/css-reset": "1.0.0", "@chakra-ui/icons": "1.0.13", "@chakra-ui/react": "1.6.4", diff --git a/packages/staking/package.json b/packages/staking/package.json index 7426ff393..bcd75b752 100644 --- a/packages/staking/package.json +++ b/packages/staking/package.json @@ -80,8 +80,8 @@ "@cardano-sdk/input-selection": "0.13.31", "@cardano-sdk/tx-construction": "0.23.0", "@cardano-sdk/util": "0.15.5", - "@cardano-sdk/wallet": "0.46.2", - "@cardano-sdk/web-extension": "0.36.1", + "@cardano-sdk/wallet": "0.46.3", + "@cardano-sdk/web-extension": "0.36.2", "@storybook/addon-actions": "^7.6.7", "@storybook/addon-essentials": "^7.6.7", "@storybook/addon-interactions": "^7.6.7", @@ -129,8 +129,8 @@ "@cardano-sdk/input-selection": "0.13.31", "@cardano-sdk/tx-construction": "0.23.0", "@cardano-sdk/util": "0.15.5", - "@cardano-sdk/wallet": "0.46.2", - "@cardano-sdk/web-extension": "0.36.1", + "@cardano-sdk/wallet": "0.46.3", + "@cardano-sdk/web-extension": "0.36.2", "@lace/cardano": "^0.1.0", "@lace/common": "^0.1.0", "@lace/core": "0.1.0", diff --git a/yarn.lock b/yarn.lock index 1b925ff4d..340f822ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9097,9 +9097,9 @@ __metadata: languageName: node linkType: hard -"@cardano-sdk/cardano-services-client@npm:0.23.2": - version: 0.23.2 - resolution: "@cardano-sdk/cardano-services-client@npm:0.23.2" +"@cardano-sdk/cardano-services-client@npm:0.23.3": + version: 0.23.3 + resolution: "@cardano-sdk/cardano-services-client@npm:0.23.3" dependencies: "@cardano-sdk/core": ~0.42.1 "@cardano-sdk/crypto": ~0.1.32 @@ -9113,7 +9113,7 @@ __metadata: ts-custom-error: ^3.2.0 ts-log: ^2.2.4 ws: ^8.17.1 - checksum: 8e136a06eb5e496f449cf4df56a8444afcf1dd9be3bba5fb4c114e0f0e6bfa46958d5ec89d928a28372ccdf85fecc776265cab474dcce1283d80640b0d000ba3 + checksum: 0192d6d3ddb094f6fd60efdd50bfef915ece8760db6618a6892a928785117746d3b3006f9ce76b8aa36bf52425cf979ca070f6c38a85d984eabd4cf20ec5bb56 languageName: node linkType: hard @@ -9261,15 +9261,15 @@ __metadata: languageName: node linkType: hard -"@cardano-sdk/ogmios@npm:~0.18.16": - version: 0.18.16 - resolution: "@cardano-sdk/ogmios@npm:0.18.16" +"@cardano-sdk/ogmios@npm:~0.18.17": + version: 0.18.17 + resolution: "@cardano-sdk/ogmios@npm:0.18.17" dependencies: "@cardano-ogmios/client": 6.9.0 "@cardano-ogmios/schema": 6.9.0 "@cardano-sdk/core": ~0.42.1 "@cardano-sdk/crypto": ~0.1.32 - "@cardano-sdk/projection": ~0.12.16 + "@cardano-sdk/projection": ~0.12.17 "@cardano-sdk/util": ~0.15.5 backoff-rxjs: ^7.0.0 buffer: 5.7.1 @@ -9278,17 +9278,17 @@ __metadata: nanoid: ^3.1.31 rxjs: ^7.4.0 ts-log: ^2.2.3 - checksum: 9d2bcf31867bc263a147b8c2bc17ca217752fec373ba56c924f6bb45e2ece057429611ca09270d7dc1f1c92b2745d349d552e45dd48b5049bb345d7c80aeca7f + checksum: c70ac93cd0b94ed81a6cde09cb946fd7a80905a89ab0af1c8a02b023253717c3dc2673233937adde76b10c041290e8dd1530827c36f58fb27d2e0aa0269d6908 languageName: node linkType: hard -"@cardano-sdk/projection@npm:~0.12.16": - version: 0.12.16 - resolution: "@cardano-sdk/projection@npm:0.12.16" +"@cardano-sdk/projection@npm:~0.12.17": + version: 0.12.17 + resolution: "@cardano-sdk/projection@npm:0.12.17" dependencies: "@cardano-sdk/core": ~0.42.1 "@cardano-sdk/crypto": ~0.1.32 - "@cardano-sdk/ogmios": ~0.18.16 + "@cardano-sdk/ogmios": ~0.18.17 "@cardano-sdk/util": ~0.15.5 "@cardano-sdk/util-rxjs": ~0.8.0 lodash: ^4.17.21 @@ -9296,7 +9296,7 @@ __metadata: ts-custom-error: ^3.2.0 ts-log: ^2.2.4 tsc-alias: ^1.8.10 - checksum: 56db60498eab64361e8359d47cda99a7e1ef2754daa741a5732d0dec4bc557e7be8451e820417afdef6f82cb9b5ae9f5617519fdc6dbaa3c5ebf401fdaced9ed + checksum: 01ad6f3f74a32f352fc46c1cb37f59ab65d51309cd8bcde4f68cda76a80dbf6c90fb3bcd77253883e1c9225565e71db0221c0997f22ed120eeea36f3ac3662ab languageName: node linkType: hard @@ -9319,14 +9319,14 @@ __metadata: languageName: node linkType: hard -"@cardano-sdk/util-dev@npm:0.24.1": - version: 0.24.1 - resolution: "@cardano-sdk/util-dev@npm:0.24.1" +"@cardano-sdk/util-dev@npm:0.24.2": + version: 0.24.2 + resolution: "@cardano-sdk/util-dev@npm:0.24.2" dependencies: "@cardano-sdk/core": ~0.42.1 "@cardano-sdk/crypto": ~0.1.32 "@cardano-sdk/key-management": ~0.24.13 - "@cardano-sdk/projection": ~0.12.16 + "@cardano-sdk/projection": ~0.12.17 "@cardano-sdk/util": ~0.15.5 "@types/dockerode": ^3.3.8 axios: ^1.7.4 @@ -9340,7 +9340,7 @@ __metadata: lodash: ^4.17.21 rxjs: ^7.4.0 ts-log: ^2.2.4 - checksum: e6021a155da7e13b75a5dbad5691a6ce830ba2865a106039832628d064d37df3710718d0d0ca33913e76d5fb98198fd325472ebb7abfb127db6055a2ec129cea + checksum: 95ee4959f31c309d95dda6e359551fd51c93801d20964946b9c25d8042d1437a4e4a6d5a1d40545547476c9f156e054f708e303809dae5f94abe6ef57d11cf62 languageName: node linkType: hard @@ -9370,9 +9370,9 @@ __metadata: languageName: node linkType: hard -"@cardano-sdk/wallet@npm:0.46.2, @cardano-sdk/wallet@npm:~0.46.2": - version: 0.46.2 - resolution: "@cardano-sdk/wallet@npm:0.46.2" +"@cardano-sdk/wallet@npm:0.46.3, @cardano-sdk/wallet@npm:~0.46.3": + version: 0.46.3 + resolution: "@cardano-sdk/wallet@npm:0.46.3" dependencies: "@cardano-sdk/core": ~0.42.1 "@cardano-sdk/crypto": ~0.1.32 @@ -9394,13 +9394,13 @@ __metadata: ts-custom-error: ^3.2.0 ts-log: ^2.2.3 uuid: ^8.3.2 - checksum: 8e131b72f9daf2cc49a916dfbeac5d7e0834637d4c318f29e77bd96c20f382be1d563545ae8a0806473d38dc8f748b1250a2a75c3a5b2501d7725789704a2bce + checksum: a370273b29b97b9b64c26514558ed8d3f5a25244a8c52d161e62d4678bd71897c2ac3ec40c6e43fd9219621664b5f6631bed2af6b344c7ef2bccce58a3833b96 languageName: node linkType: hard -"@cardano-sdk/web-extension@npm:0.36.1": - version: 0.36.1 - resolution: "@cardano-sdk/web-extension@npm:0.36.1" +"@cardano-sdk/web-extension@npm:0.36.2": + version: 0.36.2 + resolution: "@cardano-sdk/web-extension@npm:0.36.2" dependencies: "@cardano-sdk/core": ~0.42.1 "@cardano-sdk/crypto": ~0.1.32 @@ -9411,7 +9411,7 @@ __metadata: "@cardano-sdk/tx-construction": ~0.23.0 "@cardano-sdk/util": ~0.15.5 "@cardano-sdk/util-rxjs": ~0.8.0 - "@cardano-sdk/wallet": ~0.46.2 + "@cardano-sdk/wallet": ~0.46.3 backoff-rxjs: ^7.0.0 lodash: ^4.17.21 rxjs: ^7.4.0 @@ -9419,7 +9419,7 @@ __metadata: ts-log: ^2.2.3 uuid: ^8.3.2 webextension-polyfill: ^0.8.0 - checksum: acba2fe5c5d2a9edbde731e2339ad763d37f53bb19af678e5331fe27cc2f26a8299481319df584965b1868b18c668e9943b0bf3bdec3285ea1ec40b714e11f08 + checksum: 3b36d863801a2e42483087d2604df2cd6675b5b9ac9af78aa1276d2fda7923f3a1c868609f1659179a6806aa81a2507389794442bc7671ef1f4e5cbc6d18214d languageName: node linkType: hard @@ -13485,7 +13485,7 @@ __metadata: resolution: "@lace/browser-extension-wallet@workspace:apps/browser-extension-wallet" dependencies: "@ant-design/icons": ^4.7.0 - "@cardano-sdk/cardano-services-client": 0.23.2 + "@cardano-sdk/cardano-services-client": 0.23.3 "@cardano-sdk/core": 0.42.1 "@cardano-sdk/dapp-connector": 0.12.47 "@cardano-sdk/hardware-ledger": 0.12.16 @@ -13493,8 +13493,8 @@ __metadata: "@cardano-sdk/tx-construction": 0.23.0 "@cardano-sdk/util": 0.15.5 "@cardano-sdk/util-rxjs": 0.8.0 - "@cardano-sdk/wallet": 0.46.2 - "@cardano-sdk/web-extension": 0.36.1 + "@cardano-sdk/wallet": 0.46.3 + "@cardano-sdk/web-extension": 0.36.2 "@emurgo/cardano-message-signing-asmjs": 1.0.1 "@emurgo/cip14-js": ~3.0.1 "@input-output-hk/lace-ui-toolkit": 1.21.0 @@ -13572,7 +13572,7 @@ __metadata: resolution: "@lace/cardano@workspace:packages/cardano" dependencies: "@blockfrost/blockfrost-js": ^5.5.0 - "@cardano-sdk/cardano-services-client": 0.23.2 + "@cardano-sdk/cardano-services-client": 0.23.3 "@cardano-sdk/core": 0.42.1 "@cardano-sdk/crypto": 0.1.32 "@cardano-sdk/hardware-ledger": 0.12.16 @@ -13580,9 +13580,9 @@ __metadata: "@cardano-sdk/key-management": 0.24.13 "@cardano-sdk/tx-construction": 0.23.0 "@cardano-sdk/util": 0.15.5 - "@cardano-sdk/util-dev": 0.24.1 - "@cardano-sdk/wallet": 0.46.2 - "@cardano-sdk/web-extension": 0.36.1 + "@cardano-sdk/util-dev": 0.24.2 + "@cardano-sdk/wallet": 0.46.3 + "@cardano-sdk/web-extension": 0.36.2 "@emurgo/cardano-message-signing-browser": 1.0.1 "@lace/common": 0.1.0 "@ledgerhq/devices": ^8.4.4 @@ -13647,8 +13647,8 @@ __metadata: "@babel/preset-env": ^7.22.20 "@babel/preset-react": ^7.22.15 "@babel/preset-typescript": ^7.22.15 - "@cardano-sdk/wallet": 0.46.2 - "@cardano-sdk/web-extension": 0.36.1 + "@cardano-sdk/wallet": 0.46.3 + "@cardano-sdk/web-extension": 0.36.2 "@input-output-hk/lace-ui-toolkit": 1.19.0 "@lace/cardano": 0.1.0 "@lace/common": 0.1.0 @@ -13747,7 +13747,7 @@ __metadata: "@cardano-sdk/crypto": 0.1.32 "@cardano-sdk/tx-construction": 0.23.0 "@cardano-sdk/util": 0.15.5 - "@cardano-sdk/web-extension": 0.36.1 + "@cardano-sdk/web-extension": 0.36.2 "@chakra-ui/css-reset": 1.0.0 "@chakra-ui/icons": 1.0.13 "@chakra-ui/react": 1.6.4 @@ -13830,8 +13830,8 @@ __metadata: "@cardano-sdk/input-selection": 0.13.31 "@cardano-sdk/tx-construction": 0.23.0 "@cardano-sdk/util": 0.15.5 - "@cardano-sdk/wallet": 0.46.2 - "@cardano-sdk/web-extension": 0.36.1 + "@cardano-sdk/wallet": 0.46.3 + "@cardano-sdk/web-extension": 0.36.2 "@input-output-hk/lace-ui-toolkit": 1.19.0 "@lace/cardano": ^0.1.0 "@lace/common": ^0.1.0 @@ -13899,8 +13899,8 @@ __metadata: "@cardano-sdk/input-selection": 0.13.31 "@cardano-sdk/tx-construction": 0.23.0 "@cardano-sdk/util": 0.15.5 - "@cardano-sdk/wallet": 0.46.2 - "@cardano-sdk/web-extension": 0.36.1 + "@cardano-sdk/wallet": 0.46.3 + "@cardano-sdk/web-extension": 0.36.2 "@lace/cardano": ^0.1.0 "@lace/common": ^0.1.0 "@lace/core": 0.1.0