@ledgerhq/hw-app-exchange 0.6.1 → 0.6.2-next.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @ledgerhq/hw-app-exchange
2
2
 
3
+ ## 0.6.2-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - [#7952](https://github.com/LedgerHQ/ledger-live/pull/7952) [`d6c9096`](https://github.com/LedgerHQ/ledger-live/commit/d6c9096968692b64d12c6bd81e8daa48f55793b9) Thanks [@sprohaszka-ledger](https://github.com/sprohaszka-ledger)! - Fix issue with infinite loader during swap with legacy swap ui
8
+ Add additionnal test to hw-app-exchange
9
+
3
10
  ## 0.6.1
4
11
 
5
12
  ### Patch Changes
package/lib/Exchange.d.ts CHANGED
@@ -38,7 +38,7 @@ export default class Exchange {
38
38
  */
39
39
  private processSplitTransaction;
40
40
  checkTransactionSignature(transactionSignature: Buffer): Promise<void>;
41
- checkPayoutAddress(payoutCurrencyConfig: Buffer, currencyConfigSignature: Buffer, addressParameters: Buffer): Promise<void>;
41
+ validatePayoutOrAsset(payoutCurrencyConfig: Buffer, currencyConfigSignature: Buffer, addressParameters: Buffer): Promise<void>;
42
42
  checkRefundAddress(refundCurrencyConfig: Buffer, currencyConfigSignature: Buffer, addressParameters: Buffer): Promise<void>;
43
43
  signCoinTransaction(): Promise<void>;
44
44
  private getPartnerKeyInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"Exchange.d.ts","sourceRoot":"","sources":["../src/Exchange.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC,0BAAkB,SAAS;IACzB,KAAK,IAAO;IACZ,QAAQ,IAAO;CAChB;AAED,0BAAkB,aAAa;IAC7B,IAAI,IAAO;IACX,IAAI,IAAO;IACX,IAAI,IAAO;IACX,MAAM,IAAO;IACb,MAAM,IAAO;IACb,MAAM,IAAO;CACd;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAE7D;AA0BD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,8BAA8B,CAAC;CAC1D,CAAC;AAKF,MAAM,MAAM,8BAA8B,GAAG,KAAK,GAAG,KAAK,CAAC;AA+B3D,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,aAAa,EAC9B,eAAe,CAAC,EAAE,SAAS,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,QAAQ,CAEV;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,aAAa,CAAC;IAC/B,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAA6C;gBAE/D,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC,EAAE,SAAS;IAMvF,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAwBtC,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAalD,YAAY,CAAC,sBAAsB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3D,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,SAAS,EACd,UAAU,CAAC,EAAE,8BAA8B,GAC1C,OAAO,CAAC,IAAI,CAAC;IAgDhB;;;OAGG;YACW,uBAAuB;IAwB/B,yBAAyB,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtE,kBAAkB,CACtB,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAC/B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC;IAyBV,kBAAkB,CACtB,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAC/B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC;IAyBV,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAY1C,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,gBAAgB;CAGzB"}
1
+ {"version":3,"file":"Exchange.d.ts","sourceRoot":"","sources":["../src/Exchange.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC,0BAAkB,SAAS;IACzB,KAAK,IAAO;IACZ,QAAQ,IAAO;CAChB;AAED,0BAAkB,aAAa;IAC7B,IAAI,IAAO;IACX,IAAI,IAAO;IACX,IAAI,IAAO;IACX,MAAM,IAAO;IACb,MAAM,IAAO;IACb,MAAM,IAAO;CACd;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAE7D;AA4BD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,8BAA8B,CAAC;CAC1D,CAAC;AAKF,MAAM,MAAM,8BAA8B,GAAG,KAAK,GAAG,KAAK,CAAC;AA+B3D,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,aAAa,EAC9B,eAAe,CAAC,EAAE,SAAS,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,QAAQ,CAEV;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,aAAa,CAAC;IAC/B,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAA6C;gBAE/D,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC,EAAE,SAAS;IAMvF,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAwBtC,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAalD,YAAY,CAAC,sBAAsB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3D,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,SAAS,EACd,UAAU,CAAC,EAAE,8BAA8B,GAC1C,OAAO,CAAC,IAAI,CAAC;IAgDhB;;;OAGG;YACW,uBAAuB;IAwB/B,yBAAyB,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtE,qBAAqB,CACzB,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAC/B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC;IA2BV,kBAAkB,CACtB,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAC/B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC;IAyBV,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAY1C,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,gBAAgB;CAGzB"}
@@ -12,6 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ const bip32_path_1 = __importDefault(require("bip32-path"));
15
16
  const hw_transport_node_speculos_http_1 = __importDefault(require("@ledgerhq/hw-transport-node-speculos-http"));
16
17
  const Exchange_1 = __importDefault(require("./Exchange"));
17
18
  const crypto_1 = require("crypto");
@@ -113,7 +114,9 @@ describe("Check SWAP until payload signature", () => {
113
114
  encodedPayload = convertToJWSPayload(encodedPayload);
114
115
  const estimatedFees = new bignumber_js_1.default(0);
115
116
  yield exchange.processTransaction(encodedPayload, estimatedFees, "jws");
117
+ console.log("DEBUG - SWAP partner encoded payload:", encodedPayload.toString("hex"));
116
118
  const payloadSignature = yield signMessage(encodedPayload, partnerPrivKey, "rs");
119
+ console.log("DEBUG - SWAP partner payload signature:", Buffer.from(payloadSignature).toString("hex"));
117
120
  yield exchange.checkTransactionSignature(payloadSignature);
118
121
  }));
119
122
  it("NG SWAP with prepared data", () => __awaiter(void 0, void 0, void 0, function* () {
@@ -124,16 +127,75 @@ describe("Check SWAP until payload signature", () => {
124
127
  // Then
125
128
  expect(transactionId).toEqual(expect.any(String));
126
129
  expect(transactionId).toHaveLength(64);
127
- const { partnerInfo, partnerSigned } = yield appExchangeDataset(ngSignFormat);
130
+ const { partnerInfo, partnerSigned, apdu } = yield appExchangeDataset(ngSignFormat);
128
131
  yield exchange.setPartnerKey(partnerInfo);
132
+ console.log("DEBUG - Swap partner APDU:", apdu.toString("hex"));
133
+ console.log("DEBUG - Swap partner signed:", Buffer.from(partnerSigned).toString("hex"));
129
134
  yield exchange.checkPartner(partnerSigned);
130
135
  const encodedPayload = Buffer.from(".CipiYzFxYXIwc3Jycjd4Zmt2eTVsNjQzbHlkbnc5cmU1OWd0enp3ZjVtZHEaKmJjMXFhcjBzcnJyN3hma3Z5NWw2NDNseWRudzlyZTU5Z3R6endmNHRlcSoqMHhiNzk0ZjVlYTBiYTM5NDk0Y2U4Mzk2MTNmZmZiYTc0Mjc5NTc5MjY4OgNCVENCA0JBVEoCBH5SBgV0-95gAGIgNQrqDJf3R_HQ92CBRhSkdSOAGxrrfQvLuqKk9Gv4GEs=");
131
136
  const estimatedFees = new bignumber_js_1.default(0);
132
137
  yield exchange.processTransaction(encodedPayload, estimatedFees, "jws");
138
+ console.log("DEBUG - SWAP partner encoded payload:", encodedPayload.toString("hex"));
133
139
  // const payloadSignature = await signMessage(encodedPayload, partnerPrivKey, "rs");
134
140
  const payloadSignature = Buffer.from("zGcNUYKM8sLxvT7zPU1C8vrMmanVlUroELnAeil4weo1LCk0zUBRse5-3Acv7I7II90xVTIxm26BnxRbZvVmTQ==", "base64url");
141
+ console.log("DEBUG - SWAP partner payload signature:", Buffer.from(payloadSignature).toString("hex"));
135
142
  yield exchange.checkTransactionSignature(payloadSignature);
136
143
  }));
144
+ it("NG SWAP with TON", () => __awaiter(void 0, void 0, void 0, function* () {
145
+ // Given
146
+ const exchange = new Exchange_1.default(transport, 3 /* ExchangeTypes.SwapNg */);
147
+ // When
148
+ const transactionId = yield exchange.startNewTransaction();
149
+ // Then
150
+ expect(transactionId).toEqual(expect.any(String));
151
+ expect(transactionId).toHaveLength(64);
152
+ const { partnerInfo, partnerSigned, apdu, partnerPrivKey } = yield appExchangeDatasetTest(ngSignFormat);
153
+ yield exchange.setPartnerKey(partnerInfo);
154
+ console.log("DEBUG - Swap partner APDU:", apdu.toString("hex"));
155
+ console.log("DEBUG - Swap partner signed:", Buffer.from(partnerSigned).toString("hex"));
156
+ yield exchange.checkPartner(partnerSigned);
157
+ const amount = new bignumber_js_1.default(100);
158
+ const amountToWallet = new bignumber_js_1.default(1000);
159
+ // Extra properties have a limited size of 20 (i.e. app-exchange/src/proto/protocol.options)
160
+ let encodedPayload = yield generateSwapPayloadProtobuf({
161
+ payinAddress: "UQAbvs2tCnsTWxCZX7JW-dqlk0vM8x_m8aJqF4wwRWGtTEZD",
162
+ refundAddress: "UQAbvs2tCnsTWxCZX7JW-dqlk0vM8x_m8aJqF4wwRWGtTEZD",
163
+ payoutAddress: "0x66c4371aE8FFeD2ec1c2EBbbcCfb7E494181E1E3",
164
+ // payinAddress: "UQCa_2bcwBt5eH9gOMgHC497nyfjgSl8hGpZ90O7B17WHA==",
165
+ // refundAddress: "UQCa_2bcwBt5eH9gOMgHC497nyfjgSl8hGpZ90O7B17WHA==",
166
+ // payoutAddress: "0xDad77910DbDFdE764fC21FCD4E74D71bBACA6D8D",
167
+ currencyFrom: "TON",
168
+ currencyTo: "ETH",
169
+ amountToProvider: Buffer.from(amount.toString(16), "hex"),
170
+ amountToWallet: Buffer.from(amountToWallet.toString(16), "hex"),
171
+ deviceTransactionIdNg: Buffer.from(transactionId.padStart(32, "0"), "hex"),
172
+ });
173
+ encodedPayload = convertToJWSPayload(encodedPayload);
174
+ const estimatedFees = new bignumber_js_1.default(0);
175
+ yield exchange.processTransaction(encodedPayload, estimatedFees, "jws");
176
+ console.log("DEBUG - SWAP partner encoded payload:", encodedPayload.toString("hex"));
177
+ const payloadSignature = yield signMessage(encodedPayload, partnerPrivKey, "rs");
178
+ console.log("DEBUG - SWAP partner payload signature:", Buffer.from(payloadSignature).toString("hex"));
179
+ yield exchange.checkTransactionSignature(payloadSignature);
180
+ const configEth = {
181
+ config: Buffer.from("0345544808457468657265756d050345544812", "hex"),
182
+ signature: Buffer.from("3044022065d7931ab3144362d57e3fdcc5de921fb65024737d917f0ab1f8b173d1ed3c2e022027493568d112dc53c7177f8e5fc915d91a903780a067badf109085a73d360323", "hex"),
183
+ };
184
+ let addressParameters = bip32asBuffer("44'/60'/0'/0/0");
185
+ yield exchange.validatePayoutOrAsset(configEth.config, configEth.signature, addressParameters);
186
+ const delay = (milliseconds) => {
187
+ return new Promise(resolve => {
188
+ setTimeout(resolve, milliseconds);
189
+ });
190
+ };
191
+ yield delay(500);
192
+ const configTon = {
193
+ config: Buffer.from("03544f4e03544f4e00", "hex"),
194
+ signature: Buffer.from("3045022100b35be5d1ad0d71572b5f3d72b40766521d5492fad6ed54289a64488bec3344a902205b522b7b8c7c800826bcd0bda092e84db5d1c23f6061c8b57c8efb3641d243a7", "hex"),
195
+ };
196
+ addressParameters = bip32asBuffer("44'/607'/0'/0'/0'/0'");
197
+ yield exchange.checkRefundAddress(configTon.config, configTon.signature, addressParameters);
198
+ }));
137
199
  it("NG Sell", () => __awaiter(void 0, void 0, void 0, function* () {
138
200
  // Given
139
201
  const exchange = new Exchange_1.default(transport, 4 /* ExchangeTypes.SellNg */);
@@ -142,10 +204,10 @@ describe("Check SWAP until payload signature", () => {
142
204
  // Then
143
205
  expect(transactionId).toEqual(expect.any(String));
144
206
  expect(transactionId).toHaveLength(64);
145
- const { partnerInfo, partnerSigned, partnerPrivKey } = yield appExchangeSellDataset(ngSignFormat);
207
+ const { partnerInfo, partnerSigned, partnerPrivKey, apdu } = yield appExchangeSellDataset(ngSignFormat);
146
208
  yield exchange.setPartnerKey(partnerInfo);
147
- console.log("DEBUG - Sell partner info:", partnerInfo);
148
- console.log("DEBUG - Sell partner info:", partnerInfo.publicKey.toString("hex"));
209
+ console.log("DEBUG - Sell partner pubkey:", partnerInfo.publicKey.toString("hex"));
210
+ console.log("DEBUG - Sell partner APDU:", apdu.toString("hex"));
149
211
  console.log("DEBUG - Sell partner signed:", Buffer.from(partnerSigned).toString("hex"));
150
212
  yield exchange.checkPartner(partnerSigned);
151
213
  const amount = new bignumber_js_1.default(100000);
@@ -164,10 +226,108 @@ describe("Check SWAP until payload signature", () => {
164
226
  encodedPayload = convertToJWSPayload(encodedPayload);
165
227
  const estimatedFees = new bignumber_js_1.default(0);
166
228
  yield exchange.processTransaction(encodedPayload, estimatedFees, "jws");
229
+ console.log("DEBUG - SELL partner encoded payload:", encodedPayload.toString("hex"));
167
230
  const payloadSignature = yield signMessage(encodedPayload, partnerPrivKey, "rs");
231
+ console.log("DEBUG - SELL partner payload signature:", Buffer.from(payloadSignature).toString("hex"));
168
232
  yield exchange.checkTransactionSignature(payloadSignature);
169
233
  }));
170
234
  });
235
+ describe("Test internal sign and verification functionality", () => {
236
+ describe("With Ledger keys", () => {
237
+ const privKey = Buffer.from("b1ed47ef58f782e2bc4d5abe70ef66d9009c2957967017054470e0f3e10f5833", "hex");
238
+ const pubKey = Buffer.from("0420da62003c0ce097e33644a10fe4c30454069a4454f0fa9d4e84f45091429b5220af9e35c0b2d9289380137307de4dd1d418428cf21a93b33561bb09d88fe579", "hex");
239
+ test("simple signature", () => __awaiter(void 0, void 0, void 0, function* () {
240
+ // Given
241
+ const msg = "Something important to cipher";
242
+ // When
243
+ const sig = yield signMessage(Buffer.from(msg), privKey, "rs");
244
+ console.log("DEBUG - Test internal: message signature", Buffer.from(sig).toString("hex"));
245
+ // Then
246
+ const hashBuffer = yield crypto_1.subtle.digest("SHA-256", Buffer.from(msg));
247
+ const hash = new Uint8Array(hashBuffer);
248
+ expect(secp256k1_1.default.ecdsaVerify(sig, hash, pubKey)).toBeTruthy();
249
+ }));
250
+ test("APDU signature generated by this test suite", () => __awaiter(void 0, void 0, void 0, function* () {
251
+ // Given
252
+ const msg = "0953454c4c5f54455354000478d5facdae2305f48795d3ce7d9244f5060d2f800901da5746d1f4177ae8d7bbe63f3870efc0d36af8f91962811e1d8d9df91ce3b3ea2cd9f550c7d465f8b7b3";
253
+ // When
254
+ const sig = Buffer.from("30440220471b035b40dafa095d615998c82202b2bd00fb45670b828f1dda3b68e5b24cc3022022a1c64d02b8c14e1e4cc2d05b00234642c11db3d4461ff5366f5af337cf0ced", "hex");
255
+ console.log("DEBUG - Test internal: message signature", Buffer.from(sig).toString("hex"));
256
+ // Then
257
+ const hashBuffer = yield crypto_1.subtle.digest("SHA-256", Buffer.from(msg, "hex"));
258
+ const hash = new Uint8Array(hashBuffer);
259
+ expect(secp256k1_1.default.ecdsaVerify(convertSignatureFromDER(sig), hash, pubKey)).toBeTruthy();
260
+ }));
261
+ test("APDU signature generated by external tool", () => __awaiter(void 0, void 0, void 0, function* () {
262
+ // Given
263
+ // {"name":"TEST_PROVIDER","payloadSignatureComputedFormat":"jws","publicKey":{"curve":"secp256r1","data":"047c13debdb9e1afac5a82bbe78da6dca98a2e59af8a9a3f827acb8ed325c79a6c5749eff65d4e3470bd2995def771f45426c58eada7227d536feeffb58fa71c24"},"service":{"appVersion":2,"name":"swap"},"signature":"3045022072e6773318af531e478c40f53815d2fa0a1c06c49519bb693ff234662fb6558802210083ab26162da41d3c429dd10051f565440576193031eb0590a9ea200af987f062"}
264
+ const msg = "0d544553545f50524f564944455201047c13debdb9e1afac5a82bbe78da6dca98a2e59af8a9a3f827acb8ed325c79a6c5749eff65d4e3470bd2995def771f45426c58eada7227d536feeffb58fa71c24";
265
+ const apdu = ngSignFormat({
266
+ name: "TEST_PROVIDER",
267
+ curve: "secp256r1",
268
+ publicKey: Buffer.from("047c13debdb9e1afac5a82bbe78da6dca98a2e59af8a9a3f827acb8ed325c79a6c5749eff65d4e3470bd2995def771f45426c58eada7227d536feeffb58fa71c24", "hex"),
269
+ // signatureComputedFormat?: PayloadSignatureComputedFormat;
270
+ });
271
+ console.log("DEBUG - Test internal: expected APDU to sign\t", apdu.toString("hex"));
272
+ console.log("DEBUG - Test internal: APDU to sign\t", msg);
273
+ // When
274
+ // const sig = Buffer.from(
275
+ // "3045022068e5971fdad78583e7bb28adac09212108966fd2ed4f8ad206499bca59f0ad12022100aed715d306f772524b805dd4f91afc79b4bda1a14f91d90ea78739e05461d6c7",
276
+ // "hex",
277
+ // );
278
+ const sig = yield signMessage(Buffer.from(msg, "hex"), LEDGER_FAKE_PRIVATE_KEY, "der");
279
+ console.log("DEBUG - Test internal: message signature", Buffer.from(sig).toString("hex"));
280
+ // Then
281
+ const hashBuffer = yield crypto_1.subtle.digest("SHA-256", Buffer.from(msg, "hex"));
282
+ const hash = new Uint8Array(hashBuffer);
283
+ expect(secp256k1_1.default.ecdsaVerify(convertSignatureFromDER(sig), hash, pubKey)).toBeTruthy();
284
+ }));
285
+ test("APDU signature already validated", () => __awaiter(void 0, void 0, void 0, function* () {
286
+ // Given
287
+ const msg = legacySignFormat({
288
+ name: "Coinify",
289
+ curve: "secp256r1",
290
+ publicKey: Buffer.from("044f22668f5f321d3784266c932a2a3141c3ec196ddd51f42cf975267eda23d3a8b02170e4c5c70536e7d03ba4e66ee3e1f9d65e772d3217871a830a7cf60da366", "hex"),
291
+ // signatureComputedFormat?: PayloadSignatureComputedFormat;
292
+ });
293
+ console.log("DEBUG - Test internal: APDU to sign", msg.toString("hex"));
294
+ // When
295
+ const sig = Buffer.from("30450221008e8b2172ddd48e196dbff81ebe8aebc4ec0988f72de1b02da202f3a8d8f33f9c02205273c1d426aeb460fd36a27696aafda68bdff4139886f29e558895ea85527749", "hex");
296
+ // const sig = await signMessage(Buffer.from(msg, "hex"), LEDGER_FAKE_PRIVATE_KEY, "der");
297
+ console.log("DEBUG - Test internal: message signature", Buffer.from(sig).toString("hex"));
298
+ // Then
299
+ const hashBuffer = yield crypto_1.subtle.digest("SHA-256", msg);
300
+ const hash = new Uint8Array(hashBuffer);
301
+ expect(secp256k1_1.default.ecdsaVerify(convertSignatureFromDER(sig), hash, pubKey)).toBeTruthy();
302
+ }));
303
+ });
304
+ describe("With SELL keys", () => {
305
+ const privKey = Buffer.from("308f6a5369aea611d89abf937d0ffaf0b43b457d42cbf0cf754786b3088f17ae", "hex");
306
+ const pubKey = Buffer.from("0478d5facdae2305f48795d3ce7d9244f5060d2f800901da5746d1f4177ae8d7bbe63f3870efc0d36af8f91962811e1d8d9df91ce3b3ea2cd9f550c7d465f8b7b3", "hex");
307
+ test("SELL private and public K1 key pair", () => __awaiter(void 0, void 0, void 0, function* () {
308
+ // Given
309
+ const msg = "Something important to cipher";
310
+ // When
311
+ const sig = yield signMessage(Buffer.from(msg), privKey, "rs");
312
+ console.log("DEBUG - Test internal: message signature", Buffer.from(sig).toString("hex"));
313
+ // Then
314
+ const hashBuffer = yield crypto_1.subtle.digest("SHA-256", Buffer.from(msg));
315
+ const hash = new Uint8Array(hashBuffer);
316
+ expect(secp256k1_1.default.ecdsaVerify(sig, hash, pubKey)).toBeTruthy();
317
+ }));
318
+ test("SELL verify payload signature", () => __awaiter(void 0, void 0, void 0, function* () {
319
+ // Given
320
+ const msg = "2e436735305a584e305147786c5a47646c6369356d636849445256524947674959616949714d48686b4e6a6b79513249784d7a51324d6a5979526a55344e4551784e304930516a51334d446b314e4455774d5759324e7a4531595467794b674e465656497942416f41454145364944554b366779583930667830506467675559557048556a674273613633304c79377169705052722d42684c";
321
+ // When
322
+ const sig = Buffer.from("348e938ce75c06da9a27652c2af6146b4581f948c600b4f7093743e8af256d172324131dcc852f068d0bd20afd0c8444bc635e9520d3a29cab7ff7c27dc8b782", "hex");
323
+ console.log("DEBUG - Test internal: message signature", Buffer.from(sig).toString("hex"));
324
+ // Then
325
+ const hashBuffer = yield crypto_1.subtle.digest("SHA-256", Buffer.from(msg, "hex"));
326
+ const hash = new Uint8Array(hashBuffer);
327
+ expect(secp256k1_1.default.ecdsaVerify(sig, hash, pubKey)).toBeTruthy();
328
+ }));
329
+ });
330
+ });
171
331
  // Those information comes from dataset test of app-exchange (i.e. check signing_authority.py file).
172
332
  // The public key is bundle with DEBUG version of app-exchange.
173
333
  const LEDGER_FAKE_PRIVATE_KEY = Buffer.from("b1ed47ef58f782e2bc4d5abe70ef66d9009c2957967017054470e0f3e10f5833", "hex");
@@ -178,11 +338,15 @@ const legacySignFormat = (info) => {
178
338
  info.publicKey,
179
339
  ]);
180
340
  };
341
+ const curves = {
342
+ secp256k1: 0x00,
343
+ secp256r1: 0x01,
344
+ };
181
345
  const ngSignFormat = (info) => {
182
346
  return Buffer.concat([
183
347
  Buffer.from([info.name.length]),
184
348
  Buffer.from(info.name, "ascii"),
185
- Buffer.from([0x00]),
349
+ Buffer.from([curves[info.curve]]),
186
350
  info.publicKey,
187
351
  ]);
188
352
  };
@@ -205,6 +369,7 @@ function appExchangeDatasetTest(signFormat) {
205
369
  const sig = yield signMessage(msg, LEDGER_FAKE_PRIVATE_KEY, "der");
206
370
  return {
207
371
  partnerInfo,
372
+ apdu: msg,
208
373
  partnerSigned: sig,
209
374
  partnerPrivKey: privKey,
210
375
  };
@@ -223,6 +388,7 @@ function appExchangeDataset(signFormat) {
223
388
  const sig = yield signMessage(msg, LEDGER_FAKE_PRIVATE_KEY, "der");
224
389
  return {
225
390
  partnerInfo,
391
+ apdu: msg,
226
392
  partnerSigned: sig,
227
393
  };
228
394
  });
@@ -241,6 +407,7 @@ function appExchangeSellDataset(signFormat) {
241
407
  const sig = yield signMessage(msg, LEDGER_FAKE_PRIVATE_KEY, "der");
242
408
  return {
243
409
  partnerInfo,
410
+ apdu: msg,
244
411
  partnerSigned: sig,
245
412
  partnerPrivKey: privKey,
246
413
  };
@@ -291,4 +458,16 @@ function convertSignatureToDER(sig) {
291
458
  function convertToJWSPayload(raw) {
292
459
  return Buffer.from("." + raw.toString("base64url"));
293
460
  }
461
+ function convertSignatureFromDER(sig) {
462
+ return secp256k1_1.default.signatureImport(sig);
463
+ }
464
+ function bip32asBuffer(path) {
465
+ const pathElements = !path ? [] : bip32_path_1.default.fromString(path).toPathArray();
466
+ const buffer = Buffer.alloc(1 + pathElements.length * 4);
467
+ buffer[0] = pathElements.length;
468
+ pathElements.forEach((element, index) => {
469
+ buffer.writeUInt32BE(element, 1 + 4 * index);
470
+ });
471
+ return buffer;
472
+ }
294
473
  //# sourceMappingURL=Exchange.integ.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Exchange.integ.test.js","sourceRoot":"","sources":["../src/Exchange.integ.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gHAA8E;AAC9E,0DAAqE;AAErE,mCAA6C;AAC7C,0DAAkC;AAClC,4DAAkC;AAClC,gEAAqC;AAErC,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,IAAI,SAAoB,CAAC;IAEzB,SAAS,CAAC,GAAS,EAAE;QACnB,SAAS,GAAG,MAAM,yCAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAA,CAAC,CAAC;IACH,QAAQ,CAAC,GAAS,EAAE;QAClB,SAAS,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAS,EAAE;QAC3B,QAAQ;QACR,MAAM,QAAQ,GAAG,IAAI,kBAAQ,CAAC,SAAS,6BAAqB,CAAC;QAE7D,OAAO;QACP,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAE3D,OAAO;QACP,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEvC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAClD,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QACjD,MAAM,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAE1C,MAAM,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,cAAc,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,MAAM,2BAA2B,CAAC;YACvD,YAAY,EAAE,4CAA4C;YAC1D,aAAa,EAAE,4CAA4C;YAC3D,aAAa,EAAE,4CAA4C;YAC3D,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YACzD,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAC/D,mBAAmB,EAAE,aAAa;SACnC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAEjE,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QAClF,MAAM,QAAQ,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,EAAE,GAAS,EAAE;QACvB,QAAQ;QACR,MAAM,QAAQ,GAAG,IAAI,kBAAQ,CAAC,SAAS,+BAAuB,CAAC;QAE/D,OAAO;QACP,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAE3D,OAAO;QACP,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEvC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAClD,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAE1C,MAAM,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,MAAO,CAAC,CAAC;QACtC,MAAM,cAAc,GAAG,IAAI,sBAAS,CAAC,YAAe,CAAC,CAAC;QACtD,IAAI,cAAc,GAAG,MAAM,2BAA2B,CAAC;YACrD,YAAY,EAAE,4CAA4C;YAC1D,aAAa,EAAE,4CAA4C;YAC3D,aAAa,EAAE,4CAA4C;YAC3D,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YACzD,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAC/D,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC;SAC3E,CAAC,CAAC;QACH,cAAc,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAErD,MAAM,aAAa,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAExE,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACjF,MAAM,QAAQ,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAS,EAAE;QACvE,QAAQ;QACR,MAAM,QAAQ,GAAG,IAAI,kBAAQ,CAAC,SAAS,+BAAuB,CAAC;QAE/D,OAAO;QACP,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAE3D,OAAO;QACP,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEvC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAClD,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAE1C,MAAM,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,MAAO,CAAC,CAAC;QACtC,MAAM,cAAc,GAAG,IAAI,sBAAS,CAAC,YAAe,CAAC,CAAC;QACtD,4FAA4F;QAC5F,IAAI,cAAc,GAAG,MAAM,2BAA2B,CAAC;YACrD,YAAY,EAAE,4CAA4C;YAC1D,YAAY,EAAE,qBAAqB;YACnC,aAAa,EAAE,4CAA4C;YAC3D,aAAa,EAAE,qBAAqB;YACpC,aAAa,EAAE,4CAA4C;YAC3D,aAAa,EAAE,qBAAqB;YACpC,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YACzD,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAC/D,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC;SAC3E,CAAC,CAAC;QACH,cAAc,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAErD,MAAM,aAAa,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAExE,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACjF,MAAM,QAAQ,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC1C,QAAQ;QACR,MAAM,QAAQ,GAAG,IAAI,kBAAQ,CAAC,SAAS,+BAAuB,CAAC;QAE/D,OAAO;QACP,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAE3D,OAAO;QACP,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEvC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC9E,MAAM,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAE1C,MAAM,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAE3C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAChC,+PAA+P,CAChQ,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAExE,oFAAoF;QACpF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAClC,0FAA0F,EAC1F,WAAW,CACZ,CAAC;QACF,MAAM,QAAQ,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,EAAE,GAAS,EAAE;QACvB,QAAQ;QACR,MAAM,QAAQ,GAAG,IAAI,kBAAQ,CAAC,SAAS,+BAAuB,CAAC;QAE/D,OAAO;QACP,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAE3D,OAAO;QACP,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEvC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAClD,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAExF,MAAM,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,MAAO,CAAC,CAAC;QACtC,IAAI,cAAc,GAAG,MAAM,2BAA2B,CAAC;YACrD,WAAW,EAAE,gBAAgB;YAC7B,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YACjD,SAAS,EAAE,4CAA4C;YACvD,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE;gBACT,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;gBACpC,QAAQ,EAAE,CAAC;aACZ;YACD,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC;SACzE,CAAC,CAAC;QACH,cAAc,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAErD,MAAM,aAAa,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAExE,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACjF,MAAM,QAAQ,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,oGAAoG;AACpG,+DAA+D;AAC/D,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CACzC,kEAAkE,EAClE,KAAK,CACN,CAAC;AAGF,MAAM,gBAAgB,GAAsB,CAAC,IAAoB,EAAE,EAAE;IACnE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS;KACf,CAAC,CAAC;AACL,CAAC,CAAC;AACF,MAAM,YAAY,GAAsB,CAAC,IAAoB,EAAE,EAAE;IAC/D,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,SAAS;KACf,CAAC,CAAC;AACL,CAAC,CAAC;AACF,SAAe,sBAAsB,CAAC,UAA6B;;QACjE,+BAA+B;QAC/B,IAAI,OAAO,CAAC;QACZ,GAAG,CAAC;YACF,OAAO,GAAG,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,QAAQ,CAAC,mBAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAC/C,sFAAsF;QACtF,MAAM,YAAY,GAAG,KAAK,CAAC;QAC3B,MAAM,MAAM,GAAG,mBAAS,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEhE,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,MAAM;SAClB,CAAC;QACF,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAEnE,OAAO;YACL,WAAW;YACX,aAAa,EAAE,GAAG;YAClB,cAAc,EAAE,OAAO;SACxB,CAAC;IACJ,CAAC;CAAA;AACD,SAAe,kBAAkB,CAAC,UAA6B;;QAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CACxB,oIAAoI,EACpI,KAAK,CACN,CAAC;QACF,mBAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,MAAM;SAClB,CAAC;QACF,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAEnE,OAAO;YACL,WAAW;YACX,aAAa,EAAE,GAAG;SACnB,CAAC;IACJ,CAAC;CAAA;AACD,SAAe,sBAAsB,CAAC,UAA6B;;QACjE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,kEAAkE,EAClE,KAAK,CACN,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CACxB,oIAAoI,EACpI,KAAK,CACN,CAAC;QACF,mBAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,MAAM;SAClB,CAAC;QACF,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAEnE,OAAO;YACL,WAAW;YACX,aAAa,EAAE,GAAG;YAClB,cAAc,EAAE,OAAO;SACxB,CAAC;IACJ,CAAC;CAAA;AAoBD,SAAe,2BAA2B,CAAC,OAAoB;;QAC7D,MAAM,IAAI,GAAG,MAAM,oBAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;QAClF,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAEpE,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC;CAAA;AAeD,SAAe,2BAA2B,CAAC,OAAoB;;QAC7D,MAAM,IAAI,GAAG,MAAM,oBAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAE7D,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC;CAAA;AAGD,sFAAsF;AACtF,SAAe,WAAW,CACxB,OAAe,EACf,OAAe,EACf,SAAoB;;QAEpB,MAAM,UAAU,GAAG,MAAM,eAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;QAExC,MAAM,GAAG,GAAG,mBAAS,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC;QACzD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CAAA;AAED,SAAS,qBAAqB,CAAC,GAAe;IAC5C,OAAO,mBAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,iEAAiE;AACjE,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"Exchange.integ.test.js","sourceRoot":"","sources":["../src/Exchange.integ.test.ts"],"names":[],"mappings":"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"}
package/lib/Exchange.js CHANGED
@@ -27,9 +27,11 @@ const CHECK_PARTNER_COMMAND = 0x05;
27
27
  const PROCESS_TRANSACTION_RESPONSE = 0x06;
28
28
  const CHECK_TRANSACTION_SIGNATURE = 0x07;
29
29
  const CHECK_PAYOUT_ADDRESS = 0x08;
30
- const CHECK_ASSET_IN = 0x08;
31
30
  const CHECK_REFUND_ADDRESS = 0x09;
31
+ // const CHECK_REFUND_ADDRESS_AND_DISPLAY = 0x09;
32
+ // const CHECK_REFUND_ADDRESS_NO_DISPLAY = 0x0c;
32
33
  const SIGN_COIN_TRANSACTION = 0x0a;
34
+ const CHECK_ASSET_IN_AND_DISPLAY = 0x0b;
33
35
  // Extension for PROCESS_TRANSACTION_RESPONSE APDU
34
36
  const P2_NONE = 0x00 << 4;
35
37
  const P2_EXTEND = 0x01 << 4;
@@ -183,7 +185,7 @@ class Exchange {
183
185
  maybeThrowProtocolError(result);
184
186
  });
185
187
  }
186
- checkPayoutAddress(payoutCurrencyConfig, currencyConfigSignature, addressParameters) {
188
+ validatePayoutOrAsset(payoutCurrencyConfig, currencyConfigSignature, addressParameters) {
187
189
  return __awaiter(this, void 0, void 0, function* () {
188
190
  (0, invariant_1.default)(payoutCurrencyConfig.length <= 255, "Currency config is too big");
189
191
  (0, invariant_1.default)(addressParameters.length <= 255, "Address parameter is too big.");
@@ -195,7 +197,9 @@ class Exchange {
195
197
  Buffer.from([addressParameters.length]),
196
198
  addressParameters,
197
199
  ]);
198
- const result = yield this.transport.send(0xe0, this.transactionType === 0 /* ExchangeTypes.Swap */ ? CHECK_PAYOUT_ADDRESS : CHECK_ASSET_IN, this.transactionRate, this.transactionType, bufferToSend, this.allowedStatuses);
200
+ const result = yield this.transport.send(0xe0, this.transactionType === 0 /* ExchangeTypes.Swap */ || this.transactionType === 3 /* ExchangeTypes.SwapNg */
201
+ ? CHECK_PAYOUT_ADDRESS
202
+ : CHECK_ASSET_IN_AND_DISPLAY, this.transactionRate, this.transactionType, bufferToSend, this.allowedStatuses);
199
203
  maybeThrowProtocolError(result);
200
204
  });
201
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Exchange.js","sourceRoot":"","sources":["../src/Exchange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Exchange.js","sourceRoot":"","sources":["../src/Exchange.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ export default class Exchange {
38
38
  */
39
39
  private processSplitTransaction;
40
40
  checkTransactionSignature(transactionSignature: Buffer): Promise<void>;
41
- checkPayoutAddress(payoutCurrencyConfig: Buffer, currencyConfigSignature: Buffer, addressParameters: Buffer): Promise<void>;
41
+ validatePayoutOrAsset(payoutCurrencyConfig: Buffer, currencyConfigSignature: Buffer, addressParameters: Buffer): Promise<void>;
42
42
  checkRefundAddress(refundCurrencyConfig: Buffer, currencyConfigSignature: Buffer, addressParameters: Buffer): Promise<void>;
43
43
  signCoinTransaction(): Promise<void>;
44
44
  private getPartnerKeyInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"Exchange.d.ts","sourceRoot":"","sources":["../src/Exchange.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC,0BAAkB,SAAS;IACzB,KAAK,IAAO;IACZ,QAAQ,IAAO;CAChB;AAED,0BAAkB,aAAa;IAC7B,IAAI,IAAO;IACX,IAAI,IAAO;IACX,IAAI,IAAO;IACX,MAAM,IAAO;IACb,MAAM,IAAO;IACb,MAAM,IAAO;CACd;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAE7D;AA0BD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,8BAA8B,CAAC;CAC1D,CAAC;AAKF,MAAM,MAAM,8BAA8B,GAAG,KAAK,GAAG,KAAK,CAAC;AA+B3D,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,aAAa,EAC9B,eAAe,CAAC,EAAE,SAAS,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,QAAQ,CAEV;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,aAAa,CAAC;IAC/B,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAA6C;gBAE/D,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC,EAAE,SAAS;IAMvF,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAwBtC,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAalD,YAAY,CAAC,sBAAsB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3D,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,SAAS,EACd,UAAU,CAAC,EAAE,8BAA8B,GAC1C,OAAO,CAAC,IAAI,CAAC;IAgDhB;;;OAGG;YACW,uBAAuB;IAwB/B,yBAAyB,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtE,kBAAkB,CACtB,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAC/B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC;IAyBV,kBAAkB,CACtB,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAC/B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC;IAyBV,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAY1C,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,gBAAgB;CAGzB"}
1
+ {"version":3,"file":"Exchange.d.ts","sourceRoot":"","sources":["../src/Exchange.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC,0BAAkB,SAAS;IACzB,KAAK,IAAO;IACZ,QAAQ,IAAO;CAChB;AAED,0BAAkB,aAAa;IAC7B,IAAI,IAAO;IACX,IAAI,IAAO;IACX,IAAI,IAAO;IACX,MAAM,IAAO;IACb,MAAM,IAAO;IACb,MAAM,IAAO;CACd;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAE7D;AA4BD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,8BAA8B,CAAC;CAC1D,CAAC;AAKF,MAAM,MAAM,8BAA8B,GAAG,KAAK,GAAG,KAAK,CAAC;AA+B3D,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,aAAa,EAC9B,eAAe,CAAC,EAAE,SAAS,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,QAAQ,CAEV;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,aAAa,CAAC;IAC/B,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAA6C;gBAE/D,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC,EAAE,SAAS;IAMvF,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAwBtC,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAalD,YAAY,CAAC,sBAAsB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3D,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,SAAS,EACd,UAAU,CAAC,EAAE,8BAA8B,GAC1C,OAAO,CAAC,IAAI,CAAC;IAgDhB;;;OAGG;YACW,uBAAuB;IAwB/B,yBAAyB,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtE,qBAAqB,CACzB,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAC/B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC;IA2BV,kBAAkB,CACtB,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAC/B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC;IAyBV,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAY1C,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,gBAAgB;CAGzB"}