@paywithglide/glide-react 0.0.17 → 0.0.19

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,5 @@
1
1
  import { GlideWidgetTheme } from './theme.ts';
2
+ import { CAIP2 } from '@paywithglide/glide-js';
2
3
  export type Hex = `0x${string}`;
3
4
  export type EVMTransaction = {
4
5
  chainId: number;
@@ -93,8 +94,12 @@ export type GlideDepositOptions = {
93
94
  };
94
95
  sessionMetadata?: string;
95
96
  preferGaslessPayment?: boolean;
97
+ excludeChainIds?: CAIP2[];
98
+ excludeCurrencyTiers?: ("tier1" | "tier2" | "tier3")[];
96
99
  walletProvider?: GlideDepositWalletProvider;
100
+ onOpen?: () => void;
97
101
  onSuccess?: (hash: Hex) => void;
102
+ onClose?: () => void;
98
103
  autoCloseOnSuccess?: boolean;
99
104
  theme?: GlideWidgetTheme;
100
105
  baseUrl?: string;
package/dist/glide.js CHANGED
@@ -1,31 +1,31 @@
1
- var M = Object.defineProperty;
2
- var k = (s, t, e) => t in s ? M(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
- var g = (s, t, e) => k(s, typeof t != "symbol" ? t + "" : t, e);
4
- import { useMemo as y } from "react";
5
- function G(s, { strict: t = !0 } = {}) {
1
+ var G = Object.defineProperty;
2
+ var C = (s, t, e) => t in s ? G(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
+ var w = (s, t, e) => C(s, typeof t != "symbol" ? t + "" : t, e);
4
+ import { useMemo as b } from "react";
5
+ function H(s, { strict: t = !0 } = {}) {
6
6
  return !s || typeof s != "string" ? !1 : t ? /^0x[0-9a-fA-F]*$/.test(s) : s.startsWith("0x");
7
7
  }
8
- function U(s) {
9
- return G(s, { strict: !1 }) ? Math.ceil((s.length - 2) / 2) : s.length;
8
+ function T(s) {
9
+ return H(s, { strict: !1 }) ? Math.ceil((s.length - 2) / 2) : s.length;
10
10
  }
11
- const z = "2.21.51";
12
- let m = {
11
+ const D = "2.21.51";
12
+ let y = {
13
13
  getDocsUrl: ({ docsBaseUrl: s, docsPath: t = "", docsSlug: e }) => t ? `${s ?? "https://viem.sh"}${t}${e ? `#${e}` : ""}` : void 0,
14
- version: `viem@${z}`
14
+ version: `viem@${D}`
15
15
  };
16
- class u extends Error {
16
+ class g extends Error {
17
17
  constructor(t, e = {}) {
18
18
  var a;
19
19
  const i = (() => {
20
20
  var o;
21
- return e.cause instanceof u ? e.cause.details : (o = e.cause) != null && o.message ? e.cause.message : e.details;
22
- })(), n = e.cause instanceof u && e.cause.docsPath || e.docsPath, r = (a = m.getDocsUrl) == null ? void 0 : a.call(m, { ...e, docsPath: n }), d = [
21
+ return e.cause instanceof g ? e.cause.details : (o = e.cause) != null && o.message ? e.cause.message : e.details;
22
+ })(), n = e.cause instanceof g && e.cause.docsPath || e.docsPath, r = (a = y.getDocsUrl) == null ? void 0 : a.call(y, { ...e, docsPath: n }), d = [
23
23
  t || "An error occurred.",
24
24
  "",
25
25
  ...e.metaMessages ? [...e.metaMessages, ""] : [],
26
26
  ...r ? [`Docs: ${r}`] : [],
27
27
  ...i ? [`Details: ${i}`] : [],
28
- ...m.version ? [`Version: ${m.version}`] : []
28
+ ...y.version ? [`Version: ${y.version}`] : []
29
29
  ].join(`
30
30
  `);
31
31
  super(d, e.cause ? { cause: e.cause } : void 0), Object.defineProperty(this, "details", {
@@ -58,40 +58,40 @@ class u extends Error {
58
58
  configurable: !0,
59
59
  writable: !0,
60
60
  value: "BaseError"
61
- }), this.details = i, this.docsPath = n, this.metaMessages = e.metaMessages, this.name = e.name ?? this.name, this.shortMessage = t, this.version = z;
61
+ }), this.details = i, this.docsPath = n, this.metaMessages = e.metaMessages, this.name = e.name ?? this.name, this.shortMessage = t, this.version = D;
62
62
  }
63
63
  walk(t) {
64
- return T(this, t);
64
+ return S(this, t);
65
65
  }
66
66
  }
67
- function T(s, t) {
68
- return t != null && t(s) ? s : s && typeof s == "object" && "cause" in s && s.cause !== void 0 ? T(s.cause, t) : t ? null : s;
67
+ function S(s, t) {
68
+ return t != null && t(s) ? s : s && typeof s == "object" && "cause" in s && s.cause !== void 0 ? S(s.cause, t) : t ? null : s;
69
69
  }
70
- class D extends u {
70
+ class A extends g {
71
71
  constructor({ size: t, targetSize: e, type: i }) {
72
72
  super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (${t}) exceeds padding size (${e}).`, { name: "SizeExceedsPaddingSizeError" });
73
73
  }
74
74
  }
75
- function b(s, { dir: t, size: e = 32 } = {}) {
76
- return typeof s == "string" ? C(s, { dir: t, size: e }) : H(s, { dir: t, size: e });
75
+ function $(s, { dir: t, size: e = 32 } = {}) {
76
+ return typeof s == "string" ? j(s, { dir: t, size: e }) : B(s, { dir: t, size: e });
77
77
  }
78
- function C(s, { dir: t, size: e = 32 } = {}) {
78
+ function j(s, { dir: t, size: e = 32 } = {}) {
79
79
  if (e === null)
80
80
  return s;
81
81
  const i = s.replace("0x", "");
82
82
  if (i.length > e * 2)
83
- throw new D({
83
+ throw new A({
84
84
  size: Math.ceil(i.length / 2),
85
85
  targetSize: e,
86
86
  type: "hex"
87
87
  });
88
88
  return `0x${i[t === "right" ? "padEnd" : "padStart"](e * 2, "0")}`;
89
89
  }
90
- function H(s, { dir: t, size: e = 32 } = {}) {
90
+ function B(s, { dir: t, size: e = 32 } = {}) {
91
91
  if (e === null)
92
92
  return s;
93
93
  if (s.length > e)
94
- throw new D({
94
+ throw new A({
95
95
  size: s.length,
96
96
  targetSize: e,
97
97
  type: "bytes"
@@ -103,46 +103,46 @@ function H(s, { dir: t, size: e = 32 } = {}) {
103
103
  }
104
104
  return i;
105
105
  }
106
- class B extends u {
106
+ class W extends g {
107
107
  constructor({ max: t, min: e, signed: i, size: n, value: r }) {
108
108
  super(`Number "${r}" is not in safe ${n ? `${n * 8}-bit ${i ? "signed" : "unsigned"} ` : ""}integer range ${t ? `(${e} to ${t})` : `(above ${e})`}`, { name: "IntegerOutOfRangeError" });
109
109
  }
110
110
  }
111
- class W extends u {
111
+ class L extends g {
112
112
  constructor({ givenSize: t, maxSize: e }) {
113
113
  super(`Size cannot exceed ${e} bytes. Given size: ${t} bytes.`, { name: "SizeOverflowError" });
114
114
  }
115
115
  }
116
- function S(s, { size: t }) {
117
- if (U(s) > t)
118
- throw new W({
119
- givenSize: U(s),
116
+ function M(s, { size: t }) {
117
+ if (T(s) > t)
118
+ throw new L({
119
+ givenSize: T(s),
120
120
  maxSize: t
121
121
  });
122
122
  }
123
123
  const O = /* @__PURE__ */ Array.from({ length: 256 }, (s, t) => t.toString(16).padStart(2, "0"));
124
- function j(s, t = {}) {
125
- return typeof s == "number" || typeof s == "bigint" ? N(s, t) : typeof s == "string" ? V(s, t) : typeof s == "boolean" ? L(s, t) : A(s, t);
124
+ function N(s, t = {}) {
125
+ return typeof s == "number" || typeof s == "bigint" ? V(s, t) : typeof s == "string" ? F(s, t) : typeof s == "boolean" ? R(s, t) : k(s, t);
126
126
  }
127
- function L(s, t = {}) {
127
+ function R(s, t = {}) {
128
128
  const e = `0x${Number(s)}`;
129
- return typeof t.size == "number" ? (S(e, { size: t.size }), b(e, { size: t.size })) : e;
129
+ return typeof t.size == "number" ? (M(e, { size: t.size }), $(e, { size: t.size })) : e;
130
130
  }
131
- function A(s, t = {}) {
131
+ function k(s, t = {}) {
132
132
  let e = "";
133
133
  for (let n = 0; n < s.length; n++)
134
134
  e += O[s[n]];
135
135
  const i = `0x${e}`;
136
- return typeof t.size == "number" ? (S(i, { size: t.size }), b(i, { dir: "right", size: t.size })) : i;
136
+ return typeof t.size == "number" ? (M(i, { size: t.size }), $(i, { dir: "right", size: t.size })) : i;
137
137
  }
138
- function N(s, t = {}) {
138
+ function V(s, t = {}) {
139
139
  const { signed: e, size: i } = t, n = BigInt(s);
140
140
  let r;
141
141
  i ? e ? r = (1n << BigInt(i) * 8n - 1n) - 1n : r = 2n ** (BigInt(i) * 8n) - 1n : typeof s == "number" && (r = BigInt(Number.MAX_SAFE_INTEGER));
142
142
  const d = typeof r == "bigint" && e ? -r - 1n : 0;
143
143
  if (r && n > r || n < d) {
144
144
  const o = typeof s == "bigint" ? "n" : "";
145
- throw new B({
145
+ throw new W({
146
146
  max: r ? `${r}${o}` : void 0,
147
147
  min: `${d}${o}`,
148
148
  signed: e,
@@ -151,17 +151,17 @@ function N(s, t = {}) {
151
151
  });
152
152
  }
153
153
  const a = `0x${(e && n < 0 ? (1n << BigInt(i * 8)) + BigInt(n) : n).toString(16)}`;
154
- return i ? b(a, { size: i }) : a;
154
+ return i ? $(a, { size: i }) : a;
155
155
  }
156
- const R = /* @__PURE__ */ new TextEncoder();
157
- function V(s, t = {}) {
158
- const e = R.encode(s);
159
- return A(e, t);
156
+ const q = /* @__PURE__ */ new TextEncoder();
157
+ function F(s, t = {}) {
158
+ const e = q.encode(s);
159
+ return k(e, t);
160
160
  }
161
- class w {
161
+ class v {
162
162
  constructor(t) {
163
- g(this, "opts");
164
- g(this, "open", () => {
163
+ w(this, "opts");
164
+ w(this, "open", () => {
165
165
  if (!document.body.classList.contains("glide-deposit-open")) {
166
166
  if (document.body.classList.add("glide-deposit-open"), (this.opts.mode === "deposit" || this.opts.mode === "buy") && !this.opts.recipient)
167
167
  throw new Error("recipient is required for deposit/buy mode");
@@ -172,15 +172,15 @@ class w {
172
172
  this.openUrl(`${this.baseUrl}${this.opts.app}?init=true&embed=true`), this.initialize();
173
173
  }
174
174
  });
175
- g(this, "iframeEventHandler", async (t) => {
176
- var i, n, r, d, a, o, c, l, h, f, v, $, x, I, P, E;
175
+ w(this, "iframeEventHandler", async (t) => {
176
+ var i, n, r, d, a, o, l, p, u, h, c, f, x, I, P, E, U, z;
177
177
  const e = t.data;
178
178
  switch (e.type) {
179
179
  case "success":
180
180
  (n = (i = this.opts) == null ? void 0 : i.onSuccess) == null || n.call(i, e.hash);
181
181
  break;
182
182
  case "close":
183
- this.removeIframe(), this.destroy();
183
+ this.removeIframe(), this.destroy(), (d = (r = this.opts) == null ? void 0 : r.onClose) == null || d.call(r);
184
184
  break;
185
185
  case "switchChain":
186
186
  if (!this.opts.walletProvider)
@@ -188,7 +188,7 @@ class w {
188
188
  try {
189
189
  await this.opts.walletProvider.switchChainAsync({
190
190
  chainId: e.chainId
191
- }), (d = (r = this.iframe) == null ? void 0 : r.contentWindow) == null || d.postMessage(
191
+ }), (o = (a = this.iframe) == null ? void 0 : a.contentWindow) == null || o.postMessage(
192
192
  {
193
193
  type: "didSwitchChain",
194
194
  success: !0,
@@ -196,12 +196,12 @@ class w {
196
196
  },
197
197
  this.baseUrl
198
198
  );
199
- } catch (p) {
200
- (o = (a = this.iframe) == null ? void 0 : a.contentWindow) == null || o.postMessage(
199
+ } catch (m) {
200
+ (p = (l = this.iframe) == null ? void 0 : l.contentWindow) == null || p.postMessage(
201
201
  {
202
202
  type: "didSwitchChain",
203
203
  success: !1,
204
- error: p
204
+ error: m
205
205
  },
206
206
  this.baseUrl
207
207
  );
@@ -212,23 +212,23 @@ class w {
212
212
  if (!this.opts.walletProvider)
213
213
  throw new Error("walletProvider is not set");
214
214
  try {
215
- const p = await this.opts.walletProvider.sendTransactionAsync(
215
+ const m = await this.opts.walletProvider.sendTransactionAsync(
216
216
  e.tx
217
217
  );
218
- (l = (c = this.iframe) == null ? void 0 : c.contentWindow) == null || l.postMessage(
218
+ (h = (u = this.iframe) == null ? void 0 : u.contentWindow) == null || h.postMessage(
219
219
  {
220
220
  type: "didSendTransaction",
221
221
  success: !0,
222
- txHash: p
222
+ txHash: m
223
223
  },
224
224
  this.baseUrl
225
225
  );
226
- } catch (p) {
227
- (f = (h = this.iframe) == null ? void 0 : h.contentWindow) == null || f.postMessage(
226
+ } catch (m) {
227
+ (f = (c = this.iframe) == null ? void 0 : c.contentWindow) == null || f.postMessage(
228
228
  {
229
229
  type: "didSendTransaction",
230
230
  success: !1,
231
- error: p
231
+ error: m
232
232
  },
233
233
  this.baseUrl
234
234
  );
@@ -240,7 +240,7 @@ class w {
240
240
  if (!this.opts.walletProvider)
241
241
  throw new Error("walletProvider is not set");
242
242
  if (!this.opts.walletProvider.signTypedDataAsync) {
243
- ($ = (v = this.iframe) == null ? void 0 : v.contentWindow) == null || $.postMessage(
243
+ (I = (x = this.iframe) == null ? void 0 : x.contentWindow) == null || I.postMessage(
244
244
  {
245
245
  type: "didSignTypedData",
246
246
  success: !1,
@@ -251,23 +251,23 @@ class w {
251
251
  return;
252
252
  }
253
253
  try {
254
- const p = await this.opts.walletProvider.signTypedDataAsync(
254
+ const m = await this.opts.walletProvider.signTypedDataAsync(
255
255
  e.data
256
256
  );
257
- (I = (x = this.iframe) == null ? void 0 : x.contentWindow) == null || I.postMessage(
257
+ (E = (P = this.iframe) == null ? void 0 : P.contentWindow) == null || E.postMessage(
258
258
  {
259
259
  type: "didSignTypedData",
260
260
  success: !0,
261
- signature: p
261
+ signature: m
262
262
  },
263
263
  this.baseUrl
264
264
  );
265
- } catch (p) {
266
- (E = (P = this.iframe) == null ? void 0 : P.contentWindow) == null || E.postMessage(
265
+ } catch (m) {
266
+ (z = (U = this.iframe) == null ? void 0 : U.contentWindow) == null || z.postMessage(
267
267
  {
268
268
  type: "didSignTypedData",
269
269
  success: !1,
270
- error: p
270
+ error: m
271
271
  },
272
272
  this.baseUrl
273
273
  );
@@ -279,7 +279,8 @@ class w {
279
279
  this.opts = t;
280
280
  }
281
281
  get externalUrl() {
282
- return `${this.baseUrl}${this.opts.app}?${this.opts.recipient ? `&recipient=${this.opts.recipient}` : ""}${this.opts.preferGaslessPayment ? "&preferGaslessPayment=true" : ""}${this.opts.mode ? `&mode=${this.opts.mode}` : ""}${this.opts.amount ? `&amount=${this.opts.amount}` : ""}${this.opts.evm ? `&evm.chainId=${this.opts.evm.chainId}&evm.to=${this.opts.evm.to}&evm.data=${this.opts.evm.data || "0x0"}&evm.value=${j(this.opts.evm.value || 0n)}` : ""}${this.opts.approval ? `&approval.token=${this.opts.approval.token}&approval.amount=${this.opts.approval.amount}` : ""}${this.opts.sessionMetadata ? `&metadata=${this.opts.sessionMetadata}` : ""}${this.opts.autoCloseOnSuccess ? "&autoCloseOnSuccess=true" : ""}${this.opts.sessionId ? `&sessionId=${this.opts.sessionId}` : ""}`;
282
+ var t, e;
283
+ return `${this.baseUrl}${this.opts.app}?${this.opts.recipient ? `&recipient=${this.opts.recipient}` : ""}${this.opts.preferGaslessPayment ? "&preferGaslessPayment=true" : ""}${this.opts.mode ? `&mode=${this.opts.mode}` : ""}${this.opts.amount ? `&amount=${this.opts.amount}` : ""}${this.opts.evm ? `&evm.chainId=${this.opts.evm.chainId}&evm.to=${this.opts.evm.to}&evm.data=${this.opts.evm.data || "0x0"}&evm.value=${N(this.opts.evm.value || 0n)}` : ""}${this.opts.approval ? `&approval.token=${this.opts.approval.token}&approval.amount=${this.opts.approval.amount}` : ""}${this.opts.sessionMetadata ? `&metadata=${this.opts.sessionMetadata}` : ""}${this.opts.autoCloseOnSuccess ? "&autoCloseOnSuccess=true" : ""}${this.opts.sessionId ? `&sessionId=${this.opts.sessionId}` : ""}${(t = this.opts.excludeChainIds) != null && t.length ? `&excludeChainIds=${this.opts.excludeChainIds.join(",")}` : ""}${(e = this.opts.excludeCurrencyTiers) != null && e.length ? `&excludeCurrencyTiers=${this.opts.excludeCurrencyTiers.join(",")}` : ""}`;
283
284
  }
284
285
  initialize() {
285
286
  window.addEventListener("message", this.iframeEventHandler);
@@ -303,11 +304,11 @@ class w {
303
304
  "style",
304
305
  "z-index: 2147483647; display: block; background-color: transparent; border: 0px none transparent; overflow-x: hidden; overflow-y: auto; visibility: visible; margin: 0px; padding: 0px; -webkit-tap-highlight-color: transparent; position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; opacity: 0;"
305
306
  ), e.onload = () => {
306
- var o, c, l, h;
307
- const i = this.opts.recipient, n = (o = this.opts.walletProvider) == null ? void 0 : o.address, r = (c = this.opts.walletProvider) == null ? void 0 : c.availableChainIds, d = (l = this.opts.walletProvider) == null ? void 0 : l.currentChainId, a = this.opts.preferGaslessPayment || !!((h = this.opts.walletProvider) != null && h.signTypedDataAsync);
307
+ var o, l, p, u;
308
+ const i = this.opts.recipient, n = (o = this.opts.walletProvider) == null ? void 0 : o.address, r = (l = this.opts.walletProvider) == null ? void 0 : l.availableChainIds, d = (p = this.opts.walletProvider) == null ? void 0 : p.currentChainId, a = this.opts.preferGaslessPayment || !!((u = this.opts.walletProvider) != null && u.signTypedDataAsync);
308
309
  e.style.opacity = "1", setTimeout(() => {
309
- var f;
310
- (f = e == null ? void 0 : e.contentWindow) == null || f.postMessage(
310
+ var h, c, f;
311
+ (h = e == null ? void 0 : e.contentWindow) == null || h.postMessage(
311
312
  {
312
313
  type: "initialize",
313
314
  sessionId: this.opts.sessionId,
@@ -316,6 +317,8 @@ class w {
316
317
  availableChainIds: r,
317
318
  currentChainId: d,
318
319
  preferGaslessPayment: a,
320
+ excludeChainIds: this.opts.excludeChainIds,
321
+ excludeCurrencyTiers: this.opts.excludeCurrencyTiers,
319
322
  mode: this.opts.mode,
320
323
  amount: this.opts.amount,
321
324
  evmTx: this.opts.evm,
@@ -325,7 +328,7 @@ class w {
325
328
  theme: this.opts.theme
326
329
  },
327
330
  new URL(this.baseUrl).origin
328
- );
331
+ ), (f = (c = this.opts).onOpen) == null || f.call(c);
329
332
  }, 10);
330
333
  }, e.src = t, e.allow = "payment *; clipboard-write *", document.body.appendChild(e);
331
334
  }
@@ -334,28 +337,36 @@ class w {
334
337
  t && (t.remove(), document.body.classList.remove("glide-deposit-open"));
335
338
  }
336
339
  }
337
- const X = ({
340
+ const K = ({
338
341
  app: s,
339
342
  recipient: t,
340
343
  preferGaslessPayment: e,
341
- mode: i,
342
- sessionMetadata: n,
343
- theme: r,
344
- walletProvider: d,
345
- onSuccess: a,
346
- autoCloseOnSuccess: o,
344
+ excludeChainIds: i,
345
+ excludeCurrencyTiers: n,
346
+ mode: r,
347
+ sessionMetadata: d,
348
+ theme: a,
349
+ walletProvider: o,
350
+ onOpen: l,
351
+ onSuccess: p,
352
+ onClose: u,
353
+ autoCloseOnSuccess: h,
347
354
  baseUrl: c
348
355
  }) => {
349
- const l = y(() => new w({
356
+ const f = b(() => new v({
350
357
  app: s,
351
358
  recipient: t,
352
359
  preferGaslessPayment: e,
353
- mode: i,
354
- sessionMetadata: n,
355
- theme: r,
356
- walletProvider: d,
357
- onSuccess: a,
358
- autoCloseOnSuccess: o,
360
+ excludeChainIds: i,
361
+ excludeCurrencyTiers: n,
362
+ mode: r,
363
+ sessionMetadata: d,
364
+ theme: a,
365
+ walletProvider: o,
366
+ onOpen: l,
367
+ onSuccess: p,
368
+ onClose: u,
369
+ autoCloseOnSuccess: h,
359
370
  baseUrl: c
360
371
  }), [
361
372
  s,
@@ -367,77 +378,101 @@ const X = ({
367
378
  d,
368
379
  a,
369
380
  o,
381
+ l,
382
+ p,
383
+ u,
384
+ h,
370
385
  c
371
386
  ]);
372
387
  return {
373
- openGlideDeposit: l.open,
374
- externalUrl: l.externalUrl,
375
- opts: l.opts
388
+ openGlideDeposit: f.open,
389
+ externalUrl: f.externalUrl,
390
+ opts: f.opts
376
391
  };
377
- }, J = ({
392
+ }, Q = ({
378
393
  app: s,
379
394
  preferGaslessPayment: t,
380
- amount: e,
381
- sessionId: i,
382
- sessionMetadata: n,
383
- theme: r,
384
- walletProvider: d,
385
- onSuccess: a,
386
- autoCloseOnSuccess: o,
395
+ excludeChainIds: e,
396
+ excludeCurrencyTiers: i,
397
+ amount: n,
398
+ sessionId: r,
399
+ sessionMetadata: d,
400
+ theme: a,
401
+ walletProvider: o,
402
+ onOpen: l,
403
+ onSuccess: p,
404
+ onClose: u,
405
+ autoCloseOnSuccess: h,
387
406
  baseUrl: c
388
407
  }) => {
389
- const l = y(() => new w({
408
+ const f = b(() => new v({
390
409
  app: s,
391
410
  preferGaslessPayment: t,
411
+ excludeChainIds: e,
412
+ excludeCurrencyTiers: i,
392
413
  mode: "pay",
393
- sessionId: i,
394
- amount: e,
395
- sessionMetadata: n,
396
- theme: r,
397
- walletProvider: d,
398
- onSuccess: a,
399
- autoCloseOnSuccess: o,
414
+ sessionId: r,
415
+ amount: n,
416
+ sessionMetadata: d,
417
+ theme: a,
418
+ walletProvider: o,
419
+ onOpen: l,
420
+ onSuccess: p,
421
+ onClose: u,
422
+ autoCloseOnSuccess: h,
400
423
  baseUrl: c
401
424
  }), [
402
425
  s,
403
426
  t,
404
- i,
405
427
  e,
406
- n,
428
+ i,
407
429
  r,
430
+ n,
408
431
  d,
409
432
  a,
410
433
  o,
434
+ l,
435
+ p,
436
+ u,
437
+ h,
411
438
  c
412
439
  ]);
413
440
  return {
414
- openGlidePay: l.open,
415
- externalUrl: l.externalUrl,
416
- opts: l.opts
441
+ openGlidePay: f.open,
442
+ externalUrl: f.externalUrl,
443
+ opts: f.opts
417
444
  };
418
- }, K = ({
445
+ }, Y = ({
419
446
  app: s,
420
447
  evm: t,
421
448
  approval: e,
422
449
  preferGaslessPayment: i,
423
- sessionMetadata: n,
424
- theme: r,
425
- walletProvider: d,
426
- onSuccess: a,
427
- autoCloseOnSuccess: o,
450
+ excludeChainIds: n,
451
+ excludeCurrencyTiers: r,
452
+ sessionMetadata: d,
453
+ theme: a,
454
+ walletProvider: o,
455
+ onOpen: l,
456
+ onSuccess: p,
457
+ onClose: u,
458
+ autoCloseOnSuccess: h,
428
459
  baseUrl: c
429
460
  }) => {
430
- const l = y(() => new w({
461
+ const f = b(() => new v({
431
462
  app: s,
432
463
  evm: t,
433
464
  approval: e,
434
465
  preferGaslessPayment: i,
435
- sessionMetadata: n,
466
+ excludeChainIds: n,
467
+ excludeCurrencyTiers: r,
468
+ sessionMetadata: d,
436
469
  mode: "call",
437
- theme: r,
438
- walletProvider: d,
439
- onSuccess: a,
440
- autoCloseOnSuccess: o,
470
+ theme: a,
471
+ walletProvider: o,
472
+ onOpen: l,
473
+ onSuccess: p,
474
+ onClose: u,
475
+ autoCloseOnSuccess: h,
441
476
  baseUrl: c
442
477
  }), [
443
478
  s,
@@ -449,35 +484,47 @@ const X = ({
449
484
  d,
450
485
  a,
451
486
  o,
487
+ l,
488
+ p,
489
+ u,
490
+ h,
452
491
  c
453
492
  ]);
454
493
  return {
455
- openGlideCall: l.open,
456
- externalUrl: l.externalUrl,
457
- opts: l.opts
494
+ openGlideCall: f.open,
495
+ externalUrl: f.externalUrl,
496
+ opts: f.opts
458
497
  };
459
- }, Q = ({
498
+ }, Z = ({
460
499
  app: s,
461
500
  recipient: t,
462
501
  preferGaslessPayment: e,
463
- sessionMetadata: i,
464
- theme: n,
465
- walletProvider: r,
466
- onSuccess: d,
467
- autoCloseOnSuccess: a,
468
- baseUrl: o
502
+ excludeChainIds: i,
503
+ excludeCurrencyTiers: n,
504
+ sessionMetadata: r,
505
+ theme: d,
506
+ walletProvider: a,
507
+ onOpen: o,
508
+ onSuccess: l,
509
+ onClose: p,
510
+ autoCloseOnSuccess: u,
511
+ baseUrl: h
469
512
  }) => {
470
- const c = y(() => new w({
513
+ const c = b(() => new v({
471
514
  app: s,
472
515
  recipient: t,
473
516
  preferGaslessPayment: e,
474
- sessionMetadata: i,
517
+ excludeChainIds: i,
518
+ excludeCurrencyTiers: n,
519
+ sessionMetadata: r,
475
520
  mode: "buy",
476
- theme: n,
477
- walletProvider: r,
478
- onSuccess: d,
479
- autoCloseOnSuccess: a,
480
- baseUrl: o
521
+ theme: d,
522
+ walletProvider: a,
523
+ onOpen: o,
524
+ onSuccess: l,
525
+ onClose: p,
526
+ autoCloseOnSuccess: u,
527
+ baseUrl: h
481
528
  }), [
482
529
  s,
483
530
  t,
@@ -487,7 +534,11 @@ const X = ({
487
534
  r,
488
535
  d,
489
536
  a,
490
- o
537
+ o,
538
+ l,
539
+ p,
540
+ u,
541
+ h
491
542
  ]);
492
543
  return {
493
544
  openGlideBuy: c.open,
@@ -496,9 +547,9 @@ const X = ({
496
547
  };
497
548
  };
498
549
  export {
499
- w as GlideDeposit,
500
- Q as useGlideBuy,
501
- K as useGlideCall,
502
- X as useGlideDeposit,
503
- J as useGlidePay
550
+ v as GlideDeposit,
551
+ Z as useGlideBuy,
552
+ Y as useGlideCall,
553
+ K as useGlideDeposit,
554
+ Q as useGlidePay
504
555
  };
@@ -1,17 +1,22 @@
1
1
  import { GlideDepositWalletProvider, Hex } from './GlideDeposit.ts';
2
2
  import { GlideWidgetTheme } from './theme.ts';
3
+ import { CAIP2 } from '@paywithglide/glide-js';
3
4
  interface UseGlideBuyProps {
4
5
  app: string;
5
6
  recipient?: string;
6
7
  preferGaslessPayment?: boolean;
8
+ excludeChainIds?: CAIP2[];
9
+ excludeCurrencyTiers?: ("tier1" | "tier2" | "tier3")[];
7
10
  sessionMetadata?: string;
8
11
  theme?: GlideWidgetTheme;
9
12
  walletProvider?: GlideDepositWalletProvider;
13
+ onOpen?: () => void;
10
14
  onSuccess?: (hash: Hex) => void;
15
+ onClose?: () => void;
11
16
  autoCloseOnSuccess?: boolean;
12
17
  baseUrl?: string;
13
18
  }
14
- export declare const useGlideBuy: ({ app, recipient, preferGaslessPayment, sessionMetadata, theme, walletProvider, onSuccess, autoCloseOnSuccess, baseUrl, }: UseGlideBuyProps) => {
19
+ export declare const useGlideBuy: ({ app, recipient, preferGaslessPayment, excludeChainIds, excludeCurrencyTiers, sessionMetadata, theme, walletProvider, onOpen, onSuccess, onClose, autoCloseOnSuccess, baseUrl, }: UseGlideBuyProps) => {
15
20
  openGlideBuy: () => void;
16
21
  externalUrl: string;
17
22
  opts: import('./GlideDeposit.ts').GlideDepositOptions;
@@ -1,5 +1,6 @@
1
1
  import { GlideDepositWalletProvider, Hex } from './GlideDeposit.ts';
2
2
  import { GlideWidgetTheme } from './theme.ts';
3
+ import { CAIP2 } from '@paywithglide/glide-js';
3
4
  interface UseGlideCallProps {
4
5
  app: string;
5
6
  evm: {
@@ -13,14 +14,18 @@ interface UseGlideCallProps {
13
14
  amount: bigint;
14
15
  };
15
16
  preferGaslessPayment?: boolean;
17
+ excludeChainIds?: CAIP2[];
18
+ excludeCurrencyTiers?: ("tier1" | "tier2" | "tier3")[];
16
19
  sessionMetadata?: string;
17
20
  theme?: GlideWidgetTheme;
18
21
  walletProvider?: GlideDepositWalletProvider;
22
+ onOpen?: () => void;
19
23
  onSuccess?: (hash: Hex) => void;
24
+ onClose?: () => void;
20
25
  autoCloseOnSuccess?: boolean;
21
26
  baseUrl?: string;
22
27
  }
23
- export declare const useGlideCall: ({ app, evm, approval, preferGaslessPayment, sessionMetadata, theme, walletProvider, onSuccess, autoCloseOnSuccess, baseUrl, }: UseGlideCallProps) => {
28
+ export declare const useGlideCall: ({ app, evm, approval, preferGaslessPayment, excludeChainIds, excludeCurrencyTiers, sessionMetadata, theme, walletProvider, onOpen, onSuccess, onClose, autoCloseOnSuccess, baseUrl, }: UseGlideCallProps) => {
24
29
  openGlideCall: () => void;
25
30
  externalUrl: string;
26
31
  opts: import('./GlideDeposit.ts').GlideDepositOptions;
@@ -1,18 +1,23 @@
1
1
  import { GlideDepositWalletProvider } from './GlideDeposit.ts';
2
2
  import { GlideWidgetTheme } from './theme.ts';
3
+ import { CAIP2 } from '@paywithglide/glide-js';
3
4
  interface UseGlideDepositProps {
4
5
  app: string;
5
6
  recipient?: string;
6
7
  preferGaslessPayment?: boolean;
8
+ excludeChainIds?: CAIP2[];
9
+ excludeCurrencyTiers?: ("tier1" | "tier2" | "tier3")[];
7
10
  mode?: "deposit" | "withdraw";
8
11
  sessionMetadata?: string;
9
12
  theme?: GlideWidgetTheme;
10
13
  walletProvider?: GlideDepositWalletProvider;
14
+ onOpen?: () => void;
11
15
  onSuccess?: (hash: string) => void;
16
+ onClose?: () => void;
12
17
  autoCloseOnSuccess?: boolean;
13
18
  baseUrl?: string;
14
19
  }
15
- export declare const useGlideDeposit: ({ app, recipient, preferGaslessPayment, mode, sessionMetadata, theme, walletProvider, onSuccess, autoCloseOnSuccess, baseUrl, }: UseGlideDepositProps) => {
20
+ export declare const useGlideDeposit: ({ app, recipient, preferGaslessPayment, excludeChainIds, excludeCurrencyTiers, mode, sessionMetadata, theme, walletProvider, onOpen, onSuccess, onClose, autoCloseOnSuccess, baseUrl, }: UseGlideDepositProps) => {
16
21
  openGlideDeposit: () => void;
17
22
  externalUrl: string;
18
23
  opts: import('./GlideDeposit.ts').GlideDepositOptions;
@@ -1,18 +1,23 @@
1
1
  import { GlideDepositWalletProvider } from './GlideDeposit.ts';
2
2
  import { GlideWidgetTheme } from './theme.ts';
3
+ import { CAIP2 } from '@paywithglide/glide-js';
3
4
  type UseGlidePayProps = {
4
5
  app: string;
5
- preferGaslessPayment?: boolean;
6
6
  amount?: string;
7
+ preferGaslessPayment?: boolean;
8
+ excludeChainIds?: CAIP2[];
9
+ excludeCurrencyTiers?: ("tier1" | "tier2" | "tier3")[];
7
10
  sessionId?: string;
8
11
  sessionMetadata?: string;
9
12
  theme?: GlideWidgetTheme;
10
13
  walletProvider?: GlideDepositWalletProvider;
14
+ onOpen?: () => void;
11
15
  onSuccess?: (hash: string) => void;
16
+ onClose?: () => void;
12
17
  autoCloseOnSuccess?: boolean;
13
18
  baseUrl?: string;
14
19
  };
15
- export declare const useGlidePay: ({ app, preferGaslessPayment, amount, sessionId, sessionMetadata, theme, walletProvider, onSuccess, autoCloseOnSuccess, baseUrl, }: UseGlidePayProps) => {
20
+ export declare const useGlidePay: ({ app, preferGaslessPayment, excludeChainIds, excludeCurrencyTiers, amount, sessionId, sessionMetadata, theme, walletProvider, onOpen, onSuccess, onClose, autoCloseOnSuccess, baseUrl, }: UseGlidePayProps) => {
16
21
  openGlidePay: () => void;
17
22
  externalUrl: string;
18
23
  opts: import('./GlideDeposit.ts').GlideDepositOptions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paywithglide/glide-react",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -25,7 +25,7 @@
25
25
  "prepublishOnly": "npm run build"
26
26
  },
27
27
  "dependencies": {
28
- "@paywithglide/glide-js": "^0.10.0"
28
+ "@paywithglide/glide-js": "^0.12.14"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@antiwork/shortest": "^0.2.1",