@xyo-network/react-wallet 2.64.8 → 2.64.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs.json +11897 -5393
- package/package.json +22 -22
- package/dist/browser/components/MaxAccounts/MaxAccountsTableRow.cjs +0 -110
- package/dist/browser/components/MaxAccounts/MaxAccountsTableRow.cjs.map +0 -1
- package/dist/browser/components/MaxAccounts/MaxAccountsTableRow.js +0 -89
- package/dist/browser/components/MaxAccounts/MaxAccountsTableRow.js.map +0 -1
- package/dist/browser/components/MaxAccounts/OutOfBoundsSnackBar.cjs +0 -52
- package/dist/browser/components/MaxAccounts/OutOfBoundsSnackBar.cjs.map +0 -1
- package/dist/browser/components/MaxAccounts/OutOfBoundsSnackBar.js +0 -31
- package/dist/browser/components/MaxAccounts/OutOfBoundsSnackBar.js.map +0 -1
- package/dist/browser/components/MaxAccounts/index.cjs +0 -112
- package/dist/browser/components/MaxAccounts/index.cjs.map +0 -1
- package/dist/browser/components/MaxAccounts/index.js +0 -89
- package/dist/browser/components/MaxAccounts/index.js.map +0 -1
- package/dist/browser/components/SeedPhrase/DefaultSeedPhrase.cjs +0 -56
- package/dist/browser/components/SeedPhrase/DefaultSeedPhrase.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/DefaultSeedPhrase.js +0 -35
- package/dist/browser/components/SeedPhrase/DefaultSeedPhrase.js.map +0 -1
- package/dist/browser/components/SeedPhrase/_shared/SeedPhraseIconButton.cjs +0 -56
- package/dist/browser/components/SeedPhrase/_shared/SeedPhraseIconButton.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/_shared/SeedPhraseIconButton.js +0 -46
- package/dist/browser/components/SeedPhrase/_shared/SeedPhraseIconButton.js.map +0 -1
- package/dist/browser/components/SeedPhrase/_shared/index.cjs +0 -58
- package/dist/browser/components/SeedPhrase/_shared/index.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/_shared/index.js +0 -46
- package/dist/browser/components/SeedPhrase/_shared/index.js.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/SeedPhraseDialog.cjs +0 -326
- package/dist/browser/components/SeedPhrase/dialog/SeedPhraseDialog.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/SeedPhraseDialog.js +0 -316
- package/dist/browser/components/SeedPhrase/dialog/SeedPhraseDialog.js.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/DialogActionButtons.cjs +0 -49
- package/dist/browser/components/SeedPhrase/dialog/components/DialogActionButtons.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/DialogActionButtons.js +0 -28
- package/dist/browser/components/SeedPhrase/dialog/components/DialogActionButtons.js.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/OverwriteWarning.cjs +0 -54
- package/dist/browser/components/SeedPhrase/dialog/components/OverwriteWarning.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/OverwriteWarning.js +0 -33
- package/dist/browser/components/SeedPhrase/dialog/components/OverwriteWarning.js.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.cjs +0 -118
- package/dist/browser/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.js +0 -97
- package/dist/browser/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.js.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.cjs +0 -103
- package/dist/browser/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.js +0 -82
- package/dist/browser/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.js.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/index.cjs +0 -149
- package/dist/browser/components/SeedPhrase/dialog/components/fields/index.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/index.js +0 -126
- package/dist/browser/components/SeedPhrase/dialog/components/fields/index.js.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.cjs +0 -33
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.js +0 -12
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.js.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.cjs +0 -56
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.js +0 -35
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.js.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.cjs +0 -36
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.js +0 -15
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.js.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/index.cjs +0 -81
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/index.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/index.js +0 -58
- package/dist/browser/components/SeedPhrase/dialog/components/fields/validation-messages/index.js.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/index.cjs +0 -188
- package/dist/browser/components/SeedPhrase/dialog/components/index.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/components/index.js +0 -165
- package/dist/browser/components/SeedPhrase/dialog/components/index.js.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/index.cjs +0 -328
- package/dist/browser/components/SeedPhrase/dialog/index.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/dialog/index.js +0 -316
- package/dist/browser/components/SeedPhrase/dialog/index.js.map +0 -1
- package/dist/browser/components/SeedPhrase/index.cjs +0 -386
- package/dist/browser/components/SeedPhrase/index.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/index.js +0 -374
- package/dist/browser/components/SeedPhrase/index.js.map +0 -1
- package/dist/browser/components/SeedPhrase/settings/SeedPhraseTableRow.cjs +0 -350
- package/dist/browser/components/SeedPhrase/settings/SeedPhraseTableRow.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/settings/SeedPhraseTableRow.js +0 -340
- package/dist/browser/components/SeedPhrase/settings/SeedPhraseTableRow.js.map +0 -1
- package/dist/browser/components/SeedPhrase/settings/index.cjs +0 -352
- package/dist/browser/components/SeedPhrase/settings/index.cjs.map +0 -1
- package/dist/browser/components/SeedPhrase/settings/index.js +0 -340
- package/dist/browser/components/SeedPhrase/settings/index.js.map +0 -1
- package/dist/browser/components/WalletAccountDetails/WalletAccountDetails.cjs +0 -105
- package/dist/browser/components/WalletAccountDetails/WalletAccountDetails.cjs.map +0 -1
- package/dist/browser/components/WalletAccountDetails/WalletAccountDetails.js +0 -84
- package/dist/browser/components/WalletAccountDetails/WalletAccountDetails.js.map +0 -1
- package/dist/browser/components/WalletAccountDetails/index.cjs +0 -107
- package/dist/browser/components/WalletAccountDetails/index.cjs.map +0 -1
- package/dist/browser/components/WalletAccountDetails/index.js +0 -84
- package/dist/browser/components/WalletAccountDetails/index.js.map +0 -1
- package/dist/browser/components/WalletAccountSelect/Select.cjs +0 -168
- package/dist/browser/components/WalletAccountSelect/Select.cjs.map +0 -1
- package/dist/browser/components/WalletAccountSelect/Select.js +0 -147
- package/dist/browser/components/WalletAccountSelect/Select.js.map +0 -1
- package/dist/browser/components/WalletAccountSelect/SelectBar.cjs +0 -198
- package/dist/browser/components/WalletAccountSelect/SelectBar.cjs.map +0 -1
- package/dist/browser/components/WalletAccountSelect/SelectBar.js +0 -177
- package/dist/browser/components/WalletAccountSelect/SelectBar.js.map +0 -1
- package/dist/browser/components/WalletAccountSelect/WalletInfo.cjs +0 -207
- package/dist/browser/components/WalletAccountSelect/WalletInfo.cjs.map +0 -1
- package/dist/browser/components/WalletAccountSelect/WalletInfo.js +0 -186
- package/dist/browser/components/WalletAccountSelect/WalletInfo.js.map +0 -1
- package/dist/browser/components/WalletAccountSelect/index.cjs +0 -199
- package/dist/browser/components/WalletAccountSelect/index.cjs.map +0 -1
- package/dist/browser/components/WalletAccountSelect/index.js +0 -176
- package/dist/browser/components/WalletAccountSelect/index.js.map +0 -1
- package/dist/browser/components/index.cjs +0 -707
- package/dist/browser/components/index.cjs.map +0 -1
- package/dist/browser/components/index.js +0 -695
- package/dist/browser/components/index.js.map +0 -1
- package/dist/browser/contexts/SeedPhrase/Context.cjs +0 -28
- package/dist/browser/contexts/SeedPhrase/Context.cjs.map +0 -1
- package/dist/browser/contexts/SeedPhrase/Context.js +0 -7
- package/dist/browser/contexts/SeedPhrase/Context.js.map +0 -1
- package/dist/browser/contexts/SeedPhrase/Provider.cjs +0 -109
- package/dist/browser/contexts/SeedPhrase/Provider.cjs.map +0 -1
- package/dist/browser/contexts/SeedPhrase/Provider.js +0 -88
- package/dist/browser/contexts/SeedPhrase/Provider.js.map +0 -1
- package/dist/browser/contexts/SeedPhrase/State.cjs +0 -19
- package/dist/browser/contexts/SeedPhrase/State.cjs.map +0 -1
- package/dist/browser/contexts/SeedPhrase/State.js +0 -1
- package/dist/browser/contexts/SeedPhrase/State.js.map +0 -1
- package/dist/browser/contexts/SeedPhrase/index.cjs +0 -115
- package/dist/browser/contexts/SeedPhrase/index.cjs.map +0 -1
- package/dist/browser/contexts/SeedPhrase/index.js +0 -92
- package/dist/browser/contexts/SeedPhrase/index.js.map +0 -1
- package/dist/browser/contexts/SeedPhrase/use.cjs +0 -34
- package/dist/browser/contexts/SeedPhrase/use.cjs.map +0 -1
- package/dist/browser/contexts/SeedPhrase/use.js +0 -13
- package/dist/browser/contexts/SeedPhrase/use.js.map +0 -1
- package/dist/browser/contexts/Wallet/Context.cjs +0 -28
- package/dist/browser/contexts/Wallet/Context.cjs.map +0 -1
- package/dist/browser/contexts/Wallet/Context.js +0 -7
- package/dist/browser/contexts/Wallet/Context.js.map +0 -1
- package/dist/browser/contexts/Wallet/Provider.cjs +0 -160
- package/dist/browser/contexts/Wallet/Provider.cjs.map +0 -1
- package/dist/browser/contexts/Wallet/Provider.js +0 -139
- package/dist/browser/contexts/Wallet/Provider.js.map +0 -1
- package/dist/browser/contexts/Wallet/State.cjs +0 -19
- package/dist/browser/contexts/Wallet/State.cjs.map +0 -1
- package/dist/browser/contexts/Wallet/State.js +0 -1
- package/dist/browser/contexts/Wallet/State.js.map +0 -1
- package/dist/browser/contexts/Wallet/index.cjs +0 -207
- package/dist/browser/contexts/Wallet/index.cjs.map +0 -1
- package/dist/browser/contexts/Wallet/index.js +0 -184
- package/dist/browser/contexts/Wallet/index.js.map +0 -1
- package/dist/browser/contexts/Wallet/lib/WalletPath.cjs +0 -43
- package/dist/browser/contexts/Wallet/lib/WalletPath.cjs.map +0 -1
- package/dist/browser/contexts/Wallet/lib/WalletPath.js +0 -22
- package/dist/browser/contexts/Wallet/lib/WalletPath.js.map +0 -1
- package/dist/browser/contexts/Wallet/lib/index.cjs +0 -45
- package/dist/browser/contexts/Wallet/lib/index.cjs.map +0 -1
- package/dist/browser/contexts/Wallet/lib/index.js +0 -22
- package/dist/browser/contexts/Wallet/lib/index.js.map +0 -1
- package/dist/browser/contexts/Wallet/use.cjs +0 -67
- package/dist/browser/contexts/Wallet/use.cjs.map +0 -1
- package/dist/browser/contexts/Wallet/use.js +0 -46
- package/dist/browser/contexts/Wallet/use.js.map +0 -1
- package/dist/browser/contexts/Wallet/usePromise.cjs +0 -96
- package/dist/browser/contexts/Wallet/usePromise.cjs.map +0 -1
- package/dist/browser/contexts/Wallet/usePromise.js +0 -75
- package/dist/browser/contexts/Wallet/usePromise.js.map +0 -1
- package/dist/browser/contexts/index.cjs +0 -297
- package/dist/browser/contexts/index.cjs.map +0 -1
- package/dist/browser/contexts/index.js +0 -274
- package/dist/browser/contexts/index.js.map +0 -1
- package/dist/browser/hooks/index.cjs +0 -171
- package/dist/browser/hooks/index.cjs.map +0 -1
- package/dist/browser/hooks/index.js +0 -148
- package/dist/browser/hooks/index.js.map +0 -1
- package/dist/browser/hooks/useAccount.cjs +0 -81
- package/dist/browser/hooks/useAccount.cjs.map +0 -1
- package/dist/browser/hooks/useAccount.js +0 -60
- package/dist/browser/hooks/useAccount.js.map +0 -1
- package/dist/browser/hooks/useWallet.cjs +0 -90
- package/dist/browser/hooks/useWallet.cjs.map +0 -1
- package/dist/browser/hooks/useWallet.js +0 -69
- package/dist/browser/hooks/useWallet.js.map +0 -1
- package/dist/browser/hooks/useWallets.cjs +0 -102
- package/dist/browser/hooks/useWallets.cjs.map +0 -1
- package/dist/browser/hooks/useWallets.js +0 -81
- package/dist/browser/hooks/useWallets.js.map +0 -1
- package/dist/browser/hooks/useWrapperAccount.cjs +0 -51
- package/dist/browser/hooks/useWrapperAccount.cjs.map +0 -1
- package/dist/browser/hooks/useWrapperAccount.js +0 -30
- package/dist/browser/hooks/useWrapperAccount.js.map +0 -1
- package/dist/node/components/MaxAccounts/MaxAccountsTableRow.cjs +0 -114
- package/dist/node/components/MaxAccounts/MaxAccountsTableRow.cjs.map +0 -1
- package/dist/node/components/MaxAccounts/MaxAccountsTableRow.js +0 -89
- package/dist/node/components/MaxAccounts/MaxAccountsTableRow.js.map +0 -1
- package/dist/node/components/MaxAccounts/OutOfBoundsSnackBar.cjs +0 -56
- package/dist/node/components/MaxAccounts/OutOfBoundsSnackBar.cjs.map +0 -1
- package/dist/node/components/MaxAccounts/OutOfBoundsSnackBar.js +0 -31
- package/dist/node/components/MaxAccounts/OutOfBoundsSnackBar.js.map +0 -1
- package/dist/node/components/MaxAccounts/index.cjs +0 -116
- package/dist/node/components/MaxAccounts/index.cjs.map +0 -1
- package/dist/node/components/MaxAccounts/index.js +0 -89
- package/dist/node/components/MaxAccounts/index.js.map +0 -1
- package/dist/node/components/SeedPhrase/DefaultSeedPhrase.cjs +0 -60
- package/dist/node/components/SeedPhrase/DefaultSeedPhrase.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/DefaultSeedPhrase.js +0 -35
- package/dist/node/components/SeedPhrase/DefaultSeedPhrase.js.map +0 -1
- package/dist/node/components/SeedPhrase/_shared/SeedPhraseIconButton.cjs +0 -60
- package/dist/node/components/SeedPhrase/_shared/SeedPhraseIconButton.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/_shared/SeedPhraseIconButton.js +0 -46
- package/dist/node/components/SeedPhrase/_shared/SeedPhraseIconButton.js.map +0 -1
- package/dist/node/components/SeedPhrase/_shared/index.cjs +0 -62
- package/dist/node/components/SeedPhrase/_shared/index.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/_shared/index.js +0 -46
- package/dist/node/components/SeedPhrase/_shared/index.js.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/SeedPhraseDialog.cjs +0 -334
- package/dist/node/components/SeedPhrase/dialog/SeedPhraseDialog.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/SeedPhraseDialog.js +0 -319
- package/dist/node/components/SeedPhrase/dialog/SeedPhraseDialog.js.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/DialogActionButtons.cjs +0 -53
- package/dist/node/components/SeedPhrase/dialog/components/DialogActionButtons.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/DialogActionButtons.js +0 -28
- package/dist/node/components/SeedPhrase/dialog/components/DialogActionButtons.js.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/OverwriteWarning.cjs +0 -58
- package/dist/node/components/SeedPhrase/dialog/components/OverwriteWarning.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/OverwriteWarning.js +0 -33
- package/dist/node/components/SeedPhrase/dialog/components/OverwriteWarning.js.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.cjs +0 -122
- package/dist/node/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.js +0 -97
- package/dist/node/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.js.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.cjs +0 -107
- package/dist/node/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.js +0 -82
- package/dist/node/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.js.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/index.cjs +0 -154
- package/dist/node/components/SeedPhrase/dialog/components/fields/index.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/index.js +0 -126
- package/dist/node/components/SeedPhrase/dialog/components/fields/index.js.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.cjs +0 -37
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.js +0 -12
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.js.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.cjs +0 -60
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.js +0 -35
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/PhraseHeaderBox.js.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.cjs +0 -40
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.js +0 -15
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/colorParser.js.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/index.cjs +0 -87
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/index.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/index.js +0 -58
- package/dist/node/components/SeedPhrase/dialog/components/fields/validation-messages/index.js.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/index.cjs +0 -195
- package/dist/node/components/SeedPhrase/dialog/components/index.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/components/index.js +0 -165
- package/dist/node/components/SeedPhrase/dialog/components/index.js.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/index.cjs +0 -336
- package/dist/node/components/SeedPhrase/dialog/index.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/dialog/index.js +0 -319
- package/dist/node/components/SeedPhrase/dialog/index.js.map +0 -1
- package/dist/node/components/SeedPhrase/index.cjs +0 -397
- package/dist/node/components/SeedPhrase/index.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/index.js +0 -377
- package/dist/node/components/SeedPhrase/index.js.map +0 -1
- package/dist/node/components/SeedPhrase/settings/SeedPhraseTableRow.cjs +0 -357
- package/dist/node/components/SeedPhrase/settings/SeedPhraseTableRow.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/settings/SeedPhraseTableRow.js +0 -343
- package/dist/node/components/SeedPhrase/settings/SeedPhraseTableRow.js.map +0 -1
- package/dist/node/components/SeedPhrase/settings/index.cjs +0 -359
- package/dist/node/components/SeedPhrase/settings/index.cjs.map +0 -1
- package/dist/node/components/SeedPhrase/settings/index.js +0 -343
- package/dist/node/components/SeedPhrase/settings/index.js.map +0 -1
- package/dist/node/components/WalletAccountDetails/WalletAccountDetails.cjs +0 -110
- package/dist/node/components/WalletAccountDetails/WalletAccountDetails.cjs.map +0 -1
- package/dist/node/components/WalletAccountDetails/WalletAccountDetails.js +0 -85
- package/dist/node/components/WalletAccountDetails/WalletAccountDetails.js.map +0 -1
- package/dist/node/components/WalletAccountDetails/index.cjs +0 -112
- package/dist/node/components/WalletAccountDetails/index.cjs.map +0 -1
- package/dist/node/components/WalletAccountDetails/index.js +0 -85
- package/dist/node/components/WalletAccountDetails/index.js.map +0 -1
- package/dist/node/components/WalletAccountSelect/Select.cjs +0 -173
- package/dist/node/components/WalletAccountSelect/Select.cjs.map +0 -1
- package/dist/node/components/WalletAccountSelect/Select.js +0 -148
- package/dist/node/components/WalletAccountSelect/Select.js.map +0 -1
- package/dist/node/components/WalletAccountSelect/SelectBar.cjs +0 -203
- package/dist/node/components/WalletAccountSelect/SelectBar.cjs.map +0 -1
- package/dist/node/components/WalletAccountSelect/SelectBar.js +0 -178
- package/dist/node/components/WalletAccountSelect/SelectBar.js.map +0 -1
- package/dist/node/components/WalletAccountSelect/WalletInfo.cjs +0 -219
- package/dist/node/components/WalletAccountSelect/WalletInfo.cjs.map +0 -1
- package/dist/node/components/WalletAccountSelect/WalletInfo.js +0 -188
- package/dist/node/components/WalletAccountSelect/WalletInfo.js.map +0 -1
- package/dist/node/components/WalletAccountSelect/index.cjs +0 -205
- package/dist/node/components/WalletAccountSelect/index.cjs.map +0 -1
- package/dist/node/components/WalletAccountSelect/index.js +0 -177
- package/dist/node/components/WalletAccountSelect/index.js.map +0 -1
- package/dist/node/components/index.cjs +0 -724
- package/dist/node/components/index.cjs.map +0 -1
- package/dist/node/components/index.js +0 -700
- package/dist/node/components/index.js.map +0 -1
- package/dist/node/contexts/SeedPhrase/Context.cjs +0 -32
- package/dist/node/contexts/SeedPhrase/Context.cjs.map +0 -1
- package/dist/node/contexts/SeedPhrase/Context.js +0 -7
- package/dist/node/contexts/SeedPhrase/Context.js.map +0 -1
- package/dist/node/contexts/SeedPhrase/Provider.cjs +0 -113
- package/dist/node/contexts/SeedPhrase/Provider.cjs.map +0 -1
- package/dist/node/contexts/SeedPhrase/Provider.js +0 -88
- package/dist/node/contexts/SeedPhrase/Provider.js.map +0 -1
- package/dist/node/contexts/SeedPhrase/State.cjs +0 -19
- package/dist/node/contexts/SeedPhrase/State.cjs.map +0 -1
- package/dist/node/contexts/SeedPhrase/State.js +0 -1
- package/dist/node/contexts/SeedPhrase/State.js.map +0 -1
- package/dist/node/contexts/SeedPhrase/index.cjs +0 -121
- package/dist/node/contexts/SeedPhrase/index.cjs.map +0 -1
- package/dist/node/contexts/SeedPhrase/index.js +0 -92
- package/dist/node/contexts/SeedPhrase/index.js.map +0 -1
- package/dist/node/contexts/SeedPhrase/use.cjs +0 -38
- package/dist/node/contexts/SeedPhrase/use.cjs.map +0 -1
- package/dist/node/contexts/SeedPhrase/use.js +0 -13
- package/dist/node/contexts/SeedPhrase/use.js.map +0 -1
- package/dist/node/contexts/Wallet/Context.cjs +0 -32
- package/dist/node/contexts/Wallet/Context.cjs.map +0 -1
- package/dist/node/contexts/Wallet/Context.js +0 -7
- package/dist/node/contexts/Wallet/Context.js.map +0 -1
- package/dist/node/contexts/Wallet/Provider.cjs +0 -164
- package/dist/node/contexts/Wallet/Provider.cjs.map +0 -1
- package/dist/node/contexts/Wallet/Provider.js +0 -139
- package/dist/node/contexts/Wallet/Provider.js.map +0 -1
- package/dist/node/contexts/Wallet/State.cjs +0 -19
- package/dist/node/contexts/Wallet/State.cjs.map +0 -1
- package/dist/node/contexts/Wallet/State.js +0 -1
- package/dist/node/contexts/Wallet/State.js.map +0 -1
- package/dist/node/contexts/Wallet/index.cjs +0 -221
- package/dist/node/contexts/Wallet/index.cjs.map +0 -1
- package/dist/node/contexts/Wallet/index.js +0 -184
- package/dist/node/contexts/Wallet/index.js.map +0 -1
- package/dist/node/contexts/Wallet/lib/WalletPath.cjs +0 -49
- package/dist/node/contexts/Wallet/lib/WalletPath.cjs.map +0 -1
- package/dist/node/contexts/Wallet/lib/WalletPath.js +0 -22
- package/dist/node/contexts/Wallet/lib/WalletPath.js.map +0 -1
- package/dist/node/contexts/Wallet/lib/index.cjs +0 -51
- package/dist/node/contexts/Wallet/lib/index.cjs.map +0 -1
- package/dist/node/contexts/Wallet/lib/index.js +0 -22
- package/dist/node/contexts/Wallet/lib/index.js.map +0 -1
- package/dist/node/contexts/Wallet/use.cjs +0 -76
- package/dist/node/contexts/Wallet/use.cjs.map +0 -1
- package/dist/node/contexts/Wallet/use.js +0 -46
- package/dist/node/contexts/Wallet/use.js.map +0 -1
- package/dist/node/contexts/Wallet/usePromise.cjs +0 -101
- package/dist/node/contexts/Wallet/usePromise.cjs.map +0 -1
- package/dist/node/contexts/Wallet/usePromise.js +0 -75
- package/dist/node/contexts/Wallet/usePromise.js.map +0 -1
- package/dist/node/contexts/index.cjs +0 -314
- package/dist/node/contexts/index.cjs.map +0 -1
- package/dist/node/contexts/index.js +0 -274
- package/dist/node/contexts/index.js.map +0 -1
- package/dist/node/hooks/index.cjs +0 -180
- package/dist/node/hooks/index.cjs.map +0 -1
- package/dist/node/hooks/index.js +0 -150
- package/dist/node/hooks/index.js.map +0 -1
- package/dist/node/hooks/useAccount.cjs +0 -86
- package/dist/node/hooks/useAccount.cjs.map +0 -1
- package/dist/node/hooks/useAccount.js +0 -61
- package/dist/node/hooks/useAccount.js.map +0 -1
- package/dist/node/hooks/useWallet.cjs +0 -95
- package/dist/node/hooks/useWallet.cjs.map +0 -1
- package/dist/node/hooks/useWallet.js +0 -70
- package/dist/node/hooks/useWallet.js.map +0 -1
- package/dist/node/hooks/useWallets.cjs +0 -107
- package/dist/node/hooks/useWallets.cjs.map +0 -1
- package/dist/node/hooks/useWallets.js +0 -82
- package/dist/node/hooks/useWallets.js.map +0 -1
- package/dist/node/hooks/useWrapperAccount.cjs +0 -55
- package/dist/node/hooks/useWrapperAccount.cjs.map +0 -1
- package/dist/node/hooks/useWrapperAccount.js +0 -30
- 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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,wBAA2B;AAG3B,mBAAyB;;;ACHzB,0BAAgC;AAIzB,IAAM,oBAAgB,qCAAoC;;;ACJjE,2BAA2B;AAC3B,IAAAC,uBAA0C;AAKnC,IAAM,mBAAmB,CAAC,WAAW,SAAS;AACnD,aAAO,mCAAa,eAAe,UAAU,QAAQ;AACvD;AAEO,IAAM,oBAAoB,MAAM;AACrC,aAAO,kCAAY,aAAa;AAClC;AAEO,IAAM,oBAAoB,CAAC,WAAW,SAAiE;AAC5G,QAAM,EAAE,eAAe,IAAI,iBAAiB,QAAQ;AACpD,SAAO,CAAC,gBAAgB,MAAS;AACnC;AAOO,IAAM,8BAA8B,CAAC,OAAe,WAAW,SAAiE;AACrI,QAAM,CAAC,cAAc,IAAI,kBAAkB,QAAQ;AACnD,QAAM,CAAC,MAAM,QAAI,iCAAW,YAAa,OAAM,iDAAgB,WAAW,MAAM,SAAS,OAAO,gBAAgB,CAAC,gBAAgB,KAAK,CAAC;AACvI,SAAO,CAAC,QAAQ,MAAS;AAC3B;AAEO,IAAM,2BAA2B,CAAC,WAAW,SAAiE;AACnH,QAAM,EAAE,mBAAmB,IAAI,iBAAiB,QAAQ;AAGxD,QAAM,CAAC,OAAO,IAAI,4BAA4B,sBAAsB,GAAG,QAAQ;AAC/E,MAAI,uBAAuB,UAAa,YAAY,MAAM;AACxD,WAAO,CAAC,MAAM,MAAS;AAAA,EACzB,OAAO;AACL,WAAO,CAAC,SAAS,MAAS;AAAA,EAC5B;AACF;;;AF1BO,IAAM,aAAa,CAAC,EAAE,QAAQ,SAAS,OAAO,WAAW,MAAM,IAAuB,CAAC,MAGzF;AACH,QAAM,wBAAwB,kBAAkB;AAChD,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,uBAAgB;AAC9D,MAAI,UAAU,WAAW,CAAC,iBAAiB;AACzC,uBAAmB,MAAM,wEAAwE,CAAC;AAAA,EACpG;AAEA,MAAI,SAAS,WAAW,CAAC,iBAAiB;AACxC,uBAAmB,MAAM,uEAAuE,CAAC;AAAA,EACnG;AAEA,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAgB;AAC1C,QAAM,CAAC,cAAc,IAAI,kBAAkB,CAAC,UAAU,QAAQ;AAC9D,QAAM,EAAE,mBAAmB,IAAI,iBAAiB,KAAK;AACrD,QAAM,CAAC,aAAa,QAAI,kCAAW,YAAY;AA/BjD;AAgCI,QAAI;AACF,UAAI,CAAC,iBAAiB;AACpB,YAAI,QAAQ;AACV,iBAAO,QAAM,sCAAQ,eAAR,gCAAqB,GAAG,SAAS,CAAC;AAAA,QACjD,WAAW,gBAAgB;AACzB,iBAAO,QAAM,sDAAgB,eAAhB,wCAA6B,GAAG,SAAS,sBAAsB,CAAC;AAAA,QAC/E;AAAA,MACF;AAAA,IACF,SAAS,IAAI;AACX,YAAMC,SAAQ;AACd,cAAQ,MAAMA,OAAM,OAAO;AAC3B,eAASA,MAAK;AAAA,IAChB;AAAA,EACF,GAAG,CAAC,OAAO,QAAQ,gBAAgB,oBAAoB,eAAe,CAAC;AACvE,MAAI,mBAAmB,CAAC,OAAO;AAC7B,YAAQ,MAAM,gBAAgB,OAAO;AACrC,aAAS,eAAe;AAAA,EAC1B;AAEA,SAAO,CAAC,QAAQ,SAAY,WAAW,iBAAiB,wBAAwB,OAAO,QAAW,KAAK;AACzG;;;AGpDA,IAAAC,wBAA2B;AAC3B,qBAAyB;AAGzB,IAAAC,gBAAyB;AAYlB,IAAM,YAAY,CAAC,EAAE,UAAU,QAAQ,MAAM,WAAW,OAAO,KAAK,IAAsB,CAAC,MAG7F;AACH,QAAM,wBAAwB,kBAAkB;AAChD,QAAM,CAAC,OAAO,QAAQ,QAAI,wBAAgB;AAC1C,QAAM,CAAC,cAAc,IAAI,yBAAyB,CAAC,UAAU,QAAQ;AACrE,QAAM,CAAC,aAAa,QAAI,kCAAW,YAAY;AAvBjD;AAwBI,QAAI;AACF,YAAM,aAAa,OAAO,MAAM;AAC9B,YAAI,QAAQ;AACV,iBAAO;AAAA,QACT,WAAW,UAAU;AACnB,iBAAO,wBAAS,aAAa,QAAkB;AAAA,QACjD,WAAW,MAAM;AACf,iBAAO,wBAAS,SAAS,IAAI;AAAA,QAC/B;AACA,eAAO;AAAA,MACT,GAAG;AAEH,UAAI,MAAM;AACR,gBAAO,8CAAY,eAAZ,oCAAyB;AAAA,MAClC,OAAO;AACL,eAAO,cAAc;AAAA,MACvB;AAAA,IACF,SAAS,IAAI;AACX,eAAS,EAAW;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,UAAU,gBAAgB,MAAM,MAAM,MAAM,CAAC;AACjD,SAAO,CAAC,kBAAkB,wBAAwB,OAAO,gBAAgB,KAAK;AAChF;;;AC9CA,IAAAC,wBAA2B;AAWpB,IAAM,aAAa,CAAC,EAAE,QAAQ,MAAM,MAAmF;AAC5H,QAAM,wBAAwB,kBAAkB;AAChD,QAAM,CAAC,WAAW,IAAI,UAAU,EAAE,OAAO,CAAC;AAC1C,QAAM,CAAC,SAAS,KAAK,QAAI;AAAA,IACvB,YAAa,cAAc,MAAM,QAAQ,IAAI,MAAM,IAAI,CAAC,SAAS,YAAY,WAAW,IAAI,CAAC,CAAC,IAAI;AAAA,IAClG,CAAC,aAAa,KAAK;AAAA,EACrB;AACA,SAAO,CAAC,YAAY,wBAAwB,OAAO,UAAU,KAAK;AACpE;;;ACnBA,IAAAC,wBAAkD;AAClD,IAAAC,kBAAyB;AAGzB,yBAAsB;AAEtB,IAAI,sBAAkD;AACtD,IAAM,2BAA2B,IAAI,yBAAM;AAEpC,IAAM,oBAAoB,CAC/B,YACsF;AACtF,aAAO,kCAAW,YAAY;AAC5B,WAAO,MAAM,yBAAyB,aAAa,YAAY;AAE7D,UAAI,YAAY,QAAW;AACzB,eAAO;AAAA,MACT;AAEA,UAAI,qBAAqB;AACvB,eAAO;AAAA,MACT;AAEA,UAAI;AACF,8BAAsB,MAAM,yBAAS,OAAO;AAC5C,gBAAQ,IAAI,2CAA2C,oBAAoB,OAAO,EAAE;AAAA,MACtF,SAAS,IAAI;AACX,cAAM,QAAQ;AACd,gBAAQ,MAAM,0CAA0C,MAAM,OAAO,EAAE;AAAA,MACzE;AACA,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,OAAO,CAAC;AACd;","names":["import_react_promise","import_react_shared","error","import_react_promise","import_react","import_react_promise","import_react_promise","import_account"]}
|