@usdctofiat/offramp 3.0.0 → 3.0.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/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-F7DVUBMT.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.2";
34
34
  var BASE_CHAIN_ID = 8453;
35
35
  var RUNTIME_ENV = "production";
36
36
  var API_BASE_URL = "https://api.zkp2p.xyz";
@@ -47,6 +47,7 @@ var GATING_SERVICE_ADDRESS = (0, import_sdk.getGatingServiceAddress)(
47
47
  var DELEGATE_RATE_MANAGER_ID = "0x8666d6fb0f6797c56e95339fd7ca82fdd348b9db200e10a4c4aa0a0b879fc41c";
48
48
  var RATE_MANAGER_REGISTRY_ADDRESS = "0xeed7db23e724ac4590d6db6f78fda6db203535f3";
49
49
  var DELEGATE_MANAGER_FEE_BPS = 10;
50
+ var DEFAULT_INTENT_GUARDIAN_ADDRESS = "0xe29a5BD4D0CEbA6C125A0361E7D20ab4eA275C2f";
50
51
  var REFERRER = "galleonlabs";
51
52
  var MIN_DEPOSIT_USDC = 1;
52
53
  var MIN_ORDER_USDC = 1;
@@ -370,6 +371,13 @@ function getPaymentMethodHashes(platform) {
370
371
  }
371
372
  return Array.from(hashes);
372
373
  }
374
+ function getPaymentMethodCreateEntries(platform) {
375
+ if (platform !== "zelle") {
376
+ const hash = getPaymentMethodHash(platform);
377
+ return hash ? [{ name: platform, hash }] : [];
378
+ }
379
+ 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 }));
380
+ }
373
381
  function buildDepositData(platform, identifier, telegramUsername = "") {
374
382
  const offchainId = platform === "chime" ? identifier.toLowerCase() : identifier;
375
383
  return telegramUsername ? { offchainId, telegramUsername } : { offchainId };
@@ -1241,8 +1249,8 @@ async function offramp(walletClient, params, onProgress, telemetryContext) {
1241
1249
  throw new OfframpError(validation.error || "Invalid identifier", "VALIDATION");
1242
1250
  }
1243
1251
  const normalizedIdentifier = validation.normalized;
1244
- const methodHash = getPaymentMethodHash(platformId);
1245
- if (!methodHash) {
1252
+ const paymentMethodEntries = getPaymentMethodCreateEntries(platformId);
1253
+ if (paymentMethodEntries.length === 0) {
1246
1254
  throw new OfframpError(`${platform.name} is not currently supported`, "UNSUPPORTED");
1247
1255
  }
1248
1256
  const existing = await findUndelegatedDeposit(walletAddress);
@@ -1358,11 +1366,16 @@ async function offramp(walletClient, params, onProgress, telemetryContext) {
1358
1366
  );
1359
1367
  }
1360
1368
  emitProgress({ step: "depositing" });
1361
- const conversionRates = [
1362
- [{ currency: currencyCode, conversionRate: "1" }]
1363
- ];
1364
- const baseCurrenciesOverride = (0, import_sdk6.mapConversionRatesToOnchainMinRate)(conversionRates, 1);
1369
+ const conversionRates = paymentMethodEntries.map(() => [
1370
+ { currency: currencyCode, conversionRate: "1" }
1371
+ ]);
1372
+ const baseCurrenciesOverride = (0, import_sdk6.mapConversionRatesToOnchainMinRate)(
1373
+ conversionRates,
1374
+ paymentMethodEntries.length
1375
+ );
1365
1376
  const currenciesOverride = attachOracleConfig(baseCurrenciesOverride, conversionRates);
1377
+ const paymentMethodHashes = paymentMethodEntries.map((entry) => entry.hash);
1378
+ const payeeDetailsHashes = paymentMethodEntries.map(() => hashedOnchainId);
1366
1379
  let hash;
1367
1380
  try {
1368
1381
  const result2 = await client.createDeposit({
@@ -1370,18 +1383,17 @@ async function offramp(walletClient, params, onProgress, telemetryContext) {
1370
1383
  amount: amountUnits,
1371
1384
  retainOnEmpty: false,
1372
1385
  intentAmountRange: { min: minUnits, max: maxUnits },
1373
- processorNames: [platformId],
1386
+ processorNames: paymentMethodEntries.map((entry) => entry.name),
1374
1387
  conversionRates,
1375
- payeeDetailsHashes: [hashedOnchainId],
1376
- paymentMethodsOverride: [methodHash],
1377
- paymentMethodDataOverride: [
1378
- {
1379
- intentGatingService: GATING_SERVICE_ADDRESS,
1380
- payeeDetails: hashedOnchainId,
1381
- data: "0x"
1382
- }
1383
- ],
1388
+ payeeDetailsHashes,
1389
+ paymentMethodsOverride: paymentMethodHashes,
1390
+ paymentMethodDataOverride: payeeDetailsHashes.map((payeeDetails) => ({
1391
+ intentGatingService: GATING_SERVICE_ADDRESS,
1392
+ payeeDetails,
1393
+ data: "0x"
1394
+ })),
1384
1395
  currenciesOverride,
1396
+ intentGuardian: DEFAULT_INTENT_GUARDIAN_ADDRESS,
1385
1397
  escrowAddress: ESCROW_ADDRESS,
1386
1398
  txOverrides
1387
1399
  });