@onekeyfe/hd-core 1.0.20 → 1.0.21

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.
package/dist/index.js CHANGED
@@ -1467,7 +1467,6 @@ var nested$1 = {
1467
1467
  BenfenAddress: {
1468
1468
  fields: {
1469
1469
  address: {
1470
- rule: "required",
1471
1470
  type: "string",
1472
1471
  id: 1
1473
1472
  }
@@ -3139,7 +3138,18 @@ var nested$1 = {
3139
3138
  STAKE_REGISTRATION: 0,
3140
3139
  STAKE_DEREGISTRATION: 1,
3141
3140
  STAKE_DELEGATION: 2,
3142
- STAKE_POOL_REGISTRATION: 3
3141
+ STAKE_POOL_REGISTRATION: 3,
3142
+ STAKE_REGISTRATION_CONWAY: 7,
3143
+ STAKE_DEREGISTRATION_CONWAY: 8,
3144
+ VOTE_DELEGATION: 9
3145
+ }
3146
+ },
3147
+ CardanoDRepType: {
3148
+ values: {
3149
+ KEY_HASH: 0,
3150
+ SCRIPT_HASH: 1,
3151
+ ABSTAIN: 2,
3152
+ NO_CONFIDENCE: 3
3143
3153
  }
3144
3154
  },
3145
3155
  CardanoPoolRelayType: {
@@ -3152,10 +3162,10 @@ var nested$1 = {
3152
3162
  CardanoTxAuxiliaryDataSupplementType: {
3153
3163
  values: {
3154
3164
  NONE: 0,
3155
- GOVERNANCE_REGISTRATION_SIGNATURE: 1
3165
+ CVOTE_REGISTRATION_SIGNATURE: 1
3156
3166
  }
3157
3167
  },
3158
- CardanoGovernanceRegistrationFormat: {
3168
+ CardanoCVoteRegistrationFormat: {
3159
3169
  values: {
3160
3170
  CIP15: 0,
3161
3171
  CIP36: 1
@@ -3329,6 +3339,10 @@ var nested$1 = {
3329
3339
  rule: "required",
3330
3340
  type: "CardanoDerivationType",
3331
3341
  id: 6
3342
+ },
3343
+ chunkify: {
3344
+ type: "bool",
3345
+ id: 7
3332
3346
  }
3333
3347
  }
3334
3348
  },
@@ -3484,6 +3498,17 @@ var nested$1 = {
3484
3498
  options: {
3485
3499
  "default": 0
3486
3500
  }
3501
+ },
3502
+ chunkify: {
3503
+ type: "bool",
3504
+ id: 22
3505
+ },
3506
+ tag_cbor_sets: {
3507
+ type: "bool",
3508
+ id: 23,
3509
+ options: {
3510
+ "default": false
3511
+ }
3487
3512
  }
3488
3513
  }
3489
3514
  },
@@ -3705,6 +3730,23 @@ var nested$1 = {
3705
3730
  }
3706
3731
  }
3707
3732
  },
3733
+ CardanoDRep: {
3734
+ fields: {
3735
+ type: {
3736
+ rule: "required",
3737
+ type: "CardanoDRepType",
3738
+ id: 1
3739
+ },
3740
+ key_hash: {
3741
+ type: "bytes",
3742
+ id: 2
3743
+ },
3744
+ script_hash: {
3745
+ type: "bytes",
3746
+ id: 3
3747
+ }
3748
+ }
3749
+ },
3708
3750
  CardanoTxCertificate: {
3709
3751
  fields: {
3710
3752
  type: {
@@ -3735,6 +3777,14 @@ var nested$1 = {
3735
3777
  key_hash: {
3736
3778
  type: "bytes",
3737
3779
  id: 6
3780
+ },
3781
+ deposit: {
3782
+ type: "uint64",
3783
+ id: 7
3784
+ },
3785
+ drep: {
3786
+ type: "CardanoDRep",
3787
+ id: 8
3738
3788
  }
3739
3789
  }
3740
3790
  },
@@ -3763,9 +3813,9 @@ var nested$1 = {
3763
3813
  }
3764
3814
  }
3765
3815
  },
3766
- CardanoGovernanceRegistrationDelegation: {
3816
+ CardanoCVoteRegistrationDelegation: {
3767
3817
  fields: {
3768
- voting_public_key: {
3818
+ vote_public_key: {
3769
3819
  rule: "required",
3770
3820
  type: "bytes",
3771
3821
  id: 1
@@ -3777,9 +3827,9 @@ var nested$1 = {
3777
3827
  }
3778
3828
  }
3779
3829
  },
3780
- CardanoGovernanceRegistrationParametersType: {
3830
+ CardanoCVoteRegistrationParametersType: {
3781
3831
  fields: {
3782
- voting_public_key: {
3832
+ vote_public_key: {
3783
3833
  type: "bytes",
3784
3834
  id: 1
3785
3835
  },
@@ -3791,8 +3841,7 @@ var nested$1 = {
3791
3841
  packed: false
3792
3842
  }
3793
3843
  },
3794
- reward_address_parameters: {
3795
- rule: "required",
3844
+ payment_address_parameters: {
3796
3845
  type: "CardanoAddressParametersType",
3797
3846
  id: 3
3798
3847
  },
@@ -3802,7 +3851,7 @@ var nested$1 = {
3802
3851
  id: 4
3803
3852
  },
3804
3853
  format: {
3805
- type: "CardanoGovernanceRegistrationFormat",
3854
+ type: "CardanoCVoteRegistrationFormat",
3806
3855
  id: 5,
3807
3856
  options: {
3808
3857
  "default": "CIP15"
@@ -3810,19 +3859,23 @@ var nested$1 = {
3810
3859
  },
3811
3860
  delegations: {
3812
3861
  rule: "repeated",
3813
- type: "CardanoGovernanceRegistrationDelegation",
3862
+ type: "CardanoCVoteRegistrationDelegation",
3814
3863
  id: 6
3815
3864
  },
3816
3865
  voting_purpose: {
3817
3866
  type: "uint64",
3818
3867
  id: 7
3868
+ },
3869
+ payment_address: {
3870
+ type: "string",
3871
+ id: 8
3819
3872
  }
3820
3873
  }
3821
3874
  },
3822
3875
  CardanoTxAuxiliaryData: {
3823
3876
  fields: {
3824
- governance_registration_parameters: {
3825
- type: "CardanoGovernanceRegistrationParametersType",
3877
+ cvote_registration_parameters: {
3878
+ type: "CardanoCVoteRegistrationParametersType",
3826
3879
  id: 1
3827
3880
  },
3828
3881
  hash: {
@@ -3899,7 +3952,7 @@ var nested$1 = {
3899
3952
  type: "bytes",
3900
3953
  id: 2
3901
3954
  },
3902
- governance_signature: {
3955
+ cvote_registration_signature: {
3903
3956
  type: "bytes",
3904
3957
  id: 3
3905
3958
  }
@@ -28013,19 +28066,29 @@ class FirmwareUpdateV2 extends BaseMethod {
28013
28066
  }
28014
28067
  }
28015
28068
  checkDeviceToBootloader(connectId) {
28069
+ var _a, _b;
28016
28070
  this.checkPromise = hdShared.createDeferred();
28017
28071
  const env = DataManager.getSettings('env');
28018
28072
  const isBleReconnect = connectId && DataManager.isBleConnect(env);
28019
28073
  Log$3.log('FirmwareUpdateV2 [checkDeviceToBootloader] isBleReconnect: ', isBleReconnect);
28074
+ let isFirstCheck = true;
28075
+ const isTouchOrProDevice = getDeviceType((_a = this === null || this === void 0 ? void 0 : this.device) === null || _a === void 0 ? void 0 : _a.features) === 'touch' ||
28076
+ getDeviceType((_b = this === null || this === void 0 ? void 0 : this.device) === null || _b === void 0 ? void 0 : _b.features) === 'pro';
28020
28077
  const intervalTimer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
28021
- var _a, _b, _c, _d, _e, _f, _g, _h;
28078
+ var _c, _d, _e, _f, _g, _h, _j, _k;
28079
+ Log$3.log('FirmwareUpdateV2 [checkDeviceToBootloader] isFirstCheck: ', isFirstCheck);
28080
+ if (isTouchOrProDevice && isFirstCheck) {
28081
+ isFirstCheck = false;
28082
+ Log$3.log('FirmwareUpdateV2 [checkDeviceToBootloader] wait 3000ms');
28083
+ yield wait(3000);
28084
+ }
28022
28085
  if (isBleReconnect) {
28023
28086
  try {
28024
- yield ((_a = this.device.deviceConnector) === null || _a === void 0 ? void 0 : _a.acquire(this.device.originalDescriptor.id, null, true));
28087
+ yield ((_c = this.device.deviceConnector) === null || _c === void 0 ? void 0 : _c.acquire(this.device.originalDescriptor.id, null, true));
28025
28088
  yield this.device.initialize();
28026
- if ((_b = this.device.features) === null || _b === void 0 ? void 0 : _b.bootloader_mode) {
28089
+ if ((_d = this.device.features) === null || _d === void 0 ? void 0 : _d.bootloader_mode) {
28027
28090
  clearInterval(intervalTimer);
28028
- (_c = this.checkPromise) === null || _c === void 0 ? void 0 : _c.resolve(true);
28091
+ (_e = this.checkPromise) === null || _e === void 0 ? void 0 : _e.resolve(true);
28029
28092
  }
28030
28093
  }
28031
28094
  catch (e) {
@@ -28033,14 +28096,14 @@ class FirmwareUpdateV2 extends BaseMethod {
28033
28096
  }
28034
28097
  }
28035
28098
  else {
28036
- const deviceDiff = yield ((_d = this.device.deviceConnector) === null || _d === void 0 ? void 0 : _d.enumerate());
28037
- const devicesDescriptor = (_e = deviceDiff === null || deviceDiff === void 0 ? void 0 : deviceDiff.descriptors) !== null && _e !== void 0 ? _e : [];
28099
+ const deviceDiff = yield ((_f = this.device.deviceConnector) === null || _f === void 0 ? void 0 : _f.enumerate());
28100
+ const devicesDescriptor = (_g = deviceDiff === null || deviceDiff === void 0 ? void 0 : deviceDiff.descriptors) !== null && _g !== void 0 ? _g : [];
28038
28101
  const { deviceList } = yield DevicePool.getDevices(devicesDescriptor, connectId);
28039
- if (deviceList.length === 1 && ((_g = (_f = deviceList[0]) === null || _f === void 0 ? void 0 : _f.features) === null || _g === void 0 ? void 0 : _g.bootloader_mode)) {
28102
+ if (deviceList.length === 1 && ((_j = (_h = deviceList[0]) === null || _h === void 0 ? void 0 : _h.features) === null || _j === void 0 ? void 0 : _j.bootloader_mode)) {
28040
28103
  this.device.updateFromCache(deviceList[0]);
28041
28104
  this.device.commands.disposed = false;
28042
28105
  clearInterval(intervalTimer);
28043
- (_h = this.checkPromise) === null || _h === void 0 ? void 0 : _h.resolve(true);
28106
+ (_k = this.checkPromise) === null || _k === void 0 ? void 0 : _k.resolve(true);
28044
28107
  }
28045
28108
  }
28046
28109
  }), isBleReconnect ? 3000 : 2000);
@@ -33225,6 +33288,27 @@ const transformPoolParameters = (poolParameters) => {
33225
33288
  })),
33226
33289
  };
33227
33290
  };
33291
+ const transformDRep = (dRep) => {
33292
+ if (!dRep) {
33293
+ return undefined;
33294
+ }
33295
+ validateParams(dRep, [
33296
+ { name: 'type', type: 'number', required: true },
33297
+ { name: 'keyHash', type: 'string' },
33298
+ { name: 'scriptHash', type: 'string' },
33299
+ ]);
33300
+ if (dRep.type === hdTransport.Messages.CardanoDRepType.KEY_HASH && !dRep.keyHash) {
33301
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, 'key_hash must be supplied for key_hash type');
33302
+ }
33303
+ if (dRep.type === hdTransport.Messages.CardanoDRepType.SCRIPT_HASH && !dRep.scriptHash) {
33304
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, 'script_hash must be supplied for script_hash type');
33305
+ }
33306
+ return {
33307
+ type: dRep.type,
33308
+ key_hash: dRep.keyHash,
33309
+ script_hash: dRep.scriptHash,
33310
+ };
33311
+ };
33228
33312
  const transformCertificate = (certificate) => {
33229
33313
  const paramsToValidate = [
33230
33314
  { name: 'type', type: 'number', required: true },
@@ -33239,8 +33323,16 @@ const transformCertificate = (certificate) => {
33239
33323
  if (certificate.type === hdTransport.Messages.CardanoCertificateType.STAKE_POOL_REGISTRATION) {
33240
33324
  paramsToValidate.push({ name: 'poolParameters', type: 'object', required: true });
33241
33325
  }
33326
+ if (certificate.type === hdTransport.Messages.CardanoCertificateType.STAKE_REGISTRATION_CONWAY ||
33327
+ certificate.type === hdTransport.Messages.CardanoCertificateType.STAKE_DEREGISTRATION_CONWAY) {
33328
+ paramsToValidate.push({ name: 'deposit', required: true });
33329
+ }
33330
+ if (certificate.type === hdTransport.Messages.CardanoCertificateType.VOTE_DELEGATION) {
33331
+ paramsToValidate.push({ name: 'dRep', type: 'object', required: true });
33332
+ }
33242
33333
  validateParams(certificate, paramsToValidate);
33243
33334
  const { poolParameters, poolOwners, poolRelays } = transformPoolParameters(certificate.poolParameters);
33335
+ const dRep = transformDRep(certificate.dRep);
33244
33336
  return {
33245
33337
  certificate: {
33246
33338
  type: certificate.type,
@@ -33249,6 +33341,8 @@ const transformCertificate = (certificate) => {
33249
33341
  key_hash: certificate.keyHash,
33250
33342
  pool: certificate.pool,
33251
33343
  pool_parameters: poolParameters,
33344
+ deposit: certificate.deposit,
33345
+ drep: dRep,
33252
33346
  },
33253
33347
  poolOwners,
33254
33348
  poolRelays,
@@ -33257,37 +33351,56 @@ const transformCertificate = (certificate) => {
33257
33351
 
33258
33352
  const MAX_DELEGATION_COUNT = 32;
33259
33353
  const transformDelegation = (delegation) => {
33354
+ if (delegation.votingPublicKey) {
33355
+ console.warn('Please use votePublicKey instead of votingPublicKey.');
33356
+ delegation.votePublicKey = delegation.votingPublicKey;
33357
+ }
33260
33358
  validateParams(delegation, [
33261
33359
  { name: 'votingPublicKey', type: 'string', required: true },
33262
33360
  { name: 'weight', type: 'uint', required: true },
33263
33361
  ]);
33264
33362
  return {
33265
- voting_public_key: delegation.votingPublicKey,
33363
+ vote_public_key: delegation.votePublicKey,
33266
33364
  weight: delegation.weight,
33267
33365
  };
33268
33366
  };
33269
- const transformGovernanceRegistrationParameters = (governanceRegistrationParameters) => {
33270
- validateParams(governanceRegistrationParameters, [
33271
- { name: 'votingPublicKey', type: 'string' },
33367
+ const transformCvoteRegistrationParameters = (cVoteRegistrationParameters) => {
33368
+ var _a;
33369
+ if (cVoteRegistrationParameters.votingPublicKey) {
33370
+ console.warn('Please use votePublicKey instead of votingPublicKey.');
33371
+ cVoteRegistrationParameters.votePublicKey = cVoteRegistrationParameters.votingPublicKey;
33372
+ }
33373
+ if (cVoteRegistrationParameters.rewardAddressParameters) {
33374
+ console.warn('Please use paymentAddressParameters instead of rewardAddressParameters.');
33375
+ cVoteRegistrationParameters.paymentAddressParameters =
33376
+ cVoteRegistrationParameters.rewardAddressParameters;
33377
+ }
33378
+ validateParams(cVoteRegistrationParameters, [
33379
+ { name: 'votePublicKey', type: 'string' },
33272
33380
  { name: 'stakingPath', required: true },
33273
33381
  { name: 'nonce', type: 'uint', required: true },
33274
33382
  { name: 'format', type: 'number' },
33275
33383
  { name: 'delegations', type: 'array', allowEmpty: true },
33276
33384
  { name: 'votingPurpose', type: 'uint' },
33385
+ { name: 'paymentAddress', type: 'string' },
33277
33386
  ]);
33278
- validateAddressParameters(governanceRegistrationParameters.rewardAddressParameters);
33279
- const { delegations } = governanceRegistrationParameters;
33387
+ const { paymentAddressParameters } = cVoteRegistrationParameters;
33388
+ validateAddressParameters(paymentAddressParameters);
33389
+ const { delegations } = cVoteRegistrationParameters;
33280
33390
  if (delegations && delegations.length > MAX_DELEGATION_COUNT) {
33281
33391
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, `At most ${MAX_DELEGATION_COUNT} delegations are allowed in a governance registration`);
33282
33392
  }
33283
33393
  return {
33284
- voting_public_key: governanceRegistrationParameters.votingPublicKey,
33285
- staking_path: validatePath(governanceRegistrationParameters.stakingPath, 3),
33286
- reward_address_parameters: addressParametersToProto(governanceRegistrationParameters.rewardAddressParameters),
33287
- nonce: governanceRegistrationParameters.nonce,
33288
- format: governanceRegistrationParameters.format,
33289
- delegations: delegations === null || delegations === void 0 ? void 0 : delegations.map(transformDelegation),
33290
- voting_purpose: governanceRegistrationParameters.votingPurpose,
33394
+ vote_public_key: cVoteRegistrationParameters.votePublicKey,
33395
+ staking_path: validatePath(cVoteRegistrationParameters.stakingPath, 3),
33396
+ payment_address_parameters: paymentAddressParameters
33397
+ ? addressParametersToProto(paymentAddressParameters)
33398
+ : undefined,
33399
+ nonce: cVoteRegistrationParameters.nonce,
33400
+ format: cVoteRegistrationParameters.format,
33401
+ delegations: (_a = delegations === null || delegations === void 0 ? void 0 : delegations.map(transformDelegation)) !== null && _a !== void 0 ? _a : [],
33402
+ voting_purpose: cVoteRegistrationParameters.votingPurpose,
33403
+ payment_address: cVoteRegistrationParameters.paymentAddress,
33291
33404
  };
33292
33405
  };
33293
33406
  const transformAuxiliaryData = (auxiliaryData) => {
@@ -33297,21 +33410,21 @@ const transformAuxiliaryData = (auxiliaryData) => {
33297
33410
  type: 'string',
33298
33411
  },
33299
33412
  ]);
33300
- let governanceRegistrationParameters;
33301
- if (auxiliaryData.governanceRegistrationParameters) {
33302
- governanceRegistrationParameters = transformGovernanceRegistrationParameters(auxiliaryData.governanceRegistrationParameters);
33413
+ let cVoteRegistrationParameters;
33414
+ if (auxiliaryData.cVoteRegistrationParameters) {
33415
+ cVoteRegistrationParameters = transformCvoteRegistrationParameters(auxiliaryData.cVoteRegistrationParameters);
33303
33416
  }
33304
33417
  return {
33305
33418
  hash: auxiliaryData.hash,
33306
- governance_registration_parameters: governanceRegistrationParameters,
33419
+ cvote_registration_parameters: cVoteRegistrationParameters,
33307
33420
  };
33308
33421
  };
33309
33422
  const modifyAuxiliaryDataForBackwardsCompatibility = (auxiliary_data) => {
33310
- const { governance_registration_parameters } = auxiliary_data;
33311
- if (governance_registration_parameters) {
33312
- governance_registration_parameters.reward_address_parameters =
33313
- modifyAddressParametersForBackwardsCompatibility(governance_registration_parameters.reward_address_parameters);
33314
- return Object.assign(Object.assign({}, auxiliary_data), { governance_registration_parameters });
33423
+ const { cvote_registration_parameters } = auxiliary_data;
33424
+ if (cvote_registration_parameters === null || cvote_registration_parameters === void 0 ? void 0 : cvote_registration_parameters.payment_address_parameters) {
33425
+ cvote_registration_parameters.payment_address_parameters =
33426
+ modifyAddressParametersForBackwardsCompatibility(cvote_registration_parameters.payment_address_parameters);
33427
+ return Object.assign(Object.assign({}, auxiliary_data), { cvote_registration_parameters });
33315
33428
  }
33316
33429
  return auxiliary_data;
33317
33430
  };
@@ -33360,6 +33473,55 @@ const gatherWitnessPaths = (inputsWithPath, certificatesWithPoolOwnersAndRelays,
33360
33473
  };
33361
33474
 
33362
33475
  class CardanoSignTransaction extends BaseMethod {
33476
+ constructor() {
33477
+ super(...arguments);
33478
+ this.hasConway = () => {
33479
+ var _a, _b;
33480
+ const payload = this.payload;
33481
+ if (payload.tagCborSets === true) {
33482
+ return true;
33483
+ }
33484
+ if (((_a = payload.auxiliaryData) === null || _a === void 0 ? void 0 : _a.cVoteRegistrationParameters) != null) {
33485
+ return true;
33486
+ }
33487
+ for (const certificate of (_b = payload.certificates) !== null && _b !== void 0 ? _b : []) {
33488
+ if (certificate.dRep != null) {
33489
+ return true;
33490
+ }
33491
+ if (certificate.deposit != null) {
33492
+ return true;
33493
+ }
33494
+ if (certificate.type === hdTransport.Messages.CardanoCertificateType.STAKE_REGISTRATION_CONWAY ||
33495
+ certificate.type === hdTransport.Messages.CardanoCertificateType.STAKE_DEREGISTRATION_CONWAY ||
33496
+ certificate.type === hdTransport.Messages.CardanoCertificateType.VOTE_DELEGATION) {
33497
+ return true;
33498
+ }
33499
+ }
33500
+ return false;
33501
+ };
33502
+ this.supportConwayVersionRange = () => ({
33503
+ pro: {
33504
+ min: '4.12.0',
33505
+ },
33506
+ touch: {
33507
+ min: '4.10.0',
33508
+ },
33509
+ });
33510
+ this.checkSupportConway = () => {
33511
+ var _a;
33512
+ if (!this.hasConway()) {
33513
+ return;
33514
+ }
33515
+ const firmwareVersion = (_a = getDeviceFirmwareVersion(this.device.features)) === null || _a === void 0 ? void 0 : _a.join('.');
33516
+ const versionRange = getMethodVersionRange(this.device.features, type => this.supportConwayVersionRange()[type]);
33517
+ if (!versionRange) {
33518
+ return;
33519
+ }
33520
+ if (!semver__default["default"].valid(firmwareVersion) || semver__default["default"].lt(firmwareVersion, versionRange.min)) {
33521
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodNeedUpgradeFirmware, `Device firmware version is too low, please update to ${versionRange.min}`, { current: firmwareVersion, require: versionRange.min });
33522
+ }
33523
+ };
33524
+ }
33363
33525
  getVersionRange() {
33364
33526
  return {
33365
33527
  model_mini: {
@@ -33376,6 +33538,11 @@ class CardanoSignTransaction extends BaseMethod {
33376
33538
  this.notAllowDeviceMode = [...this.notAllowDeviceMode, UI_REQUEST.INITIALIZE];
33377
33539
  this.hasBundle = !!((_a = this.payload) === null || _a === void 0 ? void 0 : _a.bundle);
33378
33540
  const { payload } = this;
33541
+ if (payload.auxiliaryData && payload.auxiliaryData.governanceRegistrationParameters) {
33542
+ console.warn('Please use cVoteRegistrationParameters instead of governanceRegistrationParameters.');
33543
+ payload.auxiliaryData.cVoteRegistrationParameters =
33544
+ payload.auxiliaryData.governanceRegistrationParameters;
33545
+ }
33379
33546
  validateParams(payload, [
33380
33547
  { name: 'signingMode', type: 'number', required: true },
33381
33548
  { name: 'inputs', type: 'array', required: true },
@@ -33396,6 +33563,8 @@ class CardanoSignTransaction extends BaseMethod {
33396
33563
  { name: 'additionalWitnessRequests', type: 'array', allowEmpty: true },
33397
33564
  { name: 'derivationType', type: 'number' },
33398
33565
  { name: 'includeNetworkId', type: 'boolean' },
33566
+ { name: 'chunkify', type: 'boolean' },
33567
+ { name: 'tagCborSets', type: 'boolean' },
33399
33568
  ]);
33400
33569
  const inputsWithPath = payload.inputs.map(transformInput);
33401
33570
  const outputsWithData = payload.outputs.map(transformOutput);
@@ -33477,6 +33646,8 @@ class CardanoSignTransaction extends BaseMethod {
33477
33646
  ? payload.derivationType
33478
33647
  : hdTransport.Messages.CardanoDerivationType.ICARUS,
33479
33648
  includeNetworkId: payload.includeNetworkId,
33649
+ chunkify: payload.chunkify,
33650
+ tagCborSets: payload.tagCborSets,
33480
33651
  };
33481
33652
  }
33482
33653
  signTx() {
@@ -33505,6 +33676,8 @@ class CardanoSignTransaction extends BaseMethod {
33505
33676
  reference_inputs_count: this.params.referenceInputs.length,
33506
33677
  derivation_type: this.params.derivationType,
33507
33678
  include_network_id: this.params.includeNetworkId,
33679
+ chunkify: this.params.chunkify,
33680
+ tag_cbor_sets: this.params.tagCborSets,
33508
33681
  };
33509
33682
  yield typedCall('CardanoSignTxInit', 'CardanoTxItemAck', signTxInitMessage);
33510
33683
  for (const { input } of this.params.inputsWithPath) {
@@ -33538,8 +33711,9 @@ class CardanoSignTransaction extends BaseMethod {
33538
33711
  auxiliaryDataSupplement = {
33539
33712
  type: auxiliaryDataType,
33540
33713
  auxiliaryDataHash: message.auxiliary_data_hash,
33541
- governanceSignature: message.governance_signature,
33542
- catalystSignature: message.governance_signature,
33714
+ cVoteRegistrationSignature: message.cvote_registration_signature,
33715
+ catalystSignature: message.cvote_registration_signature,
33716
+ governanceSignature: message.cvote_registration_signature,
33543
33717
  };
33544
33718
  }
33545
33719
  yield typedCall('CardanoTxHostAck', 'CardanoTxItemAck');
@@ -33588,6 +33762,7 @@ class CardanoSignTransaction extends BaseMethod {
33588
33762
  });
33589
33763
  }
33590
33764
  run() {
33765
+ this.checkSupportConway();
33591
33766
  return this.signTx();
33592
33767
  }
33593
33768
  }
@@ -35705,7 +35880,7 @@ class BenfenGetAddress extends BaseMethod {
35705
35880
  const publicKey = publicKeyRes.message.public_keys[i];
35706
35881
  let address;
35707
35882
  if (this.shouldConfirm) {
35708
- const addressRes = yield this.device.commands.typedCall('BenfenGetAddress', 'Address', param);
35883
+ const addressRes = yield this.device.commands.typedCall('BenfenGetAddress', 'BenfenAddress', param);
35709
35884
  address = addressRes.message.address;
35710
35885
  }
35711
35886
  else {
@@ -35724,7 +35899,7 @@ class BenfenGetAddress extends BaseMethod {
35724
35899
  }
35725
35900
  else {
35726
35901
  responses = yield Promise.all(this.params.map((param) => __awaiter(this, void 0, void 0, function* () {
35727
- const res = yield this.device.commands.typedCall('BenfenGetAddress', 'Address', param);
35902
+ const res = yield this.device.commands.typedCall('BenfenGetAddress', 'BenfenAddress', param);
35728
35903
  const result = {
35729
35904
  path: serializedPath(param.address_n),
35730
35905
  address: hex2BfcAddress(res.message.address),
@@ -1,3 +1,4 @@
1
+ import type { UintType } from '@onekeyfe/hd-transport';
1
2
  import type { PROTO } from '../../constants';
2
3
  export interface CardanoAddressParameters {
3
4
  addressType: PROTO.CardanoAddressType;
@@ -26,6 +27,11 @@ export type AssetGroupWithTokens = {
26
27
  policyId: string;
27
28
  tokens: PROTO.CardanoToken[];
28
29
  };
30
+ export interface CardanoDRep {
31
+ type: PROTO.CardanoDRepType;
32
+ keyHash?: string;
33
+ scriptHash?: string;
34
+ }
29
35
  export interface CardanoCertificate {
30
36
  type: PROTO.CardanoCertificateType;
31
37
  path?: string | number[];
@@ -33,6 +39,8 @@ export interface CardanoCertificate {
33
39
  poolParameters?: CardanoPoolParameters;
34
40
  scriptHash?: string;
35
41
  keyHash?: string;
42
+ deposit?: UintType;
43
+ dRep?: CardanoDRep;
36
44
  }
37
45
  export type CertificateWithPoolOwnersAndRelays = {
38
46
  certificate: PROTO.CardanoTxCertificate;
@@ -106,8 +114,8 @@ export interface CardanoReferenceInput {
106
114
  prev_hash: string;
107
115
  prev_index: number;
108
116
  }
109
- export interface CardanoGovernanceRegistrationDelegation {
110
- votingPublicKey: string;
117
+ export interface CardanoCVoteRegistrationDelegation {
118
+ votePublicKey: string;
111
119
  weight: number;
112
120
  }
113
121
  export interface CardanoCatalystRegistrationParameters {
@@ -116,18 +124,19 @@ export interface CardanoCatalystRegistrationParameters {
116
124
  rewardAddressParameters: CardanoAddressParameters;
117
125
  nonce: string;
118
126
  }
119
- export interface CardanoGovernanceRegistrationParameters {
120
- votingPublicKey?: string;
127
+ export interface CardanoCVoteRegistrationParameters {
128
+ votePublicKey?: string;
121
129
  stakingPath: string | number[];
122
- rewardAddressParameters: CardanoAddressParameters;
130
+ paymentAddressParameters: CardanoAddressParameters;
123
131
  nonce: string;
124
- format?: PROTO.CardanoGovernanceRegistrationFormat;
125
- delegations?: CardanoGovernanceRegistrationDelegation[];
132
+ format?: PROTO.CardanoCVoteRegistrationFormat;
133
+ delegations?: CardanoCVoteRegistrationDelegation[];
126
134
  votingPurpose?: number;
135
+ paymentAddress?: string;
127
136
  }
128
137
  export interface CardanoAuxiliaryData {
129
138
  hash?: string;
130
- governanceRegistrationParameters?: CardanoGovernanceRegistrationParameters;
139
+ cVoteRegistrationParameters?: CardanoCVoteRegistrationParameters;
131
140
  }
132
141
  export interface CardanoSignTransaction {
133
142
  inputs: CardanoInput[];
@@ -151,6 +160,8 @@ export interface CardanoSignTransaction {
151
160
  signingMode: PROTO.CardanoTxSigningMode;
152
161
  derivationType?: PROTO.CardanoDerivationType;
153
162
  includeNetworkId?: boolean;
163
+ chunkify?: boolean;
164
+ tagCborSets?: boolean;
154
165
  }
155
166
  export interface CardanoSignedTxWitness {
156
167
  type: PROTO.CardanoTxWitnessType;
@@ -161,7 +172,7 @@ export interface CardanoSignedTxWitness {
161
172
  export interface CardanoAuxiliaryDataSupplement {
162
173
  type: PROTO.CardanoTxAuxiliaryDataSupplementType;
163
174
  auxiliaryDataHash: string;
164
- catalystSignature?: string;
175
+ cVoteRegistrationSignature?: string;
165
176
  }
166
177
  export interface CardanoSignedTxData {
167
178
  hash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../src/types/api/cardano.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../src/types/api/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,KAAK,CAAC,kBAAkB,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,KAAK,CAAC,sBAAsB,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,MAAM,kCAAkC,GAAG;IAC/C,WAAW,EAAE,KAAK,CAAC,oBAAoB,CAAC;IACxC,UAAU,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACrC,UAAU,EAAE,KAAK,CAAC,0BAA0B,EAAE,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,CACxB;IACE,iBAAiB,EAAE,wBAAwB,CAAC;CAC7C,GACD;IACE,OAAO,EAAE,MAAM,CAAC;CACjB,CACJ,GAAG;IACF,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,KAAK,CAAC,kCAAkC,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qCAAqC;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,uBAAuB,EAAE,wBAAwB,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,CAAC,8BAA8B,CAAC;IAC9C,WAAW,CAAC,EAAE,kCAAkC,EAAE,CAAC;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B,CAAC,EAAE,kCAAkC,CAAC;CAClE;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC5C,eAAe,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC1C,gBAAgB,CAAC,EAAE,aAAa,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC1C,yBAAyB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC,oBAAoB,CAAC;IACxC,cAAc,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC;IAC7C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,KAAK,CAAC,oCAAoC,CAAC;IACjD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,uBAAuB,CAAC,EAAE,8BAA8B,CAAC;CAC1D"}