@zkp2p/sdk 0.14.2-rc.4 → 0.14.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.
@@ -1,4 +1,4 @@
1
1
  export { Currency, currencyInfo, getCurrencyCodeFromHash, getCurrencyInfoFromCountryCode, getCurrencyInfoFromHash, isSupportedCurrencyHash, mapConversionRatesToOnchain, mapConversionRatesToOnchainMinRate } from './chunk-ZB22BZLZ.mjs';
2
- import './chunk-U555K2CU.mjs';
3
- //# sourceMappingURL=currency-54OSWCWH.mjs.map
4
- //# sourceMappingURL=currency-54OSWCWH.mjs.map
2
+ import './chunk-BVBHBKX7.mjs';
3
+ //# sourceMappingURL=currency-GBDKE3OV.mjs.map
4
+ //# sourceMappingURL=currency-GBDKE3OV.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"currency-54OSWCWH.mjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"currency-GBDKE3OV.mjs"}
package/dist/index.cjs CHANGED
@@ -21,7 +21,7 @@ var __export = (target, all) => {
21
21
  var define_ZKP2P_SDK_BUILD_METADATA_default;
22
22
  var init_define_ZKP2P_SDK_BUILD_METADATA = __esm({
23
23
  "<define:__ZKP2P_SDK_BUILD_METADATA__>"() {
24
- define_ZKP2P_SDK_BUILD_METADATA_default = { schemaVersion: 2, source: { repository: "zkp2p/zkp2p-clients", commitSha: "8f8238e57dadbf8c2dddc5e6a1db1bfaf2d21df2", kind: "github", distributable: true }, sdkPackageVersion: "0.14.2-rc.4", contractsPackageVersion: "0.4.2-rc.2", indexerSchemaPackageVersion: "0.22.0", activeDisputeStack: { base: { version: 2, selectionHash: "ba40c2954b408d0c658881a8d28e5bfcc9bade5cc3d953fd17eae1eca69d841c" }, baseStaging: { version: 2, selectionHash: "6c49c1ce51eec594a22385c4efcab08aa9926b6b63a725e14a0027ec5d2f4fc9" } } };
24
+ define_ZKP2P_SDK_BUILD_METADATA_default = { schemaVersion: 2, source: { repository: "zkp2p/zkp2p-clients", commitSha: "a87f38c512f987fc3b9234b5aee31115bf840a18", kind: "github", distributable: true }, sdkPackageVersion: "0.14.2", contractsPackageVersion: "0.4.2-rc.2", indexerSchemaPackageVersion: "0.22.0", activeDisputeStack: { base: { version: 2, selectionHash: "ba40c2954b408d0c658881a8d28e5bfcc9bade5cc3d953fd17eae1eca69d841c" }, baseStaging: { version: 2, selectionHash: "6c49c1ce51eec594a22385c4efcab08aa9926b6b63a725e14a0027ec5d2f4fc9" } } };
25
25
  }
26
26
  });
27
27
 
@@ -111566,6 +111566,77 @@ var getDelegationRoute = (_client, _escrow) => "v2";
111566
111566
  // src/venmoGmail.ts
111567
111567
  init_define_ZKP2P_SDK_BUILD_METADATA();
111568
111568
  init_errors();
111569
+
111570
+ // src/venmoGmailAppearance.ts
111571
+ init_define_ZKP2P_SDK_BUILD_METADATA();
111572
+ init_errors();
111573
+ var color = (value) => typeof value === "string" && /^#(?:[\da-f]{3}|[\da-f]{6})$/i.test(value);
111574
+ var pixels = (min, max) => (value) => typeof value === "number" && Number.isFinite(value) && value >= min && value <= max;
111575
+ var font = (value) => typeof value === "string" && value.length <= 160 && /^[\w\s,"'-]+$/.test(value);
111576
+ var transform = (value) => value === "none" || value === "uppercase";
111577
+ var assetUrl = (value) => {
111578
+ if (typeof value !== "string" || value.length > 2048) return false;
111579
+ try {
111580
+ const url = new URL(value);
111581
+ return !url.username && !url.password && (url.protocol === "https:" || url.protocol === "http:" && url.hostname === "localhost");
111582
+ } catch {
111583
+ return false;
111584
+ }
111585
+ };
111586
+ var fields = {
111587
+ logoUrl: assetUrl,
111588
+ logoBackgroundColor: color,
111589
+ logoBorderColor: color,
111590
+ logoAlt: (value) => typeof value === "string" && value.length <= 80,
111591
+ fontUrl: assetUrl,
111592
+ fontFamily: font,
111593
+ headingFontFamily: font,
111594
+ backgroundColor: color,
111595
+ cardBackgroundColor: color,
111596
+ textColor: color,
111597
+ secondaryTextColor: color,
111598
+ buttonColor: color,
111599
+ buttonTextColor: color,
111600
+ buttonHoverColor: color,
111601
+ focusColor: color,
111602
+ borderColor: color,
111603
+ successColor: color,
111604
+ errorColor: color,
111605
+ fontSize: pixels(12, 24),
111606
+ headingFontSize: pixels(20, 48),
111607
+ headingTextTransform: transform,
111608
+ buttonTextTransform: transform,
111609
+ buttonBorderRadius: pixels(0, 40),
111610
+ buttonHeight: pixels(44, 80),
111611
+ cardBorderRadius: pixels(0, 40),
111612
+ contentWidth: pixels(280, 960),
111613
+ padding: pixels(16, 64),
111614
+ gap: pixels(12, 48),
111615
+ logoHeight: pixels(24, 80)
111616
+ };
111617
+ function parseVenmoGmailAppearance(value) {
111618
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
111619
+ throw new exports.ValidationError("Expected a Venmo appearance object", "appearance");
111620
+ }
111621
+ const entries = Object.entries(value).filter(
111622
+ ([key]) => Object.prototype.hasOwnProperty.call(fields, key)
111623
+ );
111624
+ for (const [key, item] of entries) {
111625
+ if (!fields[key](item)) {
111626
+ throw new exports.ValidationError(`Invalid Venmo appearance option: ${key}`, `appearance.${key}`);
111627
+ }
111628
+ }
111629
+ return Object.fromEntries(entries);
111630
+ }
111631
+ function getVenmoGmailPopupSize(popup = {}) {
111632
+ const { width = 500, height = 700 } = popup;
111633
+ if (!pixels(320, 1200)(width) || !pixels(480, 1600)(height)) {
111634
+ throw new exports.ValidationError("Popup width must be 320\u20131200 and height 480\u20131600 pixels", "popup");
111635
+ }
111636
+ return { width, height };
111637
+ }
111638
+
111639
+ // src/venmoGmail.ts
111569
111640
  var VenmoGmailConnectError = class extends Error {
111570
111641
  constructor(code, message) {
111571
111642
  super(message);
@@ -111575,7 +111646,8 @@ var VenmoGmailConnectError = class extends Error {
111575
111646
  };
111576
111647
  function getVenmoGmailConnectUrl({
111577
111648
  payeeDetails,
111578
- peerOrigin = "https://app.peer.xyz"
111649
+ peerOrigin = "https://app.peer.xyz",
111650
+ appearance
111579
111651
  }) {
111580
111652
  if (!/^0x[0-9a-f]{64}$/i.test(payeeDetails)) {
111581
111653
  throw new exports.ValidationError("Expected a Venmo payee hash", "payeeDetails");
@@ -111590,18 +111662,21 @@ function getVenmoGmailConnectUrl({
111590
111662
  throw new exports.ValidationError("Expected an HTTPS Peer web origin", "peerOrigin");
111591
111663
  }
111592
111664
  const url = new URL("/connect/venmo", origin);
111665
+ if (appearance)
111666
+ url.searchParams.set("appearance", JSON.stringify(parseVenmoGmailAppearance(appearance)));
111593
111667
  url.hash = payeeDetails;
111594
111668
  return url.toString();
111595
111669
  }
111596
111670
  function openVenmoGmailConnect(options) {
111597
111671
  const url = new URL(getVenmoGmailConnectUrl(options));
111672
+ const { width, height } = getVenmoGmailPopupSize(options.popup);
111598
111673
  const requestId = window.crypto.randomUUID();
111599
111674
  url.searchParams.set("requestId", requestId);
111600
111675
  url.searchParams.set("hostOrigin", window.location.origin);
111601
111676
  return new Promise((resolve, reject) => {
111602
111677
  let popup;
111603
111678
  try {
111604
- const features = window.matchMedia("(max-width: 600px)").matches ? void 0 : "popup,width=500,height=700";
111679
+ const features = window.matchMedia("(max-width: 600px)").matches ? void 0 : `popup,width=${width},height=${height}`;
111605
111680
  popup = window.open(url.toString(), "_blank", features);
111606
111681
  } catch {
111607
111682
  popup = null;
@@ -111773,6 +111848,7 @@ exports.openVenmoGmailConnect = openVenmoGmailConnect;
111773
111848
  exports.parseDepositView = parseDepositView;
111774
111849
  exports.parseIntentView = parseIntentView;
111775
111850
  exports.parseReferrerFeeConfig = parseReferrerFeeConfig;
111851
+ exports.parseVenmoGmailAppearance = parseVenmoGmailAppearance;
111776
111852
  exports.peerExtensionSdk = peerExtensionSdk;
111777
111853
  exports.readDisputeAttestationConfig = readDisputeAttestationConfig;
111778
111854
  exports.referrerFeeConfigToPreciseUnits = referrerFeeConfigToPreciseUnits;