@rhinestone/deposit-modal 0.12.0 → 0.12.1
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/{DepositModalReown-PZXHTPIS.cjs → DepositModalReown-CH6FUTCR.cjs} +17 -17
- package/dist/{DepositModalReown-MVVRUXO4.mjs → DepositModalReown-SXAXHYTN.mjs} +7 -7
- package/dist/{chunk-LTPVHQXJ.cjs → chunk-2BOEUV6B.cjs} +378 -378
- package/dist/{chunk-5IP67CL5.mjs → chunk-2K44IE3V.mjs} +15 -10
- package/dist/{chunk-YR43AAX5.mjs → chunk-3STTWRAN.mjs} +0 -5
- package/dist/{chunk-53IGTENZ.mjs → chunk-4ZXQPFNU.mjs} +1 -1
- package/dist/{chunk-LBJFACLH.cjs → chunk-65MLWUQD.cjs} +77 -72
- package/dist/{chunk-XJB3VG4C.cjs → chunk-75DVGSAX.cjs} +2 -2
- package/dist/{chunk-4SRVZRZF.cjs → chunk-DMYA7U53.cjs} +1 -1
- package/dist/{chunk-6ZJTZ7DS.cjs → chunk-FKHPVLJY.cjs} +78 -79
- package/dist/{chunk-Q5MFRAWD.mjs → chunk-KPWB2JAX.mjs} +6 -6
- package/dist/{chunk-RMYUE6HJ.mjs → chunk-NHGFU3WC.mjs} +1 -1
- package/dist/{chunk-GZNMBZHY.mjs → chunk-O2TQLD4I.mjs} +1 -1
- package/dist/{chunk-2AMRKYJ4.mjs → chunk-O4AXBFHU.mjs} +4 -4
- package/dist/{chunk-4R2ZHSDQ.cjs → chunk-O7BCVQ6L.cjs} +1 -6
- package/dist/{chunk-QF5T6HXC.mjs → chunk-PVWZN66D.mjs} +3 -4
- package/dist/{chunk-EUIPQ3T4.mjs → chunk-TQWEGW3A.mjs} +3 -3
- package/dist/{chunk-2PQ34KU3.cjs → chunk-TYBMAUGH.cjs} +3 -3
- package/dist/{chunk-WZJMJFP7.cjs → chunk-UGK4JRK6.cjs} +62 -62
- package/dist/{chunk-BK54FZAE.cjs → chunk-ZLCY33FQ.cjs} +79 -79
- package/dist/claim.cjs +6 -6
- package/dist/claim.mjs +5 -5
- package/dist/constants.cjs +3 -3
- package/dist/constants.d.cts +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.mjs +2 -2
- package/dist/deposit.cjs +8 -8
- package/dist/deposit.mjs +7 -7
- package/dist/index.cjs +10 -10
- package/dist/index.mjs +9 -9
- package/dist/polymarket.cjs +5 -5
- package/dist/polymarket.mjs +2 -2
- package/dist/withdraw.cjs +6 -6
- package/dist/withdraw.mjs +5 -5
- package/package.json +1 -1
|
@@ -9,10 +9,6 @@ function targetChainToCaip2(targetChain) {
|
|
|
9
9
|
if (isHyperCoreDestination(targetChain)) return HYPERCORE_SPOT_CAIP2;
|
|
10
10
|
return toEvmCaip2(targetChain);
|
|
11
11
|
}
|
|
12
|
-
function targetChainToAccountKey(targetChain) {
|
|
13
|
-
if (isHyperCoreDestination(targetChain)) return HYPERCORE_MAINNET_CAIP2;
|
|
14
|
-
return targetChainToCaip2(targetChain);
|
|
15
|
-
}
|
|
16
12
|
function parseEvmChainId(value) {
|
|
17
13
|
if (typeof value === "number" && Number.isFinite(value)) {
|
|
18
14
|
return value;
|
|
@@ -948,5 +944,4 @@ function getExplorerName(chainId) {
|
|
|
948
944
|
|
|
949
945
|
|
|
950
946
|
|
|
951
|
-
|
|
952
|
-
exports.SOLANA_MAINNET_CAIP2 = SOLANA_MAINNET_CAIP2; exports.toEvmCaip2 = toEvmCaip2; exports.targetChainToCaip2 = targetChainToCaip2; exports.targetChainToAccountKey = targetChainToAccountKey; exports.parseEvmChainId = parseEvmChainId; exports.isSolanaCaip2 = isSolanaCaip2; exports.isHyperCoreCaip2 = isHyperCoreCaip2; exports.HYPERCORE_CHAIN_ID = HYPERCORE_CHAIN_ID; exports.HYPERCORE_MAINNET_CAIP2 = HYPERCORE_MAINNET_CAIP2; exports.HYPERCORE_SPOT_CAIP2 = HYPERCORE_SPOT_CAIP2; exports.targetChainToChainId = targetChainToChainId; exports.isHyperCoreDestination = isHyperCoreDestination; exports.HYPERCORE_USDC_ADDRESS = HYPERCORE_USDC_ADDRESS; exports.HYPERCORE_USDT0_ADDRESS = HYPERCORE_USDT0_ADDRESS; exports.HYPERCORE_SOURCE_TOKENS = HYPERCORE_SOURCE_TOKENS; exports.HYPERCORE_MIN_DEPOSIT_USD = HYPERCORE_MIN_DEPOSIT_USD; exports.isVirtualDestination = isVirtualDestination; exports.SOLANA_TOKENS = SOLANA_TOKENS; exports.getSolanaTokenBySymbol = getSolanaTokenBySymbol; exports.getSolanaTokenByMint = getSolanaTokenByMint; exports.isNativeSol = isNativeSol; exports.setRuntimeChainMeta = setRuntimeChainMeta; exports.setRuntimeTokens = setRuntimeTokens; exports.publishShortlistTokens = publishShortlistTokens; exports.ICON_CDN = ICON_CDN; exports.cdnIconUrl = cdnIconUrl; exports.getChainIcon = getChainIcon; exports.tokenIconUrl = tokenIconUrl; exports.getTokenIcon = getTokenIcon; exports.NATIVE_TOKEN_ADDRESS = NATIVE_TOKEN_ADDRESS; exports.CHAIN_DISPLAY_ORDER = CHAIN_DISPLAY_ORDER; exports.CHAIN_BY_ID = CHAIN_BY_ID; exports.SOURCE_CHAINS = SOURCE_CHAINS; exports.SUPPORTED_CHAINS = SUPPORTED_CHAINS; exports.chainRegistry = chainRegistry; exports.getChainId = getChainId; exports.getChainObject = getChainObject; exports.getUsdcAddress = getUsdcAddress; exports.getUsdcDecimals = getUsdcDecimals; exports.getTokenAddress = getTokenAddress; exports.getTokenDecimals = getTokenDecimals; exports.getTargetTokenSymbolsForChain = getTargetTokenSymbolsForChain; exports.getSupportedTokenSymbolsForChain = getSupportedTokenSymbolsForChain; exports.getSupportedChainIds = getSupportedChainIds; exports.isSupportedTokenAddressForChain = isSupportedTokenAddressForChain; exports.getSupportedTargetTokens = getSupportedTargetTokens; exports.findTokenDecimals = findTokenDecimals; exports.getTokenDecimalsByAddress = getTokenDecimalsByAddress; exports.findChainIdForToken = findChainIdForToken; exports.isRegistryTokenOnChain = isRegistryTokenOnChain; exports.getNativeSymbol = getNativeSymbol; exports.getTokenSymbol = getTokenSymbol; exports.getTargetTokenSymbol = getTargetTokenSymbol; exports.isStablecoinSymbol = isStablecoinSymbol; exports.getChainName = getChainName; exports.getChainBadge = getChainBadge; exports.getExplorerUrl = getExplorerUrl; exports.getExplorerTxUrl = getExplorerTxUrl; exports.getExplorerName = getExplorerName;
|
|
947
|
+
exports.SOLANA_MAINNET_CAIP2 = SOLANA_MAINNET_CAIP2; exports.toEvmCaip2 = toEvmCaip2; exports.targetChainToCaip2 = targetChainToCaip2; exports.parseEvmChainId = parseEvmChainId; exports.isSolanaCaip2 = isSolanaCaip2; exports.isHyperCoreCaip2 = isHyperCoreCaip2; exports.HYPERCORE_CHAIN_ID = HYPERCORE_CHAIN_ID; exports.HYPERCORE_MAINNET_CAIP2 = HYPERCORE_MAINNET_CAIP2; exports.HYPERCORE_SPOT_CAIP2 = HYPERCORE_SPOT_CAIP2; exports.targetChainToChainId = targetChainToChainId; exports.isHyperCoreDestination = isHyperCoreDestination; exports.HYPERCORE_USDC_ADDRESS = HYPERCORE_USDC_ADDRESS; exports.HYPERCORE_USDT0_ADDRESS = HYPERCORE_USDT0_ADDRESS; exports.HYPERCORE_SOURCE_TOKENS = HYPERCORE_SOURCE_TOKENS; exports.HYPERCORE_MIN_DEPOSIT_USD = HYPERCORE_MIN_DEPOSIT_USD; exports.isVirtualDestination = isVirtualDestination; exports.SOLANA_TOKENS = SOLANA_TOKENS; exports.getSolanaTokenBySymbol = getSolanaTokenBySymbol; exports.getSolanaTokenByMint = getSolanaTokenByMint; exports.isNativeSol = isNativeSol; exports.setRuntimeChainMeta = setRuntimeChainMeta; exports.setRuntimeTokens = setRuntimeTokens; exports.publishShortlistTokens = publishShortlistTokens; exports.ICON_CDN = ICON_CDN; exports.cdnIconUrl = cdnIconUrl; exports.getChainIcon = getChainIcon; exports.tokenIconUrl = tokenIconUrl; exports.getTokenIcon = getTokenIcon; exports.NATIVE_TOKEN_ADDRESS = NATIVE_TOKEN_ADDRESS; exports.CHAIN_DISPLAY_ORDER = CHAIN_DISPLAY_ORDER; exports.CHAIN_BY_ID = CHAIN_BY_ID; exports.SOURCE_CHAINS = SOURCE_CHAINS; exports.SUPPORTED_CHAINS = SUPPORTED_CHAINS; exports.chainRegistry = chainRegistry; exports.getChainId = getChainId; exports.getChainObject = getChainObject; exports.getUsdcAddress = getUsdcAddress; exports.getUsdcDecimals = getUsdcDecimals; exports.getTokenAddress = getTokenAddress; exports.getTokenDecimals = getTokenDecimals; exports.getTargetTokenSymbolsForChain = getTargetTokenSymbolsForChain; exports.getSupportedTokenSymbolsForChain = getSupportedTokenSymbolsForChain; exports.getSupportedChainIds = getSupportedChainIds; exports.isSupportedTokenAddressForChain = isSupportedTokenAddressForChain; exports.getSupportedTargetTokens = getSupportedTargetTokens; exports.findTokenDecimals = findTokenDecimals; exports.getTokenDecimalsByAddress = getTokenDecimalsByAddress; exports.findChainIdForToken = findChainIdForToken; exports.isRegistryTokenOnChain = isRegistryTokenOnChain; exports.getNativeSymbol = getNativeSymbol; exports.getTokenSymbol = getTokenSymbol; exports.getTargetTokenSymbol = getTargetTokenSymbol; exports.isStablecoinSymbol = isStablecoinSymbol; exports.getChainName = getChainName; exports.getChainBadge = getChainBadge; exports.getExplorerUrl = getExplorerUrl; exports.getExplorerTxUrl = getExplorerTxUrl; exports.getExplorerName = getExplorerName;
|
|
@@ -24,17 +24,16 @@ import {
|
|
|
24
24
|
tokenAmountToNumber,
|
|
25
25
|
useExplorerTxUrl,
|
|
26
26
|
useLatestRef
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-2K44IE3V.mjs";
|
|
28
28
|
import {
|
|
29
29
|
NATIVE_TOKEN_ADDRESS,
|
|
30
30
|
cdnIconUrl,
|
|
31
31
|
getChainIcon,
|
|
32
32
|
getChainName,
|
|
33
|
-
targetChainToAccountKey,
|
|
34
33
|
targetChainToCaip2,
|
|
35
34
|
targetChainToChainId,
|
|
36
35
|
toEvmCaip2
|
|
37
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-3STTWRAN.mjs";
|
|
38
37
|
|
|
39
38
|
// src/core/removed-props.ts
|
|
40
39
|
var MANAGED_ACCOUNT_REMOVALS = {
|
|
@@ -1592,7 +1591,7 @@ function deriveAccountSalt(input) {
|
|
|
1592
1591
|
return keccak256(
|
|
1593
1592
|
concat([
|
|
1594
1593
|
keccak256(toHex(normalizeKeyToken(input.recipient) ?? "")),
|
|
1595
|
-
keccak256(toHex(
|
|
1594
|
+
keccak256(toHex(targetChainToCaip2(input.targetChain))),
|
|
1596
1595
|
keccak256(toHex(normalizeKeyToken(input.targetToken) ?? ""))
|
|
1597
1596
|
])
|
|
1598
1597
|
);
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
deriveAccountSalt,
|
|
4
4
|
useTokenPrices,
|
|
5
5
|
warnRemovedProps
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PVWZN66D.mjs";
|
|
7
7
|
import {
|
|
8
8
|
BodyHeader,
|
|
9
9
|
Button,
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
useRpcUrls,
|
|
38
38
|
useStableRpcUrls,
|
|
39
39
|
useTargetTokens
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-2K44IE3V.mjs";
|
|
41
41
|
import {
|
|
42
42
|
NATIVE_TOKEN_ADDRESS,
|
|
43
43
|
getChainIcon,
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
getTokenDecimalsByAddress,
|
|
47
47
|
getTokenSymbol,
|
|
48
48
|
targetChainToCaip2
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-3STTWRAN.mjs";
|
|
50
50
|
|
|
51
51
|
// src/WithdrawModal.tsx
|
|
52
52
|
import { useCallback as useCallback3, useEffect as useEffect3, useMemo as useMemo3, useRef as useRef3, useState as useState4 } from "react";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunk65MLWUQDcjs = require('./chunk-65MLWUQD.cjs');
|
|
5
5
|
|
|
6
6
|
// src/components/ui/ListRow.tsx
|
|
7
7
|
var _jsxruntime = require('react/jsx-runtime');
|
|
@@ -19,7 +19,7 @@ function ListRow({
|
|
|
19
19
|
...props
|
|
20
20
|
}) {
|
|
21
21
|
const inner = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
22
|
-
leadingMedia ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-leading rs-list-row-leading--media", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22
|
+
leadingMedia ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-leading rs-list-row-leading--media", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.CdnIcon, { src: leadingMedia }) }) : leading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-leading", children: leading }) : null,
|
|
23
23
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-list-row-body", children: [
|
|
24
24
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-list-row-text", children: [
|
|
25
25
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-title", children: title }),
|
|
@@ -39,7 +39,7 @@ function ListRow({
|
|
|
39
39
|
}
|
|
40
40
|
) : meta && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-list-row-meta", children: meta })
|
|
41
41
|
] }),
|
|
42
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-chevron", children: _nullishCoalesce(trailing, () => ( (disabled ? null : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-chevron", children: _nullishCoalesce(trailing, () => ( (disabled ? null : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.ChevronRightIcon, {})))) })
|
|
43
43
|
] });
|
|
44
44
|
if (action) {
|
|
45
45
|
const handleKey = (e) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkTYBMAUGHcjs = require('./chunk-TYBMAUGH.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
@@ -28,17 +28,17 @@ var _chunk2PQ34KU3cjs = require('./chunk-2PQ34KU3.cjs');
|
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
var
|
|
31
|
+
var _chunk65MLWUQDcjs = require('./chunk-65MLWUQD.cjs');
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
var
|
|
34
|
+
var _chunkDMYA7U53cjs = require('./chunk-DMYA7U53.cjs');
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
var
|
|
41
|
+
var _chunkO7BCVQ6Lcjs = require('./chunk-O7BCVQ6L.cjs');
|
|
42
42
|
|
|
43
43
|
// src/ClaimModal.tsx
|
|
44
44
|
|
|
@@ -68,7 +68,7 @@ var Input = _react.forwardRef.call(void 0,
|
|
|
68
68
|
}
|
|
69
69
|
),
|
|
70
70
|
error && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "rs-input-error", children: [
|
|
71
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
71
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.AlertTriangleIcon, { className: "rs-input-error-icon" }),
|
|
72
72
|
error
|
|
73
73
|
] })
|
|
74
74
|
] });
|
|
@@ -154,7 +154,7 @@ async function submitSignedRecovery(params) {
|
|
|
154
154
|
try {
|
|
155
155
|
signature = await signRecovery({ typedData, signer, depositId, destination });
|
|
156
156
|
} catch (error) {
|
|
157
|
-
|
|
157
|
+
_chunk65MLWUQDcjs.debugError.call(void 0, debug, scope, "signRecovery:failed", error);
|
|
158
158
|
throw new RecoveryError(
|
|
159
159
|
"Signature request was declined. Approve it in your wallet to recover this deposit.",
|
|
160
160
|
0,
|
|
@@ -171,7 +171,7 @@ async function submitSignedRecovery(params) {
|
|
|
171
171
|
);
|
|
172
172
|
}
|
|
173
173
|
const url = `${backendUrl.replace(/\/$/, "")}/deposits/recover`;
|
|
174
|
-
|
|
174
|
+
_chunk65MLWUQDcjs.debugLog.call(void 0, debug, scope, "submitSignedRecovery:request", {
|
|
175
175
|
url,
|
|
176
176
|
depositId,
|
|
177
177
|
signer
|
|
@@ -183,19 +183,19 @@ async function submitSignedRecovery(params) {
|
|
|
183
183
|
// The shared const, so recovery carries `x-deposit-modal-version` like
|
|
184
184
|
// every other backend call. Without it this path would be invisible in the
|
|
185
185
|
// per-client version telemetry the processor records.
|
|
186
|
-
headers:
|
|
186
|
+
headers: _chunkDMYA7U53cjs.SERVICE_HEADERS,
|
|
187
187
|
// `depositId` as a string: it is a uint256 upstream and JSON numbers lose
|
|
188
188
|
// precision well before that range.
|
|
189
189
|
body: JSON.stringify({ depositId, destination, signature })
|
|
190
190
|
});
|
|
191
191
|
} catch (error) {
|
|
192
|
-
|
|
192
|
+
_chunk65MLWUQDcjs.debugError.call(void 0, debug, scope, "submitSignedRecovery:network", error);
|
|
193
193
|
const { message, retryable } = formatRecoveryError(0);
|
|
194
194
|
throw new RecoveryError(message, 0, void 0, retryable);
|
|
195
195
|
}
|
|
196
196
|
if (!response.ok) {
|
|
197
197
|
const body = await response.json().catch(() => ({}));
|
|
198
|
-
|
|
198
|
+
_chunk65MLWUQDcjs.debugError.call(void 0, debug, scope, "submitSignedRecovery:failed", body, {
|
|
199
199
|
status: response.status
|
|
200
200
|
});
|
|
201
201
|
const { message, retryable } = formatRecoveryError(
|
|
@@ -206,7 +206,7 @@ async function submitSignedRecovery(params) {
|
|
|
206
206
|
throw new RecoveryError(message, response.status, body.code, retryable);
|
|
207
207
|
}
|
|
208
208
|
const result = await response.json();
|
|
209
|
-
|
|
209
|
+
_chunk65MLWUQDcjs.debugLog.call(void 0, debug, scope, "submitSignedRecovery:success", {
|
|
210
210
|
transactionHash: result.transactionHash
|
|
211
211
|
});
|
|
212
212
|
return result;
|
|
@@ -224,17 +224,17 @@ function isEligible(row) {
|
|
|
224
224
|
}
|
|
225
225
|
function describeDeposit(row) {
|
|
226
226
|
const chainId = _nullishCoalesce(evmChainIdFromCaip2(row.chain), () => ( 0));
|
|
227
|
-
const decimals =
|
|
228
|
-
const symbol =
|
|
227
|
+
const decimals = _chunkO7BCVQ6Lcjs.getTokenDecimalsByAddress.call(void 0, row.token, chainId);
|
|
228
|
+
const symbol = _chunkO7BCVQ6Lcjs.getTokenSymbol.call(void 0, row.token, chainId);
|
|
229
229
|
const raw = BigInt(_nullishCoalesce(_nullishCoalesce(row.sourceAmount, () => ( row.amount)), () => ( "0")));
|
|
230
230
|
const human = Number(_viem.formatUnits.call(void 0, raw, decimals));
|
|
231
|
-
const amount = _nullishCoalesce(
|
|
231
|
+
const amount = _nullishCoalesce(_chunk65MLWUQDcjs.formatTokenAmount.call(void 0, human, symbol), () => ( _viem.formatUnits.call(void 0, raw, decimals)));
|
|
232
232
|
return {
|
|
233
233
|
chainId,
|
|
234
234
|
symbol,
|
|
235
235
|
amount,
|
|
236
|
-
chainName:
|
|
237
|
-
chainIcon:
|
|
236
|
+
chainName: _chunkO7BCVQ6Lcjs.getChainName.call(void 0, chainId),
|
|
237
|
+
chainIcon: _chunkO7BCVQ6Lcjs.getChainIcon.call(void 0, chainId)
|
|
238
238
|
};
|
|
239
239
|
}
|
|
240
240
|
function shortenHash(hash) {
|
|
@@ -325,15 +325,15 @@ function ClaimModal({
|
|
|
325
325
|
onError,
|
|
326
326
|
debug
|
|
327
327
|
}) {
|
|
328
|
-
|
|
328
|
+
_chunk65MLWUQDcjs.checkBackendUrl.call(void 0, "ClaimModal", backendUrl);
|
|
329
329
|
const modalRef = _react.useRef.call(void 0, null);
|
|
330
|
-
const onReadyRef =
|
|
331
|
-
const onLifecycleRef =
|
|
332
|
-
const onEventRef =
|
|
333
|
-
const onErrorRef =
|
|
334
|
-
const rpcUrls =
|
|
330
|
+
const onReadyRef = _chunk65MLWUQDcjs.useLatestRef.call(void 0, onReady);
|
|
331
|
+
const onLifecycleRef = _chunk65MLWUQDcjs.useLatestRef.call(void 0, onLifecycle);
|
|
332
|
+
const onEventRef = _chunk65MLWUQDcjs.useLatestRef.call(void 0, onEvent);
|
|
333
|
+
const onErrorRef = _chunk65MLWUQDcjs.useLatestRef.call(void 0, onError);
|
|
334
|
+
const rpcUrls = _chunk65MLWUQDcjs.useStableRpcUrls.call(void 0, rpcUrlsProp);
|
|
335
335
|
const service = _react.useMemo.call(void 0,
|
|
336
|
-
() =>
|
|
336
|
+
() => _chunk65MLWUQDcjs.createDepositService.call(void 0, backendUrl, { debug, debugScope: "service:claim" }),
|
|
337
337
|
[backendUrl, debug]
|
|
338
338
|
);
|
|
339
339
|
const [state, dispatch] = _react.useReducer.call(void 0, claimReducer, INITIAL_STATE);
|
|
@@ -341,7 +341,7 @@ function ClaimModal({
|
|
|
341
341
|
const isOpenRef = _react.useRef.call(void 0, isOpen);
|
|
342
342
|
isOpenRef.current = isOpen;
|
|
343
343
|
_react.useEffect.call(void 0, () => {
|
|
344
|
-
if (isOpen && modalRef.current)
|
|
344
|
+
if (isOpen && modalRef.current) _chunk65MLWUQDcjs.applyTheme.call(void 0, modalRef.current, theme);
|
|
345
345
|
}, [isOpen, theme]);
|
|
346
346
|
_react.useEffect.call(void 0, () => {
|
|
347
347
|
if (isOpen) {
|
|
@@ -363,8 +363,8 @@ function ClaimModal({
|
|
|
363
363
|
}, [state.step, onClose]);
|
|
364
364
|
const canGoBack = state.step === "select" || state.step === "review" || state.step === "failed";
|
|
365
365
|
const showBackButton = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _7 => _7.showBackButton]), () => ( true));
|
|
366
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
367
|
-
|
|
366
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.RpcUrlsProvider, { value: rpcUrls, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.ChainCatalogProvider, { service, rpcUrls, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
367
|
+
_chunk65MLWUQDcjs.Modal,
|
|
368
368
|
{
|
|
369
369
|
isOpen,
|
|
370
370
|
onClose: handleClose,
|
|
@@ -380,7 +380,7 @@ function ClaimModal({
|
|
|
380
380
|
className: "rs-modal-header-back",
|
|
381
381
|
"aria-label": "Go back",
|
|
382
382
|
onClick: () => dispatch({ type: "back" }),
|
|
383
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
383
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.ChevronLeftIcon, {})
|
|
384
384
|
}
|
|
385
385
|
) }),
|
|
386
386
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-modal-header-nav-right", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -391,7 +391,7 @@ function ClaimModal({
|
|
|
391
391
|
disabled: state.step === "processing",
|
|
392
392
|
className: "rs-modal-close",
|
|
393
393
|
"aria-label": "Close",
|
|
394
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
394
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.CloseIcon, {})
|
|
395
395
|
}
|
|
396
396
|
) })
|
|
397
397
|
] }),
|
|
@@ -524,12 +524,12 @@ function ClaimBody({
|
|
|
524
524
|
});
|
|
525
525
|
if (!isCurrentOperation()) return;
|
|
526
526
|
const paidTo = destination;
|
|
527
|
-
const decimals =
|
|
528
|
-
const symbol =
|
|
527
|
+
const decimals = _chunkO7BCVQ6Lcjs.getTokenDecimalsByAddress.call(void 0, token, sourceChainId);
|
|
528
|
+
const symbol = _chunkO7BCVQ6Lcjs.getTokenSymbol.call(void 0, token, sourceChainId);
|
|
529
529
|
const refundedRaw = BigInt(
|
|
530
530
|
_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(result.amount, () => ( deposit.sourceAmount)), () => ( deposit.amount)), () => ( "0"))
|
|
531
531
|
);
|
|
532
|
-
const amountDisplay = _nullishCoalesce(
|
|
532
|
+
const amountDisplay = _nullishCoalesce(_chunk65MLWUQDcjs.formatTokenAmount.call(void 0, Number(_viem.formatUnits.call(void 0, refundedRaw, decimals)), symbol), () => ( _viem.formatUnits.call(void 0, refundedRaw, decimals)));
|
|
533
533
|
dispatch({
|
|
534
534
|
type: "complete",
|
|
535
535
|
txHash: result.transactionHash,
|
|
@@ -556,7 +556,7 @@ function ClaimBody({
|
|
|
556
556
|
if (!isCurrentOperation()) return;
|
|
557
557
|
const recoveryError = err instanceof RecoveryError ? err : void 0;
|
|
558
558
|
const status = _optionalChain([recoveryError, 'optionalAccess', _16 => _16.status]);
|
|
559
|
-
const message = _nullishCoalesce(_optionalChain([recoveryError, 'optionalAccess', _17 => _17.message]), () => (
|
|
559
|
+
const message = _nullishCoalesce(_optionalChain([recoveryError, 'optionalAccess', _17 => _17.message]), () => ( _chunk65MLWUQDcjs.formatUserError.call(void 0,
|
|
560
560
|
err instanceof Error ? err.message : "Recovery failed"
|
|
561
561
|
)));
|
|
562
562
|
dispatch({
|
|
@@ -621,7 +621,7 @@ function LookupStep({
|
|
|
621
621
|
onResults(deposits);
|
|
622
622
|
} catch (err) {
|
|
623
623
|
if (!isCurrentOperation()) return;
|
|
624
|
-
const message =
|
|
624
|
+
const message = _chunk65MLWUQDcjs.formatUserError.call(void 0,
|
|
625
625
|
err instanceof Error ? err.message : "Lookup failed"
|
|
626
626
|
);
|
|
627
627
|
setError(message);
|
|
@@ -642,9 +642,9 @@ function LookupStep({
|
|
|
642
642
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
|
|
643
643
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
644
644
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
645
|
-
|
|
645
|
+
_chunk65MLWUQDcjs.BodyHeader,
|
|
646
646
|
{
|
|
647
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
647
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.HandCoinsIcon, {}),
|
|
648
648
|
title: "Claim a deposit",
|
|
649
649
|
subtitle: "Get funds from a failed deposit sent back to you on the source chain."
|
|
650
650
|
}
|
|
@@ -659,9 +659,9 @@ function LookupStep({
|
|
|
659
659
|
error: trimmed.length > 0 && !validTxHash ? "Enter a valid transaction hash" : void 0
|
|
660
660
|
}
|
|
661
661
|
),
|
|
662
|
-
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
662
|
+
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.Callout, { variant: "error", children: error }),
|
|
663
663
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
664
|
-
|
|
664
|
+
_chunk65MLWUQDcjs.Button,
|
|
665
665
|
{
|
|
666
666
|
onClick: handleLookup,
|
|
667
667
|
loading,
|
|
@@ -672,7 +672,7 @@ function LookupStep({
|
|
|
672
672
|
}
|
|
673
673
|
)
|
|
674
674
|
] }),
|
|
675
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
675
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.PoweredBy, {})
|
|
676
676
|
] });
|
|
677
677
|
}
|
|
678
678
|
function SelectStep({
|
|
@@ -682,9 +682,9 @@ function SelectStep({
|
|
|
682
682
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
|
|
683
683
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
684
684
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
685
|
-
|
|
685
|
+
_chunk65MLWUQDcjs.BodyHeader,
|
|
686
686
|
{
|
|
687
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
687
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.CoinsIcon, {}),
|
|
688
688
|
title: "Select a deposit",
|
|
689
689
|
subtitle: "This transaction produced multiple deposits. Choose the one to claim."
|
|
690
690
|
}
|
|
@@ -693,9 +693,9 @@ function SelectStep({
|
|
|
693
693
|
const { symbol, amount, chainName } = describeDeposit(row);
|
|
694
694
|
const eligible = isEligible(row);
|
|
695
695
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
696
|
-
|
|
696
|
+
_chunkTYBMAUGHcjs.ListRow,
|
|
697
697
|
{
|
|
698
|
-
leadingMedia:
|
|
698
|
+
leadingMedia: _chunkO7BCVQ6Lcjs.tokenIconUrl.call(void 0, symbol),
|
|
699
699
|
title: `${amount} ${symbol}`,
|
|
700
700
|
subtitle: chainName,
|
|
701
701
|
meta: eligible ? void 0 : humanizeStatus(row.status),
|
|
@@ -706,7 +706,7 @@ function SelectStep({
|
|
|
706
706
|
);
|
|
707
707
|
}) })
|
|
708
708
|
] }),
|
|
709
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
709
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.PoweredBy, {})
|
|
710
710
|
] });
|
|
711
711
|
}
|
|
712
712
|
function ReviewStep({
|
|
@@ -716,15 +716,15 @@ function ReviewStep({
|
|
|
716
716
|
onSubmit
|
|
717
717
|
}) {
|
|
718
718
|
const { chainId, symbol, amount, chainName, chainIcon } = describeDeposit(deposit);
|
|
719
|
-
const explorerTxUrl =
|
|
719
|
+
const explorerTxUrl = _chunk65MLWUQDcjs.useExplorerTxUrl.call(void 0, );
|
|
720
720
|
const [destination, setDestination] = _react.useState.call(void 0, _nullishCoalesce(defaultRefundDestination, () => ( "")));
|
|
721
721
|
const destinationValid = _viem.isAddress.call(void 0, destination);
|
|
722
722
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
|
|
723
723
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
724
724
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
725
|
-
|
|
725
|
+
_chunk65MLWUQDcjs.BodyHeader,
|
|
726
726
|
{
|
|
727
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
727
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.HandCoinsIcon, {}),
|
|
728
728
|
title: "Review refund",
|
|
729
729
|
subtitle: "This returns the funds on the source chain. It does not retry the original bridge."
|
|
730
730
|
}
|
|
@@ -738,14 +738,14 @@ function ReviewStep({
|
|
|
738
738
|
" ",
|
|
739
739
|
symbol
|
|
740
740
|
] }),
|
|
741
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
741
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.TokenIcon, { symbol }) })
|
|
742
742
|
] })
|
|
743
743
|
] }),
|
|
744
744
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
|
|
745
745
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Source chain" }),
|
|
746
746
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
|
|
747
747
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: chainName }),
|
|
748
|
-
chainIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
748
|
+
chainIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.CdnIcon, { src: chainIcon }) })
|
|
749
749
|
] })
|
|
750
750
|
] }),
|
|
751
751
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
|
|
@@ -762,7 +762,7 @@ function ReviewStep({
|
|
|
762
762
|
rel: "noreferrer",
|
|
763
763
|
children: [
|
|
764
764
|
short,
|
|
765
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
765
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.ExternalLinkIcon, {})
|
|
766
766
|
]
|
|
767
767
|
}
|
|
768
768
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-value", children: short });
|
|
@@ -780,7 +780,7 @@ function ReviewStep({
|
|
|
780
780
|
}
|
|
781
781
|
),
|
|
782
782
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
783
|
-
|
|
783
|
+
_chunk65MLWUQDcjs.Button,
|
|
784
784
|
{
|
|
785
785
|
onClick: () => destinationValid && onSubmit(destination),
|
|
786
786
|
loading: submitting,
|
|
@@ -791,7 +791,7 @@ function ReviewStep({
|
|
|
791
791
|
}
|
|
792
792
|
)
|
|
793
793
|
] }),
|
|
794
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
794
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.PoweredBy, {})
|
|
795
795
|
] });
|
|
796
796
|
}
|
|
797
797
|
function ResultStep({
|
|
@@ -802,13 +802,13 @@ function ResultStep({
|
|
|
802
802
|
onRetry
|
|
803
803
|
}) {
|
|
804
804
|
const success = !!result;
|
|
805
|
-
const explorerTxUrl =
|
|
805
|
+
const explorerTxUrl = _chunk65MLWUQDcjs.useExplorerTxUrl.call(void 0, );
|
|
806
806
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
|
|
807
807
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
808
808
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
809
|
-
|
|
809
|
+
_chunk65MLWUQDcjs.BodyHeader,
|
|
810
810
|
{
|
|
811
|
-
icon: success ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
811
|
+
icon: success ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.CheckIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.AlertTriangleIcon, {}),
|
|
812
812
|
variant: success ? "success" : "error",
|
|
813
813
|
title: success ? "Refund submitted" : "Refund failed",
|
|
814
814
|
subtitle: success ? "Your funds are being returned on the source chain." : void 0
|
|
@@ -823,7 +823,7 @@ function ResultStep({
|
|
|
823
823
|
" ",
|
|
824
824
|
result.symbol
|
|
825
825
|
] }),
|
|
826
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
826
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.TokenIcon, { symbol: result.symbol }) })
|
|
827
827
|
] })
|
|
828
828
|
] }),
|
|
829
829
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
|
|
@@ -844,22 +844,22 @@ function ResultStep({
|
|
|
844
844
|
rel: "noreferrer",
|
|
845
845
|
children: [
|
|
846
846
|
short,
|
|
847
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
847
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.ExternalLinkIcon, {})
|
|
848
848
|
]
|
|
849
849
|
}
|
|
850
850
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-value", children: short });
|
|
851
851
|
})()
|
|
852
852
|
] })
|
|
853
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
853
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.Callout, { variant: "error", children: error }),
|
|
854
854
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-screen-button-row", children: success ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
855
|
-
onReset && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
856
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
855
|
+
onReset && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.Button, { variant: "outline", onClick: onReset, fullWidth: true, children: "Claim another deposit" }),
|
|
856
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.Button, { onClick: onClose, fullWidth: true, children: "Done" })
|
|
857
857
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
858
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
859
|
-
onRetry && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
858
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.Button, { variant: "outline", onClick: onClose, fullWidth: true, children: "Cancel" }),
|
|
859
|
+
onRetry && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.Button, { onClick: onRetry, fullWidth: true, children: "Try again" })
|
|
860
860
|
] }) })
|
|
861
861
|
] }),
|
|
862
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
862
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65MLWUQDcjs.PoweredBy, {})
|
|
863
863
|
] });
|
|
864
864
|
}
|
|
865
865
|
|