@xyo-network/react-wallet 2.64.9 → 2.65.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 (378) hide show
  1. package/package.json +22 -22
  2. package/dist/browser/components/MaxAccounts/MaxAccountsTableRow.cjs +0 -110
  3. package/dist/browser/components/MaxAccounts/MaxAccountsTableRow.cjs.map +0 -1
  4. package/dist/browser/components/MaxAccounts/MaxAccountsTableRow.js +0 -89
  5. package/dist/browser/components/MaxAccounts/MaxAccountsTableRow.js.map +0 -1
  6. package/dist/browser/components/MaxAccounts/OutOfBoundsSnackBar.cjs +0 -52
  7. package/dist/browser/components/MaxAccounts/OutOfBoundsSnackBar.cjs.map +0 -1
  8. package/dist/browser/components/MaxAccounts/OutOfBoundsSnackBar.js +0 -31
  9. package/dist/browser/components/MaxAccounts/OutOfBoundsSnackBar.js.map +0 -1
  10. package/dist/browser/components/MaxAccounts/index.cjs +0 -112
  11. package/dist/browser/components/MaxAccounts/index.cjs.map +0 -1
  12. package/dist/browser/components/MaxAccounts/index.js +0 -89
  13. package/dist/browser/components/MaxAccounts/index.js.map +0 -1
  14. package/dist/browser/components/SeedPhrase/DefaultSeedPhrase.cjs +0 -56
  15. package/dist/browser/components/SeedPhrase/DefaultSeedPhrase.cjs.map +0 -1
  16. package/dist/browser/components/SeedPhrase/DefaultSeedPhrase.js +0 -35
  17. package/dist/browser/components/SeedPhrase/DefaultSeedPhrase.js.map +0 -1
  18. package/dist/browser/components/SeedPhrase/_shared/SeedPhraseIconButton.cjs +0 -56
  19. package/dist/browser/components/SeedPhrase/_shared/SeedPhraseIconButton.cjs.map +0 -1
  20. package/dist/browser/components/SeedPhrase/_shared/SeedPhraseIconButton.js +0 -46
  21. package/dist/browser/components/SeedPhrase/_shared/SeedPhraseIconButton.js.map +0 -1
  22. package/dist/browser/components/SeedPhrase/_shared/index.cjs +0 -58
  23. package/dist/browser/components/SeedPhrase/_shared/index.cjs.map +0 -1
  24. package/dist/browser/components/SeedPhrase/_shared/index.js +0 -46
  25. package/dist/browser/components/SeedPhrase/_shared/index.js.map +0 -1
  26. package/dist/browser/components/SeedPhrase/dialog/SeedPhraseDialog.cjs +0 -326
  27. package/dist/browser/components/SeedPhrase/dialog/SeedPhraseDialog.cjs.map +0 -1
  28. package/dist/browser/components/SeedPhrase/dialog/SeedPhraseDialog.js +0 -316
  29. package/dist/browser/components/SeedPhrase/dialog/SeedPhraseDialog.js.map +0 -1
  30. package/dist/browser/components/SeedPhrase/dialog/components/DialogActionButtons.cjs +0 -49
  31. package/dist/browser/components/SeedPhrase/dialog/components/DialogActionButtons.cjs.map +0 -1
  32. package/dist/browser/components/SeedPhrase/dialog/components/DialogActionButtons.js +0 -28
  33. package/dist/browser/components/SeedPhrase/dialog/components/DialogActionButtons.js.map +0 -1
  34. package/dist/browser/components/SeedPhrase/dialog/components/OverwriteWarning.cjs +0 -54
  35. package/dist/browser/components/SeedPhrase/dialog/components/OverwriteWarning.cjs.map +0 -1
  36. package/dist/browser/components/SeedPhrase/dialog/components/OverwriteWarning.js +0 -33
  37. package/dist/browser/components/SeedPhrase/dialog/components/OverwriteWarning.js.map +0 -1
  38. package/dist/browser/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.cjs +0 -118
  39. package/dist/browser/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.cjs.map +0 -1
  40. package/dist/browser/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.js +0 -97
  41. package/dist/browser/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.js.map +0 -1
  42. package/dist/browser/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.cjs +0 -103
  43. package/dist/browser/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.cjs.map +0 -1
  44. package/dist/browser/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.js +0 -82
  45. package/dist/browser/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.js.map +0 -1
  46. package/dist/browser/components/SeedPhrase/dialog/components/fields/index.cjs +0 -149
  47. package/dist/browser/components/SeedPhrase/dialog/components/fields/index.cjs.map +0 -1
  48. package/dist/browser/components/SeedPhrase/dialog/components/fields/index.js +0 -126
  49. package/dist/browser/components/SeedPhrase/dialog/components/fields/index.js.map +0 -1
  50. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.cjs +0 -33
  51. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.cjs.map +0 -1
  52. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.js +0 -12
  53. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.js.map +0 -1
  54. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.cjs +0 -56
  55. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.cjs.map +0 -1
  56. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.js +0 -35
  57. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.js.map +0 -1
  58. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.cjs +0 -36
  59. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.cjs.map +0 -1
  60. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.js +0 -15
  61. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.js.map +0 -1
  62. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/index.cjs +0 -81
  63. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/index.cjs.map +0 -1
  64. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/index.js +0 -58
  65. package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/index.js.map +0 -1
  66. package/dist/browser/components/SeedPhrase/dialog/components/index.cjs +0 -188
  67. package/dist/browser/components/SeedPhrase/dialog/components/index.cjs.map +0 -1
  68. package/dist/browser/components/SeedPhrase/dialog/components/index.js +0 -165
  69. package/dist/browser/components/SeedPhrase/dialog/components/index.js.map +0 -1
  70. package/dist/browser/components/SeedPhrase/dialog/index.cjs +0 -328
  71. package/dist/browser/components/SeedPhrase/dialog/index.cjs.map +0 -1
  72. package/dist/browser/components/SeedPhrase/dialog/index.js +0 -316
  73. package/dist/browser/components/SeedPhrase/dialog/index.js.map +0 -1
  74. package/dist/browser/components/SeedPhrase/index.cjs +0 -386
  75. package/dist/browser/components/SeedPhrase/index.cjs.map +0 -1
  76. package/dist/browser/components/SeedPhrase/index.js +0 -374
  77. package/dist/browser/components/SeedPhrase/index.js.map +0 -1
  78. package/dist/browser/components/SeedPhrase/settings/SeedPhraseTableRow.cjs +0 -350
  79. package/dist/browser/components/SeedPhrase/settings/SeedPhraseTableRow.cjs.map +0 -1
  80. package/dist/browser/components/SeedPhrase/settings/SeedPhraseTableRow.js +0 -340
  81. package/dist/browser/components/SeedPhrase/settings/SeedPhraseTableRow.js.map +0 -1
  82. package/dist/browser/components/SeedPhrase/settings/index.cjs +0 -352
  83. package/dist/browser/components/SeedPhrase/settings/index.cjs.map +0 -1
  84. package/dist/browser/components/SeedPhrase/settings/index.js +0 -340
  85. package/dist/browser/components/SeedPhrase/settings/index.js.map +0 -1
  86. package/dist/browser/components/WalletAccountDetails/WalletAccountDetails.cjs +0 -105
  87. package/dist/browser/components/WalletAccountDetails/WalletAccountDetails.cjs.map +0 -1
  88. package/dist/browser/components/WalletAccountDetails/WalletAccountDetails.js +0 -84
  89. package/dist/browser/components/WalletAccountDetails/WalletAccountDetails.js.map +0 -1
  90. package/dist/browser/components/WalletAccountDetails/index.cjs +0 -107
  91. package/dist/browser/components/WalletAccountDetails/index.cjs.map +0 -1
  92. package/dist/browser/components/WalletAccountDetails/index.js +0 -84
  93. package/dist/browser/components/WalletAccountDetails/index.js.map +0 -1
  94. package/dist/browser/components/WalletAccountSelect/Select.cjs +0 -168
  95. package/dist/browser/components/WalletAccountSelect/Select.cjs.map +0 -1
  96. package/dist/browser/components/WalletAccountSelect/Select.js +0 -147
  97. package/dist/browser/components/WalletAccountSelect/Select.js.map +0 -1
  98. package/dist/browser/components/WalletAccountSelect/SelectBar.cjs +0 -198
  99. package/dist/browser/components/WalletAccountSelect/SelectBar.cjs.map +0 -1
  100. package/dist/browser/components/WalletAccountSelect/SelectBar.js +0 -177
  101. package/dist/browser/components/WalletAccountSelect/SelectBar.js.map +0 -1
  102. package/dist/browser/components/WalletAccountSelect/WalletInfo.cjs +0 -207
  103. package/dist/browser/components/WalletAccountSelect/WalletInfo.cjs.map +0 -1
  104. package/dist/browser/components/WalletAccountSelect/WalletInfo.js +0 -186
  105. package/dist/browser/components/WalletAccountSelect/WalletInfo.js.map +0 -1
  106. package/dist/browser/components/WalletAccountSelect/index.cjs +0 -199
  107. package/dist/browser/components/WalletAccountSelect/index.cjs.map +0 -1
  108. package/dist/browser/components/WalletAccountSelect/index.js +0 -176
  109. package/dist/browser/components/WalletAccountSelect/index.js.map +0 -1
  110. package/dist/browser/components/index.cjs +0 -707
  111. package/dist/browser/components/index.cjs.map +0 -1
  112. package/dist/browser/components/index.js +0 -695
  113. package/dist/browser/components/index.js.map +0 -1
  114. package/dist/browser/contexts/SeedPhrase/Context.cjs +0 -28
  115. package/dist/browser/contexts/SeedPhrase/Context.cjs.map +0 -1
  116. package/dist/browser/contexts/SeedPhrase/Context.js +0 -7
  117. package/dist/browser/contexts/SeedPhrase/Context.js.map +0 -1
  118. package/dist/browser/contexts/SeedPhrase/Provider.cjs +0 -109
  119. package/dist/browser/contexts/SeedPhrase/Provider.cjs.map +0 -1
  120. package/dist/browser/contexts/SeedPhrase/Provider.js +0 -88
  121. package/dist/browser/contexts/SeedPhrase/Provider.js.map +0 -1
  122. package/dist/browser/contexts/SeedPhrase/State.cjs +0 -19
  123. package/dist/browser/contexts/SeedPhrase/State.cjs.map +0 -1
  124. package/dist/browser/contexts/SeedPhrase/State.js +0 -1
  125. package/dist/browser/contexts/SeedPhrase/State.js.map +0 -1
  126. package/dist/browser/contexts/SeedPhrase/index.cjs +0 -115
  127. package/dist/browser/contexts/SeedPhrase/index.cjs.map +0 -1
  128. package/dist/browser/contexts/SeedPhrase/index.js +0 -92
  129. package/dist/browser/contexts/SeedPhrase/index.js.map +0 -1
  130. package/dist/browser/contexts/SeedPhrase/use.cjs +0 -34
  131. package/dist/browser/contexts/SeedPhrase/use.cjs.map +0 -1
  132. package/dist/browser/contexts/SeedPhrase/use.js +0 -13
  133. package/dist/browser/contexts/SeedPhrase/use.js.map +0 -1
  134. package/dist/browser/contexts/Wallet/Context.cjs +0 -28
  135. package/dist/browser/contexts/Wallet/Context.cjs.map +0 -1
  136. package/dist/browser/contexts/Wallet/Context.js +0 -7
  137. package/dist/browser/contexts/Wallet/Context.js.map +0 -1
  138. package/dist/browser/contexts/Wallet/Provider.cjs +0 -160
  139. package/dist/browser/contexts/Wallet/Provider.cjs.map +0 -1
  140. package/dist/browser/contexts/Wallet/Provider.js +0 -139
  141. package/dist/browser/contexts/Wallet/Provider.js.map +0 -1
  142. package/dist/browser/contexts/Wallet/State.cjs +0 -19
  143. package/dist/browser/contexts/Wallet/State.cjs.map +0 -1
  144. package/dist/browser/contexts/Wallet/State.js +0 -1
  145. package/dist/browser/contexts/Wallet/State.js.map +0 -1
  146. package/dist/browser/contexts/Wallet/index.cjs +0 -207
  147. package/dist/browser/contexts/Wallet/index.cjs.map +0 -1
  148. package/dist/browser/contexts/Wallet/index.js +0 -184
  149. package/dist/browser/contexts/Wallet/index.js.map +0 -1
  150. package/dist/browser/contexts/Wallet/lib/WalletPath.cjs +0 -43
  151. package/dist/browser/contexts/Wallet/lib/WalletPath.cjs.map +0 -1
  152. package/dist/browser/contexts/Wallet/lib/WalletPath.js +0 -22
  153. package/dist/browser/contexts/Wallet/lib/WalletPath.js.map +0 -1
  154. package/dist/browser/contexts/Wallet/lib/index.cjs +0 -45
  155. package/dist/browser/contexts/Wallet/lib/index.cjs.map +0 -1
  156. package/dist/browser/contexts/Wallet/lib/index.js +0 -22
  157. package/dist/browser/contexts/Wallet/lib/index.js.map +0 -1
  158. package/dist/browser/contexts/Wallet/use.cjs +0 -67
  159. package/dist/browser/contexts/Wallet/use.cjs.map +0 -1
  160. package/dist/browser/contexts/Wallet/use.js +0 -46
  161. package/dist/browser/contexts/Wallet/use.js.map +0 -1
  162. package/dist/browser/contexts/Wallet/usePromise.cjs +0 -96
  163. package/dist/browser/contexts/Wallet/usePromise.cjs.map +0 -1
  164. package/dist/browser/contexts/Wallet/usePromise.js +0 -75
  165. package/dist/browser/contexts/Wallet/usePromise.js.map +0 -1
  166. package/dist/browser/contexts/index.cjs +0 -297
  167. package/dist/browser/contexts/index.cjs.map +0 -1
  168. package/dist/browser/contexts/index.js +0 -274
  169. package/dist/browser/contexts/index.js.map +0 -1
  170. package/dist/browser/hooks/index.cjs +0 -171
  171. package/dist/browser/hooks/index.cjs.map +0 -1
  172. package/dist/browser/hooks/index.js +0 -148
  173. package/dist/browser/hooks/index.js.map +0 -1
  174. package/dist/browser/hooks/useAccount.cjs +0 -81
  175. package/dist/browser/hooks/useAccount.cjs.map +0 -1
  176. package/dist/browser/hooks/useAccount.js +0 -60
  177. package/dist/browser/hooks/useAccount.js.map +0 -1
  178. package/dist/browser/hooks/useWallet.cjs +0 -90
  179. package/dist/browser/hooks/useWallet.cjs.map +0 -1
  180. package/dist/browser/hooks/useWallet.js +0 -69
  181. package/dist/browser/hooks/useWallet.js.map +0 -1
  182. package/dist/browser/hooks/useWallets.cjs +0 -102
  183. package/dist/browser/hooks/useWallets.cjs.map +0 -1
  184. package/dist/browser/hooks/useWallets.js +0 -81
  185. package/dist/browser/hooks/useWallets.js.map +0 -1
  186. package/dist/browser/hooks/useWrapperAccount.cjs +0 -51
  187. package/dist/browser/hooks/useWrapperAccount.cjs.map +0 -1
  188. package/dist/browser/hooks/useWrapperAccount.js +0 -30
  189. package/dist/browser/hooks/useWrapperAccount.js.map +0 -1
  190. package/dist/docs.json +0 -52099
  191. package/dist/node/components/MaxAccounts/MaxAccountsTableRow.cjs +0 -114
  192. package/dist/node/components/MaxAccounts/MaxAccountsTableRow.cjs.map +0 -1
  193. package/dist/node/components/MaxAccounts/MaxAccountsTableRow.js +0 -89
  194. package/dist/node/components/MaxAccounts/MaxAccountsTableRow.js.map +0 -1
  195. package/dist/node/components/MaxAccounts/OutOfBoundsSnackBar.cjs +0 -56
  196. package/dist/node/components/MaxAccounts/OutOfBoundsSnackBar.cjs.map +0 -1
  197. package/dist/node/components/MaxAccounts/OutOfBoundsSnackBar.js +0 -31
  198. package/dist/node/components/MaxAccounts/OutOfBoundsSnackBar.js.map +0 -1
  199. package/dist/node/components/MaxAccounts/index.cjs +0 -116
  200. package/dist/node/components/MaxAccounts/index.cjs.map +0 -1
  201. package/dist/node/components/MaxAccounts/index.js +0 -89
  202. package/dist/node/components/MaxAccounts/index.js.map +0 -1
  203. package/dist/node/components/SeedPhrase/DefaultSeedPhrase.cjs +0 -60
  204. package/dist/node/components/SeedPhrase/DefaultSeedPhrase.cjs.map +0 -1
  205. package/dist/node/components/SeedPhrase/DefaultSeedPhrase.js +0 -35
  206. package/dist/node/components/SeedPhrase/DefaultSeedPhrase.js.map +0 -1
  207. package/dist/node/components/SeedPhrase/_shared/SeedPhraseIconButton.cjs +0 -60
  208. package/dist/node/components/SeedPhrase/_shared/SeedPhraseIconButton.cjs.map +0 -1
  209. package/dist/node/components/SeedPhrase/_shared/SeedPhraseIconButton.js +0 -46
  210. package/dist/node/components/SeedPhrase/_shared/SeedPhraseIconButton.js.map +0 -1
  211. package/dist/node/components/SeedPhrase/_shared/index.cjs +0 -62
  212. package/dist/node/components/SeedPhrase/_shared/index.cjs.map +0 -1
  213. package/dist/node/components/SeedPhrase/_shared/index.js +0 -46
  214. package/dist/node/components/SeedPhrase/_shared/index.js.map +0 -1
  215. package/dist/node/components/SeedPhrase/dialog/SeedPhraseDialog.cjs +0 -334
  216. package/dist/node/components/SeedPhrase/dialog/SeedPhraseDialog.cjs.map +0 -1
  217. package/dist/node/components/SeedPhrase/dialog/SeedPhraseDialog.js +0 -319
  218. package/dist/node/components/SeedPhrase/dialog/SeedPhraseDialog.js.map +0 -1
  219. package/dist/node/components/SeedPhrase/dialog/components/DialogActionButtons.cjs +0 -53
  220. package/dist/node/components/SeedPhrase/dialog/components/DialogActionButtons.cjs.map +0 -1
  221. package/dist/node/components/SeedPhrase/dialog/components/DialogActionButtons.js +0 -28
  222. package/dist/node/components/SeedPhrase/dialog/components/DialogActionButtons.js.map +0 -1
  223. package/dist/node/components/SeedPhrase/dialog/components/OverwriteWarning.cjs +0 -58
  224. package/dist/node/components/SeedPhrase/dialog/components/OverwriteWarning.cjs.map +0 -1
  225. package/dist/node/components/SeedPhrase/dialog/components/OverwriteWarning.js +0 -33
  226. package/dist/node/components/SeedPhrase/dialog/components/OverwriteWarning.js.map +0 -1
  227. package/dist/node/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.cjs +0 -122
  228. package/dist/node/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.cjs.map +0 -1
  229. package/dist/node/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.js +0 -97
  230. package/dist/node/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.js.map +0 -1
  231. package/dist/node/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.cjs +0 -107
  232. package/dist/node/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.cjs.map +0 -1
  233. package/dist/node/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.js +0 -82
  234. package/dist/node/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.js.map +0 -1
  235. package/dist/node/components/SeedPhrase/dialog/components/fields/index.cjs +0 -154
  236. package/dist/node/components/SeedPhrase/dialog/components/fields/index.cjs.map +0 -1
  237. package/dist/node/components/SeedPhrase/dialog/components/fields/index.js +0 -126
  238. package/dist/node/components/SeedPhrase/dialog/components/fields/index.js.map +0 -1
  239. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.cjs +0 -37
  240. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.cjs.map +0 -1
  241. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.js +0 -12
  242. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.js.map +0 -1
  243. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.cjs +0 -60
  244. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.cjs.map +0 -1
  245. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.js +0 -35
  246. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.js.map +0 -1
  247. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.cjs +0 -40
  248. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.cjs.map +0 -1
  249. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.js +0 -15
  250. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.js.map +0 -1
  251. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/index.cjs +0 -87
  252. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/index.cjs.map +0 -1
  253. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/index.js +0 -58
  254. package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/index.js.map +0 -1
  255. package/dist/node/components/SeedPhrase/dialog/components/index.cjs +0 -195
  256. package/dist/node/components/SeedPhrase/dialog/components/index.cjs.map +0 -1
  257. package/dist/node/components/SeedPhrase/dialog/components/index.js +0 -165
  258. package/dist/node/components/SeedPhrase/dialog/components/index.js.map +0 -1
  259. package/dist/node/components/SeedPhrase/dialog/index.cjs +0 -336
  260. package/dist/node/components/SeedPhrase/dialog/index.cjs.map +0 -1
  261. package/dist/node/components/SeedPhrase/dialog/index.js +0 -319
  262. package/dist/node/components/SeedPhrase/dialog/index.js.map +0 -1
  263. package/dist/node/components/SeedPhrase/index.cjs +0 -397
  264. package/dist/node/components/SeedPhrase/index.cjs.map +0 -1
  265. package/dist/node/components/SeedPhrase/index.js +0 -377
  266. package/dist/node/components/SeedPhrase/index.js.map +0 -1
  267. package/dist/node/components/SeedPhrase/settings/SeedPhraseTableRow.cjs +0 -357
  268. package/dist/node/components/SeedPhrase/settings/SeedPhraseTableRow.cjs.map +0 -1
  269. package/dist/node/components/SeedPhrase/settings/SeedPhraseTableRow.js +0 -343
  270. package/dist/node/components/SeedPhrase/settings/SeedPhraseTableRow.js.map +0 -1
  271. package/dist/node/components/SeedPhrase/settings/index.cjs +0 -359
  272. package/dist/node/components/SeedPhrase/settings/index.cjs.map +0 -1
  273. package/dist/node/components/SeedPhrase/settings/index.js +0 -343
  274. package/dist/node/components/SeedPhrase/settings/index.js.map +0 -1
  275. package/dist/node/components/WalletAccountDetails/WalletAccountDetails.cjs +0 -110
  276. package/dist/node/components/WalletAccountDetails/WalletAccountDetails.cjs.map +0 -1
  277. package/dist/node/components/WalletAccountDetails/WalletAccountDetails.js +0 -85
  278. package/dist/node/components/WalletAccountDetails/WalletAccountDetails.js.map +0 -1
  279. package/dist/node/components/WalletAccountDetails/index.cjs +0 -112
  280. package/dist/node/components/WalletAccountDetails/index.cjs.map +0 -1
  281. package/dist/node/components/WalletAccountDetails/index.js +0 -85
  282. package/dist/node/components/WalletAccountDetails/index.js.map +0 -1
  283. package/dist/node/components/WalletAccountSelect/Select.cjs +0 -173
  284. package/dist/node/components/WalletAccountSelect/Select.cjs.map +0 -1
  285. package/dist/node/components/WalletAccountSelect/Select.js +0 -148
  286. package/dist/node/components/WalletAccountSelect/Select.js.map +0 -1
  287. package/dist/node/components/WalletAccountSelect/SelectBar.cjs +0 -203
  288. package/dist/node/components/WalletAccountSelect/SelectBar.cjs.map +0 -1
  289. package/dist/node/components/WalletAccountSelect/SelectBar.js +0 -178
  290. package/dist/node/components/WalletAccountSelect/SelectBar.js.map +0 -1
  291. package/dist/node/components/WalletAccountSelect/WalletInfo.cjs +0 -219
  292. package/dist/node/components/WalletAccountSelect/WalletInfo.cjs.map +0 -1
  293. package/dist/node/components/WalletAccountSelect/WalletInfo.js +0 -188
  294. package/dist/node/components/WalletAccountSelect/WalletInfo.js.map +0 -1
  295. package/dist/node/components/WalletAccountSelect/index.cjs +0 -205
  296. package/dist/node/components/WalletAccountSelect/index.cjs.map +0 -1
  297. package/dist/node/components/WalletAccountSelect/index.js +0 -177
  298. package/dist/node/components/WalletAccountSelect/index.js.map +0 -1
  299. package/dist/node/components/index.cjs +0 -724
  300. package/dist/node/components/index.cjs.map +0 -1
  301. package/dist/node/components/index.js +0 -700
  302. package/dist/node/components/index.js.map +0 -1
  303. package/dist/node/contexts/SeedPhrase/Context.cjs +0 -32
  304. package/dist/node/contexts/SeedPhrase/Context.cjs.map +0 -1
  305. package/dist/node/contexts/SeedPhrase/Context.js +0 -7
  306. package/dist/node/contexts/SeedPhrase/Context.js.map +0 -1
  307. package/dist/node/contexts/SeedPhrase/Provider.cjs +0 -113
  308. package/dist/node/contexts/SeedPhrase/Provider.cjs.map +0 -1
  309. package/dist/node/contexts/SeedPhrase/Provider.js +0 -88
  310. package/dist/node/contexts/SeedPhrase/Provider.js.map +0 -1
  311. package/dist/node/contexts/SeedPhrase/State.cjs +0 -19
  312. package/dist/node/contexts/SeedPhrase/State.cjs.map +0 -1
  313. package/dist/node/contexts/SeedPhrase/State.js +0 -1
  314. package/dist/node/contexts/SeedPhrase/State.js.map +0 -1
  315. package/dist/node/contexts/SeedPhrase/index.cjs +0 -121
  316. package/dist/node/contexts/SeedPhrase/index.cjs.map +0 -1
  317. package/dist/node/contexts/SeedPhrase/index.js +0 -92
  318. package/dist/node/contexts/SeedPhrase/index.js.map +0 -1
  319. package/dist/node/contexts/SeedPhrase/use.cjs +0 -38
  320. package/dist/node/contexts/SeedPhrase/use.cjs.map +0 -1
  321. package/dist/node/contexts/SeedPhrase/use.js +0 -13
  322. package/dist/node/contexts/SeedPhrase/use.js.map +0 -1
  323. package/dist/node/contexts/Wallet/Context.cjs +0 -32
  324. package/dist/node/contexts/Wallet/Context.cjs.map +0 -1
  325. package/dist/node/contexts/Wallet/Context.js +0 -7
  326. package/dist/node/contexts/Wallet/Context.js.map +0 -1
  327. package/dist/node/contexts/Wallet/Provider.cjs +0 -164
  328. package/dist/node/contexts/Wallet/Provider.cjs.map +0 -1
  329. package/dist/node/contexts/Wallet/Provider.js +0 -139
  330. package/dist/node/contexts/Wallet/Provider.js.map +0 -1
  331. package/dist/node/contexts/Wallet/State.cjs +0 -19
  332. package/dist/node/contexts/Wallet/State.cjs.map +0 -1
  333. package/dist/node/contexts/Wallet/State.js +0 -1
  334. package/dist/node/contexts/Wallet/State.js.map +0 -1
  335. package/dist/node/contexts/Wallet/index.cjs +0 -221
  336. package/dist/node/contexts/Wallet/index.cjs.map +0 -1
  337. package/dist/node/contexts/Wallet/index.js +0 -184
  338. package/dist/node/contexts/Wallet/index.js.map +0 -1
  339. package/dist/node/contexts/Wallet/lib/WalletPath.cjs +0 -49
  340. package/dist/node/contexts/Wallet/lib/WalletPath.cjs.map +0 -1
  341. package/dist/node/contexts/Wallet/lib/WalletPath.js +0 -22
  342. package/dist/node/contexts/Wallet/lib/WalletPath.js.map +0 -1
  343. package/dist/node/contexts/Wallet/lib/index.cjs +0 -51
  344. package/dist/node/contexts/Wallet/lib/index.cjs.map +0 -1
  345. package/dist/node/contexts/Wallet/lib/index.js +0 -22
  346. package/dist/node/contexts/Wallet/lib/index.js.map +0 -1
  347. package/dist/node/contexts/Wallet/use.cjs +0 -76
  348. package/dist/node/contexts/Wallet/use.cjs.map +0 -1
  349. package/dist/node/contexts/Wallet/use.js +0 -46
  350. package/dist/node/contexts/Wallet/use.js.map +0 -1
  351. package/dist/node/contexts/Wallet/usePromise.cjs +0 -101
  352. package/dist/node/contexts/Wallet/usePromise.cjs.map +0 -1
  353. package/dist/node/contexts/Wallet/usePromise.js +0 -75
  354. package/dist/node/contexts/Wallet/usePromise.js.map +0 -1
  355. package/dist/node/contexts/index.cjs +0 -314
  356. package/dist/node/contexts/index.cjs.map +0 -1
  357. package/dist/node/contexts/index.js +0 -274
  358. package/dist/node/contexts/index.js.map +0 -1
  359. package/dist/node/hooks/index.cjs +0 -180
  360. package/dist/node/hooks/index.cjs.map +0 -1
  361. package/dist/node/hooks/index.js +0 -150
  362. package/dist/node/hooks/index.js.map +0 -1
  363. package/dist/node/hooks/useAccount.cjs +0 -86
  364. package/dist/node/hooks/useAccount.cjs.map +0 -1
  365. package/dist/node/hooks/useAccount.js +0 -61
  366. package/dist/node/hooks/useAccount.js.map +0 -1
  367. package/dist/node/hooks/useWallet.cjs +0 -95
  368. package/dist/node/hooks/useWallet.cjs.map +0 -1
  369. package/dist/node/hooks/useWallet.js +0 -70
  370. package/dist/node/hooks/useWallet.js.map +0 -1
  371. package/dist/node/hooks/useWallets.cjs +0 -107
  372. package/dist/node/hooks/useWallets.cjs.map +0 -1
  373. package/dist/node/hooks/useWallets.js +0 -82
  374. package/dist/node/hooks/useWallets.js.map +0 -1
  375. package/dist/node/hooks/useWrapperAccount.cjs +0 -55
  376. package/dist/node/hooks/useWrapperAccount.cjs.map +0 -1
  377. package/dist/node/hooks/useWrapperAccount.js +0 -30
  378. package/dist/node/hooks/useWrapperAccount.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/contexts/index.ts","../../../src/contexts/SeedPhrase/Context.ts","../../../src/contexts/SeedPhrase/Provider.tsx","../../../src/contexts/SeedPhrase/use.tsx","../../../src/contexts/Wallet/Context.ts","../../../src/contexts/Wallet/lib/WalletPath.ts","../../../src/contexts/Wallet/Provider.tsx","../../../src/contexts/Wallet/usePromise.ts","../../../src/contexts/Wallet/use.ts"],"sourcesContent":["export * from './SeedPhrase'\nexport * from './Wallet'\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { SeedPhraseContextState } from './State'\n\nexport const SeedPhraseContext = createContextEx<SeedPhraseContextState>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { generateMnemonic, validateMnemonic, wordlists } from '@xyo-network/bip39'\nimport { useEffect, useMemo, useState } from 'react'\n\nimport { SeedPhraseContext } from './Context'\n\nexport interface SeedPhraseProviderProps extends WithChildren {\n defaultPhrase?: string\n handleChangeSeedPhrase?: (phrase: string) => void\n open?: boolean\n saveCallback?: () => void\n seedPhrase?: string\n}\n\nexport const SeedPhraseProvider: React.FC<SeedPhraseProviderProps> = ({\n children,\n defaultPhrase,\n handleChangeSeedPhrase,\n saveCallback,\n seedPhrase,\n open,\n}) => {\n const [phrase, setPhrase] = useState<string | undefined>()\n const [overwriteWarning, setOverwriteWarning] = useState(false)\n\n useEffect(() => {\n setPhrase(defaultPhrase)\n }, [defaultPhrase])\n\n useEffect(() => {\n if (!open) {\n handleCancelOverwrite()\n }\n }, [open])\n\n useEffect(() => {\n if (seedPhrase || open) {\n setPhrase?.(seedPhrase ?? '')\n }\n }, [seedPhrase, open, setPhrase])\n\n const handleGenerate = () => {\n const mnemonic = generateMnemonic(wordlists.english, 256)\n setPhrase?.(mnemonic)\n setOverwriteWarning?.(false)\n }\n\n const handleCancelOverwrite = () => {\n setOverwriteWarning?.(false)\n }\n\n const handleClear = () => {\n setPhrase?.('')\n setOverwriteWarning?.(false)\n }\n\n const handleSave = () => {\n if (!overwriteWarning && seedPhrase && seedPhrase !== phrase) {\n setOverwriteWarning?.(true)\n } else {\n handleChangeSeedPhrase?.(phrase ?? '')\n saveCallback?.()\n }\n }\n\n const validate = (passedPhrase?: string) => {\n if (!passedPhrase) {\n return null\n }\n return validateMnemonic(passedPhrase, wordlists.english)\n }\n\n const validSeedPhrase = useMemo(() => validate?.(seedPhrase), [seedPhrase])\n const validPhrase = useMemo(() => validate?.(phrase), [phrase])\n\n return (\n <SeedPhraseContext.Provider\n value={{\n handleCancelOverwrite,\n handleChangeSeedPhrase,\n handleClear,\n handleGenerate,\n handleSave,\n overwriteWarning,\n phrase,\n provided: true,\n seedPhrase,\n setOverwriteWarning,\n setPhrase,\n validPhrase,\n validSeedPhrase,\n validate,\n }}\n >\n {children}\n </SeedPhraseContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { SeedPhraseContext } from './Context'\n\nexport const useSeedPhrase = () => useContextEx(SeedPhraseContext, 'SeedPhrase', true)\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { WalletContextState } from './State'\n\nexport const WalletContext = createContextEx<WalletContextState>()\n","export const Bip44 = {\n base: 'm',\n coin_type: {\n /* https://github.com/satoshilabs/slips/blob/master/slip-0044.md */\n bitcoin: \"0'\",\n bitcoinTestnet: \"1'\",\n ether: \"60'\",\n etherClassic: \"61'\",\n },\n purpose: \"44'\",\n}\n\nexport const WalletRootPath = `${Bip44.base}/${Bip44.purpose}/${Bip44.coin_type.ether}`\n\nexport const ethereumAccountPath = (index: number, hardened = true) => {\n return `${WalletRootPath}/${index}${hardened ? \"'\" : ''}/0`\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { WalletInstance } from '@xyo-network/wallet-model'\nimport { useEffect, useState } from 'react'\n\nimport { WalletContext } from './Context'\nimport { WalletRootPath } from './lib'\nimport { usePromise } from './usePromise'\n\nexport interface WalletProviderProps {\n basePath?: string\n defaultActiveAccountIndex?: number\n rootWallet?: WalletInstance | null\n}\n\nexport const WalletProvider: React.FC<WithChildren<WalletProviderProps>> = ({\n basePath = WalletRootPath,\n children,\n defaultActiveAccountIndex = 0,\n rootWallet = null,\n ...props\n}) => {\n const [activeAccountIndex, setActiveAccountIndex] = useState(defaultActiveAccountIndex)\n\n useEffect(() => {\n if (defaultActiveAccountIndex !== undefined) {\n setActiveAccountIndex(defaultActiveAccountIndex)\n }\n }, [defaultActiveAccountIndex])\n\n const [coinTypeWallet = null] = usePromise(async () => {\n // ensure the wallet has the proper base\n if (rootWallet) {\n if (!rootWallet?.path.includes(basePath)) {\n try {\n return await rootWallet?.derivePath(basePath)\n } catch (e) {\n console.error('Error setting proper wallet base path', e)\n }\n }\n } else {\n return undefined\n }\n }, [basePath, rootWallet])\n\n const [activeAccount = null] = usePromise(\n async () => await coinTypeWallet?.derivePath(activeAccountIndex.toString()),\n [coinTypeWallet, activeAccountIndex],\n )\n\n return (\n <WalletContext.Provider\n value={{\n activeAccount,\n activeAccountIndex,\n basePath,\n coinTypeWallet,\n provided: true,\n rootWallet,\n setActiveAccountIndex,\n }}\n {...props}\n >\n {children}\n </WalletContext.Provider>\n )\n}\n","// Inspired from https://github.com/bsonntag/react-use-promise\n\nimport { Mutex } from 'async-mutex'\nimport { DependencyList, useEffect, useMemo, useState } from 'react'\n\nexport enum State {\n pending = 'pending',\n rejected = 'rejected',\n resolved = 'resolved',\n}\n\n/**\n * usePromise -\n */\nexport const usePromise = <TResult>(\n promise: () => Promise<TResult | undefined>,\n dependencies: DependencyList,\n debug: string | undefined = undefined,\n): [TResult | undefined, Error | undefined, State | undefined] => {\n const [result, setResult] = useState<TResult>()\n const [error, setError] = useState<Error>()\n const [state, setState] = useState<State>(State.pending)\n const mutex = useMemo(() => {\n return new Mutex()\n }, [])\n\n if (debug) console.log(`usePromise [${debug}]: started [${typeof promise}]`)\n\n const promiseMemo: Promise<TResult | undefined> | undefined = useMemo(() => {\n try {\n if (debug) console.log(`usePromise [${debug}]: re-memo [${typeof promise}]`)\n setState(State.pending)\n return promise?.()\n } catch (e) {\n if (debug) console.log(`usePromise [${debug}]: useMemo rejection [${typeof promise}]`)\n setResult(undefined)\n setError(e as Error)\n setState(State.rejected)\n }\n }, dependencies)\n\n if (debug) console.log(`usePromise [${debug}] Main Function`)\n\n useEffect(() => {\n if (debug) console.log(`usePromise [${debug}] useEffect`)\n mutex\n ?.acquire()\n .then(() => {\n promiseMemo\n ?.then((payload) => {\n if (debug) console.log(`usePromise [${debug}] then`)\n setResult(payload)\n setError(undefined)\n setState(State.resolved)\n mutex?.release()\n })\n .catch((e) => {\n const error = e as Error\n console.error(`usePromise: ${error.message}`)\n setResult(undefined)\n setError(error)\n setState(State.rejected)\n mutex?.release()\n })\n })\n .catch((e) => {\n const error = e as Error\n console.error(`usePromise: ${error.message}`)\n setResult(undefined)\n setError(error)\n setState(State.rejected)\n mutex?.release()\n })\n return () => {\n if (debug) console.log(`usePromise [${debug}] useEffect callback`)\n }\n }, [...dependencies, promiseMemo])\n if (debug) console.log(`usePromise [${debug}] returning ${JSON.stringify([result, error, state], null, 2)}`)\n return [result, error, state]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { useContextEx, useProvided } from '@xyo-network/react-shared'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { WalletContext } from './Context'\n\nexport const useWalletContext = (required = true) => {\n return useContextEx(WalletContext, 'Wallet', required)\n}\n\nexport const useWalletProvided = () => {\n return useProvided(WalletContext)\n}\n\nexport const useCoinTypeWallet = (required = true): [WalletInstance | null | undefined, Error | undefined] => {\n const { coinTypeWallet } = useWalletContext(required)\n return [coinTypeWallet, undefined]\n}\n\nexport const useRootWallet = (required = true): [WalletInstance | null | undefined, Error | undefined] => {\n const { rootWallet } = useWalletContext(required)\n return [rootWallet, undefined]\n}\n\nexport const useIndexedWalletFromContext = (index: number, required = true): [WalletInstance | null | undefined, Error | undefined] => {\n const [coinTypeWallet] = useCoinTypeWallet(required)\n const [wallet] = usePromise(async () => (await coinTypeWallet?.derivePath(index.toString())) ?? coinTypeWallet, [coinTypeWallet, index])\n return [wallet, undefined]\n}\n\nexport const useSelectedWalletAccount = (required = true): [WalletInstance | null | undefined, Error | undefined] => {\n const { activeAccountIndex } = useWalletContext(required)\n //we pass in 0 as default since we can not call the hook optionally,\n //we resolve this false result by checking whether activeAccountIndex is defined before returning it\n const [account] = useIndexedWalletFromContext(activeAccountIndex ?? 0, required)\n if (activeAccountIndex === undefined && account === null) {\n return [null, undefined]\n } else {\n return [account, undefined]\n }\n}\n"],"mappings":"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","names":["import_react_shared","import_react_shared","import_react","import_react","error","import_jsx_runtime","import_react_shared"]}
@@ -1,274 +0,0 @@
1
- // src/contexts/SeedPhrase/Context.ts
2
- import { createContextEx } from "@xyo-network/react-shared";
3
- var SeedPhraseContext = createContextEx();
4
-
5
- // src/contexts/SeedPhrase/Provider.tsx
6
- import { generateMnemonic, validateMnemonic, wordlists } from "@xyo-network/bip39";
7
- import { useEffect, useMemo, useState } from "react";
8
- import { jsx } from "react/jsx-runtime";
9
- var SeedPhraseProvider = ({
10
- children,
11
- defaultPhrase,
12
- handleChangeSeedPhrase,
13
- saveCallback,
14
- seedPhrase,
15
- open
16
- }) => {
17
- const [phrase, setPhrase] = useState();
18
- const [overwriteWarning, setOverwriteWarning] = useState(false);
19
- useEffect(() => {
20
- setPhrase(defaultPhrase);
21
- }, [defaultPhrase]);
22
- useEffect(() => {
23
- if (!open) {
24
- handleCancelOverwrite();
25
- }
26
- }, [open]);
27
- useEffect(() => {
28
- if (seedPhrase || open) {
29
- setPhrase == null ? void 0 : setPhrase(seedPhrase ?? "");
30
- }
31
- }, [seedPhrase, open, setPhrase]);
32
- const handleGenerate = () => {
33
- const mnemonic = generateMnemonic(wordlists.english, 256);
34
- setPhrase == null ? void 0 : setPhrase(mnemonic);
35
- setOverwriteWarning == null ? void 0 : setOverwriteWarning(false);
36
- };
37
- const handleCancelOverwrite = () => {
38
- setOverwriteWarning == null ? void 0 : setOverwriteWarning(false);
39
- };
40
- const handleClear = () => {
41
- setPhrase == null ? void 0 : setPhrase("");
42
- setOverwriteWarning == null ? void 0 : setOverwriteWarning(false);
43
- };
44
- const handleSave = () => {
45
- if (!overwriteWarning && seedPhrase && seedPhrase !== phrase) {
46
- setOverwriteWarning == null ? void 0 : setOverwriteWarning(true);
47
- } else {
48
- handleChangeSeedPhrase == null ? void 0 : handleChangeSeedPhrase(phrase ?? "");
49
- saveCallback == null ? void 0 : saveCallback();
50
- }
51
- };
52
- const validate = (passedPhrase) => {
53
- if (!passedPhrase) {
54
- return null;
55
- }
56
- return validateMnemonic(passedPhrase, wordlists.english);
57
- };
58
- const validSeedPhrase = useMemo(() => validate == null ? void 0 : validate(seedPhrase), [seedPhrase]);
59
- const validPhrase = useMemo(() => validate == null ? void 0 : validate(phrase), [phrase]);
60
- return /* @__PURE__ */ jsx(
61
- SeedPhraseContext.Provider,
62
- {
63
- value: {
64
- handleCancelOverwrite,
65
- handleChangeSeedPhrase,
66
- handleClear,
67
- handleGenerate,
68
- handleSave,
69
- overwriteWarning,
70
- phrase,
71
- provided: true,
72
- seedPhrase,
73
- setOverwriteWarning,
74
- setPhrase,
75
- validPhrase,
76
- validSeedPhrase,
77
- validate
78
- },
79
- children
80
- }
81
- );
82
- };
83
-
84
- // src/contexts/SeedPhrase/use.tsx
85
- import { useContextEx } from "@xyo-network/react-shared";
86
- var useSeedPhrase = () => useContextEx(SeedPhraseContext, "SeedPhrase", true);
87
-
88
- // src/contexts/Wallet/Context.ts
89
- import { createContextEx as createContextEx2 } from "@xyo-network/react-shared";
90
- var WalletContext = createContextEx2();
91
-
92
- // src/contexts/Wallet/lib/WalletPath.ts
93
- var Bip44 = {
94
- base: "m",
95
- coin_type: {
96
- /* https://github.com/satoshilabs/slips/blob/master/slip-0044.md */
97
- bitcoin: "0'",
98
- bitcoinTestnet: "1'",
99
- ether: "60'",
100
- etherClassic: "61'"
101
- },
102
- purpose: "44'"
103
- };
104
- var WalletRootPath = `${Bip44.base}/${Bip44.purpose}/${Bip44.coin_type.ether}`;
105
- var ethereumAccountPath = (index, hardened = true) => {
106
- return `${WalletRootPath}/${index}${hardened ? "'" : ""}/0`;
107
- };
108
-
109
- // src/contexts/Wallet/Provider.tsx
110
- import { useEffect as useEffect3, useState as useState3 } from "react";
111
-
112
- // src/contexts/Wallet/usePromise.ts
113
- import { Mutex } from "async-mutex";
114
- import { useEffect as useEffect2, useMemo as useMemo2, useState as useState2 } from "react";
115
- var usePromise = (promise, dependencies, debug = void 0) => {
116
- const [result, setResult] = useState2();
117
- const [error, setError] = useState2();
118
- const [state, setState] = useState2("pending" /* pending */);
119
- const mutex = useMemo2(() => {
120
- return new Mutex();
121
- }, []);
122
- if (debug)
123
- console.log(`usePromise [${debug}]: started [${typeof promise}]`);
124
- const promiseMemo = useMemo2(() => {
125
- try {
126
- if (debug)
127
- console.log(`usePromise [${debug}]: re-memo [${typeof promise}]`);
128
- setState("pending" /* pending */);
129
- return promise == null ? void 0 : promise();
130
- } catch (e) {
131
- if (debug)
132
- console.log(`usePromise [${debug}]: useMemo rejection [${typeof promise}]`);
133
- setResult(void 0);
134
- setError(e);
135
- setState("rejected" /* rejected */);
136
- }
137
- }, dependencies);
138
- if (debug)
139
- console.log(`usePromise [${debug}] Main Function`);
140
- useEffect2(() => {
141
- if (debug)
142
- console.log(`usePromise [${debug}] useEffect`);
143
- mutex == null ? void 0 : mutex.acquire().then(() => {
144
- promiseMemo == null ? void 0 : promiseMemo.then((payload) => {
145
- if (debug)
146
- console.log(`usePromise [${debug}] then`);
147
- setResult(payload);
148
- setError(void 0);
149
- setState("resolved" /* resolved */);
150
- mutex == null ? void 0 : mutex.release();
151
- }).catch((e) => {
152
- const error2 = e;
153
- console.error(`usePromise: ${error2.message}`);
154
- setResult(void 0);
155
- setError(error2);
156
- setState("rejected" /* rejected */);
157
- mutex == null ? void 0 : mutex.release();
158
- });
159
- }).catch((e) => {
160
- const error2 = e;
161
- console.error(`usePromise: ${error2.message}`);
162
- setResult(void 0);
163
- setError(error2);
164
- setState("rejected" /* rejected */);
165
- mutex == null ? void 0 : mutex.release();
166
- });
167
- return () => {
168
- if (debug)
169
- console.log(`usePromise [${debug}] useEffect callback`);
170
- };
171
- }, [...dependencies, promiseMemo]);
172
- if (debug)
173
- console.log(`usePromise [${debug}] returning ${JSON.stringify([result, error, state], null, 2)}`);
174
- return [result, error, state];
175
- };
176
-
177
- // src/contexts/Wallet/Provider.tsx
178
- import { jsx as jsx2 } from "react/jsx-runtime";
179
- var WalletProvider = ({
180
- basePath = WalletRootPath,
181
- children,
182
- defaultActiveAccountIndex = 0,
183
- rootWallet = null,
184
- ...props
185
- }) => {
186
- const [activeAccountIndex, setActiveAccountIndex] = useState3(defaultActiveAccountIndex);
187
- useEffect3(() => {
188
- if (defaultActiveAccountIndex !== void 0) {
189
- setActiveAccountIndex(defaultActiveAccountIndex);
190
- }
191
- }, [defaultActiveAccountIndex]);
192
- const [coinTypeWallet = null] = usePromise(async () => {
193
- if (rootWallet) {
194
- if (!(rootWallet == null ? void 0 : rootWallet.path.includes(basePath))) {
195
- try {
196
- return await (rootWallet == null ? void 0 : rootWallet.derivePath(basePath));
197
- } catch (e) {
198
- console.error("Error setting proper wallet base path", e);
199
- }
200
- }
201
- } else {
202
- return void 0;
203
- }
204
- }, [basePath, rootWallet]);
205
- const [activeAccount = null] = usePromise(
206
- async () => await (coinTypeWallet == null ? void 0 : coinTypeWallet.derivePath(activeAccountIndex.toString())),
207
- [coinTypeWallet, activeAccountIndex]
208
- );
209
- return /* @__PURE__ */ jsx2(
210
- WalletContext.Provider,
211
- {
212
- value: {
213
- activeAccount,
214
- activeAccountIndex,
215
- basePath,
216
- coinTypeWallet,
217
- provided: true,
218
- rootWallet,
219
- setActiveAccountIndex
220
- },
221
- ...props,
222
- children
223
- }
224
- );
225
- };
226
-
227
- // src/contexts/Wallet/use.ts
228
- import { usePromise as usePromise2 } from "@xylabs/react-promise";
229
- import { useContextEx as useContextEx2, useProvided } from "@xyo-network/react-shared";
230
- var useWalletContext = (required = true) => {
231
- return useContextEx2(WalletContext, "Wallet", required);
232
- };
233
- var useWalletProvided = () => {
234
- return useProvided(WalletContext);
235
- };
236
- var useCoinTypeWallet = (required = true) => {
237
- const { coinTypeWallet } = useWalletContext(required);
238
- return [coinTypeWallet, void 0];
239
- };
240
- var useRootWallet = (required = true) => {
241
- const { rootWallet } = useWalletContext(required);
242
- return [rootWallet, void 0];
243
- };
244
- var useIndexedWalletFromContext = (index, required = true) => {
245
- const [coinTypeWallet] = useCoinTypeWallet(required);
246
- const [wallet] = usePromise2(async () => await (coinTypeWallet == null ? void 0 : coinTypeWallet.derivePath(index.toString())) ?? coinTypeWallet, [coinTypeWallet, index]);
247
- return [wallet, void 0];
248
- };
249
- var useSelectedWalletAccount = (required = true) => {
250
- const { activeAccountIndex } = useWalletContext(required);
251
- const [account] = useIndexedWalletFromContext(activeAccountIndex ?? 0, required);
252
- if (activeAccountIndex === void 0 && account === null) {
253
- return [null, void 0];
254
- } else {
255
- return [account, void 0];
256
- }
257
- };
258
- export {
259
- Bip44,
260
- SeedPhraseContext,
261
- SeedPhraseProvider,
262
- WalletContext,
263
- WalletProvider,
264
- WalletRootPath,
265
- ethereumAccountPath,
266
- useCoinTypeWallet,
267
- useIndexedWalletFromContext,
268
- useRootWallet,
269
- useSeedPhrase,
270
- useSelectedWalletAccount,
271
- useWalletContext,
272
- useWalletProvided
273
- };
274
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/contexts/SeedPhrase/Context.ts","../../../src/contexts/SeedPhrase/Provider.tsx","../../../src/contexts/SeedPhrase/use.tsx","../../../src/contexts/Wallet/Context.ts","../../../src/contexts/Wallet/lib/WalletPath.ts","../../../src/contexts/Wallet/Provider.tsx","../../../src/contexts/Wallet/usePromise.ts","../../../src/contexts/Wallet/use.ts"],"sourcesContent":["import { createContextEx } from '@xyo-network/react-shared'\n\nimport { SeedPhraseContextState } from './State'\n\nexport const SeedPhraseContext = createContextEx<SeedPhraseContextState>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { generateMnemonic, validateMnemonic, wordlists } from '@xyo-network/bip39'\nimport { useEffect, useMemo, useState } from 'react'\n\nimport { SeedPhraseContext } from './Context'\n\nexport interface SeedPhraseProviderProps extends WithChildren {\n defaultPhrase?: string\n handleChangeSeedPhrase?: (phrase: string) => void\n open?: boolean\n saveCallback?: () => void\n seedPhrase?: string\n}\n\nexport const SeedPhraseProvider: React.FC<SeedPhraseProviderProps> = ({\n children,\n defaultPhrase,\n handleChangeSeedPhrase,\n saveCallback,\n seedPhrase,\n open,\n}) => {\n const [phrase, setPhrase] = useState<string | undefined>()\n const [overwriteWarning, setOverwriteWarning] = useState(false)\n\n useEffect(() => {\n setPhrase(defaultPhrase)\n }, [defaultPhrase])\n\n useEffect(() => {\n if (!open) {\n handleCancelOverwrite()\n }\n }, [open])\n\n useEffect(() => {\n if (seedPhrase || open) {\n setPhrase?.(seedPhrase ?? '')\n }\n }, [seedPhrase, open, setPhrase])\n\n const handleGenerate = () => {\n const mnemonic = generateMnemonic(wordlists.english, 256)\n setPhrase?.(mnemonic)\n setOverwriteWarning?.(false)\n }\n\n const handleCancelOverwrite = () => {\n setOverwriteWarning?.(false)\n }\n\n const handleClear = () => {\n setPhrase?.('')\n setOverwriteWarning?.(false)\n }\n\n const handleSave = () => {\n if (!overwriteWarning && seedPhrase && seedPhrase !== phrase) {\n setOverwriteWarning?.(true)\n } else {\n handleChangeSeedPhrase?.(phrase ?? '')\n saveCallback?.()\n }\n }\n\n const validate = (passedPhrase?: string) => {\n if (!passedPhrase) {\n return null\n }\n return validateMnemonic(passedPhrase, wordlists.english)\n }\n\n const validSeedPhrase = useMemo(() => validate?.(seedPhrase), [seedPhrase])\n const validPhrase = useMemo(() => validate?.(phrase), [phrase])\n\n return (\n <SeedPhraseContext.Provider\n value={{\n handleCancelOverwrite,\n handleChangeSeedPhrase,\n handleClear,\n handleGenerate,\n handleSave,\n overwriteWarning,\n phrase,\n provided: true,\n seedPhrase,\n setOverwriteWarning,\n setPhrase,\n validPhrase,\n validSeedPhrase,\n validate,\n }}\n >\n {children}\n </SeedPhraseContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { SeedPhraseContext } from './Context'\n\nexport const useSeedPhrase = () => useContextEx(SeedPhraseContext, 'SeedPhrase', true)\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { WalletContextState } from './State'\n\nexport const WalletContext = createContextEx<WalletContextState>()\n","export const Bip44 = {\n base: 'm',\n coin_type: {\n /* https://github.com/satoshilabs/slips/blob/master/slip-0044.md */\n bitcoin: \"0'\",\n bitcoinTestnet: \"1'\",\n ether: \"60'\",\n etherClassic: \"61'\",\n },\n purpose: \"44'\",\n}\n\nexport const WalletRootPath = `${Bip44.base}/${Bip44.purpose}/${Bip44.coin_type.ether}`\n\nexport const ethereumAccountPath = (index: number, hardened = true) => {\n return `${WalletRootPath}/${index}${hardened ? \"'\" : ''}/0`\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { WalletInstance } from '@xyo-network/wallet-model'\nimport { useEffect, useState } from 'react'\n\nimport { WalletContext } from './Context'\nimport { WalletRootPath } from './lib'\nimport { usePromise } from './usePromise'\n\nexport interface WalletProviderProps {\n basePath?: string\n defaultActiveAccountIndex?: number\n rootWallet?: WalletInstance | null\n}\n\nexport const WalletProvider: React.FC<WithChildren<WalletProviderProps>> = ({\n basePath = WalletRootPath,\n children,\n defaultActiveAccountIndex = 0,\n rootWallet = null,\n ...props\n}) => {\n const [activeAccountIndex, setActiveAccountIndex] = useState(defaultActiveAccountIndex)\n\n useEffect(() => {\n if (defaultActiveAccountIndex !== undefined) {\n setActiveAccountIndex(defaultActiveAccountIndex)\n }\n }, [defaultActiveAccountIndex])\n\n const [coinTypeWallet = null] = usePromise(async () => {\n // ensure the wallet has the proper base\n if (rootWallet) {\n if (!rootWallet?.path.includes(basePath)) {\n try {\n return await rootWallet?.derivePath(basePath)\n } catch (e) {\n console.error('Error setting proper wallet base path', e)\n }\n }\n } else {\n return undefined\n }\n }, [basePath, rootWallet])\n\n const [activeAccount = null] = usePromise(\n async () => await coinTypeWallet?.derivePath(activeAccountIndex.toString()),\n [coinTypeWallet, activeAccountIndex],\n )\n\n return (\n <WalletContext.Provider\n value={{\n activeAccount,\n activeAccountIndex,\n basePath,\n coinTypeWallet,\n provided: true,\n rootWallet,\n setActiveAccountIndex,\n }}\n {...props}\n >\n {children}\n </WalletContext.Provider>\n )\n}\n","// Inspired from https://github.com/bsonntag/react-use-promise\n\nimport { Mutex } from 'async-mutex'\nimport { DependencyList, useEffect, useMemo, useState } from 'react'\n\nexport enum State {\n pending = 'pending',\n rejected = 'rejected',\n resolved = 'resolved',\n}\n\n/**\n * usePromise -\n */\nexport const usePromise = <TResult>(\n promise: () => Promise<TResult | undefined>,\n dependencies: DependencyList,\n debug: string | undefined = undefined,\n): [TResult | undefined, Error | undefined, State | undefined] => {\n const [result, setResult] = useState<TResult>()\n const [error, setError] = useState<Error>()\n const [state, setState] = useState<State>(State.pending)\n const mutex = useMemo(() => {\n return new Mutex()\n }, [])\n\n if (debug) console.log(`usePromise [${debug}]: started [${typeof promise}]`)\n\n const promiseMemo: Promise<TResult | undefined> | undefined = useMemo(() => {\n try {\n if (debug) console.log(`usePromise [${debug}]: re-memo [${typeof promise}]`)\n setState(State.pending)\n return promise?.()\n } catch (e) {\n if (debug) console.log(`usePromise [${debug}]: useMemo rejection [${typeof promise}]`)\n setResult(undefined)\n setError(e as Error)\n setState(State.rejected)\n }\n }, dependencies)\n\n if (debug) console.log(`usePromise [${debug}] Main Function`)\n\n useEffect(() => {\n if (debug) console.log(`usePromise [${debug}] useEffect`)\n mutex\n ?.acquire()\n .then(() => {\n promiseMemo\n ?.then((payload) => {\n if (debug) console.log(`usePromise [${debug}] then`)\n setResult(payload)\n setError(undefined)\n setState(State.resolved)\n mutex?.release()\n })\n .catch((e) => {\n const error = e as Error\n console.error(`usePromise: ${error.message}`)\n setResult(undefined)\n setError(error)\n setState(State.rejected)\n mutex?.release()\n })\n })\n .catch((e) => {\n const error = e as Error\n console.error(`usePromise: ${error.message}`)\n setResult(undefined)\n setError(error)\n setState(State.rejected)\n mutex?.release()\n })\n return () => {\n if (debug) console.log(`usePromise [${debug}] useEffect callback`)\n }\n }, [...dependencies, promiseMemo])\n if (debug) console.log(`usePromise [${debug}] returning ${JSON.stringify([result, error, state], null, 2)}`)\n return [result, error, state]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { useContextEx, useProvided } from '@xyo-network/react-shared'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { WalletContext } from './Context'\n\nexport const useWalletContext = (required = true) => {\n return useContextEx(WalletContext, 'Wallet', required)\n}\n\nexport const useWalletProvided = () => {\n return useProvided(WalletContext)\n}\n\nexport const useCoinTypeWallet = (required = true): [WalletInstance | null | undefined, Error | undefined] => {\n const { coinTypeWallet } = useWalletContext(required)\n return [coinTypeWallet, undefined]\n}\n\nexport const useRootWallet = (required = true): [WalletInstance | null | undefined, Error | undefined] => {\n const { rootWallet } = useWalletContext(required)\n return [rootWallet, undefined]\n}\n\nexport const useIndexedWalletFromContext = (index: number, required = true): [WalletInstance | null | undefined, Error | undefined] => {\n const [coinTypeWallet] = useCoinTypeWallet(required)\n const [wallet] = usePromise(async () => (await coinTypeWallet?.derivePath(index.toString())) ?? coinTypeWallet, [coinTypeWallet, index])\n return [wallet, undefined]\n}\n\nexport const useSelectedWalletAccount = (required = true): [WalletInstance | null | undefined, Error | undefined] => {\n const { activeAccountIndex } = useWalletContext(required)\n //we pass in 0 as default since we can not call the hook optionally,\n //we resolve this false result by checking whether activeAccountIndex is defined before returning it\n const [account] = useIndexedWalletFromContext(activeAccountIndex ?? 0, required)\n if (activeAccountIndex === undefined && account === null) {\n return [null, undefined]\n } else {\n return [account, undefined]\n }\n}\n"],"mappings":"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","names":["createContextEx","useEffect","useState","useEffect","useMemo","useState","useState","useMemo","useEffect","error","jsx","useState","useEffect","usePromise","useContextEx","useContextEx","usePromise"]}
@@ -1,180 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/hooks/index.ts
21
- var hooks_exports = {};
22
- __export(hooks_exports, {
23
- useAccount: () => useAccount,
24
- useWallet: () => useWallet,
25
- useWallets: () => useWallets,
26
- useWrapperAccount: () => useWrapperAccount
27
- });
28
- module.exports = __toCommonJS(hooks_exports);
29
-
30
- // src/hooks/useAccount.ts
31
- var import_react_promise2 = require("@xylabs/react-promise");
32
- var import_react = require("react");
33
-
34
- // src/contexts/Wallet/Context.ts
35
- var import_react_shared = require("@xyo-network/react-shared");
36
- var WalletContext = (0, import_react_shared.createContextEx)();
37
-
38
- // src/contexts/Wallet/use.ts
39
- var import_react_promise = require("@xylabs/react-promise");
40
- var import_react_shared2 = require("@xyo-network/react-shared");
41
- var useWalletContext = (required = true) => {
42
- return (0, import_react_shared2.useContextEx)(WalletContext, "Wallet", required);
43
- };
44
- var useWalletProvided = () => {
45
- return (0, import_react_shared2.useProvided)(WalletContext);
46
- };
47
- var useCoinTypeWallet = (required = true) => {
48
- const { coinTypeWallet } = useWalletContext(required);
49
- return [coinTypeWallet, void 0];
50
- };
51
- var useIndexedWalletFromContext = (index, required = true) => {
52
- const [coinTypeWallet] = useCoinTypeWallet(required);
53
- const [wallet] = (0, import_react_promise.usePromise)(async () => await (coinTypeWallet == null ? void 0 : coinTypeWallet.derivePath(index.toString())) ?? coinTypeWallet, [coinTypeWallet, index]);
54
- return [wallet, void 0];
55
- };
56
- var useSelectedWalletAccount = (required = true) => {
57
- const { activeAccountIndex } = useWalletContext(required);
58
- const [account] = useIndexedWalletFromContext(activeAccountIndex ?? 0, required);
59
- if (activeAccountIndex === void 0 && account === null) {
60
- return [null, void 0];
61
- } else {
62
- return [account, void 0];
63
- }
64
- };
65
-
66
- // src/hooks/useAccount.ts
67
- var useAccount = ({ wallet, account, index, required = false } = {}) => {
68
- const walletContextProvided = useWalletProvided();
69
- const [validationError, setValidationError] = (0, import_react.useState)();
70
- if (wallet && account && !validationError) {
71
- setValidationError(Error("useAccount can not have both a wallet and an account in the parameters"));
72
- }
73
- if (index && account && !validationError) {
74
- setValidationError(Error("useAccount can not have both a index and an account in the parameters"));
75
- }
76
- const [error, setError] = (0, import_react.useState)();
77
- const [coinTypeWallet] = useCoinTypeWallet(!wallet && required);
78
- const { activeAccountIndex } = useWalletContext(false);
79
- const [activeAccount] = (0, import_react_promise2.usePromise)(async () => {
80
- var _a, _b;
81
- try {
82
- if (!validationError) {
83
- if (wallet) {
84
- return await ((_a = wallet == null ? void 0 : wallet.derivePath) == null ? void 0 : _a.call(wallet, `${index ?? 0}'\0`));
85
- } else if (coinTypeWallet) {
86
- return await ((_b = coinTypeWallet == null ? void 0 : coinTypeWallet.derivePath) == null ? void 0 : _b.call(coinTypeWallet, `${index ?? activeAccountIndex ?? 0}'\0`));
87
- }
88
- }
89
- } catch (ex) {
90
- const error2 = ex;
91
- console.error(error2.message);
92
- setError(error2);
93
- }
94
- }, [index, wallet, coinTypeWallet, activeAccountIndex, validationError]);
95
- if (validationError && !error) {
96
- console.error(validationError.message);
97
- setError(validationError);
98
- }
99
- return [error ? void 0 : account ?? activeAccount ?? walletContextProvided ? null : void 0, error];
100
- };
101
-
102
- // src/hooks/useWallet.ts
103
- var import_react_promise3 = require("@xylabs/react-promise");
104
- var import_account = require("@xyo-network/account");
105
- var import_react2 = require("react");
106
- var useWallet = ({ mnemonic, wallet, path, required = false, seed } = {}) => {
107
- const walletContextProvided = useWalletProvided();
108
- const [error, setError] = (0, import_react2.useState)();
109
- const [contextAccount] = useSelectedWalletAccount(!wallet && required);
110
- const [activeAccount] = (0, import_react_promise3.usePromise)(async () => {
111
- var _a;
112
- try {
113
- const newAccount = await (() => {
114
- if (wallet) {
115
- return wallet;
116
- } else if (mnemonic) {
117
- return import_account.HDWallet.fromMnemonic(mnemonic);
118
- } else if (seed) {
119
- return import_account.HDWallet.fromSeed(seed);
120
- }
121
- return contextAccount;
122
- })();
123
- if (path) {
124
- return (_a = newAccount == null ? void 0 : newAccount.derivePath) == null ? void 0 : _a.call(newAccount, path);
125
- } else {
126
- return newAccount ?? wallet;
127
- }
128
- } catch (ex) {
129
- setError(ex);
130
- }
131
- }, [mnemonic, contextAccount, seed, path, wallet]);
132
- return [activeAccount ?? (walletContextProvided ? null : activeAccount), error];
133
- };
134
-
135
- // src/hooks/useWallets.ts
136
- var import_react_promise4 = require("@xylabs/react-promise");
137
- var useWallets = ({ wallet, paths }) => {
138
- const walletContextProvided = useWalletProvided();
139
- const [foundWallet] = useWallet({ wallet });
140
- const [wallets, error] = (0, import_react_promise4.usePromise)(
141
- async () => foundWallet ? await Promise.all(paths.map((path) => foundWallet.derivePath(path))) : void 0,
142
- [foundWallet, paths]
143
- );
144
- return [wallets ?? (walletContextProvided ? null : wallets), error];
145
- };
146
-
147
- // src/hooks/useWrapperAccount.ts
148
- var import_react_promise5 = require("@xylabs/react-promise");
149
- var import_account2 = require("@xyo-network/account");
150
- var import_async_mutex = require("async-mutex");
151
- var globalWrapperWallet = void 0;
152
- var globalWrapperWalletMutex = new import_async_mutex.Mutex();
153
- var useWrapperAccount = (account) => {
154
- return (0, import_react_promise5.usePromise)(async () => {
155
- return await globalWrapperWalletMutex.runExclusive(async () => {
156
- if (account !== void 0) {
157
- return account;
158
- }
159
- if (globalWrapperWallet) {
160
- return globalWrapperWallet;
161
- }
162
- try {
163
- globalWrapperWallet = await import_account2.HDWallet.random();
164
- console.log(`Global Wrapper Wallet Creation Success: ${globalWrapperWallet.address}`);
165
- } catch (ex) {
166
- const error = ex;
167
- console.error(`Global Wrapper Wallet Creation Failed: ${error.message}`);
168
- }
169
- return globalWrapperWallet;
170
- });
171
- }, [account]);
172
- };
173
- // Annotate the CommonJS export names for ESM import in node:
174
- 0 && (module.exports = {
175
- useAccount,
176
- useWallet,
177
- useWallets,
178
- useWrapperAccount
179
- });
180
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/hooks/index.ts","../../../src/hooks/useAccount.ts","../../../src/contexts/Wallet/Context.ts","../../../src/contexts/Wallet/use.ts","../../../src/hooks/useWallet.ts","../../../src/hooks/useWallets.ts","../../../src/hooks/useWrapperAccount.ts"],"sourcesContent":["export * from './useAccount'\nexport * from './useWallet'\nexport * from './useWallets'\nexport * from './useWrapperAccount'\n","import { usePromise } from '@xylabs/react-promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { WalletInstance } from '@xyo-network/wallet-model'\nimport { useState } from 'react'\n\nimport { useCoinTypeWallet, useWalletContext, useWalletProvided } from '../contexts'\n\nexport interface AccountHookParams {\n account?: AccountInstance\n index?: number\n required?: boolean\n wallet?: WalletInstance\n}\n\nexport const useAccount = ({ wallet, account, index, required = false }: AccountHookParams = {}): [\n AccountInstance | null | undefined,\n Error | undefined,\n] => {\n const walletContextProvided = useWalletProvided()\n const [validationError, setValidationError] = useState<Error>()\n if (wallet && account && !validationError) {\n setValidationError(Error('useAccount can not have both a wallet and an account in the parameters'))\n }\n\n if (index && account && !validationError) {\n setValidationError(Error('useAccount can not have both a index and an account in the parameters'))\n }\n\n const [error, setError] = useState<Error>()\n const [coinTypeWallet] = useCoinTypeWallet(!wallet && required)\n const { activeAccountIndex } = useWalletContext(false)\n const [activeAccount] = usePromise(async () => {\n try {\n if (!validationError) {\n if (wallet) {\n return await wallet?.derivePath?.(`${index ?? 0}'\\0`)\n } else if (coinTypeWallet) {\n return await coinTypeWallet?.derivePath?.(`${index ?? activeAccountIndex ?? 0}'\\0`)\n }\n }\n } catch (ex) {\n const error = ex as Error\n console.error(error.message)\n setError(error)\n }\n }, [index, wallet, coinTypeWallet, activeAccountIndex, validationError])\n if (validationError && !error) {\n console.error(validationError.message)\n setError(validationError)\n }\n\n return [error ? undefined : account ?? activeAccount ?? walletContextProvided ? null : undefined, error]\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { WalletContextState } from './State'\n\nexport const WalletContext = createContextEx<WalletContextState>()\n","import { usePromise } from '@xylabs/react-promise'\nimport { useContextEx, useProvided } from '@xyo-network/react-shared'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { WalletContext } from './Context'\n\nexport const useWalletContext = (required = true) => {\n return useContextEx(WalletContext, 'Wallet', required)\n}\n\nexport const useWalletProvided = () => {\n return useProvided(WalletContext)\n}\n\nexport const useCoinTypeWallet = (required = true): [WalletInstance | null | undefined, Error | undefined] => {\n const { coinTypeWallet } = useWalletContext(required)\n return [coinTypeWallet, undefined]\n}\n\nexport const useRootWallet = (required = true): [WalletInstance | null | undefined, Error | undefined] => {\n const { rootWallet } = useWalletContext(required)\n return [rootWallet, undefined]\n}\n\nexport const useIndexedWalletFromContext = (index: number, required = true): [WalletInstance | null | undefined, Error | undefined] => {\n const [coinTypeWallet] = useCoinTypeWallet(required)\n const [wallet] = usePromise(async () => (await coinTypeWallet?.derivePath(index.toString())) ?? coinTypeWallet, [coinTypeWallet, index])\n return [wallet, undefined]\n}\n\nexport const useSelectedWalletAccount = (required = true): [WalletInstance | null | undefined, Error | undefined] => {\n const { activeAccountIndex } = useWalletContext(required)\n //we pass in 0 as default since we can not call the hook optionally,\n //we resolve this false result by checking whether activeAccountIndex is defined before returning it\n const [account] = useIndexedWalletFromContext(activeAccountIndex ?? 0, required)\n if (activeAccountIndex === undefined && account === null) {\n return [null, undefined]\n } else {\n return [account, undefined]\n }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { HDWallet } from '@xyo-network/account'\nimport { DataLike } from '@xyo-network/core'\nimport { WalletInstance } from '@xyo-network/wallet-model'\nimport { useState } from 'react'\n\nimport { useSelectedWalletAccount, useWalletProvided } from '../contexts'\n\nexport interface WalletHookParams {\n mnemonic?: string\n path?: string\n required?: boolean\n seed?: DataLike\n wallet?: WalletInstance | null\n}\n\nexport const useWallet = ({ mnemonic, wallet, path, required = false, seed }: WalletHookParams = {}): [\n WalletInstance | null | undefined,\n Error | undefined,\n] => {\n const walletContextProvided = useWalletProvided()\n const [error, setError] = useState<Error>()\n const [contextAccount] = useSelectedWalletAccount(!wallet && required)\n const [activeAccount] = usePromise(async () => {\n try {\n const newAccount = await (() => {\n if (wallet) {\n return wallet\n } else if (mnemonic) {\n return HDWallet.fromMnemonic(mnemonic as string)\n } else if (seed) {\n return HDWallet.fromSeed(seed)\n }\n return contextAccount\n })()\n\n if (path) {\n return newAccount?.derivePath?.(path)\n } else {\n return newAccount ?? wallet\n }\n } catch (ex) {\n setError(ex as Error)\n }\n }, [mnemonic, contextAccount, seed, path, wallet])\n return [activeAccount ?? (walletContextProvided ? null : activeAccount), error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { useWalletProvided } from '../contexts'\nimport { useWallet } from './useWallet'\n\nexport interface WalletsHookParams {\n paths: string[]\n wallet?: WalletInstance | null\n}\n\nexport const useWallets = ({ wallet, paths }: WalletsHookParams): [WalletInstance[] | null | undefined, Error | undefined] => {\n const walletContextProvided = useWalletProvided()\n const [foundWallet] = useWallet({ wallet })\n const [wallets, error] = usePromise(\n async () => (foundWallet ? await Promise.all(paths.map((path) => foundWallet.derivePath(path))) : undefined),\n [foundWallet, paths],\n )\n return [wallets ?? (walletContextProvided ? null : wallets), error]\n}\n","import { State as PromiseState, usePromise } from '@xylabs/react-promise'\nimport { HDWallet } from '@xyo-network/account'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { WalletInstance } from '@xyo-network/wallet-model'\nimport { Mutex } from 'async-mutex'\n\nlet globalWrapperWallet: WalletInstance | undefined = undefined\nconst globalWrapperWalletMutex = new Mutex()\n\nexport const useWrapperAccount = (\n account?: AccountInstance | null,\n): [AccountInstance | null | undefined, Error | undefined, PromiseState | undefined] => {\n return usePromise(async () => {\n return await globalWrapperWalletMutex.runExclusive(async () => {\n //if we are expecting to receive a wallet or did receive on, return the override account\n if (account !== undefined) {\n return account\n }\n\n if (globalWrapperWallet) {\n return globalWrapperWallet\n }\n\n try {\n globalWrapperWallet = await HDWallet.random()\n console.log(`Global Wrapper Wallet Creation Success: ${globalWrapperWallet.address}`)\n } catch (ex) {\n const error = ex as Error\n console.error(`Global Wrapper Wallet Creation Failed: ${error.message}`)\n }\n return globalWrapperWallet\n })\n }, [account])\n}\n"],"mappings":"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","names":["import_react_promise","import_react_shared","error","import_react_promise","import_react","import_react_promise","import_react_promise","import_account"]}