@usdctofiat/offramp 3.0.0 → 3.0.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/index.js CHANGED
@@ -27,7 +27,7 @@ import {
27
27
  sanitizeAttributionId,
28
28
  sendTelemetryEvent,
29
29
  undelegate
30
- } from "./chunk-J2CCUQZ4.js";
30
+ } from "./chunk-5KJ4DFWK.js";
31
31
 
32
32
  // src/types.ts
33
33
  var OFFRAMP_ERROR_CODES = {
package/dist/react.cjs CHANGED
@@ -30,7 +30,7 @@ var import_react = require("react");
30
30
 
31
31
  // src/config.ts
32
32
  var import_sdk = require("@zkp2p/sdk");
33
- var SDK_VERSION = "3.0.0";
33
+ var SDK_VERSION = "3.0.1";
34
34
  var BASE_CHAIN_ID = 8453;
35
35
  var RUNTIME_ENV = "production";
36
36
  var API_BASE_URL = "https://api.zkp2p.xyz";
@@ -370,6 +370,13 @@ function getPaymentMethodHashes(platform) {
370
370
  }
371
371
  return Array.from(hashes);
372
372
  }
373
+ function getPaymentMethodCreateEntries(platform) {
374
+ if (platform !== "zelle") {
375
+ const hash = getPaymentMethodHash(platform);
376
+ return hash ? [{ name: platform, hash }] : [];
377
+ }
378
+ return Object.entries(PAYMENT_CATALOG).filter(([name, entry]) => name.startsWith("zelle") && Boolean(entry.paymentMethodHash)).sort(([a], [b]) => a.localeCompare(b)).map(([name, entry]) => ({ name, hash: entry.paymentMethodHash }));
379
+ }
373
380
  function buildDepositData(platform, identifier, telegramUsername = "") {
374
381
  const offchainId = platform === "chime" ? identifier.toLowerCase() : identifier;
375
382
  return telegramUsername ? { offchainId, telegramUsername } : { offchainId };
@@ -1241,8 +1248,8 @@ async function offramp(walletClient, params, onProgress, telemetryContext) {
1241
1248
  throw new OfframpError(validation.error || "Invalid identifier", "VALIDATION");
1242
1249
  }
1243
1250
  const normalizedIdentifier = validation.normalized;
1244
- const methodHash = getPaymentMethodHash(platformId);
1245
- if (!methodHash) {
1251
+ const paymentMethodEntries = getPaymentMethodCreateEntries(platformId);
1252
+ if (paymentMethodEntries.length === 0) {
1246
1253
  throw new OfframpError(`${platform.name} is not currently supported`, "UNSUPPORTED");
1247
1254
  }
1248
1255
  const existing = await findUndelegatedDeposit(walletAddress);
@@ -1358,11 +1365,16 @@ async function offramp(walletClient, params, onProgress, telemetryContext) {
1358
1365
  );
1359
1366
  }
1360
1367
  emitProgress({ step: "depositing" });
1361
- const conversionRates = [
1362
- [{ currency: currencyCode, conversionRate: "1" }]
1363
- ];
1364
- const baseCurrenciesOverride = (0, import_sdk6.mapConversionRatesToOnchainMinRate)(conversionRates, 1);
1368
+ const conversionRates = paymentMethodEntries.map(() => [
1369
+ { currency: currencyCode, conversionRate: "1" }
1370
+ ]);
1371
+ const baseCurrenciesOverride = (0, import_sdk6.mapConversionRatesToOnchainMinRate)(
1372
+ conversionRates,
1373
+ paymentMethodEntries.length
1374
+ );
1365
1375
  const currenciesOverride = attachOracleConfig(baseCurrenciesOverride, conversionRates);
1376
+ const paymentMethodHashes = paymentMethodEntries.map((entry) => entry.hash);
1377
+ const payeeDetailsHashes = paymentMethodEntries.map(() => hashedOnchainId);
1366
1378
  let hash;
1367
1379
  try {
1368
1380
  const result2 = await client.createDeposit({
@@ -1370,17 +1382,15 @@ async function offramp(walletClient, params, onProgress, telemetryContext) {
1370
1382
  amount: amountUnits,
1371
1383
  retainOnEmpty: false,
1372
1384
  intentAmountRange: { min: minUnits, max: maxUnits },
1373
- processorNames: [platformId],
1385
+ processorNames: paymentMethodEntries.map((entry) => entry.name),
1374
1386
  conversionRates,
1375
- payeeDetailsHashes: [hashedOnchainId],
1376
- paymentMethodsOverride: [methodHash],
1377
- paymentMethodDataOverride: [
1378
- {
1379
- intentGatingService: GATING_SERVICE_ADDRESS,
1380
- payeeDetails: hashedOnchainId,
1381
- data: "0x"
1382
- }
1383
- ],
1387
+ payeeDetailsHashes,
1388
+ paymentMethodsOverride: paymentMethodHashes,
1389
+ paymentMethodDataOverride: payeeDetailsHashes.map((payeeDetails) => ({
1390
+ intentGatingService: GATING_SERVICE_ADDRESS,
1391
+ payeeDetails,
1392
+ data: "0x"
1393
+ })),
1384
1394
  currenciesOverride,
1385
1395
  escrowAddress: ESCROW_ADDRESS,
1386
1396
  txOverrides