@ledgerhq/hw-app-solana 7.5.5 → 7.6.0-nightly.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,11 @@
1
1
  # @ledgerhq/hw-app-solana
2
2
 
3
+ ## 7.6.0-nightly.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#12199](https://github.com/LedgerHQ/ledger-live/pull/12199) [`2a67525`](https://github.com/LedgerHQ/ledger-live/commit/2a67525bfce19b673126ce6dddfca240559b10db) Thanks [@dilaouid](https://github.com/dilaouid)! - feat(solana): new P2 field user input type ATA/SOL
8
+
3
9
  ## 7.5.5
4
10
 
5
11
  ### Patch Changes
package/README.md CHANGED
@@ -113,6 +113,7 @@ Sign a Solana transaction.
113
113
 
114
114
  * `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** a BIP32 path
115
115
  * `txBuffer` **[Buffer](https://nodejs.org/api/buffer.html)** serialized transaction
116
+ * `userInputType` **(`"ata"` | `"sol"`)?** optional user input type (ata or sol, for the case of token transfers)
116
117
 
117
118
  ##### Examples
118
119
 
package/lib/Solana.d.ts CHANGED
@@ -42,13 +42,14 @@ export default class Solana {
42
42
  *
43
43
  * @param path a BIP32 path
44
44
  * @param txBuffer serialized transaction
45
+ * @param userInputType optional user input type (ata or sol, for the case of token transfers)
45
46
  *
46
47
  * @returns an object with the signature field
47
48
  *
48
49
  * @example
49
50
  * solana.signTransaction("44'/501'/0'", txBuffer).then(r => r.signature)
50
51
  */
51
- signTransaction(path: string, txBuffer: Buffer): Promise<{
52
+ signTransaction(path: string, txBuffer: Buffer, userInputType?: "ata" | "sol"): Promise<{
52
53
  signature: Buffer;
53
54
  }>;
54
55
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Solana.d.ts","sourceRoot":"","sources":["../src/Solana.ts"],"names":[],"mappings":";;AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAK/C,OAAO,EAAE,eAAe,EAAmB,MAAM,cAAc,CAAC;AA2BhE;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,SAAS,CAAY;gBAG3B,SAAS,EAAE,SAAS,EAGpB,WAAW,GAAE,MAAsC;IAiBrD;;;;;;;;;;;;OAYG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EAGZ,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAcF;;;;OAIG;IACG,+BAA+B,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9E;;;;;;;;;;OAUG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAeF;;;;;;;;;;OAUG;IACG,mBAAmB,CACvB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAeF;;;;;;;OAOG;IACG,mBAAmB,IAAI,OAAO,CAAC,SAAS,CAAC;IAa/C;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAerC;;;;;OAKG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYxD,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;YAUP,YAAY;IAuC1B,OAAO,CAAC,cAAc;CAWvB;AAED,aAAK,iBAAiB;IACpB,IAAI,IAAA;IACJ,KAAK,IAAA;CACN;AAED,KAAK,SAAS,GAAG;IACf,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
1
+ {"version":3,"file":"Solana.d.ts","sourceRoot":"","sources":["../src/Solana.ts"],"names":[],"mappings":";;AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAK/C,OAAO,EAAE,eAAe,EAAmB,MAAM,cAAc,CAAC;AA4BhE;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,SAAS,CAAY;gBAG3B,SAAS,EAAE,SAAS,EAGpB,WAAW,GAAE,MAAsC;IAiBrD;;;;;;;;;;;;OAYG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EAGZ,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAcF;;;;OAIG;IACG,+BAA+B,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9E;;;;;;;;;;;OAWG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,KAAK,GAAG,KAAK,GAC5B,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAgBF;;;;;;;;;;OAUG;IACG,mBAAmB,CACvB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAeF;;;;;;;OAOG;IACG,mBAAmB,IAAI,OAAO,CAAC,SAAS,CAAC;IAa/C;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAerC;;;;;OAKG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYxD,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;YAUP,YAAY;IAqC1B,OAAO,CAAC,cAAc;CAWvB;AAED,aAAK,iBAAiB;IACpB,IAAI,IAAA;IACJ,KAAK,IAAA;CACN;AAED,KAAK,SAAS,GAAG;IACf,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
package/lib/Solana.js CHANGED
@@ -11,6 +11,7 @@ const P1_CONFIRM = 0x01;
11
11
  const P2_INIT = 0x00;
12
12
  const P2_EXTEND = 0x01;
13
13
  const P2_MORE = 0x02;
14
+ const P2_USER_INPUT_ATA = 0x08;
14
15
  const MAX_PAYLOAD = 255;
15
16
  const LEDGER_CLA = 0xe0;
16
17
  const INS = {
@@ -89,19 +90,21 @@ class Solana {
89
90
  *
90
91
  * @param path a BIP32 path
91
92
  * @param txBuffer serialized transaction
93
+ * @param userInputType optional user input type (ata or sol, for the case of token transfers)
92
94
  *
93
95
  * @returns an object with the signature field
94
96
  *
95
97
  * @example
96
98
  * solana.signTransaction("44'/501'/0'", txBuffer).then(r => r.signature)
97
99
  */
98
- async signTransaction(path, txBuffer) {
100
+ async signTransaction(path, txBuffer, userInputType) {
99
101
  const pathBuffer = this.pathToBuffer(path);
100
102
  // Ledger app supports only a single derivation path per call ATM
101
103
  const pathsCountBuffer = Buffer.alloc(1);
102
104
  pathsCountBuffer.writeUInt8(1, 0);
103
105
  const payload = Buffer.concat([pathsCountBuffer, pathBuffer, txBuffer]);
104
- const signatureBuffer = await this.sendToDevice(INS.SIGN, P1_CONFIRM, payload);
106
+ const p2Flag = userInputType === "ata" ? P2_USER_INPUT_ATA : undefined;
107
+ const signatureBuffer = await this.sendToDevice(INS.SIGN, P1_CONFIRM, payload, p2Flag);
105
108
  return {
106
109
  signature: signatureBuffer,
107
110
  };
@@ -187,7 +190,7 @@ class Solana {
187
190
  return buf;
188
191
  }
189
192
  // send chunked if payload size exceeds maximum for a call
190
- async sendToDevice(instruction, p1, payload) {
193
+ async sendToDevice(instruction, p1, payload, p2 = P2_INIT) {
191
194
  /*
192
195
  * By default transport will throw if status code is not OK.
193
196
  * For some payloads we need to enable blind sign in the app settings
@@ -195,7 +198,6 @@ class Solana {
195
198
  * so we handle it and show a user friendly error message.
196
199
  */
197
200
  const acceptStatusList = [errors_1.StatusCodes.OK, EXTRA_STATUS_CODES.BLIND_SIGNATURE_REQUIRED];
198
- let p2 = P2_INIT;
199
201
  let payload_offset = 0;
200
202
  if (payload.length > MAX_PAYLOAD) {
201
203
  while (payload.length - payload_offset > MAX_PAYLOAD) {
package/lib/Solana.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Solana.js","sourceRoot":"","sources":["../src/Solana.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Solana.js","sourceRoot":"","sources":["../src/Solana.ts"],"names":[],"mappings":"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"}
@@ -42,13 +42,14 @@ export default class Solana {
42
42
  *
43
43
  * @param path a BIP32 path
44
44
  * @param txBuffer serialized transaction
45
+ * @param userInputType optional user input type (ata or sol, for the case of token transfers)
45
46
  *
46
47
  * @returns an object with the signature field
47
48
  *
48
49
  * @example
49
50
  * solana.signTransaction("44'/501'/0'", txBuffer).then(r => r.signature)
50
51
  */
51
- signTransaction(path: string, txBuffer: Buffer): Promise<{
52
+ signTransaction(path: string, txBuffer: Buffer, userInputType?: "ata" | "sol"): Promise<{
52
53
  signature: Buffer;
53
54
  }>;
54
55
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Solana.d.ts","sourceRoot":"","sources":["../src/Solana.ts"],"names":[],"mappings":";;AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAK/C,OAAO,EAAE,eAAe,EAAmB,MAAM,cAAc,CAAC;AA2BhE;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,SAAS,CAAY;gBAG3B,SAAS,EAAE,SAAS,EAGpB,WAAW,GAAE,MAAsC;IAiBrD;;;;;;;;;;;;OAYG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EAGZ,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAcF;;;;OAIG;IACG,+BAA+B,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9E;;;;;;;;;;OAUG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAeF;;;;;;;;;;OAUG;IACG,mBAAmB,CACvB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAeF;;;;;;;OAOG;IACG,mBAAmB,IAAI,OAAO,CAAC,SAAS,CAAC;IAa/C;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAerC;;;;;OAKG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYxD,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;YAUP,YAAY;IAuC1B,OAAO,CAAC,cAAc;CAWvB;AAED,aAAK,iBAAiB;IACpB,IAAI,IAAA;IACJ,KAAK,IAAA;CACN;AAED,KAAK,SAAS,GAAG;IACf,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
1
+ {"version":3,"file":"Solana.d.ts","sourceRoot":"","sources":["../src/Solana.ts"],"names":[],"mappings":";;AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAK/C,OAAO,EAAE,eAAe,EAAmB,MAAM,cAAc,CAAC;AA4BhE;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,SAAS,CAAY;gBAG3B,SAAS,EAAE,SAAS,EAGpB,WAAW,GAAE,MAAsC;IAiBrD;;;;;;;;;;;;OAYG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EAGZ,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAcF;;;;OAIG;IACG,+BAA+B,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9E;;;;;;;;;;;OAWG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,KAAK,GAAG,KAAK,GAC5B,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAgBF;;;;;;;;;;OAUG;IACG,mBAAmB,CACvB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAeF;;;;;;;OAOG;IACG,mBAAmB,IAAI,OAAO,CAAC,SAAS,CAAC;IAa/C;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAerC;;;;;OAKG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYxD,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;YAUP,YAAY;IAqC1B,OAAO,CAAC,cAAc;CAWvB;AAED,aAAK,iBAAiB;IACpB,IAAI,IAAA;IACJ,KAAK,IAAA;CACN;AAED,KAAK,SAAS,GAAG;IACf,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
package/lib-es/Solana.js CHANGED
@@ -6,6 +6,7 @@ const P1_CONFIRM = 0x01;
6
6
  const P2_INIT = 0x00;
7
7
  const P2_EXTEND = 0x01;
8
8
  const P2_MORE = 0x02;
9
+ const P2_USER_INPUT_ATA = 0x08;
9
10
  const MAX_PAYLOAD = 255;
10
11
  const LEDGER_CLA = 0xe0;
11
12
  const INS = {
@@ -84,19 +85,21 @@ export default class Solana {
84
85
  *
85
86
  * @param path a BIP32 path
86
87
  * @param txBuffer serialized transaction
88
+ * @param userInputType optional user input type (ata or sol, for the case of token transfers)
87
89
  *
88
90
  * @returns an object with the signature field
89
91
  *
90
92
  * @example
91
93
  * solana.signTransaction("44'/501'/0'", txBuffer).then(r => r.signature)
92
94
  */
93
- async signTransaction(path, txBuffer) {
95
+ async signTransaction(path, txBuffer, userInputType) {
94
96
  const pathBuffer = this.pathToBuffer(path);
95
97
  // Ledger app supports only a single derivation path per call ATM
96
98
  const pathsCountBuffer = Buffer.alloc(1);
97
99
  pathsCountBuffer.writeUInt8(1, 0);
98
100
  const payload = Buffer.concat([pathsCountBuffer, pathBuffer, txBuffer]);
99
- const signatureBuffer = await this.sendToDevice(INS.SIGN, P1_CONFIRM, payload);
101
+ const p2Flag = userInputType === "ata" ? P2_USER_INPUT_ATA : undefined;
102
+ const signatureBuffer = await this.sendToDevice(INS.SIGN, P1_CONFIRM, payload, p2Flag);
100
103
  return {
101
104
  signature: signatureBuffer,
102
105
  };
@@ -182,7 +185,7 @@ export default class Solana {
182
185
  return buf;
183
186
  }
184
187
  // send chunked if payload size exceeds maximum for a call
185
- async sendToDevice(instruction, p1, payload) {
188
+ async sendToDevice(instruction, p1, payload, p2 = P2_INIT) {
186
189
  /*
187
190
  * By default transport will throw if status code is not OK.
188
191
  * For some payloads we need to enable blind sign in the app settings
@@ -190,7 +193,6 @@ export default class Solana {
190
193
  * so we handle it and show a user friendly error message.
191
194
  */
192
195
  const acceptStatusList = [StatusCodes.OK, EXTRA_STATUS_CODES.BLIND_SIGNATURE_REQUIRED];
193
- let p2 = P2_INIT;
194
196
  let payload_offset = 0;
195
197
  if (payload.length > MAX_PAYLOAD) {
196
198
  while (payload.length - payload_offset > MAX_PAYLOAD) {
@@ -1 +1 @@
1
- {"version":3,"file":"Solana.js","sourceRoot":"","sources":["../src/Solana.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Solana.js","sourceRoot":"","sources":["../src/Solana.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/hw-app-solana",
3
- "version": "7.5.5",
3
+ "version": "7.6.0-nightly.0",
4
4
  "description": "Ledger Hardware Wallet Solana Application API",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -29,7 +29,7 @@
29
29
  "dependencies": {
30
30
  "bip32-path": "^0.4.2",
31
31
  "@ledgerhq/errors": "^6.26.0",
32
- "@ledgerhq/hw-transport": "^6.31.12"
32
+ "@ledgerhq/hw-transport": "6.31.12"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/jest": "^29.5.10",
package/src/Solana.ts CHANGED
@@ -11,6 +11,7 @@ const P1_CONFIRM = 0x01;
11
11
  const P2_INIT = 0x00;
12
12
  const P2_EXTEND = 0x01;
13
13
  const P2_MORE = 0x02;
14
+ const P2_USER_INPUT_ATA = 0x08;
14
15
 
15
16
  const MAX_PAYLOAD = 255;
16
17
 
@@ -118,6 +119,7 @@ export default class Solana {
118
119
  *
119
120
  * @param path a BIP32 path
120
121
  * @param txBuffer serialized transaction
122
+ * @param userInputType optional user input type (ata or sol, for the case of token transfers)
121
123
  *
122
124
  * @returns an object with the signature field
123
125
  *
@@ -127,6 +129,7 @@ export default class Solana {
127
129
  async signTransaction(
128
130
  path: string,
129
131
  txBuffer: Buffer,
132
+ userInputType?: "ata" | "sol",
130
133
  ): Promise<{
131
134
  signature: Buffer;
132
135
  }> {
@@ -137,7 +140,8 @@ export default class Solana {
137
140
 
138
141
  const payload = Buffer.concat([pathsCountBuffer, pathBuffer, txBuffer]);
139
142
 
140
- const signatureBuffer = await this.sendToDevice(INS.SIGN, P1_CONFIRM, payload);
143
+ const p2Flag = userInputType === "ata" ? P2_USER_INPUT_ATA : undefined;
144
+ const signatureBuffer = await this.sendToDevice(INS.SIGN, P1_CONFIRM, payload, p2Flag);
141
145
 
142
146
  return {
143
147
  signature: signatureBuffer,
@@ -253,7 +257,7 @@ export default class Solana {
253
257
  }
254
258
 
255
259
  // send chunked if payload size exceeds maximum for a call
256
- private async sendToDevice(instruction: number, p1: number, payload: Buffer) {
260
+ private async sendToDevice(instruction: number, p1: number, payload: Buffer, p2 = P2_INIT) {
257
261
  /*
258
262
  * By default transport will throw if status code is not OK.
259
263
  * For some payloads we need to enable blind sign in the app settings
@@ -261,8 +265,6 @@ export default class Solana {
261
265
  * so we handle it and show a user friendly error message.
262
266
  */
263
267
  const acceptStatusList = [StatusCodes.OK, EXTRA_STATUS_CODES.BLIND_SIGNATURE_REQUIRED];
264
-
265
- let p2 = P2_INIT;
266
268
  let payload_offset = 0;
267
269
 
268
270
  if (payload.length > MAX_PAYLOAD) {