@onekeyfe/hd-core 1.0.12-alpha.2 → 1.0.13

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 (95) hide show
  1. package/dist/api/alephium/AlephiumGetAddress.d.ts.map +1 -1
  2. package/dist/api/allnetwork/AllNetworkGetAddress.d.ts.map +1 -1
  3. package/dist/api/aptos/AptosGetAddress.d.ts.map +1 -1
  4. package/dist/api/aptos/AptosGetPublicKey.d.ts +2 -7
  5. package/dist/api/aptos/AptosGetPublicKey.d.ts.map +1 -1
  6. package/dist/api/cosmos/CosmosGetPublicKey.d.ts +2 -7
  7. package/dist/api/cosmos/CosmosGetPublicKey.d.ts.map +1 -1
  8. package/dist/api/evm/EVMGetPublicKey.d.ts +2 -1
  9. package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
  10. package/dist/api/lightning/LnurlAuth.d.ts +6 -1
  11. package/dist/api/lightning/LnurlAuth.d.ts.map +1 -1
  12. package/dist/api/nostr/NostrGetPublicKey.d.ts.map +1 -1
  13. package/dist/api/polkadot/PolkadotGetAddress.d.ts.map +1 -1
  14. package/dist/api/sui/SuiGetAddress.d.ts.map +1 -1
  15. package/dist/api/sui/SuiGetPublicKey.d.ts +2 -7
  16. package/dist/api/sui/SuiGetPublicKey.d.ts.map +1 -1
  17. package/dist/api/ton/TonGetAddress.d.ts.map +1 -1
  18. package/dist/api/ton/TonSignMessage.d.ts +8 -0
  19. package/dist/api/ton/TonSignMessage.d.ts.map +1 -1
  20. package/dist/api/xrp/XrpGetAddress.d.ts +5 -1
  21. package/dist/api/xrp/XrpGetAddress.d.ts.map +1 -1
  22. package/dist/constants/ui-request.d.ts +1 -0
  23. package/dist/constants/ui-request.d.ts.map +1 -1
  24. package/dist/events/ui-request.d.ts +8 -1
  25. package/dist/events/ui-request.d.ts.map +1 -1
  26. package/dist/index.d.ts +44 -19
  27. package/dist/index.js +222 -95
  28. package/dist/types/api/alephiumGetAddress.d.ts +1 -0
  29. package/dist/types/api/alephiumGetAddress.d.ts.map +1 -1
  30. package/dist/types/api/allNetworkGetAddress.d.ts +9 -3
  31. package/dist/types/api/allNetworkGetAddress.d.ts.map +1 -1
  32. package/dist/types/api/aptosGetAddress.d.ts +1 -0
  33. package/dist/types/api/aptosGetAddress.d.ts.map +1 -1
  34. package/dist/types/api/aptosGetPublicKey.d.ts +2 -1
  35. package/dist/types/api/aptosGetPublicKey.d.ts.map +1 -1
  36. package/dist/types/api/cardanoGetPublicKey.d.ts +1 -1
  37. package/dist/types/api/cardanoGetPublicKey.d.ts.map +1 -1
  38. package/dist/types/api/cosmosGetPublicKey.d.ts +2 -1
  39. package/dist/types/api/cosmosGetPublicKey.d.ts.map +1 -1
  40. package/dist/types/api/evmGetPublicKey.d.ts +2 -1
  41. package/dist/types/api/evmGetPublicKey.d.ts.map +1 -1
  42. package/dist/types/api/lnurlAuth.d.ts +1 -0
  43. package/dist/types/api/lnurlAuth.d.ts.map +1 -1
  44. package/dist/types/api/nostrGetPublicKey.d.ts +2 -1
  45. package/dist/types/api/nostrGetPublicKey.d.ts.map +1 -1
  46. package/dist/types/api/polkadotGetAddress.d.ts +2 -1
  47. package/dist/types/api/polkadotGetAddress.d.ts.map +1 -1
  48. package/dist/types/api/suiGetAddress.d.ts +1 -0
  49. package/dist/types/api/suiGetAddress.d.ts.map +1 -1
  50. package/dist/types/api/suiGetPublicKey.d.ts +2 -1
  51. package/dist/types/api/suiGetPublicKey.d.ts.map +1 -1
  52. package/dist/types/api/tonGetAddress.d.ts +2 -1
  53. package/dist/types/api/tonGetAddress.d.ts.map +1 -1
  54. package/dist/types/api/tonSignMessage.d.ts +6 -6
  55. package/dist/types/api/tonSignMessage.d.ts.map +1 -1
  56. package/dist/types/api/tonSignProof.d.ts +2 -2
  57. package/dist/types/api/tonSignProof.d.ts.map +1 -1
  58. package/dist/types/api/xrpGetAddress.d.ts +1 -0
  59. package/dist/types/api/xrpGetAddress.d.ts.map +1 -1
  60. package/package.json +4 -4
  61. package/src/api/alephium/AlephiumGetAddress.ts +2 -1
  62. package/src/api/allnetwork/AllNetworkGetAddress.ts +54 -30
  63. package/src/api/aptos/AptosGetAddress.ts +63 -38
  64. package/src/api/aptos/AptosGetPublicKey.ts +9 -6
  65. package/src/api/cardano/CardanoGetPublicKey.ts +2 -2
  66. package/src/api/cosmos/CosmosGetPublicKey.ts +9 -6
  67. package/src/api/evm/EVMGetPublicKey.ts +4 -2
  68. package/src/api/lightning/LnurlAuth.ts +4 -1
  69. package/src/api/nostr/NostrGetPublicKey.ts +3 -1
  70. package/src/api/polkadot/PolkadotGetAddress.ts +2 -1
  71. package/src/api/sui/SuiGetAddress.ts +58 -38
  72. package/src/api/sui/SuiGetPublicKey.ts +9 -6
  73. package/src/api/ton/TonGetAddress.ts +2 -1
  74. package/src/api/ton/TonSignMessage.ts +91 -8
  75. package/src/api/ton/TonSignProof.ts +1 -1
  76. package/src/api/xrp/XrpGetAddress.ts +2 -1
  77. package/src/constants/ui-request.ts +1 -0
  78. package/src/data/messages/messages.json +4 -0
  79. package/src/events/ui-request.ts +9 -0
  80. package/src/types/api/alephiumGetAddress.ts +4 -0
  81. package/src/types/api/allNetworkGetAddress.ts +16 -4
  82. package/src/types/api/aptosGetAddress.ts +4 -0
  83. package/src/types/api/aptosGetPublicKey.ts +5 -1
  84. package/src/types/api/cardanoGetPublicKey.ts +1 -1
  85. package/src/types/api/cosmosGetPublicKey.ts +5 -1
  86. package/src/types/api/evmGetPublicKey.ts +5 -1
  87. package/src/types/api/lnurlAuth.ts +4 -0
  88. package/src/types/api/nostrGetPublicKey.ts +5 -1
  89. package/src/types/api/polkadotGetAddress.ts +5 -1
  90. package/src/types/api/suiGetAddress.ts +4 -0
  91. package/src/types/api/suiGetPublicKey.ts +5 -1
  92. package/src/types/api/tonGetAddress.ts +5 -1
  93. package/src/types/api/tonSignMessage.ts +11 -6
  94. package/src/types/api/tonSignProof.ts +7 -2
  95. package/src/types/api/xrpGetAddress.ts +4 -0
@@ -57,12 +57,12 @@ export default class CardanoGetPublicKey extends BaseMethod<CardanoPublicKeyPara
57
57
  responses.push({
58
58
  path: batch.address_n,
59
59
  serializedPath: serializedPath(batch.address_n),
60
- publicKey: message.xpub,
60
+ xpub: message.xpub,
61
61
  node: message.node,
62
62
  });
63
63
  }
64
64
 
65
- validateResult(responses, ['publicKey'], {
65
+ validateResult(responses, ['xpub'], {
66
66
  expectedLength: this.params.length,
67
67
  });
68
68
 
@@ -2,7 +2,7 @@ import { UI_REQUEST } from '../../constants/ui-request';
2
2
  import { serializedPath, validatePath } from '../helpers/pathUtils';
3
3
  import { BaseMethod } from '../BaseMethod';
4
4
  import { validateParams, validateResult } from '../helpers/paramsValidator';
5
- import { CosmosGetPublicKeyParams } from '../../types';
5
+ import { CosmosAddress, CosmosGetPublicKeyParams } from '../../types';
6
6
 
7
7
  export default class CosmosGetPublicKey extends BaseMethod<any> {
8
8
  hasBundle = false;
@@ -64,12 +64,15 @@ export default class CosmosGetPublicKey extends BaseMethod<any> {
64
64
  ecdsa_curve_name: this.params[0].curve,
65
65
  });
66
66
 
67
- const responses = res.message.public_keys.map((publicKey: string, index: number) => ({
68
- path: serializedPath((this.params as unknown as any[])[index].address_n),
69
- publicKey,
70
- }));
67
+ const responses: CosmosAddress[] = res.message.public_keys.map(
68
+ (publicKey: string, index: number) => ({
69
+ path: serializedPath((this.params as unknown as any[])[index].address_n),
70
+ pub: publicKey,
71
+ publicKey,
72
+ })
73
+ );
71
74
 
72
- validateResult(responses, ['publicKey'], {
75
+ validateResult(responses, ['pub'], {
73
76
  expectedLength: this.params.length,
74
77
  });
75
78
 
@@ -70,10 +70,11 @@ export default class EVMGetPublicKey extends BaseMethod<EthereumGetPublicKeyOneK
70
70
  });
71
71
  const result = res.message.public_keys.map((publicKey: string, index: number) => ({
72
72
  path: serializedPath((this.params as unknown as any[])[index].address_n),
73
+ pub: publicKey,
73
74
  publicKey,
74
75
  }));
75
76
 
76
- validateResult(responses, ['publicKey'], {
77
+ validateResult(responses, ['pub'], {
77
78
  expectedLength: this.params.length,
78
79
  });
79
80
  return Promise.resolve(result);
@@ -86,12 +87,13 @@ export default class EVMGetPublicKey extends BaseMethod<EthereumGetPublicKeyOneK
86
87
 
87
88
  responses.push({
88
89
  path: serializedPath(param.address_n),
90
+ pub: res.message.node.public_key,
89
91
  publicKey: res.message.node.public_key,
90
92
  ...res.message,
91
93
  });
92
94
  }
93
95
 
94
- validateResult(responses, ['publicKey'], {
96
+ validateResult(responses, ['pub'], {
95
97
  expectedLength: this.params.length,
96
98
  });
97
99
 
@@ -43,6 +43,9 @@ export default class LnurlAuth1 extends BaseMethod<ILnurlAuth> {
43
43
 
44
44
  validateResult(message, ['publickey', 'path']);
45
45
 
46
- return message;
46
+ return {
47
+ ...message,
48
+ pub: message.publickey,
49
+ };
47
50
  }
48
51
  }
@@ -60,7 +60,9 @@ export default class NostrGetPublicKey extends BaseMethod<GetPublicKey[]> {
60
60
 
61
61
  const response = {
62
62
  path: serializedPath(param.address_n),
63
- ...res.message,
63
+ npub: res.message.npub,
64
+ pub: res.message.publickey,
65
+ publickey: res.message.publickey,
64
66
  };
65
67
 
66
68
  responses.push(response);
@@ -64,6 +64,7 @@ export default class PolkadotGetAddress extends BaseMethod<HardwarePolkadotGetAd
64
64
  responses.push({
65
65
  path,
66
66
  address,
67
+ pub: public_key ?? '',
67
68
  publicKey: public_key ?? '',
68
69
  });
69
70
 
@@ -73,7 +74,7 @@ export default class PolkadotGetAddress extends BaseMethod<HardwarePolkadotGetAd
73
74
  });
74
75
  }
75
76
 
76
- validateResult(responses, ['address', 'publicKey'], {
77
+ validateResult(responses, ['address', 'pub'], {
77
78
  expectedLength: this.params.length,
78
79
  });
79
80
 
@@ -20,9 +20,9 @@ export default class SuiGetAddress extends BaseMethod<HardwareSuiGetAddress[]> {
20
20
  this.hasBundle = !!this.payload?.bundle;
21
21
  const payload = this.hasBundle ? this.payload : { bundle: [this.payload] };
22
22
 
23
- this.shouldConfirm = this.hasBundle
24
- ? this.payload.bundle.some((i: any) => !!i.showOnOneKey)
25
- : false;
23
+ this.shouldConfirm =
24
+ this.payload.showOnOneKey ||
25
+ this.payload.bundle?.some((i: SuiGetAddressParams) => !!i.showOnOneKey);
26
26
 
27
27
  // check payload
28
28
  validateParams(payload, [{ name: 'bundle', type: 'array' }]);
@@ -58,46 +58,66 @@ export default class SuiGetAddress extends BaseMethod<HardwareSuiGetAddress[]> {
58
58
  }
59
59
 
60
60
  async run() {
61
- if (this.hasBundle && supportBatchPublicKey(this.device?.features) && !this.shouldConfirm) {
62
- const res = await this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
63
- paths: this.params,
64
- ecdsa_curve_name: 'ed25519',
65
- });
66
- const result = res.message.public_keys.map((publicKey: string, index: number) => ({
67
- path: serializedPath((this.params as unknown as any[])[index].address_n),
68
- publicKey,
69
- address: publicKeyToAddress(publicKey),
70
- }));
71
-
72
- validateResult(result, ['address'], {
73
- expectedLength: this.params.length,
74
- });
75
-
76
- return Promise.resolve(result);
77
- }
78
-
79
- const responses: SuiAddress[] = [];
80
- for (let i = 0; i < this.params.length; i++) {
81
- const param = this.params[i];
82
-
83
- const res = await this.device.commands.typedCall('SuiGetAddress', 'SuiAddress', {
84
- ...param,
85
- });
86
-
87
- const { address } = res.message;
88
-
89
- const result = {
90
- path: serializedPath(param.address_n),
91
- address: address?.toLowerCase(),
92
- };
93
- responses.push(result);
94
- this.postPreviousAddressMessage(result);
61
+ const supportsBatchPublicKey = supportBatchPublicKey(this.device?.features);
62
+ let responses: SuiAddress[] = [];
63
+ if (supportsBatchPublicKey) {
64
+ const publicKeyRes = await this.device.commands.typedCall(
65
+ 'BatchGetPublickeys',
66
+ 'EcdsaPublicKeys',
67
+ {
68
+ paths: this.params,
69
+ ecdsa_curve_name: 'ed25519',
70
+ }
71
+ );
72
+ for (let i = 0; i < this.params.length; i++) {
73
+ const param = this.params[i];
74
+ const publicKey = publicKeyRes.message.public_keys[i];
75
+ let address: string;
76
+
77
+ if (this.shouldConfirm) {
78
+ const addressRes = await this.device.commands.typedCall(
79
+ 'SuiGetAddress',
80
+ 'SuiAddress',
81
+ param
82
+ );
83
+ address = addressRes.message.address?.toLowerCase() ?? '';
84
+ } else {
85
+ address = publicKeyToAddress(publicKey);
86
+ }
87
+
88
+ const result: SuiAddress = {
89
+ path: serializedPath(param.address_n),
90
+ address,
91
+ publicKey,
92
+ pub: publicKey,
93
+ };
94
+
95
+ if (this.shouldConfirm) {
96
+ this.postPreviousAddressMessage(result);
97
+ }
98
+
99
+ responses.push(result);
100
+ }
101
+ } else {
102
+ responses = await Promise.all(
103
+ this.params.map(async param => {
104
+ const res = await this.device.commands.typedCall('SuiGetAddress', 'SuiAddress', param);
105
+ const result = {
106
+ path: serializedPath(param.address_n),
107
+ address: res.message.address?.toLowerCase() ?? '',
108
+ };
109
+ if (this.shouldConfirm) {
110
+ this.postPreviousAddressMessage(result);
111
+ }
112
+ return result;
113
+ })
114
+ );
95
115
  }
96
116
 
97
117
  validateResult(responses, ['address'], {
98
118
  expectedLength: this.params.length,
99
119
  });
100
120
 
101
- return Promise.resolve(this.hasBundle ? responses : responses[0]);
121
+ return this.hasBundle ? responses : responses[0];
102
122
  }
103
123
  }
@@ -2,7 +2,7 @@ import { UI_REQUEST } from '../../constants/ui-request';
2
2
  import { serializedPath, validatePath } from '../helpers/pathUtils';
3
3
  import { BaseMethod } from '../BaseMethod';
4
4
  import { validateParams, validateResult } from '../helpers/paramsValidator';
5
- import { SuiGetAddressParams } from '../../types';
5
+ import { SuiGetAddressParams, SuiPublicKey } from '../../types';
6
6
 
7
7
  export default class SuiGetPublicKey extends BaseMethod<any> {
8
8
  hasBundle = false;
@@ -53,12 +53,15 @@ export default class SuiGetPublicKey extends BaseMethod<any> {
53
53
  ecdsa_curve_name: 'ed25519',
54
54
  });
55
55
 
56
- const responses = res.message.public_keys.map((publicKey: string, index: number) => ({
57
- path: serializedPath((this.params as unknown as any[])[index].address_n),
58
- publicKey,
59
- }));
56
+ const responses: SuiPublicKey[] = res.message.public_keys.map(
57
+ (publicKey: string, index: number) => ({
58
+ path: serializedPath((this.params as unknown as any[])[index].address_n),
59
+ publicKey,
60
+ pub: publicKey,
61
+ })
62
+ );
60
63
 
61
- validateResult(responses, ['publicKey'], {
64
+ validateResult(responses, ['pub'], {
62
65
  expectedLength: this.params.length,
63
66
  });
64
67
 
@@ -76,13 +76,14 @@ export default class TonGetAddress extends BaseMethod<HardwareTonGetAddress[]> {
76
76
  const result = {
77
77
  path: serializedPath(param.address_n),
78
78
  publicKey: public_key,
79
+ pub: public_key,
79
80
  address,
80
81
  };
81
82
  responses.push(result);
82
83
  this.postPreviousAddressMessage(result);
83
84
  }
84
85
 
85
- validateResult(responses, ['address', 'publicKey'], {
86
+ validateResult(responses, ['address', 'pub'], {
86
87
  expectedLength: this.params.length,
87
88
  });
88
89
 
@@ -1,11 +1,15 @@
1
1
  import { TonSignMessage as HardwareTonSignMessage } from '@onekeyfe/hd-transport';
2
-
2
+ import semver from 'semver';
3
+ import BigNumber from 'bignumber.js';
4
+ import { isEmpty } from 'lodash';
5
+ import { ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
3
6
  import { UI_REQUEST } from '../../constants/ui-request';
4
7
  import { validatePath } from '../helpers/pathUtils';
5
8
  import { BaseMethod } from '../BaseMethod';
6
9
  import { validateParams } from '../helpers/paramsValidator';
7
- import { DeviceModelToTypes, TonSignMessageParams } from '../../types';
8
- import { getDeviceType } from '../../utils';
10
+ import { DeviceFirmwareRange, DeviceModelToTypes, TonSignMessageParams } from '../../types';
11
+ import { getDeviceFirmwareVersion, getDeviceType, getMethodVersionRange } from '../../utils';
12
+ import { formatAnyHex, stripHexStartZeroes } from '../helpers/hexUtils';
9
13
 
10
14
  export default class TonSignMessage extends BaseMethod<HardwareTonSignMessage> {
11
15
  init() {
@@ -18,14 +22,14 @@ export default class TonSignMessage extends BaseMethod<HardwareTonSignMessage> {
18
22
  { name: 'destination', type: 'string' },
19
23
  { name: 'jettonMasterAddress', type: 'string' },
20
24
  { name: 'jettonWalletAddress', type: 'string' },
21
- { name: 'tonAmount', type: 'number' },
22
- { name: 'jettonAmount', type: 'number' },
23
- { name: 'fwdFee', type: 'number' },
25
+ { name: 'tonAmount' },
26
+ { name: 'jettonAmount' },
27
+ { name: 'fwdFee' },
24
28
  { name: 'comment', type: 'string' },
25
29
  { name: 'isRawData', type: 'boolean' },
26
30
  { name: 'mode', type: 'number' },
27
31
  { name: 'seqno', type: 'number' },
28
- { name: 'expireAt', type: 'number' },
32
+ { name: 'expireAt' },
29
33
  { name: 'walletVersion' },
30
34
  { name: 'walletId', type: 'number' },
31
35
  { name: 'workchain' },
@@ -45,7 +49,6 @@ export default class TonSignMessage extends BaseMethod<HardwareTonSignMessage> {
45
49
  jetton_master_address: this.payload.jettonMasterAddress,
46
50
  jetton_wallet_address: this.payload.jettonWalletAddress,
47
51
  ton_amount: this.payload.tonAmount,
48
- jetton_amount: this.payload.jettonAmount,
49
52
  fwd_fee: this.payload.fwdFee,
50
53
  comment: this.payload.comment,
51
54
  mode: this.payload.mode,
@@ -68,10 +71,90 @@ export default class TonSignMessage extends BaseMethod<HardwareTonSignMessage> {
68
71
  model_touch: {
69
72
  min: '4.10.0',
70
73
  },
74
+ classic1s: {
75
+ min: '3.10.0',
76
+ },
77
+ };
78
+ }
79
+
80
+ getSupportJettonAmountBytesVersionRange(): DeviceFirmwareRange {
81
+ return {
82
+ pro: {
83
+ min: '4.10.2',
84
+ },
85
+ };
86
+ }
87
+
88
+ checkSupportJettonAmountBytes() {
89
+ const firmwareVersion = getDeviceFirmwareVersion(this.device.features)?.join('.');
90
+ const versionRange = getMethodVersionRange(
91
+ this.device.features,
92
+ type => this.getSupportJettonAmountBytesVersionRange()[type]
93
+ );
94
+
95
+ if (!versionRange) {
96
+ // Equipment that does not need to be repaired
97
+ return true;
98
+ }
99
+
100
+ if (semver.valid(firmwareVersion) && semver.gte(firmwareVersion, versionRange.min)) {
101
+ return true;
102
+ }
103
+ return false;
104
+ }
105
+
106
+ getFixCommentErrorVersionRange(): DeviceFirmwareRange {
107
+ return {
108
+ pro: {
109
+ min: '4.10.1',
110
+ },
71
111
  };
72
112
  }
73
113
 
114
+ checkFixCommentError() {
115
+ // The issue of missing comments when transferring tokens.
116
+ const { comment, jettonAmount } = this.payload;
117
+
118
+ if (isEmpty(comment) || jettonAmount === null || jettonAmount === undefined) {
119
+ return;
120
+ }
121
+
122
+ const firmwareVersion = getDeviceFirmwareVersion(this.device.features)?.join('.');
123
+ const versionRange = getMethodVersionRange(
124
+ this.device.features,
125
+ type => this.getFixCommentErrorVersionRange()[type]
126
+ );
127
+
128
+ if (!versionRange) {
129
+ // Equipment that does not need to be repaired
130
+ return;
131
+ }
132
+
133
+ if (semver.valid(firmwareVersion) && semver.lt(firmwareVersion, versionRange.min)) {
134
+ throw ERRORS.TypedError(
135
+ HardwareErrorCode.CallMethodNeedUpgradeFirmware,
136
+ `Device firmware version is too low, please update to ${versionRange.min}`,
137
+ { current: firmwareVersion, require: versionRange.min }
138
+ );
139
+ }
140
+ }
141
+
74
142
  async run() {
143
+ // checkFixCommentError
144
+ this.checkFixCommentError();
145
+
146
+ // check jettonAmount
147
+ const { jettonAmount } = this.payload;
148
+ if (jettonAmount) {
149
+ if (this.checkSupportJettonAmountBytes()) {
150
+ this.params.jetton_amount_bytes = stripHexStartZeroes(
151
+ formatAnyHex(new BigNumber(jettonAmount).toString(16))
152
+ );
153
+ } else {
154
+ this.params.jetton_amount = jettonAmount;
155
+ }
156
+ }
157
+
75
158
  const deviceType = getDeviceType(this.device.features);
76
159
  const res = await this.device.commands.typedCall('TonSignMessage', 'TonSignedMessage', {
77
160
  ...this.params,
@@ -16,7 +16,7 @@ export default class TonSignProof extends BaseMethod<HardwareTonSignProof> {
16
16
  { name: 'path', required: true },
17
17
  { name: 'appdomain', type: 'string' },
18
18
  { name: 'comment', type: 'string' },
19
- { name: 'expireAt', type: 'number' },
19
+ { name: 'expireAt' },
20
20
  { name: 'walletVersion' },
21
21
  { name: 'walletId', type: 'number' },
22
22
  { name: 'workchain' },
@@ -97,6 +97,7 @@ export default class XrpGetAddress extends BaseMethod<
97
97
  path,
98
98
  address,
99
99
  publicKey: publicKey.message?.public_keys?.[0],
100
+ pub: publicKey.message?.public_keys?.[0],
100
101
  });
101
102
 
102
103
  this.postPreviousAddressMessage({
@@ -105,7 +106,7 @@ export default class XrpGetAddress extends BaseMethod<
105
106
  });
106
107
  }
107
108
 
108
- validateResult(responses, ['address', 'publicKey'], {
109
+ validateResult(responses, ['address', 'pub'], {
109
110
  expectedLength: this.params.length,
110
111
  });
111
112
 
@@ -13,4 +13,5 @@ export const UI_REQUEST = {
13
13
  FIRMWARE_TIP: 'ui-firmware-tip',
14
14
 
15
15
  PREVIOUS_ADDRESS_RESULT: 'ui-previous_address_result',
16
+ DEVICE_PROGRESS: 'ui-device_progress',
16
17
  } as const;
@@ -10628,6 +10628,10 @@
10628
10628
  "rule": "repeated",
10629
10629
  "type": "string",
10630
10630
  "id": 20
10631
+ },
10632
+ "jetton_amount_bytes": {
10633
+ "type": "bytes",
10634
+ "id": 21
10631
10635
  }
10632
10636
  }
10633
10637
  },
@@ -13,6 +13,7 @@ export const UI_REQUEST = {
13
13
  REQUEST_PASSPHRASE_ON_DEVICE: 'ui-request_passphrase_on_device',
14
14
 
15
15
  CLOSE_UI_WINDOW: 'ui-close_window',
16
+ DEVICE_PROGRESS: 'ui-device_progress',
16
17
 
17
18
  BLUETOOTH_PERMISSION: 'ui-bluetooth_permission',
18
19
  BLUETOOTH_CHARACTERISTIC_NOTIFY_CHANGE_FAILURE:
@@ -81,6 +82,13 @@ export interface FirmwareTip {
81
82
  };
82
83
  }
83
84
 
85
+ export interface DeviceProgress {
86
+ type: typeof UI_REQUEST.DEVICE_PROGRESS;
87
+ payload: {
88
+ progress?: number;
89
+ };
90
+ }
91
+
84
92
  export interface PreviousAddressResult {
85
93
  type: typeof UI_REQUEST.PREVIOUS_ADDRESS_RESULT;
86
94
  payload: {
@@ -100,6 +108,7 @@ export type UiEvent =
100
108
  | UiRequestPassphrase
101
109
  | FirmwareProgress
102
110
  | FirmwareTip
111
+ | DeviceProgress
103
112
  | PreviousAddressResult;
104
113
 
105
114
  export type UiEventMessage = UiEvent & { event: typeof UI_EVENT };
@@ -2,7 +2,11 @@ import type { CommonParams, Response } from '../params';
2
2
 
3
3
  export type AlephiumAddress = {
4
4
  path: string;
5
+ /**
6
+ * @deprecated Use `pub` instead.
7
+ */
5
8
  publicKey?: string;
9
+ pub?: string;
6
10
  address: string;
7
11
  derivedPath: string;
8
12
  };
@@ -46,13 +46,19 @@ export type AllNetworkAddressParams = {
46
46
  chainName?: string;
47
47
  prefix?: string;
48
48
  showOnOneKey?: boolean;
49
+
50
+ includePublicKey?: boolean;
51
+ group?: string;
49
52
  };
50
53
 
51
54
  type AllNetworkAddressPayload =
52
55
  | {
53
56
  address: string;
54
- publicKey?: string;
55
57
  pub?: string;
58
+ /**
59
+ * @deprecated Use `pub` instead.
60
+ */
61
+ publicKey?: string;
56
62
  // Nostr public key (bech32)
57
63
  npub?: string;
58
64
  }
@@ -84,8 +90,14 @@ type AllNetworkAddressPayload =
84
90
 
85
91
  export type AllNetworkAddress = CommonResponseParams & {
86
92
  success: boolean;
87
- error?: string;
88
- payload?: AllNetworkAddressPayload;
93
+ payload?:
94
+ | AllNetworkAddressPayload
95
+ | {
96
+ error: string;
97
+ code: number;
98
+ connectId: string;
99
+ deviceId: string;
100
+ };
89
101
  };
90
102
 
91
103
  export type AllNetworkGetAddressParams = {
@@ -95,5 +107,5 @@ export type AllNetworkGetAddressParams = {
95
107
  export declare function allNetworkGetAddress(
96
108
  connectId: string,
97
109
  deviceId: string,
98
- params: CommonParams & AllNetworkGetAddressParams
110
+ params: CommonParams & AllNetworkGetAddressParams,
99
111
  ): Response<AllNetworkAddress[]>;
@@ -3,6 +3,10 @@ import type { CommonParams, Response } from '../params';
3
3
 
4
4
  export type AptosAddress = {
5
5
  path: string;
6
+ pub?: string;
7
+ /**
8
+ * @deprecated Use `pub` instead.
9
+ */
6
10
  publicKey?: string;
7
11
  } & HardwareAptosAddress;
8
12
 
@@ -2,7 +2,11 @@ import type { CommonParams, Response } from '../params';
2
2
 
3
3
  export type AptosPublicKey = {
4
4
  path: string;
5
- publicKey: string;
5
+ pub: string;
6
+ /**
7
+ * @deprecated Use `pub` instead.
8
+ */
9
+ publicKey?: string;
6
10
  };
7
11
 
8
12
  export type AptosGetPublicKeyParams = {
@@ -4,7 +4,7 @@ import { PROTO } from '../../constants';
4
4
  export type CardanoPublicKey = {
5
5
  path: number[];
6
6
  serializedPath: string;
7
- publicKey: string;
7
+ xpub: string;
8
8
  node: PROTO.HDNodeType;
9
9
  };
10
10
 
@@ -2,7 +2,11 @@ import type { CommonParams, Response } from '../params';
2
2
 
3
3
  export type CosmosPublicKey = {
4
4
  path: string;
5
- publicKey: string;
5
+ pub: string;
6
+ /**
7
+ * @deprecated Use `pub` instead.
8
+ */
9
+ publicKey?: string;
6
10
  };
7
11
 
8
12
  export type CosmosGetPublicKeyParams = {
@@ -3,7 +3,11 @@ import type { CommonParams, Response } from '../params';
3
3
 
4
4
  export type EVMPublicKey = {
5
5
  path: string;
6
- publicKey: string;
6
+ pub: string;
7
+ /**
8
+ * @deprecated Use `pub` instead.
9
+ */
10
+ publicKey?: string;
7
11
  } & EthereumPublicKey;
8
12
 
9
13
  export type EVMGetPublicKeyParams = {
@@ -1,6 +1,10 @@
1
1
  import type { CommonParams, Response } from '../params';
2
2
 
3
3
  export interface LnurlAuth {
4
+ pub?: string;
5
+ /**
6
+ * @deprecated Use `pub` instead.
7
+ */
4
8
  publickey?: string;
5
9
  path?: string;
6
10
  signature?: string;
@@ -2,7 +2,11 @@ import type { CommonParams, Response } from '../params';
2
2
 
3
3
  export type NostrPublicKey = {
4
4
  npub?: string;
5
- publickey?: string;
5
+ pub?: string;
6
+ /**
7
+ * @deprecated Use `pub` instead.
8
+ */
9
+ publicKey?: string;
6
10
  path: string;
7
11
  };
8
12
 
@@ -3,7 +3,11 @@ import type { CommonParams, Response } from '../params';
3
3
 
4
4
  export type PolkadotAddress = {
5
5
  path: string;
6
- publicKey: string;
6
+ pub: string;
7
+ /**
8
+ * @deprecated Use `pub` instead.
9
+ */
10
+ publicKey?: string;
7
11
  } & HardwarePolkadotAddress;
8
12
 
9
13
  export type PolkadotGetAddressParams = {
@@ -3,6 +3,10 @@ import type { CommonParams, Response } from '../params';
3
3
 
4
4
  export type SuiAddress = {
5
5
  path: string;
6
+ pub?: string;
7
+ /**
8
+ * @deprecated Use `pub` instead.
9
+ */
6
10
  publicKey?: string;
7
11
  } & HardwareSuiAddress;
8
12