@onekeyfe/hd-core 1.0.28 → 1.0.30

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.
@@ -31,7 +31,9 @@ export declare abstract class BaseMethod<Params = undefined> {
31
31
  setDevice(device: Device): void;
32
32
  checkFirmwareRelease(): void;
33
33
  checkDeviceSupportFeature(): void;
34
- protected checkFeatureVersionLimit(checkCondition: () => boolean, getVersionRange: () => DeviceFirmwareRange): void;
34
+ protected checkFeatureVersionLimit(checkCondition: () => boolean, getVersionRange: () => DeviceFirmwareRange, options?: {
35
+ strictCheckDeviceSupport?: boolean;
36
+ }): void;
35
37
  checkSafetyLevelOnTestNet(): Promise<void>;
36
38
  dispose(): void;
37
39
  postPreviousAddressMessage: (data: {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMethod.d.ts","sourceRoot":"","sources":["../../src/api/BaseMethod.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAe,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,WAAW,EAA4D,MAAM,WAAW,CAAC;AAMlG,8BAAsB,UAAU,CAAC,MAAM,GAAG,SAAS;IACjD,UAAU,EAAE,MAAM,CAAC;IAGnB,MAAM,EAAE,MAAM,CAAC;IAGf,MAAM,EAAE,MAAM,CAAC;IAOf,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,IAAI,EAAE,MAAM,CAAC;IAKb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7B,SAAS,CAAC,EAAE,eAAe,CAAC;IAK5B,SAAS,EAAE,OAAO,CAAC;IAKnB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAK7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAK5B,qBAAqB,UAAQ;IAK7B,aAAa,UAAS;IAKtB,wBAAwB,UAAQ;IAMhC,oBAAoB,UAAS;IAO7B,wBAAwB,UAAS;IAGjC,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;gBAEhC,OAAO,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE;IAYlD,QAAQ,CAAC,IAAI,IAAI,IAAI;IAErB,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAE5B,eAAe,IAAI,mBAAmB;IAItC,SAAS,CAAC,MAAM,EAAE,MAAM;IAKxB,oBAAoB;IAkBpB,yBAAyB;IAczB,SAAS,CAAC,wBAAwB,CAChC,cAAc,EAAE,MAAM,OAAO,EAC7B,eAAe,EAAE,MAAM,mBAAmB;IA0BtC,yBAAyB;IAiB/B,OAAO;IAGP,0BAA0B,SAAU;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,UAOrE;CACH"}
1
+ {"version":3,"file":"BaseMethod.d.ts","sourceRoot":"","sources":["../../src/api/BaseMethod.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAe,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,WAAW,EAA4D,MAAM,WAAW,CAAC;AAMlG,8BAAsB,UAAU,CAAC,MAAM,GAAG,SAAS;IACjD,UAAU,EAAE,MAAM,CAAC;IAGnB,MAAM,EAAE,MAAM,CAAC;IAGf,MAAM,EAAE,MAAM,CAAC;IAOf,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,IAAI,EAAE,MAAM,CAAC;IAKb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7B,SAAS,CAAC,EAAE,eAAe,CAAC;IAK5B,SAAS,EAAE,OAAO,CAAC;IAKnB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAK7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAK5B,qBAAqB,UAAQ;IAK7B,aAAa,UAAS;IAKtB,wBAAwB,UAAQ;IAMhC,oBAAoB,UAAS;IAO7B,wBAAwB,UAAS;IAGjC,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;gBAEhC,OAAO,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE;IAYlD,QAAQ,CAAC,IAAI,IAAI,IAAI;IAErB,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAE5B,eAAe,IAAI,mBAAmB;IAItC,SAAS,CAAC,MAAM,EAAE,MAAM;IAKxB,oBAAoB;IAkBpB,yBAAyB;IAczB,SAAS,CAAC,wBAAwB,CAChC,cAAc,EAAE,MAAM,OAAO,EAC7B,eAAe,EAAE,MAAM,mBAAmB,EAC1C,OAAO,CAAC,EAAE;QACR,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC;IAgCG,yBAAyB;IAiB/B,OAAO;IAGP,0BAA0B,SAAU;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,UAOrE;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"AllNetworkGetAddress.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddress.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EAEvB,oBAAoB,EACpB,QAAQ,EACT,MAAM,sCAAsC,CAAC;AA2N9C,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;CAC/C,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,UAAU,CAC1D;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,IAAI;IAkBJ,kBAAkB,CAAC,EACjB,OAAO,EACP,OAAO,GACR,EAAE;QACD,OAAO,EAAE,QAAQ,CAAC;QAClB,OAAO,EAAE,uBAAuB,CAAC;KAClC,GAAG,YAAY;IAoBV,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;IAyDG,GAAG;CA2DV"}
1
+ {"version":3,"file":"AllNetworkGetAddress.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddress.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EAEvB,oBAAoB,EACpB,QAAQ,EACT,MAAM,sCAAsC,CAAC;AA4N9C,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;CAC/C,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,UAAU,CAC1D;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,IAAI;IAkBJ,kBAAkB,CAAC,EACjB,OAAO,EACP,OAAO,GACR,EAAE;QACD,OAAO,EAAE,QAAQ,CAAC;QAClB,OAAO,EAAE,uBAAuB,CAAC;KAClC,GAAG,YAAY;IAoBV,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;IAyDG,GAAG;CA2DV"}
@@ -12,6 +12,14 @@ export default class KaspaGetAddress extends BaseMethod<HardwareKaspaGetAddress[
12
12
  min: string;
13
13
  };
14
14
  };
15
+ getUseTweakVersionRange(): {
16
+ pro: {
17
+ min: string;
18
+ };
19
+ model_classic1s: {
20
+ min: string;
21
+ };
22
+ };
15
23
  run(): Promise<KaspaAddress | KaspaAddress[]>;
16
24
  }
17
25
  //# sourceMappingURL=KaspaGetAddress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KaspaGetAddress.d.ts","sourceRoot":"","sources":["../../../src/api/kaspa/KaspaGetAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGpF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAyB,YAAY,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,uBAAuB,EAAE,CAAC;IAChF,SAAS,UAAS;IAElB,IAAI;IAiCJ,eAAe;;;;;;;;IAWT,GAAG;CA0BV"}
1
+ {"version":3,"file":"KaspaGetAddress.d.ts","sourceRoot":"","sources":["../../../src/api/kaspa/KaspaGetAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGpF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAyB,YAAY,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,uBAAuB,EAAE,CAAC;IAChF,SAAS,UAAS;IAElB,IAAI;IAmCJ,eAAe;;;;;;;;IAWf,uBAAuB;;;;;;;;IAWjB,GAAG;CAkCV"}
@@ -13,6 +13,14 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
13
13
  min: string;
14
14
  };
15
15
  };
16
+ getUseTweakVersionRange(): {
17
+ pro: {
18
+ min: string;
19
+ };
20
+ model_classic1s: {
21
+ min: string;
22
+ };
23
+ };
16
24
  processTxRequest(typedCall: TypedCall, res: TypedResponseMessage<'KaspaTxInputRequest'> | TypedResponseMessage<'KaspaSignedTx'>, index: number, signature: KaspaSignature[]): Promise<KaspaSignature[]>;
17
25
  run(): Promise<KaspaSignature[]>;
18
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"KaspaSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/api/kaspa/KaspaSignTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAGL,0BAA0B,EAC1B,cAAc,EACf,MAAM,aAAa,CAAC;AAIrB,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,UAAU,CAAC,0BAA0B,CAAC;IACtF,SAAS,UAAS;IAElB,IAAI;IA8DJ,eAAe;;;;;;;;IAWT,gBAAgB,CACpB,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,oBAAoB,CAAC,eAAe,CAAC,EACxF,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,cAAc,EAAE,GAC1B,OAAO,CAAC,cAAc,EAAE,CAAC;IAsCtB,GAAG;CAqBV"}
1
+ {"version":3,"file":"KaspaSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/api/kaspa/KaspaSignTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAGL,0BAA0B,EAC1B,cAAc,EACf,MAAM,aAAa,CAAC;AAIrB,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,UAAU,CAAC,0BAA0B,CAAC;IACtF,SAAS,UAAS;IAElB,IAAI;IAgEJ,eAAe;;;;;;;;IAWf,uBAAuB;;;;;;;;IAWjB,gBAAgB,CACpB,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,oBAAoB,CAAC,eAAe,CAAC,EACxF,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,cAAc,EAAE,GAC1B,OAAO,CAAC,cAAc,EAAE,CAAC;IAsCtB,GAAG;CA+BV"}
package/dist/index.d.ts CHANGED
@@ -660,6 +660,7 @@ type AllNetworkAddressParams = {
660
660
  showOnOneKey?: boolean;
661
661
  includePublicKey?: boolean;
662
662
  group?: string;
663
+ useTweak?: boolean;
663
664
  };
664
665
  type AllNetworkAddressPayload = {
665
666
  address: string;
@@ -1746,6 +1747,7 @@ type KaspaGetAddressParams = {
1746
1747
  prefix?: string;
1747
1748
  scheme?: string;
1748
1749
  showOnOneKey?: boolean;
1750
+ useTweak?: boolean;
1749
1751
  };
1750
1752
  declare function kaspaGetAddress(connectId: string, deviceId: string, params: CommonParams & KaspaGetAddressParams): Response<KaspaAddress>;
1751
1753
  declare function kaspaGetAddress(connectId: string, deviceId: string, params: CommonParams & {
@@ -1790,6 +1792,7 @@ type KaspaSignTransactionParams = {
1790
1792
  subNetworkID?: string;
1791
1793
  scheme?: string;
1792
1794
  prefix?: string;
1795
+ useTweak?: boolean;
1793
1796
  };
1794
1797
  declare function kaspaSignTransaction(connectId: string, deviceId: string, params: CommonParams & KaspaSignTransactionParams): Response<KaspaSignature[]>;
1795
1798
 
package/dist/index.js CHANGED
@@ -7203,6 +7203,13 @@ var nested$1 = {
7203
7203
  options: {
7204
7204
  "default": "schnorr"
7205
7205
  }
7206
+ },
7207
+ use_tweak: {
7208
+ type: "bool",
7209
+ id: 5,
7210
+ options: {
7211
+ "default": true
7212
+ }
7206
7213
  }
7207
7214
  }
7208
7215
  },
@@ -7250,6 +7257,13 @@ var nested$1 = {
7250
7257
  options: {
7251
7258
  "default": 1
7252
7259
  }
7260
+ },
7261
+ use_tweak: {
7262
+ type: "bool",
7263
+ id: 6,
7264
+ options: {
7265
+ "default": true
7266
+ }
7253
7267
  }
7254
7268
  }
7255
7269
  },
@@ -27040,7 +27054,7 @@ class BaseMethod {
27040
27054
  device: this.device.toMessageObject(),
27041
27055
  }));
27042
27056
  }
27043
- checkFeatureVersionLimit(checkCondition, getVersionRange) {
27057
+ checkFeatureVersionLimit(checkCondition, getVersionRange, options) {
27044
27058
  var _a;
27045
27059
  if (!checkCondition()) {
27046
27060
  return;
@@ -27048,6 +27062,9 @@ class BaseMethod {
27048
27062
  const firmwareVersion = (_a = getDeviceFirmwareVersion(this.device.features)) === null || _a === void 0 ? void 0 : _a.join('.');
27049
27063
  const versionRange = getMethodVersionRange(this.device.features, type => getVersionRange()[type]);
27050
27064
  if (!versionRange) {
27065
+ if (options === null || options === void 0 ? void 0 : options.strictCheckDeviceSupport) {
27066
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceNotSupportMethod, 'Device does not support this method');
27067
+ }
27051
27068
  return;
27052
27069
  }
27053
27070
  if (semver__default["default"].valid(firmwareVersion) && semver__default["default"].lt(firmwareVersion, versionRange.min)) {
@@ -29733,12 +29750,13 @@ const networkConfigMap = {
29733
29750
  kaspa: {
29734
29751
  methodName: 'kaspaGetAddress',
29735
29752
  getParams: (baseParams) => {
29736
- const { path, prefix, showOnOneKey } = baseParams;
29753
+ const { path, prefix, showOnOneKey, useTweak } = baseParams;
29737
29754
  return {
29738
29755
  scheme: 'schnorr',
29739
29756
  prefix,
29740
29757
  path,
29741
29758
  showOnOneKey,
29759
+ useTweak,
29742
29760
  };
29743
29761
  },
29744
29762
  },
@@ -35563,6 +35581,7 @@ class KaspaGetAddress extends BaseMethod {
35563
35581
  { name: 'showOnOneKey', type: 'boolean' },
35564
35582
  { name: 'prefix', type: 'string' },
35565
35583
  { name: 'scheme', type: 'string' },
35584
+ { name: 'useTweak', type: 'boolean' },
35566
35585
  ]);
35567
35586
  const showOnOneKey = (_a = batch.showOnOneKey) !== null && _a !== void 0 ? _a : true;
35568
35587
  this.params.push({
@@ -35570,6 +35589,7 @@ class KaspaGetAddress extends BaseMethod {
35570
35589
  show_display: showOnOneKey,
35571
35590
  prefix: batch.prefix,
35572
35591
  scheme: batch.scheme,
35592
+ use_tweak: batch.useTweak,
35573
35593
  });
35574
35594
  });
35575
35595
  }
@@ -35583,8 +35603,21 @@ class KaspaGetAddress extends BaseMethod {
35583
35603
  },
35584
35604
  };
35585
35605
  }
35606
+ getUseTweakVersionRange() {
35607
+ return {
35608
+ pro: {
35609
+ min: '4.14.0',
35610
+ },
35611
+ model_classic1s: {
35612
+ min: '3.12.0',
35613
+ },
35614
+ };
35615
+ }
35586
35616
  run() {
35587
35617
  return __awaiter(this, void 0, void 0, function* () {
35618
+ this.checkFeatureVersionLimit(() => this.params.some(param => param.use_tweak === false), () => this.getUseTweakVersionRange(), {
35619
+ strictCheckDeviceSupport: true,
35620
+ });
35588
35621
  const responses = [];
35589
35622
  for (let i = 0; i < this.params.length; i++) {
35590
35623
  const param = this.params[i];
@@ -35928,6 +35961,7 @@ class KaspaSignTransaction extends BaseMethod {
35928
35961
  { name: 'lockTime', required: true },
35929
35962
  { name: 'sigOpCount', type: 'number' },
35930
35963
  { name: 'subNetworkID', type: 'string' },
35964
+ { name: 'useTweak', type: 'boolean' },
35931
35965
  ]);
35932
35966
  const inputs = payload.inputs.map(input => {
35933
35967
  var _a;
@@ -35950,7 +35984,7 @@ class KaspaSignTransaction extends BaseMethod {
35950
35984
  return Object.assign(Object.assign({}, output), { scriptVersion: (_a = output.scriptVersion) !== null && _a !== void 0 ? _a : 0 });
35951
35985
  });
35952
35986
  this.params = Object.assign(Object.assign({}, payload), { inputs,
35953
- outputs, scheme: (_a = payload.scheme) !== null && _a !== void 0 ? _a : 'schnorr', prefix: (_b = payload.prefix) !== null && _b !== void 0 ? _b : 'kaspa', sigHashType: (_c = payload.sigHashType) !== null && _c !== void 0 ? _c : SignatureType.SIGHASH_ALL | SignatureType.SIGHASH_FORKID, sigOpCount: (_d = payload.sigOpCount) !== null && _d !== void 0 ? _d : 1, subNetworkID: (_e = payload.subNetworkID) !== null && _e !== void 0 ? _e : utils.bytesToHex(zeroSubnetworkID()) });
35987
+ outputs, scheme: (_a = payload.scheme) !== null && _a !== void 0 ? _a : 'schnorr', prefix: (_b = payload.prefix) !== null && _b !== void 0 ? _b : 'kaspa', sigHashType: (_c = payload.sigHashType) !== null && _c !== void 0 ? _c : SignatureType.SIGHASH_ALL | SignatureType.SIGHASH_FORKID, sigOpCount: (_d = payload.sigOpCount) !== null && _d !== void 0 ? _d : 1, subNetworkID: (_e = payload.subNetworkID) !== null && _e !== void 0 ? _e : utils.bytesToHex(zeroSubnetworkID()), useTweak: payload.useTweak });
35954
35988
  }
35955
35989
  getVersionRange() {
35956
35990
  return {
@@ -35962,6 +35996,16 @@ class KaspaSignTransaction extends BaseMethod {
35962
35996
  },
35963
35997
  };
35964
35998
  }
35999
+ getUseTweakVersionRange() {
36000
+ return {
36001
+ pro: {
36002
+ min: '4.14.0',
36003
+ },
36004
+ model_classic1s: {
36005
+ min: '3.12.0',
36006
+ },
36007
+ };
36008
+ }
35965
36009
  processTxRequest(typedCall, res, index, signature) {
35966
36010
  var _a;
35967
36011
  return __awaiter(this, void 0, void 0, function* () {
@@ -35991,6 +36035,9 @@ class KaspaSignTransaction extends BaseMethod {
35991
36035
  }
35992
36036
  run() {
35993
36037
  return __awaiter(this, void 0, void 0, function* () {
36038
+ this.checkFeatureVersionLimit(() => this.params.useTweak === false, () => this.getUseTweakVersionRange(), {
36039
+ strictCheckDeviceSupport: true,
36040
+ });
35994
36041
  const { raw: rawMessage } = serialize(this.params, 0);
35995
36042
  const input = this.params.inputs[0];
35996
36043
  const { device, params } = this;
@@ -36000,6 +36047,7 @@ class KaspaSignTransaction extends BaseMethod {
36000
36047
  scheme: params.scheme,
36001
36048
  prefix: params.prefix,
36002
36049
  input_count: params.inputs.length,
36050
+ use_tweak: params.useTweak,
36003
36051
  });
36004
36052
  return this.processTxRequest(device.commands.typedCall.bind(device.commands), response, 0, []);
36005
36053
  });
@@ -15,6 +15,7 @@ export type AllNetworkAddressParams = {
15
15
  showOnOneKey?: boolean;
16
16
  includePublicKey?: boolean;
17
17
  group?: string;
18
+ useTweak?: boolean;
18
19
  };
19
20
  type AllNetworkAddressPayload = {
20
21
  address: string;
@@ -1 +1 @@
1
- {"version":3,"file":"allNetworkGetAddress.d.ts","sourceRoot":"","sources":["../../../src/types/api/allNetworkGetAddress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAE1D,MAAM,MAAM,QAAQ,GAChB,KAAK,GAEL,KAAK,GACL,MAAM,GACN,MAAM,GACN,QAAQ,GACR,KAAK,GACL,KAAK,GAEL,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,MAAM,GACN,OAAO,GACP,KAAK,GACL,QAAQ,GACR,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,MAAM,GACN,KAAK,GACL,MAAM,GACN,OAAO,GACP,QAAQ,GACR,KAAK,CAAC;AAEV,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,wBAAwB,GACzB;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IAIb,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IAEE,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACD;IAEE,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,GAAG;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EACJ,wBAAwB,GACxB;QACE,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,GAAG,CAAC;KACb,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,0BAA0B,GAChD,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"allNetworkGetAddress.d.ts","sourceRoot":"","sources":["../../../src/types/api/allNetworkGetAddress.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export type KaspaGetAddressParams = {
8
8
  prefix?: string;
9
9
  scheme?: string;
10
10
  showOnOneKey?: boolean;
11
+ useTweak?: boolean;
11
12
  };
12
13
  export declare function kaspaGetAddress(connectId: string, deviceId: string, params: CommonParams & KaspaGetAddressParams): Response<KaspaAddress>;
13
14
  export declare function kaspaGetAddress(connectId: string, deviceId: string, params: CommonParams & {
@@ -1 +1 @@
1
- {"version":3,"file":"kaspaGetAddress.d.ts","sourceRoot":"","sources":["../../../src/types/api/kaspaGetAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,oBAAoB,CAAC;AAEzB,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,qBAAqB,GAC3C,QAAQ,CAAC,YAAY,CAAC,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG;IAAE,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAAE,GAC1D,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"kaspaGetAddress.d.ts","sourceRoot":"","sources":["../../../src/types/api/kaspaGetAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,oBAAoB,CAAC;AAEzB,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,qBAAqB,GAC3C,QAAQ,CAAC,YAAY,CAAC,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG;IAAE,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAAE,GAC1D,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC"}
@@ -30,6 +30,7 @@ export type KaspaSignTransactionParams = {
30
30
  subNetworkID?: string;
31
31
  scheme?: string;
32
32
  prefix?: string;
33
+ useTweak?: boolean;
33
34
  };
34
35
  export declare function kaspaSignTransaction(connectId: string, deviceId: string, params: CommonParams & KaspaSignTransactionParams): Response<KaspaSignature[]>;
35
36
  //# sourceMappingURL=kaspaSignTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kaspaSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/types/api/kaspaSignTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,0BAA0B,GAChD,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"kaspaSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/types/api/kaspaSignTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,0BAA0B,GAChD,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "1.0.28",
3
+ "version": "1.0.30",
4
4
  "description": "> TODO: description",
5
5
  "author": "OneKey",
6
6
  "homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
@@ -25,8 +25,8 @@
25
25
  "url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
26
26
  },
27
27
  "dependencies": {
28
- "@onekeyfe/hd-shared": "^1.0.28",
29
- "@onekeyfe/hd-transport": "^1.0.28",
28
+ "@onekeyfe/hd-shared": "^1.0.30",
29
+ "@onekeyfe/hd-transport": "^1.0.30",
30
30
  "axios": "^0.27.2",
31
31
  "bignumber.js": "^9.0.2",
32
32
  "bytebuffer": "^5.0.1",
@@ -46,5 +46,5 @@
46
46
  "@types/web-bluetooth": "^0.0.21",
47
47
  "ripple-keypairs": "^1.1.4"
48
48
  },
49
- "gitHead": "e59928917c30423a5d13a502c13b5197d2f55246"
49
+ "gitHead": "e7d0b547c42856f3bf4801ede2cadb593e1cbf8e"
50
50
  }
@@ -1,5 +1,9 @@
1
1
  import semver from 'semver';
2
- import { createNeedUpgradeFirmwareHardwareError } from '@onekeyfe/hd-shared';
2
+ import {
3
+ createNeedUpgradeFirmwareHardwareError,
4
+ ERRORS,
5
+ HardwareErrorCode,
6
+ } from '@onekeyfe/hd-shared';
3
7
  import { supportInputPinOnSoftware, supportModifyHomescreen } from '../utils/deviceFeaturesUtils';
4
8
  import { createDeviceMessage } from '../events/device';
5
9
  import { UI_REQUEST } from '../constants/ui-request';
@@ -152,7 +156,10 @@ export abstract class BaseMethod<Params = undefined> {
152
156
 
153
157
  protected checkFeatureVersionLimit(
154
158
  checkCondition: () => boolean,
155
- getVersionRange: () => DeviceFirmwareRange
159
+ getVersionRange: () => DeviceFirmwareRange,
160
+ options?: {
161
+ strictCheckDeviceSupport?: boolean;
162
+ }
156
163
  ) {
157
164
  if (!checkCondition()) {
158
165
  return;
@@ -165,6 +172,12 @@ export abstract class BaseMethod<Params = undefined> {
165
172
  );
166
173
 
167
174
  if (!versionRange) {
175
+ if (options?.strictCheckDeviceSupport) {
176
+ throw ERRORS.TypedError(
177
+ HardwareErrorCode.DeviceNotSupportMethod,
178
+ 'Device does not support this method'
179
+ );
180
+ }
168
181
  // Equipment that does not need to be repaired
169
182
  return;
170
183
  }
@@ -179,12 +179,13 @@ const networkConfigMap: NetworkConfigMap = {
179
179
  kaspa: {
180
180
  methodName: 'kaspaGetAddress',
181
181
  getParams: (baseParams: AllNetworkAddressParams) => {
182
- const { path, prefix, showOnOneKey } = baseParams;
182
+ const { path, prefix, showOnOneKey, useTweak } = baseParams;
183
183
  return {
184
184
  scheme: 'schnorr',
185
185
  prefix,
186
186
  path,
187
187
  showOnOneKey,
188
+ useTweak,
188
189
  };
189
190
  },
190
191
  },
@@ -28,6 +28,7 @@ export default class KaspaGetAddress extends BaseMethod<HardwareKaspaGetAddress[
28
28
  { name: 'showOnOneKey', type: 'boolean' },
29
29
  { name: 'prefix', type: 'string' },
30
30
  { name: 'scheme', type: 'string' },
31
+ { name: 'useTweak', type: 'boolean' },
31
32
  ]);
32
33
 
33
34
  const showOnOneKey = batch.showOnOneKey ?? true;
@@ -37,6 +38,7 @@ export default class KaspaGetAddress extends BaseMethod<HardwareKaspaGetAddress[
37
38
  show_display: showOnOneKey,
38
39
  prefix: batch.prefix,
39
40
  scheme: batch.scheme,
41
+ use_tweak: batch.useTweak,
40
42
  });
41
43
  });
42
44
  }
@@ -52,12 +54,31 @@ export default class KaspaGetAddress extends BaseMethod<HardwareKaspaGetAddress[
52
54
  };
53
55
  }
54
56
 
57
+ getUseTweakVersionRange() {
58
+ return {
59
+ pro: {
60
+ min: '4.14.0',
61
+ },
62
+ model_classic1s: {
63
+ min: '3.12.0',
64
+ },
65
+ };
66
+ }
67
+
55
68
  async run() {
69
+ this.checkFeatureVersionLimit(
70
+ // exists use_tweak is false check firmware version
71
+ () => this.params.some(param => param.use_tweak === false),
72
+ () => this.getUseTweakVersionRange(),
73
+ {
74
+ strictCheckDeviceSupport: true,
75
+ }
76
+ );
77
+
56
78
  const responses: KaspaAddress[] = [];
57
79
 
58
80
  for (let i = 0; i < this.params.length; i++) {
59
81
  const param = this.params[i];
60
-
61
82
  const res = await this.device.commands.typedCall('KaspaGetAddress', 'KaspaAddress', {
62
83
  ...param,
63
84
  });
@@ -32,6 +32,7 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
32
32
  { name: 'lockTime', required: true },
33
33
  { name: 'sigOpCount', type: 'number' },
34
34
  { name: 'subNetworkID', type: 'string' },
35
+ { name: 'useTweak', type: 'boolean' },
35
36
  ]);
36
37
 
37
38
  // if(!payload.inputs.length) throw
@@ -76,6 +77,7 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
76
77
  sigHashType: payload.sigHashType ?? SignatureType.SIGHASH_ALL | SignatureType.SIGHASH_FORKID,
77
78
  sigOpCount: payload.sigOpCount ?? 1,
78
79
  subNetworkID: payload.subNetworkID ?? bytesToHex(zeroSubnetworkID()),
80
+ useTweak: payload.useTweak,
79
81
  };
80
82
  }
81
83
 
@@ -90,6 +92,17 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
90
92
  };
91
93
  }
92
94
 
95
+ getUseTweakVersionRange() {
96
+ return {
97
+ pro: {
98
+ min: '4.14.0',
99
+ },
100
+ model_classic1s: {
101
+ min: '3.12.0',
102
+ },
103
+ };
104
+ }
105
+
93
106
  async processTxRequest(
94
107
  typedCall: TypedCall,
95
108
  res: TypedResponseMessage<'KaspaTxInputRequest'> | TypedResponseMessage<'KaspaSignedTx'>,
@@ -134,6 +147,15 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
134
147
  }
135
148
 
136
149
  async run() {
150
+ this.checkFeatureVersionLimit(
151
+ // exists use_tweak is false check firmware version
152
+ () => this.params.useTweak === false,
153
+ () => this.getUseTweakVersionRange(),
154
+ {
155
+ strictCheckDeviceSupport: true,
156
+ }
157
+ );
158
+
137
159
  const { raw: rawMessage } = serialize(this.params, 0);
138
160
  const input = this.params.inputs[0];
139
161
 
@@ -149,6 +171,7 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
149
171
  scheme: params.scheme,
150
172
  prefix: params.prefix,
151
173
  input_count: params.inputs.length,
174
+ use_tweak: params.useTweak,
152
175
  }
153
176
  );
154
177
 
@@ -5888,6 +5888,13 @@
5888
5888
  "options": {
5889
5889
  "default": "schnorr"
5890
5890
  }
5891
+ },
5892
+ "use_tweak": {
5893
+ "type": "bool",
5894
+ "id": 5,
5895
+ "options": {
5896
+ "default": true
5897
+ }
5891
5898
  }
5892
5899
  }
5893
5900
  },
@@ -5935,6 +5942,13 @@
5935
5942
  "options": {
5936
5943
  "default": 1
5937
5944
  }
5945
+ },
5946
+ "use_tweak": {
5947
+ "type": "bool",
5948
+ "id": 6,
5949
+ "options": {
5950
+ "default": true
5951
+ }
5938
5952
  }
5939
5953
  }
5940
5954
  },
@@ -51,6 +51,7 @@ export type AllNetworkAddressParams = {
51
51
 
52
52
  includePublicKey?: boolean;
53
53
  group?: string;
54
+ useTweak?: boolean;
54
55
  };
55
56
 
56
57
  type AllNetworkAddressPayload =
@@ -10,6 +10,7 @@ export type KaspaGetAddressParams = {
10
10
  prefix?: string;
11
11
  scheme?: string;
12
12
  showOnOneKey?: boolean;
13
+ useTweak?: boolean;
13
14
  };
14
15
 
15
16
  export declare function kaspaGetAddress(
@@ -34,6 +34,7 @@ export type KaspaSignTransactionParams = {
34
34
  subNetworkID?: string;
35
35
  scheme?: string;
36
36
  prefix?: string;
37
+ useTweak?: boolean; // default is true
37
38
  };
38
39
 
39
40
  export declare function kaspaSignTransaction(