@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.
- package/dist/api/BaseMethod.d.ts.map +1 -1
- package/dist/api/cardano/CardanoGetAddress.d.ts +8 -0
- package/dist/api/cardano/CardanoGetAddress.d.ts.map +1 -0
- package/dist/api/cardano/CardanoGetPublicKey.d.ts +8 -0
- package/dist/api/cardano/CardanoGetPublicKey.d.ts.map +1 -0
- package/dist/api/cardano/CardanoSignTransaction.d.ts +9 -0
- package/dist/api/cardano/CardanoSignTransaction.d.ts.map +1 -0
- package/dist/api/cardano/helper/addressParameters.d.ts +7 -0
- package/dist/api/cardano/helper/addressParameters.d.ts.map +1 -0
- package/dist/api/cardano/helper/auxiliaryData.d.ts +5 -0
- package/dist/api/cardano/helper/auxiliaryData.d.ts.map +1 -0
- package/dist/api/cardano/helper/cardanoInputs.d.ts +14 -0
- package/dist/api/cardano/helper/cardanoInputs.d.ts.map +1 -0
- package/dist/api/cardano/helper/cardanoOutputs.d.ts +11 -0
- package/dist/api/cardano/helper/cardanoOutputs.d.ts.map +1 -0
- package/dist/api/cardano/helper/certificate.d.ts +9 -0
- package/dist/api/cardano/helper/certificate.d.ts.map +1 -0
- package/dist/api/cardano/helper/token.d.ts +3 -0
- package/dist/api/cardano/helper/token.d.ts.map +1 -0
- package/dist/api/cardano/helper/utils.d.ts +3 -0
- package/dist/api/cardano/helper/utils.d.ts.map +1 -0
- package/dist/api/cardano/helper/witnesses.d.ts +5 -0
- package/dist/api/cardano/helper/witnesses.d.ts.map +1 -0
- package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
- package/dist/api/helpers/paramsValidator.d.ts +2 -1
- package/dist/api/helpers/paramsValidator.d.ts.map +1 -1
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/device/Device.d.ts +1 -0
- package/dist/device/Device.d.ts.map +1 -1
- package/dist/index.d.ts +192 -0
- package/dist/index.js +850 -18
- package/dist/inject.d.ts.map +1 -1
- package/dist/types/api/cardano.d.ts +158 -0
- package/dist/types/api/cardano.d.ts.map +1 -0
- package/dist/types/api/cardanoGetAddress.d.ts +33 -0
- package/dist/types/api/cardanoGetAddress.d.ts.map +1 -0
- package/dist/types/api/cardanoGetPublicKey.d.ts +23 -0
- package/dist/types/api/cardanoGetPublicKey.d.ts.map +1 -0
- package/dist/types/api/cardanoSignTransaction.d.ts +4 -0
- package/dist/types/api/cardanoSignTransaction.d.ts.map +1 -0
- package/dist/types/api/index.d.ts +6 -0
- package/dist/types/api/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/api/BaseMethod.ts +7 -1
- package/src/api/btc/helpers/signtxLegacy.ts +1 -1
- package/src/api/cardano/CardanoGetAddress.ts +87 -0
- package/src/api/cardano/CardanoGetPublicKey.ts +55 -0
- package/src/api/cardano/CardanoSignTransaction.ts +309 -0
- package/src/api/cardano/helper/addressParameters.ts +118 -0
- package/src/api/cardano/helper/auxiliaryData.ts +74 -0
- package/src/api/cardano/helper/cardanoInputs.ts +56 -0
- package/src/api/cardano/helper/cardanoOutputs.ts +89 -0
- package/src/api/cardano/helper/certificate.ts +199 -0
- package/src/api/cardano/helper/token.ts +43 -0
- package/src/api/cardano/helper/utils.ts +17 -0
- package/src/api/cardano/helper/witnesses.ts +63 -0
- package/src/api/firmware/uploadFirmware.ts +1 -3
- package/src/api/helpers/paramsValidator.ts +19 -1
- package/src/api/index.ts +4 -0
- package/src/core/index.ts +1 -0
- package/src/data/messages/messages.json +107 -68
- package/src/device/Device.ts +5 -0
- package/src/inject.ts +7 -0
- package/src/types/api/cardano.ts +186 -0
- package/src/types/api/cardanoGetAddress.ts +47 -0
- package/src/types/api/cardanoGetPublicKey.ts +33 -0
- package/src/types/api/cardanoSignTransaction.ts +8 -0
- 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>;
|
package/src/types/api/index.ts
CHANGED
|
@@ -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
|
};
|