@onekeyfe/hd-core 0.2.8 → 0.2.9

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 (70) hide show
  1. package/dist/api/BaseMethod.d.ts.map +1 -1
  2. package/dist/api/cardano/CardanoGetAddress.d.ts +8 -0
  3. package/dist/api/cardano/CardanoGetAddress.d.ts.map +1 -0
  4. package/dist/api/cardano/CardanoGetPublicKey.d.ts +8 -0
  5. package/dist/api/cardano/CardanoGetPublicKey.d.ts.map +1 -0
  6. package/dist/api/cardano/CardanoSignTransaction.d.ts +9 -0
  7. package/dist/api/cardano/CardanoSignTransaction.d.ts.map +1 -0
  8. package/dist/api/cardano/helper/addressParameters.d.ts +7 -0
  9. package/dist/api/cardano/helper/addressParameters.d.ts.map +1 -0
  10. package/dist/api/cardano/helper/auxiliaryData.d.ts +5 -0
  11. package/dist/api/cardano/helper/auxiliaryData.d.ts.map +1 -0
  12. package/dist/api/cardano/helper/cardanoInputs.d.ts +14 -0
  13. package/dist/api/cardano/helper/cardanoInputs.d.ts.map +1 -0
  14. package/dist/api/cardano/helper/cardanoOutputs.d.ts +11 -0
  15. package/dist/api/cardano/helper/cardanoOutputs.d.ts.map +1 -0
  16. package/dist/api/cardano/helper/certificate.d.ts +9 -0
  17. package/dist/api/cardano/helper/certificate.d.ts.map +1 -0
  18. package/dist/api/cardano/helper/token.d.ts +3 -0
  19. package/dist/api/cardano/helper/token.d.ts.map +1 -0
  20. package/dist/api/cardano/helper/utils.d.ts +3 -0
  21. package/dist/api/cardano/helper/utils.d.ts.map +1 -0
  22. package/dist/api/cardano/helper/witnesses.d.ts +5 -0
  23. package/dist/api/cardano/helper/witnesses.d.ts.map +1 -0
  24. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  25. package/dist/api/helpers/paramsValidator.d.ts +2 -1
  26. package/dist/api/helpers/paramsValidator.d.ts.map +1 -1
  27. package/dist/api/index.d.ts +3 -0
  28. package/dist/api/index.d.ts.map +1 -1
  29. package/dist/core/index.d.ts.map +1 -1
  30. package/dist/device/Device.d.ts +1 -0
  31. package/dist/device/Device.d.ts.map +1 -1
  32. package/dist/index.d.ts +192 -0
  33. package/dist/index.js +850 -18
  34. package/dist/inject.d.ts.map +1 -1
  35. package/dist/types/api/cardano.d.ts +158 -0
  36. package/dist/types/api/cardano.d.ts.map +1 -0
  37. package/dist/types/api/cardanoGetAddress.d.ts +33 -0
  38. package/dist/types/api/cardanoGetAddress.d.ts.map +1 -0
  39. package/dist/types/api/cardanoGetPublicKey.d.ts +23 -0
  40. package/dist/types/api/cardanoGetPublicKey.d.ts.map +1 -0
  41. package/dist/types/api/cardanoSignTransaction.d.ts +4 -0
  42. package/dist/types/api/cardanoSignTransaction.d.ts.map +1 -0
  43. package/dist/types/api/index.d.ts +6 -0
  44. package/dist/types/api/index.d.ts.map +1 -1
  45. package/package.json +4 -4
  46. package/src/api/BaseMethod.ts +7 -1
  47. package/src/api/btc/helpers/signtxLegacy.ts +1 -1
  48. package/src/api/cardano/CardanoGetAddress.ts +87 -0
  49. package/src/api/cardano/CardanoGetPublicKey.ts +55 -0
  50. package/src/api/cardano/CardanoSignTransaction.ts +309 -0
  51. package/src/api/cardano/helper/addressParameters.ts +118 -0
  52. package/src/api/cardano/helper/auxiliaryData.ts +74 -0
  53. package/src/api/cardano/helper/cardanoInputs.ts +56 -0
  54. package/src/api/cardano/helper/cardanoOutputs.ts +89 -0
  55. package/src/api/cardano/helper/certificate.ts +199 -0
  56. package/src/api/cardano/helper/token.ts +43 -0
  57. package/src/api/cardano/helper/utils.ts +17 -0
  58. package/src/api/cardano/helper/witnesses.ts +63 -0
  59. package/src/api/firmware/uploadFirmware.ts +1 -3
  60. package/src/api/helpers/paramsValidator.ts +19 -1
  61. package/src/api/index.ts +4 -0
  62. package/src/core/index.ts +1 -0
  63. package/src/data/messages/messages.json +107 -68
  64. package/src/device/Device.ts +5 -0
  65. package/src/inject.ts +7 -0
  66. package/src/types/api/cardano.ts +186 -0
  67. package/src/types/api/cardanoGetAddress.ts +47 -0
  68. package/src/types/api/cardanoGetPublicKey.ts +33 -0
  69. package/src/types/api/cardanoSignTransaction.ts +8 -0
  70. package/src/types/api/index.ts +11 -0
@@ -0,0 +1,186 @@
1
+ import type { PROTO } from '../../constants';
2
+
3
+ export interface CardanoAddressParameters {
4
+ addressType: PROTO.CardanoAddressType;
5
+ path?: string | number[];
6
+ stakingPath?: string | number[];
7
+ stakingKeyHash?: string;
8
+ certificatePointer?: CardanoCertificatePointer;
9
+ paymentScriptHash?: string;
10
+ stakingScriptHash?: string;
11
+ }
12
+
13
+ export interface CardanoCertificatePointer {
14
+ blockIndex: number;
15
+ txIndex: number;
16
+ certificateIndex: number;
17
+ }
18
+
19
+ export interface CardanoToken {
20
+ assetNameBytes: string;
21
+ amount?: string;
22
+ mintAmount?: string;
23
+ }
24
+
25
+ export interface CardanoAssetGroup {
26
+ policyId: string;
27
+ tokenAmounts: CardanoToken[];
28
+ }
29
+
30
+ export type AssetGroupWithTokens = {
31
+ policyId: string;
32
+ tokens: PROTO.CardanoToken[];
33
+ };
34
+
35
+ export interface CardanoCertificate {
36
+ type: PROTO.CardanoCertificateType;
37
+ path?: string | number[];
38
+ pool?: string;
39
+ poolParameters?: CardanoPoolParameters;
40
+ scriptHash?: string;
41
+ keyHash?: string;
42
+ }
43
+
44
+ export type CertificateWithPoolOwnersAndRelays = {
45
+ certificate: PROTO.CardanoTxCertificate;
46
+ poolOwners: PROTO.CardanoPoolOwner[];
47
+ poolRelays: PROTO.CardanoPoolRelayParameters[];
48
+ };
49
+
50
+ export interface CardanoPoolOwner {
51
+ stakingKeyPath?: string | number[];
52
+ stakingKeyHash?: string;
53
+ }
54
+
55
+ export interface CardanoPoolRelay {
56
+ type: PROTO.CardanoPoolRelayType;
57
+ ipv4Address?: string;
58
+ ipv6Address?: string;
59
+ port?: number;
60
+ hostName?: string;
61
+ }
62
+
63
+ export interface CardanoPoolMetadata {
64
+ url: string;
65
+ hash: string;
66
+ }
67
+
68
+ export interface CardanoPoolMargin {
69
+ numerator: string;
70
+ denominator: string;
71
+ }
72
+
73
+ export interface CardanoPoolParameters {
74
+ poolId: string;
75
+ vrfKeyHash: string;
76
+ pledge: string;
77
+ cost: string;
78
+ margin: CardanoPoolMargin;
79
+ rewardAccount: string;
80
+ owners: CardanoPoolOwner[];
81
+ relays: CardanoPoolRelay[];
82
+ metadata: CardanoPoolMetadata;
83
+ }
84
+
85
+ export interface CardanoInput {
86
+ path?: string | number[];
87
+ prev_hash: string;
88
+ prev_index: number;
89
+ }
90
+
91
+ export type CardanoOutput = (
92
+ | {
93
+ addressParameters: CardanoAddressParameters;
94
+ }
95
+ | {
96
+ address: string;
97
+ }
98
+ ) & {
99
+ amount: string;
100
+ tokenBundle?: CardanoAssetGroup[];
101
+ datumHash?: string;
102
+ // @ts-expect-error
103
+ format?: PROTO.CardanoTxOutputSerializationFormat;
104
+ inlineDatum?: string;
105
+ referenceScript?: string;
106
+ };
107
+
108
+ export interface CardanoWithdrawal {
109
+ path?: string | number[];
110
+ amount: string;
111
+ scriptHash?: string;
112
+ keyHash?: string;
113
+ }
114
+
115
+ export type CardanoMint = CardanoAssetGroup[];
116
+
117
+ export interface CardanoCollateralInput {
118
+ path?: string | number[];
119
+ prev_hash: string;
120
+ prev_index: number;
121
+ }
122
+
123
+ export interface CardanoRequiredSigner {
124
+ keyPath?: string | number[];
125
+ keyHash?: string;
126
+ }
127
+
128
+ export interface CardanoReferenceInput {
129
+ prev_hash: string;
130
+ prev_index: number;
131
+ }
132
+
133
+ export interface CardanoCatalystRegistrationParameters {
134
+ votingPublicKey: string;
135
+ stakingPath: string | number[];
136
+ rewardAddressParameters: CardanoAddressParameters;
137
+ nonce: string;
138
+ }
139
+
140
+ export interface CardanoAuxiliaryData {
141
+ hash?: string;
142
+ catalystRegistrationParameters?: CardanoCatalystRegistrationParameters;
143
+ }
144
+
145
+ export interface CardanoSignTransaction {
146
+ inputs: CardanoInput[];
147
+ outputs: CardanoOutput[];
148
+ fee: string;
149
+ ttl?: string;
150
+ certificates?: CardanoCertificate[];
151
+ withdrawals?: CardanoWithdrawal[];
152
+ validityIntervalStart?: string;
153
+ auxiliaryData?: CardanoAuxiliaryData;
154
+ mint?: CardanoMint;
155
+ scriptDataHash?: string;
156
+ collateralInputs?: CardanoCollateralInput[];
157
+ requiredSigners?: CardanoRequiredSigner[];
158
+ collateralReturn?: CardanoOutput;
159
+ totalCollateral?: string;
160
+ referenceInputs?: CardanoReferenceInput[];
161
+ additionalWitnessRequests?: (string | number[])[];
162
+ protocolMagic: number;
163
+ networkId: number;
164
+ signingMode: PROTO.CardanoTxSigningMode;
165
+ derivationType?: PROTO.CardanoDerivationType;
166
+ includeNetworkId?: boolean;
167
+ }
168
+
169
+ export interface CardanoSignedTxWitness {
170
+ type: PROTO.CardanoTxWitnessType;
171
+ pubKey: string;
172
+ signature: string;
173
+ chainCode?: string;
174
+ }
175
+
176
+ export interface CardanoAuxiliaryDataSupplement {
177
+ type: PROTO.CardanoTxAuxiliaryDataSupplementType;
178
+ auxiliaryDataHash: string;
179
+ catalystSignature?: string;
180
+ }
181
+
182
+ export interface CardanoSignedTxData {
183
+ hash: string;
184
+ witnesses: CardanoSignedTxWitness[];
185
+ auxiliaryDataSupplement?: CardanoAuxiliaryDataSupplement;
186
+ }
@@ -0,0 +1,47 @@
1
+ import type { CardanoAddressParametersType } from '@onekeyfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+ import type { CardanoAddressParameters } from './cardano';
4
+
5
+ export type CardanoGetAddressMethodParams = {
6
+ addressParameters: CardanoAddressParameters;
7
+ networkId: number;
8
+ /**
9
+ * Testnet cip34:0-1097911063
10
+ * Mainnet cip34:1-764824073
11
+ */
12
+ protocolMagic: number;
13
+ derivationType: number;
14
+ address: string;
15
+ showOnOneKey: boolean;
16
+ };
17
+
18
+ export type CardanoGetAddressParams = {
19
+ address_parameters: CardanoAddressParametersType;
20
+ network_id: number;
21
+ protocol_magic: number;
22
+ derivation_type: number;
23
+ address: string;
24
+ show_display: boolean;
25
+ };
26
+
27
+ export type CardanoAddress = {
28
+ addressParameters: CardanoAddressParameters;
29
+ protocolMagic: number;
30
+ networkId: number;
31
+ serializedPath: string;
32
+ serializedStakingPath: string;
33
+ address: string;
34
+ xpub: string;
35
+ };
36
+
37
+ export declare function cardanoGetAddress(
38
+ connectId: string,
39
+ deviceId: string,
40
+ params: CommonParams & CardanoGetAddressMethodParams
41
+ ): Response<CardanoAddress>;
42
+
43
+ export declare function cardanoGetAddress(
44
+ connectId: string,
45
+ deviceId: string,
46
+ params: CommonParams & { bundle?: CardanoGetAddressMethodParams[] }
47
+ ): Response<CardanoAddress[]>;
@@ -0,0 +1,33 @@
1
+ import type { CommonParams, Response } from '../params';
2
+ import { PROTO } from '../../constants';
3
+
4
+ export type CardanoPublicKey = {
5
+ path: number[];
6
+ serializedPath: string;
7
+ publicKey: string;
8
+ node: PROTO.HDNodeType;
9
+ };
10
+
11
+ export type CardanoPublicKeyParams = {
12
+ address_n: number[];
13
+ derivation_type: number;
14
+ show_display: boolean;
15
+ };
16
+
17
+ export type CardanoPublicKeyMethodParams = {
18
+ path: string | number[];
19
+ derivationType?: number;
20
+ showOnOneKey?: boolean;
21
+ };
22
+
23
+ export declare function cardanoGetPublicKey(
24
+ connectId: string,
25
+ deviceId: string,
26
+ params: CommonParams & CardanoPublicKeyMethodParams
27
+ ): Response<CardanoPublicKey>;
28
+
29
+ export declare function cardanoGetPublicKey(
30
+ connectId: string,
31
+ deviceId: string,
32
+ params: CommonParams & { bundle?: CardanoPublicKeyMethodParams[] }
33
+ ): Response<CardanoPublicKey[]>;
@@ -0,0 +1,8 @@
1
+ import type { CommonParams, Response } from '../params';
2
+ import type { CardanoSignTransaction, CardanoSignedTxData } from './cardano';
3
+
4
+ export declare function cardanoSignTransaction(
5
+ connectId: string,
6
+ deviceId: string,
7
+ params: CommonParams & CardanoSignTransaction
8
+ ): Response<CardanoSignedTxData>;
@@ -90,6 +90,10 @@ import { suiGetAddress } from './suiGetAddress';
90
90
  import { suiGetPublicKey } from './suiGetPublicKey';
91
91
  import { suiSignTransaction } from './suiSignTransaction';
92
92
 
93
+ import { cardanoGetAddress } from './cardanoGetAddress';
94
+ import { cardanoGetPublicKey } from './cardanoGetPublicKey';
95
+ import { cardanoSignTransaction } from './cardanoSignTransaction';
96
+
93
97
  export * from './export';
94
98
 
95
99
  export type CoreApi = {
@@ -240,4 +244,11 @@ export type CoreApi = {
240
244
  suiGetAddress: typeof suiGetAddress;
241
245
  suiGetPublicKey: typeof suiGetPublicKey;
242
246
  suiSignTransaction: typeof suiSignTransaction;
247
+
248
+ /**
249
+ * Cardano function
250
+ */
251
+ cardanoGetAddress: typeof cardanoGetAddress;
252
+ cardanoGetPublicKey: typeof cardanoGetPublicKey;
253
+ cardanoSignTransaction: typeof cardanoSignTransaction;
243
254
  };