@0xkey-io/react-wallet-kit 0.1.0 → 0.2.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.
@@ -1,14 +1,16 @@
1
1
  /// <reference types="react" />
2
+ import type { OnRampFlowResult } from "@0xkey-io/core";
2
3
  type OnRampPageProps = {
3
4
  icon: React.ReactNode;
4
5
  onrampProvider: string;
5
6
  action: () => Promise<void>;
6
7
  completed: boolean;
8
+ result?: OnRampFlowResult | undefined;
7
9
  successPageDuration?: number;
8
10
  sandboxMode?: boolean;
9
- onSuccess?: () => void;
11
+ onSuccess?: (result: OnRampFlowResult) => void;
10
12
  onError?: (error: any) => void;
11
13
  };
12
- export declare function OnRampPage({ icon, onrampProvider, action, completed, successPageDuration, sandboxMode, onSuccess, onError, }: OnRampPageProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function OnRampPage({ icon, onrampProvider, action, completed, result, successPageDuration, sandboxMode, onSuccess, onError, }: OnRampPageProps): import("react/jsx-runtime").JSX.Element;
13
15
  export {};
14
16
  //# sourceMappingURL=OnRamp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OnRamp.d.ts","sourceRoot":"","sources":["../../../src/components/onramp/OnRamp.tsx"],"names":[],"mappings":";AAKA,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,cAAc,EACd,MAAM,EACN,SAAS,EACT,mBAA0B,EAC1B,WAAmB,EACnB,SAAS,EACT,OAAO,GACR,EAAE,eAAe,2CAuDjB"}
1
+ {"version":3,"file":"OnRamp.d.ts","sourceRoot":"","sources":["../../../src/components/onramp/OnRamp.tsx"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACtC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,cAAc,EACd,MAAM,EACN,SAAS,EACT,MAAM,EACN,mBAA0B,EAC1B,WAAmB,EACnB,SAAS,EACT,OAAO,GACR,EAAE,eAAe,2CA0DjB"}
@@ -11,6 +11,7 @@ function OnRampPage({
11
11
  onrampProvider,
12
12
  action,
13
13
  completed,
14
+ result,
14
15
  successPageDuration = 2000,
15
16
  sandboxMode = false,
16
17
  onSuccess,
@@ -21,13 +22,16 @@ function OnRampPage({
21
22
  isMobile
22
23
  } = Hook.useModal();
23
24
  if (completed) {
25
+ const status = result?.status ?? "unknown";
24
26
  return jsxRuntime.jsx("div", {
25
27
  className: clsx("flex flex-col items-center justify-center py-5 transition-all duration-300 text-center", isMobile ? "w-full" : "w-72"),
26
28
  children: jsxRuntime.jsx(Success.SuccessPage, {
27
- text: "On Ramp Transaction Complete!",
29
+ text: `On Ramp Transaction ${status === "completed" ? "Complete" : status}!`,
28
30
  duration: successPageDuration,
29
31
  onComplete: () => {
30
- onSuccess?.();
32
+ if (result) {
33
+ onSuccess?.(result);
34
+ }
31
35
  closeModal();
32
36
  }
33
37
  })
@@ -1 +1 @@
1
- {"version":3,"file":"OnRamp.js","sources":["../../../src/components/onramp/OnRamp.tsx"],"sourcesContent":[null],"names":["OnRampPage","icon","onrampProvider","action","completed","successPageDuration","sandboxMode","onSuccess","onError","closeModal","isMobile","useModal","_jsx","className","clsx","children","SuccessPage","text","duration","onComplete","_jsxs","ActionPage","title","err","closeOnComplete"],"mappings":";;;;;;;;AAgBM,SAAUA,UAAUA,CAAC;EACzBC,IAAI;EACJC,cAAc;EACdC,MAAM;EACNC,SAAS;AACTC,EAAAA,mBAAmB,GAAG,IAAI;AAC1BC,EAAAA,WAAW,GAAG,KAAK;EACnBC,SAAS;AACTC,EAAAA;AAAO,CACS,EAAA;EAChB,MAAM;IAAEC,UAAU;AAAEC,IAAAA;GAAU,GAAGC,aAAQ,EAAE;AAE3C,EAAA,IAAIP,SAAS,EAAE;IACb,OACEQ,cAAA,CAAA,KAAA,EAAA;MACEC,SAAS,EAAEC,IAAI,CACb,wFAAwF,EACxFJ,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAC7B;AAAAK,MAAAA,QAAA,EAEDH,cAAA,CAACI,mBAAW,EAAA;AACVC,QAAAA,IAAI,EAAC,+BAA+B;AACpCC,QAAAA,QAAQ,EAAEb,mBAAmB;QAC7Bc,UAAU,EAAEA,MAAK;AACfZ,UAAAA,SAAS,IAAI;AACbE,UAAAA,UAAU,EAAE;AACd,QAAA;OAAC;AACD,KAAA,CACE;AAEV,EAAA;EAEA,OACEW,eAAA,CAAA,KAAA,EAAA;IACEP,SAAS,EAAEC,IAAI,CACb,wFAAwF,EACxFJ,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAC7B;AAAAK,IAAAA,QAAA,EAAA,CAEDH,cAAA,CAACS,iBAAU,EAAA;AACTC,MAAAA,KAAK,EAAC,mBAAmB;AACzBrB,MAAAA,IAAI,EAAEA,IAAI;MACVE,MAAM,EAAE,YAAW;QACjB,IAAI;UACF,MAAMA,MAAM,EAAE;QAChB,CAAC,CAAC,OAAOoB,GAAG,EAAE;UACZf,OAAO,GAAGe,GAAG,CAAC;AACd,UAAA,MAAMA,GAAG;AACX,QAAA;MACF,CAAC;AACDC,MAAAA,eAAe,EAAE;AAAK,KAAA,CACtB,EACFZ,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,wEAAwE;AAAAE,MAAAA,QAAA,EACpFb,cAAc,KAAK,gCAAgC,GAChD,wDAAwD,GACxD;AAAuD,KAAA,CACvD,EACLI,WAAW,IACVM,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,wDAAwD;AAAAE,MAAAA,QAAA,EAAA;AAAA,KAAA,CAGxE;AAAA,GAAA,CACG;AAEV;;;;"}
1
+ {"version":3,"file":"OnRamp.js","sources":["../../../src/components/onramp/OnRamp.tsx"],"sourcesContent":[null],"names":["OnRampPage","icon","onrampProvider","action","completed","result","successPageDuration","sandboxMode","onSuccess","onError","closeModal","isMobile","useModal","status","_jsx","className","clsx","children","SuccessPage","text","duration","onComplete","_jsxs","ActionPage","title","err","closeOnComplete"],"mappings":";;;;;;;;AAkBM,SAAUA,UAAUA,CAAC;EACzBC,IAAI;EACJC,cAAc;EACdC,MAAM;EACNC,SAAS;EACTC,MAAM;AACNC,EAAAA,mBAAmB,GAAG,IAAI;AAC1BC,EAAAA,WAAW,GAAG,KAAK;EACnBC,SAAS;AACTC,EAAAA;AAAO,CACS,EAAA;EAChB,MAAM;IAAEC,UAAU;AAAEC,IAAAA;GAAU,GAAGC,aAAQ,EAAE;AAE3C,EAAA,IAAIR,SAAS,EAAE;AACb,IAAA,MAAMS,MAAM,GAAGR,MAAM,EAAEQ,MAAM,IAAI,SAAS;IAC1C,OACEC;MACEC,SAAS,EAAEC,IAAI,CACb,wFAAwF,EACxFL,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAC7B;AAAAM,MAAAA,QAAA,EAEDH,eAACI,mBAAW,EAAA;QACVC,IAAI,EAAE,uBAAuBN,MAAM,KAAK,WAAW,GAAG,UAAU,GAAGA,MAAM,CAAA,CAAA,CAAG;AAC5EO,QAAAA,QAAQ,EAAEd,mBAAmB;QAC7Be,UAAU,EAAEA,MAAK;AACf,UAAA,IAAIhB,MAAM,EAAE;YACVG,SAAS,GAAGH,MAAM,CAAC;AACrB,UAAA;AACAK,UAAAA,UAAU,EAAE;AACd,QAAA;OAAC;AACD,KAAA,CACE;AAEV,EAAA;EAEA,OACEY,eAAA,CAAA,KAAA,EAAA;IACEP,SAAS,EAAEC,IAAI,CACb,wFAAwF,EACxFL,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAC7B;AAAAM,IAAAA,QAAA,EAAA,CAEDH,cAAA,CAACS,iBAAU,EAAA;AACTC,MAAAA,KAAK,EAAC,mBAAmB;AACzBvB,MAAAA,IAAI,EAAEA,IAAI;MACVE,MAAM,EAAE,YAAW;QACjB,IAAI;UACF,MAAMA,MAAM,EAAE;QAChB,CAAC,CAAC,OAAOsB,GAAG,EAAE;UACZhB,OAAO,GAAGgB,GAAG,CAAC;AACd,UAAA,MAAMA,GAAG;AACX,QAAA;MACF,CAAC;AACDC,MAAAA,eAAe,EAAE;AAAK,KAAA,CACtB,EACFZ,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,wEAAwE;AAAAE,MAAAA,QAAA,EACpFf,cAAc,KAAK,gCAAgC,GAChD,wDAAwD,GACxD;AAAuD,KAAA,CACvD,EACLK,WAAW,IACVO,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,wDAAwD;AAAAE,MAAAA,QAAA,EAAA;AAAA,KAAA,CAGxE;AAAA,GAAA,CACG;AAEV;;;;"}
@@ -10,6 +10,7 @@ function OnRampPage(_ref) {
10
10
  onrampProvider = _ref.onrampProvider,
11
11
  _action = _ref.action,
12
12
  completed = _ref.completed,
13
+ result = _ref.result,
13
14
  _ref$successPageDurat = _ref.successPageDuration,
14
15
  successPageDuration = _ref$successPageDurat === void 0 ? 2000 : _ref$successPageDurat,
15
16
  _ref$sandboxMode = _ref.sandboxMode,
@@ -20,13 +21,17 @@ function OnRampPage(_ref) {
20
21
  closeModal = _useModal.closeModal,
21
22
  isMobile = _useModal.isMobile;
22
23
  if (completed) {
24
+ var _result$status;
25
+ var status = (_result$status = result === null || result === void 0 ? void 0 : result.status) !== null && _result$status !== void 0 ? _result$status : "unknown";
23
26
  return jsx("div", {
24
27
  className: clsx("flex flex-col items-center justify-center py-5 transition-all duration-300 text-center", isMobile ? "w-full" : "w-72"),
25
28
  children: jsx(SuccessPage, {
26
- text: "On Ramp Transaction Complete!",
29
+ text: "On Ramp Transaction ".concat(status === "completed" ? "Complete" : status, "!"),
27
30
  duration: successPageDuration,
28
31
  onComplete: function onComplete() {
29
- onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
32
+ if (result) {
33
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(result);
34
+ }
30
35
  closeModal();
31
36
  }
32
37
  })
@@ -1 +1 @@
1
- {"version":3,"file":"OnRamp.mjs","sources":["../../../src/components/onramp/OnRamp.tsx"],"sourcesContent":[null],"names":["OnRampPage","_ref","icon","onrampProvider","action","completed","_ref$successPageDurat","successPageDuration","_ref$sandboxMode","sandboxMode","onSuccess","onError","_useModal","useModal","closeModal","isMobile","_jsx","className","clsx","children","SuccessPage","text","duration","onComplete","_jsxs","ActionPage","title","_action2","_asyncToGenerator","_regenerator","m","_callee","_t","w","_context","p","n","v","a","apply","arguments","closeOnComplete"],"mappings":"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"}
1
+ {"version":3,"file":"OnRamp.mjs","sources":["../../../src/components/onramp/OnRamp.tsx"],"sourcesContent":[null],"names":["OnRampPage","_ref","icon","onrampProvider","action","completed","result","_ref$successPageDurat","successPageDuration","_ref$sandboxMode","sandboxMode","onSuccess","onError","_useModal","useModal","closeModal","isMobile","_result$status","status","_jsx","className","clsx","children","SuccessPage","text","concat","duration","onComplete","_jsxs","ActionPage","title","_action2","_asyncToGenerator","_regenerator","m","_callee","_t","w","_context","p","n","v","a","apply","arguments","closeOnComplete"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/providers/client/Provider.tsx"],"names":[],"mappings":"AAyHA,OAAO,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAC;AAwB5E,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAM5B,MAAM,kBAAkB,CAAC;AAwD1B;;GAEG;AACH,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkpLxD,CAAC"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/providers/client/Provider.tsx"],"names":[],"mappings":"AAgIA,OAAO,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAC;AAsB5E,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAM5B,MAAM,kBAAkB,CAAC;AAwD1B;;GAEG;AACH,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAwoLxD,CAAC"}
@@ -3516,48 +3516,39 @@ const ClientProvider = ({
3516
3516
  urlForSignature,
3517
3517
  countryCode,
3518
3518
  onrampProvider = "FIAT_ON_RAMP_PROVIDER_MOONPAY",
3519
- sandboxMode = true,
3520
3519
  successPageDuration = 2000,
3521
- openInNewTab = false
3520
+ openInNewTab = false,
3521
+ openMode,
3522
+ polling,
3523
+ onStatusChange
3522
3524
  } = params;
3525
+ if (params.sandboxMode === undefined) {
3526
+ throw new core.OnRampError(core.OnRampErrorCode.SANDBOX_MODE_REQUIRED, "sandboxMode must be explicitly set for on-ramp flows.");
3527
+ }
3528
+ // Fail fast (before opening any modal/window) when the provider has no
3529
+ // supported runtime, so callers get a typed error instead of a popup.
3530
+ core.assertOnRampProviderSupported(onrampProvider);
3531
+ if (!client?.httpClient) {
3532
+ throw new sdkTypes.ZeroXKeyError("Client is not initialized.", sdkTypes.ZeroXKeyErrorCodes.CLIENT_NOT_INITIALIZED);
3533
+ }
3523
3534
  const s = await getSession();
3524
3535
  const organizationId = params?.organizationId || s?.organizationId;
3525
3536
  if (!organizationId) {
3526
3537
  throw new sdkTypes.ZeroXKeyError("A session or passed in organization ID is required.", sdkTypes.ZeroXKeyErrorCodes.INVALID_REQUEST);
3527
3538
  }
3528
- let cryptoCurrencyCode;
3529
- let network;
3530
- switch (true) {
3531
- case walletAccount.addressFormat === "ADDRESS_FORMAT_ETHEREUM":
3532
- cryptoCurrencyCode = sdkTypes.FiatOnRampCryptoCurrency.ETHEREUM;
3533
- network = sdkTypes.FiatOnRampBlockchainNetwork.ETHEREUM;
3534
- break;
3535
- case walletAccount.addressFormat?.includes("ADDRESS_FORMAT_BITCOIN"):
3536
- cryptoCurrencyCode = sdkTypes.FiatOnRampCryptoCurrency.BITCOIN;
3537
- network = sdkTypes.FiatOnRampBlockchainNetwork.BITCOIN;
3538
- break;
3539
- case walletAccount.addressFormat === "ADDRESS_FORMAT_SOLANA":
3540
- cryptoCurrencyCode = sdkTypes.FiatOnRampCryptoCurrency.SOLANA;
3541
- network = sdkTypes.FiatOnRampBlockchainNetwork.SOLANA;
3542
- break;
3543
- default:
3544
- cryptoCurrencyCode = sdkTypes.FiatOnRampCryptoCurrency.ETHEREUM;
3545
- network = sdkTypes.FiatOnRampBlockchainNetwork.ETHEREUM;
3546
- break;
3547
- }
3548
- const openNewTab = openInNewTab || isMobile;
3549
- cryptoCurrencyCode = params.cryptoCurrencyCode || cryptoCurrencyCode;
3550
- network = params.network || network;
3539
+ const inferredAsset = params.network && params.cryptoCurrencyCode ? undefined : core.inferOnRampAssetFromWalletAccount(walletAccount);
3540
+ const cryptoCurrencyCode = params.cryptoCurrencyCode ?? inferredAsset?.cryptoCurrencyCode;
3541
+ const network = params.network ?? inferredAsset?.network;
3542
+ if (!cryptoCurrencyCode || !network) {
3543
+ throw new core.OnRampError(core.OnRampErrorCode.ASSET_REQUIRED, "network and cryptoCurrencyCode are required for on-ramp flows.");
3544
+ }
3545
+ const resolvedOpenMode = openMode ?? (openInNewTab || isMobile ? "newTab" : "popup");
3551
3546
  return new Promise((resolve, reject) => {
3552
3547
  const OnRampContainer = () => {
3553
3548
  const [completed, setCompleted] = react.useState(false);
3554
- const pollingRef = react.useRef(null);
3555
- const cleanup = () => {
3556
- if (pollingRef.current) {
3557
- clearInterval(pollingRef.current);
3558
- pollingRef.current = null;
3559
- }
3560
- };
3549
+ const [result, setResult] = react.useState();
3550
+ const abortRef = react.useRef(null);
3551
+ const cleanup = () => abortRef.current?.abort();
3561
3552
  react.useEffect(() => {
3562
3553
  return () => {
3563
3554
  cleanup();
@@ -3566,17 +3557,21 @@ const ClientProvider = ({
3566
3557
  const action = async () => {
3567
3558
  try {
3568
3559
  let onRampWindow = null;
3569
- if (openNewTab) {
3560
+ if (resolvedOpenMode === "newTab") {
3570
3561
  onRampWindow = window.open("", "_blank");
3571
- if (!onRampWindow) throw new Error("Failed to open On Ramp tab.");
3562
+ if (!onRampWindow) throw new core.OnRampError(core.OnRampErrorCode.POPUP_BLOCKED, "Failed to open On Ramp tab.");
3572
3563
  }
3573
- const result = await client?.httpClient?.initFiatOnRamp({
3564
+ const initResult = await core.initOnRampFlow({
3565
+ runtimeClient: client.httpClient,
3574
3566
  onrampProvider,
3575
3567
  walletAddress: walletAccount.address,
3576
3568
  network,
3577
3569
  cryptoCurrencyCode,
3578
- sandboxMode,
3579
3570
  organizationId,
3571
+ sandboxMode: params.sandboxMode,
3572
+ ...(params.stampWith ? {
3573
+ stampWith: params.stampWith
3574
+ } : {}),
3580
3575
  ...(fiatCurrencyCode ? {
3581
3576
  fiatCurrencyCode
3582
3577
  } : {}),
@@ -3592,63 +3587,63 @@ const ClientProvider = ({
3592
3587
  ...(countrySubdivisionCode ? {
3593
3588
  countrySubdivisionCode
3594
3589
  } : {}),
3595
- ...(sandboxMode !== undefined ? {
3596
- sandboxMode
3597
- } : {}),
3598
3590
  ...(urlForSignature ? {
3599
3591
  urlForSignature
3600
3592
  } : {})
3601
3593
  });
3602
- if (!result?.onRampUrl) throw new Error("Missing onRampUrl");
3603
- if (openNewTab && onRampWindow) {
3604
- onRampWindow.location.href = result.onRampUrl.toString();
3594
+ onStatusChange?.(initResult);
3595
+ if (resolvedOpenMode === "returnUrl") {
3596
+ setResult(initResult);
3597
+ setCompleted(true);
3598
+ return;
3599
+ }
3600
+ const providerUrl = initResult.signedUrl ?? initResult.onRampUrl;
3601
+ if (resolvedOpenMode === "newTab" && onRampWindow) {
3602
+ onRampWindow.location.href = providerUrl;
3605
3603
  } else {
3606
3604
  const popupWidth = 500;
3607
3605
  const popupHeight = 600;
3608
3606
  const left = window.screenX + (window.innerWidth - popupWidth) / 2;
3609
3607
  const top = window.screenY + (window.innerHeight - popupHeight) / 2;
3610
- onRampWindow = window.open(result.onRampUrl.toString(), "_blank", `width=${popupWidth},height=${popupHeight},top=${top},left=${left},scrollbars=yes,resizable=yes`);
3611
- if (!onRampWindow) throw new Error("Failed to open On Ramp window.");
3608
+ onRampWindow = window.open(providerUrl, "_blank", `width=${popupWidth},height=${popupHeight},top=${top},left=${left},scrollbars=yes,resizable=yes`);
3609
+ if (!onRampWindow) throw new core.OnRampError(core.OnRampErrorCode.POPUP_BLOCKED, "Failed to open On Ramp window.");
3612
3610
  }
3613
- const onRampTransactionId = result.onRampTransactionId;
3614
- if (!onRampTransactionId) throw new Error("No onRampTransactionId returned");
3615
- return new Promise((resolveAction, rejectAction) => {
3616
- pollingRef.current = setInterval(async () => {
3617
- try {
3618
- if (onrampProvider === "FIAT_ON_RAMP_PROVIDER_COINBASE" && onRampWindow?.closed) {
3619
- cleanup();
3620
- rejectAction(new Error("On-ramp popup closed by user"));
3621
- return;
3622
- }
3623
- let currentUrl = "";
3624
- try {
3625
- currentUrl = onRampWindow?.location.href || "";
3626
- } catch {}
3627
- if (currentUrl && currentUrl.startsWith(window.location.origin)) {
3628
- cleanup();
3629
- onRampWindow?.close();
3630
- setCompleted(true);
3631
- resolveAction();
3632
- return;
3633
- }
3634
- const resp = await client?.httpClient?.getOnRampTransactionStatus({
3635
- transactionId: onRampTransactionId,
3636
- refresh: true
3637
- });
3638
- const status = resp?.transactionStatus;
3639
- if (["COMPLETED", "FAILED", "CANCELLED"].includes(status ?? "")) {
3640
- cleanup();
3641
- try {
3642
- onRampWindow?.close();
3643
- } catch {}
3644
- setCompleted(true);
3645
- resolveAction();
3646
- }
3647
- } catch (error) {
3648
- console.warn("Polling error (ignored):", error);
3649
- }
3650
- }, 3000);
3611
+ abortRef.current = new AbortController();
3612
+ const status = await core.pollOnRampTransactionStatus({
3613
+ runtimeClient: client.httpClient,
3614
+ organizationId,
3615
+ transactionId: initResult.onRampTransactionId,
3616
+ refresh: polling?.refresh ?? true,
3617
+ signal: abortRef.current.signal,
3618
+ onStatusUpdate: polledStatus => {
3619
+ onStatusChange?.({
3620
+ ...initResult,
3621
+ status: polledStatus
3622
+ });
3623
+ },
3624
+ ...(params.stampWith ? {
3625
+ stampWith: params.stampWith
3626
+ } : {}),
3627
+ ...(polling?.intervalMs ? {
3628
+ intervalMs: polling.intervalMs
3629
+ } : {}),
3630
+ ...(polling?.timeoutMs ? {
3631
+ timeoutMs: polling.timeoutMs
3632
+ } : {}),
3633
+ ...(polling?.maxConsecutiveErrors ? {
3634
+ maxConsecutiveErrors: polling.maxConsecutiveErrors
3635
+ } : {})
3651
3636
  });
3637
+ try {
3638
+ onRampWindow?.close();
3639
+ } catch {}
3640
+ // The terminal status was already emitted via onStatusUpdate
3641
+ // inside pollOnRampTransactionStatus; avoid a duplicate callback.
3642
+ setResult({
3643
+ ...initResult,
3644
+ status
3645
+ });
3646
+ setCompleted(true);
3652
3647
  } catch (err) {
3653
3648
  cleanup();
3654
3649
  throw err;
@@ -3662,10 +3657,11 @@ const ClientProvider = ({
3662
3657
  }),
3663
3658
  onrampProvider: onrampProvider,
3664
3659
  action: action,
3665
- sandboxMode: sandboxMode,
3660
+ sandboxMode: params.sandboxMode,
3666
3661
  completed: completed,
3662
+ result: result,
3667
3663
  successPageDuration: successPageDuration,
3668
- onSuccess: () => resolve(),
3664
+ onSuccess: resolvedResult => resolve(resolvedResult),
3669
3665
  onError: err => reject(err)
3670
3666
  });
3671
3667
  };
@@ -3674,7 +3670,9 @@ const ClientProvider = ({
3674
3670
  content: jsxRuntime.jsx(OnRampContainer, {}),
3675
3671
  showTitle: false,
3676
3672
  preventBack: true,
3677
- onClose: () => reject(new sdkTypes.ZeroXKeyError("User canceled the onramp process.", sdkTypes.ZeroXKeyErrorCodes.USER_CANCELED))
3673
+ onClose: () => {
3674
+ reject(new core.OnRampError(core.OnRampErrorCode.USER_ABORTED, "User canceled the onramp process."));
3675
+ }
3678
3676
  });
3679
3677
  });
3680
3678
  }, [getSession, client, pushPage]);