@taquito/ledger-signer 17.3.0 → 17.3.1-beta-RC.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/coverage/clover.xml +6 -6
- package/coverage/coverage-final.json +4 -4
- package/coverage/lcov-report/error.ts.html +1 -1
- package/coverage/lcov-report/errors.ts.html +1 -1
- package/coverage/lcov-report/index.html +1 -1
- package/coverage/lcov-report/taquito-ledger-signer.ts.html +1 -1
- package/coverage/lcov-report/utils.ts.html +1 -1
- package/coverage/lcov-report/version.ts.html +3 -3
- package/dist/lib/version.js +2 -2
- package/dist/lib/version.js.map +1 -1
- package/dist/taquito-ledger-signer.es6.js +2 -2
- package/dist/taquito-ledger-signer.es6.js.map +1 -1
- package/dist/taquito-ledger-signer.umd.js +2 -2
- package/dist/taquito-ledger-signer.umd.js.map +1 -1
- package/package.json +6 -6
- package/src/version.ts +2 -2
package/coverage/clover.xml
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="
|
|
3
|
-
<project timestamp="
|
|
2
|
+
<coverage generated="1693424230459" clover="3.2.0">
|
|
3
|
+
<project timestamp="1693424230459" name="All files">
|
|
4
4
|
<metrics statements="167" coveredstatements="142" conditionals="43" coveredconditionals="36" methods="25" coveredmethods="17" elements="235" coveredelements="195" complexity="0" loc="167" ncloc="167" packages="1" files="4" classes="4"/>
|
|
5
|
-
<file name="errors.ts" path="/
|
|
5
|
+
<file name="errors.ts" path="/home/alireza/work/ecad/taquito/packages/taquito-ledger-signer/src/errors.ts">
|
|
6
6
|
<metrics statements="19" coveredstatements="5" conditionals="0" coveredconditionals="0" methods="4" coveredmethods="0"/>
|
|
7
7
|
<line num="1" count="1" type="stmt"/>
|
|
8
8
|
<line num="7" count="1" type="stmt"/>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<line num="45" count="0" type="stmt"/>
|
|
25
25
|
<line num="46" count="0" type="stmt"/>
|
|
26
26
|
</file>
|
|
27
|
-
<file name="taquito-ledger-signer.ts" path="/
|
|
27
|
+
<file name="taquito-ledger-signer.ts" path="/home/alireza/work/ecad/taquito/packages/taquito-ledger-signer/src/taquito-ledger-signer.ts">
|
|
28
28
|
<metrics statements="84" coveredstatements="77" conditionals="24" coveredconditionals="20" methods="13" coveredmethods="9"/>
|
|
29
29
|
<line num="8" count="1" type="stmt"/>
|
|
30
30
|
<line num="9" count="1" type="stmt"/>
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
<line num="225" count="2" type="stmt"/>
|
|
112
112
|
<line num="231" count="2" type="stmt"/>
|
|
113
113
|
</file>
|
|
114
|
-
<file name="utils.ts" path="/
|
|
114
|
+
<file name="utils.ts" path="/home/alireza/work/ecad/taquito/packages/taquito-ledger-signer/src/utils.ts">
|
|
115
115
|
<metrics statements="63" coveredstatements="59" conditionals="19" coveredconditionals="16" methods="8" coveredmethods="8"/>
|
|
116
116
|
<line num="8" count="2" type="stmt"/>
|
|
117
117
|
<line num="17" count="2" type="stmt"/>
|
|
@@ -177,7 +177,7 @@
|
|
|
177
177
|
<line num="128" count="5" type="stmt"/>
|
|
178
178
|
<line num="129" count="5" type="stmt"/>
|
|
179
179
|
</file>
|
|
180
|
-
<file name="version.ts" path="/
|
|
180
|
+
<file name="version.ts" path="/home/alireza/work/ecad/taquito/packages/taquito-ledger-signer/src/version.ts">
|
|
181
181
|
<metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
|
|
182
182
|
<line num="3" count="1" type="stmt"/>
|
|
183
183
|
</file>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
{"/
|
|
2
|
-
,"/Users/huianyang/ECAD_LABS/taquito/packages/taquito-ledger-signer/src/taquito-ledger-signer.ts": {"path":"/Users/huianyang/ECAD_LABS/taquito/packages/taquito-ledger-signer/src/taquito-ledger-signer.ts","statementMap":{"0":{"start":{"line":8,"column":0},"end":{"line":8,"column":93}},"1":{"start":{"line":9,"column":0},"end":{"line":9,"column":null}},"2":{"start":{"line":17,"column":0},"end":{"line":17,"column":42}},"3":{"start":{"line":18,"column":0},"end":{"line":18,"column":null}},"4":{"start":{"line":24,"column":0},"end":{"line":24,"column":82}},"5":{"start":{"line":26,"column":0},"end":{"line":26,"column":9}},"6":{"start":{"line":26,"column":9},"end":{"line":26,"column":59}},"7":{"start":{"line":30,"column":0},"end":{"line":30,"column":null}},"8":{"start":{"line":31,"column":2},"end":{"line":31,"column":null}},"9":{"start":{"line":32,"column":2},"end":{"line":32,"column":null}},"10":{"start":{"line":33,"column":2},"end":{"line":33,"column":null}},"11":{"start":{"line":34,"column":2},"end":{"line":34,"column":null}},"12":{"start":{"line":37,"column":0},"end":{"line":37,"column":9}},"13":{"start":{"line":37,"column":9},"end":{"line":37,"column":54}},"14":{"start":{"line":39,"column":30},"end":{"line":41,"column":1}},"15":{"start":{"line":40,"column":2},"end":{"line":40,"column":36}},"16":{"start":{"line":39,"column":13},"end":{"line":39,"column":30}},"17":{"start":{"line":43,"column":0},"end":{"line":43,"column":9}},"18":{"start":{"line":43,"column":9},"end":{"line":43,"column":36}},"19":{"start":{"line":88,"column":12},"end":{"line":88,"column":38}},"20":{"start":{"line":89,"column":12},"end":{"line":89,"column":27}},"21":{"start":{"line":90,"column":12},"end":{"line":90,"column":30}},"22":{"start":{"line":91,"column":12},"end":{"line":91,"column":45}},"23":{"start":{"line":77,"column":19},"end":{"line":77,"column":30}},"24":{"start":{"line":78,"column":19},"end":{"line":78,"column":45}},"25":{"start":{"line":79,"column":19},"end":{"line":79,"column":48}},"26":{"start":{"line":80,"column":19},"end":{"line":80,"column":35}},"27":{"start":{"line":81,"column":19},"end":{"line":81,"column":49}},"28":{"start":{"line":82,"column":19},"end":{"line":82,"column":48}},"29":{"start":{"line":83,"column":19},"end":{"line":83,"column":49}},"30":{"start":{"line":93,"column":4},"end":{"line":93,"column":41}},"31":{"start":{"line":94,"column":4},"end":{"line":99,"column":null}},"32":{"start":{"line":95,"column":6},"end":{"line":98,"column":8}},"33":{"start":{"line":100,"column":4},"end":{"line":102,"column":null}},"34":{"start":{"line":101,"column":6},"end":{"line":101,"column":70}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":null}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":109,"column":4},"end":{"line":111,"column":null}},"38":{"start":{"line":110,"column":6},"end":{"line":110,"column":33}},"39":{"start":{"line":112,"column":4},"end":{"line":112,"column":44}},"40":{"start":{"line":116,"column":4},"end":{"line":118,"column":null}},"41":{"start":{"line":117,"column":6},"end":{"line":117,"column":29}},"42":{"start":{"line":119,"column":27},"end":{"line":119,"column":58}},"43":{"start":{"line":120,"column":28},"end":{"line":120,"column":45}},"44":{"start":{"line":121,"column":25},"end":{"line":121,"column":69}},"45":{"start":{"line":122,"column":32},"end":{"line":122,"column":84}},"46":{"start":{"line":124,"column":21},"end":{"line":124,"column":39}},"47":{"start":{"line":125,"column":22},"end":{"line":125,"column":70}},"48":{"start":{"line":126,"column":26},"end":{"line":126,"column":85}},"49":{"start":{"line":128,"column":4},"end":{"line":128,"column":32}},"50":{"start":{"line":129,"column":4},"end":{"line":129,"column":40}},"51":{"start":{"line":130,"column":4},"end":{"line":130,"column":21}},"52":{"start":{"line":134,"column":4},"end":{"line":149,"column":null}},"53":{"start":{"line":135,"column":16},"end":{"line":135,"column":42}},"54":{"start":{"line":136,"column":6},"end":{"line":138,"column":null}},"55":{"start":{"line":137,"column":8},"end":{"line":137,"column":38}},"56":{"start":{"line":139,"column":29},"end":{"line":144,"column":null}},"57":{"start":{"line":146,"column":6},"end":{"line":146,"column":28}},"58":{"start":{"line":148,"column":6},"end":{"line":148,"column":47}},"59":{"start":{"line":153,"column":4},"end":{"line":153,"column":68}},"60":{"start":{"line":157,"column":29},"end":{"line":157,"column":62}},"61":{"start":{"line":158,"column":34},"end":{"line":158,"column":70}},"62":{"start":{"line":159,"column":24},"end":{"line":159,"column":26}},"63":{"start":{"line":160,"column":4},"end":{"line":160,"column":57}},"64":{"start":{"line":161,"column":4},"end":{"line":161,"column":73}},"65":{"start":{"line":162,"column":27},"end":{"line":162,"column":67}},"66":{"start":{"line":164,"column":4},"end":{"line":181,"column":null}},"67":{"start":{"line":168,"column":6},"end":{"line":168,"column":85}},"68":{"start":{"line":170,"column":6},"end":{"line":174,"column":null}},"69":{"start":{"line":171,"column":8},"end":{"line":173,"column":10}},"70":{"start":{"line":175,"column":28},"end":{"line":175,"column":29}},"71":{"start":{"line":176,"column":21},"end":{"line":176,"column":64}},"72":{"start":{"line":177,"column":28},"end":{"line":177,"column":68}},"73":{"start":{"line":178,"column":21},"end":{"line":178,"column":64}},"74":{"start":{"line":179,"column":30},"end":{"line":179,"column":75}},"75":{"start":{"line":180,"column":6},"end":{"line":180,"column":50}},"76":{"start":{"line":183,"column":4},"end":{"line":188,"column":6}},"77":{"start":{"line":193,"column":25},"end":{"line":198,"column":null}},"78":{"start":{"line":200,"column":4},"end":{"line":210,"column":null}},"79":{"start":{"line":200,"column":17},"end":{"line":200,"column":18}},"80":{"start":{"line":202,"column":8},"end":{"line":202,"column":91}},"81":{"start":{"line":203,"column":6},"end":{"line":209,"column":8}},"82":{"start":{"line":211,"column":4},"end":{"line":211,"column":26}},"83":{"start":{"line":215,"column":4},"end":{"line":236,"column":null}},"84":{"start":{"line":219,"column":6},"end":{"line":223,"column":8}},"85":{"start":{"line":224,"column":11},"end":{"line":236,"column":null}},"86":{"start":{"line":225,"column":6},"end":{"line":229,"column":8}},"87":{"start":{"line":231,"column":6},"end":{"line":235,"column":8}},"88":{"start":{"line":75,"column":0},"end":{"line":75,"column":13}}},"fnMap":{"0":{"name":"(anonymous_7)","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":35}},"loc":{"start":{"line":26,"column":9},"end":{"line":26,"column":59}}},"1":{"name":"(anonymous_8)","decl":{"start":{"line":30,"column":0},"end":{"line":30,"column":12}},"loc":{"start":{"line":30,"column":26},"end":{"line":35,"column":1}}},"2":{"name":"(anonymous_9)","decl":{"start":{"line":37,"column":9},"end":{"line":37,"column":35}},"loc":{"start":{"line":37,"column":9},"end":{"line":37,"column":54}}},"3":{"name":"(anonymous_10)","decl":{"start":{"line":39,"column":30},"end":{"line":39,"column":31}},"loc":{"start":{"line":39,"column":50},"end":{"line":41,"column":1}}},"4":{"name":"(anonymous_11)","decl":{"start":{"line":43,"column":9},"end":{"line":43,"column":16}},"loc":{"start":{"line":43,"column":9},"end":{"line":43,"column":36}}},"5":{"name":"(anonymous_12)","decl":{"start":{"line":87,"column":2},"end":{"line":87,"column":null}},"loc":{"start":{"line":91,"column":67},"end":{"line":103,"column":3}}},"6":{"name":"(anonymous_13)","decl":{"start":{"line":105,"column":8},"end":{"line":105,"column":21}},"loc":{"start":{"line":105,"column":21},"end":{"line":113,"column":null}}},"7":{"name":"(anonymous_15)","decl":{"start":{"line":115,"column":8},"end":{"line":115,"column":17}},"loc":{"start":{"line":115,"column":17},"end":{"line":131,"column":null}}},"8":{"name":"(anonymous_17)","decl":{"start":{"line":133,"column":16},"end":{"line":133,"column":34}},"loc":{"start":{"line":133,"column":34},"end":{"line":150,"column":null}}},"9":{"name":"(anonymous_19)","decl":{"start":{"line":152,"column":8},"end":{"line":152,"column":17}},"loc":{"start":{"line":152,"column":17},"end":{"line":154,"column":null}}},"10":{"name":"(anonymous_21)","decl":{"start":{"line":156,"column":8},"end":{"line":156,"column":12}},"loc":{"start":{"line":156,"column":50},"end":{"line":189,"column":null}}},"11":{"name":"(anonymous_23)","decl":{"start":{"line":191,"column":16},"end":{"line":191,"column":30}},"loc":{"start":{"line":191,"column":48},"end":{"line":212,"column":null}}},"12":{"name":"(anonymous_25)","decl":{"start":{"line":214,"column":10},"end":{"line":214,"column":21}},"loc":{"start":{"line":214,"column":21},"end":{"line":237,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":12},"end":{"line":30,"column":null}},"type":"binary-expr","locations":[{"start":{"line":30,"column":12},"end":{"line":30,"column":26}},{"start":{"line":30,"column":12},"end":{"line":30,"column":null}}]},"1":{"loc":{"start":{"line":89,"column":12},"end":{"line":89,"column":44}},"type":"default-arg","locations":[{"start":{"line":89,"column":27},"end":{"line":89,"column":44}}]},"2":{"loc":{"start":{"line":90,"column":12},"end":{"line":90,"column":34}},"type":"default-arg","locations":[{"start":{"line":90,"column":30},"end":{"line":90,"column":34}}]},"3":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":67}},"type":"default-arg","locations":[{"start":{"line":91,"column":45},"end":{"line":91,"column":67}}]},"4":{"loc":{"start":{"line":94,"column":4},"end":{"line":99,"column":null}},"type":"if","locations":[{"start":{"line":94,"column":4},"end":{"line":99,"column":null}}]},"5":{"loc":{"start":{"line":100,"column":4},"end":{"line":102,"column":null}},"type":"if","locations":[{"start":{"line":100,"column":4},"end":{"line":102,"column":null}}]},"6":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":null}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":null}}]},"7":{"loc":{"start":{"line":109,"column":4},"end":{"line":111,"column":null}},"type":"if","locations":[{"start":{"line":109,"column":4},"end":{"line":111,"column":null}}]},"8":{"loc":{"start":{"line":116,"column":4},"end":{"line":118,"column":null}},"type":"if","locations":[{"start":{"line":116,"column":4},"end":{"line":118,"column":null}}]},"9":{"loc":{"start":{"line":136,"column":6},"end":{"line":138,"column":null}},"type":"if","locations":[{"start":{"line":136,"column":6},"end":{"line":138,"column":null}}]},"10":{"loc":{"start":{"line":164,"column":4},"end":{"line":181,"column":null}},"type":"if","locations":[{"start":{"line":164,"column":4},"end":{"line":181,"column":null}},{"start":{"line":169,"column":11},"end":{"line":181,"column":null}}]},"11":{"loc":{"start":{"line":165,"column":6},"end":{"line":166,"column":58}},"type":"binary-expr","locations":[{"start":{"line":165,"column":6},"end":{"line":165,"column":52}},{"start":{"line":166,"column":6},"end":{"line":166,"column":58}}]},"12":{"loc":{"start":{"line":170,"column":6},"end":{"line":174,"column":null}},"type":"if","locations":[{"start":{"line":170,"column":6},"end":{"line":174,"column":null}}]},"13":{"loc":{"start":{"line":202,"column":8},"end":{"line":202,"column":91}},"type":"cond-expr","locations":[{"start":{"line":202,"column":35},"end":{"line":202,"column":61}},{"start":{"line":202,"column":64},"end":{"line":202,"column":91}}]},"14":{"loc":{"start":{"line":215,"column":4},"end":{"line":236,"column":null}},"type":"if","locations":[{"start":{"line":215,"column":4},"end":{"line":236,"column":null}},{"start":{"line":224,"column":11},"end":{"line":236,"column":null}}]},"15":{"loc":{"start":{"line":216,"column":6},"end":{"line":217,"column":58}},"type":"binary-expr","locations":[{"start":{"line":216,"column":6},"end":{"line":216,"column":52}},{"start":{"line":217,"column":6},"end":{"line":217,"column":58}}]},"16":{"loc":{"start":{"line":224,"column":11},"end":{"line":236,"column":null}},"type":"if","locations":[{"start":{"line":224,"column":11},"end":{"line":236,"column":null}},{"start":{"line":230,"column":11},"end":{"line":236,"column":null}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":10,"20":10,"21":10,"22":10,"23":10,"24":10,"25":10,"26":10,"27":10,"28":10,"29":10,"30":10,"31":10,"32":1,"33":9,"34":0,"35":4,"36":0,"37":4,"38":4,"39":0,"40":4,"41":0,"42":4,"43":4,"44":4,"45":4,"46":4,"47":4,"48":4,"49":4,"50":4,"51":4,"52":4,"53":4,"54":4,"55":3,"56":4,"57":4,"58":0,"59":0,"60":4,"61":4,"62":4,"63":4,"64":4,"65":4,"66":4,"67":2,"68":2,"69":0,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"76":4,"77":4,"78":4,"79":4,"80":5,"81":5,"82":4,"83":8,"84":4,"85":4,"86":2,"87":2,"88":1},"f":{"0":0,"1":1,"2":0,"3":1,"4":0,"5":10,"6":4,"7":4,"8":4,"9":0,"10":4,"11":4,"12":8},"b":{"0":[1,1],"1":[2],"2":[2],"3":[2],"4":[1],"5":[0],"6":[0],"7":[4],"8":[0],"9":[3],"10":[2,2],"11":[4,3],"12":[0],"13":[4,1],"14":[4,4],"15":[8,5],"16":[2,2]}}
|
|
3
|
-
,"/
|
|
4
|
-
,"/
|
|
1
|
+
{"/home/alireza/work/ecad/taquito/packages/taquito-ledger-signer/src/errors.ts": {"path":"/home/alireza/work/ecad/taquito/packages/taquito-ledger-signer/src/errors.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":71}},"1":{"start":{"line":9,"column":4},"end":{"line":9,"column":12}},"2":{"start":{"line":8,"column":30},"end":{"line":8,"column":45}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":45}},"4":{"start":{"line":7,"column":0},"end":{"line":7,"column":13}},"5":{"start":{"line":20,"column":4},"end":{"line":20,"column":12}},"6":{"start":{"line":19,"column":30},"end":{"line":19,"column":40}},"7":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"8":{"start":{"line":22,"column":4},"end":{"line":22,"column":63}},"9":{"start":{"line":18,"column":0},"end":{"line":18,"column":13}},"10":{"start":{"line":32,"column":4},"end":{"line":32,"column":12}},"11":{"start":{"line":33,"column":4},"end":{"line":33,"column":46}},"12":{"start":{"line":34,"column":4},"end":{"line":34,"column":68}},"13":{"start":{"line":30,"column":0},"end":{"line":30,"column":13}},"14":{"start":{"line":44,"column":4},"end":{"line":44,"column":12}},"15":{"start":{"line":43,"column":30},"end":{"line":43,"column":52}},"16":{"start":{"line":45,"column":4},"end":{"line":45,"column":45}},"17":{"start":{"line":46,"column":4},"end":{"line":46,"column":197}},"18":{"start":{"line":42,"column":0},"end":{"line":42,"column":13}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":30}},"loc":{"start":{"line":8,"column":45},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":2},"end":{"line":19,"column":30}},"loc":{"start":{"line":19,"column":40},"end":{"line":23,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":null}},"loc":{"start":{"line":31,"column":2},"end":{"line":35,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":2},"end":{"line":43,"column":30}},"loc":{"start":{"line":43,"column":52},"end":{"line":47,"column":3}}}},"branchMap":{},"s":{"0":1,"1":0,"2":0,"3":0,"4":1,"5":0,"6":0,"7":0,"8":0,"9":1,"10":0,"11":0,"12":0,"13":1,"14":0,"15":0,"16":0,"17":0,"18":1},"f":{"0":0,"1":0,"2":0,"3":0},"b":{}}
|
|
2
|
+
,"/home/alireza/work/ecad/taquito/packages/taquito-ledger-signer/src/taquito-ledger-signer.ts": {"path":"/home/alireza/work/ecad/taquito/packages/taquito-ledger-signer/src/taquito-ledger-signer.ts","statementMap":{"0":{"start":{"line":8,"column":0},"end":{"line":8,"column":93}},"1":{"start":{"line":9,"column":0},"end":{"line":9,"column":null}},"2":{"start":{"line":17,"column":0},"end":{"line":17,"column":42}},"3":{"start":{"line":18,"column":0},"end":{"line":18,"column":null}},"4":{"start":{"line":24,"column":0},"end":{"line":24,"column":82}},"5":{"start":{"line":26,"column":0},"end":{"line":26,"column":9}},"6":{"start":{"line":26,"column":9},"end":{"line":26,"column":59}},"7":{"start":{"line":30,"column":0},"end":{"line":30,"column":null}},"8":{"start":{"line":31,"column":2},"end":{"line":31,"column":null}},"9":{"start":{"line":32,"column":2},"end":{"line":32,"column":null}},"10":{"start":{"line":33,"column":2},"end":{"line":33,"column":null}},"11":{"start":{"line":34,"column":2},"end":{"line":34,"column":null}},"12":{"start":{"line":37,"column":0},"end":{"line":37,"column":9}},"13":{"start":{"line":37,"column":9},"end":{"line":37,"column":54}},"14":{"start":{"line":39,"column":30},"end":{"line":41,"column":1}},"15":{"start":{"line":40,"column":2},"end":{"line":40,"column":36}},"16":{"start":{"line":39,"column":13},"end":{"line":39,"column":30}},"17":{"start":{"line":43,"column":0},"end":{"line":43,"column":9}},"18":{"start":{"line":43,"column":9},"end":{"line":43,"column":36}},"19":{"start":{"line":88,"column":12},"end":{"line":88,"column":38}},"20":{"start":{"line":89,"column":12},"end":{"line":89,"column":27}},"21":{"start":{"line":90,"column":12},"end":{"line":90,"column":30}},"22":{"start":{"line":91,"column":12},"end":{"line":91,"column":45}},"23":{"start":{"line":77,"column":19},"end":{"line":77,"column":30}},"24":{"start":{"line":78,"column":19},"end":{"line":78,"column":45}},"25":{"start":{"line":79,"column":19},"end":{"line":79,"column":48}},"26":{"start":{"line":80,"column":19},"end":{"line":80,"column":35}},"27":{"start":{"line":81,"column":19},"end":{"line":81,"column":49}},"28":{"start":{"line":82,"column":19},"end":{"line":82,"column":48}},"29":{"start":{"line":83,"column":19},"end":{"line":83,"column":49}},"30":{"start":{"line":93,"column":4},"end":{"line":93,"column":41}},"31":{"start":{"line":94,"column":4},"end":{"line":99,"column":null}},"32":{"start":{"line":95,"column":6},"end":{"line":98,"column":8}},"33":{"start":{"line":100,"column":4},"end":{"line":102,"column":null}},"34":{"start":{"line":101,"column":6},"end":{"line":101,"column":70}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":null}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":109,"column":4},"end":{"line":111,"column":null}},"38":{"start":{"line":110,"column":6},"end":{"line":110,"column":33}},"39":{"start":{"line":112,"column":4},"end":{"line":112,"column":44}},"40":{"start":{"line":116,"column":4},"end":{"line":118,"column":null}},"41":{"start":{"line":117,"column":6},"end":{"line":117,"column":29}},"42":{"start":{"line":119,"column":27},"end":{"line":119,"column":58}},"43":{"start":{"line":120,"column":28},"end":{"line":120,"column":45}},"44":{"start":{"line":121,"column":25},"end":{"line":121,"column":69}},"45":{"start":{"line":122,"column":32},"end":{"line":122,"column":84}},"46":{"start":{"line":124,"column":21},"end":{"line":124,"column":39}},"47":{"start":{"line":125,"column":22},"end":{"line":125,"column":70}},"48":{"start":{"line":126,"column":26},"end":{"line":126,"column":85}},"49":{"start":{"line":128,"column":4},"end":{"line":128,"column":32}},"50":{"start":{"line":129,"column":4},"end":{"line":129,"column":40}},"51":{"start":{"line":130,"column":4},"end":{"line":130,"column":21}},"52":{"start":{"line":134,"column":4},"end":{"line":149,"column":null}},"53":{"start":{"line":135,"column":16},"end":{"line":135,"column":42}},"54":{"start":{"line":136,"column":6},"end":{"line":138,"column":null}},"55":{"start":{"line":137,"column":8},"end":{"line":137,"column":38}},"56":{"start":{"line":139,"column":29},"end":{"line":144,"column":null}},"57":{"start":{"line":146,"column":6},"end":{"line":146,"column":28}},"58":{"start":{"line":148,"column":6},"end":{"line":148,"column":47}},"59":{"start":{"line":153,"column":4},"end":{"line":153,"column":68}},"60":{"start":{"line":157,"column":29},"end":{"line":157,"column":62}},"61":{"start":{"line":158,"column":34},"end":{"line":158,"column":70}},"62":{"start":{"line":159,"column":24},"end":{"line":159,"column":26}},"63":{"start":{"line":160,"column":4},"end":{"line":160,"column":57}},"64":{"start":{"line":161,"column":4},"end":{"line":161,"column":73}},"65":{"start":{"line":162,"column":27},"end":{"line":162,"column":67}},"66":{"start":{"line":164,"column":4},"end":{"line":181,"column":null}},"67":{"start":{"line":168,"column":6},"end":{"line":168,"column":85}},"68":{"start":{"line":170,"column":6},"end":{"line":174,"column":null}},"69":{"start":{"line":171,"column":8},"end":{"line":173,"column":10}},"70":{"start":{"line":175,"column":28},"end":{"line":175,"column":29}},"71":{"start":{"line":176,"column":21},"end":{"line":176,"column":64}},"72":{"start":{"line":177,"column":28},"end":{"line":177,"column":68}},"73":{"start":{"line":178,"column":21},"end":{"line":178,"column":64}},"74":{"start":{"line":179,"column":30},"end":{"line":179,"column":75}},"75":{"start":{"line":180,"column":6},"end":{"line":180,"column":50}},"76":{"start":{"line":183,"column":4},"end":{"line":188,"column":6}},"77":{"start":{"line":193,"column":25},"end":{"line":198,"column":null}},"78":{"start":{"line":200,"column":4},"end":{"line":210,"column":null}},"79":{"start":{"line":200,"column":17},"end":{"line":200,"column":18}},"80":{"start":{"line":202,"column":8},"end":{"line":202,"column":91}},"81":{"start":{"line":203,"column":6},"end":{"line":209,"column":8}},"82":{"start":{"line":211,"column":4},"end":{"line":211,"column":26}},"83":{"start":{"line":215,"column":4},"end":{"line":236,"column":null}},"84":{"start":{"line":219,"column":6},"end":{"line":223,"column":8}},"85":{"start":{"line":224,"column":11},"end":{"line":236,"column":null}},"86":{"start":{"line":225,"column":6},"end":{"line":229,"column":8}},"87":{"start":{"line":231,"column":6},"end":{"line":235,"column":8}},"88":{"start":{"line":75,"column":0},"end":{"line":75,"column":13}}},"fnMap":{"0":{"name":"(anonymous_7)","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":35}},"loc":{"start":{"line":26,"column":9},"end":{"line":26,"column":59}}},"1":{"name":"(anonymous_8)","decl":{"start":{"line":30,"column":0},"end":{"line":30,"column":12}},"loc":{"start":{"line":30,"column":26},"end":{"line":35,"column":1}}},"2":{"name":"(anonymous_9)","decl":{"start":{"line":37,"column":9},"end":{"line":37,"column":35}},"loc":{"start":{"line":37,"column":9},"end":{"line":37,"column":54}}},"3":{"name":"(anonymous_10)","decl":{"start":{"line":39,"column":30},"end":{"line":39,"column":31}},"loc":{"start":{"line":39,"column":50},"end":{"line":41,"column":1}}},"4":{"name":"(anonymous_11)","decl":{"start":{"line":43,"column":9},"end":{"line":43,"column":16}},"loc":{"start":{"line":43,"column":9},"end":{"line":43,"column":36}}},"5":{"name":"(anonymous_12)","decl":{"start":{"line":87,"column":2},"end":{"line":87,"column":null}},"loc":{"start":{"line":91,"column":67},"end":{"line":103,"column":3}}},"6":{"name":"(anonymous_13)","decl":{"start":{"line":105,"column":8},"end":{"line":105,"column":21}},"loc":{"start":{"line":105,"column":21},"end":{"line":113,"column":null}}},"7":{"name":"(anonymous_15)","decl":{"start":{"line":115,"column":8},"end":{"line":115,"column":17}},"loc":{"start":{"line":115,"column":17},"end":{"line":131,"column":null}}},"8":{"name":"(anonymous_17)","decl":{"start":{"line":133,"column":16},"end":{"line":133,"column":34}},"loc":{"start":{"line":133,"column":34},"end":{"line":150,"column":null}}},"9":{"name":"(anonymous_19)","decl":{"start":{"line":152,"column":8},"end":{"line":152,"column":17}},"loc":{"start":{"line":152,"column":17},"end":{"line":154,"column":null}}},"10":{"name":"(anonymous_21)","decl":{"start":{"line":156,"column":8},"end":{"line":156,"column":12}},"loc":{"start":{"line":156,"column":50},"end":{"line":189,"column":null}}},"11":{"name":"(anonymous_23)","decl":{"start":{"line":191,"column":16},"end":{"line":191,"column":30}},"loc":{"start":{"line":191,"column":48},"end":{"line":212,"column":null}}},"12":{"name":"(anonymous_25)","decl":{"start":{"line":214,"column":10},"end":{"line":214,"column":21}},"loc":{"start":{"line":214,"column":21},"end":{"line":237,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":12},"end":{"line":30,"column":null}},"type":"binary-expr","locations":[{"start":{"line":30,"column":12},"end":{"line":30,"column":26}},{"start":{"line":30,"column":12},"end":{"line":30,"column":null}}]},"1":{"loc":{"start":{"line":89,"column":12},"end":{"line":89,"column":44}},"type":"default-arg","locations":[{"start":{"line":89,"column":27},"end":{"line":89,"column":44}}]},"2":{"loc":{"start":{"line":90,"column":12},"end":{"line":90,"column":34}},"type":"default-arg","locations":[{"start":{"line":90,"column":30},"end":{"line":90,"column":34}}]},"3":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":67}},"type":"default-arg","locations":[{"start":{"line":91,"column":45},"end":{"line":91,"column":67}}]},"4":{"loc":{"start":{"line":94,"column":4},"end":{"line":99,"column":null}},"type":"if","locations":[{"start":{"line":94,"column":4},"end":{"line":99,"column":null}}]},"5":{"loc":{"start":{"line":100,"column":4},"end":{"line":102,"column":null}},"type":"if","locations":[{"start":{"line":100,"column":4},"end":{"line":102,"column":null}}]},"6":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":null}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":null}}]},"7":{"loc":{"start":{"line":109,"column":4},"end":{"line":111,"column":null}},"type":"if","locations":[{"start":{"line":109,"column":4},"end":{"line":111,"column":null}}]},"8":{"loc":{"start":{"line":116,"column":4},"end":{"line":118,"column":null}},"type":"if","locations":[{"start":{"line":116,"column":4},"end":{"line":118,"column":null}}]},"9":{"loc":{"start":{"line":136,"column":6},"end":{"line":138,"column":null}},"type":"if","locations":[{"start":{"line":136,"column":6},"end":{"line":138,"column":null}}]},"10":{"loc":{"start":{"line":164,"column":4},"end":{"line":181,"column":null}},"type":"if","locations":[{"start":{"line":164,"column":4},"end":{"line":181,"column":null}},{"start":{"line":169,"column":11},"end":{"line":181,"column":null}}]},"11":{"loc":{"start":{"line":165,"column":6},"end":{"line":166,"column":58}},"type":"binary-expr","locations":[{"start":{"line":165,"column":6},"end":{"line":165,"column":52}},{"start":{"line":166,"column":6},"end":{"line":166,"column":58}}]},"12":{"loc":{"start":{"line":170,"column":6},"end":{"line":174,"column":null}},"type":"if","locations":[{"start":{"line":170,"column":6},"end":{"line":174,"column":null}}]},"13":{"loc":{"start":{"line":202,"column":8},"end":{"line":202,"column":91}},"type":"cond-expr","locations":[{"start":{"line":202,"column":35},"end":{"line":202,"column":61}},{"start":{"line":202,"column":64},"end":{"line":202,"column":91}}]},"14":{"loc":{"start":{"line":215,"column":4},"end":{"line":236,"column":null}},"type":"if","locations":[{"start":{"line":215,"column":4},"end":{"line":236,"column":null}},{"start":{"line":224,"column":11},"end":{"line":236,"column":null}}]},"15":{"loc":{"start":{"line":216,"column":6},"end":{"line":217,"column":58}},"type":"binary-expr","locations":[{"start":{"line":216,"column":6},"end":{"line":216,"column":52}},{"start":{"line":217,"column":6},"end":{"line":217,"column":58}}]},"16":{"loc":{"start":{"line":224,"column":11},"end":{"line":236,"column":null}},"type":"if","locations":[{"start":{"line":224,"column":11},"end":{"line":236,"column":null}},{"start":{"line":230,"column":11},"end":{"line":236,"column":null}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":10,"20":10,"21":10,"22":10,"23":10,"24":10,"25":10,"26":10,"27":10,"28":10,"29":10,"30":10,"31":10,"32":1,"33":9,"34":0,"35":4,"36":0,"37":4,"38":4,"39":0,"40":4,"41":0,"42":4,"43":4,"44":4,"45":4,"46":4,"47":4,"48":4,"49":4,"50":4,"51":4,"52":4,"53":4,"54":4,"55":3,"56":4,"57":4,"58":0,"59":0,"60":4,"61":4,"62":4,"63":4,"64":4,"65":4,"66":4,"67":2,"68":2,"69":0,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"76":4,"77":4,"78":4,"79":4,"80":5,"81":5,"82":4,"83":8,"84":4,"85":4,"86":2,"87":2,"88":1},"f":{"0":0,"1":1,"2":0,"3":1,"4":0,"5":10,"6":4,"7":4,"8":4,"9":0,"10":4,"11":4,"12":8},"b":{"0":[1,1],"1":[2],"2":[2],"3":[2],"4":[1],"5":[0],"6":[0],"7":[4],"8":[0],"9":[3],"10":[2,2],"11":[4,3],"12":[0],"13":[4,1],"14":[4,4],"15":[8,5],"16":[2,2]}}
|
|
3
|
+
,"/home/alireza/work/ecad/taquito/packages/taquito-ledger-signer/src/utils.ts": {"path":"/home/alireza/work/ecad/taquito/packages/taquito-ledger-signer/src/utils.ts","statementMap":{"0":{"start":{"line":8,"column":23},"end":{"line":8,"column":26}},"1":{"start":{"line":18,"column":27},"end":{"line":18,"column":29}},"2":{"start":{"line":19,"column":21},"end":{"line":19,"column":36}},"3":{"start":{"line":20,"column":2},"end":{"line":29,"column":5}},"4":{"start":{"line":21,"column":19},"end":{"line":21,"column":40}},"5":{"start":{"line":22,"column":4},"end":{"line":24,"column":null}},"6":{"start":{"line":23,"column":6},"end":{"line":23,"column":13}},"7":{"start":{"line":25,"column":4},"end":{"line":27,"column":null}},"8":{"start":{"line":26,"column":6},"end":{"line":26,"column":29}},"9":{"start":{"line":28,"column":4},"end":{"line":28,"column":26}},"10":{"start":{"line":30,"column":17},"end":{"line":30,"column":52}},"11":{"start":{"line":31,"column":2},"end":{"line":31,"column":28}},"12":{"start":{"line":32,"column":2},"end":{"line":34,"column":5}},"13":{"start":{"line":33,"column":4},"end":{"line":33,"column":49}},"14":{"start":{"line":35,"column":2},"end":{"line":35,"column":16}},"15":{"start":{"line":17,"column":0},"end":{"line":17,"column":16}},"16":{"start":{"line":43,"column":2},"end":{"line":48,"column":null}},"17":{"start":{"line":44,"column":4},"end":{"line":44,"column":35}},"18":{"start":{"line":46,"column":4},"end":{"line":46,"column":49}},"19":{"start":{"line":47,"column":4},"end":{"line":47,"column":39}},"20":{"start":{"line":49,"column":2},"end":{"line":49,"column":19}},"21":{"start":{"line":42,"column":0},"end":{"line":42,"column":16}},"22":{"start":{"line":53,"column":23},"end":{"line":53,"column":28}},"23":{"start":{"line":54,"column":2},"end":{"line":57,"column":null}},"24":{"start":{"line":55,"column":25},"end":{"line":55,"column":63}},"25":{"start":{"line":56,"column":4},"end":{"line":56,"column":48}},"26":{"start":{"line":58,"column":2},"end":{"line":58,"column":24}},"27":{"start":{"line":52,"column":0},"end":{"line":52,"column":16}},"28":{"start":{"line":69,"column":15},"end":{"line":69,"column":16}},"29":{"start":{"line":70,"column":2},"end":{"line":77,"column":null}},"30":{"start":{"line":72,"column":6},"end":{"line":72,"column":94}},"31":{"start":{"line":73,"column":17},"end":{"line":73,"column":40}},"32":{"start":{"line":74,"column":4},"end":{"line":74,"column":56}},"33":{"start":{"line":75,"column":4},"end":{"line":75,"column":29}},"34":{"start":{"line":76,"column":4},"end":{"line":76,"column":24}},"35":{"start":{"line":78,"column":2},"end":{"line":78,"column":23}},"36":{"start":{"line":68,"column":0},"end":{"line":68,"column":16}},"37":{"start":{"line":88,"column":14},"end":{"line":88,"column":18}},"38":{"start":{"line":89,"column":2},"end":{"line":91,"column":null}},"39":{"start":{"line":90,"column":4},"end":{"line":90,"column":18}},"40":{"start":{"line":92,"column":2},"end":{"line":94,"column":null}},"41":{"start":{"line":93,"column":4},"end":{"line":93,"column":18}},"42":{"start":{"line":95,"column":2},"end":{"line":97,"column":null}},"43":{"start":{"line":96,"column":4},"end":{"line":96,"column":18}},"44":{"start":{"line":98,"column":18},"end":{"line":98,"column":29}},"45":{"start":{"line":99,"column":2},"end":{"line":101,"column":null}},"46":{"start":{"line":100,"column":4},"end":{"line":100,"column":18}},"47":{"start":{"line":103,"column":24},"end":{"line":103,"column":35}},"48":{"start":{"line":104,"column":18},"end":{"line":104,"column":41}},"49":{"start":{"line":105,"column":2},"end":{"line":107,"column":null}},"50":{"start":{"line":106,"column":4},"end":{"line":106,"column":18}},"51":{"start":{"line":108,"column":2},"end":{"line":108,"column":15}},"52":{"start":{"line":87,"column":0},"end":{"line":87,"column":16}},"53":{"start":{"line":119,"column":17},"end":{"line":119,"column":33}},"54":{"start":{"line":120,"column":2},"end":{"line":120,"column":17}},"55":{"start":{"line":122,"column":15},"end":{"line":122,"column":34}},"56":{"start":{"line":123,"column":22},"end":{"line":123,"column":35}},"57":{"start":{"line":124,"column":2},"end":{"line":127,"column":null}},"58":{"start":{"line":125,"column":4},"end":{"line":125,"column":33}},"59":{"start":{"line":126,"column":4},"end":{"line":126,"column":16}},"60":{"start":{"line":128,"column":2},"end":{"line":128,"column":76}},"61":{"start":{"line":129,"column":2},"end":{"line":129,"column":43}},"62":{"start":{"line":118,"column":0},"end":{"line":118,"column":16}}},"fnMap":{"0":{"name":"transformPathToBuffer","decl":{"start":{"line":17,"column":16},"end":{"line":17,"column":37}},"loc":{"start":{"line":17,"column":50},"end":{"line":36,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":21},"end":{"line":20,"column":22}},"loc":{"start":{"line":20,"column":33},"end":{"line":29,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":17},"end":{"line":32,"column":18}},"loc":{"start":{"line":32,"column":36},"end":{"line":34,"column":3}}},"3":{"name":"compressPublicKey","decl":{"start":{"line":42,"column":16},"end":{"line":42,"column":33}},"loc":{"start":{"line":42,"column":74},"end":{"line":50,"column":1}}},"4":{"name":"appendWatermark","decl":{"start":{"line":52,"column":16},"end":{"line":52,"column":31}},"loc":{"start":{"line":52,"column":69},"end":{"line":59,"column":1}}},"5":{"name":"chunkOperation","decl":{"start":{"line":68,"column":16},"end":{"line":68,"column":30}},"loc":{"start":{"line":68,"column":68},"end":{"line":79,"column":1}}},"6":{"name":"validateResponse","decl":{"start":{"line":87,"column":16},"end":{"line":87,"column":32}},"loc":{"start":{"line":87,"column":49},"end":{"line":109,"column":1}}},"7":{"name":"extractValue","decl":{"start":{"line":118,"column":16},"end":{"line":118,"column":28}},"loc":{"start":{"line":118,"column":64},"end":{"line":130,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":4},"end":{"line":24,"column":null}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":24,"column":null}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":null}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":null}}]},"2":{"loc":{"start":{"line":25,"column":8},"end":{"line":25,"column":65}},"type":"binary-expr","locations":[{"start":{"line":25,"column":8},"end":{"line":25,"column":26}},{"start":{"line":25,"column":30},"end":{"line":25,"column":65}}]},"3":{"loc":{"start":{"line":43,"column":2},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":43,"column":2},"end":{"line":48,"column":null}},{"start":{"line":45,"column":9},"end":{"line":48,"column":null}}]},"4":{"loc":{"start":{"line":43,"column":6},"end":{"line":43,"column":38}},"type":"binary-expr","locations":[{"start":{"line":43,"column":6},"end":{"line":43,"column":20}},{"start":{"line":43,"column":24},"end":{"line":43,"column":38}}]},"5":{"loc":{"start":{"line":54,"column":2},"end":{"line":57,"column":null}},"type":"if","locations":[{"start":{"line":54,"column":2},"end":{"line":57,"column":null}}]},"6":{"loc":{"start":{"line":72,"column":6},"end":{"line":72,"column":94}},"type":"cond-expr","locations":[{"start":{"line":72,"column":52},"end":{"line":72,"column":77}},{"start":{"line":72,"column":80},"end":{"line":72,"column":94}}]},"7":{"loc":{"start":{"line":89,"column":2},"end":{"line":91,"column":null}},"type":"if","locations":[{"start":{"line":89,"column":2},"end":{"line":91,"column":null}}]},"8":{"loc":{"start":{"line":89,"column":6},"end":{"line":89,"column":50}},"type":"binary-expr","locations":[{"start":{"line":89,"column":6},"end":{"line":89,"column":26}},{"start":{"line":89,"column":30},"end":{"line":89,"column":50}}]},"9":{"loc":{"start":{"line":92,"column":2},"end":{"line":94,"column":null}},"type":"if","locations":[{"start":{"line":92,"column":2},"end":{"line":94,"column":null}}]},"10":{"loc":{"start":{"line":95,"column":2},"end":{"line":97,"column":null}},"type":"if","locations":[{"start":{"line":95,"column":2},"end":{"line":97,"column":null}}]},"11":{"loc":{"start":{"line":99,"column":2},"end":{"line":101,"column":null}},"type":"if","locations":[{"start":{"line":99,"column":2},"end":{"line":101,"column":null}}]},"12":{"loc":{"start":{"line":105,"column":2},"end":{"line":107,"column":null}},"type":"if","locations":[{"start":{"line":105,"column":2},"end":{"line":107,"column":null}}]},"13":{"loc":{"start":{"line":124,"column":2},"end":{"line":127,"column":null}},"type":"if","locations":[{"start":{"line":124,"column":2},"end":{"line":127,"column":null}}]}},"s":{"0":2,"1":18,"2":18,"3":18,"4":73,"5":73,"6":0,"7":73,"8":73,"9":73,"10":18,"11":18,"12":18,"13":73,"14":18,"15":2,"16":7,"17":3,"18":4,"19":4,"20":7,"21":2,"22":6,"23":6,"24":1,"25":1,"26":6,"27":2,"28":7,"29":7,"30":11,"31":11,"32":11,"33":11,"34":11,"35":7,"36":2,"37":7,"38":7,"39":1,"40":7,"41":1,"42":7,"43":1,"44":7,"45":7,"46":1,"47":7,"48":7,"49":7,"50":0,"51":7,"52":2,"53":5,"54":5,"55":5,"56":5,"57":5,"58":0,"59":0,"60":5,"61":5,"62":2},"f":{"0":18,"1":73,"2":73,"3":7,"4":6,"5":7,"6":7,"7":5},"b":{"0":[0],"1":[73],"2":[73,73],"3":[3,4],"4":[7,4],"5":[1],"6":[7,4],"7":[1],"8":[7,1],"9":[1],"10":[1],"11":[1],"12":[0],"13":[0]}}
|
|
4
|
+
,"/home/alireza/work/ecad/taquito/packages/taquito-ledger-signer/src/version.ts": {"path":"/home/alireza/work/ecad/taquito/packages/taquito-ledger-signer/src/version.ts","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":6,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{}}
|
|
5
5
|
}
|
|
@@ -166,7 +166,7 @@ export class PublicKeyHashRetrievalError extends Error {
|
|
|
166
166
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
167
167
|
Code coverage generated by
|
|
168
168
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
169
|
-
at 2023-06-
|
|
169
|
+
at 2023-06-01T22:54:23.495Z
|
|
170
170
|
</div>
|
|
171
171
|
<script src="prettify.js"></script>
|
|
172
172
|
<script>
|
|
@@ -214,7 +214,7 @@ export class InvalidDerivationTypeError extends ParameterValidationError {
|
|
|
214
214
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
215
215
|
Code coverage generated by
|
|
216
216
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
217
|
-
at 2023-08-
|
|
217
|
+
at 2023-08-30T19:37:10.453Z
|
|
218
218
|
</div>
|
|
219
219
|
<script src="prettify.js"></script>
|
|
220
220
|
<script>
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
147
147
|
Code coverage generated by
|
|
148
148
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
149
|
-
at 2023-08-
|
|
149
|
+
at 2023-08-30T19:37:10.453Z
|
|
150
150
|
</div>
|
|
151
151
|
<script src="prettify.js"></script>
|
|
152
152
|
<script>
|
|
@@ -784,7 +784,7 @@ export class LedgerSigner implements Signer {
|
|
|
784
784
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
785
785
|
Code coverage generated by
|
|
786
786
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
787
|
-
at 2023-08-
|
|
787
|
+
at 2023-08-30T19:37:10.453Z
|
|
788
788
|
</div>
|
|
789
789
|
<script src="prettify.js"></script>
|
|
790
790
|
<script>
|
|
@@ -460,7 +460,7 @@ export function extractValue(idxLength: number, response: Buffer) {
|
|
|
460
460
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
461
461
|
Code coverage generated by
|
|
462
462
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
463
|
-
at 2023-08-
|
|
463
|
+
at 2023-08-30T19:37:10.453Z
|
|
464
464
|
</div>
|
|
465
465
|
<script src="prettify.js"></script>
|
|
466
466
|
<script>
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
79
79
|
// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
|
|
80
80
|
export const VERSION = {
|
|
81
|
-
"commitHash": "
|
|
82
|
-
"version": "17.
|
|
81
|
+
"commitHash": "b85fc404e34545a518215e449b3f1253f4520eec",
|
|
82
|
+
"version": "17.2.0"
|
|
83
83
|
};
|
|
84
84
|
</pre></td></tr></table></pre>
|
|
85
85
|
|
|
@@ -88,7 +88,7 @@ export const VERSION = {
|
|
|
88
88
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
89
89
|
Code coverage generated by
|
|
90
90
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
91
|
-
at 2023-08-
|
|
91
|
+
at 2023-08-30T19:37:10.453Z
|
|
92
92
|
</div>
|
|
93
93
|
<script src="prettify.js"></script>
|
|
94
94
|
<script>
|
package/dist/lib/version.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VERSION = void 0;
|
|
4
4
|
// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
|
|
5
5
|
exports.VERSION = {
|
|
6
|
-
"commitHash": "
|
|
7
|
-
"version": "17.3.0"
|
|
6
|
+
"commitHash": "e1b1d6976a564f925c01cf66e28df9acb0085c3d",
|
|
7
|
+
"version": "17.3.1-beta-RC.0"
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=version.js.map
|
package/dist/lib/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AACA,2EAA2E;AAC9D,QAAA,OAAO,GAAG;IACnB,YAAY,EAAE,0CAA0C;IACxD,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AACA,2EAA2E;AAC9D,QAAA,OAAO,GAAG;IACnB,YAAY,EAAE,0CAA0C;IACxD,SAAS,EAAE,kBAAkB;CAChC,CAAC"}
|
|
@@ -202,8 +202,8 @@ class InvalidDerivationTypeError extends ParameterValidationError {
|
|
|
202
202
|
|
|
203
203
|
// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
|
|
204
204
|
const VERSION = {
|
|
205
|
-
"commitHash": "
|
|
206
|
-
"version": "17.3.0"
|
|
205
|
+
"commitHash": "e1b1d6976a564f925c01cf66e28df9acb0085c3d",
|
|
206
|
+
"version": "17.3.1-beta-RC.0"
|
|
207
207
|
};
|
|
208
208
|
|
|
209
209
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taquito-ledger-signer.es6.js","sources":["../src/utils.ts","../src/errors.ts","../src/version.ts","../src/taquito-ledger-signer.ts"],"sourcesContent":["/*\n * Some code in this file is adapted from sotez\n * Copyright (c) 2018 Andrew Kishino\n */\n\nimport { DerivationType } from './taquito-ledger-signer';\n\nconst MAX_CHUNK_SIZE = 230;\n\n/**\n *\n * @description Convert the path to a buffer that will be used as LC and CDATA in the APDU send to the ledger device (https://github.com/obsidiansystems/ledger-app-tezos/blob/master/APDUs.md)\n *\n * @param path The ledger derivation path (default is \"44'/1729'/0'/0'\")\n * @returns A buffer where the first element is the length of the path (default is 4), then 3 bytes for each number of the path to which is added 0x8000000\n */\nexport function transformPathToBuffer(path: string): Buffer {\n const result: number[] = [];\n const components = path.split('/');\n components.forEach((element) => {\n let toNumber = parseInt(element, 10);\n if (Number.isNaN(toNumber)) {\n return;\n }\n if (element.length > 1 && element[element.length - 1] === \"'\") {\n toNumber += 0x80000000;\n }\n result.push(toNumber);\n });\n const buffer = Buffer.alloc(1 + result.length * 4);\n buffer[0] = result.length;\n result.forEach((element, index) => {\n buffer.writeUInt32BE(element, 1 + 4 * index);\n });\n return buffer;\n}\n\n/**\n *\n * @description Converts uncompressed ledger key to standard tezos binary representation\n */\nexport function compressPublicKey(publicKey: Buffer, curve: DerivationType) {\n if (curve === 0x00 || curve === 0x03) {\n publicKey = publicKey.slice(1);\n } else {\n publicKey[0] = 0x02 + (publicKey[64] & 0x01);\n publicKey = publicKey.slice(0, 33);\n }\n return publicKey;\n}\n\nexport function appendWatermark(bytes: string, watermark?: Uint8Array): string {\n let transactionHex = bytes;\n if (typeof watermark !== 'undefined') {\n const hexWatermark = Buffer.from(watermark).toString('hex');\n transactionHex = hexWatermark.concat(bytes);\n }\n return transactionHex;\n}\n\n/**\n *\n * @description In order not to exceed the data length allowed by the Ledger device, split the operation into buffers of 230 bytes (max) and add them to the message to send to the Ledger\n * @param messageToSend The message to send to the Ledger device\n * @param operation The operation which will be chunk if its length is over 230 bytes\n * @returns The instruction to send to the Ledger device\n */\nexport function chunkOperation(messageToSend: any, operation: Buffer) {\n let offset = 0;\n while (offset !== operation.length) {\n const chunkSize =\n offset + MAX_CHUNK_SIZE >= operation.length ? operation.length - offset : MAX_CHUNK_SIZE;\n const buff = Buffer.alloc(chunkSize);\n operation.copy(buff, 0, offset, offset + chunkSize);\n messageToSend.push(buff);\n offset += chunkSize;\n }\n return messageToSend;\n}\n\n/**\n *\n * @description Verify if the signature returned by the ledger for tz2 and tz3 is valid\n * @param response The signature returned by the Ledger (return from the signWithLedger function)\n * @returns True if valid, false otherwise\n */\nexport function validateResponse(response: Buffer): boolean {\n let valid = true;\n if (response[0] !== 0x31 && response[0] !== 0x30) {\n valid = false;\n }\n if (response[1] + 4 !== response.length) {\n valid = false;\n }\n if (response[2] !== 0x02) {\n valid = false;\n }\n const rLength = response[3];\n if (response[4 + rLength] !== 0x02) {\n valid = false;\n }\n\n const idxLengthSVal = 5 + rLength;\n const sLength = response[idxLengthSVal];\n if (idxLengthSVal + 1 + sLength + 2 !== response.length) {\n valid = false;\n }\n return valid;\n}\n\n/**\n *\n * @description Extract a part of the response returned by the Ledger\n * @param idxLength The index in the response from the Ledger that corresponds to the length of the part to extract\n * @param response The signature returned by the Ledger (return from the signWithLedger function)\n * @returns An object that contains the extracted buffer, the index where it starts in the response and the length of the extracted part\n */\nexport function extractValue(idxLength: number, response: Buffer) {\n const buffer = Buffer.alloc(32);\n buffer.fill(0);\n\n let length = response[idxLength];\n let idxValueStart = idxLength + 1;\n if (length > 32) {\n idxValueStart += length - 32;\n length = 32;\n }\n response.copy(buffer, 32 - length, idxValueStart, idxValueStart + length);\n return { buffer, idxValueStart, length };\n}\n","import { ParameterValidationError, TaquitoError } from '@taquito/core';\n\n/**\n * @category Error\n * @description Error that indicates an invalid or unparseable ledger response\n */\nexport class InvalidLedgerResponseError extends TaquitoError {\n constructor(public readonly message: string) {\n super();\n this.name = 'InvalidLedgerResponseError';\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to retrieve a Public Key from Ledger signer\n */\nexport class PublicKeyRetrievalError extends TaquitoError {\n constructor(public readonly cause: any) {\n super();\n this.name = 'PublicKeyRetrievalError';\n this.message = `Unable to retrieve Public Key from Ledger`;\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to retrieve a Public Key Hash from Ledger signer\n */\nexport class PublicKeyHashRetrievalError extends TaquitoError {\n constructor() {\n super();\n this.name = 'PublicKeyHashRetrievalError';\n this.message = 'Unable to retrieve Public Key Hash from Ledger';\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid derivation type being passed or used\n */\nexport class InvalidDerivationTypeError extends ParameterValidationError {\n constructor(public readonly derivationType: string) {\n super();\n this.name = 'InvalidDerivationTypeError';\n this.message = `Invalid derivation type ${derivationType} expecting one of the following: DerivationType.ED25519, DerivationType.SECP256K1, DerivationType.P256 or DerivationType.BIP32_ED25519`;\n }\n}\n","\n// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!\nexport const VERSION = {\n \"commitHash\": \"a5b3c864e1537d0fe0a7f8f0b55989ef89311fa2\",\n \"version\": \"17.3.0\"\n};\n","/**\n * @packageDocumentation\n * @module @taquito/ledger-signer\n */\n\nimport { Signer } from '@taquito/taquito';\nimport Transport from '@ledgerhq/hw-transport';\nimport { b58cencode, invalidDetail, prefix, Prefix, ValidationResult } from '@taquito/utils';\nimport {\n appendWatermark,\n transformPathToBuffer,\n compressPublicKey,\n chunkOperation,\n validateResponse,\n extractValue,\n} from './utils';\nimport { hash } from '@stablelib/blake2b';\nimport {\n PublicKeyHashRetrievalError,\n PublicKeyRetrievalError,\n InvalidLedgerResponseError,\n InvalidDerivationTypeError,\n} from './errors';\nimport { InvalidDerivationPathError, ProhibitedActionError } from '@taquito/core';\n\nexport { InvalidDerivationPathError } from '@taquito/core';\n\nexport type LedgerTransport = Pick<Transport, 'send' | 'decorateAppAPIMethods' | 'setScrambleKey'>;\n\nexport enum DerivationType {\n ED25519 = 0x00, // tz1\n SECP256K1 = 0x01, // tz2\n P256 = 0x02, // tz3\n BIP32_ED25519 = 0x03, // tz1 BIP32\n}\n\nexport { InvalidDerivationTypeError } from './errors';\n\nexport const HDPathTemplate = (account: number) => {\n return `44'/1729'/${account}'/0'`;\n};\n\nexport { VERSION } from './version';\n\n/**\n *\n * @description Implementation of the Signer interface that will allow signing operation from a Ledger Nano device\n *\n * @param transport A transport instance from LedgerJS libraries depending on the platform used (e.g. Web, Node)\n * @param path The ledger derivation path (default is \"44'/1729'/0'/0'\")\n * @param prompt Whether to prompt the ledger for public key (default is true)\n * @param derivationType The value which defines the curve to use (DerivationType.ED25519(default), DerivationType.SECP256K1, DerivationType.P256, DerivationType.BIP32_ED25519)\n *\n * @example\n * ```\n * import TransportNodeHid from \"@ledgerhq/hw-transport-node-hid\";\n * const transport = await TransportNodeHid.create();\n * const ledgerSigner = new LedgerSigner(transport, \"44'/1729'/0'/0'\", false, DerivationType.ED25519);\n * ```\n *\n * @example\n * ```\n * import TransportU2F from \"@ledgerhq/hw-transport-u2f\";\n * const transport = await TransportU2F.create();\n * const ledgerSigner = new LedgerSigner(transport, \"44'/1729'/0'/0'\", true, DerivationType.SECP256K1);\n * ```\n *\n * @example\n * ```\n * import TransportU2F from \"@ledgerhq/hw-transport-u2f\";\n * const transport = await TransportU2F.create();\n * const ledgerSigner = new LedgerSigner(transport, \"44'/1729'/6'/0'\", true, DerivationType.BIP32_ED25519);\n * ```\n */\nexport class LedgerSigner implements Signer {\n // constants for APDU requests (https://github.com/obsidiansystems/ledger-app-tezos/blob/master/APDUs.md)\n private readonly CLA = 0x80; // Instruction class (always 0x80)\n private readonly INS_GET_PUBLIC_KEY = 0x02; // Instruction code to get the ledger’s internal public key without prompt\n private readonly INS_PROMPT_PUBLIC_KEY = 0x03; // Instruction code to get the ledger’s internal public key with prompt\n private readonly INS_SIGN = 0x04; // Sign a message with the ledger’s key\n private readonly FIRST_MESSAGE_SEQUENCE = 0x00;\n private readonly LAST_MESSAGE_SEQUENCE = 0x81;\n private readonly OTHER_MESSAGE_SEQUENCE = 0x01;\n\n private _publicKey?: string;\n private _publicKeyHash?: string;\n constructor(\n private transport: LedgerTransport,\n private path: string = \"44'/1729'/0'/0'\",\n private prompt: boolean = true,\n private derivationType: DerivationType = DerivationType.ED25519\n ) {\n this.transport.setScrambleKey('XTZ');\n if (!path.startsWith(`44'/1729'`)) {\n throw new InvalidDerivationPathError(\n path,\n `${invalidDetail(ValidationResult.NO_PREFIX_MATCHED)} expecting prefix \"44'/1729'\".`\n );\n }\n if (!Object.values(DerivationType).includes(derivationType)) {\n throw new InvalidDerivationTypeError(derivationType.toString());\n }\n }\n\n async publicKeyHash(): Promise<string> {\n if (!this._publicKeyHash) {\n await this.publicKey();\n }\n if (this._publicKeyHash) {\n return this._publicKeyHash;\n }\n throw new PublicKeyHashRetrievalError();\n }\n\n async publicKey(): Promise<string> {\n if (this._publicKey) {\n return this._publicKey;\n }\n const responseLedger = await this.getLedgerPublicKey();\n const publicKeyLength = responseLedger[0];\n const rawPublicKey = responseLedger.slice(1, 1 + publicKeyLength);\n const compressedPublicKey = compressPublicKey(rawPublicKey, this.derivationType);\n\n const prefixes = this.getPrefixes();\n const publicKey = b58cencode(compressedPublicKey, prefixes.prefPk);\n const publicKeyHash = b58cencode(hash(compressedPublicKey, 20), prefixes.prefPkh);\n\n this._publicKey = publicKey;\n this._publicKeyHash = publicKeyHash;\n return publicKey;\n }\n\n private async getLedgerPublicKey(): Promise<Buffer> {\n try {\n let ins = this.INS_PROMPT_PUBLIC_KEY;\n if (this.prompt === false) {\n ins = this.INS_GET_PUBLIC_KEY;\n }\n const responseLedger = await this.transport.send(\n this.CLA,\n ins,\n this.FIRST_MESSAGE_SEQUENCE,\n this.derivationType,\n transformPathToBuffer(this.path)\n );\n return responseLedger;\n } catch (error) {\n throw new PublicKeyRetrievalError(error);\n }\n }\n\n async secretKey(): Promise<string> {\n throw new ProhibitedActionError('Secret key cannot be exposed');\n }\n\n async sign(bytes: string, watermark?: Uint8Array) {\n const watermarkedBytes = appendWatermark(bytes, watermark);\n const watermarkedBytes2buff = Buffer.from(watermarkedBytes, 'hex');\n let messageToSend = [];\n messageToSend.push(transformPathToBuffer(this.path));\n messageToSend = chunkOperation(messageToSend, watermarkedBytes2buff);\n const ledgerResponse = await this.signWithLedger(messageToSend);\n let signature;\n if (\n this.derivationType === DerivationType.ED25519 ||\n this.derivationType === DerivationType.BIP32_ED25519\n ) {\n signature = ledgerResponse.slice(0, ledgerResponse.length - 2).toString('hex');\n } else {\n if (!validateResponse(ledgerResponse)) {\n throw new InvalidLedgerResponseError(\n 'Invalid signature return by ledger unable to parse the response'\n );\n }\n const idxLengthRVal = 3; // Third element of response is length of r value\n const rValue = extractValue(idxLengthRVal, ledgerResponse);\n const idxLengthSVal = rValue.idxValueStart + rValue.length + 1;\n const sValue = extractValue(idxLengthSVal, ledgerResponse);\n const signatureBuffer = Buffer.concat([rValue.buffer, sValue.buffer]);\n signature = signatureBuffer.toString('hex');\n }\n\n return {\n bytes,\n sig: b58cencode(signature, prefix[Prefix.SIG]),\n prefixSig: b58cencode(signature, this.getPrefixes().prefSig),\n sbytes: bytes + signature,\n };\n }\n\n private async signWithLedger(message: Buffer[]): Promise<Buffer> {\n // first element of the message represents the path\n let ledgerResponse = await this.transport.send(\n this.CLA,\n this.INS_SIGN,\n this.FIRST_MESSAGE_SEQUENCE,\n this.derivationType,\n message[0]\n );\n for (let i = 1; i < message.length; i++) {\n const p1 =\n i === message.length - 1 ? this.LAST_MESSAGE_SEQUENCE : this.OTHER_MESSAGE_SEQUENCE;\n ledgerResponse = await this.transport.send(\n this.CLA,\n this.INS_SIGN,\n p1,\n this.derivationType,\n message[i]\n );\n }\n return ledgerResponse;\n }\n\n private getPrefixes() {\n if (\n this.derivationType === DerivationType.ED25519 ||\n this.derivationType === DerivationType.BIP32_ED25519\n ) {\n return {\n prefPk: prefix[Prefix.EDPK],\n prefPkh: prefix[Prefix.TZ1],\n prefSig: prefix[Prefix.EDSIG],\n };\n } else if (this.derivationType === DerivationType.SECP256K1) {\n return {\n prefPk: prefix[Prefix.SPPK],\n prefPkh: prefix[Prefix.TZ2],\n prefSig: prefix[Prefix.SPSIG],\n };\n } else {\n return {\n prefPk: prefix[Prefix.P2PK],\n prefPkh: prefix[Prefix.TZ3],\n prefSig: prefix[Prefix.P2SIG],\n };\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taquito-ledger-signer.es6.js","sources":["../src/utils.ts","../src/errors.ts","../src/version.ts","../src/taquito-ledger-signer.ts"],"sourcesContent":["/*\n * Some code in this file is adapted from sotez\n * Copyright (c) 2018 Andrew Kishino\n */\n\nimport { DerivationType } from './taquito-ledger-signer';\n\nconst MAX_CHUNK_SIZE = 230;\n\n/**\n *\n * @description Convert the path to a buffer that will be used as LC and CDATA in the APDU send to the ledger device (https://github.com/obsidiansystems/ledger-app-tezos/blob/master/APDUs.md)\n *\n * @param path The ledger derivation path (default is \"44'/1729'/0'/0'\")\n * @returns A buffer where the first element is the length of the path (default is 4), then 3 bytes for each number of the path to which is added 0x8000000\n */\nexport function transformPathToBuffer(path: string): Buffer {\n const result: number[] = [];\n const components = path.split('/');\n components.forEach((element) => {\n let toNumber = parseInt(element, 10);\n if (Number.isNaN(toNumber)) {\n return;\n }\n if (element.length > 1 && element[element.length - 1] === \"'\") {\n toNumber += 0x80000000;\n }\n result.push(toNumber);\n });\n const buffer = Buffer.alloc(1 + result.length * 4);\n buffer[0] = result.length;\n result.forEach((element, index) => {\n buffer.writeUInt32BE(element, 1 + 4 * index);\n });\n return buffer;\n}\n\n/**\n *\n * @description Converts uncompressed ledger key to standard tezos binary representation\n */\nexport function compressPublicKey(publicKey: Buffer, curve: DerivationType) {\n if (curve === 0x00 || curve === 0x03) {\n publicKey = publicKey.slice(1);\n } else {\n publicKey[0] = 0x02 + (publicKey[64] & 0x01);\n publicKey = publicKey.slice(0, 33);\n }\n return publicKey;\n}\n\nexport function appendWatermark(bytes: string, watermark?: Uint8Array): string {\n let transactionHex = bytes;\n if (typeof watermark !== 'undefined') {\n const hexWatermark = Buffer.from(watermark).toString('hex');\n transactionHex = hexWatermark.concat(bytes);\n }\n return transactionHex;\n}\n\n/**\n *\n * @description In order not to exceed the data length allowed by the Ledger device, split the operation into buffers of 230 bytes (max) and add them to the message to send to the Ledger\n * @param messageToSend The message to send to the Ledger device\n * @param operation The operation which will be chunk if its length is over 230 bytes\n * @returns The instruction to send to the Ledger device\n */\nexport function chunkOperation(messageToSend: any, operation: Buffer) {\n let offset = 0;\n while (offset !== operation.length) {\n const chunkSize =\n offset + MAX_CHUNK_SIZE >= operation.length ? operation.length - offset : MAX_CHUNK_SIZE;\n const buff = Buffer.alloc(chunkSize);\n operation.copy(buff, 0, offset, offset + chunkSize);\n messageToSend.push(buff);\n offset += chunkSize;\n }\n return messageToSend;\n}\n\n/**\n *\n * @description Verify if the signature returned by the ledger for tz2 and tz3 is valid\n * @param response The signature returned by the Ledger (return from the signWithLedger function)\n * @returns True if valid, false otherwise\n */\nexport function validateResponse(response: Buffer): boolean {\n let valid = true;\n if (response[0] !== 0x31 && response[0] !== 0x30) {\n valid = false;\n }\n if (response[1] + 4 !== response.length) {\n valid = false;\n }\n if (response[2] !== 0x02) {\n valid = false;\n }\n const rLength = response[3];\n if (response[4 + rLength] !== 0x02) {\n valid = false;\n }\n\n const idxLengthSVal = 5 + rLength;\n const sLength = response[idxLengthSVal];\n if (idxLengthSVal + 1 + sLength + 2 !== response.length) {\n valid = false;\n }\n return valid;\n}\n\n/**\n *\n * @description Extract a part of the response returned by the Ledger\n * @param idxLength The index in the response from the Ledger that corresponds to the length of the part to extract\n * @param response The signature returned by the Ledger (return from the signWithLedger function)\n * @returns An object that contains the extracted buffer, the index where it starts in the response and the length of the extracted part\n */\nexport function extractValue(idxLength: number, response: Buffer) {\n const buffer = Buffer.alloc(32);\n buffer.fill(0);\n\n let length = response[idxLength];\n let idxValueStart = idxLength + 1;\n if (length > 32) {\n idxValueStart += length - 32;\n length = 32;\n }\n response.copy(buffer, 32 - length, idxValueStart, idxValueStart + length);\n return { buffer, idxValueStart, length };\n}\n","import { ParameterValidationError, TaquitoError } from '@taquito/core';\n\n/**\n * @category Error\n * @description Error that indicates an invalid or unparseable ledger response\n */\nexport class InvalidLedgerResponseError extends TaquitoError {\n constructor(public readonly message: string) {\n super();\n this.name = 'InvalidLedgerResponseError';\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to retrieve a Public Key from Ledger signer\n */\nexport class PublicKeyRetrievalError extends TaquitoError {\n constructor(public readonly cause: any) {\n super();\n this.name = 'PublicKeyRetrievalError';\n this.message = `Unable to retrieve Public Key from Ledger`;\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to retrieve a Public Key Hash from Ledger signer\n */\nexport class PublicKeyHashRetrievalError extends TaquitoError {\n constructor() {\n super();\n this.name = 'PublicKeyHashRetrievalError';\n this.message = 'Unable to retrieve Public Key Hash from Ledger';\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid derivation type being passed or used\n */\nexport class InvalidDerivationTypeError extends ParameterValidationError {\n constructor(public readonly derivationType: string) {\n super();\n this.name = 'InvalidDerivationTypeError';\n this.message = `Invalid derivation type ${derivationType} expecting one of the following: DerivationType.ED25519, DerivationType.SECP256K1, DerivationType.P256 or DerivationType.BIP32_ED25519`;\n }\n}\n","\n// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!\nexport const VERSION = {\n \"commitHash\": \"e1b1d6976a564f925c01cf66e28df9acb0085c3d\",\n \"version\": \"17.3.1-beta-RC.0\"\n};\n","/**\n * @packageDocumentation\n * @module @taquito/ledger-signer\n */\n\nimport { Signer } from '@taquito/taquito';\nimport Transport from '@ledgerhq/hw-transport';\nimport { b58cencode, invalidDetail, prefix, Prefix, ValidationResult } from '@taquito/utils';\nimport {\n appendWatermark,\n transformPathToBuffer,\n compressPublicKey,\n chunkOperation,\n validateResponse,\n extractValue,\n} from './utils';\nimport { hash } from '@stablelib/blake2b';\nimport {\n PublicKeyHashRetrievalError,\n PublicKeyRetrievalError,\n InvalidLedgerResponseError,\n InvalidDerivationTypeError,\n} from './errors';\nimport { InvalidDerivationPathError, ProhibitedActionError } from '@taquito/core';\n\nexport { InvalidDerivationPathError } from '@taquito/core';\n\nexport type LedgerTransport = Pick<Transport, 'send' | 'decorateAppAPIMethods' | 'setScrambleKey'>;\n\nexport enum DerivationType {\n ED25519 = 0x00, // tz1\n SECP256K1 = 0x01, // tz2\n P256 = 0x02, // tz3\n BIP32_ED25519 = 0x03, // tz1 BIP32\n}\n\nexport { InvalidDerivationTypeError } from './errors';\n\nexport const HDPathTemplate = (account: number) => {\n return `44'/1729'/${account}'/0'`;\n};\n\nexport { VERSION } from './version';\n\n/**\n *\n * @description Implementation of the Signer interface that will allow signing operation from a Ledger Nano device\n *\n * @param transport A transport instance from LedgerJS libraries depending on the platform used (e.g. Web, Node)\n * @param path The ledger derivation path (default is \"44'/1729'/0'/0'\")\n * @param prompt Whether to prompt the ledger for public key (default is true)\n * @param derivationType The value which defines the curve to use (DerivationType.ED25519(default), DerivationType.SECP256K1, DerivationType.P256, DerivationType.BIP32_ED25519)\n *\n * @example\n * ```\n * import TransportNodeHid from \"@ledgerhq/hw-transport-node-hid\";\n * const transport = await TransportNodeHid.create();\n * const ledgerSigner = new LedgerSigner(transport, \"44'/1729'/0'/0'\", false, DerivationType.ED25519);\n * ```\n *\n * @example\n * ```\n * import TransportU2F from \"@ledgerhq/hw-transport-u2f\";\n * const transport = await TransportU2F.create();\n * const ledgerSigner = new LedgerSigner(transport, \"44'/1729'/0'/0'\", true, DerivationType.SECP256K1);\n * ```\n *\n * @example\n * ```\n * import TransportU2F from \"@ledgerhq/hw-transport-u2f\";\n * const transport = await TransportU2F.create();\n * const ledgerSigner = new LedgerSigner(transport, \"44'/1729'/6'/0'\", true, DerivationType.BIP32_ED25519);\n * ```\n */\nexport class LedgerSigner implements Signer {\n // constants for APDU requests (https://github.com/obsidiansystems/ledger-app-tezos/blob/master/APDUs.md)\n private readonly CLA = 0x80; // Instruction class (always 0x80)\n private readonly INS_GET_PUBLIC_KEY = 0x02; // Instruction code to get the ledger’s internal public key without prompt\n private readonly INS_PROMPT_PUBLIC_KEY = 0x03; // Instruction code to get the ledger’s internal public key with prompt\n private readonly INS_SIGN = 0x04; // Sign a message with the ledger’s key\n private readonly FIRST_MESSAGE_SEQUENCE = 0x00;\n private readonly LAST_MESSAGE_SEQUENCE = 0x81;\n private readonly OTHER_MESSAGE_SEQUENCE = 0x01;\n\n private _publicKey?: string;\n private _publicKeyHash?: string;\n constructor(\n private transport: LedgerTransport,\n private path: string = \"44'/1729'/0'/0'\",\n private prompt: boolean = true,\n private derivationType: DerivationType = DerivationType.ED25519\n ) {\n this.transport.setScrambleKey('XTZ');\n if (!path.startsWith(`44'/1729'`)) {\n throw new InvalidDerivationPathError(\n path,\n `${invalidDetail(ValidationResult.NO_PREFIX_MATCHED)} expecting prefix \"44'/1729'\".`\n );\n }\n if (!Object.values(DerivationType).includes(derivationType)) {\n throw new InvalidDerivationTypeError(derivationType.toString());\n }\n }\n\n async publicKeyHash(): Promise<string> {\n if (!this._publicKeyHash) {\n await this.publicKey();\n }\n if (this._publicKeyHash) {\n return this._publicKeyHash;\n }\n throw new PublicKeyHashRetrievalError();\n }\n\n async publicKey(): Promise<string> {\n if (this._publicKey) {\n return this._publicKey;\n }\n const responseLedger = await this.getLedgerPublicKey();\n const publicKeyLength = responseLedger[0];\n const rawPublicKey = responseLedger.slice(1, 1 + publicKeyLength);\n const compressedPublicKey = compressPublicKey(rawPublicKey, this.derivationType);\n\n const prefixes = this.getPrefixes();\n const publicKey = b58cencode(compressedPublicKey, prefixes.prefPk);\n const publicKeyHash = b58cencode(hash(compressedPublicKey, 20), prefixes.prefPkh);\n\n this._publicKey = publicKey;\n this._publicKeyHash = publicKeyHash;\n return publicKey;\n }\n\n private async getLedgerPublicKey(): Promise<Buffer> {\n try {\n let ins = this.INS_PROMPT_PUBLIC_KEY;\n if (this.prompt === false) {\n ins = this.INS_GET_PUBLIC_KEY;\n }\n const responseLedger = await this.transport.send(\n this.CLA,\n ins,\n this.FIRST_MESSAGE_SEQUENCE,\n this.derivationType,\n transformPathToBuffer(this.path)\n );\n return responseLedger;\n } catch (error) {\n throw new PublicKeyRetrievalError(error);\n }\n }\n\n async secretKey(): Promise<string> {\n throw new ProhibitedActionError('Secret key cannot be exposed');\n }\n\n async sign(bytes: string, watermark?: Uint8Array) {\n const watermarkedBytes = appendWatermark(bytes, watermark);\n const watermarkedBytes2buff = Buffer.from(watermarkedBytes, 'hex');\n let messageToSend = [];\n messageToSend.push(transformPathToBuffer(this.path));\n messageToSend = chunkOperation(messageToSend, watermarkedBytes2buff);\n const ledgerResponse = await this.signWithLedger(messageToSend);\n let signature;\n if (\n this.derivationType === DerivationType.ED25519 ||\n this.derivationType === DerivationType.BIP32_ED25519\n ) {\n signature = ledgerResponse.slice(0, ledgerResponse.length - 2).toString('hex');\n } else {\n if (!validateResponse(ledgerResponse)) {\n throw new InvalidLedgerResponseError(\n 'Invalid signature return by ledger unable to parse the response'\n );\n }\n const idxLengthRVal = 3; // Third element of response is length of r value\n const rValue = extractValue(idxLengthRVal, ledgerResponse);\n const idxLengthSVal = rValue.idxValueStart + rValue.length + 1;\n const sValue = extractValue(idxLengthSVal, ledgerResponse);\n const signatureBuffer = Buffer.concat([rValue.buffer, sValue.buffer]);\n signature = signatureBuffer.toString('hex');\n }\n\n return {\n bytes,\n sig: b58cencode(signature, prefix[Prefix.SIG]),\n prefixSig: b58cencode(signature, this.getPrefixes().prefSig),\n sbytes: bytes + signature,\n };\n }\n\n private async signWithLedger(message: Buffer[]): Promise<Buffer> {\n // first element of the message represents the path\n let ledgerResponse = await this.transport.send(\n this.CLA,\n this.INS_SIGN,\n this.FIRST_MESSAGE_SEQUENCE,\n this.derivationType,\n message[0]\n );\n for (let i = 1; i < message.length; i++) {\n const p1 =\n i === message.length - 1 ? this.LAST_MESSAGE_SEQUENCE : this.OTHER_MESSAGE_SEQUENCE;\n ledgerResponse = await this.transport.send(\n this.CLA,\n this.INS_SIGN,\n p1,\n this.derivationType,\n message[i]\n );\n }\n return ledgerResponse;\n }\n\n private getPrefixes() {\n if (\n this.derivationType === DerivationType.ED25519 ||\n this.derivationType === DerivationType.BIP32_ED25519\n ) {\n return {\n prefPk: prefix[Prefix.EDPK],\n prefPkh: prefix[Prefix.TZ1],\n prefSig: prefix[Prefix.EDSIG],\n };\n } else if (this.derivationType === DerivationType.SECP256K1) {\n return {\n prefPk: prefix[Prefix.SPPK],\n prefPkh: prefix[Prefix.TZ2],\n prefSig: prefix[Prefix.SPSIG],\n };\n } else {\n return {\n prefPk: prefix[Prefix.P2PK],\n prefPkh: prefix[Prefix.TZ3],\n prefSig: prefix[Prefix.P2SIG],\n };\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -203,8 +203,8 @@
|
|
|
203
203
|
|
|
204
204
|
// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
|
|
205
205
|
const VERSION = {
|
|
206
|
-
"commitHash": "
|
|
207
|
-
"version": "17.3.0"
|
|
206
|
+
"commitHash": "e1b1d6976a564f925c01cf66e28df9acb0085c3d",
|
|
207
|
+
"version": "17.3.1-beta-RC.0"
|
|
208
208
|
};
|
|
209
209
|
|
|
210
210
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taquito-ledger-signer.umd.js","sources":["../src/utils.ts","../src/errors.ts","../src/version.ts","../src/taquito-ledger-signer.ts"],"sourcesContent":["/*\n * Some code in this file is adapted from sotez\n * Copyright (c) 2018 Andrew Kishino\n */\n\nimport { DerivationType } from './taquito-ledger-signer';\n\nconst MAX_CHUNK_SIZE = 230;\n\n/**\n *\n * @description Convert the path to a buffer that will be used as LC and CDATA in the APDU send to the ledger device (https://github.com/obsidiansystems/ledger-app-tezos/blob/master/APDUs.md)\n *\n * @param path The ledger derivation path (default is \"44'/1729'/0'/0'\")\n * @returns A buffer where the first element is the length of the path (default is 4), then 3 bytes for each number of the path to which is added 0x8000000\n */\nexport function transformPathToBuffer(path: string): Buffer {\n const result: number[] = [];\n const components = path.split('/');\n components.forEach((element) => {\n let toNumber = parseInt(element, 10);\n if (Number.isNaN(toNumber)) {\n return;\n }\n if (element.length > 1 && element[element.length - 1] === \"'\") {\n toNumber += 0x80000000;\n }\n result.push(toNumber);\n });\n const buffer = Buffer.alloc(1 + result.length * 4);\n buffer[0] = result.length;\n result.forEach((element, index) => {\n buffer.writeUInt32BE(element, 1 + 4 * index);\n });\n return buffer;\n}\n\n/**\n *\n * @description Converts uncompressed ledger key to standard tezos binary representation\n */\nexport function compressPublicKey(publicKey: Buffer, curve: DerivationType) {\n if (curve === 0x00 || curve === 0x03) {\n publicKey = publicKey.slice(1);\n } else {\n publicKey[0] = 0x02 + (publicKey[64] & 0x01);\n publicKey = publicKey.slice(0, 33);\n }\n return publicKey;\n}\n\nexport function appendWatermark(bytes: string, watermark?: Uint8Array): string {\n let transactionHex = bytes;\n if (typeof watermark !== 'undefined') {\n const hexWatermark = Buffer.from(watermark).toString('hex');\n transactionHex = hexWatermark.concat(bytes);\n }\n return transactionHex;\n}\n\n/**\n *\n * @description In order not to exceed the data length allowed by the Ledger device, split the operation into buffers of 230 bytes (max) and add them to the message to send to the Ledger\n * @param messageToSend The message to send to the Ledger device\n * @param operation The operation which will be chunk if its length is over 230 bytes\n * @returns The instruction to send to the Ledger device\n */\nexport function chunkOperation(messageToSend: any, operation: Buffer) {\n let offset = 0;\n while (offset !== operation.length) {\n const chunkSize =\n offset + MAX_CHUNK_SIZE >= operation.length ? operation.length - offset : MAX_CHUNK_SIZE;\n const buff = Buffer.alloc(chunkSize);\n operation.copy(buff, 0, offset, offset + chunkSize);\n messageToSend.push(buff);\n offset += chunkSize;\n }\n return messageToSend;\n}\n\n/**\n *\n * @description Verify if the signature returned by the ledger for tz2 and tz3 is valid\n * @param response The signature returned by the Ledger (return from the signWithLedger function)\n * @returns True if valid, false otherwise\n */\nexport function validateResponse(response: Buffer): boolean {\n let valid = true;\n if (response[0] !== 0x31 && response[0] !== 0x30) {\n valid = false;\n }\n if (response[1] + 4 !== response.length) {\n valid = false;\n }\n if (response[2] !== 0x02) {\n valid = false;\n }\n const rLength = response[3];\n if (response[4 + rLength] !== 0x02) {\n valid = false;\n }\n\n const idxLengthSVal = 5 + rLength;\n const sLength = response[idxLengthSVal];\n if (idxLengthSVal + 1 + sLength + 2 !== response.length) {\n valid = false;\n }\n return valid;\n}\n\n/**\n *\n * @description Extract a part of the response returned by the Ledger\n * @param idxLength The index in the response from the Ledger that corresponds to the length of the part to extract\n * @param response The signature returned by the Ledger (return from the signWithLedger function)\n * @returns An object that contains the extracted buffer, the index where it starts in the response and the length of the extracted part\n */\nexport function extractValue(idxLength: number, response: Buffer) {\n const buffer = Buffer.alloc(32);\n buffer.fill(0);\n\n let length = response[idxLength];\n let idxValueStart = idxLength + 1;\n if (length > 32) {\n idxValueStart += length - 32;\n length = 32;\n }\n response.copy(buffer, 32 - length, idxValueStart, idxValueStart + length);\n return { buffer, idxValueStart, length };\n}\n","import { ParameterValidationError, TaquitoError } from '@taquito/core';\n\n/**\n * @category Error\n * @description Error that indicates an invalid or unparseable ledger response\n */\nexport class InvalidLedgerResponseError extends TaquitoError {\n constructor(public readonly message: string) {\n super();\n this.name = 'InvalidLedgerResponseError';\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to retrieve a Public Key from Ledger signer\n */\nexport class PublicKeyRetrievalError extends TaquitoError {\n constructor(public readonly cause: any) {\n super();\n this.name = 'PublicKeyRetrievalError';\n this.message = `Unable to retrieve Public Key from Ledger`;\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to retrieve a Public Key Hash from Ledger signer\n */\nexport class PublicKeyHashRetrievalError extends TaquitoError {\n constructor() {\n super();\n this.name = 'PublicKeyHashRetrievalError';\n this.message = 'Unable to retrieve Public Key Hash from Ledger';\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid derivation type being passed or used\n */\nexport class InvalidDerivationTypeError extends ParameterValidationError {\n constructor(public readonly derivationType: string) {\n super();\n this.name = 'InvalidDerivationTypeError';\n this.message = `Invalid derivation type ${derivationType} expecting one of the following: DerivationType.ED25519, DerivationType.SECP256K1, DerivationType.P256 or DerivationType.BIP32_ED25519`;\n }\n}\n","\n// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!\nexport const VERSION = {\n \"commitHash\": \"a5b3c864e1537d0fe0a7f8f0b55989ef89311fa2\",\n \"version\": \"17.3.0\"\n};\n","/**\n * @packageDocumentation\n * @module @taquito/ledger-signer\n */\n\nimport { Signer } from '@taquito/taquito';\nimport Transport from '@ledgerhq/hw-transport';\nimport { b58cencode, invalidDetail, prefix, Prefix, ValidationResult } from '@taquito/utils';\nimport {\n appendWatermark,\n transformPathToBuffer,\n compressPublicKey,\n chunkOperation,\n validateResponse,\n extractValue,\n} from './utils';\nimport { hash } from '@stablelib/blake2b';\nimport {\n PublicKeyHashRetrievalError,\n PublicKeyRetrievalError,\n InvalidLedgerResponseError,\n InvalidDerivationTypeError,\n} from './errors';\nimport { InvalidDerivationPathError, ProhibitedActionError } from '@taquito/core';\n\nexport { InvalidDerivationPathError } from '@taquito/core';\n\nexport type LedgerTransport = Pick<Transport, 'send' | 'decorateAppAPIMethods' | 'setScrambleKey'>;\n\nexport enum DerivationType {\n ED25519 = 0x00, // tz1\n SECP256K1 = 0x01, // tz2\n P256 = 0x02, // tz3\n BIP32_ED25519 = 0x03, // tz1 BIP32\n}\n\nexport { InvalidDerivationTypeError } from './errors';\n\nexport const HDPathTemplate = (account: number) => {\n return `44'/1729'/${account}'/0'`;\n};\n\nexport { VERSION } from './version';\n\n/**\n *\n * @description Implementation of the Signer interface that will allow signing operation from a Ledger Nano device\n *\n * @param transport A transport instance from LedgerJS libraries depending on the platform used (e.g. Web, Node)\n * @param path The ledger derivation path (default is \"44'/1729'/0'/0'\")\n * @param prompt Whether to prompt the ledger for public key (default is true)\n * @param derivationType The value which defines the curve to use (DerivationType.ED25519(default), DerivationType.SECP256K1, DerivationType.P256, DerivationType.BIP32_ED25519)\n *\n * @example\n * ```\n * import TransportNodeHid from \"@ledgerhq/hw-transport-node-hid\";\n * const transport = await TransportNodeHid.create();\n * const ledgerSigner = new LedgerSigner(transport, \"44'/1729'/0'/0'\", false, DerivationType.ED25519);\n * ```\n *\n * @example\n * ```\n * import TransportU2F from \"@ledgerhq/hw-transport-u2f\";\n * const transport = await TransportU2F.create();\n * const ledgerSigner = new LedgerSigner(transport, \"44'/1729'/0'/0'\", true, DerivationType.SECP256K1);\n * ```\n *\n * @example\n * ```\n * import TransportU2F from \"@ledgerhq/hw-transport-u2f\";\n * const transport = await TransportU2F.create();\n * const ledgerSigner = new LedgerSigner(transport, \"44'/1729'/6'/0'\", true, DerivationType.BIP32_ED25519);\n * ```\n */\nexport class LedgerSigner implements Signer {\n // constants for APDU requests (https://github.com/obsidiansystems/ledger-app-tezos/blob/master/APDUs.md)\n private readonly CLA = 0x80; // Instruction class (always 0x80)\n private readonly INS_GET_PUBLIC_KEY = 0x02; // Instruction code to get the ledger’s internal public key without prompt\n private readonly INS_PROMPT_PUBLIC_KEY = 0x03; // Instruction code to get the ledger’s internal public key with prompt\n private readonly INS_SIGN = 0x04; // Sign a message with the ledger’s key\n private readonly FIRST_MESSAGE_SEQUENCE = 0x00;\n private readonly LAST_MESSAGE_SEQUENCE = 0x81;\n private readonly OTHER_MESSAGE_SEQUENCE = 0x01;\n\n private _publicKey?: string;\n private _publicKeyHash?: string;\n constructor(\n private transport: LedgerTransport,\n private path: string = \"44'/1729'/0'/0'\",\n private prompt: boolean = true,\n private derivationType: DerivationType = DerivationType.ED25519\n ) {\n this.transport.setScrambleKey('XTZ');\n if (!path.startsWith(`44'/1729'`)) {\n throw new InvalidDerivationPathError(\n path,\n `${invalidDetail(ValidationResult.NO_PREFIX_MATCHED)} expecting prefix \"44'/1729'\".`\n );\n }\n if (!Object.values(DerivationType).includes(derivationType)) {\n throw new InvalidDerivationTypeError(derivationType.toString());\n }\n }\n\n async publicKeyHash(): Promise<string> {\n if (!this._publicKeyHash) {\n await this.publicKey();\n }\n if (this._publicKeyHash) {\n return this._publicKeyHash;\n }\n throw new PublicKeyHashRetrievalError();\n }\n\n async publicKey(): Promise<string> {\n if (this._publicKey) {\n return this._publicKey;\n }\n const responseLedger = await this.getLedgerPublicKey();\n const publicKeyLength = responseLedger[0];\n const rawPublicKey = responseLedger.slice(1, 1 + publicKeyLength);\n const compressedPublicKey = compressPublicKey(rawPublicKey, this.derivationType);\n\n const prefixes = this.getPrefixes();\n const publicKey = b58cencode(compressedPublicKey, prefixes.prefPk);\n const publicKeyHash = b58cencode(hash(compressedPublicKey, 20), prefixes.prefPkh);\n\n this._publicKey = publicKey;\n this._publicKeyHash = publicKeyHash;\n return publicKey;\n }\n\n private async getLedgerPublicKey(): Promise<Buffer> {\n try {\n let ins = this.INS_PROMPT_PUBLIC_KEY;\n if (this.prompt === false) {\n ins = this.INS_GET_PUBLIC_KEY;\n }\n const responseLedger = await this.transport.send(\n this.CLA,\n ins,\n this.FIRST_MESSAGE_SEQUENCE,\n this.derivationType,\n transformPathToBuffer(this.path)\n );\n return responseLedger;\n } catch (error) {\n throw new PublicKeyRetrievalError(error);\n }\n }\n\n async secretKey(): Promise<string> {\n throw new ProhibitedActionError('Secret key cannot be exposed');\n }\n\n async sign(bytes: string, watermark?: Uint8Array) {\n const watermarkedBytes = appendWatermark(bytes, watermark);\n const watermarkedBytes2buff = Buffer.from(watermarkedBytes, 'hex');\n let messageToSend = [];\n messageToSend.push(transformPathToBuffer(this.path));\n messageToSend = chunkOperation(messageToSend, watermarkedBytes2buff);\n const ledgerResponse = await this.signWithLedger(messageToSend);\n let signature;\n if (\n this.derivationType === DerivationType.ED25519 ||\n this.derivationType === DerivationType.BIP32_ED25519\n ) {\n signature = ledgerResponse.slice(0, ledgerResponse.length - 2).toString('hex');\n } else {\n if (!validateResponse(ledgerResponse)) {\n throw new InvalidLedgerResponseError(\n 'Invalid signature return by ledger unable to parse the response'\n );\n }\n const idxLengthRVal = 3; // Third element of response is length of r value\n const rValue = extractValue(idxLengthRVal, ledgerResponse);\n const idxLengthSVal = rValue.idxValueStart + rValue.length + 1;\n const sValue = extractValue(idxLengthSVal, ledgerResponse);\n const signatureBuffer = Buffer.concat([rValue.buffer, sValue.buffer]);\n signature = signatureBuffer.toString('hex');\n }\n\n return {\n bytes,\n sig: b58cencode(signature, prefix[Prefix.SIG]),\n prefixSig: b58cencode(signature, this.getPrefixes().prefSig),\n sbytes: bytes + signature,\n };\n }\n\n private async signWithLedger(message: Buffer[]): Promise<Buffer> {\n // first element of the message represents the path\n let ledgerResponse = await this.transport.send(\n this.CLA,\n this.INS_SIGN,\n this.FIRST_MESSAGE_SEQUENCE,\n this.derivationType,\n message[0]\n );\n for (let i = 1; i < message.length; i++) {\n const p1 =\n i === message.length - 1 ? this.LAST_MESSAGE_SEQUENCE : this.OTHER_MESSAGE_SEQUENCE;\n ledgerResponse = await this.transport.send(\n this.CLA,\n this.INS_SIGN,\n p1,\n this.derivationType,\n message[i]\n );\n }\n return ledgerResponse;\n }\n\n private getPrefixes() {\n if (\n this.derivationType === DerivationType.ED25519 ||\n this.derivationType === DerivationType.BIP32_ED25519\n ) {\n return {\n prefPk: prefix[Prefix.EDPK],\n prefPkh: prefix[Prefix.TZ1],\n prefSig: prefix[Prefix.EDSIG],\n };\n } else if (this.derivationType === DerivationType.SECP256K1) {\n return {\n prefPk: prefix[Prefix.SPPK],\n prefPkh: prefix[Prefix.TZ2],\n prefSig: prefix[Prefix.SPSIG],\n };\n } else {\n return {\n prefPk: prefix[Prefix.P2PK],\n prefPkh: prefix[Prefix.TZ3],\n prefSig: prefix[Prefix.P2SIG],\n };\n }\n }\n}\n"],"names":["TaquitoError","ParameterValidationError","DerivationType","InvalidDerivationPathError","invalidDetail","ValidationResult","b58cencode","hash","ProhibitedActionError","prefix","Prefix"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taquito-ledger-signer.umd.js","sources":["../src/utils.ts","../src/errors.ts","../src/version.ts","../src/taquito-ledger-signer.ts"],"sourcesContent":["/*\n * Some code in this file is adapted from sotez\n * Copyright (c) 2018 Andrew Kishino\n */\n\nimport { DerivationType } from './taquito-ledger-signer';\n\nconst MAX_CHUNK_SIZE = 230;\n\n/**\n *\n * @description Convert the path to a buffer that will be used as LC and CDATA in the APDU send to the ledger device (https://github.com/obsidiansystems/ledger-app-tezos/blob/master/APDUs.md)\n *\n * @param path The ledger derivation path (default is \"44'/1729'/0'/0'\")\n * @returns A buffer where the first element is the length of the path (default is 4), then 3 bytes for each number of the path to which is added 0x8000000\n */\nexport function transformPathToBuffer(path: string): Buffer {\n const result: number[] = [];\n const components = path.split('/');\n components.forEach((element) => {\n let toNumber = parseInt(element, 10);\n if (Number.isNaN(toNumber)) {\n return;\n }\n if (element.length > 1 && element[element.length - 1] === \"'\") {\n toNumber += 0x80000000;\n }\n result.push(toNumber);\n });\n const buffer = Buffer.alloc(1 + result.length * 4);\n buffer[0] = result.length;\n result.forEach((element, index) => {\n buffer.writeUInt32BE(element, 1 + 4 * index);\n });\n return buffer;\n}\n\n/**\n *\n * @description Converts uncompressed ledger key to standard tezos binary representation\n */\nexport function compressPublicKey(publicKey: Buffer, curve: DerivationType) {\n if (curve === 0x00 || curve === 0x03) {\n publicKey = publicKey.slice(1);\n } else {\n publicKey[0] = 0x02 + (publicKey[64] & 0x01);\n publicKey = publicKey.slice(0, 33);\n }\n return publicKey;\n}\n\nexport function appendWatermark(bytes: string, watermark?: Uint8Array): string {\n let transactionHex = bytes;\n if (typeof watermark !== 'undefined') {\n const hexWatermark = Buffer.from(watermark).toString('hex');\n transactionHex = hexWatermark.concat(bytes);\n }\n return transactionHex;\n}\n\n/**\n *\n * @description In order not to exceed the data length allowed by the Ledger device, split the operation into buffers of 230 bytes (max) and add them to the message to send to the Ledger\n * @param messageToSend The message to send to the Ledger device\n * @param operation The operation which will be chunk if its length is over 230 bytes\n * @returns The instruction to send to the Ledger device\n */\nexport function chunkOperation(messageToSend: any, operation: Buffer) {\n let offset = 0;\n while (offset !== operation.length) {\n const chunkSize =\n offset + MAX_CHUNK_SIZE >= operation.length ? operation.length - offset : MAX_CHUNK_SIZE;\n const buff = Buffer.alloc(chunkSize);\n operation.copy(buff, 0, offset, offset + chunkSize);\n messageToSend.push(buff);\n offset += chunkSize;\n }\n return messageToSend;\n}\n\n/**\n *\n * @description Verify if the signature returned by the ledger for tz2 and tz3 is valid\n * @param response The signature returned by the Ledger (return from the signWithLedger function)\n * @returns True if valid, false otherwise\n */\nexport function validateResponse(response: Buffer): boolean {\n let valid = true;\n if (response[0] !== 0x31 && response[0] !== 0x30) {\n valid = false;\n }\n if (response[1] + 4 !== response.length) {\n valid = false;\n }\n if (response[2] !== 0x02) {\n valid = false;\n }\n const rLength = response[3];\n if (response[4 + rLength] !== 0x02) {\n valid = false;\n }\n\n const idxLengthSVal = 5 + rLength;\n const sLength = response[idxLengthSVal];\n if (idxLengthSVal + 1 + sLength + 2 !== response.length) {\n valid = false;\n }\n return valid;\n}\n\n/**\n *\n * @description Extract a part of the response returned by the Ledger\n * @param idxLength The index in the response from the Ledger that corresponds to the length of the part to extract\n * @param response The signature returned by the Ledger (return from the signWithLedger function)\n * @returns An object that contains the extracted buffer, the index where it starts in the response and the length of the extracted part\n */\nexport function extractValue(idxLength: number, response: Buffer) {\n const buffer = Buffer.alloc(32);\n buffer.fill(0);\n\n let length = response[idxLength];\n let idxValueStart = idxLength + 1;\n if (length > 32) {\n idxValueStart += length - 32;\n length = 32;\n }\n response.copy(buffer, 32 - length, idxValueStart, idxValueStart + length);\n return { buffer, idxValueStart, length };\n}\n","import { ParameterValidationError, TaquitoError } from '@taquito/core';\n\n/**\n * @category Error\n * @description Error that indicates an invalid or unparseable ledger response\n */\nexport class InvalidLedgerResponseError extends TaquitoError {\n constructor(public readonly message: string) {\n super();\n this.name = 'InvalidLedgerResponseError';\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to retrieve a Public Key from Ledger signer\n */\nexport class PublicKeyRetrievalError extends TaquitoError {\n constructor(public readonly cause: any) {\n super();\n this.name = 'PublicKeyRetrievalError';\n this.message = `Unable to retrieve Public Key from Ledger`;\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates a failure when trying to retrieve a Public Key Hash from Ledger signer\n */\nexport class PublicKeyHashRetrievalError extends TaquitoError {\n constructor() {\n super();\n this.name = 'PublicKeyHashRetrievalError';\n this.message = 'Unable to retrieve Public Key Hash from Ledger';\n }\n}\n\n/**\n * @category Error\n * @description Error that indicates an invalid derivation type being passed or used\n */\nexport class InvalidDerivationTypeError extends ParameterValidationError {\n constructor(public readonly derivationType: string) {\n super();\n this.name = 'InvalidDerivationTypeError';\n this.message = `Invalid derivation type ${derivationType} expecting one of the following: DerivationType.ED25519, DerivationType.SECP256K1, DerivationType.P256 or DerivationType.BIP32_ED25519`;\n }\n}\n","\n// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!\nexport const VERSION = {\n \"commitHash\": \"e1b1d6976a564f925c01cf66e28df9acb0085c3d\",\n \"version\": \"17.3.1-beta-RC.0\"\n};\n","/**\n * @packageDocumentation\n * @module @taquito/ledger-signer\n */\n\nimport { Signer } from '@taquito/taquito';\nimport Transport from '@ledgerhq/hw-transport';\nimport { b58cencode, invalidDetail, prefix, Prefix, ValidationResult } from '@taquito/utils';\nimport {\n appendWatermark,\n transformPathToBuffer,\n compressPublicKey,\n chunkOperation,\n validateResponse,\n extractValue,\n} from './utils';\nimport { hash } from '@stablelib/blake2b';\nimport {\n PublicKeyHashRetrievalError,\n PublicKeyRetrievalError,\n InvalidLedgerResponseError,\n InvalidDerivationTypeError,\n} from './errors';\nimport { InvalidDerivationPathError, ProhibitedActionError } from '@taquito/core';\n\nexport { InvalidDerivationPathError } from '@taquito/core';\n\nexport type LedgerTransport = Pick<Transport, 'send' | 'decorateAppAPIMethods' | 'setScrambleKey'>;\n\nexport enum DerivationType {\n ED25519 = 0x00, // tz1\n SECP256K1 = 0x01, // tz2\n P256 = 0x02, // tz3\n BIP32_ED25519 = 0x03, // tz1 BIP32\n}\n\nexport { InvalidDerivationTypeError } from './errors';\n\nexport const HDPathTemplate = (account: number) => {\n return `44'/1729'/${account}'/0'`;\n};\n\nexport { VERSION } from './version';\n\n/**\n *\n * @description Implementation of the Signer interface that will allow signing operation from a Ledger Nano device\n *\n * @param transport A transport instance from LedgerJS libraries depending on the platform used (e.g. Web, Node)\n * @param path The ledger derivation path (default is \"44'/1729'/0'/0'\")\n * @param prompt Whether to prompt the ledger for public key (default is true)\n * @param derivationType The value which defines the curve to use (DerivationType.ED25519(default), DerivationType.SECP256K1, DerivationType.P256, DerivationType.BIP32_ED25519)\n *\n * @example\n * ```\n * import TransportNodeHid from \"@ledgerhq/hw-transport-node-hid\";\n * const transport = await TransportNodeHid.create();\n * const ledgerSigner = new LedgerSigner(transport, \"44'/1729'/0'/0'\", false, DerivationType.ED25519);\n * ```\n *\n * @example\n * ```\n * import TransportU2F from \"@ledgerhq/hw-transport-u2f\";\n * const transport = await TransportU2F.create();\n * const ledgerSigner = new LedgerSigner(transport, \"44'/1729'/0'/0'\", true, DerivationType.SECP256K1);\n * ```\n *\n * @example\n * ```\n * import TransportU2F from \"@ledgerhq/hw-transport-u2f\";\n * const transport = await TransportU2F.create();\n * const ledgerSigner = new LedgerSigner(transport, \"44'/1729'/6'/0'\", true, DerivationType.BIP32_ED25519);\n * ```\n */\nexport class LedgerSigner implements Signer {\n // constants for APDU requests (https://github.com/obsidiansystems/ledger-app-tezos/blob/master/APDUs.md)\n private readonly CLA = 0x80; // Instruction class (always 0x80)\n private readonly INS_GET_PUBLIC_KEY = 0x02; // Instruction code to get the ledger’s internal public key without prompt\n private readonly INS_PROMPT_PUBLIC_KEY = 0x03; // Instruction code to get the ledger’s internal public key with prompt\n private readonly INS_SIGN = 0x04; // Sign a message with the ledger’s key\n private readonly FIRST_MESSAGE_SEQUENCE = 0x00;\n private readonly LAST_MESSAGE_SEQUENCE = 0x81;\n private readonly OTHER_MESSAGE_SEQUENCE = 0x01;\n\n private _publicKey?: string;\n private _publicKeyHash?: string;\n constructor(\n private transport: LedgerTransport,\n private path: string = \"44'/1729'/0'/0'\",\n private prompt: boolean = true,\n private derivationType: DerivationType = DerivationType.ED25519\n ) {\n this.transport.setScrambleKey('XTZ');\n if (!path.startsWith(`44'/1729'`)) {\n throw new InvalidDerivationPathError(\n path,\n `${invalidDetail(ValidationResult.NO_PREFIX_MATCHED)} expecting prefix \"44'/1729'\".`\n );\n }\n if (!Object.values(DerivationType).includes(derivationType)) {\n throw new InvalidDerivationTypeError(derivationType.toString());\n }\n }\n\n async publicKeyHash(): Promise<string> {\n if (!this._publicKeyHash) {\n await this.publicKey();\n }\n if (this._publicKeyHash) {\n return this._publicKeyHash;\n }\n throw new PublicKeyHashRetrievalError();\n }\n\n async publicKey(): Promise<string> {\n if (this._publicKey) {\n return this._publicKey;\n }\n const responseLedger = await this.getLedgerPublicKey();\n const publicKeyLength = responseLedger[0];\n const rawPublicKey = responseLedger.slice(1, 1 + publicKeyLength);\n const compressedPublicKey = compressPublicKey(rawPublicKey, this.derivationType);\n\n const prefixes = this.getPrefixes();\n const publicKey = b58cencode(compressedPublicKey, prefixes.prefPk);\n const publicKeyHash = b58cencode(hash(compressedPublicKey, 20), prefixes.prefPkh);\n\n this._publicKey = publicKey;\n this._publicKeyHash = publicKeyHash;\n return publicKey;\n }\n\n private async getLedgerPublicKey(): Promise<Buffer> {\n try {\n let ins = this.INS_PROMPT_PUBLIC_KEY;\n if (this.prompt === false) {\n ins = this.INS_GET_PUBLIC_KEY;\n }\n const responseLedger = await this.transport.send(\n this.CLA,\n ins,\n this.FIRST_MESSAGE_SEQUENCE,\n this.derivationType,\n transformPathToBuffer(this.path)\n );\n return responseLedger;\n } catch (error) {\n throw new PublicKeyRetrievalError(error);\n }\n }\n\n async secretKey(): Promise<string> {\n throw new ProhibitedActionError('Secret key cannot be exposed');\n }\n\n async sign(bytes: string, watermark?: Uint8Array) {\n const watermarkedBytes = appendWatermark(bytes, watermark);\n const watermarkedBytes2buff = Buffer.from(watermarkedBytes, 'hex');\n let messageToSend = [];\n messageToSend.push(transformPathToBuffer(this.path));\n messageToSend = chunkOperation(messageToSend, watermarkedBytes2buff);\n const ledgerResponse = await this.signWithLedger(messageToSend);\n let signature;\n if (\n this.derivationType === DerivationType.ED25519 ||\n this.derivationType === DerivationType.BIP32_ED25519\n ) {\n signature = ledgerResponse.slice(0, ledgerResponse.length - 2).toString('hex');\n } else {\n if (!validateResponse(ledgerResponse)) {\n throw new InvalidLedgerResponseError(\n 'Invalid signature return by ledger unable to parse the response'\n );\n }\n const idxLengthRVal = 3; // Third element of response is length of r value\n const rValue = extractValue(idxLengthRVal, ledgerResponse);\n const idxLengthSVal = rValue.idxValueStart + rValue.length + 1;\n const sValue = extractValue(idxLengthSVal, ledgerResponse);\n const signatureBuffer = Buffer.concat([rValue.buffer, sValue.buffer]);\n signature = signatureBuffer.toString('hex');\n }\n\n return {\n bytes,\n sig: b58cencode(signature, prefix[Prefix.SIG]),\n prefixSig: b58cencode(signature, this.getPrefixes().prefSig),\n sbytes: bytes + signature,\n };\n }\n\n private async signWithLedger(message: Buffer[]): Promise<Buffer> {\n // first element of the message represents the path\n let ledgerResponse = await this.transport.send(\n this.CLA,\n this.INS_SIGN,\n this.FIRST_MESSAGE_SEQUENCE,\n this.derivationType,\n message[0]\n );\n for (let i = 1; i < message.length; i++) {\n const p1 =\n i === message.length - 1 ? this.LAST_MESSAGE_SEQUENCE : this.OTHER_MESSAGE_SEQUENCE;\n ledgerResponse = await this.transport.send(\n this.CLA,\n this.INS_SIGN,\n p1,\n this.derivationType,\n message[i]\n );\n }\n return ledgerResponse;\n }\n\n private getPrefixes() {\n if (\n this.derivationType === DerivationType.ED25519 ||\n this.derivationType === DerivationType.BIP32_ED25519\n ) {\n return {\n prefPk: prefix[Prefix.EDPK],\n prefPkh: prefix[Prefix.TZ1],\n prefSig: prefix[Prefix.EDSIG],\n };\n } else if (this.derivationType === DerivationType.SECP256K1) {\n return {\n prefPk: prefix[Prefix.SPPK],\n prefPkh: prefix[Prefix.TZ2],\n prefSig: prefix[Prefix.SPSIG],\n };\n } else {\n return {\n prefPk: prefix[Prefix.P2PK],\n prefPkh: prefix[Prefix.TZ3],\n prefSig: prefix[Prefix.P2SIG],\n };\n }\n }\n}\n"],"names":["TaquitoError","ParameterValidationError","DerivationType","InvalidDerivationPathError","invalidDetail","ValidationResult","b58cencode","hash","ProhibitedActionError","prefix","Prefix"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taquito/ledger-signer",
|
|
3
|
-
"version": "17.3.0",
|
|
3
|
+
"version": "17.3.1-beta-RC.0",
|
|
4
4
|
"description": "Ledger signer provider",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tezos",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"type": "git",
|
|
19
19
|
"url": ""
|
|
20
20
|
},
|
|
21
|
-
"license": "
|
|
21
|
+
"license": "Apache-2.0",
|
|
22
22
|
"engines": {
|
|
23
23
|
"node": ">=16"
|
|
24
24
|
},
|
|
@@ -58,10 +58,10 @@
|
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@ledgerhq/hw-transport": "^6.
|
|
61
|
+
"@ledgerhq/hw-transport": "^6.28.8",
|
|
62
62
|
"@stablelib/blake2b": "^1.0.1",
|
|
63
|
-
"@taquito/taquito": "^17.3.0",
|
|
64
|
-
"@taquito/utils": "^17.3.0",
|
|
63
|
+
"@taquito/taquito": "^17.3.1-beta-RC.0",
|
|
64
|
+
"@taquito/utils": "^17.3.1-beta-RC.0",
|
|
65
65
|
"buffer": "^6.0.3"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
@@ -93,5 +93,5 @@
|
|
|
93
93
|
"ts-toolbelt": "^9.6.0",
|
|
94
94
|
"typescript": "~4.1.5"
|
|
95
95
|
},
|
|
96
|
-
"gitHead": "
|
|
96
|
+
"gitHead": "edbd33afd86671d572b3a87322e9ac84238f0539"
|
|
97
97
|
}
|
package/src/version.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
|
|
3
3
|
export const VERSION = {
|
|
4
|
-
"commitHash": "
|
|
5
|
-
"version": "17.3.0"
|
|
4
|
+
"commitHash": "e1b1d6976a564f925c01cf66e28df9acb0085c3d",
|
|
5
|
+
"version": "17.3.1-beta-RC.0"
|
|
6
6
|
};
|