@onekeyfe/hd-core 1.2.2-alpha.104 → 1.2.2-alpha.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +1 -1
  2. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +155 -2
  3. package/__tests__/core-error-output.test.ts +92 -1
  4. package/__tests__/device-lifecycle-events.test.ts +313 -2
  5. package/__tests__/open-wallet-session-error-response.test.ts +2 -2
  6. package/__tests__/open-wallet-session.test.ts +8 -411
  7. package/__tests__/public-device-state-api.test.ts +2 -7
  8. package/dist/api/GetFeatures.d.ts.map +1 -1
  9. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  10. package/dist/api/OpenWalletSession.d.ts.map +1 -1
  11. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts +3 -0
  12. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  13. package/dist/api/allnetwork/AllNetworkGetAddressByLoop.d.ts.map +1 -1
  14. package/dist/core/RequestQueue.d.ts +1 -0
  15. package/dist/core/RequestQueue.d.ts.map +1 -1
  16. package/dist/core/index.d.ts +1 -0
  17. package/dist/core/index.d.ts.map +1 -1
  18. package/dist/device/Device.d.ts +2 -0
  19. package/dist/device/Device.d.ts.map +1 -1
  20. package/dist/index.d.ts +17 -19
  21. package/dist/index.js +229 -138
  22. package/dist/types/api/getFeatures.d.ts.map +1 -1
  23. package/dist/types/api/getPassphraseState.d.ts.map +1 -1
  24. package/dist/types/api/openWalletSession.d.ts +1 -10
  25. package/dist/types/api/openWalletSession.d.ts.map +1 -1
  26. package/dist/types/params.d.ts.map +1 -1
  27. package/dist/utils/patch.d.ts +1 -1
  28. package/dist/utils/patch.d.ts.map +1 -1
  29. package/package.json +4 -4
  30. package/src/api/GetFeatures.ts +1 -0
  31. package/src/api/GetPassphraseState.ts +1 -0
  32. package/src/api/OpenWalletSession.ts +7 -77
  33. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +56 -15
  34. package/src/api/allnetwork/AllNetworkGetAddressByLoop.ts +3 -0
  35. package/src/core/RequestQueue.ts +20 -0
  36. package/src/core/index.ts +95 -42
  37. package/src/data/messages/messages-protocol-v2.json +21 -0
  38. package/src/device/Device.ts +51 -27
  39. package/src/types/api/getFeatures.ts +2 -1
  40. package/src/types/api/getPassphraseState.ts +2 -5
  41. package/src/types/api/openWalletSession.ts +7 -19
  42. package/src/types/params.ts +7 -0
@@ -982,45 +982,6 @@ describe('openWalletSession', () => {
982
982
  );
983
983
  });
984
984
 
985
- test('uses an explicit wallet binding to resume on Protocol V2', async () => {
986
- const typedCall = jest
987
- .fn()
988
- .mockResolvedValueOnce({ message: { version: 2 } })
989
- .mockResolvedValueOnce({
990
- message: {
991
- btc_test_address: 'hidden-state',
992
- session_id: 'renewed-session',
993
- },
994
- });
995
- const promptPassphrase = jest.fn();
996
- const method = new OpenWalletSession({
997
- payload: {
998
- method: 'openWalletSession',
999
- connectId: 'connect-id',
1000
- mode: 'resume-hidden',
1001
- deviceId: 'device-1',
1002
- passphraseState: 'hidden-state',
1003
- },
1004
- });
1005
- method.init();
1006
- deviceWalletSessionStore.set('device-1', 'hidden-state', 'known-session');
1007
- method.device = createDevice({ typedCall, promptPassphrase }) as any;
1008
-
1009
- await expect(method.run()).resolves.toEqual({
1010
- protocol: 'V2',
1011
- walletType: 'hidden',
1012
- deviceId: 'device-1',
1013
- passphraseState: 'hidden-state',
1014
- resumed: true,
1015
- });
1016
- expect(typedCall).toHaveBeenCalledWith('DeviceSessionGet', 'DeviceSession', {
1017
- session_id: 'known-session',
1018
- btc_test_address: 'hidden-state',
1019
- ...standardSessionGet,
1020
- });
1021
- expect(promptPassphrase).not.toHaveBeenCalled();
1022
- });
1023
-
1024
985
  test.each([
1025
986
  {
1026
987
  mode: 'standard',
@@ -1035,12 +996,6 @@ describe('openWalletSession', () => {
1035
996
  deviceId: 'device-1',
1036
997
  passphraseState: 'hidden-state',
1037
998
  },
1038
- {
1039
- mode: 'resume-hidden',
1040
- deviceId: 'device-1',
1041
- passphraseState: 'hidden-state',
1042
- initSession: false,
1043
- },
1044
999
  ])('rejects legacy parameters combined with explicit mode: %o', params => {
1045
1000
  const method = new OpenWalletSession({
1046
1001
  payload: {
@@ -1076,15 +1031,7 @@ describe('openWalletSession', () => {
1076
1031
  }
1077
1032
  );
1078
1033
 
1079
- test('reuses the SDK-managed Protocol V1 hidden-wallet session before validation', async () => {
1080
- const typedCall = jest.fn().mockResolvedValue({
1081
- type: 'PassphraseState',
1082
- message: {
1083
- passphrase_state: 'hidden-state',
1084
- session_id: 'known-session',
1085
- unlocked_attach_pin: false,
1086
- },
1087
- });
1034
+ test('rejects the removed resume-hidden mode', () => {
1088
1035
  const method = new OpenWalletSession({
1089
1036
  payload: {
1090
1037
  method: 'openWalletSession',
@@ -1092,76 +1039,15 @@ describe('openWalletSession', () => {
1092
1039
  mode: 'resume-hidden',
1093
1040
  deviceId: 'device-1',
1094
1041
  passphraseState: 'hidden-state',
1095
- },
1096
- });
1097
- method.init();
1098
- deviceWalletSessionStore.set('device-1', 'hidden-state', 'known-session');
1099
- const device = createDevice({ typedCall });
1100
- device.isProtocolV2 = () => false;
1101
- device.features = {
1102
- ...device.features,
1103
- deviceId: 'device-1',
1104
- unlocked: true,
1105
- sessionId: null,
1106
- };
1107
- device.getCurrentFirmwareVersionString = () => '4.15.0';
1108
- device.getCurrentDeviceType = () => EDeviceType.Pro;
1109
- device.getFeatures = jest.fn();
1110
- method.device = device as any;
1111
-
1112
- await expect(method.run()).resolves.toMatchObject({
1113
- protocol: 'V1',
1114
- walletType: 'hidden',
1115
- passphraseState: 'hidden-state',
1116
- resumed: true,
1117
- });
1118
- expect(device.initialize).toHaveBeenCalledWith({
1119
- deviceId: 'device-1',
1120
- passphraseState: 'hidden-state',
1121
- });
1122
- expect(typedCall).toHaveBeenCalledWith('GetPassphraseState', 'PassphraseState', {
1123
- passphrase_state: 'hidden-state',
1042
+ } as any,
1124
1043
  });
1125
- });
1126
1044
 
1127
- test('rejects a Protocol V1 resume when the device returns another hidden wallet', async () => {
1128
- const typedCall = jest.fn().mockResolvedValue({
1129
- type: 'PassphraseState',
1130
- message: {
1131
- passphrase_state: 'other-hidden-state',
1132
- session_id: 'other-session',
1133
- unlocked_attach_pin: false,
1134
- },
1135
- });
1136
- const method = new OpenWalletSession({
1137
- payload: {
1138
- method: 'openWalletSession',
1139
- connectId: 'connect-id',
1140
- mode: 'resume-hidden',
1141
- deviceId: 'device-1',
1142
- passphraseState: 'hidden-state',
1143
- },
1144
- });
1145
- method.init();
1146
- deviceWalletSessionStore.set('device-1', 'hidden-state', 'known-session');
1147
- const device = createDevice({ typedCall });
1148
- device.isProtocolV2 = () => false;
1149
- device.features = {
1150
- ...device.features,
1151
- deviceId: 'device-1',
1152
- unlocked: true,
1153
- sessionId: null,
1154
- };
1155
- device.getCurrentFirmwareVersionString = () => '4.15.0';
1156
- device.getCurrentDeviceType = () => EDeviceType.Pro;
1157
- device.getFeatures = jest.fn();
1158
- method.device = device as any;
1159
-
1160
- await expect(method.run()).rejects.toMatchObject({
1161
- errorCode: HardwareErrorCode.DeviceCheckPassphraseStateError,
1162
- });
1163
- expect(device.clearInternalState).toHaveBeenCalledTimes(1);
1164
- expect(deviceWalletSessionStore.get('device-1', 'hidden-state')).toBeUndefined();
1045
+ expect(() => method.init()).toThrow(
1046
+ expect.objectContaining({
1047
+ errorCode: HardwareErrorCode.CallMethodInvalidParameter,
1048
+ message: 'Parameter [mode] must be one of standard or select-hidden.',
1049
+ })
1050
+ );
1165
1051
  });
1166
1052
 
1167
1053
  test('opens the standard wallet without selecting a hidden wallet', async () => {
@@ -1882,295 +1768,6 @@ describe('openWalletSession', () => {
1882
1768
  }
1883
1769
  );
1884
1770
 
1885
- test('resumes a known hidden wallet without prompting or device selection', async () => {
1886
- const typedCall = jest
1887
- .fn()
1888
- .mockResolvedValueOnce({ message: { version: 2 } })
1889
- .mockResolvedValueOnce({
1890
- message: {
1891
- btc_test_address: 'hidden-state',
1892
- session_id: 'renewed-session',
1893
- },
1894
- });
1895
- const promptPassphrase = jest.fn();
1896
- const method = new OpenWalletSession({
1897
- payload: {
1898
- method: 'openWalletSession',
1899
- connectId: 'connect-id',
1900
- mode: 'resume-hidden',
1901
- deviceId: 'device-1',
1902
- passphraseState: 'hidden-state',
1903
- },
1904
- });
1905
- method.init();
1906
- deviceWalletSessionStore.set('device-1', 'hidden-state', 'known-session');
1907
- method.device = createDevice({ typedCall, promptPassphrase }) as any;
1908
-
1909
- await expect(method.run()).resolves.toEqual({
1910
- protocol: 'V2',
1911
- walletType: 'hidden',
1912
- deviceId: 'device-1',
1913
- passphraseState: 'hidden-state',
1914
- resumed: true,
1915
- });
1916
- expect(typedCall).toHaveBeenCalledWith('DeviceSessionGet', 'DeviceSession', {
1917
- session_id: 'known-session',
1918
- btc_test_address: 'hidden-state',
1919
- ...standardSessionGet,
1920
- });
1921
- expect(promptPassphrase).not.toHaveBeenCalled();
1922
- });
1923
-
1924
- test('validates a locked Protocol V2 resume binding after deviceId refresh', async () => {
1925
- const typedCall = jest
1926
- .fn()
1927
- .mockResolvedValueOnce({ message: { version: 2 } })
1928
- .mockResolvedValueOnce({
1929
- message: {
1930
- btc_test_address: 'hidden-state',
1931
- session_id: 'renewed-session',
1932
- },
1933
- });
1934
- const method = new OpenWalletSession({
1935
- payload: {
1936
- method: 'openWalletSession',
1937
- connectId: 'connect-id',
1938
- mode: 'resume-hidden',
1939
- deviceId: 'device-1',
1940
- passphraseState: 'hidden-state',
1941
- },
1942
- });
1943
- method.init();
1944
- deviceWalletSessionStore.set('device-1', 'hidden-state', 'known-session');
1945
- const device = createDevice({ typedCall });
1946
- device.features.unlocked = false;
1947
- device.getDeviceState = jest
1948
- .fn()
1949
- .mockResolvedValueOnce({
1950
- identity: { deviceId: undefined },
1951
- status: { unlocked: false, passphraseProtection: true },
1952
- })
1953
- .mockResolvedValueOnce({
1954
- identity: { deviceId: 'device-1' },
1955
- status: {
1956
- unlocked: true,
1957
- passphraseProtection: true,
1958
- unlockedAttachPin: false,
1959
- },
1960
- });
1961
- device.unlockDevice = jest.fn().mockImplementation(() => {
1962
- device.features.unlocked = true;
1963
- return Promise.resolve(device.features);
1964
- });
1965
- method.device = device as any;
1966
-
1967
- await expect(method.run()).resolves.toMatchObject({
1968
- protocol: 'V2',
1969
- walletType: 'hidden',
1970
- deviceId: 'device-1',
1971
- passphraseState: 'hidden-state',
1972
- resumed: true,
1973
- });
1974
- expect(device.unlockDevice).toHaveBeenCalledTimes(1);
1975
- expect(device.getDeviceState).toHaveBeenCalledTimes(2);
1976
- expect(typedCall).toHaveBeenCalledWith('DeviceSessionGet', 'DeviceSession', {
1977
- session_id: 'known-session',
1978
- btc_test_address: 'hidden-state',
1979
- ...standardSessionGet,
1980
- });
1981
- const sessionGetCall = typedCall.mock.calls.findIndex(
1982
- ([requestName]) => requestName === 'DeviceSessionGet'
1983
- );
1984
- expect(device.getDeviceState.mock.invocationCallOrder[1]).toBeLessThan(
1985
- typedCall.mock.invocationCallOrder[sessionGetCall]
1986
- );
1987
- });
1988
-
1989
- test('rejects a Protocol V2 resume when the refreshed deviceId does not match', async () => {
1990
- const typedCall = jest.fn().mockResolvedValue({
1991
- message: {
1992
- btc_test_address: 'hidden-state',
1993
- session_id: 'renewed-session',
1994
- },
1995
- });
1996
- const method = new OpenWalletSession({
1997
- payload: {
1998
- method: 'openWalletSession',
1999
- connectId: 'connect-id',
2000
- mode: 'resume-hidden',
2001
- deviceId: 'device-1',
2002
- passphraseState: 'hidden-state',
2003
- },
2004
- });
2005
- method.init();
2006
- deviceWalletSessionStore.set('device-1', 'hidden-state', 'known-session');
2007
- const device = createDevice({ typedCall });
2008
- device.features.unlocked = false;
2009
- device.getDeviceState = jest
2010
- .fn()
2011
- .mockResolvedValueOnce({
2012
- identity: { deviceId: undefined },
2013
- status: { passphraseProtection: true },
2014
- })
2015
- .mockResolvedValueOnce({
2016
- identity: { deviceId: 'other-device' },
2017
- status: {
2018
- unlocked: true,
2019
- passphraseProtection: true,
2020
- unlockedAttachPin: false,
2021
- },
2022
- });
2023
- device.unlockDevice = jest.fn().mockImplementation(() => {
2024
- device.features.unlocked = true;
2025
- return Promise.resolve(device.features);
2026
- });
2027
- method.device = device as any;
2028
-
2029
- await expect(method.run()).rejects.toMatchObject({
2030
- errorCode: HardwareErrorCode.DeviceCheckDeviceIdError,
2031
- });
2032
- expect(typedCall).not.toHaveBeenCalled();
2033
- expect(device.clearInternalState).not.toHaveBeenCalled();
2034
- expect(deviceWalletSessionStore.get('device-1', 'hidden-state')).toBeUndefined();
2035
- });
2036
-
2037
- test('reselects the expected hidden wallet when a cached Protocol V2 session is invalid', async () => {
2038
- const typedCall = jest
2039
- .fn()
2040
- .mockResolvedValueOnce({ message: { version: 2 } })
2041
- .mockRejectedValueOnce(
2042
- Object.assign(new Error('Invalid session'), {
2043
- errorCode: HardwareErrorCode.WalletSessionInvalid,
2044
- })
2045
- )
2046
- .mockResolvedValueOnce({ message: {} })
2047
- .mockResolvedValueOnce({
2048
- message: {
2049
- btc_test_address: 'hidden-state',
2050
- session_id: 'renewed-session',
2051
- },
2052
- });
2053
- const promptPassphrase = jest.fn().mockResolvedValue({ passphrase: 'host hidden wallet' });
2054
- const method = new OpenWalletSession({
2055
- payload: {
2056
- method: 'openWalletSession',
2057
- connectId: 'connect-id',
2058
- mode: 'resume-hidden',
2059
- deviceId: 'device-1',
2060
- passphraseState: 'hidden-state',
2061
- },
2062
- });
2063
- method.init();
2064
- deviceWalletSessionStore.set('device-1', 'hidden-state', 'expired-session');
2065
- method.device = createDevice({ typedCall, promptPassphrase }) as any;
2066
-
2067
- await expect(method.run()).resolves.toEqual({
2068
- protocol: 'V2',
2069
- walletType: 'hidden',
2070
- deviceId: 'device-1',
2071
- passphraseState: 'hidden-state',
2072
- resumed: false,
2073
- });
2074
- expect(typedCall).toHaveBeenCalledWith('DeviceSessionGet', 'DeviceSession', {
2075
- session_id: 'expired-session',
2076
- btc_test_address: 'hidden-state',
2077
- ...standardSessionGet,
2078
- });
2079
- expect(promptPassphrase).toHaveBeenCalledTimes(1);
2080
- expect(deviceWalletSessionStore.get('device-1', 'hidden-state')).toBe('renewed-session');
2081
- });
2082
-
2083
- test('recovers the current Attach PIN wallet when the cached session is invalid', async () => {
2084
- const typedCall = jest
2085
- .fn()
2086
- .mockResolvedValueOnce({ message: { version: 2 } })
2087
- .mockRejectedValueOnce(
2088
- Object.assign(new Error('Invalid session'), {
2089
- errorCode: HardwareErrorCode.WalletSessionInvalid,
2090
- })
2091
- )
2092
- .mockResolvedValueOnce({
2093
- message: {
2094
- btc_test_address: 'hidden-state',
2095
- session_id: 'renewed-session',
2096
- },
2097
- });
2098
- const promptPassphrase = jest.fn();
2099
- const method = new OpenWalletSession({
2100
- payload: {
2101
- method: 'openWalletSession',
2102
- connectId: 'connect-id',
2103
- mode: 'resume-hidden',
2104
- deviceId: 'device-1',
2105
- passphraseState: 'hidden-state',
2106
- },
2107
- });
2108
- method.init();
2109
- deviceWalletSessionStore.set('device-1', 'hidden-state', 'expired-session');
2110
- const device = createDevice({ unlockedAttachPin: true, typedCall, promptPassphrase });
2111
- method.device = device as any;
2112
-
2113
- await expect(method.run()).resolves.toEqual({
2114
- protocol: 'V2',
2115
- walletType: 'hidden',
2116
- deviceId: 'device-1',
2117
- passphraseState: 'hidden-state',
2118
- resumed: false,
2119
- });
2120
- expect(typedCall.mock.calls.filter(call => call[0] === 'DeviceSessionGet')).toEqual([
2121
- [
2122
- 'DeviceSessionGet',
2123
- 'DeviceSession',
2124
- {
2125
- session_id: 'expired-session',
2126
- btc_test_address: 'hidden-state',
2127
- },
2128
- ],
2129
- ['DeviceSessionGet', 'DeviceSession', {}],
2130
- ]);
2131
- expect(promptPassphrase).not.toHaveBeenCalled();
2132
- expect(device.lockDevice).not.toHaveBeenCalled();
2133
- expect(deviceWalletSessionStore.get('device-1', 'hidden-state')).toBe('renewed-session');
2134
- });
2135
-
2136
- test('selects the expected hidden wallet when Protocol V2 has no cached session', async () => {
2137
- const typedCall = jest
2138
- .fn()
2139
- .mockResolvedValueOnce({ message: { version: 2 } })
2140
- .mockResolvedValueOnce({
2141
- message: {
2142
- btc_test_address: 'hidden-state',
2143
- session_id: 'new-session',
2144
- },
2145
- });
2146
- const promptPassphrase = jest.fn().mockResolvedValue({ passphrase: 'host hidden wallet' });
2147
- const method = new OpenWalletSession({
2148
- payload: {
2149
- method: 'openWalletSession',
2150
- connectId: 'connect-id',
2151
- mode: 'resume-hidden',
2152
- deviceId: 'device-1',
2153
- passphraseState: 'hidden-state',
2154
- },
2155
- });
2156
- method.init();
2157
- method.device = createDevice({ typedCall, promptPassphrase }) as any;
2158
-
2159
- await expect(method.run()).resolves.toEqual({
2160
- protocol: 'V2',
2161
- walletType: 'hidden',
2162
- deviceId: 'device-1',
2163
- passphraseState: 'hidden-state',
2164
- resumed: false,
2165
- });
2166
- expect(typedCall).toHaveBeenCalledWith('DeviceSessionGet', 'DeviceSession', {
2167
- btc_test_address: 'hidden-state',
2168
- ...standardSessionGet,
2169
- });
2170
- expect(promptPassphrase).not.toHaveBeenCalled();
2171
- expect(deviceWalletSessionStore.get('device-1', 'hidden-state')).toBe('new-session');
2172
- });
2173
-
2174
1771
  test.each([false, true])(
2175
1772
  'openWalletSession does not thread CommonParams.deriveCardano: %s',
2176
1773
  async deriveCardano => {
@@ -22,7 +22,6 @@ describe('public device state API boundary', () => {
22
22
  expect((publicTypes as Record<string, unknown>).OpenWalletSessionMode).toEqual({
23
23
  Standard: 'standard',
24
24
  SelectHidden: 'select-hidden',
25
- ResumeHidden: 'resume-hidden',
26
25
  });
27
26
  });
28
27
 
@@ -83,9 +82,7 @@ describe('public device state API boundary', () => {
83
82
  useEmptyPassphrase: false,
84
83
  });
85
84
  await api.openWalletSession('device-2', {
86
- mode: publicTypes.OpenWalletSessionMode.ResumeHidden,
87
- deviceId: 'wallet-device-1',
88
- passphraseState: 'wallet-state-1',
85
+ mode: publicTypes.OpenWalletSessionMode.SelectHidden,
89
86
  });
90
87
  await api.clearSessionCache({
91
88
  deviceId: 'wallet-device-1',
@@ -100,9 +97,7 @@ describe('public device state API boundary', () => {
100
97
  });
101
98
  expect(call).toHaveBeenNthCalledWith(2, {
102
99
  connectId: 'device-2',
103
- mode: 'resume-hidden',
104
- deviceId: 'wallet-device-1',
105
- passphraseState: 'wallet-state-1',
100
+ mode: 'select-hidden',
106
101
  method: 'openWalletSession',
107
102
  });
108
103
  expect(call).toHaveBeenNthCalledWith(3, {
@@ -1 +1 @@
1
- {"version":3,"file":"GetFeatures.d.ts","sourceRoot":"","sources":["../../src/api/GetFeatures.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,UAAU;IACjD,IAAI;IAWE,GAAG;CASV"}
1
+ {"version":3,"file":"GetFeatures.d.ts","sourceRoot":"","sources":["../../src/api/GetFeatures.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,UAAU;IACjD,IAAI;IAWE,GAAG;CASV"}
@@ -1 +1 @@
1
- {"version":3,"file":"GetPassphraseState.d.ts","sourceRoot":"","sources":["../../src/api/GetPassphraseState.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,UAAU;IACxD,qBAAqB;IAIrB,IAAI;IAKE,GAAG;CAiCV"}
1
+ {"version":3,"file":"GetPassphraseState.d.ts","sourceRoot":"","sources":["../../src/api/GetPassphraseState.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,UAAU;IACxD,qBAAqB;IAIrB,IAAI;IAKE,GAAG;CAiCV"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenWalletSession.d.ts","sourceRoot":"","sources":["../../src/api/OpenWalletSession.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,gCAAgC,CAAC;AAwExC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IAChF,qBAAqB;IAIrB,IAAI;IAYE,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC;CAgM/C"}
1
+ {"version":3,"file":"OpenWalletSession.d.ts","sourceRoot":"","sources":["../../src/api/OpenWalletSession.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,gCAAgC,CAAC;AAiDxC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IAChF,qBAAqB;IAIrB,IAAI;IAYE,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC;CAkJ/C"}
@@ -30,6 +30,8 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<{
30
30
  }[]> {
31
31
  getSupportedProtocols(): readonly ["V1", "V2"];
32
32
  abortController: AbortController | null;
33
+ protected loadingCleanupInBackground: boolean;
34
+ private loadingCommands?;
33
35
  init(): void;
34
36
  generateMethodName({ network, payload, originalIndex, }: {
35
37
  network: INetwork;
@@ -42,6 +44,7 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<{
42
44
  })[];
43
45
  }, rootFingerprint: number): Promise<AllNetworkAddress[]>;
44
46
  abstract getAllNetworkAddress(rootFingerprint: number): Promise<AllNetworkAddress[]>;
47
+ protected stopAllNetworkLoading(canSend?: boolean): Promise<void>;
45
48
  run(): Promise<AllNetworkAddress[]>;
46
49
  }
47
50
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"AllNetworkGetAddressBase.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddressBase.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAe3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,QAAQ,EACT,MAAM,sCAAsC,CAAC;AAI9C,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,uBAAuB,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IAClG,kBAAkB,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAEzF,MAAM,MAAM,gBAAgB,GAAG;KAC5B,CAAC,IAAI,YAAY,GAAG,aAAa;CACnC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAOrD,CAAC;AAiMF,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,oBAAoB,EAAE,uBAAuB,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,wBAAyB,SAAQ,UAAU,CACvE;IACE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,EAAE,CACJ;IACC,qBAAqB;IAIrB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAQ;IAE/C,IAAI;IAkBJ,kBAAkB,CAAC,EACjB,OAAO,EACP,OAAO,EACP,aAAa,GACd,EAAE;QACD,OAAO,EAAE,QAAQ,CAAC;QAClB,OAAO,EAAE,uBAAuB,CAAC;QACjC,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,YAAY;IAqBV,UAAU,CACd,UAAU,EAAE,MAAM,OAAO,EACzB,MAAM,EAAE,GAAG,GAAG;QACZ,MAAM,EAAE,CAAC,GAAG,GAAG;YAAE,oBAAoB,EAAE,oBAAoB,CAAA;SAAE,CAAC,EAAE,CAAC;KAClE,EACD,eAAe,EAAE,MAAM;IAyIzB,QAAQ,CAAC,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAE9E,GAAG;CAyBV"}
1
+ {"version":3,"file":"AllNetworkGetAddressBase.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddressBase.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAiB3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,QAAQ,EACT,MAAM,sCAAsC,CAAC;AAI9C,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,uBAAuB,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IAClG,kBAAkB,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAEzF,MAAM,MAAM,gBAAgB,GAAG;KAC5B,CAAC,IAAI,YAAY,GAAG,aAAa;CACnC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAOrD,CAAC;AAiMF,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,oBAAoB,EAAE,uBAAuB,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,wBAAyB,SAAQ,UAAU,CACvE;IACE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,EAAE,CACJ;IACC,qBAAqB;IAIrB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAQ;IAE/C,SAAS,CAAC,0BAA0B,UAAS;IAE7C,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC,IAAI;IAkBJ,kBAAkB,CAAC,EACjB,OAAO,EACP,OAAO,EACP,aAAa,GACd,EAAE;QACD,OAAO,EAAE,QAAQ,CAAC;QAClB,OAAO,EAAE,uBAAuB,CAAC;QACjC,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,YAAY;IAqBV,UAAU,CACd,UAAU,EAAE,MAAM,OAAO,EACzB,MAAM,EAAE,GAAG,GAAG;QACZ,MAAM,EAAE,CAAC,GAAG,GAAG;YAAE,oBAAoB,EAAE,oBAAoB,CAAA;SAAE,CAAC,EAAE,CAAC;KAClE,EACD,eAAe,EAAE,MAAM;IAyIzB,QAAQ,CAAC,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;cAEpE,qBAAqB,CAAC,OAAO,UAAO;IAc9C,GAAG;CA6CV"}
@@ -1 +1 @@
1
- {"version":3,"file":"AllNetworkGetAddressByLoop.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddressByLoop.ts"],"names":[],"mappings":"AASA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAQlE,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,wBAAwB;IACxE,oBAAoB,CAAC,eAAe,EAAE,MAAM;YA6BpC,4BAA4B;IAiF1C,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,gBAAgB;CAazB"}
1
+ {"version":3,"file":"AllNetworkGetAddressByLoop.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddressByLoop.ts"],"names":[],"mappings":"AASA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAQlE,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,wBAAwB;IACxE,oBAAoB,CAAC,eAAe,EAAE,MAAM;YA8BpC,4BAA4B;IAmF1C,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,gBAAgB;CAazB"}
@@ -12,6 +12,7 @@ export default class RequestQueue {
12
12
  generateRequestId: (method?: BaseMethod) => number;
13
13
  createTask(method: BaseMethod): RequestTask;
14
14
  getTask(requestId: number): RequestTask | undefined;
15
+ waitForTask<T>(task: RequestTask, pending: () => Promise<T>): Promise<T>;
15
16
  getAbortController(requestId: number): AbortController | undefined;
16
17
  abortRequest(requestId: number): boolean;
17
18
  private isRequestForConnectId;
@@ -1 +1 @@
1
- {"version":3,"file":"RequestQueue.d.ts","sourceRoot":"","sources":["../../src/core/RequestQueue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACxC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,OAAO,CAAC,YAAY,CAAkC;IAEtD,OAAO,CAAC,oBAAoB,CAAqC;IAG1D,iBAAiB,YAAa,UAAU,YAK7C;IAEK,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW;IAY3C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAKnD,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAKpC,YAAY,CAAC,SAAS,EAAE,MAAM;IAUrC,OAAO,CAAC,qBAAqB;IAUtB,wBAAwB,CAAC,SAAS,EAAE,MAAM;IAY1C,4BAA4B,CAAC,SAAS,EAAE,MAAM;IAO9C,gBAAgB;IAYhB,iBAAiB;IAKjB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;IAS/C,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAS3C,WAAW,CAAC,SAAS,EAAE,MAAM;IAI7B,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC;IAYxE,2BAA2B,CACtC,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAST,mBAAmB,CAAC,SAAS,EAAE,MAAM;CAM7C"}
1
+ {"version":3,"file":"RequestQueue.d.ts","sourceRoot":"","sources":["../../src/core/RequestQueue.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACxC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,OAAO,CAAC,YAAY,CAAkC;IAEtD,OAAO,CAAC,oBAAoB,CAAqC;IAG1D,iBAAiB,YAAa,UAAU,YAK7C;IAEK,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW;IAY3C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI7C,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmB9E,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAKpC,YAAY,CAAC,SAAS,EAAE,MAAM;IAUrC,OAAO,CAAC,qBAAqB;IAUtB,wBAAwB,CAAC,SAAS,EAAE,MAAM;IAY1C,4BAA4B,CAAC,SAAS,EAAE,MAAM;IAO9C,gBAAgB;IAYhB,iBAAiB;IAKjB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;IAS/C,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAS3C,WAAW,CAAC,SAAS,EAAE,MAAM;IAI7B,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC;IAYxE,2BAA2B,CACtC,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAST,mBAAmB,CAAC,SAAS,EAAE,MAAM;CAM7C"}
@@ -8,6 +8,7 @@ import type { CoreMessage } from '../events';
8
8
  import type { BaseMethod } from '../api/BaseMethod';
9
9
  export type CoreContext = ReturnType<Core['getCoreContext']>;
10
10
  export declare const callAPI: (context: CoreContext, message: CoreMessage) => Promise<any>;
11
+ export declare function getPostCallPendingPromise(method: BaseMethod, device: Device): Promise<void>;
11
12
  export declare function isRetryableBleProtocolV2ProbeError(method: BaseMethod, error: unknown): boolean;
12
13
  export declare function isRetryableBleConnectionError(method: BaseMethod, error: unknown): boolean;
13
14
  export declare function isMissingDetectedProtocolV2Error(method: BaseMethod, error: unknown): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAEL,KAAK,6BAA6B,EAElC,KAAK,YAAY,EAIlB,MAAM,wBAAwB,CAAC;AAgChC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAsB1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAYxD,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,WAAW,CAAC;AAI9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAWpD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AA0E7D,eAAO,MAAM,OAAO,YAAmB,WAAW,WAAW,WAAW,iBAoFvE,CAAC;AAyqBF,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,WAWpF;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,WAoB/E;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,WAQlF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,WAEzD;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,WAI3D;AA8JD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS,CAMtF;AAyLD,eAAO,MAAM,MAAM,YAAa,WAAW,cAAc,MAAM,SA4G9D,CAAC;AA8GF,eAAO,MAAM,qBAAqB,gFAejC,CAAC;AAiLF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC5C,OAAO,CAAC,cAAc,CAAoB;IAE1C,SAAgB,aAAa,EAAE,MAAM,CAAC;IAEtC,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,cAAc,CAAC,CAAgB;IAGvC,OAAO,CAAC,sBAAsB,CAAoC;IAElE,OAAO,CAAC,iBAAiB,CAAoB;;IAS7C,OAAO,CAAC,cAAc;IA6BhB,aAAa,CAAC,OAAO,EAAE,WAAW;IAuExC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAOV,gBAAgB;CAiC/B;AAED,eAAO,MAAM,QAAQ,YAIpB,CAAC;AAEF,eAAO,MAAM,aAAa,uBAYzB,CAAC;AAMF,eAAO,MAAM,IAAI,aACL,eAAe,aACd,GAAG,WACL,6BAA6B,8BAiBvC,CAAC;AAEF,eAAO,MAAM,eAAe;SAKrB,eAAe,CAAC,KAAK,CAAC;eAChB,GAAG;;UASf,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAEL,KAAK,6BAA6B,EAElC,KAAK,YAAY,EAIlB,MAAM,wBAAwB,CAAC;AAiChC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAsB1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAYxD,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,WAAW,CAAC;AAI9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAYpD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AA0E7D,eAAO,MAAM,OAAO,YAAmB,WAAW,WAAW,WAAW,iBAoFvE,CAAC;AAyFF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3F;AAomBD,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,WAWpF;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,WAoB/E;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,WAQlF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,WAEzD;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,WAI3D;AAiKD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS,CAMtF;AA+LD,eAAO,MAAM,MAAM,YAAa,WAAW,cAAc,MAAM,SA4G9D,CAAC;AA8GF,eAAO,MAAM,qBAAqB,gFAejC,CAAC;AAiLF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC5C,OAAO,CAAC,cAAc,CAAoB;IAE1C,SAAgB,aAAa,EAAE,MAAM,CAAC;IAEtC,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,cAAc,CAAC,CAAgB;IAGvC,OAAO,CAAC,sBAAsB,CAAoC;IAElE,OAAO,CAAC,iBAAiB,CAAoB;;IAS7C,OAAO,CAAC,cAAc;IAuChB,aAAa,CAAC,OAAO,EAAE,WAAW;IAuExC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAOV,gBAAgB;CAiC/B;AAED,eAAO,MAAM,QAAQ,YAIpB,CAAC;AAEF,eAAO,MAAM,aAAa,uBAYzB,CAAC;AAMF,eAAO,MAAM,IAAI,aACL,eAAe,aACd,GAAG,WACL,6BAA6B,8BAiBvC,CAAC;AAEF,eAAO,MAAM,eAAe;SAKrB,eAAe,CAAC,KAAK,CAAC;eAChB,GAAG;;UASf,CAAC"}
@@ -83,6 +83,7 @@ export declare class Device extends EventEmitter {
83
83
  set features(features: Features | undefined);
84
84
  runPromise?: Deferred<void> | null;
85
85
  private runCleanupPromise?;
86
+ private userInterruption?;
86
87
  externalState: string[];
87
88
  unavailableCapabilities: UnavailableCapabilities;
88
89
  instance: number;
@@ -171,6 +172,7 @@ export declare class Device extends EventEmitter {
171
172
  markProtocolV2Reboot(rebootType: DeviceRebootType): void;
172
173
  updateDescriptor(descriptor: DeviceDescriptor, forceUpdate?: boolean): void;
173
174
  updateFromCache(device: Device): void;
175
+ waitForRunCleanup(): Promise<void>;
174
176
  run(fn?: () => Promise<void>, options?: RunOptions): Promise<void>;
175
177
  _runInner<T>(fn: (() => Promise<T>) | undefined, options: RunOptions, runPromise: Deferred<void>): Promise<void>;
176
178
  interruptionFromOutside(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":"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"}