@xyo-network/react-wallet 2.56.1 → 2.56.3
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/cjs/components/MaxAccounts/MaxAccountsTableRow.js +1 -1
- package/dist/cjs/components/MaxAccounts/MaxAccountsTableRow.js.map +1 -1
- package/dist/cjs/components/MaxAccounts/OutOfBoundsSnackBar.js +1 -1
- package/dist/cjs/components/MaxAccounts/OutOfBoundsSnackBar.js.map +1 -1
- package/dist/cjs/components/SeedPhrase/DefaultSeedPhrase.js +1 -1
- package/dist/cjs/components/SeedPhrase/DefaultSeedPhrase.js.map +1 -1
- package/dist/cjs/components/SeedPhrase/_shared/SeedPhraseIconButton.js +1 -1
- package/dist/cjs/components/SeedPhrase/_shared/SeedPhraseIconButton.js.map +1 -1
- package/dist/cjs/components/SeedPhrase/dialog/SeedPhraseDialog.js +2 -2
- package/dist/cjs/components/SeedPhrase/dialog/SeedPhraseDialog.js.map +1 -1
- package/dist/cjs/components/SeedPhrase/dialog/components/DialogActionButtons.js +1 -1
- package/dist/cjs/components/SeedPhrase/dialog/components/DialogActionButtons.js.map +1 -1
- package/dist/cjs/components/SeedPhrase/dialog/components/OverwriteWarning.js +1 -1
- package/dist/cjs/components/SeedPhrase/dialog/components/OverwriteWarning.js.map +1 -1
- package/dist/cjs/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.js +1 -1
- package/dist/cjs/components/SeedPhrase/dialog/components/fields/NewPhraseTextField.js.map +1 -1
- package/dist/cjs/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.js +1 -1
- package/dist/cjs/components/SeedPhrase/dialog/components/fields/SavedPhraseTextField.js.map +1 -1
- package/dist/cjs/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.js +1 -1
- package/dist/cjs/components/SeedPhrase/dialog/components/fields/validation-messages/InvalidPhrase.js.map +1 -1
- package/dist/cjs/components/SeedPhrase/settings/SeedPhraseTableRow.js +1 -1
- package/dist/cjs/components/SeedPhrase/settings/SeedPhraseTableRow.js.map +1 -1
- package/dist/cjs/components/WalletAccountDetails/WalletAccountDetails.js +1 -1
- package/dist/cjs/components/WalletAccountDetails/WalletAccountDetails.js.map +1 -1
- package/dist/cjs/components/WalletAccountSelect/Select.js +1 -1
- package/dist/cjs/components/WalletAccountSelect/Select.js.map +1 -1
- package/dist/cjs/components/WalletAccountSelect/WalletInfo.js +1 -1
- package/dist/cjs/components/WalletAccountSelect/WalletInfo.js.map +1 -1
- package/dist/cjs/contexts/SeedPhrase/Provider.js +2 -2
- package/dist/cjs/contexts/SeedPhrase/Provider.js.map +1 -1
- package/dist/cjs/hooks/index.js +1 -0
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useWrapperAccount.js +29 -0
- package/dist/cjs/hooks/useWrapperAccount.js.map +1 -0
- package/dist/docs.json +2762 -2450
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useWrapperAccount.js +24 -0
- package/dist/esm/hooks/useWrapperAccount.js.map +1 -0
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/useWrapperAccount.d.ts +3 -0
- package/dist/types/hooks/useWrapperAccount.d.ts.map +1 -0
- package/package.json +9 -8
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useWrapperAccount.tsx +26 -0
package/dist/esm/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { usePromise } from '@xylabs/react-promise';
|
|
2
|
+
import { HDWallet } from '@xyo-network/account';
|
|
3
|
+
import { Mutex } from 'async-mutex';
|
|
4
|
+
let globalWrapperWallet = undefined;
|
|
5
|
+
const globalWrapperWalletMutex = new Mutex();
|
|
6
|
+
export const useWrapperAccount = (account) => {
|
|
7
|
+
const [wallet] = usePromise(async () => {
|
|
8
|
+
return await globalWrapperWalletMutex.runExclusive(async () => {
|
|
9
|
+
if (globalWrapperWallet) {
|
|
10
|
+
return globalWrapperWallet;
|
|
11
|
+
}
|
|
12
|
+
try {
|
|
13
|
+
globalWrapperWallet = await HDWallet.random();
|
|
14
|
+
}
|
|
15
|
+
catch (ex) {
|
|
16
|
+
const error = ex;
|
|
17
|
+
console.error(`Wrapper Wallet Creation Failed: ${error.message}`);
|
|
18
|
+
}
|
|
19
|
+
return globalWrapperWallet;
|
|
20
|
+
});
|
|
21
|
+
}, []);
|
|
22
|
+
return account ?? wallet;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=useWrapperAccount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWrapperAccount.js","sourceRoot":"","sources":["../../../src/hooks/useWrapperAccount.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,IAAI,mBAAmB,GAA+B,SAAS,CAAA;AAC/D,MAAM,wBAAwB,GAAG,IAAI,KAAK,EAAE,CAAA;AAE5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAyB,EAA+B,EAAE;IAC1F,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;QACrC,OAAO,MAAM,wBAAwB,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YAC5D,IAAI,mBAAmB,EAAE;gBACvB,OAAO,mBAAmB,CAAA;aAC3B;YACD,IAAI;gBACF,mBAAmB,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAA;aAC9C;YAAC,OAAO,EAAE,EAAE;gBACX,MAAM,KAAK,GAAG,EAAW,CAAA;gBACzB,OAAO,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;aAClE;YACD,OAAO,mBAAmB,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO,OAAO,IAAI,MAAM,CAAA;AAC1B,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWrapperAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWrapperAccount.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAO5D,eAAO,MAAM,iBAAiB,aAAc,eAAe,KAAG,eAAe,GAAG,SAgB/E,CAAA"}
|
package/package.json
CHANGED
|
@@ -24,10 +24,11 @@
|
|
|
24
24
|
"@xyo-network/account-model": "^2.64.1",
|
|
25
25
|
"@xyo-network/bip39": "^2.64.1",
|
|
26
26
|
"@xyo-network/core": "^2.64.1",
|
|
27
|
-
"@xyo-network/react-address-render": "^2.56.
|
|
28
|
-
"@xyo-network/react-network": "^2.56.
|
|
29
|
-
"@xyo-network/react-shared": "^2.56.
|
|
30
|
-
"@xyo-network/wallet-model": "^2.64.1"
|
|
27
|
+
"@xyo-network/react-address-render": "^2.56.3",
|
|
28
|
+
"@xyo-network/react-network": "^2.56.3",
|
|
29
|
+
"@xyo-network/react-shared": "^2.56.3",
|
|
30
|
+
"@xyo-network/wallet-model": "^2.64.1",
|
|
31
|
+
"async-mutex": "^0.4.0"
|
|
31
32
|
},
|
|
32
33
|
"peerDependencies": {
|
|
33
34
|
"@mui/icons-material": "^5",
|
|
@@ -41,9 +42,9 @@
|
|
|
41
42
|
"description": "Common React library for all XYO projects that use React",
|
|
42
43
|
"devDependencies": {
|
|
43
44
|
"@storybook/react": "^7.0.24",
|
|
44
|
-
"@xylabs/ts-scripts-yarn3": "^2.
|
|
45
|
-
"@xylabs/tsconfig-react": "^2.
|
|
46
|
-
"@xyo-network/react-storybook": "^2.56.
|
|
45
|
+
"@xylabs/ts-scripts-yarn3": "^2.18.7",
|
|
46
|
+
"@xylabs/tsconfig-react": "^2.18.7",
|
|
47
|
+
"@xyo-network/react-storybook": "^2.56.3",
|
|
47
48
|
"typescript": "^5.1.6"
|
|
48
49
|
},
|
|
49
50
|
"browser": "dist/esm/index.js",
|
|
@@ -88,5 +89,5 @@
|
|
|
88
89
|
},
|
|
89
90
|
"sideEffects": false,
|
|
90
91
|
"types": "dist/types/index.d.ts",
|
|
91
|
-
"version": "2.56.
|
|
92
|
+
"version": "2.56.3"
|
|
92
93
|
}
|
package/src/hooks/index.ts
CHANGED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { usePromise } from '@xylabs/react-promise'
|
|
2
|
+
import { HDWallet } from '@xyo-network/account'
|
|
3
|
+
import { AccountInstance } from '@xyo-network/account-model'
|
|
4
|
+
import { WalletInstance } from '@xyo-network/wallet-model'
|
|
5
|
+
import { Mutex } from 'async-mutex'
|
|
6
|
+
|
|
7
|
+
let globalWrapperWallet: WalletInstance | undefined = undefined
|
|
8
|
+
const globalWrapperWalletMutex = new Mutex()
|
|
9
|
+
|
|
10
|
+
export const useWrapperAccount = (account?: AccountInstance): AccountInstance | undefined => {
|
|
11
|
+
const [wallet] = usePromise(async () => {
|
|
12
|
+
return await globalWrapperWalletMutex.runExclusive(async () => {
|
|
13
|
+
if (globalWrapperWallet) {
|
|
14
|
+
return globalWrapperWallet
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
globalWrapperWallet = await HDWallet.random()
|
|
18
|
+
} catch (ex) {
|
|
19
|
+
const error = ex as Error
|
|
20
|
+
console.error(`Wrapper Wallet Creation Failed: ${error.message}`)
|
|
21
|
+
}
|
|
22
|
+
return globalWrapperWallet
|
|
23
|
+
})
|
|
24
|
+
}, [])
|
|
25
|
+
return account ?? wallet
|
|
26
|
+
}
|