Skip to content

Commit cbb7502

Browse files
authored
fix: [LW-11463] bump sdk and apply required changes to recover from port close (#1412)
* fix: bump sdk and apply required changes to recover from port close * chore: remove block-fixups github action it is no longer needed, as the only option to merge is 'Squash and merge'
1 parent 5e9e672 commit cbb7502

File tree

8 files changed

+165
-163
lines changed

8 files changed

+165
-163
lines changed

.github/workflows/git-checks.yml

Lines changed: 0 additions & 15 deletions
This file was deleted.

apps/browser-extension-wallet/package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@
4141
},
4242
"dependencies": {
4343
"@ant-design/icons": "^4.7.0",
44-
"@cardano-sdk/cardano-services-client": "0.20.5",
45-
"@cardano-sdk/core": "0.39.1",
46-
"@cardano-sdk/dapp-connector": "0.12.34",
47-
"@cardano-sdk/input-selection": "0.13.16",
48-
"@cardano-sdk/tx-construction": "0.21.1",
44+
"@cardano-sdk/cardano-services-client": "0.20.6",
45+
"@cardano-sdk/core": "0.39.2",
46+
"@cardano-sdk/dapp-connector": "0.12.35",
47+
"@cardano-sdk/input-selection": "0.13.17",
48+
"@cardano-sdk/tx-construction": "0.21.2",
4949
"@cardano-sdk/util": "0.15.5",
50-
"@cardano-sdk/wallet": "0.43.0",
51-
"@cardano-sdk/web-extension": "0.32.0",
50+
"@cardano-sdk/wallet": "0.44.0",
51+
"@cardano-sdk/web-extension": "0.33.0",
5252
"@emurgo/cip14-js": "~3.0.1",
5353
"@input-output-hk/lace-ui-toolkit": "1.15.1",
5454
"@lace/cardano": "0.1.0",
@@ -94,7 +94,7 @@
9494
"zustand": "3.5.14"
9595
},
9696
"devDependencies": {
97-
"@cardano-sdk/hardware-ledger": "0.12.0",
97+
"@cardano-sdk/hardware-ledger": "0.12.1",
9898
"@emurgo/cardano-message-signing-asmjs": "1.0.1",
9999
"@openpgp/web-stream-tools": "0.0.11-patch-0",
100100
"@pdfme/common": "^4.0.2",

apps/browser-extension-wallet/src/lib/scripts/background/cip30.ts

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import { ensureUiIsOpenAndLoaded } from './util';
33
import { userPromptService } from './services/dappService';
44
import { authenticator } from './authenticator';
55
import { wallet$, walletManager, walletRepository } from './wallet';
6-
import { runtime } from 'webextension-polyfill';
6+
import { runtime, Tabs, tabs } from 'webextension-polyfill';
77
import { exposeApi, RemoteApiPropertyType, cip30 } from '@cardano-sdk/web-extension';
88
import { DAPP_CHANNELS } from '../../../utils/constants';
99
import { DappDataService } from '../types';
10-
import { BehaviorSubject, of } from 'rxjs';
10+
import { BehaviorSubject, Observable, of } from 'rxjs';
1111
import { APIErrorCode, ApiError } from '@cardano-sdk/dapp-connector';
1212
import { Wallet } from '@lace/cardano';
1313
import pDebounce from 'p-debounce';
@@ -21,6 +21,21 @@ const dappSetCollateral$ = new BehaviorSubject<{
2121
collateralRequest: walletCip30.GetCollateralCallbackParams['data'];
2222
}>(undefined);
2323

24+
const cancelOnTabClose = (tab: Tabs.Tab) => ({
25+
cancel$: new Observable<void>((subscriber) => {
26+
const listener = (tabId: number) => {
27+
if (tabId === tab.id) {
28+
subscriber.next();
29+
subscriber.complete();
30+
}
31+
};
32+
tabs.onRemoved.addListener(listener);
33+
return () => {
34+
tabs.onRemoved.removeListener(listener);
35+
};
36+
})
37+
});
38+
2439
export const confirmationCallback: walletCip30.CallbackConfirmation = {
2540
submitTx: async () =>
2641
// We don't need another callback for this callback, so long as we ensure callbacks for signing tx's
@@ -30,19 +45,21 @@ export const confirmationCallback: walletCip30.CallbackConfirmation = {
3045
Promise.resolve(true),
3146
signTx: pDebounce(async () => {
3247
try {
33-
await ensureUiIsOpenAndLoaded({ walletManager, walletRepository }, '#/dapp/sign-tx');
34-
35-
return userPromptService.readyToSignTx();
48+
const tab = await ensureUiIsOpenAndLoaded({ walletManager, walletRepository }, '#/dapp/sign-tx');
49+
const ready = await userPromptService.readyToSignTx();
50+
if (!ready) return false;
51+
return cancelOnTabClose(tab);
3652
} catch (error) {
3753
console.error(error);
3854
return Promise.reject(new ApiError(APIErrorCode.InternalError, 'Unable to sign transaction'));
3955
}
4056
}, DEBOUNCE_THROTTLE),
4157
signData: pDebounce(async () => {
4258
try {
43-
await ensureUiIsOpenAndLoaded({ walletManager, walletRepository }, '#/dapp/sign-data');
44-
45-
return userPromptService.readyToSignData();
59+
const tab = await ensureUiIsOpenAndLoaded({ walletManager, walletRepository }, '#/dapp/sign-data');
60+
const ready = await userPromptService.readyToSignData();
61+
if (!ready) return false;
62+
return cancelOnTabClose(tab);
4663
} catch (error) {
4764
console.error(error);
4865
// eslint-disable-next-line unicorn/no-useless-undefined

bump-cardano-js-sdk.sh

100644100755
File mode changed.

packages/cardano/package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,16 @@
4040
"watch": "yarn build --watch"
4141
},
4242
"dependencies": {
43-
"@cardano-sdk/cardano-services-client": "0.20.5",
44-
"@cardano-sdk/core": "0.39.1",
43+
"@cardano-sdk/cardano-services-client": "0.20.6",
44+
"@cardano-sdk/core": "0.39.2",
4545
"@cardano-sdk/crypto": "0.1.30",
46-
"@cardano-sdk/hardware-ledger": "0.12.0",
47-
"@cardano-sdk/hardware-trezor": "0.6.0",
48-
"@cardano-sdk/key-management": "0.24.0",
49-
"@cardano-sdk/tx-construction": "0.21.1",
46+
"@cardano-sdk/hardware-ledger": "0.12.1",
47+
"@cardano-sdk/hardware-trezor": "0.6.1",
48+
"@cardano-sdk/key-management": "0.24.1",
49+
"@cardano-sdk/tx-construction": "0.21.2",
5050
"@cardano-sdk/util": "0.15.5",
51-
"@cardano-sdk/wallet": "0.43.0",
52-
"@cardano-sdk/web-extension": "0.32.0",
51+
"@cardano-sdk/wallet": "0.44.0",
52+
"@cardano-sdk/web-extension": "0.33.0",
5353
"@lace/common": "0.1.0",
5454
"@ledgerhq/devices": "^8.2.1",
5555
"@stablelib/chacha20poly1305": "1.0.1",
@@ -71,7 +71,7 @@
7171
"webextension-polyfill": "0.8.0"
7272
},
7373
"devDependencies": {
74-
"@cardano-sdk/util-dev": "0.22.7",
74+
"@cardano-sdk/util-dev": "0.22.8",
7575
"@emurgo/cardano-message-signing-browser": "1.0.1",
7676
"axios": "^1.7.4",
7777
"rollup-plugin-polyfill-node": "^0.8.0",

packages/core/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
},
4444
"dependencies": {
4545
"@ant-design/icons": "^4.7.0",
46-
"@cardano-sdk/wallet": "0.43.0",
47-
"@cardano-sdk/web-extension": "0.32.0",
46+
"@cardano-sdk/wallet": "0.44.0",
47+
"@cardano-sdk/web-extension": "0.33.0",
4848
"@input-output-hk/lace-ui-toolkit": "1.15.1",
4949
"@lace/cardano": "0.1.0",
5050
"@lace/common": "0.1.0",

packages/staking/package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,12 @@
7676
},
7777
"devDependencies": {
7878
"@babel/core": "^7.21.0",
79-
"@cardano-sdk/core": "0.39.1",
80-
"@cardano-sdk/input-selection": "0.13.16",
81-
"@cardano-sdk/tx-construction": "0.21.1",
79+
"@cardano-sdk/core": "0.39.2",
80+
"@cardano-sdk/input-selection": "0.13.17",
81+
"@cardano-sdk/tx-construction": "0.21.2",
8282
"@cardano-sdk/util": "0.15.5",
83-
"@cardano-sdk/wallet": "0.43.0",
84-
"@cardano-sdk/web-extension": "0.32.0",
83+
"@cardano-sdk/wallet": "0.44.0",
84+
"@cardano-sdk/web-extension": "0.33.0",
8585
"@storybook/addon-actions": "^7.6.7",
8686
"@storybook/addon-essentials": "^7.6.7",
8787
"@storybook/addon-interactions": "^7.6.7",
@@ -126,11 +126,11 @@
126126
"wait-on": "^7.0.1"
127127
},
128128
"peerDependencies": {
129-
"@cardano-sdk/input-selection": "0.13.16",
130-
"@cardano-sdk/tx-construction": "0.21.1",
129+
"@cardano-sdk/input-selection": "0.13.17",
130+
"@cardano-sdk/tx-construction": "0.21.2",
131131
"@cardano-sdk/util": "0.15.5",
132-
"@cardano-sdk/wallet": "0.43.0",
133-
"@cardano-sdk/web-extension": "0.32.0",
132+
"@cardano-sdk/wallet": "0.44.0",
133+
"@cardano-sdk/web-extension": "0.33.0",
134134
"@lace/cardano": "^0.1.0",
135135
"@lace/common": "^0.1.0",
136136
"@lace/core": "0.1.0",

0 commit comments

Comments
 (0)