Skip to content

Commit a2cf72c

Browse files
Feat/kaspa address (#473)
* feat: support kaspa address * chore: release 1.0.29
1 parent e599289 commit a2cf72c

File tree

21 files changed

+99
-41
lines changed

21 files changed

+99
-41
lines changed

packages/connect-examples/electron-example/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "hardware-example",
33
"productName": "HardwareExample",
44
"executableName": "onekey-hardware-example",
5-
"version": "1.0.28",
5+
"version": "1.0.29",
66
"author": "OneKey",
77
"description": "End-to-end encrypted workspaces for teams",
88
"main": "dist/index.js",

packages/connect-examples/expo-example/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "expo-example",
3-
"version": "1.0.28",
3+
"version": "1.0.29",
44
"scripts": {
55
"start": "CONNECT_SRC=https://localhost:8087/ yarn expo start --dev-client",
66
"android": "yarn expo run:android",
@@ -19,10 +19,10 @@
1919
"@noble/ed25519": "^2.1.0",
2020
"@noble/hashes": "^1.3.3",
2121
"@noble/secp256k1": "^1.7.1",
22-
"@onekeyfe/hd-ble-sdk": "^1.0.28",
23-
"@onekeyfe/hd-common-connect-sdk": "^1.0.28",
24-
"@onekeyfe/hd-core": "^1.0.28",
25-
"@onekeyfe/hd-web-sdk": "^1.0.28",
22+
"@onekeyfe/hd-ble-sdk": "^1.0.29",
23+
"@onekeyfe/hd-common-connect-sdk": "^1.0.29",
24+
"@onekeyfe/hd-core": "^1.0.29",
25+
"@onekeyfe/hd-web-sdk": "^1.0.29",
2626
"@onekeyfe/react-native-ble-utils": "^0.1.3",
2727
"@polkadot/util-crypto": "13.1.1",
2828
"@react-native-async-storage/async-storage": "1.21.0",

packages/core/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@onekeyfe/hd-core",
3-
"version": "1.0.28",
3+
"version": "1.0.29",
44
"description": "> TODO: description",
55
"author": "OneKey",
66
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
@@ -25,8 +25,8 @@
2525
"url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
2626
},
2727
"dependencies": {
28-
"@onekeyfe/hd-shared": "^1.0.28",
29-
"@onekeyfe/hd-transport": "^1.0.28",
28+
"@onekeyfe/hd-shared": "^1.0.29",
29+
"@onekeyfe/hd-transport": "^1.0.29",
3030
"axios": "^0.27.2",
3131
"bignumber.js": "^9.0.2",
3232
"bytebuffer": "^5.0.1",

packages/core/src/api/allnetwork/AllNetworkGetAddress.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,13 @@ const networkConfigMap: NetworkConfigMap = {
179179
kaspa: {
180180
methodName: 'kaspaGetAddress',
181181
getParams: (baseParams: AllNetworkAddressParams) => {
182-
const { path, prefix, showOnOneKey } = baseParams;
182+
const { path, prefix, showOnOneKey, useTweak } = baseParams;
183183
return {
184184
scheme: 'schnorr',
185185
prefix,
186186
path,
187187
showOnOneKey,
188+
useTweak,
188189
};
189190
},
190191
},

packages/core/src/api/kaspa/KaspaGetAddress.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export default class KaspaGetAddress extends BaseMethod<HardwareKaspaGetAddress[
2828
{ name: 'showOnOneKey', type: 'boolean' },
2929
{ name: 'prefix', type: 'string' },
3030
{ name: 'scheme', type: 'string' },
31+
{ name: 'useTweak', type: 'boolean' },
3132
]);
3233

3334
const showOnOneKey = batch.showOnOneKey ?? true;
@@ -37,6 +38,7 @@ export default class KaspaGetAddress extends BaseMethod<HardwareKaspaGetAddress[
3738
show_display: showOnOneKey,
3839
prefix: batch.prefix,
3940
scheme: batch.scheme,
41+
use_tweak: batch.useTweak,
4042
});
4143
});
4244
}
@@ -52,12 +54,28 @@ export default class KaspaGetAddress extends BaseMethod<HardwareKaspaGetAddress[
5254
};
5355
}
5456

57+
getUseTweakVersionRange() {
58+
return {
59+
pro: {
60+
min: '4.14.0',
61+
},
62+
model_classic: {
63+
min: '3.13.0',
64+
},
65+
};
66+
}
67+
5568
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+
5675
const responses: KaspaAddress[] = [];
5776

5877
for (let i = 0; i < this.params.length; i++) {
5978
const param = this.params[i];
60-
6179
const res = await this.device.commands.typedCall('KaspaGetAddress', 'KaspaAddress', {
6280
...param,
6381
});

packages/core/src/api/kaspa/KaspaSignTransaction.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
3232
{ name: 'lockTime', required: true },
3333
{ name: 'sigOpCount', type: 'number' },
3434
{ name: 'subNetworkID', type: 'string' },
35+
{ name: 'useTweak', type: 'boolean' },
3536
]);
3637

3738
// if(!payload.inputs.length) throw
@@ -76,6 +77,7 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
7677
sigHashType: payload.sigHashType ?? SignatureType.SIGHASH_ALL | SignatureType.SIGHASH_FORKID,
7778
sigOpCount: payload.sigOpCount ?? 1,
7879
subNetworkID: payload.subNetworkID ?? bytesToHex(zeroSubnetworkID()),
80+
useTweak: payload.useTweak,
7981
};
8082
}
8183

@@ -90,6 +92,17 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
9092
};
9193
}
9294

95+
getUseTweakVersionRange() {
96+
return {
97+
pro: {
98+
min: '4.14.0',
99+
},
100+
model_classic: {
101+
min: '3.13.0',
102+
},
103+
};
104+
}
105+
93106
async processTxRequest(
94107
typedCall: TypedCall,
95108
res: TypedResponseMessage<'KaspaTxInputRequest'> | TypedResponseMessage<'KaspaSignedTx'>,
@@ -134,6 +147,12 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
134147
}
135148

136149
async run() {
150+
this.checkFeatureVersionLimit(
151+
// exists use_tweak is false check firmware version
152+
() => this.params.useTweak === false,
153+
() => this.getUseTweakVersionRange()
154+
);
155+
137156
const { raw: rawMessage } = serialize(this.params, 0);
138157
const input = this.params.inputs[0];
139158

@@ -149,6 +168,7 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
149168
scheme: params.scheme,
150169
prefix: params.prefix,
151170
input_count: params.inputs.length,
171+
use_tweak: params.useTweak,
152172
}
153173
);
154174

packages/core/src/data/messages/messages.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5888,6 +5888,13 @@
58885888
"options": {
58895889
"default": "schnorr"
58905890
}
5891+
},
5892+
"use_tweak": {
5893+
"type": "bool",
5894+
"id": 5,
5895+
"options": {
5896+
"default": true
5897+
}
58915898
}
58925899
}
58935900
},
@@ -5935,6 +5942,13 @@
59355942
"options": {
59365943
"default": 1
59375944
}
5945+
},
5946+
"use_tweak": {
5947+
"type": "bool",
5948+
"id": 6,
5949+
"options": {
5950+
"default": true
5951+
}
59385952
}
59395953
}
59405954
},

packages/core/src/types/api/allNetworkGetAddress.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ export type AllNetworkAddressParams = {
5151

5252
includePublicKey?: boolean;
5353
group?: string;
54+
useTweak?: boolean;
5455
};
5556

5657
type AllNetworkAddressPayload =

packages/core/src/types/api/kaspaGetAddress.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export type KaspaGetAddressParams = {
1010
prefix?: string;
1111
scheme?: string;
1212
showOnOneKey?: boolean;
13+
useTweak?: boolean;
1314
};
1415

1516
export declare function kaspaGetAddress(

packages/core/src/types/api/kaspaSignTransaction.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export type KaspaSignTransactionParams = {
3434
subNetworkID?: string;
3535
scheme?: string;
3636
prefix?: string;
37+
useTweak?: boolean; // default is true
3738
};
3839

3940
export declare function kaspaSignTransaction(

packages/hd-ble-sdk/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@onekeyfe/hd-ble-sdk",
3-
"version": "1.0.28",
3+
"version": "1.0.29",
44
"author": "OneKey",
55
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
66
"license": "ISC",
@@ -20,8 +20,8 @@
2020
"lint:fix": "eslint . --fix"
2121
},
2222
"dependencies": {
23-
"@onekeyfe/hd-core": "^1.0.28",
24-
"@onekeyfe/hd-shared": "^1.0.28",
25-
"@onekeyfe/hd-transport-react-native": "^1.0.28"
23+
"@onekeyfe/hd-core": "^1.0.29",
24+
"@onekeyfe/hd-shared": "^1.0.29",
25+
"@onekeyfe/hd-transport-react-native": "^1.0.29"
2626
}
2727
}

packages/hd-common-connect-sdk/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@onekeyfe/hd-common-connect-sdk",
3-
"version": "1.0.28",
3+
"version": "1.0.29",
44
"author": "OneKey",
55
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
66
"license": "ISC",
@@ -20,10 +20,10 @@
2020
"lint:fix": "eslint . --fix"
2121
},
2222
"dependencies": {
23-
"@onekeyfe/hd-core": "^1.0.28",
24-
"@onekeyfe/hd-shared": "^1.0.28",
25-
"@onekeyfe/hd-transport-http": "^1.0.28",
26-
"@onekeyfe/hd-transport-lowlevel": "^1.0.28",
27-
"@onekeyfe/hd-transport-webusb": "^1.0.28"
23+
"@onekeyfe/hd-core": "^1.0.29",
24+
"@onekeyfe/hd-shared": "^1.0.29",
25+
"@onekeyfe/hd-transport-http": "^1.0.29",
26+
"@onekeyfe/hd-transport-lowlevel": "^1.0.29",
27+
"@onekeyfe/hd-transport-webusb": "^1.0.29"
2828
}
2929
}

packages/hd-transport-http/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@onekeyfe/hd-transport-http",
3-
"version": "1.0.28",
3+
"version": "1.0.29",
44
"description": "hardware http transport",
55
"author": "OneKey",
66
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
@@ -24,8 +24,8 @@
2424
"url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
2525
},
2626
"dependencies": {
27-
"@onekeyfe/hd-shared": "^1.0.28",
28-
"@onekeyfe/hd-transport": "^1.0.28",
27+
"@onekeyfe/hd-shared": "^1.0.29",
28+
"@onekeyfe/hd-transport": "^1.0.29",
2929
"axios": "^0.27.2",
3030
"secure-json-parse": "^4.0.0"
3131
}

packages/hd-transport-lowlevel/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@onekeyfe/hd-transport-lowlevel",
3-
"version": "1.0.28",
3+
"version": "1.0.29",
44
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
55
"license": "MIT",
66
"main": "dist/index.js",
@@ -19,7 +19,7 @@
1919
"lint:fix": "eslint . --fix"
2020
},
2121
"dependencies": {
22-
"@onekeyfe/hd-shared": "^1.0.28",
23-
"@onekeyfe/hd-transport": "^1.0.28"
22+
"@onekeyfe/hd-shared": "^1.0.29",
23+
"@onekeyfe/hd-transport": "^1.0.29"
2424
}
2525
}

packages/hd-transport-react-native/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@onekeyfe/hd-transport-react-native",
3-
"version": "1.0.28",
3+
"version": "1.0.29",
44
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
55
"license": "MIT",
66
"main": "dist/index.js",
@@ -19,8 +19,8 @@
1919
"lint:fix": "eslint . --fix"
2020
},
2121
"dependencies": {
22-
"@onekeyfe/hd-shared": "^1.0.28",
23-
"@onekeyfe/hd-transport": "^1.0.28",
22+
"@onekeyfe/hd-shared": "^1.0.29",
23+
"@onekeyfe/hd-transport": "^1.0.29",
2424
"@onekeyfe/react-native-ble-utils": "^0.1.4",
2525
"react-native-ble-plx": "3.5.0"
2626
}

packages/hd-transport-webusb/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@onekeyfe/hd-transport-webusb",
3-
"version": "1.0.28",
3+
"version": "1.0.29",
44
"author": "OneKey",
55
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
66
"license": "MIT",
@@ -20,8 +20,8 @@
2020
"lint:fix": "eslint . --fix"
2121
},
2222
"dependencies": {
23-
"@onekeyfe/hd-shared": "^1.0.28",
24-
"@onekeyfe/hd-transport": "^1.0.28"
23+
"@onekeyfe/hd-shared": "^1.0.29",
24+
"@onekeyfe/hd-transport": "^1.0.29"
2525
},
2626
"devDependencies": {
2727
"@types/w3c-web-usb": "^1.0.6",

packages/hd-transport/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@onekeyfe/hd-transport",
3-
"version": "1.0.28",
3+
"version": "1.0.29",
44
"description": "> TODO: description",
55
"author": "OneKey",
66
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",

packages/hd-transport/src/types/messages.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2129,6 +2129,7 @@ export type KaspaGetAddress = {
21292129
show_display?: boolean;
21302130
prefix?: string;
21312131
scheme?: string;
2132+
use_tweak?: boolean;
21322133
};
21332134

21342135
// KaspaAddress
@@ -2143,6 +2144,7 @@ export type KaspaSignTx = {
21432144
scheme?: string;
21442145
prefix?: string;
21452146
input_count?: number;
2147+
use_tweak?: boolean;
21462148
};
21472149

21482150
// KaspaTxInputRequest

packages/hd-web-sdk/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@onekeyfe/hd-web-sdk",
3-
"version": "1.0.28",
3+
"version": "1.0.29",
44
"author": "OneKey",
55
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
66
"license": "ISC",
@@ -21,10 +21,10 @@
2121
},
2222
"dependencies": {
2323
"@onekeyfe/cross-inpage-provider-core": "^0.0.17",
24-
"@onekeyfe/hd-core": "^1.0.28",
25-
"@onekeyfe/hd-shared": "^1.0.28",
26-
"@onekeyfe/hd-transport-http": "^1.0.28",
27-
"@onekeyfe/hd-transport-webusb": "^1.0.28"
24+
"@onekeyfe/hd-core": "^1.0.29",
25+
"@onekeyfe/hd-shared": "^1.0.29",
26+
"@onekeyfe/hd-transport-http": "^1.0.29",
27+
"@onekeyfe/hd-transport-webusb": "^1.0.29"
2828
},
2929
"devDependencies": {
3030
"@babel/plugin-proposal-optional-chaining": "^7.17.12",

packages/shared/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@onekeyfe/hd-shared",
3-
"version": "1.0.28",
3+
"version": "1.0.29",
44
"description": "Hardware SDK's shared tool library",
55
"keywords": [
66
"Hardware-SDK",

0 commit comments

Comments
 (0)