@lifi/widget 3.14.1 → 3.14.2
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/CHANGELOG.md +7 -0
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/stores/form/FormUpdater.js +3 -1
- package/dist/esm/stores/form/FormUpdater.js.map +1 -1
- package/dist/esm/stores/form/URLSearchParamsBuilder.js +40 -5
- package/dist/esm/stores/form/URLSearchParamsBuilder.js.map +1 -1
- package/package.json +1 -1
- package/src/config/version.ts +1 -1
- package/src/stores/form/FormUpdater.tsx +3 -2
- package/src/stores/form/URLSearchParamsBuilder.tsx +38 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [3.14.2](https://github.com/lifinance/widget/compare/v3.14.1...v3.14.2) (2025-01-28)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* validate address from URL params and bookmark it ([#343](https://github.com/lifinance/widget/issues/343)) ([688236e](https://github.com/lifinance/widget/commit/688236e6e374482155bcbab6d3a454a0cab9fa7f))
|
|
11
|
+
|
|
5
12
|
### [3.14.1](https://github.com/lifinance/widget/compare/v3.14.0...v3.14.1) (2025-01-23)
|
|
6
13
|
|
|
7
14
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/widget";
|
|
2
|
-
export declare const version = "3.14.
|
|
2
|
+
export declare const version = "3.14.2";
|
|
@@ -46,7 +46,9 @@ export const FormUpdater = ({ reactiveFormValues }) => {
|
|
|
46
46
|
if (reactiveFormValues.toAddress) {
|
|
47
47
|
setSendToWallet(true);
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
if (toAddress) {
|
|
50
|
+
setSelectedBookmark(toAddress);
|
|
51
|
+
}
|
|
50
52
|
setUserAndDefaultValues(accountForChainId(reactiveFormValues, account.chainId));
|
|
51
53
|
}, [
|
|
52
54
|
account.chainId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormUpdater.js","sourceRoot":"","sources":["../../../../src/stores/form/FormUpdater.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAA;AAEtF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,CAAC,MAAM,WAAW,GAEnB,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE;IAC9B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IAC3D,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAC9B,MAAM,EAAE,eAAe,EAAE,GAAG,sBAAsB,EAAE,CAAA;IACpD,MAAM,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACpD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,EAAE,GACrE,eAAe,EAAE,CAAA;IAEnB,mHAAmH;IACnH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAChB,OAAO,CAAC,OAAO,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;QAE1E,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9D,OAAM;QACR,CAAC;QAED,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YACrE,UAAU,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;YAC1D,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YAC9B,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5B,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;YACjC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,UAAU,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;YACxD,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,EAAE;QACD,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,WAAW;QACnB,MAAM;QACN,SAAS;QACT,OAAO;QACP,SAAS;QACT,UAAU;QACV,aAAa;KACd,CAAC,CAAA;IAEF,kDAAkD;IAClD,+FAA+F;IAC/F,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,kBAAkB,CAAC,SAAS,EAAE,CAAC;YACjC,eAAe,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"FormUpdater.js","sourceRoot":"","sources":["../../../../src/stores/form/FormUpdater.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
2
|
import { useLocation } from 'react-router-dom';
|
|
3
|
+
import { useAddressValidation } from '../../hooks/useAddressValidation.js';
|
|
3
4
|
import { useSendToWalletActions } from '../../stores/settings/useSendToWalletStore.js';
|
|
4
5
|
import { formatInputAmount } from '../../utils/format.js';
|
|
6
|
+
import { useBookmarkActions } from '../bookmarks/useBookmarkActions.js';
|
|
5
7
|
import { useFieldActions } from '../form/useFieldActions.js';
|
|
6
8
|
import { useFieldValues } from '../form/useFieldValues.js';
|
|
7
9
|
import { useTouchedFields } from '../form/useTouchedFields.js';
|
|
@@ -40,18 +42,51 @@ export const URLSearchParamsBuilder = () => {
|
|
|
40
42
|
const touchedFields = useTouchedFields();
|
|
41
43
|
const values = useFieldValues(...formValueKeys);
|
|
42
44
|
const { setSendToWallet } = useSendToWalletActions();
|
|
45
|
+
const { setSelectedBookmark, addRecentWallet } = useBookmarkActions();
|
|
46
|
+
const { validateAddress } = useAddressValidation();
|
|
43
47
|
// Using these methods as trying to use the touchedFields and values above
|
|
44
48
|
// often has a lag that can effect the widgets initialisation sequence
|
|
45
49
|
// and accidentally cause values to be wiped from the query string
|
|
46
50
|
const { getFieldValues, isTouched, setUserAndDefaultValues } = useFieldActions();
|
|
47
51
|
useEffect(() => {
|
|
48
|
-
// get the
|
|
52
|
+
// get the initial values from the querystring
|
|
49
53
|
const formValues = getDefaultValuesFromQueryString();
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
/**
|
|
55
|
+
* When URL builder is enabled and user opens a page with toAddress parameter,
|
|
56
|
+
* validate the address and set it up as a bookmark. This allows direct linking
|
|
57
|
+
* to the widget with a pre-filled destination address that will be treated the
|
|
58
|
+
* same way as a manually entered and validated address.
|
|
59
|
+
*/
|
|
60
|
+
const initializeFromAddress = async () => {
|
|
61
|
+
if (formValues.toAddress) {
|
|
62
|
+
try {
|
|
63
|
+
const validationResult = await validateAddress({
|
|
64
|
+
value: formValues.toAddress,
|
|
65
|
+
});
|
|
66
|
+
if (validationResult.isValid) {
|
|
67
|
+
const bookmark = {
|
|
68
|
+
address: validationResult.address,
|
|
69
|
+
chainType: validationResult.chainType,
|
|
70
|
+
};
|
|
71
|
+
setSelectedBookmark(bookmark);
|
|
72
|
+
addRecentWallet(bookmark);
|
|
73
|
+
setSendToWallet(true);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (_) {
|
|
77
|
+
// Address validation failed
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
initializeFromAddress();
|
|
53
82
|
setUserAndDefaultValues(formValues);
|
|
54
|
-
}, [
|
|
83
|
+
}, [
|
|
84
|
+
setUserAndDefaultValues,
|
|
85
|
+
setSendToWallet,
|
|
86
|
+
validateAddress,
|
|
87
|
+
setSelectedBookmark,
|
|
88
|
+
addRecentWallet,
|
|
89
|
+
]);
|
|
55
90
|
// biome-ignore lint/correctness/useExhaustiveDependencies:
|
|
56
91
|
useEffect(() => {
|
|
57
92
|
// set the values on the querysting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"URLSearchParamsBuilder.js","sourceRoot":"","sources":["../../../../src/stores/form/URLSearchParamsBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"URLSearchParamsBuilder.js","sourceRoot":"","sources":["../../../../src/stores/form/URLSearchParamsBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,MAAM,aAAa,GAAqB;IACtC,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,SAAS;IACT,SAAS;CACV,CAAA;AAED,MAAM,+BAA+B,GAAG,GAA2B,EAAE;IACnE,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACrC,IAAI,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAC7C,CAGA;IAAA,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9B,IAAI,YAAY,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;YAChE,OAAO,YAAY,CAAC,GAAG,GAAG,OAAO,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC9D,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE;YAC5D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;YACxD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC7D,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;YAC5D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAA;IAClC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,aAAa,CAAC,CAAA;IAC/C,MAAM,EAAE,eAAe,EAAE,GAAG,sBAAsB,EAAE,CAAA;IACpD,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACrE,MAAM,EAAE,eAAe,EAAE,GAAG,oBAAoB,EAAE,CAAA;IAElD,0EAA0E;IAC1E,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,uBAAuB,EAAE,GAC1D,eAAe,EAAE,CAAA;IAEnB,SAAS,CAAC,GAAG,EAAE;QACb,8CAA8C;QAC9C,MAAM,UAAU,GAAG,+BAA+B,EAAE,CAAA;QAEpD;;;;;WAKG;QACH,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;YACvC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;wBAC7C,KAAK,EAAE,UAAU,CAAC,SAAS;qBAC5B,CAAC,CAAA;oBACF,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;wBAC7B,MAAM,QAAQ,GAAG;4BACf,OAAO,EAAE,gBAAgB,CAAC,OAAO;4BACjC,SAAS,EAAE,gBAAgB,CAAC,SAAS;yBACtC,CAAA;wBACD,mBAAmB,CAAC,QAAQ,CAAC,CAAA;wBAC7B,eAAe,CAAC,QAAQ,CAAC,CAAA;wBACzB,eAAe,CAAC,IAAI,CAAC,CAAA;oBACvB,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,4BAA4B;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,qBAAqB,EAAE,CAAA;QACvB,uBAAuB,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC,EAAE;QACD,uBAAuB;QACvB,eAAe;QACf,eAAe;QACf,mBAAmB;QACnB,eAAe;KAChB,CAAC,CAAA;IAEF,2DAA2D;IAC3D,SAAS,CAAC,GAAG,EAAE;QACb,mCAAmC;QACnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAe,CAAC,CAAA;QAC3C,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;gBAC5B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC7C,CAAC;iBAAM,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC/C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC,CAAC,CAAA;QACF,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;QACvB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IAC5D,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAA;IAEhE,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/widget",
|
|
3
|
-
"version": "3.14.
|
|
3
|
+
"version": "3.14.2",
|
|
4
4
|
"description": "LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/esm/index.js",
|
package/src/config/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/widget'
|
|
2
|
-
export const version = '3.14.
|
|
2
|
+
export const version = '3.14.2'
|
|
@@ -56,8 +56,9 @@ export const FormUpdater: React.FC<{
|
|
|
56
56
|
if (reactiveFormValues.toAddress) {
|
|
57
57
|
setSendToWallet(true)
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
if (toAddress) {
|
|
60
|
+
setSelectedBookmark(toAddress)
|
|
61
|
+
}
|
|
61
62
|
|
|
62
63
|
setUserAndDefaultValues(
|
|
63
64
|
accountForChainId(reactiveFormValues, account.chainId)
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { useEffect } from 'react'
|
|
2
2
|
import { useLocation } from 'react-router-dom'
|
|
3
|
+
import { useAddressValidation } from '../../hooks/useAddressValidation.js'
|
|
3
4
|
import { useSendToWalletActions } from '../../stores/settings/useSendToWalletStore.js'
|
|
4
5
|
import { formatInputAmount } from '../../utils/format.js'
|
|
6
|
+
import { useBookmarkActions } from '../bookmarks/useBookmarkActions.js'
|
|
5
7
|
import type { DefaultValues, FormFieldNames } from '../form/types.js'
|
|
6
8
|
import { useFieldActions } from '../form/useFieldActions.js'
|
|
7
9
|
import { useFieldValues } from '../form/useFieldValues.js'
|
|
@@ -49,6 +51,8 @@ export const URLSearchParamsBuilder = () => {
|
|
|
49
51
|
const touchedFields = useTouchedFields()
|
|
50
52
|
const values = useFieldValues(...formValueKeys)
|
|
51
53
|
const { setSendToWallet } = useSendToWalletActions()
|
|
54
|
+
const { setSelectedBookmark, addRecentWallet } = useBookmarkActions()
|
|
55
|
+
const { validateAddress } = useAddressValidation()
|
|
52
56
|
|
|
53
57
|
// Using these methods as trying to use the touchedFields and values above
|
|
54
58
|
// often has a lag that can effect the widgets initialisation sequence
|
|
@@ -57,15 +61,45 @@ export const URLSearchParamsBuilder = () => {
|
|
|
57
61
|
useFieldActions()
|
|
58
62
|
|
|
59
63
|
useEffect(() => {
|
|
60
|
-
// get the
|
|
64
|
+
// get the initial values from the querystring
|
|
61
65
|
const formValues = getDefaultValuesFromQueryString()
|
|
62
66
|
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
/**
|
|
68
|
+
* When URL builder is enabled and user opens a page with toAddress parameter,
|
|
69
|
+
* validate the address and set it up as a bookmark. This allows direct linking
|
|
70
|
+
* to the widget with a pre-filled destination address that will be treated the
|
|
71
|
+
* same way as a manually entered and validated address.
|
|
72
|
+
*/
|
|
73
|
+
const initializeFromAddress = async () => {
|
|
74
|
+
if (formValues.toAddress) {
|
|
75
|
+
try {
|
|
76
|
+
const validationResult = await validateAddress({
|
|
77
|
+
value: formValues.toAddress,
|
|
78
|
+
})
|
|
79
|
+
if (validationResult.isValid) {
|
|
80
|
+
const bookmark = {
|
|
81
|
+
address: validationResult.address,
|
|
82
|
+
chainType: validationResult.chainType,
|
|
83
|
+
}
|
|
84
|
+
setSelectedBookmark(bookmark)
|
|
85
|
+
addRecentWallet(bookmark)
|
|
86
|
+
setSendToWallet(true)
|
|
87
|
+
}
|
|
88
|
+
} catch (_) {
|
|
89
|
+
// Address validation failed
|
|
90
|
+
}
|
|
91
|
+
}
|
|
65
92
|
}
|
|
66
93
|
|
|
94
|
+
initializeFromAddress()
|
|
67
95
|
setUserAndDefaultValues(formValues)
|
|
68
|
-
}, [
|
|
96
|
+
}, [
|
|
97
|
+
setUserAndDefaultValues,
|
|
98
|
+
setSendToWallet,
|
|
99
|
+
validateAddress,
|
|
100
|
+
setSelectedBookmark,
|
|
101
|
+
addRecentWallet,
|
|
102
|
+
])
|
|
69
103
|
|
|
70
104
|
// biome-ignore lint/correctness/useExhaustiveDependencies:
|
|
71
105
|
useEffect(() => {
|