@prosopo/keyring 2.8.35 → 2.8.36

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.
Files changed (95) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.json +6 -6
  3. package/coverage/base.css +0 -224
  4. package/coverage/block-navigation.js +0 -87
  5. package/coverage/clover.xml +0 -848
  6. package/coverage/coverage-final.json +0 -17
  7. package/coverage/favicon.png +0 -0
  8. package/coverage/index.html +0 -161
  9. package/coverage/prettify.css +0 -1
  10. package/coverage/prettify.js +0 -2
  11. package/coverage/sort-arrow-sprite.png +0 -0
  12. package/coverage/sorter.js +0 -210
  13. package/coverage/src/accounts/getPair.ts.html +0 -274
  14. package/coverage/src/accounts/index.html +0 -161
  15. package/coverage/src/accounts/index.ts.html +0 -133
  16. package/coverage/src/accounts/mnemonic.ts.html +0 -220
  17. package/coverage/src/accounts/testAccounts.ts.html +0 -268
  18. package/coverage/src/index.html +0 -116
  19. package/coverage/src/index.ts.html +0 -133
  20. package/coverage/src/keyring/index.html +0 -176
  21. package/coverage/src/keyring/index.ts.html +0 -130
  22. package/coverage/src/keyring/keyring.ts.html +0 -1318
  23. package/coverage/src/keyring/pairs.ts.html +0 -217
  24. package/coverage/src/keyring/testing.ts.html +0 -442
  25. package/coverage/src/keyring/testingPairs.ts.html +0 -268
  26. package/coverage/src/pair/decode.ts.html +0 -280
  27. package/coverage/src/pair/defaults.ts.html +0 -151
  28. package/coverage/src/pair/encode.ts.html +0 -181
  29. package/coverage/src/pair/index.html +0 -191
  30. package/coverage/src/pair/index.ts.html +0 -904
  31. package/coverage/src/pair/nobody.ts.html +0 -280
  32. package/coverage/src/pair/toJson.ts.html +0 -169
  33. package/dist/accounts/getPair.d.ts +0 -5
  34. package/dist/accounts/getPair.d.ts.map +0 -1
  35. package/dist/accounts/getPair.js.map +0 -1
  36. package/dist/accounts/index.d.ts +0 -4
  37. package/dist/accounts/index.d.ts.map +0 -1
  38. package/dist/accounts/index.js.map +0 -1
  39. package/dist/accounts/mnemonic.d.ts +0 -5
  40. package/dist/accounts/mnemonic.d.ts.map +0 -1
  41. package/dist/accounts/mnemonic.js.map +0 -1
  42. package/dist/accounts/testAccounts.d.ts +0 -4
  43. package/dist/accounts/testAccounts.d.ts.map +0 -1
  44. package/dist/accounts/testAccounts.js.map +0 -1
  45. package/dist/index.d.ts +0 -4
  46. package/dist/index.d.ts.map +0 -1
  47. package/dist/index.js.map +0 -1
  48. package/dist/keyring/index.d.ts +0 -3
  49. package/dist/keyring/index.d.ts.map +0 -1
  50. package/dist/keyring/index.js.map +0 -1
  51. package/dist/keyring/keyring.d.ts +0 -36
  52. package/dist/keyring/keyring.d.ts.map +0 -1
  53. package/dist/keyring/keyring.js.map +0 -1
  54. package/dist/keyring/pairs.d.ts +0 -9
  55. package/dist/keyring/pairs.d.ts.map +0 -1
  56. package/dist/keyring/pairs.js.map +0 -1
  57. package/dist/keyring/testing.d.ts +0 -14
  58. package/dist/keyring/testing.d.ts.map +0 -1
  59. package/dist/keyring/testing.js +0 -76
  60. package/dist/keyring/testing.js.map +0 -1
  61. package/dist/keyring/testingPairs.d.ts +0 -26
  62. package/dist/keyring/testingPairs.d.ts.map +0 -1
  63. package/dist/keyring/testingPairs.js +0 -14
  64. package/dist/keyring/testingPairs.js.map +0 -1
  65. package/dist/pair/decode.d.ts +0 -6
  66. package/dist/pair/decode.d.ts.map +0 -1
  67. package/dist/pair/decode.js.map +0 -1
  68. package/dist/pair/decode.spec.d.ts +0 -2
  69. package/dist/pair/decode.spec.d.ts.map +0 -1
  70. package/dist/pair/decode.spec.js +0 -13
  71. package/dist/pair/decode.spec.js.map +0 -1
  72. package/dist/pair/defaults.d.ts +0 -7
  73. package/dist/pair/defaults.d.ts.map +0 -1
  74. package/dist/pair/defaults.js.map +0 -1
  75. package/dist/pair/encode.d.ts +0 -3
  76. package/dist/pair/encode.d.ts.map +0 -1
  77. package/dist/pair/encode.js.map +0 -1
  78. package/dist/pair/encode.spec.d.ts +0 -2
  79. package/dist/pair/encode.spec.d.ts.map +0 -1
  80. package/dist/pair/encode.spec.js +0 -16
  81. package/dist/pair/encode.spec.js.map +0 -1
  82. package/dist/pair/index.d.ts +0 -11
  83. package/dist/pair/index.d.ts.map +0 -1
  84. package/dist/pair/index.js.map +0 -1
  85. package/dist/pair/nobody.d.ts +0 -3
  86. package/dist/pair/nobody.d.ts.map +0 -1
  87. package/dist/pair/nobody.js +0 -40
  88. package/dist/pair/nobody.js.map +0 -1
  89. package/dist/pair/toJson.d.ts +0 -9
  90. package/dist/pair/toJson.d.ts.map +0 -1
  91. package/dist/pair/toJson.js.map +0 -1
  92. package/dist/pair/toJson.spec.d.ts +0 -2
  93. package/dist/pair/toJson.spec.d.ts.map +0 -1
  94. package/dist/pair/toJson.spec.js +0 -33
  95. package/dist/pair/toJson.spec.js.map +0 -1
@@ -1,904 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/pair/index.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/pair</a> index.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">52.35% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>100/191</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">75% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>12/16</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">31.25% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>10/32</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">52.35% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>100/191</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line medium'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-neutral">&nbsp;</span>
347
- <span class="cline-any cline-neutral">&nbsp;</span>
348
- <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-yes">1x</span>
351
- <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-neutral">&nbsp;</span>
353
- <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-yes">1x</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-yes">1x</span>
361
- <span class="cline-any cline-yes">1x</span>
362
- <span class="cline-any cline-yes">1x</span>
363
- <span class="cline-any cline-yes">1x</span>
364
- <span class="cline-any cline-yes">1x</span>
365
- <span class="cline-any cline-yes">1x</span>
366
- <span class="cline-any cline-yes">1x</span>
367
- <span class="cline-any cline-yes">1x</span>
368
- <span class="cline-any cline-neutral">&nbsp;</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-yes">1x</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-yes">1x</span>
379
- <span class="cline-any cline-yes">1x</span>
380
- <span class="cline-any cline-yes">1x</span>
381
- <span class="cline-any cline-no">&nbsp;</span>
382
- <span class="cline-any cline-no">&nbsp;</span>
383
- <span class="cline-any cline-yes">1x</span>
384
- <span class="cline-any cline-no">&nbsp;</span>
385
- <span class="cline-any cline-no">&nbsp;</span>
386
- <span class="cline-any cline-yes">1x</span>
387
- <span class="cline-any cline-no">&nbsp;</span>
388
- <span class="cline-any cline-no">&nbsp;</span>
389
- <span class="cline-any cline-yes">1x</span>
390
- <span class="cline-any cline-neutral">&nbsp;</span>
391
- <span class="cline-any cline-yes">1x</span>
392
- <span class="cline-any cline-yes">1x</span>
393
- <span class="cline-any cline-yes">1x</span>
394
- <span class="cline-any cline-yes">1x</span>
395
- <span class="cline-any cline-yes">1x</span>
396
- <span class="cline-any cline-yes">1x</span>
397
- <span class="cline-any cline-neutral">&nbsp;</span>
398
- <span class="cline-any cline-yes">1x</span>
399
- <span class="cline-any cline-yes">1x</span>
400
- <span class="cline-any cline-yes">1x</span>
401
- <span class="cline-any cline-no">&nbsp;</span>
402
- <span class="cline-any cline-no">&nbsp;</span>
403
- <span class="cline-any cline-yes">1x</span>
404
- <span class="cline-any cline-no">&nbsp;</span>
405
- <span class="cline-any cline-no">&nbsp;</span>
406
- <span class="cline-any cline-yes">1x</span>
407
- <span class="cline-any cline-no">&nbsp;</span>
408
- <span class="cline-any cline-no">&nbsp;</span>
409
- <span class="cline-any cline-yes">1x</span>
410
- <span class="cline-any cline-neutral">&nbsp;</span>
411
- <span class="cline-any cline-yes">1x</span>
412
- <span class="cline-any cline-yes">1x</span>
413
- <span class="cline-any cline-yes">1x</span>
414
- <span class="cline-any cline-no">&nbsp;</span>
415
- <span class="cline-any cline-no">&nbsp;</span>
416
- <span class="cline-any cline-yes">1x</span>
417
- <span class="cline-any cline-no">&nbsp;</span>
418
- <span class="cline-any cline-no">&nbsp;</span>
419
- <span class="cline-any cline-yes">1x</span>
420
- <span class="cline-any cline-no">&nbsp;</span>
421
- <span class="cline-any cline-no">&nbsp;</span>
422
- <span class="cline-any cline-yes">1x</span>
423
- <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-yes">5x</span>
425
- <span class="cline-any cline-yes">5x</span>
426
- <span class="cline-any cline-yes">5x</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-no">&nbsp;</span>
429
- <span class="cline-any cline-no">&nbsp;</span>
430
- <span class="cline-any cline-no">&nbsp;</span>
431
- <span class="cline-any cline-no">&nbsp;</span>
432
- <span class="cline-any cline-no">&nbsp;</span>
433
- <span class="cline-any cline-no">&nbsp;</span>
434
- <span class="cline-any cline-no">&nbsp;</span>
435
- <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-neutral">&nbsp;</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-neutral">&nbsp;</span>
441
- <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-neutral">&nbsp;</span>
443
- <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-neutral">&nbsp;</span>
448
- <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-neutral">&nbsp;</span>
452
- <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-neutral">&nbsp;</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-neutral">&nbsp;</span>
463
- <span class="cline-any cline-neutral">&nbsp;</span>
464
- <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-neutral">&nbsp;</span>
467
- <span class="cline-any cline-yes">1x</span>
468
- <span class="cline-any cline-yes">24x</span>
469
- <span class="cline-any cline-yes">24x</span>
470
- <span class="cline-any cline-yes">24x</span>
471
- <span class="cline-any cline-yes">24x</span>
472
- <span class="cline-any cline-yes">24x</span>
473
- <span class="cline-any cline-yes">24x</span>
474
- <span class="cline-any cline-yes">24x</span>
475
- <span class="cline-any cline-yes">2x</span>
476
- <span class="cline-any cline-yes">2x</span>
477
- <span class="cline-any cline-yes">2x</span>
478
- <span class="cline-any cline-yes">2x</span>
479
- <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-yes">2x</span>
481
- <span class="cline-any cline-yes">1x</span>
482
- <span class="cline-any cline-yes">1x</span>
483
- <span class="cline-any cline-yes">2x</span>
484
- <span class="cline-any cline-no">&nbsp;</span>
485
- <span class="cline-any cline-neutral">&nbsp;</span>
486
- <span class="cline-any cline-no">&nbsp;</span>
487
- <span class="cline-any cline-no">&nbsp;</span>
488
- <span class="cline-any cline-no">&nbsp;</span>
489
- <span class="cline-any cline-yes">2x</span>
490
- <span class="cline-any cline-neutral">&nbsp;</span>
491
- <span class="cline-any cline-yes">24x</span>
492
- <span class="cline-any cline-yes">5x</span>
493
- <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-yes">5x</span>
495
- <span class="cline-any cline-yes">5x</span>
496
- <span class="cline-any cline-neutral">&nbsp;</span>
497
- <span class="cline-any cline-yes">5x</span>
498
- <span class="cline-any cline-yes">5x</span>
499
- <span class="cline-any cline-neutral">&nbsp;</span>
500
- <span class="cline-any cline-yes">24x</span>
501
- <span class="cline-any cline-yes">26x</span>
502
- <span class="cline-any cline-neutral">&nbsp;</span>
503
- <span class="cline-any cline-yes">26x</span>
504
- <span class="cline-any cline-yes">26x</span>
505
- <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-yes">24x</span>
507
- <span class="cline-any cline-yes">24x</span>
508
- <span class="cline-any cline-yes">24x</span>
509
- <span class="cline-any cline-yes">24x</span>
510
- <span class="cline-any cline-yes">24x</span>
511
- <span class="cline-any cline-no">&nbsp;</span>
512
- <span class="cline-any cline-no">&nbsp;</span>
513
- <span class="cline-any cline-yes">24x</span>
514
- <span class="cline-any cline-no">&nbsp;</span>
515
- <span class="cline-any cline-no">&nbsp;</span>
516
- <span class="cline-any cline-yes">24x</span>
517
- <span class="cline-any cline-yes">48x</span>
518
- <span class="cline-any cline-yes">48x</span>
519
- <span class="cline-any cline-yes">24x</span>
520
- <span class="cline-any cline-no">&nbsp;</span>
521
- <span class="cline-any cline-no">&nbsp;</span>
522
- <span class="cline-any cline-yes">24x</span>
523
- <span class="cline-any cline-no">&nbsp;</span>
524
- <span class="cline-any cline-no">&nbsp;</span>
525
- <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-yes">24x</span>
527
- <span class="cline-any cline-yes">24x</span>
528
- <span class="cline-any cline-no">&nbsp;</span>
529
- <span class="cline-any cline-no">&nbsp;</span>
530
- <span class="cline-any cline-no">&nbsp;</span>
531
- <span class="cline-any cline-neutral">&nbsp;</span>
532
- <span class="cline-any cline-no">&nbsp;</span>
533
- <span class="cline-any cline-no">&nbsp;</span>
534
- <span class="cline-any cline-neutral">&nbsp;</span>
535
- <span class="cline-any cline-no">&nbsp;</span>
536
- <span class="cline-any cline-no">&nbsp;</span>
537
- <span class="cline-any cline-yes">24x</span>
538
- <span class="cline-any cline-yes">3x</span>
539
- <span class="cline-any cline-yes">3x</span>
540
- <span class="cline-any cline-yes">24x</span>
541
- <span class="cline-any cline-no">&nbsp;</span>
542
- <span class="cline-any cline-no">&nbsp;</span>
543
- <span class="cline-any cline-yes">24x</span>
544
- <span class="cline-any cline-no">&nbsp;</span>
545
- <span class="cline-any cline-no">&nbsp;</span>
546
- <span class="cline-any cline-yes">24x</span>
547
- <span class="cline-any cline-no">&nbsp;</span>
548
- <span class="cline-any cline-no">&nbsp;</span>
549
- <span class="cline-any cline-no">&nbsp;</span>
550
- <span class="cline-any cline-no">&nbsp;</span>
551
- <span class="cline-any cline-no">&nbsp;</span>
552
- <span class="cline-any cline-no">&nbsp;</span>
553
- <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-no">&nbsp;</span>
555
- <span class="cline-any cline-no">&nbsp;</span>
556
- <span class="cline-any cline-no">&nbsp;</span>
557
- <span class="cline-any cline-no">&nbsp;</span>
558
- <span class="cline-any cline-no">&nbsp;</span>
559
- <span class="cline-any cline-yes">24x</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-yes">2x</span>
564
- <span class="cline-any cline-no">&nbsp;</span>
565
- <span class="cline-any cline-no">&nbsp;</span>
566
- <span class="cline-any cline-no">&nbsp;</span>
567
- <span class="cline-any cline-yes">2x</span>
568
- <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-yes">2x</span>
570
- <span class="cline-any cline-yes">2x</span>
571
- <span class="cline-any cline-yes">2x</span>
572
- <span class="cline-any cline-yes">2x</span>
573
- <span class="cline-any cline-yes">2x</span>
574
- <span class="cline-any cline-yes">2x</span>
575
- <span class="cline-any cline-yes">2x</span>
576
- <span class="cline-any cline-yes">24x</span>
577
- <span class="cline-any cline-no">&nbsp;</span>
578
- <span class="cline-any cline-no">&nbsp;</span>
579
- <span class="cline-any cline-yes">24x</span>
580
- <span class="cline-any cline-no">&nbsp;</span>
581
- <span class="cline-any cline-no">&nbsp;</span>
582
- <span class="cline-any cline-no">&nbsp;</span>
583
- <span class="cline-any cline-no">&nbsp;</span>
584
- <span class="cline-any cline-no">&nbsp;</span>
585
- <span class="cline-any cline-no">&nbsp;</span>
586
- <span class="cline-any cline-no">&nbsp;</span>
587
- <span class="cline-any cline-no">&nbsp;</span>
588
- <span class="cline-any cline-no">&nbsp;</span>
589
- <span class="cline-any cline-no">&nbsp;</span>
590
- <span class="cline-any cline-yes">24x</span>
591
- <span class="cline-any cline-no">&nbsp;</span>
592
- <span class="cline-any cline-no">&nbsp;</span>
593
- <span class="cline-any cline-no">&nbsp;</span>
594
- <span class="cline-any cline-no">&nbsp;</span>
595
- <span class="cline-any cline-no">&nbsp;</span>
596
- <span class="cline-any cline-no">&nbsp;</span>
597
- <span class="cline-any cline-no">&nbsp;</span>
598
- <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-no">&nbsp;</span>
600
- <span class="cline-any cline-no">&nbsp;</span>
601
- <span class="cline-any cline-yes">24x</span>
602
- <span class="cline-any cline-no">&nbsp;</span>
603
- <span class="cline-any cline-no">&nbsp;</span>
604
- <span class="cline-any cline-no">&nbsp;</span>
605
- <span class="cline-any cline-no">&nbsp;</span>
606
- <span class="cline-any cline-no">&nbsp;</span>
607
- <span class="cline-any cline-no">&nbsp;</span>
608
- <span class="cline-any cline-no">&nbsp;</span>
609
- <span class="cline-any cline-no">&nbsp;</span>
610
- <span class="cline-any cline-yes">24x</span>
611
- <span class="cline-any cline-yes">24x</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// Copyright 2017-2025 @polkadot/keyring authors &amp; contributors
613
- // SPDX-License-Identifier: Apache-2.0
614
- &nbsp;
615
- import type {
616
- KeyringPair,
617
- KeyringPair$Json,
618
- KeyringPair$Meta,
619
- SignOptions,
620
- } from "@prosopo/types";
621
- import type { PairInfo } from "@prosopo/types";
622
- &nbsp;
623
- import {
624
- objectSpread,
625
- u8aConcat,
626
- u8aEmpty,
627
- u8aToHex,
628
- u8aToU8a,
629
- } from "@polkadot/util";
630
- &nbsp;
631
- import { blake2AsU8a } from "@prosopo/util-crypto";
632
- import type { EncryptedJsonEncoding } from "@prosopo/util-crypto";
633
- import { keyExtractPath, keyFromPath } from "@prosopo/util-crypto";
634
- import { secp256k1Compress } from "@prosopo/util-crypto";
635
- import { signatureVerify } from "@prosopo/util-crypto";
636
- import { sr25519FromSeed, sr25519Sign } from "@prosopo/util-crypto";
637
- import { sr25519VrfSign, sr25519VrfVerify } from "@prosopo/util-crypto";
638
- import { decodePair } from "./decode.js";
639
- import { encodePair } from "./encode.js";
640
- import { pairToJson } from "./toJson.js";
641
- &nbsp;
642
- type KeypairType = "sr25519" | "ed25519" | "ecdsa" | "ethereum";
643
- &nbsp;
644
- interface Setup {
645
- toSS58: (publicKey: Uint8Array) =&gt; string;
646
- type: KeypairType;
647
- }
648
- &nbsp;
649
- const SIG_TYPE_NONE = new Uint8Array([]);
650
- &nbsp;
651
- const TYPE_FROM_SEED = {
652
- sr25519: sr25519FromSeed,
653
- ed25519: <span class="fstat-no" title="function not covered" >() =&gt; {</span>
654
- <span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
655
- <span class="cstat-no" title="statement not covered" > },</span>
656
- ecdsa: <span class="fstat-no" title="function not covered" >() =&gt; {</span>
657
- <span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
658
- <span class="cstat-no" title="statement not covered" > },</span>
659
- ethereum: <span class="fstat-no" title="function not covered" >() =&gt; {</span>
660
- <span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
661
- <span class="cstat-no" title="statement not covered" > },</span>
662
- };
663
- &nbsp;
664
- const TYPE_PREFIX = {
665
- ecdsa: new Uint8Array([2]),
666
- ed25519: new Uint8Array([0]),
667
- ethereum: new Uint8Array([2]),
668
- sr25519: new Uint8Array([1]),
669
- };
670
- &nbsp;
671
- const TYPE_SIGNATURE = {
672
- sr25519: sr25519Sign,
673
- ed25519: <span class="fstat-no" title="function not covered" >() =&gt; {</span>
674
- <span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
675
- <span class="cstat-no" title="statement not covered" > },</span>
676
- ecdsa: <span class="fstat-no" title="function not covered" >() =&gt; {</span>
677
- <span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
678
- <span class="cstat-no" title="statement not covered" > },</span>
679
- ethereum: <span class="fstat-no" title="function not covered" >() =&gt; {</span>
680
- <span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
681
- <span class="cstat-no" title="statement not covered" > },</span>
682
- };
683
- &nbsp;
684
- const TYPE_ADDRESS = {
685
- sr25519: (p: Uint8Array) =&gt; p,
686
- ed25519: <span class="fstat-no" title="function not covered" >() =&gt; {</span>
687
- <span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
688
- <span class="cstat-no" title="statement not covered" > },</span>
689
- ecdsa: <span class="fstat-no" title="function not covered" >() =&gt; {</span>
690
- <span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
691
- <span class="cstat-no" title="statement not covered" > },</span>
692
- ethereum: <span class="fstat-no" title="function not covered" >() =&gt; {</span>
693
- <span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
694
- <span class="cstat-no" title="statement not covered" > },</span>
695
- };
696
- &nbsp;
697
- function isLocked(secretKey?: Uint8Array): secretKey is undefined {
698
- return !secretKey || u8aEmpty(secretKey);
699
- }
700
- &nbsp;
701
- <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >function vrfHash(</span></span>
702
- <span class="cstat-no" title="statement not covered" > proof: Uint8Array,</span>
703
- <span class="cstat-no" title="statement not covered" > context?: string | Uint8Array,</span>
704
- <span class="cstat-no" title="statement not covered" > extra?: string | Uint8Array,</span>
705
- <span class="cstat-no" title="statement not covered" >): Uint8Array {</span>
706
- <span class="cstat-no" title="statement not covered" > return blake2AsU8a(u8aConcat(context || "", extra || "", proof));</span>
707
- <span class="cstat-no" title="statement not covered" >}</span>
708
- &nbsp;
709
- /**
710
- * @name createPair
711
- * @summary Creates a keyring pair object
712
- * @description Creates a keyring pair object with provided account public key, metadata, and encoded arguments.
713
- * The keyring pair stores the account state including the encoded address and associated metadata.
714
- *
715
- * It has properties whose values are functions that may be called to perform account actions:
716
- *
717
- * - `address` function retrieves the address associated with the account.
718
- * - `decodedPkcs8` function is called with the account passphrase and account encoded public key.
719
- * It decodes the encoded public key using the passphrase provided to obtain the decoded account public key
720
- * and associated secret key that are then available in memory, and changes the account address stored in the
721
- * state of the pair to correspond to the address of the decoded public key.
722
- * - `encodePkcs8` function when provided with the correct passphrase associated with the account pair
723
- * and when the secret key is in memory (when the account pair is not locked) it returns an encoded
724
- * public key of the account.
725
- * - `meta` is the metadata that is stored in the state of the pair, either when it was originally
726
- * created or set via `setMeta`.
727
- * - `publicKey` returns the public key stored in memory for the pair.
728
- * - `sign` may be used to return a signature by signing a provided message with the secret
729
- * key (if it is in memory) using Nacl.
730
- * - `toJson` calls another `toJson` function and provides the state of the pair,
731
- * it generates arguments to be passed to the other `toJson` function including an encoded public key of the account
732
- * that it generates using the secret key from memory (if it has been made available in memory)
733
- * and the optionally provided passphrase argument. It passes a third boolean argument to `toJson`
734
- * indicating whether the public key has been encoded or not (if a passphrase argument was provided then it is encoded).
735
- * The `toJson` function that it calls returns a JSON object with properties including the `address`
736
- * and `meta` that are assigned with the values stored in the corresponding state variables of the account pair,
737
- * an `encoded` property that is assigned with the encoded public key in hex format, and an `encoding`
738
- * property that indicates whether the public key value of the `encoded` property is encoded or not.
739
- */
740
- export function createPair(
741
- { toSS58, type }: Setup,
742
- { publicKey, secretKey }: PairInfo,
743
- meta: KeyringPair$Meta = {},
744
- encoded: Uint8Array | null = null,
745
- encTypes?: EncryptedJsonEncoding[],
746
- ): KeyringPair {
747
- const decodePkcs8 = (
748
- passphrase?: string,
749
- userEncoded?: Uint8Array | null,
750
- ): void =&gt; {
751
- const decoded = decodePair(passphrase, userEncoded || encoded, encTypes);
752
- &nbsp;
753
- if (decoded.secretKey.length === 64) {
754
- publicKey = decoded.publicKey;
755
- secretKey = decoded.secretKey;
756
- <span class="branch-0 cbranch-no" title="branch not covered" > } else {</span>
757
- <span class="cstat-no" title="statement not covered" > const pair = TYPE_FROM_SEED[type](decoded.secretKey);</span>
758
- &nbsp;
759
- <span class="cstat-no" title="statement not covered" > publicKey = pair.publicKey;</span>
760
- <span class="cstat-no" title="statement not covered" > secretKey = pair.secretKey;</span>
761
- <span class="cstat-no" title="statement not covered" > }</span>
762
- };
763
- &nbsp;
764
- const recode = (passphrase?: string): Uint8Array =&gt; {
765
- isLocked(secretKey<span class="branch-0 cbranch-no" title="branch not covered" >) &amp;&amp; <span class="branch-0 cbranch-no" title="branch not covered" >encoded &amp;&amp; d</span>ecodePkcs8(passphrase, encoded);</span>
766
- &nbsp;
767
- encoded = encodePair({ publicKey, secretKey }, passphrase); // re-encode, latest version
768
- encTypes = undefined; // swap to defaults, latest version follows
769
- &nbsp;
770
- return encoded;
771
- };
772
- &nbsp;
773
- const encodeAddress = (): string =&gt; {
774
- const raw = TYPE_ADDRESS[type](publicKey);
775
- &nbsp;
776
- return toSS58(raw);
777
- };
778
- &nbsp;
779
- return {
780
- get address(): string {
781
- return encodeAddress();
782
- },
783
- <span class="fstat-no" title="function not covered" > get addressRaw(): Uint8Array {</span>
784
- <span class="cstat-no" title="statement not covered" > return TYPE_ADDRESS[type](publicKey);</span>
785
- <span class="cstat-no" title="statement not covered" > },</span>
786
- <span class="fstat-no" title="function not covered" > get isLocked(): boolean {</span>
787
- <span class="cstat-no" title="statement not covered" > return isLocked(secretKey);</span>
788
- <span class="cstat-no" title="statement not covered" > },</span>
789
- get meta(): KeyringPair$Meta {
790
- return meta;
791
- },
792
- <span class="fstat-no" title="function not covered" > get publicKey(): Uint8Array {</span>
793
- <span class="cstat-no" title="statement not covered" > return publicKey;</span>
794
- <span class="cstat-no" title="statement not covered" > },</span>
795
- <span class="fstat-no" title="function not covered" > get type(): KeypairType {</span>
796
- <span class="cstat-no" title="statement not covered" > return type;</span>
797
- <span class="cstat-no" title="statement not covered" > },</span>
798
- // eslint-disable-next-line sort-keys
799
- decodePkcs8,
800
- derive: <span class="fstat-no" title="function not covered" >(suri: string, meta?: KeyringPair$Meta): KeyringPair =&gt; {</span>
801
- <span class="cstat-no" title="statement not covered" > if (isLocked(secretKey)) {</span>
802
- <span class="cstat-no" title="statement not covered" > throw new Error("Cannot derive on a locked keypair");</span>
803
- <span class="cstat-no" title="statement not covered" > }</span>
804
- &nbsp;
805
- <span class="cstat-no" title="statement not covered" > const { path } = keyExtractPath(suri);</span>
806
- <span class="cstat-no" title="statement not covered" > const derived = keyFromPath({ publicKey, secretKey }, path, type);</span>
807
- &nbsp;
808
- <span class="cstat-no" title="statement not covered" > return createPair({ toSS58, type }, derived, meta, null);</span>
809
- <span class="cstat-no" title="statement not covered" > },</span>
810
- encodePkcs8: (passphrase?: string): Uint8Array =&gt; {
811
- return recode(passphrase);
812
- },
813
- lock: <span class="fstat-no" title="function not covered" >(): void =&gt; {</span>
814
- <span class="cstat-no" title="statement not covered" > secretKey = new Uint8Array([]);</span>
815
- <span class="cstat-no" title="statement not covered" > },</span>
816
- setMeta: <span class="fstat-no" title="function not covered" >(additional: KeyringPair$Meta): void =&gt; {</span>
817
- <span class="cstat-no" title="statement not covered" > meta = objectSpread({}, meta, additional);</span>
818
- <span class="cstat-no" title="statement not covered" > },</span>
819
- sign: <span class="fstat-no" title="function not covered" >(</span>
820
- <span class="cstat-no" title="statement not covered" > message: string | Uint8Array,</span>
821
- <span class="cstat-no" title="statement not covered" > options: SignOptions = {},</span>
822
- <span class="cstat-no" title="statement not covered" > ): Uint8Array =&gt; {</span>
823
- <span class="cstat-no" title="statement not covered" > if (isLocked(secretKey)) {</span>
824
- <span class="cstat-no" title="statement not covered" > throw new Error("Cannot sign with a locked key pair");</span>
825
- <span class="cstat-no" title="statement not covered" > }</span>
826
- &nbsp;
827
- <span class="cstat-no" title="statement not covered" > return u8aConcat(</span>
828
- <span class="cstat-no" title="statement not covered" > options.withType ? TYPE_PREFIX[type] : SIG_TYPE_NONE,</span>
829
- <span class="cstat-no" title="statement not covered" > TYPE_SIGNATURE[type](u8aToU8a(message), { publicKey, secretKey }),</span>
830
- <span class="cstat-no" title="statement not covered" > );</span>
831
- <span class="cstat-no" title="statement not covered" > },</span>
832
- toJson: (passphrase?: string): KeyringPair$Json =&gt; {
833
- // NOTE: For ecdsa and ethereum, the publicKey cannot be extracted from the address. For these
834
- // pass the hex-encoded publicKey through to the address portion of the JSON (before decoding)
835
- // unless the publicKey is already an address
836
- const address = ["ecdsa", "ethereum"].includes(type<span class="branch-0 cbranch-no" title="branch not covered" >)</span>
837
- <span class="cstat-no" title="statement not covered" > ? publicKey.length === 20</span>
838
- <span class="cstat-no" title="statement not covered" > ? u8aToHex(publicKey)</span>
839
- <span class="cstat-no" title="statement not covered" > : u8aToHex(secp256k1Compress(publicKey))</span>
840
- : encodeAddress();
841
- &nbsp;
842
- return pairToJson(
843
- type,
844
- { address, meta },
845
- recode(passphrase),
846
- !!passphrase,
847
- );
848
- },
849
- unlock: <span class="fstat-no" title="function not covered" >(passphrase?: string): void =&gt; {</span>
850
- <span class="cstat-no" title="statement not covered" > decodePkcs8(passphrase);</span>
851
- <span class="cstat-no" title="statement not covered" > },</span>
852
- verify: <span class="fstat-no" title="function not covered" >(</span>
853
- <span class="cstat-no" title="statement not covered" > message: string | Uint8Array,</span>
854
- <span class="cstat-no" title="statement not covered" > signature: string | Uint8Array,</span>
855
- <span class="cstat-no" title="statement not covered" > signerPublic: string | Uint8Array,</span>
856
- <span class="cstat-no" title="statement not covered" > ): boolean =&gt; {</span>
857
- <span class="cstat-no" title="statement not covered" > return signatureVerify(</span>
858
- <span class="cstat-no" title="statement not covered" > message,</span>
859
- <span class="cstat-no" title="statement not covered" > signature,</span>
860
- <span class="cstat-no" title="statement not covered" > TYPE_ADDRESS[type](u8aToU8a(signerPublic)),</span>
861
- <span class="cstat-no" title="statement not covered" > ).isValid;</span>
862
- <span class="cstat-no" title="statement not covered" > },</span>
863
- vrfSign: <span class="fstat-no" title="function not covered" >(</span>
864
- <span class="cstat-no" title="statement not covered" > message: string | Uint8Array,</span>
865
- <span class="cstat-no" title="statement not covered" > context?: string | Uint8Array,</span>
866
- <span class="cstat-no" title="statement not covered" > extra?: string | Uint8Array,</span>
867
- <span class="cstat-no" title="statement not covered" > ): Uint8Array =&gt; {</span>
868
- <span class="cstat-no" title="statement not covered" > if (isLocked(secretKey)) {</span>
869
- <span class="cstat-no" title="statement not covered" > throw new Error("Cannot sign with a locked key pair");</span>
870
- <span class="cstat-no" title="statement not covered" > }</span>
871
- &nbsp;
872
- <span class="cstat-no" title="statement not covered" > return sr25519VrfSign(message, { secretKey }, context, extra);</span>
873
- <span class="cstat-no" title="statement not covered" > },</span>
874
- vrfVerify: <span class="fstat-no" title="function not covered" >(</span>
875
- <span class="cstat-no" title="statement not covered" > message: string | Uint8Array,</span>
876
- <span class="cstat-no" title="statement not covered" > vrfResult: Uint8Array,</span>
877
- <span class="cstat-no" title="statement not covered" > signerPublic: Uint8Array | string,</span>
878
- <span class="cstat-no" title="statement not covered" > context?: string | Uint8Array,</span>
879
- <span class="cstat-no" title="statement not covered" > extra?: string | Uint8Array,</span>
880
- <span class="cstat-no" title="statement not covered" > ): boolean =&gt; {</span>
881
- <span class="cstat-no" title="statement not covered" > return sr25519VrfVerify(message, vrfResult, publicKey, context, extra);</span>
882
- <span class="cstat-no" title="statement not covered" > },</span>
883
- };
884
- }
885
- &nbsp;</pre></td></tr></table></pre>
886
-
887
- <div class='push'></div><!-- for sticky footer -->
888
- </div><!-- /wrapper -->
889
- <div class='footer quiet pad2 space-top1 center small'>
890
- Code coverage generated by
891
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
892
- at 2025-09-29T09:25:04.552Z
893
- </div>
894
- <script src="../../prettify.js"></script>
895
- <script>
896
- window.onload = function () {
897
- prettyPrint();
898
- };
899
- </script>
900
- <script src="../../sorter.js"></script>
901
- <script src="../../block-navigation.js"></script>
902
- </body>
903
- </html>
904
-