@paywithglide/glide-react 0.0.9 → 0.0.11

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.
@@ -77,16 +77,24 @@ export type GlideDepositWalletProvider = {
77
77
  export type GlideDepositOptions = {
78
78
  app: string;
79
79
  recipient?: Hex;
80
- mode?: "deposit" | "withdraw" | "pay";
80
+ mode?: "deposit" | "withdraw" | "pay" | "call";
81
81
  amount?: string;
82
+ evm?: {
83
+ chainId: number;
84
+ to: Hex;
85
+ data?: Hex;
86
+ value?: bigint;
87
+ };
82
88
  preferGaslessPayment?: boolean;
83
89
  walletProvider?: GlideDepositWalletProvider;
90
+ onSuccess?: (hash: Hex) => void;
84
91
  baseUrl?: string;
85
92
  };
86
93
  export declare class GlideDeposit {
87
94
  opts: GlideDepositOptions;
88
95
  constructor(opts: GlideDepositOptions);
89
96
  open: () => void;
97
+ get externalUrl(): string;
90
98
  private initialize;
91
99
  private destroy;
92
100
  private get baseUrl();
Binary file
package/dist/glide.js CHANGED
@@ -1,12 +1,168 @@
1
- var P = Object.defineProperty;
2
- var D = (i, e, t) => e in i ? P(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;
3
- var p = (i, e, t) => D(i, typeof e != "symbol" ? e + "" : e, t);
4
- import { useMemo as v } from "react";
5
- class b {
6
- constructor(e) {
1
+ var C = Object.defineProperty;
2
+ var G = (s, t, e) => t in s ? C(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
+ var p = (s, t, e) => G(s, typeof t != "symbol" ? t + "" : t, e);
4
+ import { useMemo as m } from "react";
5
+ function H(s, { strict: t = !0 } = {}) {
6
+ return !s || typeof s != "string" ? !1 : t ? /^0x[0-9a-fA-F]*$/.test(s) : s.startsWith("0x");
7
+ }
8
+ function z(s) {
9
+ return H(s, { strict: !1 }) ? Math.ceil((s.length - 2) / 2) : s.length;
10
+ }
11
+ const T = "2.21.51";
12
+ let u = {
13
+ getDocsUrl: ({ docsBaseUrl: s, docsPath: t = "", docsSlug: e }) => t ? `${s ?? "https://viem.sh"}${t}${e ? `#${e}` : ""}` : void 0,
14
+ version: `viem@${T}`
15
+ };
16
+ class l extends Error {
17
+ constructor(t, e = {}) {
18
+ var a;
19
+ const i = (() => {
20
+ var d;
21
+ return e.cause instanceof l ? e.cause.details : (d = e.cause) != null && d.message ? e.cause.message : e.details;
22
+ })(), n = e.cause instanceof l && e.cause.docsPath || e.docsPath, r = (a = u.getDocsUrl) == null ? void 0 : a.call(u, { ...e, docsPath: n }), o = [
23
+ t || "An error occurred.",
24
+ "",
25
+ ...e.metaMessages ? [...e.metaMessages, ""] : [],
26
+ ...r ? [`Docs: ${r}`] : [],
27
+ ...i ? [`Details: ${i}`] : [],
28
+ ...u.version ? [`Version: ${u.version}`] : []
29
+ ].join(`
30
+ `);
31
+ super(o, e.cause ? { cause: e.cause } : void 0), Object.defineProperty(this, "details", {
32
+ enumerable: !0,
33
+ configurable: !0,
34
+ writable: !0,
35
+ value: void 0
36
+ }), Object.defineProperty(this, "docsPath", {
37
+ enumerable: !0,
38
+ configurable: !0,
39
+ writable: !0,
40
+ value: void 0
41
+ }), Object.defineProperty(this, "metaMessages", {
42
+ enumerable: !0,
43
+ configurable: !0,
44
+ writable: !0,
45
+ value: void 0
46
+ }), Object.defineProperty(this, "shortMessage", {
47
+ enumerable: !0,
48
+ configurable: !0,
49
+ writable: !0,
50
+ value: void 0
51
+ }), Object.defineProperty(this, "version", {
52
+ enumerable: !0,
53
+ configurable: !0,
54
+ writable: !0,
55
+ value: void 0
56
+ }), Object.defineProperty(this, "name", {
57
+ enumerable: !0,
58
+ configurable: !0,
59
+ writable: !0,
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 = T;
62
+ }
63
+ walk(t) {
64
+ return U(this, t);
65
+ }
66
+ }
67
+ function U(s, t) {
68
+ return t != null && t(s) ? s : s && typeof s == "object" && "cause" in s && s.cause !== void 0 ? U(s.cause, t) : t ? null : s;
69
+ }
70
+ class A extends l {
71
+ constructor({ size: t, targetSize: e, type: i }) {
72
+ super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (${t}) exceeds padding size (${e}).`, { name: "SizeExceedsPaddingSizeError" });
73
+ }
74
+ }
75
+ function f(s, { dir: t, size: e = 32 } = {}) {
76
+ return typeof s == "string" ? k(s, { dir: t, size: e }) : L(s, { dir: t, size: e });
77
+ }
78
+ function k(s, { dir: t, size: e = 32 } = {}) {
79
+ if (e === null)
80
+ return s;
81
+ const i = s.replace("0x", "");
82
+ if (i.length > e * 2)
83
+ throw new A({
84
+ size: Math.ceil(i.length / 2),
85
+ targetSize: e,
86
+ type: "hex"
87
+ });
88
+ return `0x${i[t === "right" ? "padEnd" : "padStart"](e * 2, "0")}`;
89
+ }
90
+ function L(s, { dir: t, size: e = 32 } = {}) {
91
+ if (e === null)
92
+ return s;
93
+ if (s.length > e)
94
+ throw new A({
95
+ size: s.length,
96
+ targetSize: e,
97
+ type: "bytes"
98
+ });
99
+ const i = new Uint8Array(e);
100
+ for (let n = 0; n < e; n++) {
101
+ const r = t === "right";
102
+ i[r ? n : e - n - 1] = s[r ? n : s.length - n - 1];
103
+ }
104
+ return i;
105
+ }
106
+ class W extends l {
107
+ constructor({ max: t, min: e, signed: i, size: n, value: r }) {
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
+ }
110
+ }
111
+ class j extends l {
112
+ constructor({ givenSize: t, maxSize: e }) {
113
+ super(`Size cannot exceed ${e} bytes. Given size: ${t} bytes.`, { name: "SizeOverflowError" });
114
+ }
115
+ }
116
+ function D(s, { size: t }) {
117
+ if (z(s) > t)
118
+ throw new j({
119
+ givenSize: z(s),
120
+ maxSize: t
121
+ });
122
+ }
123
+ const O = /* @__PURE__ */ Array.from({ length: 256 }, (s, t) => t.toString(16).padStart(2, "0"));
124
+ function S(s, t = {}) {
125
+ return typeof s == "number" || typeof s == "bigint" ? N(s, t) : typeof s == "string" ? R(s, t) : typeof s == "boolean" ? B(s, t) : M(s, t);
126
+ }
127
+ function B(s, t = {}) {
128
+ const e = `0x${Number(s)}`;
129
+ return typeof t.size == "number" ? (D(e, { size: t.size }), f(e, { size: t.size })) : e;
130
+ }
131
+ function M(s, t = {}) {
132
+ let e = "";
133
+ for (let n = 0; n < s.length; n++)
134
+ e += O[s[n]];
135
+ const i = `0x${e}`;
136
+ return typeof t.size == "number" ? (D(i, { size: t.size }), f(i, { dir: "right", size: t.size })) : i;
137
+ }
138
+ function N(s, t = {}) {
139
+ const { signed: e, size: i } = t, n = BigInt(s);
140
+ let r;
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
+ const o = typeof r == "bigint" && e ? -r - 1n : 0;
143
+ if (r && n > r || n < o) {
144
+ const d = typeof s == "bigint" ? "n" : "";
145
+ throw new W({
146
+ max: r ? `${r}${d}` : void 0,
147
+ min: `${o}${d}`,
148
+ signed: e,
149
+ size: i,
150
+ value: `${s}${d}`
151
+ });
152
+ }
153
+ const a = `0x${(e && n < 0 ? (1n << BigInt(i * 8)) + BigInt(n) : n).toString(16)}`;
154
+ return i ? f(a, { size: i }) : a;
155
+ }
156
+ const q = /* @__PURE__ */ new TextEncoder();
157
+ function R(s, t = {}) {
158
+ const e = q.encode(s);
159
+ return M(e, t);
160
+ }
161
+ class g {
162
+ constructor(t) {
7
163
  p(this, "opts");
8
164
  p(this, "open", () => {
9
- var e, t, s, o;
165
+ var t, e, i, n;
10
166
  if (!document.body.classList.contains("glide-deposit-open")) {
11
167
  if (document.body.classList.add("glide-deposit-open"), this.opts.mode === "deposit" && !this.opts.recipient)
12
168
  throw new Error("recipient is required for deposit mode");
@@ -14,16 +170,19 @@ class b {
14
170
  throw new Error(
15
171
  "walletProvider.signTypedDataAsync is required when preferGaslessPayment=true"
16
172
  );
17
- const r = this.opts.recipient, n = (e = this.opts.walletProvider) == null ? void 0 : e.address, d = (t = this.opts.walletProvider) == null ? void 0 : t.availableChainIds, l = (s = this.opts.walletProvider) == null ? void 0 : s.currentChainId, c = this.opts.preferGaslessPayment || !!((o = this.opts.walletProvider) != null && o.signTypedDataAsync);
173
+ const r = this.opts.recipient, o = (t = this.opts.walletProvider) == null ? void 0 : t.address, a = (e = this.opts.walletProvider) == null ? void 0 : e.availableChainIds, d = (i = this.opts.walletProvider) == null ? void 0 : i.currentChainId, h = this.opts.preferGaslessPayment || !!((n = this.opts.walletProvider) != null && n.signTypedDataAsync);
18
174
  this.openUrl(
19
- `${this.baseUrl}${this.opts.app}?embed=true${r ? `&recipient=${r}` : ""}${n ? `&connectedWalletAddress=${n}` : ""}${l ? `&currentChainId=${l}` : ""}${d ? `&availableChainIds=${d.join(",")}` : ""}${c ? "&preferGaslessPayment=true" : ""}${this.opts.mode ? `&mode=${this.opts.mode}` : ""}${this.opts.amount ? `&amount=${this.opts.amount}` : ""}`
175
+ `${this.baseUrl}${this.opts.app}?embed=true${r ? `&recipient=${r}` : ""}${o ? `&connectedWalletAddress=${o}` : ""}${d ? `&currentChainId=${d}` : ""}${a ? `&availableChainIds=${a.join(",")}` : ""}${h ? "&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=${S(this.opts.evm.value || 0n)}` : ""}`
20
176
  ), this.initialize();
21
177
  }
22
178
  });
23
- p(this, "iframeEventHandler", async (e) => {
24
- var s, o, r, n, d, l, c, h, m, y, w, u, f, g;
25
- const t = e.data;
26
- switch (t.type) {
179
+ p(this, "iframeEventHandler", async (t) => {
180
+ var i, n, r, o, a, d, h, y, w, b, v, $, x, P, E, I;
181
+ const e = t.data;
182
+ switch (e.type) {
183
+ case "success":
184
+ (n = (i = this.opts) == null ? void 0 : i.onSuccess) == null || n.call(i, e.hash);
185
+ break;
27
186
  case "close":
28
187
  this.removeIframe(), this.hideLoader(), this.destroy();
29
188
  break;
@@ -32,21 +191,21 @@ class b {
32
191
  throw new Error("walletProvider is not set");
33
192
  try {
34
193
  await this.opts.walletProvider.switchChainAsync({
35
- chainId: t.chainId
36
- }), (o = (s = this.iframe) == null ? void 0 : s.contentWindow) == null || o.postMessage(
194
+ chainId: e.chainId
195
+ }), (o = (r = this.iframe) == null ? void 0 : r.contentWindow) == null || o.postMessage(
37
196
  {
38
197
  type: "didSwitchChain",
39
198
  success: !0,
40
- chainId: t.chainId
199
+ chainId: e.chainId
41
200
  },
42
201
  this.baseUrl
43
202
  );
44
- } catch (a) {
45
- (n = (r = this.iframe) == null ? void 0 : r.contentWindow) == null || n.postMessage(
203
+ } catch (c) {
204
+ (d = (a = this.iframe) == null ? void 0 : a.contentWindow) == null || d.postMessage(
46
205
  {
47
206
  type: "didSwitchChain",
48
207
  success: !1,
49
- error: a
208
+ error: c
50
209
  },
51
210
  this.baseUrl
52
211
  );
@@ -57,23 +216,23 @@ class b {
57
216
  if (!this.opts.walletProvider)
58
217
  throw new Error("walletProvider is not set");
59
218
  try {
60
- const a = await this.opts.walletProvider.sendTransactionAsync(
61
- t.tx
219
+ const c = await this.opts.walletProvider.sendTransactionAsync(
220
+ e.tx
62
221
  );
63
- (l = (d = this.iframe) == null ? void 0 : d.contentWindow) == null || l.postMessage(
222
+ (y = (h = this.iframe) == null ? void 0 : h.contentWindow) == null || y.postMessage(
64
223
  {
65
224
  type: "didSendTransaction",
66
225
  success: !0,
67
- txHash: a
226
+ txHash: c
68
227
  },
69
228
  this.baseUrl
70
229
  );
71
- } catch (a) {
72
- (h = (c = this.iframe) == null ? void 0 : c.contentWindow) == null || h.postMessage(
230
+ } catch (c) {
231
+ (b = (w = this.iframe) == null ? void 0 : w.contentWindow) == null || b.postMessage(
73
232
  {
74
233
  type: "didSendTransaction",
75
234
  success: !1,
76
- error: a
235
+ error: c
77
236
  },
78
237
  this.baseUrl
79
238
  );
@@ -85,7 +244,7 @@ class b {
85
244
  if (!this.opts.walletProvider)
86
245
  throw new Error("walletProvider is not set");
87
246
  if (!this.opts.walletProvider.signTypedDataAsync) {
88
- (y = (m = this.iframe) == null ? void 0 : m.contentWindow) == null || y.postMessage(
247
+ ($ = (v = this.iframe) == null ? void 0 : v.contentWindow) == null || $.postMessage(
89
248
  {
90
249
  type: "didSignTypedData",
91
250
  success: !1,
@@ -96,23 +255,23 @@ class b {
96
255
  return;
97
256
  }
98
257
  try {
99
- const a = await this.opts.walletProvider.signTypedDataAsync(
100
- t.data
258
+ const c = await this.opts.walletProvider.signTypedDataAsync(
259
+ e.data
101
260
  );
102
- (u = (w = this.iframe) == null ? void 0 : w.contentWindow) == null || u.postMessage(
261
+ (P = (x = this.iframe) == null ? void 0 : x.contentWindow) == null || P.postMessage(
103
262
  {
104
263
  type: "didSignTypedData",
105
264
  success: !0,
106
- signature: a
265
+ signature: c
107
266
  },
108
267
  this.baseUrl
109
268
  );
110
- } catch (a) {
111
- (g = (f = this.iframe) == null ? void 0 : f.contentWindow) == null || g.postMessage(
269
+ } catch (c) {
270
+ (I = (E = this.iframe) == null ? void 0 : E.contentWindow) == null || I.postMessage(
112
271
  {
113
272
  type: "didSignTypedData",
114
273
  success: !1,
115
- error: a
274
+ error: c
116
275
  },
117
276
  this.baseUrl
118
277
  );
@@ -121,7 +280,10 @@ class b {
121
280
  break;
122
281
  }
123
282
  });
124
- this.opts = e;
283
+ this.opts = t;
284
+ }
285
+ get externalUrl() {
286
+ 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=${S(this.opts.evm.value || 0n)}` : ""}`;
125
287
  }
126
288
  initialize() {
127
289
  window.addEventListener("message", this.iframeEventHandler);
@@ -135,73 +297,115 @@ class b {
135
297
  get iframe() {
136
298
  return document.getElementById("glide-deposit-iframe");
137
299
  }
138
- openUrl(e) {
139
- this.showLoader(), this.createIframe(e);
300
+ openUrl(t) {
301
+ this.showLoader(), this.createIframe(t);
140
302
  }
141
- createIframe(e) {
303
+ createIframe(t) {
142
304
  this.removeIframe();
143
- const t = document.createElement("iframe");
144
- t.id = "glide-deposit-iframe", t.setAttribute(
305
+ const e = document.createElement("iframe");
306
+ e.id = "glide-deposit-iframe", e.setAttribute(
145
307
  "style",
146
308
  "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%;"
147
- ), t.src = e, t.allow = "payment *; clipboard-write *", document.body.appendChild(t), window.setTimeout(() => {
148
- var s;
149
- (s = t == null ? void 0 : t.contentWindow) == null || s.focus();
309
+ ), e.src = t, e.allow = "payment *; clipboard-write *", document.body.appendChild(e), window.setTimeout(() => {
310
+ var i;
311
+ (i = e == null ? void 0 : e.contentWindow) == null || i.focus();
150
312
  }, 100);
151
313
  }
152
314
  removeIframe() {
153
- const e = document.getElementById("glide-deposit-iframe");
154
- e && (e.remove(), document.body.classList.remove("glide-deposit-open"));
315
+ const t = document.getElementById("glide-deposit-iframe");
316
+ t && (t.remove(), document.body.classList.remove("glide-deposit-open"));
155
317
  }
156
318
  showLoader() {
157
- const e = document.createElement("style");
158
- e.innerHTML = "@keyframes pulse { 0% { opacity: 1; transform: scale(0.1); } 100% { opacity: 0; transform: scale(1); } }", document.head.appendChild(e);
159
- const t = document.createElement("div");
160
- t.setAttribute("class", "glide-deposit-loader");
161
- const s = document.createElement("main");
162
- s.setAttribute(
319
+ const t = document.createElement("style");
320
+ t.innerHTML = "@keyframes pulse { 0% { opacity: 1; transform: scale(0.1); } 100% { opacity: 0; transform: scale(1); } }", document.head.appendChild(t);
321
+ const e = document.createElement("div");
322
+ e.setAttribute("class", "glide-deposit-loader");
323
+ const i = document.createElement("main");
324
+ i.setAttribute(
163
325
  "style",
164
326
  "display: flex; align-items: center; justify-content: center; flex-direction: column; width: 100%; height: 100%;"
165
- ), t.appendChild(s), document.body.appendChild(t);
327
+ ), e.appendChild(i), document.body.appendChild(e);
166
328
  }
167
329
  hideLoader() {
168
- document.querySelectorAll(".glide-deposit-loader").forEach((e) => e.remove());
330
+ document.querySelectorAll(".glide-deposit-loader").forEach((t) => t.remove());
169
331
  }
170
332
  }
171
- const T = ({
172
- app: i,
173
- recipient: e,
333
+ const X = ({
334
+ app: s,
335
+ recipient: t,
336
+ preferGaslessPayment: e,
337
+ mode: i,
338
+ walletProvider: n,
339
+ onSuccess: r,
340
+ baseUrl: o
341
+ }) => {
342
+ const a = m(() => new g({
343
+ app: s,
344
+ recipient: t,
345
+ preferGaslessPayment: e,
346
+ mode: i,
347
+ walletProvider: n,
348
+ onSuccess: r,
349
+ baseUrl: o
350
+ }), [
351
+ s,
352
+ t,
353
+ e,
354
+ i,
355
+ n,
356
+ r,
357
+ o
358
+ ]);
359
+ return {
360
+ openGlideDeposit: a.open,
361
+ externalUrl: a.externalUrl
362
+ };
363
+ }, J = ({
364
+ app: s,
174
365
  preferGaslessPayment: t,
175
- mode: s,
176
- walletProvider: o,
366
+ amount: e,
367
+ walletProvider: i,
368
+ onSuccess: n,
177
369
  baseUrl: r
178
- }) => ({
179
- openGlideDeposit: v(() => new b({
180
- app: i,
181
- recipient: e,
370
+ }) => {
371
+ const o = m(() => new g({
372
+ app: s,
182
373
  preferGaslessPayment: t,
183
- mode: s,
184
- walletProvider: o,
374
+ mode: "pay",
375
+ amount: e,
376
+ walletProvider: i,
377
+ onSuccess: n,
185
378
  baseUrl: r
186
- }), [i, e, t, s, o, r]).open
187
- }), $ = ({
188
- app: i,
379
+ }), [s, t, i, r, e, n]);
380
+ return {
381
+ openGlidePay: o.open,
382
+ externalUrl: o.externalUrl
383
+ };
384
+ }, K = ({
385
+ app: s,
386
+ evm: t,
189
387
  preferGaslessPayment: e,
190
- amount: t,
191
- walletProvider: s,
192
- baseUrl: o
193
- }) => ({
194
- openGlidePay: v(() => new b({
195
- app: i,
388
+ walletProvider: i,
389
+ onSuccess: n,
390
+ baseUrl: r
391
+ }) => {
392
+ const o = m(() => new g({
393
+ app: s,
394
+ evm: t,
196
395
  preferGaslessPayment: e,
197
- mode: "pay",
198
- amount: t,
199
- walletProvider: s,
200
- baseUrl: o
201
- }), [i, e, s, o, t]).open
202
- });
396
+ mode: "call",
397
+ walletProvider: i,
398
+ onSuccess: n,
399
+ baseUrl: r
400
+ }), [s, t, e, i, n, r]);
401
+ return {
402
+ openGlideCall: o.open,
403
+ externalUrl: o.externalUrl
404
+ };
405
+ };
203
406
  export {
204
- b as GlideDeposit,
205
- T as useGlideDeposit,
206
- $ as useGlidePay
407
+ g as GlideDeposit,
408
+ K as useGlideCall,
409
+ X as useGlideDeposit,
410
+ J as useGlidePay
207
411
  };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './GlideDeposit.ts';
2
2
  export * from './useGlideDeposit.ts';
3
3
  export * from './useGlidePay.ts';
4
+ export * from './useGlideCall.ts';
@@ -0,0 +1,19 @@
1
+ import { GlideDepositWalletProvider, Hex } from './GlideDeposit.ts';
2
+ interface UseGlideCallProps {
3
+ app: string;
4
+ evm: {
5
+ chainId: number;
6
+ to: Hex;
7
+ data?: Hex;
8
+ value?: bigint;
9
+ };
10
+ preferGaslessPayment?: boolean;
11
+ walletProvider?: GlideDepositWalletProvider;
12
+ onSuccess?: (hash: Hex) => void;
13
+ baseUrl?: string;
14
+ }
15
+ export declare const useGlideCall: ({ app, evm, preferGaslessPayment, walletProvider, onSuccess, baseUrl, }: UseGlideCallProps) => {
16
+ openGlideCall: () => void;
17
+ externalUrl: string;
18
+ };
19
+ export {};
@@ -5,9 +5,11 @@ interface UseGlideDepositProps {
5
5
  preferGaslessPayment?: boolean;
6
6
  mode?: "deposit" | "withdraw";
7
7
  walletProvider?: GlideDepositWalletProvider;
8
+ onSuccess?: (hash: Hex) => void;
8
9
  baseUrl?: string;
9
10
  }
10
- export declare const useGlideDeposit: ({ app, recipient, preferGaslessPayment, mode, walletProvider, baseUrl, }: UseGlideDepositProps) => {
11
+ export declare const useGlideDeposit: ({ app, recipient, preferGaslessPayment, mode, walletProvider, onSuccess, baseUrl, }: UseGlideDepositProps) => {
11
12
  openGlideDeposit: () => void;
13
+ externalUrl: string;
12
14
  };
13
15
  export {};
@@ -1,12 +1,15 @@
1
1
  import { GlideDepositWalletProvider } from './GlideDeposit.ts';
2
+ import { Hex } from 'viem';
2
3
  interface UseGlidePayProps {
3
4
  app: string;
4
5
  preferGaslessPayment?: boolean;
5
6
  amount: string;
6
7
  walletProvider?: GlideDepositWalletProvider;
8
+ onSuccess?: (hash: Hex) => void;
7
9
  baseUrl?: string;
8
10
  }
9
- export declare const useGlidePay: ({ app, preferGaslessPayment, amount, walletProvider, baseUrl, }: UseGlidePayProps) => {
11
+ export declare const useGlidePay: ({ app, preferGaslessPayment, amount, walletProvider, onSuccess, baseUrl, }: UseGlidePayProps) => {
10
12
  openGlidePay: () => void;
13
+ externalUrl: string;
11
14
  };
12
15
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paywithglide/glide-react",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -18,19 +18,20 @@
18
18
  "scripts": {
19
19
  "dev": "vite",
20
20
  "build": "tsc --p ./tsconfig.build.json && vite build",
21
+ "build-web": "tsc --p ./tsconfig.build.json && vite build --mode web",
21
22
  "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
22
23
  "preview": "vite preview",
23
24
  "prepublishOnly": "npm run build"
24
25
  },
25
26
  "dependencies": {
26
- "@paywithglide/glide-js": "^0.10.0",
27
+ "@paywithglide/glide-js": "^0.10.0"
28
+ },
29
+ "devDependencies": {
27
30
  "@tanstack/react-query": "^5.61.5",
28
31
  "react": "^18.3.1",
29
32
  "react-dom": "^18.3.1",
30
33
  "viem": "^2.21.51",
31
- "wagmi": "^2.13.0"
32
- },
33
- "devDependencies": {
34
+ "wagmi": "^2.13.0",
34
35
  "@antiwork/shortest": "^0.2.1",
35
36
  "@eslint/js": "^9.15.0",
36
37
  "@types/react": "^18.3.12",