@leocuvee/turtlecoin-utils 0.0.14

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 (132) hide show
  1. package/.github/workflows/ci.yml +27 -0
  2. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  3. package/.idea/inspectionProfiles/Project_Default.xml +7 -0
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/turtlecoin-utils.iml +12 -0
  7. package/.idea/vcs.xml +6 -0
  8. package/.travis.yml +11 -0
  9. package/CONTRIBUTING.md +3 -0
  10. package/LICENSE +674 -0
  11. package/README.md +203 -0
  12. package/config.json +7 -0
  13. package/docs/.nojekyll +0 -0
  14. package/docs/CNAME +1 -0
  15. package/docs/assets/css/main.css +2321 -0
  16. package/docs/assets/images/icons.png +0 -0
  17. package/docs/assets/images/icons@2x.png +0 -0
  18. package/docs/assets/images/widgets.png +0 -0
  19. package/docs/assets/images/widgets@2x.png +0 -0
  20. package/docs/assets/js/main.js +1 -0
  21. package/docs/assets/js/search.js +3 -0
  22. package/docs/classes/address.html +964 -0
  23. package/docs/classes/addressprefix.html +431 -0
  24. package/docs/classes/block.html +965 -0
  25. package/docs/classes/blocktemplate.html +695 -0
  26. package/docs/classes/cryptonote.html +1137 -0
  27. package/docs/classes/ed25519.keypair.html +400 -0
  28. package/docs/classes/ed25519.keys.html +373 -0
  29. package/docs/classes/extranoncetag.extranoncedata.html +454 -0
  30. package/docs/classes/extranoncetag.extranoncepaymentid.html +453 -0
  31. package/docs/classes/extranoncetag.iextranonce.html +347 -0
  32. package/docs/classes/extratag.extramergedmining.html +494 -0
  33. package/docs/classes/extratag.extranonce.html +530 -0
  34. package/docs/classes/extratag.extrapadding.html +456 -0
  35. package/docs/classes/extratag.extrapublickey.html +460 -0
  36. package/docs/classes/extratag.iextratag.html +355 -0
  37. package/docs/classes/levinpacket.html +674 -0
  38. package/docs/classes/levinpayloads.handshake.html +731 -0
  39. package/docs/classes/levinpayloads.ilevinpayload.html +318 -0
  40. package/docs/classes/levinpayloads.liteblock.html +494 -0
  41. package/docs/classes/levinpayloads.missingtransactions.html +494 -0
  42. package/docs/classes/levinpayloads.newblock.html +540 -0
  43. package/docs/classes/levinpayloads.newtransactions.html +402 -0
  44. package/docs/classes/levinpayloads.peerentry.html +610 -0
  45. package/docs/classes/levinpayloads.ping.html +450 -0
  46. package/docs/classes/levinpayloads.rawblock.html +344 -0
  47. package/docs/classes/levinpayloads.requestchain.html +402 -0
  48. package/docs/classes/levinpayloads.requestgetobjects.html +448 -0
  49. package/docs/classes/levinpayloads.requesttxpool.html +402 -0
  50. package/docs/classes/levinpayloads.responsechain.html +494 -0
  51. package/docs/classes/levinpayloads.responsegetobjects.html +540 -0
  52. package/docs/classes/levinpayloads.timedsync.html +540 -0
  53. package/docs/classes/multisig.html +930 -0
  54. package/docs/classes/multisigmessage.html +694 -0
  55. package/docs/classes/parentblock.html +347 -0
  56. package/docs/classes/transaction.html +925 -0
  57. package/docs/classes/transactioninputs.coinbaseinput.html +390 -0
  58. package/docs/classes/transactioninputs.itransactioninput.html +321 -0
  59. package/docs/classes/transactioninputs.keyinput.html +459 -0
  60. package/docs/classes/transactionoutputs.itransactionoutput.html +317 -0
  61. package/docs/classes/transactionoutputs.keyoutput.html +422 -0
  62. package/docs/enums/extranoncetag.noncetagtype.html +246 -0
  63. package/docs/enums/extratag.extratagtype.html +280 -0
  64. package/docs/enums/levinprotocol.commandtype.html +391 -0
  65. package/docs/enums/transactioninputs.inputtype.html +246 -0
  66. package/docs/enums/transactionoutputs.outputtype.html +229 -0
  67. package/docs/globals.html +238 -0
  68. package/docs/index.html +271 -0
  69. package/docs/interfaces/interfaces.config.html +590 -0
  70. package/docs/interfaces/interfaces.daemonblocktemplateresponse.html +323 -0
  71. package/docs/interfaces/interfaces.generatedinput.html +304 -0
  72. package/docs/interfaces/interfaces.generatedoutput.html +285 -0
  73. package/docs/interfaces/interfaces.inputkeys.html +304 -0
  74. package/docs/interfaces/interfaces.ipreparedtransaction.html +268 -0
  75. package/docs/interfaces/interfaces.output.html +399 -0
  76. package/docs/interfaces/interfaces.preparedringsignature.html +377 -0
  77. package/docs/interfaces/interfaces.preparedtransaction.html +329 -0
  78. package/docs/interfaces/interfaces.randomoutput.html +285 -0
  79. package/docs/interfaces/interfaces.transactionrecipient.html +285 -0
  80. package/docs/interfaces/multisiginterfaces.partialkeyimage.html +277 -0
  81. package/docs/interfaces/multisiginterfaces.partialsigningkey.html +277 -0
  82. package/docs/modules/ed25519.html +195 -0
  83. package/docs/modules/extranoncetag.html +208 -0
  84. package/docs/modules/extratag.html +216 -0
  85. package/docs/modules/interfaces.html +231 -0
  86. package/docs/modules/levinpayloads.html +247 -0
  87. package/docs/modules/levinprotocol.html +191 -0
  88. package/docs/modules/multisiginterfaces.html +195 -0
  89. package/docs/modules/transactioninputs.html +208 -0
  90. package/docs/modules/transactionoutputs.html +204 -0
  91. package/index.d.ts +417 -0
  92. package/index.js +1508 -0
  93. package/lib/base58.js +220 -0
  94. package/lib/biginteger.js +1591 -0
  95. package/lib/blocktemplate.js +408 -0
  96. package/lib/crypto.js +19698 -0
  97. package/lib/mnemonic.js +1204 -0
  98. package/lib/nacl-fast-cn.js +608 -0
  99. package/lib/ringsigs.js +24262 -0
  100. package/lib/sha3.js +477 -0
  101. package/package.json +58 -0
  102. package/src/Address.ts +433 -0
  103. package/src/AddressPrefix.ts +117 -0
  104. package/src/Block.ts +556 -0
  105. package/src/BlockTemplate.ts +289 -0
  106. package/src/Common.ts +105 -0
  107. package/src/Config.ts +66 -0
  108. package/src/CryptoNote.ts +1072 -0
  109. package/src/LevinPacket.ts +366 -0
  110. package/src/Multisig.ts +600 -0
  111. package/src/MultisigMessage.ts +374 -0
  112. package/src/ParentBlock.ts +39 -0
  113. package/src/Transaction.ts +628 -0
  114. package/src/Types/ED25519.ts +187 -0
  115. package/src/Types/IExtraNonce.ts +225 -0
  116. package/src/Types/IExtraTag.ts +507 -0
  117. package/src/Types/ITransaction.ts +230 -0
  118. package/src/Types/ITransactionInput.ts +190 -0
  119. package/src/Types/ITransactionOutput.ts +108 -0
  120. package/src/Types/LevinPayloads.ts +1576 -0
  121. package/src/Types/MultisigInterfaces.ts +65 -0
  122. package/src/Types/PortableStorage.ts +289 -0
  123. package/src/Types.ts +36 -0
  124. package/src/index.ts +36 -0
  125. package/test/template.json +6 -0
  126. package/test/test.js +1457 -0
  127. package/tests/blocktemplate.json +6 -0
  128. package/tests/tests.js +215 -0
  129. package/tsconfig.json +15 -0
  130. package/tslint.json +36 -0
  131. package/typedoc.json +10 -0
  132. package/webpack.config.js +15 -0
@@ -0,0 +1,930 @@
1
+ <!doctype html>
2
+ <html class="default no-js">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <title>Multisig | TurtleCoin-Utils</title>
7
+ <meta name="description" content="">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1">
9
+ <link rel="stylesheet" href="../assets/css/main.css">
10
+ </head>
11
+ <body>
12
+ <header>
13
+ <div class="tsd-page-toolbar">
14
+ <div class="container">
15
+ <div class="table-wrap">
16
+ <div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
17
+ <div class="field">
18
+ <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
19
+ <input id="tsd-search-field" type="text" />
20
+ </div>
21
+ <ul class="results">
22
+ <li class="state loading">Preparing search index...</li>
23
+ <li class="state failure">The search index is not available</li>
24
+ </ul>
25
+ <a href="../index.html" class="title">TurtleCoin-Utils</a>
26
+ </div>
27
+ <div class="table-cell" id="tsd-widgets">
28
+ <div id="tsd-filter">
29
+ <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
30
+ <div class="tsd-filter-group">
31
+ <div class="tsd-select" id="tsd-filter-visibility">
32
+ <span class="tsd-select-label">All</span>
33
+ <ul class="tsd-select-list">
34
+ <li data-value="public">Public</li>
35
+ <li data-value="protected">Public/Protected</li>
36
+ <li data-value="private" class="selected">All</li>
37
+ </ul>
38
+ </div>
39
+ <input type="checkbox" id="tsd-filter-inherited" checked />
40
+ <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
41
+ </div>
42
+ </div>
43
+ <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ <div class="tsd-page-title">
49
+ <div class="container">
50
+ <ul class="tsd-breadcrumb">
51
+ <li>
52
+ <a href="../globals.html">Globals</a>
53
+ </li>
54
+ <li>
55
+ <a href="multisig.html">Multisig</a>
56
+ </li>
57
+ </ul>
58
+ <h1>Class Multisig</h1>
59
+ </div>
60
+ </div>
61
+ </header>
62
+ <div class="container container-main">
63
+ <div class="row">
64
+ <div class="col-8 col-content">
65
+ <section class="tsd-panel tsd-comment">
66
+ <div class="tsd-comment tsd-typography">
67
+ <div class="lead">
68
+ <p>Represents a multisig helper class that can be used for the creation of multisig wallets</p>
69
+ </div>
70
+ </div>
71
+ </section>
72
+ <section class="tsd-panel tsd-hierarchy">
73
+ <h3>Hierarchy</h3>
74
+ <ul class="tsd-hierarchy">
75
+ <li>
76
+ <span class="target">Multisig</span>
77
+ </li>
78
+ </ul>
79
+ </section>
80
+ <section class="tsd-panel-group tsd-index-group">
81
+ <h2>Index</h2>
82
+ <section class="tsd-panel tsd-index-panel">
83
+ <div class="tsd-index-content">
84
+ <section class="tsd-index-section ">
85
+ <h3>Accessors</h3>
86
+ <ul class="tsd-index-list">
87
+ <li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="multisig.html#address" class="tsd-kind-icon">address</a></li>
88
+ <li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="multisig.html#current_participants" class="tsd-kind-icon">current_<wbr>participants</a></li>
89
+ <li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="multisig.html#isready" class="tsd-kind-icon">is<wbr>Ready</a></li>
90
+ <li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="multisig.html#multisig_keys" class="tsd-kind-icon">multisig_<wbr>keys</a></li>
91
+ <li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="multisig.html#participants" class="tsd-kind-icon">participants</a></li>
92
+ <li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="multisig.html#private_multisig_keys" class="tsd-kind-icon">private_<wbr>multisig_<wbr>keys</a></li>
93
+ <li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="multisig.html#public_multisig_keys" class="tsd-kind-icon">public_<wbr>multisig_<wbr>keys</a></li>
94
+ <li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="multisig.html#spend" class="tsd-kind-icon">spend</a></li>
95
+ <li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="multisig.html#threshold" class="tsd-kind-icon">threshold</a></li>
96
+ <li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="multisig.html#view" class="tsd-kind-icon">view</a></li>
97
+ </ul>
98
+ </section>
99
+ <section class="tsd-index-section ">
100
+ <h3>Methods</h3>
101
+ <ul class="tsd-index-list">
102
+ <li class="tsd-kind-method tsd-parent-kind-class"><a href="multisig.html#addparticipant" class="tsd-kind-icon">add<wbr>Participant</a></li>
103
+ <li class="tsd-kind-method tsd-parent-kind-class"><a href="multisig.html#completetransaction" class="tsd-kind-icon">complete<wbr>Transaction</a></li>
104
+ <li class="tsd-kind-method tsd-parent-kind-class"><a href="multisig.html#generatepartialkeyimages" class="tsd-kind-icon">generate<wbr>Partial<wbr>Key<wbr>Images</a></li>
105
+ <li class="tsd-kind-method tsd-parent-kind-class"><a href="multisig.html#generatepartialsigningkeys" class="tsd-kind-icon">generate<wbr>Partial<wbr>Signing<wbr>Keys</a></li>
106
+ <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="multisig.html#exchangeroundsrequired" class="tsd-kind-icon">exchange<wbr>Rounds<wbr>Required</a></li>
107
+ <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="multisig.html#fromaddress" class="tsd-kind-icon">from<wbr>Address</a></li>
108
+ <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="multisig.html#frommultisigkeys" class="tsd-kind-icon">from<wbr>Multisig<wbr>Keys</a></li>
109
+ <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="multisig.html#isvalidthreshold" class="tsd-kind-icon">is<wbr>Valid<wbr>Threshold</a></li>
110
+ <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="multisig.html#requiredsigningkeys" class="tsd-kind-icon">required<wbr>Signing<wbr>Keys</a></li>
111
+ <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="multisig.html#restorekeyimage" class="tsd-kind-icon">restore<wbr>Key<wbr>Image</a></li>
112
+ </ul>
113
+ </section>
114
+ </div>
115
+ </section>
116
+ </section>
117
+ <section class="tsd-panel-group tsd-member-group ">
118
+ <h2>Accessors</h2>
119
+ <section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
120
+ <a name="address" class="tsd-anchor"></a>
121
+ <h3>address</h3>
122
+ <ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
123
+ <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> address<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="address.html" class="tsd-signature-type">Address</a></li>
124
+ </ul>
125
+ <ul class="tsd-descriptions">
126
+ <li class="tsd-description">
127
+ <aside class="tsd-sources">
128
+ <ul>
129
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L20">Multisig.ts:20</a></li>
130
+ </ul>
131
+ </aside>
132
+ <div class="tsd-comment tsd-typography">
133
+ <div class="lead">
134
+ <p>Returns an address object representing the multisig wallet address</p>
135
+ </div>
136
+ </div>
137
+ <h4 class="tsd-returns-title">Returns <a href="address.html" class="tsd-signature-type">Address</a></h4>
138
+ </li>
139
+ </ul>
140
+ </section>
141
+ <section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
142
+ <a name="current_participants" class="tsd-anchor"></a>
143
+ <h3>current_<wbr>participants</h3>
144
+ <ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
145
+ <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> current_participants<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
146
+ </ul>
147
+ <ul class="tsd-descriptions">
148
+ <li class="tsd-description">
149
+ <aside class="tsd-sources">
150
+ <ul>
151
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L45">Multisig.ts:45</a></li>
152
+ </ul>
153
+ </aside>
154
+ <div class="tsd-comment tsd-typography">
155
+ <div class="lead">
156
+ <p>Returns the number of participants currently loaded into the object</p>
157
+ </div>
158
+ </div>
159
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
160
+ </li>
161
+ </ul>
162
+ </section>
163
+ <section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
164
+ <a name="isready" class="tsd-anchor"></a>
165
+ <h3>is<wbr>Ready</h3>
166
+ <ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
167
+ <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> isReady<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
168
+ </ul>
169
+ <ul class="tsd-descriptions">
170
+ <li class="tsd-description">
171
+ <aside class="tsd-sources">
172
+ <ul>
173
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L84">Multisig.ts:84</a></li>
174
+ </ul>
175
+ </aside>
176
+ <div class="tsd-comment tsd-typography">
177
+ <div class="lead">
178
+ <p>Returns if the object is ready for export and/or use</p>
179
+ </div>
180
+ </div>
181
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
182
+ </li>
183
+ </ul>
184
+ </section>
185
+ <section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
186
+ <a name="multisig_keys" class="tsd-anchor"></a>
187
+ <h3>multisig_<wbr>keys</h3>
188
+ <ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
189
+ <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> multisig_keys<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="ed25519.keypair.html" class="tsd-signature-type">KeyPair</a><span class="tsd-signature-symbol">[]</span></li>
190
+ </ul>
191
+ <ul class="tsd-descriptions">
192
+ <li class="tsd-description">
193
+ <aside class="tsd-sources">
194
+ <ul>
195
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L91">Multisig.ts:91</a></li>
196
+ </ul>
197
+ </aside>
198
+ <div class="tsd-comment tsd-typography">
199
+ <div class="lead">
200
+ <p>Returns our multisig keys</p>
201
+ </div>
202
+ </div>
203
+ <h4 class="tsd-returns-title">Returns <a href="ed25519.keypair.html" class="tsd-signature-type">KeyPair</a><span class="tsd-signature-symbol">[]</span></h4>
204
+ </li>
205
+ </ul>
206
+ </section>
207
+ <section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
208
+ <a name="participants" class="tsd-anchor"></a>
209
+ <h3>participants</h3>
210
+ <ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
211
+ <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> participants<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
212
+ </ul>
213
+ <ul class="tsd-descriptions">
214
+ <li class="tsd-description">
215
+ <aside class="tsd-sources">
216
+ <ul>
217
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L38">Multisig.ts:38</a></li>
218
+ </ul>
219
+ </aside>
220
+ <div class="tsd-comment tsd-typography">
221
+ <div class="lead">
222
+ <p>Returns the participants (N) of the multisig wallet</p>
223
+ </div>
224
+ </div>
225
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
226
+ </li>
227
+ </ul>
228
+ </section>
229
+ <section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
230
+ <a name="private_multisig_keys" class="tsd-anchor"></a>
231
+ <h3>private_<wbr>multisig_<wbr>keys</h3>
232
+ <ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
233
+ <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> private_multisig_keys<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li>
234
+ </ul>
235
+ <ul class="tsd-descriptions">
236
+ <li class="tsd-description">
237
+ <aside class="tsd-sources">
238
+ <ul>
239
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L111">Multisig.ts:111</a></li>
240
+ </ul>
241
+ </aside>
242
+ <div class="tsd-comment tsd-typography">
243
+ <div class="lead">
244
+ <p>Returns the private multisig keys</p>
245
+ </div>
246
+ </div>
247
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4>
248
+ </li>
249
+ </ul>
250
+ </section>
251
+ <section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
252
+ <a name="public_multisig_keys" class="tsd-anchor"></a>
253
+ <h3>public_<wbr>multisig_<wbr>keys</h3>
254
+ <ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
255
+ <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> public_multisig_keys<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li>
256
+ </ul>
257
+ <ul class="tsd-descriptions">
258
+ <li class="tsd-description">
259
+ <aside class="tsd-sources">
260
+ <ul>
261
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L98">Multisig.ts:98</a></li>
262
+ </ul>
263
+ </aside>
264
+ <div class="tsd-comment tsd-typography">
265
+ <div class="lead">
266
+ <p>Returns the public multisig keys</p>
267
+ </div>
268
+ </div>
269
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4>
270
+ </li>
271
+ </ul>
272
+ </section>
273
+ <section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
274
+ <a name="spend" class="tsd-anchor"></a>
275
+ <h3>spend</h3>
276
+ <ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
277
+ <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> spend<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
278
+ </ul>
279
+ <ul class="tsd-descriptions">
280
+ <li class="tsd-description">
281
+ <aside class="tsd-sources">
282
+ <ul>
283
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L63">Multisig.ts:63</a></li>
284
+ </ul>
285
+ </aside>
286
+ <div class="tsd-comment tsd-typography">
287
+ <div class="lead">
288
+ <p>Returns the shared public spend key of the multisig wallet</p>
289
+ </div>
290
+ </div>
291
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
292
+ </li>
293
+ </ul>
294
+ </section>
295
+ <section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
296
+ <a name="threshold" class="tsd-anchor"></a>
297
+ <h3>threshold</h3>
298
+ <ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
299
+ <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> threshold<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
300
+ </ul>
301
+ <ul class="tsd-descriptions">
302
+ <li class="tsd-description">
303
+ <aside class="tsd-sources">
304
+ <ul>
305
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L31">Multisig.ts:31</a></li>
306
+ </ul>
307
+ </aside>
308
+ <div class="tsd-comment tsd-typography">
309
+ <div class="lead">
310
+ <p>Returns the threshold (M) of the multisig wallet</p>
311
+ </div>
312
+ </div>
313
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
314
+ </li>
315
+ </ul>
316
+ </section>
317
+ <section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
318
+ <a name="view" class="tsd-anchor"></a>
319
+ <h3>view</h3>
320
+ <ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
321
+ <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> view<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
322
+ </ul>
323
+ <ul class="tsd-descriptions">
324
+ <li class="tsd-description">
325
+ <aside class="tsd-sources">
326
+ <ul>
327
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L52">Multisig.ts:52</a></li>
328
+ </ul>
329
+ </aside>
330
+ <div class="tsd-comment tsd-typography">
331
+ <div class="lead">
332
+ <p>Returns the shared private view key of the multisig wallet</p>
333
+ </div>
334
+ </div>
335
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
336
+ </li>
337
+ </ul>
338
+ </section>
339
+ </section>
340
+ <section class="tsd-panel-group tsd-member-group ">
341
+ <h2>Methods</h2>
342
+ <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
343
+ <a name="addparticipant" class="tsd-anchor"></a>
344
+ <h3>add<wbr>Participant</h3>
345
+ <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
346
+ <li class="tsd-signature tsd-kind-icon">add<wbr>Participant<span class="tsd-signature-symbol">(</span>publicSpendKeys<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span>, privateViewKey<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
347
+ </ul>
348
+ <ul class="tsd-descriptions">
349
+ <li class="tsd-description">
350
+ <aside class="tsd-sources">
351
+ <ul>
352
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L301">Multisig.ts:301</a></li>
353
+ </ul>
354
+ </aside>
355
+ <div class="tsd-comment tsd-typography">
356
+ <div class="lead">
357
+ <p>Adds a participant to the multisig object
358
+ Note: If this is an additional round of exchange, the publicSpendKeys should be the array of
359
+ public multisig keys of the participant and we will not supply the private view key again.</p>
360
+ </div>
361
+ </div>
362
+ <h4 class="tsd-parameters-title">Parameters</h4>
363
+ <ul class="tsd-parameters">
364
+ <li>
365
+ <h5>publicSpendKeys: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
366
+ <div class="tsd-comment tsd-typography">
367
+ <p>the participant spend key(s)</p>
368
+ </div>
369
+ </li>
370
+ <li>
371
+ <h5><span class="tsd-flag ts-flagOptional">Optional</span> privateViewKey: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
372
+ </li>
373
+ </ul>
374
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
375
+ </li>
376
+ </ul>
377
+ </section>
378
+ <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
379
+ <a name="completetransaction" class="tsd-anchor"></a>
380
+ <h3>complete<wbr>Transaction</h3>
381
+ <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
382
+ <li class="tsd-signature tsd-kind-icon">complete<wbr>Transaction<span class="tsd-signature-symbol">(</span>tx<span class="tsd-signature-symbol">: </span><a href="../interfaces/interfaces.preparedtransaction.html" class="tsd-signature-type">PreparedTransaction</a>, partialSigningKeys<span class="tsd-signature-symbol">: </span><a href="../interfaces/multisiginterfaces.partialsigningkey.html" class="tsd-signature-type">PartialSigningKey</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="transaction.html" class="tsd-signature-type">Transaction</a><span class="tsd-signature-symbol">&gt;</span></li>
383
+ </ul>
384
+ <ul class="tsd-descriptions">
385
+ <li class="tsd-description">
386
+ <aside class="tsd-sources">
387
+ <ul>
388
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L410">Multisig.ts:410</a></li>
389
+ </ul>
390
+ </aside>
391
+ <div class="tsd-comment tsd-typography">
392
+ <div class="lead">
393
+ <p>Restores the ring signatures of a prepared transaction using the supplied partial signing keys</p>
394
+ </div>
395
+ </div>
396
+ <h4 class="tsd-parameters-title">Parameters</h4>
397
+ <ul class="tsd-parameters">
398
+ <li>
399
+ <h5>tx: <a href="../interfaces/interfaces.preparedtransaction.html" class="tsd-signature-type">PreparedTransaction</a></h5>
400
+ <div class="tsd-comment tsd-typography">
401
+ <p>the prepared transaction</p>
402
+ </div>
403
+ </li>
404
+ <li>
405
+ <h5>partialSigningKeys: <a href="../interfaces/multisiginterfaces.partialsigningkey.html" class="tsd-signature-type">PartialSigningKey</a><span class="tsd-signature-symbol">[]</span></h5>
406
+ <div class="tsd-comment tsd-typography">
407
+ <p>the partial signing keys required for the signature scheme</p>
408
+ </div>
409
+ </li>
410
+ </ul>
411
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="transaction.html" class="tsd-signature-type">Transaction</a><span class="tsd-signature-symbol">&gt;</span></h4>
412
+ <p>the completed transaction</p>
413
+ </li>
414
+ </ul>
415
+ </section>
416
+ <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
417
+ <a name="generatepartialkeyimages" class="tsd-anchor"></a>
418
+ <h3>generate<wbr>Partial<wbr>Key<wbr>Images</h3>
419
+ <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
420
+ <li class="tsd-signature tsd-kind-icon">generate<wbr>Partial<wbr>Key<wbr>Images<span class="tsd-signature-symbol">(</span>transactionHash<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, publicEphemeral<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, outputIndex<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/multisiginterfaces.partialkeyimage.html" class="tsd-signature-type">PartialKeyImage</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></li>
421
+ </ul>
422
+ <ul class="tsd-descriptions">
423
+ <li class="tsd-description">
424
+ <aside class="tsd-sources">
425
+ <ul>
426
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L343">Multisig.ts:343</a></li>
427
+ </ul>
428
+ </aside>
429
+ <div class="tsd-comment tsd-typography">
430
+ <div class="lead">
431
+ <p>Generates the partial key images for the given public ephemeral</p>
432
+ </div>
433
+ </div>
434
+ <h4 class="tsd-parameters-title">Parameters</h4>
435
+ <ul class="tsd-parameters">
436
+ <li>
437
+ <h5>transactionHash: <span class="tsd-signature-type">string</span></h5>
438
+ <div class="tsd-comment tsd-typography">
439
+ <p>the transaction hash containing the output used</p>
440
+ </div>
441
+ </li>
442
+ <li>
443
+ <h5>publicEphemeral: <span class="tsd-signature-type">string</span></h5>
444
+ <div class="tsd-comment tsd-typography">
445
+ <p>the public ephemeral of the output</p>
446
+ </div>
447
+ </li>
448
+ <li>
449
+ <h5>outputIndex: <span class="tsd-signature-type">number</span></h5>
450
+ <div class="tsd-comment tsd-typography">
451
+ <p>the index of the output in the transaction</p>
452
+ </div>
453
+ </li>
454
+ </ul>
455
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/multisiginterfaces.partialkeyimage.html" class="tsd-signature-type">PartialKeyImage</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4>
456
+ <p>the partial key images</p>
457
+ </li>
458
+ </ul>
459
+ </section>
460
+ <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
461
+ <a name="generatepartialsigningkeys" class="tsd-anchor"></a>
462
+ <h3>generate<wbr>Partial<wbr>Signing<wbr>Keys</h3>
463
+ <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
464
+ <li class="tsd-signature tsd-kind-icon">generate<wbr>Partial<wbr>Signing<wbr>Keys<span class="tsd-signature-symbol">(</span>tx<span class="tsd-signature-symbol">: </span><a href="../interfaces/interfaces.preparedtransaction.html" class="tsd-signature-type">PreparedTransaction</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/multisiginterfaces.partialsigningkey.html" class="tsd-signature-type">PartialSigningKey</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></li>
465
+ </ul>
466
+ <ul class="tsd-descriptions">
467
+ <li class="tsd-description">
468
+ <aside class="tsd-sources">
469
+ <ul>
470
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L374">Multisig.ts:374</a></li>
471
+ </ul>
472
+ </aside>
473
+ <div class="tsd-comment tsd-typography">
474
+ <div class="lead">
475
+ <p>Generates the partial signing keys for the given prepared transaction</p>
476
+ </div>
477
+ </div>
478
+ <h4 class="tsd-parameters-title">Parameters</h4>
479
+ <ul class="tsd-parameters">
480
+ <li>
481
+ <h5>tx: <a href="../interfaces/interfaces.preparedtransaction.html" class="tsd-signature-type">PreparedTransaction</a></h5>
482
+ <div class="tsd-comment tsd-typography">
483
+ <p>the prepared transaction</p>
484
+ </div>
485
+ </li>
486
+ </ul>
487
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/multisiginterfaces.partialsigningkey.html" class="tsd-signature-type">PartialSigningKey</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4>
488
+ <p>the partial signing keys</p>
489
+ </li>
490
+ </ul>
491
+ </section>
492
+ <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static">
493
+ <a name="exchangeroundsrequired" class="tsd-anchor"></a>
494
+ <h3><span class="tsd-flag ts-flagStatic">Static</span> exchange<wbr>Rounds<wbr>Required</h3>
495
+ <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static">
496
+ <li class="tsd-signature tsd-kind-icon">exchange<wbr>Rounds<wbr>Required<span class="tsd-signature-symbol">(</span>threshold<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, participants<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
497
+ </ul>
498
+ <ul class="tsd-descriptions">
499
+ <li class="tsd-description">
500
+ <aside class="tsd-sources">
501
+ <ul>
502
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L167">Multisig.ts:167</a></li>
503
+ </ul>
504
+ </aside>
505
+ <div class="tsd-comment tsd-typography">
506
+ <div class="lead">
507
+ <p>Let&#39;s us know how many times participants must exchange information after the initial exchange</p>
508
+ </div>
509
+ </div>
510
+ <h4 class="tsd-parameters-title">Parameters</h4>
511
+ <ul class="tsd-parameters">
512
+ <li>
513
+ <h5>threshold: <span class="tsd-signature-type">number</span></h5>
514
+ <div class="tsd-comment tsd-typography">
515
+ <p>the number of participants required to construct a new transaction</p>
516
+ </div>
517
+ </li>
518
+ <li>
519
+ <h5>participants: <span class="tsd-signature-type">number</span></h5>
520
+ <div class="tsd-comment tsd-typography">
521
+ <p>the wallet participants</p>
522
+ </div>
523
+ </li>
524
+ </ul>
525
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
526
+ <p>the number of additional exchange rounds required</p>
527
+ </li>
528
+ </ul>
529
+ </section>
530
+ <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static">
531
+ <a name="fromaddress" class="tsd-anchor"></a>
532
+ <h3><span class="tsd-flag ts-flagStatic">Static</span> from<wbr>Address</h3>
533
+ <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static">
534
+ <li class="tsd-signature tsd-kind-icon">from<wbr>Address<span class="tsd-signature-symbol">(</span>wallet<span class="tsd-signature-symbol">: </span><a href="address.html" class="tsd-signature-type">Address</a>, threshold<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, participants<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="multisig.html" class="tsd-signature-type">Multisig</a></li>
535
+ </ul>
536
+ <ul class="tsd-descriptions">
537
+ <li class="tsd-description">
538
+ <aside class="tsd-sources">
539
+ <ul>
540
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L178">Multisig.ts:178</a></li>
541
+ </ul>
542
+ </aside>
543
+ <div class="tsd-comment tsd-typography">
544
+ <div class="lead">
545
+ <p>Initializes an initial multisig object using our address information</p>
546
+ </div>
547
+ </div>
548
+ <h4 class="tsd-parameters-title">Parameters</h4>
549
+ <ul class="tsd-parameters">
550
+ <li>
551
+ <h5>wallet: <a href="address.html" class="tsd-signature-type">Address</a></h5>
552
+ <div class="tsd-comment tsd-typography">
553
+ <p>our base wallet used to create the wallet</p>
554
+ </div>
555
+ </li>
556
+ <li>
557
+ <h5>threshold: <span class="tsd-signature-type">number</span></h5>
558
+ <div class="tsd-comment tsd-typography">
559
+ <p>the number of participants required to construct a new transaction</p>
560
+ </div>
561
+ </li>
562
+ <li>
563
+ <h5>participants: <span class="tsd-signature-type">number</span></h5>
564
+ <div class="tsd-comment tsd-typography">
565
+ <p>the wallet participants</p>
566
+ </div>
567
+ </li>
568
+ </ul>
569
+ <h4 class="tsd-returns-title">Returns <a href="multisig.html" class="tsd-signature-type">Multisig</a></h4>
570
+ <p>a new instance of the object</p>
571
+ </li>
572
+ </ul>
573
+ </section>
574
+ <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static">
575
+ <a name="frommultisigkeys" class="tsd-anchor"></a>
576
+ <h3><span class="tsd-flag ts-flagStatic">Static</span> from<wbr>Multisig<wbr>Keys</h3>
577
+ <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static">
578
+ <li class="tsd-signature tsd-kind-icon">from<wbr>Multisig<wbr>Keys<span class="tsd-signature-symbol">(</span>multisig_private_keys<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, sharedPrivateViewKey<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, threshold<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, participants<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="multisig.html" class="tsd-signature-type">Multisig</a></li>
579
+ </ul>
580
+ <ul class="tsd-descriptions">
581
+ <li class="tsd-description">
582
+ <aside class="tsd-sources">
583
+ <ul>
584
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L214">Multisig.ts:214</a></li>
585
+ </ul>
586
+ </aside>
587
+ <div class="tsd-comment tsd-typography">
588
+ <div class="lead">
589
+ <p>Initializes a multisig object using our previously generated multisig private keys</p>
590
+ </div>
591
+ </div>
592
+ <h4 class="tsd-parameters-title">Parameters</h4>
593
+ <ul class="tsd-parameters">
594
+ <li>
595
+ <h5>multisig_private_keys: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5>
596
+ <div class="tsd-comment tsd-typography">
597
+ <p>the previously generated multisig private keys</p>
598
+ </div>
599
+ </li>
600
+ <li>
601
+ <h5>sharedPrivateViewKey: <span class="tsd-signature-type">string</span></h5>
602
+ <div class="tsd-comment tsd-typography">
603
+ <p>the previously calculated view private key</p>
604
+ </div>
605
+ </li>
606
+ <li>
607
+ <h5>threshold: <span class="tsd-signature-type">number</span></h5>
608
+ <div class="tsd-comment tsd-typography">
609
+ <p>the number of participants required to construct a new transaction</p>
610
+ </div>
611
+ </li>
612
+ <li>
613
+ <h5>participants: <span class="tsd-signature-type">number</span></h5>
614
+ <div class="tsd-comment tsd-typography">
615
+ <p>the wallet participants</p>
616
+ </div>
617
+ </li>
618
+ </ul>
619
+ <h4 class="tsd-returns-title">Returns <a href="multisig.html" class="tsd-signature-type">Multisig</a></h4>
620
+ <p>a new instance of the object</p>
621
+ </li>
622
+ </ul>
623
+ </section>
624
+ <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static">
625
+ <a name="isvalidthreshold" class="tsd-anchor"></a>
626
+ <h3><span class="tsd-flag ts-flagStatic">Static</span> is<wbr>Valid<wbr>Threshold</h3>
627
+ <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static">
628
+ <li class="tsd-signature tsd-kind-icon">is<wbr>Valid<wbr>Threshold<span class="tsd-signature-symbol">(</span>threshold<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, participants<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
629
+ </ul>
630
+ <ul class="tsd-descriptions">
631
+ <li class="tsd-description">
632
+ <aside class="tsd-sources">
633
+ <ul>
634
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L265">Multisig.ts:265</a></li>
635
+ </ul>
636
+ </aside>
637
+ <div class="tsd-comment tsd-typography">
638
+ <div class="lead">
639
+ <p>Returns if the given M:N scheme is valid for this library</p>
640
+ </div>
641
+ </div>
642
+ <h4 class="tsd-parameters-title">Parameters</h4>
643
+ <ul class="tsd-parameters">
644
+ <li>
645
+ <h5>threshold: <span class="tsd-signature-type">number</span></h5>
646
+ <div class="tsd-comment tsd-typography">
647
+ <p>the number of participants required to construct a new transaction</p>
648
+ </div>
649
+ </li>
650
+ <li>
651
+ <h5>participants: <span class="tsd-signature-type">number</span></h5>
652
+ <div class="tsd-comment tsd-typography">
653
+ <p>the wallet participants</p>
654
+ </div>
655
+ </li>
656
+ </ul>
657
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
658
+ <p>if the given scheme is valid for this library</p>
659
+ </li>
660
+ </ul>
661
+ </section>
662
+ <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static">
663
+ <a name="requiredsigningkeys" class="tsd-anchor"></a>
664
+ <h3><span class="tsd-flag ts-flagStatic">Static</span> required<wbr>Signing<wbr>Keys</h3>
665
+ <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static">
666
+ <li class="tsd-signature tsd-kind-icon">required<wbr>Signing<wbr>Keys<span class="tsd-signature-symbol">(</span>threshold<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, participants<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
667
+ </ul>
668
+ <ul class="tsd-descriptions">
669
+ <li class="tsd-description">
670
+ <aside class="tsd-sources">
671
+ <ul>
672
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L255">Multisig.ts:255</a></li>
673
+ </ul>
674
+ </aside>
675
+ <div class="tsd-comment tsd-typography">
676
+ <div class="lead">
677
+ <p>Returns the total number of signing keys created using the M:N values supplied</p>
678
+ </div>
679
+ </div>
680
+ <h4 class="tsd-parameters-title">Parameters</h4>
681
+ <ul class="tsd-parameters">
682
+ <li>
683
+ <h5>threshold: <span class="tsd-signature-type">number</span></h5>
684
+ <div class="tsd-comment tsd-typography">
685
+ <p>the number of participants required to construct a new transaction</p>
686
+ </div>
687
+ </li>
688
+ <li>
689
+ <h5>participants: <span class="tsd-signature-type">number</span></h5>
690
+ <div class="tsd-comment tsd-typography">
691
+ <p>the wallet participants</p>
692
+ </div>
693
+ </li>
694
+ </ul>
695
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
696
+ <p>the total number of signing keys created</p>
697
+ </li>
698
+ </ul>
699
+ </section>
700
+ <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static">
701
+ <a name="restorekeyimage" class="tsd-anchor"></a>
702
+ <h3><span class="tsd-flag ts-flagStatic">Static</span> restore<wbr>Key<wbr>Image</h3>
703
+ <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static">
704
+ <li class="tsd-signature tsd-kind-icon">restore<wbr>Key<wbr>Image<span class="tsd-signature-symbol">(</span>publicEphemeral<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, derivation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, outputIndex<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, partialKeyImages<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></li>
705
+ </ul>
706
+ <ul class="tsd-descriptions">
707
+ <li class="tsd-description">
708
+ <aside class="tsd-sources">
709
+ <ul>
710
+ <li>Defined in <a href="https://github.com/turtlecoin/turtlecoin-utils/blob/847858e/src/Multisig.ts#L277">Multisig.ts:277</a></li>
711
+ </ul>
712
+ </aside>
713
+ <div class="tsd-comment tsd-typography">
714
+ <div class="lead">
715
+ <p>Restores a key image from partial key images</p>
716
+ </div>
717
+ </div>
718
+ <h4 class="tsd-parameters-title">Parameters</h4>
719
+ <ul class="tsd-parameters">
720
+ <li>
721
+ <h5>publicEphemeral: <span class="tsd-signature-type">string</span></h5>
722
+ <div class="tsd-comment tsd-typography">
723
+ <p>the key image public emphermal</p>
724
+ </div>
725
+ </li>
726
+ <li>
727
+ <h5>derivation: <span class="tsd-signature-type">string</span></h5>
728
+ <div class="tsd-comment tsd-typography">
729
+ <p>the key input derivation</p>
730
+ </div>
731
+ </li>
732
+ <li>
733
+ <h5>outputIndex: <span class="tsd-signature-type">number</span></h5>
734
+ <div class="tsd-comment tsd-typography">
735
+ <p>the key input output index</p>
736
+ </div>
737
+ </li>
738
+ <li>
739
+ <h5>partialKeyImages: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5>
740
+ <div class="tsd-comment tsd-typography">
741
+ <p>the partial key images</p>
742
+ </div>
743
+ </li>
744
+ </ul>
745
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h4>
746
+ <p>the restored key image</p>
747
+ </li>
748
+ </ul>
749
+ </section>
750
+ </section>
751
+ </div>
752
+ <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
753
+ <nav class="tsd-navigation primary">
754
+ <ul>
755
+ <li class="globals ">
756
+ <a href="../globals.html"><em>Globals</em></a>
757
+ </li>
758
+ </ul>
759
+ </nav>
760
+ <nav class="tsd-navigation secondary menu-sticky">
761
+ <ul class="before-current">
762
+ <li class=" tsd-kind-class">
763
+ <a href="address.html" class="tsd-kind-icon">Address</a>
764
+ </li>
765
+ <li class=" tsd-kind-class">
766
+ <a href="addressprefix.html" class="tsd-kind-icon">Address<wbr>Prefix</a>
767
+ </li>
768
+ <li class=" tsd-kind-class">
769
+ <a href="block.html" class="tsd-kind-icon">Block</a>
770
+ </li>
771
+ <li class=" tsd-kind-class">
772
+ <a href="blocktemplate.html" class="tsd-kind-icon">Block<wbr>Template</a>
773
+ </li>
774
+ <li class=" tsd-kind-class">
775
+ <a href="cryptonote.html" class="tsd-kind-icon">Crypto<wbr>Note</a>
776
+ </li>
777
+ <li class=" tsd-kind-class">
778
+ <a href="levinpacket.html" class="tsd-kind-icon">Levin<wbr>Packet</a>
779
+ </li>
780
+ </ul>
781
+ <ul class="current">
782
+ <li class="current tsd-kind-class">
783
+ <a href="multisig.html" class="tsd-kind-icon">Multisig</a>
784
+ <ul>
785
+ <li class=" tsd-kind-get-signature tsd-parent-kind-class">
786
+ <a href="multisig.html#address" class="tsd-kind-icon">address</a>
787
+ </li>
788
+ <li class=" tsd-kind-get-signature tsd-parent-kind-class">
789
+ <a href="multisig.html#current_participants" class="tsd-kind-icon">current_<wbr>participants</a>
790
+ </li>
791
+ <li class=" tsd-kind-get-signature tsd-parent-kind-class">
792
+ <a href="multisig.html#isready" class="tsd-kind-icon">is<wbr>Ready</a>
793
+ </li>
794
+ <li class=" tsd-kind-get-signature tsd-parent-kind-class">
795
+ <a href="multisig.html#multisig_keys" class="tsd-kind-icon">multisig_<wbr>keys</a>
796
+ </li>
797
+ <li class=" tsd-kind-get-signature tsd-parent-kind-class">
798
+ <a href="multisig.html#participants" class="tsd-kind-icon">participants</a>
799
+ </li>
800
+ <li class=" tsd-kind-get-signature tsd-parent-kind-class">
801
+ <a href="multisig.html#private_multisig_keys" class="tsd-kind-icon">private_<wbr>multisig_<wbr>keys</a>
802
+ </li>
803
+ <li class=" tsd-kind-get-signature tsd-parent-kind-class">
804
+ <a href="multisig.html#public_multisig_keys" class="tsd-kind-icon">public_<wbr>multisig_<wbr>keys</a>
805
+ </li>
806
+ <li class=" tsd-kind-get-signature tsd-parent-kind-class">
807
+ <a href="multisig.html#spend" class="tsd-kind-icon">spend</a>
808
+ </li>
809
+ <li class=" tsd-kind-get-signature tsd-parent-kind-class">
810
+ <a href="multisig.html#threshold" class="tsd-kind-icon">threshold</a>
811
+ </li>
812
+ <li class=" tsd-kind-get-signature tsd-parent-kind-class">
813
+ <a href="multisig.html#view" class="tsd-kind-icon">view</a>
814
+ </li>
815
+ <li class=" tsd-kind-method tsd-parent-kind-class">
816
+ <a href="multisig.html#addparticipant" class="tsd-kind-icon">add<wbr>Participant</a>
817
+ </li>
818
+ <li class=" tsd-kind-method tsd-parent-kind-class">
819
+ <a href="multisig.html#completetransaction" class="tsd-kind-icon">complete<wbr>Transaction</a>
820
+ </li>
821
+ <li class=" tsd-kind-method tsd-parent-kind-class">
822
+ <a href="multisig.html#generatepartialkeyimages" class="tsd-kind-icon">generate<wbr>Partial<wbr>Key<wbr>Images</a>
823
+ </li>
824
+ <li class=" tsd-kind-method tsd-parent-kind-class">
825
+ <a href="multisig.html#generatepartialsigningkeys" class="tsd-kind-icon">generate<wbr>Partial<wbr>Signing<wbr>Keys</a>
826
+ </li>
827
+ <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-static">
828
+ <a href="multisig.html#exchangeroundsrequired" class="tsd-kind-icon">exchange<wbr>Rounds<wbr>Required</a>
829
+ </li>
830
+ <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-static">
831
+ <a href="multisig.html#fromaddress" class="tsd-kind-icon">from<wbr>Address</a>
832
+ </li>
833
+ <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-static">
834
+ <a href="multisig.html#frommultisigkeys" class="tsd-kind-icon">from<wbr>Multisig<wbr>Keys</a>
835
+ </li>
836
+ <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-static">
837
+ <a href="multisig.html#isvalidthreshold" class="tsd-kind-icon">is<wbr>Valid<wbr>Threshold</a>
838
+ </li>
839
+ <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-static">
840
+ <a href="multisig.html#requiredsigningkeys" class="tsd-kind-icon">required<wbr>Signing<wbr>Keys</a>
841
+ </li>
842
+ <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-static">
843
+ <a href="multisig.html#restorekeyimage" class="tsd-kind-icon">restore<wbr>Key<wbr>Image</a>
844
+ </li>
845
+ </ul>
846
+ </li>
847
+ </ul>
848
+ <ul class="after-current">
849
+ <li class=" tsd-kind-class">
850
+ <a href="multisigmessage.html" class="tsd-kind-icon">Multisig<wbr>Message</a>
851
+ </li>
852
+ <li class=" tsd-kind-class">
853
+ <a href="parentblock.html" class="tsd-kind-icon">Parent<wbr>Block</a>
854
+ </li>
855
+ <li class=" tsd-kind-class">
856
+ <a href="transaction.html" class="tsd-kind-icon">Transaction</a>
857
+ </li>
858
+ </ul>
859
+ </nav>
860
+ </div>
861
+ </div>
862
+ </div>
863
+ <footer class="with-border-bottom">
864
+ <div class="container">
865
+ <h2>Legend</h2>
866
+ <div class="tsd-legend-group">
867
+ <ul class="tsd-legend">
868
+ <li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
869
+ <li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
870
+ <li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
871
+ <li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
872
+ <li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
873
+ <li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
874
+ <li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
875
+ <li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
876
+ </ul>
877
+ <ul class="tsd-legend">
878
+ <li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
879
+ <li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
880
+ <li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
881
+ <li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
882
+ </ul>
883
+ <ul class="tsd-legend">
884
+ <li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
885
+ <li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
886
+ <li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
887
+ <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
888
+ <li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
889
+ <li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
890
+ </ul>
891
+ <ul class="tsd-legend">
892
+ <li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
893
+ <li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
894
+ <li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
895
+ <li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
896
+ <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
897
+ <li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
898
+ <li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
899
+ </ul>
900
+ <ul class="tsd-legend">
901
+ <li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
902
+ <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
903
+ <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
904
+ <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
905
+ </ul>
906
+ <ul class="tsd-legend">
907
+ <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
908
+ <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
909
+ <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
910
+ </ul>
911
+ <ul class="tsd-legend">
912
+ <li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
913
+ <li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
914
+ <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
915
+ </ul>
916
+ <ul class="tsd-legend">
917
+ <li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
918
+ <li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
919
+ </ul>
920
+ </div>
921
+ </div>
922
+ </footer>
923
+ <div class="container tsd-generator">
924
+ <p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
925
+ </div>
926
+ <div class="overlay"></div>
927
+ <script src="../assets/js/main.js"></script>
928
+ <script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
929
+ </body>
930
+ </html>