UNPKG

@hazae41/ledger

Version:

Private and supply-chain hardened Ledger controller for TypeScript

1 lines 1.62 kB
{"version":3,"file":"paths.cjs","sources":["../../../../src/mods/binary/paths.ts"],"sourcesContent":["import { Cursor } from \"@hazae41/cursor\";\n\nexport class Paths {\n\n constructor(\n readonly paths: number[]\n ) { }\n\n static from(path: string) {\n const paths = new Array<number>()\n\n for (const subpath of path.split(\"/\")) {\n const value = subpath.endsWith(\"'\")\n ? parseInt(subpath, 10) + 0x80_00_00_00\n : parseInt(subpath, 10)\n paths.push(value)\n }\n\n return new Paths(paths)\n }\n\n sizeOrThrow() {\n return 1 + (this.paths.length * 4)\n }\n\n writeOrThrow(cursor: Cursor) {\n cursor.writeUint8OrThrow(this.paths.length)\n\n for (const path of this.paths)\n cursor.writeUint32OrThrow(path)\n\n return\n }\n\n}"],"names":[],"mappings":";;MAEa,KAAK,CAAA;AAGL,IAAA,KAAA,CAAA;AADX,IAAA,WAAA,CACW,KAAe,EAAA;QAAf,IAAK,CAAA,KAAA,GAAL,KAAK,CAAU;KACrB;IAEL,OAAO,IAAI,CAAC,IAAY,EAAA;AACtB,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,EAAU,CAAA;QAEjC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AACrC,YAAA,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;kBAC/B,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,aAAa;AACvC,kBAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;AACzB,YAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SAClB;AAED,QAAA,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;KACxB;IAED,WAAW,GAAA;QACT,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;KACnC;AAED,IAAA,YAAY,CAAC,MAAc,EAAA;QACzB,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAE3C,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;AAC3B,YAAA,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAEjC,OAAM;KACP;AAEF;;;;"}