@ledgerhq/device-signer-kit-solana 0.0.0-dsdk-902-20251125115730 → 0.0.0-dsdk-938-release-automation-4-20251201132435
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/README.md +3 -0
- package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
- package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +3 -3
- package/lib/cjs/internal/DefaultSignerSolana.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideTLVTransactionInstructionDescriptorCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTLVTransactionInstructionDescriptorCommand.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideTLVTransactionInstructionDescriptorCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTLVTransactionInstructionDescriptorCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/SignTransactionDeviceAction.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTransactionDeviceAction.js.map +2 -2
- package/lib/cjs/internal/app-binder/device-action/SignTransactionDeviceAction.test.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTransactionDeviceAction.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +2 -2
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +3 -3
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
- package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +3 -3
- package/lib/cjs/package.json +40 -36
- package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
- package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js.map +3 -3
- package/lib/esm/internal/DefaultSignerSolana.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideTLVTransactionInstructionDescriptorCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTLVTransactionInstructionDescriptorCommand.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideTLVTransactionInstructionDescriptorCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTLVTransactionInstructionDescriptorCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/SignTransactionDeviceAction.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTransactionDeviceAction.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/SignTransactionDeviceAction.test.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTransactionDeviceAction.test.js.map +3 -3
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
- package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +2 -2
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +3 -3
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
- package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +3 -3
- package/lib/esm/package.json +40 -36
- package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +9 -8
- package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/internal/DefaultSignerSolana.d.ts +0 -3
- package/lib/types/internal/DefaultSignerSolana.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideTLVTransactionInstructionDescriptorCommand.d.ts +9 -0
- package/lib/types/internal/app-binder/command/ProvideTLVTransactionInstructionDescriptorCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/SignTransactionDeviceAction.d.ts +2 -3
- package/lib/types/internal/app-binder/device-action/SignTransactionDeviceAction.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +1 -4
- package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +1 -1
- package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts +5 -4
- package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +33 -29
- package/lib/cjs/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.js +0 -2
- package/lib/cjs/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.js.map +0 -7
- package/lib/cjs/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.test.js +0 -2
- package/lib/cjs/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.test.js.map +0 -7
- package/lib/esm/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.js +0 -2
- package/lib/esm/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.js.map +0 -7
- package/lib/esm/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.test.js +0 -2
- package/lib/esm/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.test.js.map +0 -7
- package/lib/types/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.d.ts +0 -15
- package/lib/types/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.d.ts.map +0 -1
- package/lib/types/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.test.d.ts +0 -2
- package/lib/types/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.test.d.ts.map +0 -1
package/package.json
CHANGED
|
@@ -1,23 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@ledgerhq/device-signer-kit-solana",
|
|
3
|
-
"version": "0.0.0-dsdk-902-20251125115730",
|
|
4
|
-
"private": false,
|
|
5
|
-
"license": "Apache-2.0",
|
|
6
|
-
"exports": {
|
|
7
|
-
".": {
|
|
8
|
-
"types": "./lib/types/index.d.ts",
|
|
9
|
-
"import": "./lib/esm/index.js",
|
|
10
|
-
"require": "./lib/cjs/index.js"
|
|
11
|
-
},
|
|
12
|
-
"./*": {
|
|
13
|
-
"types": "./lib/types/*",
|
|
14
|
-
"import": "./lib/esm/*",
|
|
15
|
-
"require": "./lib/cjs/*"
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
"files": [
|
|
19
|
-
"./lib"
|
|
20
|
-
],
|
|
21
2
|
"dependencies": {
|
|
22
3
|
"@solana/spl-token": "^0.4.13",
|
|
23
4
|
"@solana/web3.js": "^1.98.2",
|
|
@@ -28,36 +9,59 @@
|
|
|
28
9
|
"reflect-metadata": "0.2.2",
|
|
29
10
|
"semver": "7.7.2",
|
|
30
11
|
"xstate": "5.19.2",
|
|
31
|
-
"@ledgerhq/context-module": "0.0.0-dsdk-
|
|
32
|
-
"@ledgerhq/signer-utils": "
|
|
12
|
+
"@ledgerhq/context-module": "0.0.0-dsdk-938-release-automation-4-20251201132435",
|
|
13
|
+
"@ledgerhq/signer-utils": "0.0.0-dsdk-938-release-automation-4-20251201132435"
|
|
33
14
|
},
|
|
34
15
|
"devDependencies": {
|
|
35
16
|
"@types/semver": "7.7.0",
|
|
36
17
|
"rxjs": "7.8.2",
|
|
37
18
|
"ts-node": "10.9.2",
|
|
38
|
-
"@ledgerhq/device-management-kit": "0.11.1",
|
|
39
19
|
"@ledgerhq/eslint-config-dsdk": "0.0.2",
|
|
40
20
|
"@ledgerhq/ldmk-tool": "0.0.1",
|
|
41
21
|
"@ledgerhq/prettier-config-dsdk": "0.0.2",
|
|
42
22
|
"@ledgerhq/tsconfig-dsdk": "1.0.1",
|
|
43
|
-
"@ledgerhq/vitest-config-dmk": "0.0.0"
|
|
23
|
+
"@ledgerhq/vitest-config-dmk": "0.0.0",
|
|
24
|
+
"@ledgerhq/device-management-kit": "0.0.0-dsdk-938-release-automation-4-20251201132435"
|
|
44
25
|
},
|
|
26
|
+
"exports": {
|
|
27
|
+
".": {
|
|
28
|
+
"import": "./lib/esm/index.js",
|
|
29
|
+
"require": "./lib/cjs/index.js",
|
|
30
|
+
"types": "./lib/types/index.d.ts"
|
|
31
|
+
},
|
|
32
|
+
"./*": {
|
|
33
|
+
"import": "./lib/esm/*",
|
|
34
|
+
"require": "./lib/cjs/*",
|
|
35
|
+
"types": "./lib/types/*"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"files": [
|
|
39
|
+
"./lib"
|
|
40
|
+
],
|
|
41
|
+
"license": "Apache-2.0",
|
|
42
|
+
"name": "@ledgerhq/device-signer-kit-solana",
|
|
45
43
|
"peerDependencies": {
|
|
46
|
-
"@ledgerhq/device-management-kit": "0.
|
|
44
|
+
"@ledgerhq/device-management-kit": "0.0.0-dsdk-938-release-automation-4-20251201132435"
|
|
47
45
|
},
|
|
46
|
+
"private": false,
|
|
47
|
+
"repository": {
|
|
48
|
+
"type": "git",
|
|
49
|
+
"url": "https://github.com/LedgerHQ/device-sdk-ts.git"
|
|
50
|
+
},
|
|
51
|
+
"version": "0.0.0-dsdk-938-release-automation-4-20251201132435",
|
|
48
52
|
"scripts": {
|
|
49
|
-
"prebuild": "rimraf lib",
|
|
50
53
|
"build": "pnpm ldmk-tool build --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
|
|
51
54
|
"dev": "concurrently \"pnpm watch:builds\" \"pnpm watch:types\"",
|
|
52
|
-
"watch:builds": "pnpm ldmk-tool watch --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
|
|
53
|
-
"watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\"",
|
|
54
55
|
"lint": "eslint",
|
|
55
56
|
"lint:fix": "pnpm lint --fix",
|
|
57
|
+
"prebuild": "rimraf lib",
|
|
56
58
|
"prettier": "prettier . --check",
|
|
57
59
|
"prettier:fix": "prettier . --write",
|
|
58
|
-
"typecheck": "tsc --noEmit",
|
|
59
60
|
"test": "vitest run",
|
|
61
|
+
"test:coverage": "vitest run --coverage",
|
|
60
62
|
"test:watch": "vitest",
|
|
61
|
-
"
|
|
63
|
+
"typecheck": "tsc --noEmit",
|
|
64
|
+
"watch:builds": "pnpm ldmk-tool watch --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
|
|
65
|
+
"watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
|
|
62
66
|
}
|
|
63
67
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var a=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var l=(e,r)=>{for(var o in r)a(e,o,{get:r[o],enumerable:!0})},c=(e,r,o,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let d of m(r))!u.call(e,d)&&d!==o&&a(e,d,{get:()=>r[d],enumerable:!(s=i(r,d))||s.enumerable});return e};var A=e=>c(a({},"__esModule",{value:!0}),e);var E={};l(E,{ProvideTrustedDynamicDescriptorCommand:()=>x});module.exports=A(E);var t=require("@ledgerhq/device-management-kit"),p=require("@ledgerhq/signer-utils"),n=require("./utils/SolanaApplicationErrors");const g=224,y=34,C=0,v=0;class x{constructor(r){this.args=r}name="provideTrustedNamePKI";errorHelper=new p.CommandErrorHelper(n.SOLANA_APP_ERRORS,n.SolanaAppCommandErrorFactory);getApdu(){const r={cla:g,ins:y,p1:C,p2:v};return new t.ApduBuilder(r).encodeInLVFromHexa(this.args.data).encodeInLVFromHexa(this.args.signature).build()}parseResponse(r){const o=this.errorHelper.getError(r);return o||(r.data.length!==0?(0,t.CommandResultFactory)({error:new t.InvalidStatusWordError("Unexpected data in response")}):(0,t.CommandResultFactory)({data:void 0}))}}0&&(module.exports={ProvideTrustedDynamicDescriptorCommand});
|
|
2
|
-
//# sourceMappingURL=ProvideTrustedDynamicDescriptorCommand.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\n\nimport {\n SOLANA_APP_ERRORS,\n SolanaAppCommandErrorFactory,\n type SolanaAppErrorCodes,\n} from \"./utils/SolanaApplicationErrors\";\n\nconst CLA = 0xe0;\nconst INS = 0x22;\nconst P1 = 0x00;\nconst P2 = 0x00;\n\nexport type ProvideTrustedDynamicDescriptorCommandArgs = {\n data: string;\n signature: string;\n};\n\nexport class ProvideTrustedDynamicDescriptorCommand\n implements\n Command<\n void,\n ProvideTrustedDynamicDescriptorCommandArgs,\n SolanaAppErrorCodes\n >\n{\n readonly name = \"provideTrustedNamePKI\";\n private readonly errorHelper = new CommandErrorHelper<\n void,\n SolanaAppErrorCodes\n >(SOLANA_APP_ERRORS, SolanaAppCommandErrorFactory);\n\n constructor(readonly args: ProvideTrustedDynamicDescriptorCommandArgs) {}\n\n getApdu(): Apdu {\n const apduBuilderArgs: ApduBuilderArgs = {\n cla: CLA,\n ins: INS,\n p1: P1,\n p2: P2,\n };\n return new ApduBuilder(apduBuilderArgs)\n .encodeInLVFromHexa(this.args.data)\n .encodeInLVFromHexa(this.args.signature)\n .build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<void, SolanaAppErrorCodes> {\n const error = this.errorHelper.getError(response);\n if (error) {\n return error;\n }\n\n if (response.data.length !== 0) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Unexpected data in response\"),\n });\n }\n\n return CommandResultFactory({ data: undefined });\n }\n}\n"],
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4CAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EASO,2CACPC,EAAmC,kCAEnCC,EAIO,2CAEP,MAAMC,EAAM,IACNC,EAAM,GACNC,EAAK,EACLC,EAAK,EAOJ,MAAMR,CAOb,CAOE,YAAqBS,EAAkD,CAAlD,UAAAA,CAAmD,CAN/D,KAAO,wBACC,YAAc,IAAI,qBAGjC,oBAAmB,8BAA4B,EAIjD,SAAgB,CACd,MAAMC,EAAmC,CACvC,IAAKL,EACL,IAAKC,EACL,GAAIC,EACJ,GAAIC,CACN,EACA,OAAO,IAAI,cAAYE,CAAe,EACnC,mBAAmB,KAAK,KAAK,IAAI,EACjC,mBAAmB,KAAK,KAAK,SAAS,EACtC,MAAM,CACX,CAEA,cACEC,EAC0C,CAC1C,MAAMC,EAAQ,KAAK,YAAY,SAASD,CAAQ,EAChD,OAAIC,IAIAD,EAAS,KAAK,SAAW,KACpB,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,6BAA6B,CACjE,CAAC,KAGI,wBAAqB,CAAE,KAAM,MAAU,CAAC,EACjD,CACF",
|
|
6
|
-
"names": ["ProvideTrustedDynamicDescriptorCommand_exports", "__export", "ProvideTrustedDynamicDescriptorCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_SolanaApplicationErrors", "CLA", "INS", "P1", "P2", "args", "apduBuilderArgs", "response", "error"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var r=require("@ledgerhq/device-management-kit"),a=require("./ProvideTrustedDynamicDescriptorCommand");const n=224,c=34,d=0,i=0,o=Uint8Array.from([n,c,d,i,10,4,240,202,204,26,4,1,2,3,4]);describe("ProvideTrustedDynamicDescriptorCommand",()=>{let s;beforeEach(()=>{s=new a.ProvideTrustedDynamicDescriptorCommand({data:"f0cacc1a",signature:"01020304"})}),describe("name",()=>{it("should be 'provideTrustedNamePKI'",()=>{expect(s.name).toBe("provideTrustedNamePKI")})}),describe("getApdu",()=>{it("should construct the correct APDU with LV(data)||LV(signature)",()=>{const t=s.getApdu();expect(t.getRawApdu()).toStrictEqual(o)}),it("should accept 0x-prefixed hex strings and build the same APDU",()=>{const e=new a.ProvideTrustedDynamicDescriptorCommand({data:"0xf0cacc1a",signature:"0x01020304"}).getApdu();expect(e.getRawApdu()).toStrictEqual(o)})}),describe("parseResponse",()=>{it("should return success when status is 0x9000 and no data",()=>{const t={statusCode:Uint8Array.from([144,0]),data:new Uint8Array},e=s.parseResponse(t);expect(e).toStrictEqual((0,r.CommandResultFactory)({data:void 0})),expect((0,r.isSuccessCommandResult)(e)).toBe(!0)}),it("should return an error if the status code is not 0x9000",()=>{const t={statusCode:Uint8Array.from([106,128]),data:new Uint8Array},e=s.parseResponse(t);expect((0,r.isSuccessCommandResult)(e)).toBe(!1)}),it("should return an error if response contains unexpected data",()=>{const t={statusCode:Uint8Array.from([144,0]),data:Uint8Array.from([1])},e=s.parseResponse(t);expect((0,r.isSuccessCommandResult)(e)).toBe(!1),expect(e.error).toBeInstanceOf(r.InvalidStatusWordError)})})});
|
|
2
|
-
//# sourceMappingURL=ProvideTrustedDynamicDescriptorCommand.test.js.map
|
package/lib/cjs/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.test.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { ProvideTrustedDynamicDescriptorCommand } from \"./ProvideTrustedDynamicDescriptorCommand\";\n\nconst CLA = 0xe0;\nconst INS = 0x22;\nconst P1 = 0x00;\nconst P2 = 0x00;\n\nconst EXPECTED_APDU = Uint8Array.from([\n CLA,\n INS,\n P1,\n P2,\n 0x0a,\n 0x04,\n 0xf0,\n 0xca,\n 0xcc,\n 0x1a,\n 0x04,\n 0x01,\n 0x02,\n 0x03,\n 0x04,\n]);\n\ndescribe(\"ProvideTrustedDynamicDescriptorCommand\", () => {\n let command: ProvideTrustedDynamicDescriptorCommand;\n\n beforeEach(() => {\n command = new ProvideTrustedDynamicDescriptorCommand({\n data: \"f0cacc1a\",\n signature: \"01020304\",\n });\n });\n\n describe(\"name\", () => {\n it(\"should be 'provideTrustedNamePKI'\", () => {\n expect(command.name).toBe(\"provideTrustedNamePKI\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should construct the correct APDU with LV(data)||LV(signature)\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(EXPECTED_APDU);\n });\n\n it(\"should accept 0x-prefixed hex strings and build the same APDU\", () => {\n const withPrefix = new ProvideTrustedDynamicDescriptorCommand({\n data: \"0xf0cacc1a\",\n signature: \"0x01020304\",\n });\n const apdu = withPrefix.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(EXPECTED_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return success when status is 0x9000 and no data\", () => {\n const LNX_RESPONSE_GOOD = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array(),\n };\n\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: undefined }));\n expect(isSuccessCommandResult(parsed)).toBe(true);\n });\n\n it(\"should return an error if the status code is not 0x9000\", () => {\n const LNX_RESPONSE_ERROR = {\n statusCode: Uint8Array.from([0x6a, 0x80]),\n data: new Uint8Array(),\n };\n\n const result = command.parseResponse(LNX_RESPONSE_ERROR);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should return an error if response contains unexpected data\", () => {\n const LNX_RESPONSE_EXTRA = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: Uint8Array.from([0x01]),\n };\n\n const result = command.parseResponse(LNX_RESPONSE_EXTRA);\n expect(isSuccessCommandResult(result)).toBe(false);\n // @ts-expect-error response is not typed\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAIO,2CAEPC,EAAuD,oDAEvD,MAAMC,EAAM,IACNC,EAAM,GACNC,EAAK,EACLC,EAAK,EAELC,EAAgB,WAAW,KAAK,CACpCJ,EACAC,EACAC,EACAC,EACA,GACA,EACA,IACA,IACA,IACA,GACA,EACA,EACA,EACA,EACA,CACF,CAAC,EAED,SAAS,yCAA0C,IAAM,CACvD,IAAIE,EAEJ,WAAW,IAAM,CACfA,EAAU,IAAI,yCAAuC,CACnD,KAAM,WACN,UAAW,UACb,CAAC,CACH,CAAC,EAED,SAAS,OAAQ,IAAM,CACrB,GAAG,oCAAqC,IAAM,CAC5C,OAAOA,EAAQ,IAAI,EAAE,KAAK,uBAAuB,CACnD,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,iEAAkE,IAAM,CACzE,MAAMC,EAAOD,EAAQ,QAAQ,EAC7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcF,CAAa,CACvD,CAAC,EAED,GAAG,gEAAiE,IAAM,CAKxE,MAAME,EAJa,IAAI,yCAAuC,CAC5D,KAAM,aACN,UAAW,YACb,CAAC,EACuB,QAAQ,EAChC,OAAOA,EAAK,WAAW,CAAC,EAAE,cAAcF,CAAa,CACvD,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,0DAA2D,IAAM,CAClE,MAAMG,EAAoB,CACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAEMC,EAASH,EAAQ,cAAcE,CAAiB,EACtD,OAAOC,CAAM,EAAE,iBAAc,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAAC,EACtE,UAAO,0BAAuBA,CAAM,CAAC,EAAE,KAAK,EAAI,CAClD,CAAC,EAED,GAAG,0DAA2D,IAAM,CAClE,MAAMC,EAAqB,CACzB,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAEMC,EAASL,EAAQ,cAAcI,CAAkB,EACvD,UAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,CACnD,CAAC,EAED,GAAG,8DAA+D,IAAM,CACtE,MAAMC,EAAqB,CACzB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAI,CAAC,CAC9B,EAEMD,EAASL,EAAQ,cAAcM,CAAkB,EACvD,UAAO,0BAAuBD,CAAM,CAAC,EAAE,KAAK,EAAK,EAEjD,OAAOA,EAAO,KAAK,EAAE,eAAe,wBAAsB,CAC5D,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
-
"names": ["import_device_management_kit", "import_ProvideTrustedDynamicDescriptorCommand", "CLA", "INS", "P1", "P2", "EXPECTED_APDU", "command", "apdu", "LNX_RESPONSE_GOOD", "parsed", "LNX_RESPONSE_ERROR", "result", "LNX_RESPONSE_EXTRA"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ApduBuilder as t,CommandResultFactory as o,InvalidStatusWordError as d}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as n}from"@ledgerhq/signer-utils";import{SOLANA_APP_ERRORS as a,SolanaAppCommandErrorFactory as s}from"./utils/SolanaApplicationErrors";const p=224,i=34,m=0,u=0;class y{constructor(r){this.args=r}name="provideTrustedNamePKI";errorHelper=new n(a,s);getApdu(){const r={cla:p,ins:i,p1:m,p2:u};return new t(r).encodeInLVFromHexa(this.args.data).encodeInLVFromHexa(this.args.signature).build()}parseResponse(r){const e=this.errorHelper.getError(r);return e||(r.data.length!==0?o({error:new d("Unexpected data in response")}):o({data:void 0}))}}export{y as ProvideTrustedDynamicDescriptorCommand};
|
|
2
|
-
//# sourceMappingURL=ProvideTrustedDynamicDescriptorCommand.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\n\nimport {\n SOLANA_APP_ERRORS,\n SolanaAppCommandErrorFactory,\n type SolanaAppErrorCodes,\n} from \"./utils/SolanaApplicationErrors\";\n\nconst CLA = 0xe0;\nconst INS = 0x22;\nconst P1 = 0x00;\nconst P2 = 0x00;\n\nexport type ProvideTrustedDynamicDescriptorCommandArgs = {\n data: string;\n signature: string;\n};\n\nexport class ProvideTrustedDynamicDescriptorCommand\n implements\n Command<\n void,\n ProvideTrustedDynamicDescriptorCommandArgs,\n SolanaAppErrorCodes\n >\n{\n readonly name = \"provideTrustedNamePKI\";\n private readonly errorHelper = new CommandErrorHelper<\n void,\n SolanaAppErrorCodes\n >(SOLANA_APP_ERRORS, SolanaAppCommandErrorFactory);\n\n constructor(readonly args: ProvideTrustedDynamicDescriptorCommandArgs) {}\n\n getApdu(): Apdu {\n const apduBuilderArgs: ApduBuilderArgs = {\n cla: CLA,\n ins: INS,\n p1: P1,\n p2: P2,\n };\n return new ApduBuilder(apduBuilderArgs)\n .encodeInLVFromHexa(this.args.data)\n .encodeInLVFromHexa(this.args.signature)\n .build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<void, SolanaAppErrorCodes> {\n const error = this.errorHelper.getError(response);\n if (error) {\n return error;\n }\n\n if (response.data.length !== 0) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Unexpected data in response\"),\n });\n }\n\n return CommandResultFactory({ data: undefined });\n }\n}\n"],
|
|
5
|
-
"mappings": "AAAA,OAEE,eAAAA,EAKA,wBAAAC,EACA,0BAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBAEnC,OACE,qBAAAC,EACA,gCAAAC,MAEK,kCAEP,MAAMC,EAAM,IACNC,EAAM,GACNC,EAAK,EACLC,EAAK,EAOJ,MAAMC,CAOb,CAOE,YAAqBC,EAAkD,CAAlD,UAAAA,CAAmD,CAN/D,KAAO,wBACC,YAAc,IAAIR,EAGjCC,EAAmBC,CAA4B,EAIjD,SAAgB,CACd,MAAMO,EAAmC,CACvC,IAAKN,EACL,IAAKC,EACL,GAAIC,EACJ,GAAIC,CACN,EACA,OAAO,IAAIT,EAAYY,CAAe,EACnC,mBAAmB,KAAK,KAAK,IAAI,EACjC,mBAAmB,KAAK,KAAK,SAAS,EACtC,MAAM,CACX,CAEA,cACEC,EAC0C,CAC1C,MAAMC,EAAQ,KAAK,YAAY,SAASD,CAAQ,EAChD,OAAIC,IAIAD,EAAS,KAAK,SAAW,EACpBZ,EAAqB,CAC1B,MAAO,IAAIC,EAAuB,6BAA6B,CACjE,CAAC,EAGID,EAAqB,CAAE,KAAM,MAAU,CAAC,EACjD,CACF",
|
|
6
|
-
"names": ["ApduBuilder", "CommandResultFactory", "InvalidStatusWordError", "CommandErrorHelper", "SOLANA_APP_ERRORS", "SolanaAppCommandErrorFactory", "CLA", "INS", "P1", "P2", "ProvideTrustedDynamicDescriptorCommand", "args", "apduBuilderArgs", "response", "error"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{CommandResultFactory as n,InvalidStatusWordError as c,isSuccessCommandResult as s}from"@ledgerhq/device-management-kit";import{ProvideTrustedDynamicDescriptorCommand as a}from"./ProvideTrustedDynamicDescriptorCommand";const d=224,i=34,u=0,x=0,o=Uint8Array.from([d,i,u,x,10,4,240,202,204,26,4,1,2,3,4]);describe("ProvideTrustedDynamicDescriptorCommand",()=>{let r;beforeEach(()=>{r=new a({data:"f0cacc1a",signature:"01020304"})}),describe("name",()=>{it("should be 'provideTrustedNamePKI'",()=>{expect(r.name).toBe("provideTrustedNamePKI")})}),describe("getApdu",()=>{it("should construct the correct APDU with LV(data)||LV(signature)",()=>{const t=r.getApdu();expect(t.getRawApdu()).toStrictEqual(o)}),it("should accept 0x-prefixed hex strings and build the same APDU",()=>{const e=new a({data:"0xf0cacc1a",signature:"0x01020304"}).getApdu();expect(e.getRawApdu()).toStrictEqual(o)})}),describe("parseResponse",()=>{it("should return success when status is 0x9000 and no data",()=>{const t={statusCode:Uint8Array.from([144,0]),data:new Uint8Array},e=r.parseResponse(t);expect(e).toStrictEqual(n({data:void 0})),expect(s(e)).toBe(!0)}),it("should return an error if the status code is not 0x9000",()=>{const t={statusCode:Uint8Array.from([106,128]),data:new Uint8Array},e=r.parseResponse(t);expect(s(e)).toBe(!1)}),it("should return an error if response contains unexpected data",()=>{const t={statusCode:Uint8Array.from([144,0]),data:Uint8Array.from([1])},e=r.parseResponse(t);expect(s(e)).toBe(!1),expect(e.error).toBeInstanceOf(c)})})});
|
|
2
|
-
//# sourceMappingURL=ProvideTrustedDynamicDescriptorCommand.test.js.map
|
package/lib/esm/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.test.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { ProvideTrustedDynamicDescriptorCommand } from \"./ProvideTrustedDynamicDescriptorCommand\";\n\nconst CLA = 0xe0;\nconst INS = 0x22;\nconst P1 = 0x00;\nconst P2 = 0x00;\n\nconst EXPECTED_APDU = Uint8Array.from([\n CLA,\n INS,\n P1,\n P2,\n 0x0a,\n 0x04,\n 0xf0,\n 0xca,\n 0xcc,\n 0x1a,\n 0x04,\n 0x01,\n 0x02,\n 0x03,\n 0x04,\n]);\n\ndescribe(\"ProvideTrustedDynamicDescriptorCommand\", () => {\n let command: ProvideTrustedDynamicDescriptorCommand;\n\n beforeEach(() => {\n command = new ProvideTrustedDynamicDescriptorCommand({\n data: \"f0cacc1a\",\n signature: \"01020304\",\n });\n });\n\n describe(\"name\", () => {\n it(\"should be 'provideTrustedNamePKI'\", () => {\n expect(command.name).toBe(\"provideTrustedNamePKI\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should construct the correct APDU with LV(data)||LV(signature)\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(EXPECTED_APDU);\n });\n\n it(\"should accept 0x-prefixed hex strings and build the same APDU\", () => {\n const withPrefix = new ProvideTrustedDynamicDescriptorCommand({\n data: \"0xf0cacc1a\",\n signature: \"0x01020304\",\n });\n const apdu = withPrefix.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(EXPECTED_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return success when status is 0x9000 and no data\", () => {\n const LNX_RESPONSE_GOOD = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array(),\n };\n\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: undefined }));\n expect(isSuccessCommandResult(parsed)).toBe(true);\n });\n\n it(\"should return an error if the status code is not 0x9000\", () => {\n const LNX_RESPONSE_ERROR = {\n statusCode: Uint8Array.from([0x6a, 0x80]),\n data: new Uint8Array(),\n };\n\n const result = command.parseResponse(LNX_RESPONSE_ERROR);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should return an error if response contains unexpected data\", () => {\n const LNX_RESPONSE_EXTRA = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: Uint8Array.from([0x01]),\n };\n\n const result = command.parseResponse(LNX_RESPONSE_EXTRA);\n expect(isSuccessCommandResult(result)).toBe(false);\n // @ts-expect-error response is not typed\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OACE,wBAAAA,EACA,0BAAAC,EACA,0BAAAC,MACK,kCAEP,OAAS,0CAAAC,MAA8C,2CAEvD,MAAMC,EAAM,IACNC,EAAM,GACNC,EAAK,EACLC,EAAK,EAELC,EAAgB,WAAW,KAAK,CACpCJ,EACAC,EACAC,EACAC,EACA,GACA,EACA,IACA,IACA,IACA,GACA,EACA,EACA,EACA,EACA,CACF,CAAC,EAED,SAAS,yCAA0C,IAAM,CACvD,IAAIE,EAEJ,WAAW,IAAM,CACfA,EAAU,IAAIN,EAAuC,CACnD,KAAM,WACN,UAAW,UACb,CAAC,CACH,CAAC,EAED,SAAS,OAAQ,IAAM,CACrB,GAAG,oCAAqC,IAAM,CAC5C,OAAOM,EAAQ,IAAI,EAAE,KAAK,uBAAuB,CACnD,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,iEAAkE,IAAM,CACzE,MAAMC,EAAOD,EAAQ,QAAQ,EAC7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcF,CAAa,CACvD,CAAC,EAED,GAAG,gEAAiE,IAAM,CAKxE,MAAME,EAJa,IAAIP,EAAuC,CAC5D,KAAM,aACN,UAAW,YACb,CAAC,EACuB,QAAQ,EAChC,OAAOO,EAAK,WAAW,CAAC,EAAE,cAAcF,CAAa,CACvD,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,0DAA2D,IAAM,CAClE,MAAMG,EAAoB,CACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAEMC,EAASH,EAAQ,cAAcE,CAAiB,EACtD,OAAOC,CAAM,EAAE,cAAcZ,EAAqB,CAAE,KAAM,MAAU,CAAC,CAAC,EACtE,OAAOE,EAAuBU,CAAM,CAAC,EAAE,KAAK,EAAI,CAClD,CAAC,EAED,GAAG,0DAA2D,IAAM,CAClE,MAAMC,EAAqB,CACzB,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAEMC,EAASL,EAAQ,cAAcI,CAAkB,EACvD,OAAOX,EAAuBY,CAAM,CAAC,EAAE,KAAK,EAAK,CACnD,CAAC,EAED,GAAG,8DAA+D,IAAM,CACtE,MAAMC,EAAqB,CACzB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAI,CAAC,CAC9B,EAEMD,EAASL,EAAQ,cAAcM,CAAkB,EACvD,OAAOb,EAAuBY,CAAM,CAAC,EAAE,KAAK,EAAK,EAEjD,OAAOA,EAAO,KAAK,EAAE,eAAeb,CAAsB,CAC5D,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
-
"names": ["CommandResultFactory", "InvalidStatusWordError", "isSuccessCommandResult", "ProvideTrustedDynamicDescriptorCommand", "CLA", "INS", "P1", "P2", "EXPECTED_APDU", "command", "apdu", "LNX_RESPONSE_GOOD", "parsed", "LNX_RESPONSE_ERROR", "result", "LNX_RESPONSE_EXTRA"]
|
|
7
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type Apdu, type ApduResponse, type Command, type CommandResult } from "@ledgerhq/device-management-kit";
|
|
2
|
-
import { type SolanaAppErrorCodes } from "./utils/SolanaApplicationErrors";
|
|
3
|
-
export type ProvideTrustedDynamicDescriptorCommandArgs = {
|
|
4
|
-
data: string;
|
|
5
|
-
signature: string;
|
|
6
|
-
};
|
|
7
|
-
export declare class ProvideTrustedDynamicDescriptorCommand implements Command<void, ProvideTrustedDynamicDescriptorCommandArgs, SolanaAppErrorCodes> {
|
|
8
|
-
readonly args: ProvideTrustedDynamicDescriptorCommandArgs;
|
|
9
|
-
readonly name = "provideTrustedNamePKI";
|
|
10
|
-
private readonly errorHelper;
|
|
11
|
-
constructor(args: ProvideTrustedDynamicDescriptorCommandArgs);
|
|
12
|
-
getApdu(): Apdu;
|
|
13
|
-
parseResponse(response: ApduResponse): CommandResult<void, SolanaAppErrorCodes>;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=ProvideTrustedDynamicDescriptorCommand.d.ts.map
|
package/lib/types/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProvideTrustedDynamicDescriptorCommand.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,EAGT,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,aAAa,EAGnB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AAOzC,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,sCACX,YACE,OAAO,CACL,IAAI,EACJ,0CAA0C,EAC1C,mBAAmB,CACpB;IAQS,QAAQ,CAAC,IAAI,EAAE,0CAA0C;IANrE,QAAQ,CAAC,IAAI,2BAA2B;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGuB;gBAE9B,IAAI,EAAE,0CAA0C;IAErE,OAAO,IAAI,IAAI;IAaf,aAAa,CACX,QAAQ,EAAE,YAAY,GACrB,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC;CAc5C"}
|
package/lib/types/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProvideTrustedDynamicDescriptorCommand.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/command/ProvideTrustedDynamicDescriptorCommand.test.ts"],"names":[],"mappings":""}
|