nanook 0.7.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/CHANGELOG.md +26 -0
  4. data/Gemfile.lock +2 -2
  5. data/README.md +18 -7
  6. data/Rakefile +18 -0
  7. data/docs/0.7.0/apple-touch-icon.png +0 -0
  8. data/docs/0.7.0/classes/Nanook.html +572 -0
  9. data/docs/0.7.0/classes/Nanook/Account.html +909 -0
  10. data/docs/0.7.0/classes/Nanook/Block.html +717 -0
  11. data/docs/0.7.0/classes/Nanook/Error.html +84 -0
  12. data/docs/0.7.0/classes/Nanook/Key.html +253 -0
  13. data/docs/0.7.0/classes/Nanook/Node.html +657 -0
  14. data/docs/0.7.0/classes/Nanook/Rpc.html +247 -0
  15. data/docs/0.7.0/classes/Nanook/Util.html +197 -0
  16. data/docs/0.7.0/classes/Nanook/Wallet.html +986 -0
  17. data/docs/0.7.0/classes/Nanook/WalletAccount.html +446 -0
  18. data/docs/0.7.0/classes/Nanook/WorkPeer.html +294 -0
  19. data/docs/0.7.0/created.rid +14 -0
  20. data/docs/0.7.0/css/github.css +123 -0
  21. data/docs/0.7.0/css/main.css +374 -0
  22. data/docs/0.7.0/css/panel.css +360 -0
  23. data/docs/0.7.0/css/reset.css +48 -0
  24. data/docs/0.7.0/favicon.ico +0 -0
  25. data/docs/0.7.0/files/README_md.html +418 -0
  26. data/docs/0.7.0/files/lib/nanook/account_rb.html +89 -0
  27. data/docs/0.7.0/files/lib/nanook/block_rb.html +89 -0
  28. data/docs/0.7.0/files/lib/nanook/error_rb.html +89 -0
  29. data/docs/0.7.0/files/lib/nanook/key_rb.html +89 -0
  30. data/docs/0.7.0/files/lib/nanook/node_rb.html +89 -0
  31. data/docs/0.7.0/files/lib/nanook/rpc_rb.html +99 -0
  32. data/docs/0.7.0/files/lib/nanook/util_rb.html +89 -0
  33. data/docs/0.7.0/files/lib/nanook/version_rb.html +84 -0
  34. data/docs/0.7.0/files/lib/nanook/wallet_account_rb.html +89 -0
  35. data/docs/0.7.0/files/lib/nanook/wallet_rb.html +89 -0
  36. data/docs/0.7.0/files/lib/nanook/work_peer_rb.html +89 -0
  37. data/docs/0.7.0/files/lib/nanook_rb.html +94 -0
  38. data/docs/0.7.0/i/arrow-down.svg +8 -0
  39. data/docs/0.7.0/i/arrow-right.svg +8 -0
  40. data/docs/0.7.0/i/search.svg +12 -0
  41. data/docs/0.7.0/i/tree_bg.svg +8 -0
  42. data/docs/0.7.0/index.html +11 -0
  43. data/docs/0.7.0/js/highlight.pack.js +1 -0
  44. data/docs/0.7.0/js/jquery-1.3.2.min.js +19 -0
  45. data/docs/0.7.0/js/main.js +25 -0
  46. data/docs/0.7.0/js/navigation.js +142 -0
  47. data/docs/0.7.0/js/search_index.js +1 -0
  48. data/docs/0.7.0/js/searchdoc.js +465 -0
  49. data/docs/0.7.0/js/searcher.js +229 -0
  50. data/docs/0.7.0/panel/index.html +47 -0
  51. data/docs/0.7.0/panel/links.html +32 -0
  52. data/docs/0.7.0/panel/tree.js +1 -0
  53. data/docs/0.8.0/apple-touch-icon.png +0 -0
  54. data/docs/0.8.0/classes/Nanook.html +621 -0
  55. data/docs/0.8.0/classes/Nanook/Account.html +971 -0
  56. data/docs/0.8.0/classes/Nanook/Block.html +759 -0
  57. data/docs/0.8.0/classes/Nanook/Error.html +84 -0
  58. data/docs/0.8.0/classes/Nanook/Key.html +295 -0
  59. data/docs/0.8.0/classes/Nanook/Node.html +657 -0
  60. data/docs/0.8.0/classes/Nanook/Rpc.html +247 -0
  61. data/docs/0.8.0/classes/Nanook/Util.html +264 -0
  62. data/docs/0.8.0/classes/Nanook/Wallet.html +1056 -0
  63. data/docs/0.8.0/classes/Nanook/WalletAccount.html +582 -0
  64. data/docs/0.8.0/classes/Nanook/WorkPeer.html +294 -0
  65. data/docs/0.8.0/created.rid +14 -0
  66. data/docs/0.8.0/css/github.css +123 -0
  67. data/docs/0.8.0/css/main.css +374 -0
  68. data/docs/0.8.0/css/panel.css +360 -0
  69. data/docs/0.8.0/css/reset.css +48 -0
  70. data/docs/0.8.0/favicon.ico +0 -0
  71. data/docs/0.8.0/files/README_md.html +423 -0
  72. data/docs/0.8.0/files/lib/nanook/account_rb.html +89 -0
  73. data/docs/0.8.0/files/lib/nanook/block_rb.html +89 -0
  74. data/docs/0.8.0/files/lib/nanook/error_rb.html +89 -0
  75. data/docs/0.8.0/files/lib/nanook/key_rb.html +89 -0
  76. data/docs/0.8.0/files/lib/nanook/node_rb.html +89 -0
  77. data/docs/0.8.0/files/lib/nanook/rpc_rb.html +99 -0
  78. data/docs/0.8.0/files/lib/nanook/util_rb.html +97 -0
  79. data/docs/0.8.0/files/lib/nanook/version_rb.html +84 -0
  80. data/docs/0.8.0/files/lib/nanook/wallet_account_rb.html +89 -0
  81. data/docs/0.8.0/files/lib/nanook/wallet_rb.html +89 -0
  82. data/docs/0.8.0/files/lib/nanook/work_peer_rb.html +89 -0
  83. data/docs/0.8.0/files/lib/nanook_rb.html +94 -0
  84. data/docs/0.8.0/i/arrow-down.svg +8 -0
  85. data/docs/0.8.0/i/arrow-right.svg +8 -0
  86. data/docs/0.8.0/i/search.svg +12 -0
  87. data/docs/0.8.0/i/tree_bg.svg +8 -0
  88. data/docs/0.8.0/index.html +11 -0
  89. data/docs/0.8.0/js/highlight.pack.js +1 -0
  90. data/docs/0.8.0/js/jquery-1.3.2.min.js +19 -0
  91. data/docs/0.8.0/js/main.js +25 -0
  92. data/docs/0.8.0/js/navigation.js +142 -0
  93. data/docs/0.8.0/js/search_index.js +1 -0
  94. data/docs/0.8.0/js/searchdoc.js +465 -0
  95. data/docs/0.8.0/js/searcher.js +229 -0
  96. data/docs/0.8.0/panel/index.html +47 -0
  97. data/docs/0.8.0/panel/links.html +32 -0
  98. data/docs/0.8.0/panel/tree.js +1 -0
  99. data/docs/1.0.0/apple-touch-icon.png +0 -0
  100. data/docs/1.0.0/classes/Nanook.html +621 -0
  101. data/docs/1.0.0/classes/Nanook/Account.html +971 -0
  102. data/docs/1.0.0/classes/Nanook/Block.html +759 -0
  103. data/docs/1.0.0/classes/Nanook/Error.html +84 -0
  104. data/docs/1.0.0/classes/Nanook/Key.html +295 -0
  105. data/docs/1.0.0/classes/Nanook/Node.html +657 -0
  106. data/docs/1.0.0/classes/Nanook/Rpc.html +247 -0
  107. data/docs/1.0.0/classes/Nanook/Util.html +264 -0
  108. data/docs/1.0.0/classes/Nanook/Wallet.html +1056 -0
  109. data/docs/1.0.0/classes/Nanook/WalletAccount.html +582 -0
  110. data/docs/1.0.0/classes/Nanook/WorkPeer.html +294 -0
  111. data/docs/1.0.0/created.rid +14 -0
  112. data/docs/1.0.0/css/github.css +123 -0
  113. data/docs/1.0.0/css/main.css +374 -0
  114. data/docs/1.0.0/css/panel.css +360 -0
  115. data/docs/1.0.0/css/reset.css +48 -0
  116. data/docs/1.0.0/favicon.ico +0 -0
  117. data/docs/1.0.0/files/README_md.html +423 -0
  118. data/docs/1.0.0/files/lib/nanook/account_rb.html +89 -0
  119. data/docs/1.0.0/files/lib/nanook/block_rb.html +89 -0
  120. data/docs/1.0.0/files/lib/nanook/error_rb.html +89 -0
  121. data/docs/1.0.0/files/lib/nanook/key_rb.html +89 -0
  122. data/docs/1.0.0/files/lib/nanook/node_rb.html +89 -0
  123. data/docs/1.0.0/files/lib/nanook/rpc_rb.html +99 -0
  124. data/docs/1.0.0/files/lib/nanook/util_rb.html +97 -0
  125. data/docs/1.0.0/files/lib/nanook/version_rb.html +84 -0
  126. data/docs/1.0.0/files/lib/nanook/wallet_account_rb.html +89 -0
  127. data/docs/1.0.0/files/lib/nanook/wallet_rb.html +89 -0
  128. data/docs/1.0.0/files/lib/nanook/work_peer_rb.html +89 -0
  129. data/docs/1.0.0/files/lib/nanook_rb.html +94 -0
  130. data/docs/1.0.0/i/arrow-down.svg +8 -0
  131. data/docs/1.0.0/i/arrow-right.svg +8 -0
  132. data/docs/1.0.0/i/search.svg +12 -0
  133. data/docs/1.0.0/i/tree_bg.svg +8 -0
  134. data/docs/1.0.0/index.html +11 -0
  135. data/docs/1.0.0/js/highlight.pack.js +1 -0
  136. data/docs/1.0.0/js/jquery-1.3.2.min.js +19 -0
  137. data/docs/1.0.0/js/main.js +25 -0
  138. data/docs/1.0.0/js/navigation.js +142 -0
  139. data/docs/1.0.0/js/search_index.js +1 -0
  140. data/docs/1.0.0/js/searchdoc.js +465 -0
  141. data/docs/1.0.0/js/searcher.js +229 -0
  142. data/docs/1.0.0/panel/index.html +47 -0
  143. data/docs/1.0.0/panel/links.html +32 -0
  144. data/docs/1.0.0/panel/tree.js +1 -0
  145. data/docs/apple-touch-icon.png +0 -0
  146. data/docs/classes/Nanook.html +572 -0
  147. data/docs/classes/Nanook/Account.html +907 -0
  148. data/docs/classes/Nanook/Block.html +717 -0
  149. data/docs/classes/Nanook/Error.html +84 -0
  150. data/docs/classes/Nanook/Key.html +253 -0
  151. data/docs/classes/Nanook/Node.html +657 -0
  152. data/docs/classes/Nanook/Rpc.html +247 -0
  153. data/docs/classes/Nanook/Util.html +197 -0
  154. data/docs/classes/Nanook/Wallet.html +778 -0
  155. data/docs/classes/Nanook/WalletAccount.html +447 -0
  156. data/docs/classes/Nanook/WorkPeer.html +294 -0
  157. data/docs/created.rid +14 -0
  158. data/docs/css/github.css +123 -0
  159. data/docs/css/main.css +374 -0
  160. data/docs/css/panel.css +360 -0
  161. data/docs/css/reset.css +48 -0
  162. data/docs/favicon.ico +0 -0
  163. data/docs/files/README_md.html +408 -0
  164. data/docs/files/lib/nanook/account_rb.html +89 -0
  165. data/docs/files/lib/nanook/block_rb.html +89 -0
  166. data/docs/files/lib/nanook/error_rb.html +89 -0
  167. data/docs/files/lib/nanook/key_rb.html +89 -0
  168. data/docs/files/lib/nanook/node_rb.html +89 -0
  169. data/docs/files/lib/nanook/rpc_rb.html +99 -0
  170. data/docs/files/lib/nanook/util_rb.html +89 -0
  171. data/docs/files/lib/nanook/version_rb.html +84 -0
  172. data/docs/files/lib/nanook/wallet_account_rb.html +89 -0
  173. data/docs/files/lib/nanook/wallet_rb.html +89 -0
  174. data/docs/files/lib/nanook/work_peer_rb.html +89 -0
  175. data/docs/files/lib/nanook_rb.html +94 -0
  176. data/docs/i/arrow-down.svg +8 -0
  177. data/docs/i/arrow-right.svg +8 -0
  178. data/docs/i/search.svg +12 -0
  179. data/docs/i/tree_bg.svg +8 -0
  180. data/docs/index.html +11 -0
  181. data/docs/js/highlight.pack.js +1 -0
  182. data/docs/js/jquery-1.3.2.min.js +19 -0
  183. data/docs/js/main.js +25 -0
  184. data/docs/js/navigation.js +142 -0
  185. data/docs/js/search_index.js +1 -0
  186. data/docs/js/searchdoc.js +465 -0
  187. data/docs/js/searcher.js +229 -0
  188. data/docs/panel/index.html +47 -0
  189. data/docs/panel/links.html +32 -0
  190. data/docs/panel/tree.js +1 -0
  191. data/lib/nanook.rb +40 -4
  192. data/lib/nanook/account.rb +250 -8
  193. data/lib/nanook/block.rb +25 -2
  194. data/lib/nanook/key.rb +10 -2
  195. data/lib/nanook/node.rb +4 -0
  196. data/lib/nanook/rpc.rb +5 -1
  197. data/lib/nanook/util.rb +9 -1
  198. data/lib/nanook/version.rb +1 -1
  199. data/lib/nanook/wallet.rb +275 -14
  200. data/lib/nanook/wallet_account.rb +63 -11
  201. data/lib/nanook/work_peer.rb +4 -0
  202. metadata +188 -3
@@ -0,0 +1,1056 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <title>Nanook::Wallet</title>
5
+ <meta charset="UTF-8" />
6
+ <link rel="stylesheet" href="../../css/reset.css" type="text/css" media="screen" />
7
+ <link rel="stylesheet" href="../../css/main.css" type="text/css" media="screen" />
8
+ <link rel="stylesheet" href="../../css/github.css" type="text/css" media="screen" />
9
+ <script src="../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
10
+ <script src="../../js/main.js" type="text/javascript" charset="utf-8"></script>
11
+ <script src="../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script>
12
+
13
+
14
+ <meta property="og:title" value="Nanook::Wallet">
15
+
16
+
17
+
18
+ <meta name="description" content="The Nanook::Wallet class lets you manage your nano wallets, as well as some account-specific things like making and receiving payments.">
19
+ <meta property="og:description" content="The Nanook::Wallet class lets you manage your nano wallets, as well as some account-specific things like making and receiving payments.">
20
+
21
+
22
+ <meta name="keywords" content="Nanook::Wallet class">
23
+
24
+ <meta name="keywords" content="new, account, accounts, balance, change_seed, create, destroy, export, contains?, id, pay, receive, locked?, unlock, change_password">
25
+
26
+ </head>
27
+
28
+ <body>
29
+ <div class="banner">
30
+
31
+ <h1>
32
+ <span class="type">Class</span>
33
+ Nanook::Wallet
34
+
35
+ <span class="parent">&lt;
36
+
37
+ Object
38
+
39
+ </span>
40
+
41
+ </h1>
42
+ <ul class="files">
43
+
44
+ <li><a href="../../files/lib/nanook/wallet_rb.html">lib/nanook/wallet.rb</a></li>
45
+
46
+ </ul>
47
+ </div>
48
+ <div id="bodyContent">
49
+ <div id="content">
50
+
51
+ <div class="description">
52
+
53
+ <p>The <code>Nanook::Wallet</code> class lets you manage your nano wallets, as
54
+ well as some account-specific things like making and receiving payments.</p>
55
+
56
+ <p>Your wallets each have a seed, which is a 32-byte uppercase hex string that
57
+ looks like this:</p>
58
+
59
+ <pre><code>000D1BAEC8EC208142C99059B393051BAC8380F9B5A2E6B2489A277D81789F3F
60
+ </code></pre>
61
+
62
+ <p>You can think of this string as your API key to the nano network. The
63
+ person who knows it can do all read and write actions against the wallet
64
+ and all accounts inside the wallet from anywhere on the nano network, not
65
+ just on the node you created the wallet on. <strong>Make sure this key is
66
+ always secret and safe</strong>. Do not commit your seed into source
67
+ control.</p>
68
+
69
+ <h3 id="class-Nanook::Wallet-label-Initializing">Initializing</h3>
70
+
71
+ <p>Initialize this class through the convenient <a
72
+ href="../Nanook.html#method-i-wallet">Nanook#wallet</a> method:</p>
73
+
74
+ <pre><code>nanook = Nanook.new
75
+ wallet = nanook.wallet(wallet_seed)
76
+ </code></pre>
77
+
78
+ <p>Or compose the longhand way like this:</p>
79
+
80
+ <pre><code>rpc_conn = Nanook::Rpc.new
81
+ wallet = Nanook::Wallet.new(rpc_conn, wallet_seed)
82
+ </code></pre>
83
+
84
+ </div>
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+ <!-- Method ref -->
100
+ <div class="sectiontitle">Methods</div>
101
+ <dl class="methods">
102
+
103
+ <dt>A</dt>
104
+ <dd>
105
+ <ul>
106
+
107
+
108
+ <li>
109
+ <a href="#method-i-account">account</a>,
110
+ </li>
111
+
112
+
113
+ <li>
114
+ <a href="#method-i-accounts">accounts</a>
115
+ </li>
116
+
117
+ </ul>
118
+ </dd>
119
+
120
+ <dt>B</dt>
121
+ <dd>
122
+ <ul>
123
+
124
+
125
+ <li>
126
+ <a href="#method-i-balance">balance</a>
127
+ </li>
128
+
129
+ </ul>
130
+ </dd>
131
+
132
+ <dt>C</dt>
133
+ <dd>
134
+ <ul>
135
+
136
+
137
+ <li>
138
+ <a href="#method-i-change_password">change_password</a>,
139
+ </li>
140
+
141
+
142
+ <li>
143
+ <a href="#method-i-change_seed">change_seed</a>,
144
+ </li>
145
+
146
+
147
+ <li>
148
+ <a href="#method-i-contains-3F">contains?</a>,
149
+ </li>
150
+
151
+
152
+ <li>
153
+ <a href="#method-i-create">create</a>
154
+ </li>
155
+
156
+ </ul>
157
+ </dd>
158
+
159
+ <dt>D</dt>
160
+ <dd>
161
+ <ul>
162
+
163
+
164
+ <li>
165
+ <a href="#method-i-destroy">destroy</a>
166
+ </li>
167
+
168
+ </ul>
169
+ </dd>
170
+
171
+ <dt>E</dt>
172
+ <dd>
173
+ <ul>
174
+
175
+
176
+ <li>
177
+ <a href="#method-i-export">export</a>
178
+ </li>
179
+
180
+ </ul>
181
+ </dd>
182
+
183
+ <dt>I</dt>
184
+ <dd>
185
+ <ul>
186
+
187
+
188
+ <li>
189
+ <a href="#method-i-id">id</a>
190
+ </li>
191
+
192
+ </ul>
193
+ </dd>
194
+
195
+ <dt>L</dt>
196
+ <dd>
197
+ <ul>
198
+
199
+
200
+ <li>
201
+ <a href="#method-i-locked-3F">locked?</a>
202
+ </li>
203
+
204
+ </ul>
205
+ </dd>
206
+
207
+ <dt>N</dt>
208
+ <dd>
209
+ <ul>
210
+
211
+
212
+ <li>
213
+ <a href="#method-c-new">new</a>
214
+ </li>
215
+
216
+ </ul>
217
+ </dd>
218
+
219
+ <dt>P</dt>
220
+ <dd>
221
+ <ul>
222
+
223
+
224
+ <li>
225
+ <a href="#method-i-pay">pay</a>
226
+ </li>
227
+
228
+ </ul>
229
+ </dd>
230
+
231
+ <dt>R</dt>
232
+ <dd>
233
+ <ul>
234
+
235
+
236
+ <li>
237
+ <a href="#method-i-receive">receive</a>
238
+ </li>
239
+
240
+ </ul>
241
+ </dd>
242
+
243
+ <dt>U</dt>
244
+ <dd>
245
+ <ul>
246
+
247
+
248
+ <li>
249
+ <a href="#method-i-unlock">unlock</a>
250
+ </li>
251
+
252
+ </ul>
253
+ </dd>
254
+
255
+ </dl>
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+ <!-- Methods -->
275
+
276
+ <div class="sectiontitle">Class Public methods</div>
277
+
278
+ <div class="method">
279
+ <div class="title method-title" id="method-c-new">
280
+
281
+ <b>new</b>(rpc, wallet)
282
+
283
+ <a href="../../classes/Nanook/Wallet.html#method-c-new" name="method-c-new" class="permalink">Link</a>
284
+ </div>
285
+
286
+
287
+ <div class="description">
288
+
289
+ </div>
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+ <div class="sourcecode">
299
+
300
+ <p class="source-link">
301
+ Source:
302
+ <a href="javascript:toggleSource('method-c-new_source')" id="l_method-c-new_source">show</a>
303
+
304
+ </p>
305
+ <div id="method-c-new_source" class="dyn-source">
306
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 31</span>
307
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(<span class="ruby-identifier">rpc</span>, <span class="ruby-identifier">wallet</span>)
308
+ <span class="ruby-ivar">@rpc</span> = <span class="ruby-identifier">rpc</span>
309
+ <span class="ruby-ivar">@wallet</span> = <span class="ruby-identifier">wallet</span>
310
+ <span class="ruby-keyword">end</span></pre>
311
+ </div>
312
+ </div>
313
+
314
+ </div>
315
+
316
+
317
+
318
+ <div class="sectiontitle">Instance Public methods</div>
319
+
320
+ <div class="method">
321
+ <div class="title method-title" id="method-i-account">
322
+
323
+ <b>account</b>(account=nil)
324
+
325
+ <a href="../../classes/Nanook/Wallet.html#method-i-account" name="method-i-account" class="permalink">Link</a>
326
+ </div>
327
+
328
+
329
+ <div class="description">
330
+ <p>A convenient method that returns an account in your wallet, allowing you to
331
+ perform all the actions in <a
332
+ href="WalletAccount.html">Nanook::WalletAccount</a> on it.</p>
333
+
334
+ <pre><code>wallet.account(&quot;xrb_...&quot;) #=&gt; Nanook::WalletAccount instance
335
+ </code></pre>
336
+
337
+ <p>See <a href="WalletAccount.html">Nanook::WalletAccount</a>.</p>
338
+
339
+ <p>Will throw an ArgumentError if the wallet does not contain the account.</p>
340
+
341
+ <h4 id="method-i-account-label-Arguments">Arguments</h4>
342
+ <table class="rdoc-list label-list"><tbody><tr><td class='label'><code>account</code></td><td>
343
+ <p>Optional String of an account (starting with
344
+ <code>&quot;xrb...&quot;</code>) to start working with. Must be an account
345
+ within the wallet. When no account is given, the instance returned only
346
+ allows you to call <code>create</code> on it, to create a new account.
347
+ Otherwise, you must pass an account string for all other methods.</p>
348
+ </td></tr></tbody></table>
349
+
350
+ <h4 id="method-i-account-label-Examples">Examples</h4>
351
+
352
+ <pre><code>wallet.account.create # Creates an account in the wallet and returns a Nanook::WalletAccount
353
+ wallet.account(account_id) # Returns a Nanook::WalletAccount for the account
354
+ </code></pre>
355
+ </div>
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+ <div class="sourcecode">
365
+
366
+ <p class="source-link">
367
+ Source:
368
+ <a href="javascript:toggleSource('method-i-account_source')" id="l_method-i-account_source">show</a>
369
+
370
+ </p>
371
+ <div id="method-i-account_source" class="dyn-source">
372
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 57</span>
373
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">account</span>(<span class="ruby-identifier">account</span>=<span class="ruby-keyword">nil</span>)
374
+ <span class="ruby-constant">Nanook</span><span class="ruby-operator">::</span><span class="ruby-constant">WalletAccount</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@rpc</span>, <span class="ruby-ivar">@wallet</span>, <span class="ruby-identifier">account</span>)
375
+ <span class="ruby-keyword">end</span></pre>
376
+ </div>
377
+ </div>
378
+
379
+ </div>
380
+
381
+ <div class="method">
382
+ <div class="title method-title" id="method-i-accounts">
383
+
384
+ <b>accounts</b>()
385
+
386
+ <a href="../../classes/Nanook/Wallet.html#method-i-accounts" name="method-i-accounts" class="permalink">Link</a>
387
+ </div>
388
+
389
+
390
+ <div class="description">
391
+ <p>Returns an Array with Strings of all account ids in the wallet.</p>
392
+
393
+ <h4 id="method-i-accounts-label-Example+response">Example response</h4>
394
+
395
+ <pre><code>[
396
+ &quot;xrb_3e3j5tkog48pnny9dmfzj1r16pg8t1e76dz5tmac6iq689wyjfpi00000000&quot;,
397
+ &quot;xrb_1e5aqegc1jb7qe964u4adzmcezyo6o146zb8hm6dft8tkp79za3sxwjym5rx&quot;
398
+ ]
399
+ </code></pre>
400
+ </div>
401
+
402
+
403
+
404
+
405
+
406
+
407
+
408
+
409
+ <div class="sourcecode">
410
+
411
+ <p class="source-link">
412
+ Source:
413
+ <a href="javascript:toggleSource('method-i-accounts_source')" id="l_method-i-accounts_source">show</a>
414
+
415
+ </p>
416
+ <div id="method-i-accounts_source" class="dyn-source">
417
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 69</span>
418
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">accounts</span>
419
+ <span class="ruby-identifier">wallet_required!</span>
420
+ <span class="ruby-identifier">response</span> = <span class="ruby-identifier">rpc</span>(<span class="ruby-value">:account_list</span>)[<span class="ruby-value">:accounts</span>]
421
+ <span class="ruby-constant">Nanook</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">coerce_empty_string_to_type</span>(<span class="ruby-identifier">response</span>, <span class="ruby-constant">Array</span>)
422
+ <span class="ruby-keyword">end</span></pre>
423
+ </div>
424
+ </div>
425
+
426
+ </div>
427
+
428
+ <div class="method">
429
+ <div class="title method-title" id="method-i-balance">
430
+
431
+ <b>balance</b>(account_break_down: false, unit: Nanook::WalletAccount::DEFAULT_UNIT)
432
+
433
+ <a href="../../classes/Nanook/Wallet.html#method-i-balance" name="method-i-balance" class="permalink">Link</a>
434
+ </div>
435
+
436
+
437
+ <div class="description">
438
+
439
+ </div>
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+ <div class="sourcecode">
449
+
450
+ <p class="source-link">
451
+ Source:
452
+ <a href="javascript:toggleSource('method-i-balance_source')" id="l_method-i-balance_source">show</a>
453
+
454
+ </p>
455
+ <div id="method-i-balance_source" class="dyn-source">
456
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 126</span>
457
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">balance</span>(<span class="ruby-value">account_break_down:</span> <span class="ruby-keyword">false</span>, <span class="ruby-value">unit:</span> <span class="ruby-constant">Nanook</span><span class="ruby-operator">::</span><span class="ruby-constant">WalletAccount</span><span class="ruby-operator">::</span><span class="ruby-constant">DEFAULT_UNIT</span>)
458
+ <span class="ruby-identifier">wallet_required!</span>
459
+
460
+ <span class="ruby-keyword">unless</span> <span class="ruby-constant">Nanook</span><span class="ruby-operator">::</span><span class="ruby-constant">WalletAccount</span><span class="ruby-operator">::</span><span class="ruby-constant">UNITS</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">unit</span>)
461
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;Unsupported unit: #{unit}&quot;</span>)
462
+ <span class="ruby-keyword">end</span>
463
+
464
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">account_break_down</span>
465
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">Nanook</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">coerce_empty_string_to_type</span>(<span class="ruby-identifier">rpc</span>(<span class="ruby-value">:wallet_balances</span>)[<span class="ruby-value">:balances</span>], <span class="ruby-constant">Hash</span>).<span class="ruby-identifier">tap</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
466
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">unit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:nano</span>
467
+ <span class="ruby-identifier">r</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">account</span>, <span class="ruby-identifier">balances</span><span class="ruby-operator">|</span>
468
+ <span class="ruby-identifier">r</span>[<span class="ruby-identifier">account</span>][<span class="ruby-value">:balance</span>] = <span class="ruby-constant">Nanook</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">raw_to_NANO</span>(<span class="ruby-identifier">r</span>[<span class="ruby-identifier">account</span>][<span class="ruby-value">:balance</span>])
469
+ <span class="ruby-identifier">r</span>[<span class="ruby-identifier">account</span>][<span class="ruby-value">:pending</span>] = <span class="ruby-constant">Nanook</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">raw_to_NANO</span>(<span class="ruby-identifier">r</span>[<span class="ruby-identifier">account</span>][<span class="ruby-value">:balapendingnce</span>])
470
+ <span class="ruby-keyword">end</span>
471
+ <span class="ruby-keyword">end</span>
472
+ <span class="ruby-keyword">end</span>
473
+ <span class="ruby-keyword">end</span>
474
+
475
+ <span class="ruby-identifier">rpc</span>(<span class="ruby-value">:wallet_balance_total</span>).<span class="ruby-identifier">tap</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
476
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">unit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:nano</span>
477
+ <span class="ruby-identifier">r</span>[<span class="ruby-value">:balance</span>] = <span class="ruby-constant">Nanook</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">raw_to_NANO</span>(<span class="ruby-identifier">r</span>[<span class="ruby-value">:balance</span>])
478
+ <span class="ruby-identifier">r</span>[<span class="ruby-value">:pending</span>] = <span class="ruby-constant">Nanook</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">raw_to_NANO</span>(<span class="ruby-identifier">r</span>[<span class="ruby-value">:pending</span>])
479
+ <span class="ruby-keyword">end</span>
480
+ <span class="ruby-keyword">end</span>
481
+ <span class="ruby-keyword">end</span></pre>
482
+ </div>
483
+ </div>
484
+
485
+ </div>
486
+
487
+ <div class="method">
488
+ <div class="title method-title" id="method-i-change_password">
489
+
490
+ <b>change_password</b>(password)
491
+
492
+ <a href="../../classes/Nanook/Wallet.html#method-i-change_password" name="method-i-change_password" class="permalink">Link</a>
493
+ </div>
494
+
495
+
496
+ <div class="description">
497
+ <p>Changes the password for a wallet. Returns a boolean to indicate if the
498
+ action was successful.</p>
499
+
500
+ <h4 id="method-i-change_password-label-Example+response">Example response</h4>
501
+
502
+ <pre><code>true
503
+ </code></pre>
504
+ </div>
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+ <div class="sourcecode">
514
+
515
+ <p class="source-link">
516
+ Source:
517
+ <a href="javascript:toggleSource('method-i-change_password_source')" id="l_method-i-change_password_source">show</a>
518
+
519
+ </p>
520
+ <div id="method-i-change_password_source" class="dyn-source">
521
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 329</span>
522
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">change_password</span>(<span class="ruby-identifier">password</span>)
523
+ <span class="ruby-identifier">wallet_required!</span>
524
+ <span class="ruby-identifier">rpc</span>(<span class="ruby-value">:password_change</span>, <span class="ruby-value">password:</span> <span class="ruby-identifier">password</span>)[<span class="ruby-value">:changed</span>] <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
525
+ <span class="ruby-keyword">end</span></pre>
526
+ </div>
527
+ </div>
528
+
529
+ </div>
530
+
531
+ <div class="method">
532
+ <div class="title method-title" id="method-i-change_seed">
533
+
534
+ <b>change_seed</b>(seed)
535
+
536
+ <a href="../../classes/Nanook/Wallet.html#method-i-change_seed" name="method-i-change_seed" class="permalink">Link</a>
537
+ </div>
538
+
539
+
540
+ <div class="description">
541
+
542
+ </div>
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+ <div class="sourcecode">
552
+
553
+ <p class="source-link">
554
+ Source:
555
+ <a href="javascript:toggleSource('method-i-change_seed_source')" id="l_method-i-change_seed_source">show</a>
556
+
557
+ </p>
558
+ <div id="method-i-change_seed_source" class="dyn-source">
559
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 152</span>
560
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">change_seed</span>(<span class="ruby-identifier">seed</span>)
561
+ <span class="ruby-identifier">rpc</span>(<span class="ruby-value">:wallet_change_seed</span>).<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:success</span>)
562
+ <span class="ruby-keyword">end</span></pre>
563
+ </div>
564
+ </div>
565
+
566
+ </div>
567
+
568
+ <div class="method">
569
+ <div class="title method-title" id="method-i-contains-3F">
570
+
571
+ <b>contains?</b>(account)
572
+
573
+ <a href="../../classes/Nanook/Wallet.html#method-i-contains-3F" name="method-i-contains-3F" class="permalink">Link</a>
574
+ </div>
575
+
576
+
577
+ <div class="description">
578
+ <p>Returns boolean indicating if the wallet contains an account.</p>
579
+
580
+ <h4 id="method-i-contains-3F-label-Arguments">Arguments</h4>
581
+ <table class="rdoc-list label-list"><tbody><tr><td class='label'><code>account</code></td><td>
582
+ <p>String account id (will start with <code>&quot;xrb_...&quot;</code>)</p>
583
+ </td></tr></tbody></table>
584
+
585
+ <h4 id="method-i-contains-3F-label-Example+response">Example response</h4>
586
+
587
+ <pre><code>true
588
+ </code></pre>
589
+ </div>
590
+
591
+
592
+
593
+
594
+
595
+
596
+
597
+
598
+ <div class="sourcecode">
599
+
600
+ <p class="source-link">
601
+ Source:
602
+ <a href="javascript:toggleSource('method-i-contains-3F_source')" id="l_method-i-contains-3F_source">show</a>
603
+
604
+ </p>
605
+ <div id="method-i-contains-3F_source" class="dyn-source">
606
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 212</span>
607
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">contains?</span>(<span class="ruby-identifier">account</span>)
608
+ <span class="ruby-identifier">wallet_required!</span>
609
+ <span class="ruby-identifier">response</span> = <span class="ruby-identifier">rpc</span>(<span class="ruby-value">:wallet_contains</span>, <span class="ruby-value">account:</span> <span class="ruby-identifier">account</span>)
610
+ <span class="ruby-operator">!</span><span class="ruby-identifier">response</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">response</span>[<span class="ruby-value">:exists</span>] <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
611
+ <span class="ruby-keyword">end</span></pre>
612
+ </div>
613
+ </div>
614
+
615
+ </div>
616
+
617
+ <div class="method">
618
+ <div class="title method-title" id="method-i-create">
619
+
620
+ <b>create</b>()
621
+
622
+ <a href="../../classes/Nanook/Wallet.html#method-i-create" name="method-i-create" class="permalink">Link</a>
623
+ </div>
624
+
625
+
626
+ <div class="description">
627
+ <p>Creates a new wallet.</p>
628
+
629
+ <pre><code>Nanook.new.wallet.create
630
+ </code></pre>
631
+
632
+ <h4 id="method-i-create-label-Very+important">Very important</h4>
633
+
634
+ <p><strong>Please read this.</strong> The response of this method is a wallet
635
+ seed. A seed is a 32-byte uppercase hex string. You can think of this
636
+ string as your API key to the nano network. The person who knows it can do
637
+ all read and write actions against the wallet and all accounts inside the
638
+ wallet from anywhere on the nano network, not just on the node you created
639
+ the wallet on.</p>
640
+
641
+ <p>If you intend for your wallet to contain funds, then make sure that you
642
+ consider the seed that is returned as the key to your funds and store it
643
+ somewhere secret and safe. Only transmit the seed over secure (SSH or SSL)
644
+ networks and do not store it where it is able to be easily comprised by a
645
+ hacker, which includes your personal computer.</p>
646
+
647
+ <h4 id="method-i-create-label-Example+response-3A">Example response:</h4>
648
+
649
+ <pre><code>&quot;CC2C9846A44DB6F0363F647D12B957794AD937F59498D4E35C172C81E2888650&quot;
650
+ </code></pre>
651
+ </div>
652
+
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+ <div class="sourcecode">
661
+
662
+ <p class="source-link">
663
+ Source:
664
+ <a href="javascript:toggleSource('method-i-create_source')" id="l_method-i-create_source">show</a>
665
+
666
+ </p>
667
+ <div id="method-i-create_source" class="dyn-source">
668
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 179</span>
669
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">create</span>
670
+ <span class="ruby-identifier">rpc</span>(<span class="ruby-value">:wallet_create</span>)[<span class="ruby-value">:wallet</span>]
671
+ <span class="ruby-keyword">end</span></pre>
672
+ </div>
673
+ </div>
674
+
675
+ </div>
676
+
677
+ <div class="method">
678
+ <div class="title method-title" id="method-i-destroy">
679
+
680
+ <b>destroy</b>()
681
+
682
+ <a href="../../classes/Nanook/Wallet.html#method-i-destroy" name="method-i-destroy" class="permalink">Link</a>
683
+ </div>
684
+
685
+
686
+ <div class="description">
687
+ <p>Destroy the wallet. Returns a boolean indicating whether the action was
688
+ successful or not.</p>
689
+
690
+ <h4 id="method-i-destroy-label-Example+Response">Example Response</h4>
691
+
692
+ <pre><code>true
693
+ </code></pre>
694
+ </div>
695
+
696
+
697
+
698
+
699
+
700
+
701
+
702
+
703
+ <div class="sourcecode">
704
+
705
+ <p class="source-link">
706
+ Source:
707
+ <a href="javascript:toggleSource('method-i-destroy_source')" id="l_method-i-destroy_source">show</a>
708
+
709
+ </p>
710
+ <div id="method-i-destroy_source" class="dyn-source">
711
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 188</span>
712
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">destroy</span>
713
+ <span class="ruby-identifier">wallet_required!</span>
714
+ <span class="ruby-identifier">rpc</span>(<span class="ruby-value">:wallet_destroy</span>)
715
+ <span class="ruby-keyword">true</span>
716
+ <span class="ruby-keyword">end</span></pre>
717
+ </div>
718
+ </div>
719
+
720
+ </div>
721
+
722
+ <div class="method">
723
+ <div class="title method-title" id="method-i-export">
724
+
725
+ <b>export</b>()
726
+
727
+ <a href="../../classes/Nanook/Wallet.html#method-i-export" name="method-i-export" class="permalink">Link</a>
728
+ </div>
729
+
730
+
731
+ <div class="description">
732
+ <p>Generates a String containing a JSON representation of your wallet.</p>
733
+
734
+ <h4 id="method-i-export-label-Example+response">Example response</h4>
735
+
736
+ <pre><code>&quot;{\n \&quot;0000000000000000000000000000000000000000000000000000000000000000\&quot;: \&quot;0000000000000000000000000000000000000000000000000000000000000003\&quot;,\n \&quot;0000000000000000000000000000000000000000000000000000000000000001\&quot;: \&quot;C3A176FC3B90113277BFC91F55128FC9A1F1B6166A73E7446927CFFCA4C2C9D9\&quot;,\n \&quot;0000000000000000000000000000000000000000000000000000000000000002\&quot;: \&quot;3E58EC805B99C52B4715598BD332C234A1FBF1780577137E18F53B9B7F85F04B\&quot;,\n \&quot;0000000000000000000000000000000000000000000000000000000000000003\&quot;: \&quot;5FF8021122F3DEE0E4EC4241D35A3F41DEF63CCF6ADA66AF235DE857718498CD\&quot;,\n \&quot;0000000000000000000000000000000000000000000000000000000000000004\&quot;: \&quot;A30E0A32ED41C8607AA9212843392E853FCBCB4E7CB194E35C94F07F91DE59EF\&quot;,\n \&quot;0000000000000000000000000000000000000000000000000000000000000005\&quot;: \&quot;E707002E84143AA5F030A6DB8DD0C0480F2FFA75AB1FFD657EC22B5AA8E395D5\&quot;,\n \&quot;0000000000000000000000000000000000000000000000000000000000000006\&quot;: \&quot;0000000000000000000000000000000000000000000000000000000000000001\&quot;,\n \&quot;8646C0423160DEAEAA64034F9C6858F7A5C8A329E73E825A5B16814F6CCAFFE3\&quot;: \&quot;0000000000000000000000000000000000000000000000000000000100000000\&quot;\n}\n&quot;
737
+ </code></pre>
738
+ </div>
739
+
740
+
741
+
742
+
743
+
744
+
745
+
746
+
747
+ <div class="sourcecode">
748
+
749
+ <p class="source-link">
750
+ Source:
751
+ <a href="javascript:toggleSource('method-i-export_source')" id="l_method-i-export_source">show</a>
752
+
753
+ </p>
754
+ <div id="method-i-export_source" class="dyn-source">
755
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 199</span>
756
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">export</span>
757
+ <span class="ruby-identifier">wallet_required!</span>
758
+ <span class="ruby-identifier">rpc</span>(<span class="ruby-value">:wallet_export</span>)[<span class="ruby-value">:json</span>]
759
+ <span class="ruby-keyword">end</span></pre>
760
+ </div>
761
+ </div>
762
+
763
+ </div>
764
+
765
+ <div class="method">
766
+ <div class="title method-title" id="method-i-id">
767
+
768
+ <b>id</b>()
769
+
770
+ <a href="../../classes/Nanook/Wallet.html#method-i-id" name="method-i-id" class="permalink">Link</a>
771
+ </div>
772
+
773
+
774
+ <div class="description">
775
+
776
+ </div>
777
+
778
+
779
+
780
+
781
+
782
+
783
+
784
+
785
+ <div class="sourcecode">
786
+
787
+ <p class="source-link">
788
+ Source:
789
+ <a href="javascript:toggleSource('method-i-id_source')" id="l_method-i-id_source">show</a>
790
+
791
+ </p>
792
+ <div id="method-i-id_source" class="dyn-source">
793
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 218</span>
794
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">id</span>
795
+ <span class="ruby-ivar">@wallet</span>
796
+ <span class="ruby-keyword">end</span></pre>
797
+ </div>
798
+ </div>
799
+
800
+ </div>
801
+
802
+ <div class="method">
803
+ <div class="title method-title" id="method-i-locked-3F">
804
+
805
+ <b>locked?</b>()
806
+
807
+ <a href="../../classes/Nanook/Wallet.html#method-i-locked-3F" name="method-i-locked-3F" class="permalink">Link</a>
808
+ </div>
809
+
810
+
811
+ <div class="description">
812
+ <p>Returns a boolean to indicate if the wallet is locked.</p>
813
+
814
+ <h4 id="method-i-locked-3F-label-Example+response">Example response</h4>
815
+
816
+ <pre><code>true
817
+ </code></pre>
818
+ </div>
819
+
820
+
821
+
822
+
823
+
824
+
825
+
826
+
827
+ <div class="sourcecode">
828
+
829
+ <p class="source-link">
830
+ Source:
831
+ <a href="javascript:toggleSource('method-i-locked-3F_source')" id="l_method-i-locked-3F_source">show</a>
832
+
833
+ </p>
834
+ <div id="method-i-locked-3F_source" class="dyn-source">
835
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 306</span>
836
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">locked?</span>
837
+ <span class="ruby-identifier">wallet_required!</span>
838
+ <span class="ruby-identifier">response</span> = <span class="ruby-identifier">rpc</span>(<span class="ruby-value">:wallet_locked</span>)
839
+ <span class="ruby-operator">!</span><span class="ruby-identifier">response</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">response</span>[<span class="ruby-value">:locked</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
840
+ <span class="ruby-keyword">end</span></pre>
841
+ </div>
842
+ </div>
843
+
844
+ </div>
845
+
846
+ <div class="method">
847
+ <div class="title method-title" id="method-i-pay">
848
+
849
+ <b>pay</b>(from:, to:, amount:, unit: Nanook::WalletAccount::DEFAULT_UNIT, id:)
850
+
851
+ <a href="../../classes/Nanook/Wallet.html#method-i-pay" name="method-i-pay" class="permalink">Link</a>
852
+ </div>
853
+
854
+
855
+ <div class="description">
856
+ <p>Make a payment from an account in your wallet to another account on the
857
+ nano network. Returns a <em>send</em> block hash if successful, or an error
858
+ String if unsuccessful.</p>
859
+
860
+ <h4 id="method-i-pay-label-Arguments">Arguments</h4>
861
+ <table class="rdoc-list label-list"><tbody><tr><td class='label'><code>from:</code></td><td>
862
+ <p>String account id of an account in your wallet</p>
863
+ </td></tr><tr><td class='label'><code>to:</code></td><td>
864
+ <p>String account id of the recipient of your payment</p>
865
+ </td></tr><tr><td class='label'><code>amount:</code></td><td>
866
+ <p>Can be either an Integer or Float.</p>
867
+ </td></tr><tr><td class='label'><code>unit:</code></td><td>
868
+ <p>Symbol (default is <code>:nano</code>). Represents the unit that
869
+ <code>amount</code> is in. Must be either <code>:nano</code> or
870
+ <code>:raw</code>. (Note: this method interprets <code>:nano</code> as
871
+ NANO, which is technically Mnano See <a
872
+ href="https://nano.org/en/faq#what-are-nano-units-">What are Nano’s
873
+ Units</a>)</p>
874
+ </td></tr><tr><td class='label'><code>id:</code></td><td>
875
+ <p>String. Must be unique per payment. It serves an important purpose; it
876
+ allows you to make the same call multiple times with the same
877
+ <code>id</code> and be reassured that you will only ever send that nano
878
+ payment once.</p>
879
+ </td></tr></tbody></table>
880
+
881
+ <p>Note, there may be a delay in receiving a response due to Proof of Work
882
+ being done. From the <a
883
+ href="https://github.com/nanocurrency/raiblocks/wiki/RPC-protocol#account-create">Nano
884
+ RPC</a>:</p>
885
+
886
+ <p><em>Proof of Work is precomputed for one transaction in the background. If
887
+ it has been a while since your last transaction it will send instantly, the
888
+ next one will need to wait for Proof of Work to be generated.</em></p>
889
+
890
+ <h4 id="method-i-pay-label-Examples">Examples</h4>
891
+
892
+ <pre><code>wallet.pay(from: &quot;xrb_...&quot;, to: &quot;xrb_...&quot;, amount: 1.1, id: &quot;myUniqueId123&quot;)
893
+ wallet.pay(from: &quot;xrb_...&quot;, to: &quot;xrb_...&quot;, amount: 54000000000000, unit: :raw, id: &quot;myUniqueId123&quot;)
894
+ </code></pre>
895
+
896
+ <h4 id="method-i-pay-label-Example+responses">Example responses</h4>
897
+
898
+ <pre><code>&quot;718CC2121C3E641059BC1C2CFC45666C99E8AE922F7A807B7D07B62C995D79E2&quot;
899
+ </code></pre>
900
+
901
+ <p>Or:</p>
902
+
903
+ <pre><code>&quot;Account not found&quot;
904
+ </code></pre>
905
+ </div>
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+
914
+ <div class="sourcecode">
915
+
916
+ <p class="source-link">
917
+ Source:
918
+ <a href="javascript:toggleSource('method-i-pay_source')" id="l_method-i-pay_source">show</a>
919
+
920
+ </p>
921
+ <div id="method-i-pay_source" class="dyn-source">
922
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 259</span>
923
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">pay</span>(<span class="ruby-value">from:</span>, <span class="ruby-value">to:</span>, <span class="ruby-value">amount:</span>, <span class="ruby-value">unit:</span> <span class="ruby-constant">Nanook</span><span class="ruby-operator">::</span><span class="ruby-constant">WalletAccount</span><span class="ruby-operator">::</span><span class="ruby-constant">DEFAULT_UNIT</span>, <span class="ruby-value">id:</span>)
924
+ <span class="ruby-identifier">wallet_required!</span>
925
+ <span class="ruby-identifier">validate_wallet_contains_account!</span>(<span class="ruby-identifier">from</span>)
926
+ <span class="ruby-identifier">account</span>(<span class="ruby-identifier">from</span>).<span class="ruby-identifier">pay</span>(<span class="ruby-value">to:</span> <span class="ruby-identifier">to</span>, <span class="ruby-value">amount:</span> <span class="ruby-identifier">amount</span>, <span class="ruby-value">unit:</span> <span class="ruby-identifier">unit</span>, <span class="ruby-value">id:</span> <span class="ruby-identifier">id</span>)
927
+ <span class="ruby-keyword">end</span></pre>
928
+ </div>
929
+ </div>
930
+
931
+ </div>
932
+
933
+ <div class="method">
934
+ <div class="title method-title" id="method-i-receive">
935
+
936
+ <b>receive</b>(block=nil, into:)
937
+
938
+ <a href="../../classes/Nanook/Wallet.html#method-i-receive" name="method-i-receive" class="permalink">Link</a>
939
+ </div>
940
+
941
+
942
+ <div class="description">
943
+ <p>Receives a pending payment into an account in the wallet.</p>
944
+
945
+ <p>When called with no <code>block</code> argument, the latest pending payment
946
+ for the account will be received.</p>
947
+
948
+ <p>Returns a <em>receive</em> block hash if a receive was successful, or
949
+ <code>false</code> if there were no pending payments to receive.</p>
950
+
951
+ <p>You can also receive a specific pending block if you know it by passing the
952
+ block has in as an argument.</p>
953
+
954
+ <h4 id="method-i-receive-label-Arguments">Arguments</h4>
955
+ <table class="rdoc-list label-list"><tbody><tr><td class='label'><code>block</code></td><td>
956
+ <p>Optional block hash of pending payment. If not provided, the latest pending
957
+ payment will be received</p>
958
+ </td></tr><tr><td class='label'><code>into:</code></td><td>
959
+ <p>String account id of account in your wallet to receive the payment into</p>
960
+ </td></tr></tbody></table>
961
+
962
+ <h4 id="method-i-receive-label-Examples">Examples</h4>
963
+
964
+ <pre><code>wallet.receive(into: &quot;xrb...&quot;)
965
+ wallet.receive(&quot;718CC21...&quot;, into: &quot;xrb...&quot;)
966
+ </code></pre>
967
+
968
+ <h4 id="method-i-receive-label-Example+responses">Example responses</h4>
969
+
970
+ <pre><code>&quot;718CC2121C3E641059BC1C2CFC45666C99E8AE922F7A807B7D07B62C995D79E2&quot;
971
+ </code></pre>
972
+
973
+ <p>Or:</p>
974
+
975
+ <pre><code>false
976
+ </code></pre>
977
+ </div>
978
+
979
+
980
+
981
+
982
+
983
+
984
+
985
+
986
+ <div class="sourcecode">
987
+
988
+ <p class="source-link">
989
+ Source:
990
+ <a href="javascript:toggleSource('method-i-receive_source')" id="l_method-i-receive_source">show</a>
991
+
992
+ </p>
993
+ <div id="method-i-receive_source" class="dyn-source">
994
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 295</span>
995
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">receive</span>(<span class="ruby-identifier">block</span>=<span class="ruby-keyword">nil</span>, <span class="ruby-value">into:</span>)
996
+ <span class="ruby-identifier">wallet_required!</span>
997
+ <span class="ruby-identifier">validate_wallet_contains_account!</span>(<span class="ruby-identifier">into</span>)
998
+ <span class="ruby-identifier">account</span>(<span class="ruby-identifier">into</span>).<span class="ruby-identifier">receive</span>(<span class="ruby-identifier">block</span>)
999
+ <span class="ruby-keyword">end</span></pre>
1000
+ </div>
1001
+ </div>
1002
+
1003
+ </div>
1004
+
1005
+ <div class="method">
1006
+ <div class="title method-title" id="method-i-unlock">
1007
+
1008
+ <b>unlock</b>(password)
1009
+
1010
+ <a href="../../classes/Nanook/Wallet.html#method-i-unlock" name="method-i-unlock" class="permalink">Link</a>
1011
+ </div>
1012
+
1013
+
1014
+ <div class="description">
1015
+ <p>Unlocks a previously locked wallet. Returns a boolean to indicate if the
1016
+ action was successful.</p>
1017
+
1018
+ <h4 id="method-i-unlock-label-Example+response">Example response</h4>
1019
+
1020
+ <pre><code>true
1021
+ </code></pre>
1022
+ </div>
1023
+
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+ <div class="sourcecode">
1032
+
1033
+ <p class="source-link">
1034
+ Source:
1035
+ <a href="javascript:toggleSource('method-i-unlock_source')" id="l_method-i-unlock_source">show</a>
1036
+
1037
+ </p>
1038
+ <div id="method-i-unlock_source" class="dyn-source">
1039
+ <pre><span class="ruby-comment"># File lib/nanook/wallet.rb, line 318</span>
1040
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">unlock</span>(<span class="ruby-identifier">password</span>)
1041
+ <span class="ruby-identifier">wallet_required!</span>
1042
+ <span class="ruby-identifier">rpc</span>(<span class="ruby-value">:password_enter</span>, <span class="ruby-value">password:</span> <span class="ruby-identifier">password</span>)[<span class="ruby-value">:valid</span>] <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
1043
+ <span class="ruby-keyword">end</span></pre>
1044
+ </div>
1045
+ </div>
1046
+
1047
+ </div>
1048
+
1049
+
1050
+
1051
+
1052
+ </div>
1053
+
1054
+ </div>
1055
+ </body>
1056
+ </html>