@rhinestone/deposit-modal 0.17.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +109 -0
- package/dist/{DepositModalReown-6CXXGQ7X.cjs → DepositModalReown-UITYXJ6W.cjs} +17 -17
- package/dist/{DepositModalReown-ELDSTIME.mjs → DepositModalReown-XBNY6QCI.mjs} +4 -4
- package/dist/{WithdrawModal-QRMDR5T4.mjs → WithdrawModal-DY6A55OA.mjs} +3 -3
- package/dist/WithdrawModal-V42OK7L3.cjs +11 -0
- package/dist/bearer-transport-CVHNBgoV.d.cts +14 -0
- package/dist/bearer-transport-CVHNBgoV.d.ts +14 -0
- package/dist/{chunk-QMGEK623.mjs → chunk-5NWLS5BQ.mjs} +536 -225
- package/dist/chunk-ADEWTBSN.cjs +19 -0
- package/dist/{chunk-ZHX4QROC.mjs → chunk-BIL4ENC3.mjs} +1 -1
- package/dist/{chunk-2W4BJ5I3.cjs → chunk-EG4H7OMC.cjs} +71 -71
- package/dist/{chunk-QGNJFDEO.cjs → chunk-HMUGY66O.cjs} +690 -379
- package/dist/chunk-ISLVD5HQ.cjs +41 -0
- package/dist/{chunk-H66WM5AO.mjs → chunk-NITKDXHR.mjs} +388 -95
- package/dist/{chunk-XJMDCBHS.cjs → chunk-OCWSMLOP.cjs} +862 -569
- package/dist/chunk-PP4QE32S.mjs +19 -0
- package/dist/{chunk-JCWJ6HW7.cjs → chunk-PYOC6K24.cjs} +1 -1
- package/dist/{chunk-XCBDJPBD.mjs → chunk-X6N2XPTO.mjs} +1 -1
- package/dist/chunk-ZGHVJ2XM.mjs +41 -0
- package/dist/compliance.cjs +14 -0
- package/dist/compliance.d.cts +10 -0
- package/dist/compliance.d.ts +10 -0
- package/dist/compliance.mjs +14 -0
- package/dist/constants.cjs +3 -3
- package/dist/constants.d.cts +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.mjs +3 -3
- package/dist/deposit.cjs +4 -4
- package/dist/deposit.d.cts +2 -2
- package/dist/deposit.d.ts +2 -2
- package/dist/deposit.mjs +3 -3
- package/dist/embed.cjs +16 -16
- package/dist/embed.d.cts +1 -1
- package/dist/embed.d.ts +1 -1
- package/dist/embed.mjs +8 -8
- package/dist/index.cjs +5 -5
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +4 -4
- package/dist/offramp.cjs +25 -0
- package/dist/offramp.d.cts +28 -0
- package/dist/offramp.d.ts +28 -0
- package/dist/offramp.mjs +25 -0
- package/dist/onramp.cjs +40 -0
- package/dist/onramp.d.cts +55 -0
- package/dist/onramp.d.ts +55 -0
- package/dist/onramp.mjs +40 -0
- package/dist/ramp-types-C6aUz4SZ.d.cts +43 -0
- package/dist/ramp-types-C6aUz4SZ.d.ts +43 -0
- package/dist/server.cjs +54 -2
- package/dist/server.d.cts +13 -1
- package/dist/server.d.ts +13 -1
- package/dist/server.mjs +52 -0
- package/dist/styles.css +25 -0
- package/dist/{types-B9SbZQIG.d.ts → types-BOxa1DE-.d.ts} +40 -4
- package/dist/{types-SwGGf0eH.d.cts → types-BShYNpvO.d.cts} +40 -4
- package/dist/withdraw.cjs +4 -4
- package/dist/withdraw.d.cts +2 -2
- package/dist/withdraw.d.ts +2 -2
- package/dist/withdraw.mjs +3 -3
- package/package.json +35 -5
- package/dist/WithdrawModal-QB2U756L.cjs +0 -11
package/README.md
CHANGED
|
@@ -114,6 +114,31 @@ time, it does not emit the `submitted` lifecycle event with the processor's
|
|
|
114
114
|
internal tracking key. Its `complete` event reports the settled source and
|
|
115
115
|
destination transaction hashes once they exist.
|
|
116
116
|
|
|
117
|
+
## Checkout payments
|
|
118
|
+
|
|
119
|
+
Pass `payment` when the modal funds one merchant order:
|
|
120
|
+
|
|
121
|
+
```tsx
|
|
122
|
+
<DepositModal
|
|
123
|
+
{...depositProps}
|
|
124
|
+
payment={{ salt: order.accountSalt, amount: order.amountBaseUnits }}
|
|
125
|
+
/>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Register the order's managed account on your server first, then pass its 32-byte
|
|
129
|
+
salt to the modal. The same salt must resolve to the account address stored with
|
|
130
|
+
the order. `amount` is the required **destination token amount in base units**,
|
|
131
|
+
not a USD amount. The modal asks `/quotes/preview` for an `exactOut` quote and
|
|
132
|
+
shows the source amount the payer should send; the backend proxy must forward
|
|
133
|
+
that route to a processor with `exactOut` support.
|
|
134
|
+
|
|
135
|
+
Reconcile using the account on processor webhooks or `GET /deposits?account=`.
|
|
136
|
+
`destinationAmount` on the `complete` event is the amount actually delivered in
|
|
137
|
+
destination token base units. Quotes are estimates, and a payer using a QR,
|
|
138
|
+
exchange, or card can send a different amount, so compare the delivered amount
|
|
139
|
+
with the order amount before marking it paid. Checkout mode withholds the
|
|
140
|
+
recipient's deposit history from the payer.
|
|
141
|
+
|
|
117
142
|
## Withdraw
|
|
118
143
|
|
|
119
144
|
`WithdrawModal` lives at `@rhinestone/deposit-modal/withdraw` and reports through the same `onLifecycle` + `onError` callbacks. It needs no wallet: you give it the account holding the funds and a function that performs one transfer.
|
|
@@ -347,3 +372,87 @@ Local setup, the release process and where the docs live are in
|
|
|
347
372
|
## License
|
|
348
373
|
|
|
349
374
|
MIT
|
|
375
|
+
|
|
376
|
+
## Onramp and offramp services
|
|
377
|
+
|
|
378
|
+
Deploy an updated `deposit-widget-proxy` before enabling these opt-in clients.
|
|
379
|
+
Custom proxies must allow Authorization in CORS and forward customer routes
|
|
380
|
+
without injecting `x-api-key`. Never proxy `POST /compliance/sessions` publicly.
|
|
381
|
+
|
|
382
|
+
On your server, import `createCustomerSessionHandler` from
|
|
383
|
+
`@rhinestone/deposit-modal/server`. Supply your server-held `apiKey` and an
|
|
384
|
+
`authorize(request)` callback that authenticates the user, enforces CSRF policy,
|
|
385
|
+
and returns `{ externalCustomerId, smartAccount? }` from trusted server state.
|
|
386
|
+
Mount its returned handler on your authenticated POST endpoint. It returns only
|
|
387
|
+
the 15-minute `token` and `expiresAt`, with no-store response headers.
|
|
388
|
+
|
|
389
|
+
Use separate scoped clients for onramp and offramp. The transport is internal;
|
|
390
|
+
the package does not expose a generic customer service or arbitrary request method.
|
|
391
|
+
|
|
392
|
+
```ts
|
|
393
|
+
import { createOnrampService } from '@rhinestone/deposit-modal/onramp';
|
|
394
|
+
import { createOfframpService } from '@rhinestone/deposit-modal/offramp';
|
|
395
|
+
import { getComplianceStatus } from '@rhinestone/deposit-modal/compliance';
|
|
396
|
+
|
|
397
|
+
const options = {
|
|
398
|
+
backendUrl: proxyUrl,
|
|
399
|
+
getSession: () => authenticatedSessionClient.getCustomerSession(),
|
|
400
|
+
};
|
|
401
|
+
const onramp = createOnrampService(options);
|
|
402
|
+
const offramp = createOfframpService(options);
|
|
403
|
+
const setup = await onramp.createSetup({
|
|
404
|
+
purpose: 'account_setup',
|
|
405
|
+
country: 'DE',
|
|
406
|
+
currency: 'EUR',
|
|
407
|
+
paymentMethod: 'bank_transfer',
|
|
408
|
+
});
|
|
409
|
+
// Setup completes in this call and returns the account it configured.
|
|
410
|
+
// Show the customer their bank details through a separate, repeatable call:
|
|
411
|
+
const { nextAction } = await onramp.getAccountDetails(setup.account.id);
|
|
412
|
+
const status = await getComplianceStatus(options);
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
The onramp client has `createSetup`, `getSetup`, `getOptions`, `listAccounts`,
|
|
416
|
+
`getAccount`, `getAccountDetails`, `listPayments` and `getPayment`. The offramp
|
|
417
|
+
client has session/options/payment methods, without accounts.
|
|
418
|
+
`getComplianceStatus` retains the existing `/compliance/status` read separately;
|
|
419
|
+
it is not a preliminary step. Shared types include `RampSession` (offramp),
|
|
420
|
+
`OnrampSetup`, `RampOption` and `RampCurrency`.
|
|
421
|
+
`CustomerSession` remains the browser bearer/expiry pair. Catch `ScopedRequestError`
|
|
422
|
+
and inspect its `status` for HTTP failures; response bodies are not included.
|
|
423
|
+
|
|
424
|
+
The three lightweight subpaths replace the unpublished `/customer` entry point.
|
|
425
|
+
They do not import React, wallet connectors or the server-only token helper.
|
|
426
|
+
|
|
427
|
+
`getSession` is called per request. Keep tokens in memory, scoped to the logged-in
|
|
428
|
+
user, and refresh them through your authenticated server. The clients reject
|
|
429
|
+
expired sessions and never fall back to an application key. They make no calls
|
|
430
|
+
until explicitly invoked, so existing modals and Swapped flows remain unchanged.
|
|
431
|
+
There is no preliminary capability request. Support/recovery methods belong to
|
|
432
|
+
the future provider lifecycle implementation and are not exposed here.
|
|
433
|
+
|
|
434
|
+
**An onramp setup is not a session.** It completes in the call that creates it
|
|
435
|
+
and returns `{ id, account }` — no status to poll, no expiry, no `nextAction`.
|
|
436
|
+
Bank details are read separately through `getAccountDetails`, because a customer
|
|
437
|
+
reads them before every transfer while setup happens once; that call returns a
|
|
438
|
+
hosted address and never the coordinates themselves. An offramp session keeps
|
|
439
|
+
`RampSession` with its status, expiry and `nextAction`, because it really is one
|
|
440
|
+
interaction.
|
|
441
|
+
|
|
442
|
+
Routes are scoped to the provider that serves them — `/onramp/noah/*` and
|
|
443
|
+
`/offramp/noah/*` here, while the existing Swapped flows keep their own paths.
|
|
444
|
+
A proxy must allow each one explicitly; an unlisted path 404s before reaching
|
|
445
|
+
the processor.
|
|
446
|
+
|
|
447
|
+
The initial contracts support EUR/USD bank transfers only. Onramp setup
|
|
448
|
+
uses `purpose: 'account_setup'` without an amount; the actual transfer determines
|
|
449
|
+
fiat sent. Offramp hosted beneficiary collection uses
|
|
450
|
+
`purpose: 'beneficiary_collection'`, separately from quoting and funding.
|
|
451
|
+
Offramp options use `amount` as decimal fiat major units the recipient receives.
|
|
452
|
+
No crypto-input quoting is exposed. Accounts return safe references/config/status,
|
|
453
|
+
not bank instructions. Hosted interaction completion never means payment
|
|
454
|
+
settlement; funding, payout and late returns have independent status fields.
|
|
455
|
+
|
|
456
|
+
The provider adapter and journey execution are not connected by this release.
|
|
457
|
+
Expect 503 until those implementations are deployed. Render hosted URLs only
|
|
458
|
+
after the journey's iframe presentation has been verified; do not log/store URLs.
|
|
@@ -1,7 +1,8 @@
|
|
|
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 _chunkOCWSMLOPcjs = require('./chunk-OCWSMLOP.cjs');
|
|
5
|
+
require('./chunk-LVCD6RHF.cjs');
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
|
|
@@ -10,13 +11,12 @@ var _chunkXJMDCBHScjs = require('./chunk-XJMDCBHS.cjs');
|
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
|
|
13
|
-
var
|
|
14
|
-
require('./chunk-JCWJ6HW7.cjs');
|
|
15
|
-
require('./chunk-LVCD6RHF.cjs');
|
|
14
|
+
var _chunkHMUGY66Ocjs = require('./chunk-HMUGY66O.cjs');
|
|
16
15
|
|
|
17
16
|
|
|
18
17
|
|
|
19
18
|
var _chunkOY5N3E6Lcjs = require('./chunk-OY5N3E6L.cjs');
|
|
19
|
+
require('./chunk-PYOC6K24.cjs');
|
|
20
20
|
|
|
21
21
|
// src/DepositModalReown.tsx
|
|
22
22
|
var _react = require('react');
|
|
@@ -44,7 +44,7 @@ var {
|
|
|
44
44
|
unichain,
|
|
45
45
|
katana,
|
|
46
46
|
hyperEvm
|
|
47
|
-
} =
|
|
47
|
+
} = _chunkOCWSMLOPcjs.getReownDependencies.call(void 0, )[1];
|
|
48
48
|
var APPKIT_NETWORK_BY_ID = {
|
|
49
49
|
[mainnet.id]: mainnet,
|
|
50
50
|
[optimism.id]: optimism,
|
|
@@ -76,7 +76,7 @@ function getAppKitNetwork(chainId) {
|
|
|
76
76
|
|
|
77
77
|
// src/core/reown-theme.ts
|
|
78
78
|
function mapTheme(theme) {
|
|
79
|
-
const themeMode =
|
|
79
|
+
const themeMode = _chunkHMUGY66Ocjs.resolveThemeMode.call(void 0, _optionalChain([theme, 'optionalAccess', _ => _.mode])) === "light" ? "light" : "dark";
|
|
80
80
|
const themeVariables = {
|
|
81
81
|
"--apkt-accent": _optionalChain([theme, 'optionalAccess', _2 => _2.ctaColor])
|
|
82
82
|
};
|
|
@@ -93,7 +93,7 @@ function setAppKitTheme(appKit, theme) {
|
|
|
93
93
|
|
|
94
94
|
// src/core/reown.tsx
|
|
95
95
|
var _jsxruntime = require('react/jsx-runtime');
|
|
96
|
-
var [appKitReact, appKitNetworks, wagmiAdapter, solanaAdapter] =
|
|
96
|
+
var [appKitReact, appKitNetworks, wagmiAdapter, solanaAdapter] = _chunkOCWSMLOPcjs.getReownDependencies.call(void 0, );
|
|
97
97
|
var {
|
|
98
98
|
createAppKit,
|
|
99
99
|
useAppKit,
|
|
@@ -109,14 +109,14 @@ function buildTransports(rpcUrls, networks = EVM_NETWORKS) {
|
|
|
109
109
|
const transports = {};
|
|
110
110
|
for (const network of networks) {
|
|
111
111
|
const id = Number(network.id);
|
|
112
|
-
transports[id] = _viem.http.call(void 0,
|
|
112
|
+
transports[id] = _viem.http.call(void 0, _chunkHMUGY66Ocjs.rpcUrlFor.call(void 0, rpcUrls, id));
|
|
113
113
|
}
|
|
114
114
|
return transports;
|
|
115
115
|
}
|
|
116
116
|
function getEvmRpcFingerprint(rpcUrls, networks) {
|
|
117
117
|
return networks.map((network) => {
|
|
118
118
|
const id = Number(network.id);
|
|
119
|
-
return `${id}=${_nullishCoalesce(
|
|
119
|
+
return `${id}=${_nullishCoalesce(_chunkHMUGY66Ocjs.rpcUrlFor.call(void 0, rpcUrls, id), () => ( ""))}`;
|
|
120
120
|
}).join("|");
|
|
121
121
|
}
|
|
122
122
|
var cachedAdapter = null;
|
|
@@ -187,7 +187,7 @@ function ReownWalletProvider({
|
|
|
187
187
|
backendUrl,
|
|
188
188
|
children
|
|
189
189
|
}) {
|
|
190
|
-
const rpcUrls =
|
|
190
|
+
const rpcUrls = _chunkHMUGY66Ocjs.useStableRpcUrls.call(void 0, rpcUrlsProp);
|
|
191
191
|
const [queryClient] = _react.useState.call(void 0, () => new (0, _reactquery.QueryClient)());
|
|
192
192
|
const overrides = _react.useMemo.call(void 0, () => {
|
|
193
193
|
if (!rpcUrls) return void 0;
|
|
@@ -199,14 +199,14 @@ function ReownWalletProvider({
|
|
|
199
199
|
return out;
|
|
200
200
|
}, [rpcUrls]);
|
|
201
201
|
const [state, setState] = _react.useState.call(void 0, () => {
|
|
202
|
-
const primed =
|
|
202
|
+
const primed = _chunkHMUGY66Ocjs.peekRuntimeChains.call(void 0, backendUrl, overrides);
|
|
203
203
|
return { ready: primed !== null, chains: _nullishCoalesce(primed, () => ( [])) };
|
|
204
204
|
});
|
|
205
205
|
_react.useEffect.call(void 0, () => {
|
|
206
206
|
let active = true;
|
|
207
|
-
const primed =
|
|
207
|
+
const primed = _chunkHMUGY66Ocjs.peekRuntimeChains.call(void 0, backendUrl, overrides);
|
|
208
208
|
setState({ ready: primed !== null, chains: _nullishCoalesce(primed, () => ( [])) });
|
|
209
|
-
|
|
209
|
+
_chunkHMUGY66Ocjs.primeRuntimeChains.call(void 0, backendUrl, overrides).then((chains) => {
|
|
210
210
|
if (active) setState({ ready: true, chains });
|
|
211
211
|
});
|
|
212
212
|
return () => {
|
|
@@ -215,7 +215,7 @@ function ReownWalletProvider({
|
|
|
215
215
|
}, [backendUrl, overrides]);
|
|
216
216
|
_react.useEffect.call(void 0, () => {
|
|
217
217
|
setAppKitTheme(appKitReact.modal, theme);
|
|
218
|
-
return
|
|
218
|
+
return _chunkHMUGY66Ocjs.followSystemAppearance.call(void 0,
|
|
219
219
|
_optionalChain([theme, 'optionalAccess', _7 => _7.mode]),
|
|
220
220
|
() => setAppKitTheme(appKitReact.modal, theme)
|
|
221
221
|
);
|
|
@@ -279,7 +279,7 @@ function useReownWalletSession() {
|
|
|
279
279
|
await switchChainAsync({ chainId });
|
|
280
280
|
}
|
|
281
281
|
} catch (err) {
|
|
282
|
-
if (
|
|
282
|
+
if (_chunkHMUGY66Ocjs.isUnsupportedChainSwitchError.call(void 0, err)) {
|
|
283
283
|
throw new Error(
|
|
284
284
|
`Switch to ${chainDisplayName(chainId)} in your wallet to continue`
|
|
285
285
|
);
|
|
@@ -292,7 +292,7 @@ function useReownWalletSession() {
|
|
|
292
292
|
|
|
293
293
|
// src/DepositModalReown.tsx
|
|
294
294
|
|
|
295
|
-
var [appKitReact2, , , , solanaAdapterReact] =
|
|
295
|
+
var [appKitReact2, , , , solanaAdapterReact] = _chunkOCWSMLOPcjs.getReownDependencies.call(void 0, );
|
|
296
296
|
var { useAppKitProvider } = appKitReact2;
|
|
297
297
|
var { useAppKitConnection } = solanaAdapterReact;
|
|
298
298
|
function DepositModalWithReown(props) {
|
|
@@ -314,7 +314,7 @@ function DepositModalWithReown(props) {
|
|
|
314
314
|
reown.disconnect();
|
|
315
315
|
}, [reown.disconnect]);
|
|
316
316
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
317
|
-
|
|
317
|
+
_chunkOCWSMLOPcjs.DepositModalInner,
|
|
318
318
|
{
|
|
319
319
|
...props,
|
|
320
320
|
walletSession: reownWithSolana,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DepositModalInner,
|
|
3
3
|
getReownDependencies
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-NITKDXHR.mjs";
|
|
5
|
+
import "./chunk-FTWKAJGN.mjs";
|
|
5
6
|
import {
|
|
6
7
|
followSystemAppearance,
|
|
7
8
|
isUnsupportedChainSwitchError,
|
|
@@ -10,13 +11,12 @@ import {
|
|
|
10
11
|
resolveThemeMode,
|
|
11
12
|
rpcUrlFor,
|
|
12
13
|
useStableRpcUrls
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-XCBDJPBD.mjs";
|
|
15
|
-
import "./chunk-FTWKAJGN.mjs";
|
|
14
|
+
} from "./chunk-5NWLS5BQ.mjs";
|
|
16
15
|
import {
|
|
17
16
|
SUPPORTED_CHAIN_IDS,
|
|
18
17
|
getChainName
|
|
19
18
|
} from "./chunk-EAGMY3QE.mjs";
|
|
19
|
+
import "./chunk-X6N2XPTO.mjs";
|
|
20
20
|
|
|
21
21
|
// src/DepositModalReown.tsx
|
|
22
22
|
import { useCallback, useMemo as useMemo2 } from "react";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
WithdrawModal,
|
|
3
3
|
buildWithdrawAnalyticsSessionProperties
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-XCBDJPBD.mjs";
|
|
4
|
+
} from "./chunk-BIL4ENC3.mjs";
|
|
5
|
+
import "./chunk-5NWLS5BQ.mjs";
|
|
7
6
|
import "./chunk-EAGMY3QE.mjs";
|
|
7
|
+
import "./chunk-X6N2XPTO.mjs";
|
|
8
8
|
export {
|
|
9
9
|
WithdrawModal,
|
|
10
10
|
buildWithdrawAnalyticsSessionProperties
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkEG4H7OMCcjs = require('./chunk-EG4H7OMC.cjs');
|
|
5
|
+
require('./chunk-HMUGY66O.cjs');
|
|
6
|
+
require('./chunk-OY5N3E6L.cjs');
|
|
7
|
+
require('./chunk-PYOC6K24.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
exports.WithdrawModal = _chunkEG4H7OMCcjs.WithdrawModal; exports.buildWithdrawAnalyticsSessionProperties = _chunkEG4H7OMCcjs.buildWithdrawAnalyticsSessionProperties;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface CustomerSession {
|
|
2
|
+
token: string;
|
|
3
|
+
expiresAt: string;
|
|
4
|
+
}
|
|
5
|
+
interface CustomerSessionOptions {
|
|
6
|
+
backendUrl: string;
|
|
7
|
+
getSession: () => CustomerSession | Promise<CustomerSession>;
|
|
8
|
+
}
|
|
9
|
+
declare class ScopedRequestError extends Error {
|
|
10
|
+
readonly status: number;
|
|
11
|
+
constructor(status: number);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { type CustomerSessionOptions as C, ScopedRequestError as S, type CustomerSession as a };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface CustomerSession {
|
|
2
|
+
token: string;
|
|
3
|
+
expiresAt: string;
|
|
4
|
+
}
|
|
5
|
+
interface CustomerSessionOptions {
|
|
6
|
+
backendUrl: string;
|
|
7
|
+
getSession: () => CustomerSession | Promise<CustomerSession>;
|
|
8
|
+
}
|
|
9
|
+
declare class ScopedRequestError extends Error {
|
|
10
|
+
readonly status: number;
|
|
11
|
+
constructor(status: number);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { type CustomerSessionOptions as C, ScopedRequestError as S, type CustomerSession as a };
|