@paywithglide/glide-react 0.0.11 → 0.0.12
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/GlideDeposit.d.ts +6 -3
- package/dist/glide.js +158 -111
- package/dist/index.d.ts +1 -0
- package/dist/useGlideBuy.d.ts +16 -0
- package/dist/useGlideCall.d.ts +7 -1
- package/dist/useGlideDeposit.d.ts +3 -1
- package/dist/useGlidePay.d.ts +3 -1
- package/package.json +10 -7
package/dist/GlideDeposit.d.ts
CHANGED
|
@@ -77,7 +77,7 @@ export type GlideDepositWalletProvider = {
|
|
|
77
77
|
export type GlideDepositOptions = {
|
|
78
78
|
app: string;
|
|
79
79
|
recipient?: Hex;
|
|
80
|
-
mode?: "deposit" | "withdraw" | "pay" | "call";
|
|
80
|
+
mode?: "deposit" | "withdraw" | "pay" | "call" | "buy";
|
|
81
81
|
amount?: string;
|
|
82
82
|
evm?: {
|
|
83
83
|
chainId: number;
|
|
@@ -85,6 +85,11 @@ export type GlideDepositOptions = {
|
|
|
85
85
|
data?: Hex;
|
|
86
86
|
value?: bigint;
|
|
87
87
|
};
|
|
88
|
+
approval?: {
|
|
89
|
+
token: Hex;
|
|
90
|
+
amount: bigint;
|
|
91
|
+
};
|
|
92
|
+
sessionMetadata?: string;
|
|
88
93
|
preferGaslessPayment?: boolean;
|
|
89
94
|
walletProvider?: GlideDepositWalletProvider;
|
|
90
95
|
onSuccess?: (hash: Hex) => void;
|
|
@@ -103,6 +108,4 @@ export declare class GlideDeposit {
|
|
|
103
108
|
private openUrl;
|
|
104
109
|
private createIframe;
|
|
105
110
|
private removeIframe;
|
|
106
|
-
private showLoader;
|
|
107
|
-
private hideLoader;
|
|
108
111
|
}
|
package/dist/glide.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
1
|
+
var k = Object.defineProperty;
|
|
2
|
+
var C = (s, t, e) => t in s ? k(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
|
|
3
|
+
var h = (s, t, e) => C(s, typeof t != "symbol" ? t + "" : t, e);
|
|
4
4
|
import { useMemo as m } from "react";
|
|
5
|
-
function
|
|
5
|
+
function G(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
8
|
function z(s) {
|
|
9
|
-
return
|
|
9
|
+
return G(s, { strict: !1 }) ? Math.ceil((s.length - 2) / 2) : s.length;
|
|
10
10
|
}
|
|
11
|
-
const
|
|
11
|
+
const D = "2.21.51";
|
|
12
12
|
let u = {
|
|
13
13
|
getDocsUrl: ({ docsBaseUrl: s, docsPath: t = "", docsSlug: e }) => t ? `${s ?? "https://viem.sh"}${t}${e ? `#${e}` : ""}` : void 0,
|
|
14
|
-
version: `viem@${
|
|
14
|
+
version: `viem@${D}`
|
|
15
15
|
};
|
|
16
16
|
class l extends Error {
|
|
17
17
|
constructor(t, e = {}) {
|
|
18
|
-
var
|
|
18
|
+
var o;
|
|
19
19
|
const i = (() => {
|
|
20
20
|
var d;
|
|
21
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 = (
|
|
22
|
+
})(), n = e.cause instanceof l && e.cause.docsPath || e.docsPath, r = (o = u.getDocsUrl) == null ? void 0 : o.call(u, { ...e, docsPath: n }), a = [
|
|
23
23
|
t || "An error occurred.",
|
|
24
24
|
"",
|
|
25
25
|
...e.metaMessages ? [...e.metaMessages, ""] : [],
|
|
@@ -28,7 +28,7 @@ class l extends Error {
|
|
|
28
28
|
...u.version ? [`Version: ${u.version}`] : []
|
|
29
29
|
].join(`
|
|
30
30
|
`);
|
|
31
|
-
super(
|
|
31
|
+
super(a, e.cause ? { cause: e.cause } : void 0), Object.defineProperty(this, "details", {
|
|
32
32
|
enumerable: !0,
|
|
33
33
|
configurable: !0,
|
|
34
34
|
writable: !0,
|
|
@@ -58,40 +58,40 @@ class l 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 =
|
|
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
|
|
64
|
+
return S(this, t);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
function
|
|
68
|
-
return t != null && t(s) ? s : s && typeof s == "object" && "cause" in s && s.cause !== void 0 ?
|
|
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
|
|
70
|
+
class T extends l {
|
|
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
|
|
76
|
-
return typeof s == "string" ?
|
|
75
|
+
function g(s, { dir: t, size: e = 32 } = {}) {
|
|
76
|
+
return typeof s == "string" ? H(s, { dir: t, size: e }) : W(s, { dir: t, size: e });
|
|
77
77
|
}
|
|
78
|
-
function
|
|
78
|
+
function H(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
|
|
83
|
+
throw new T({
|
|
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
|
|
90
|
+
function W(s, { dir: t, size: e = 32 } = {}) {
|
|
91
91
|
if (e === null)
|
|
92
92
|
return s;
|
|
93
93
|
if (s.length > e)
|
|
94
|
-
throw new
|
|
94
|
+
throw new T({
|
|
95
95
|
size: s.length,
|
|
96
96
|
targetSize: e,
|
|
97
97
|
type: "bytes"
|
|
@@ -103,7 +103,7 @@ function L(s, { dir: t, size: e = 32 } = {}) {
|
|
|
103
103
|
}
|
|
104
104
|
return i;
|
|
105
105
|
}
|
|
106
|
-
class
|
|
106
|
+
class B extends l {
|
|
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
|
}
|
|
@@ -113,7 +113,7 @@ class j extends l {
|
|
|
113
113
|
super(`Size cannot exceed ${e} bytes. Given size: ${t} bytes.`, { name: "SizeOverflowError" });
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
|
-
function
|
|
116
|
+
function A(s, { size: t }) {
|
|
117
117
|
if (z(s) > t)
|
|
118
118
|
throw new j({
|
|
119
119
|
givenSize: z(s),
|
|
@@ -121,70 +121,69 @@ function D(s, { size: t }) {
|
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
123
|
const O = /* @__PURE__ */ Array.from({ length: 256 }, (s, t) => t.toString(16).padStart(2, "0"));
|
|
124
|
-
function
|
|
125
|
-
return typeof s == "number" || typeof s == "bigint" ? N(s, t) : typeof s == "string" ?
|
|
124
|
+
function U(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) : M(s, t);
|
|
126
126
|
}
|
|
127
|
-
function
|
|
127
|
+
function L(s, t = {}) {
|
|
128
128
|
const e = `0x${Number(s)}`;
|
|
129
|
-
return typeof t.size == "number" ? (
|
|
129
|
+
return typeof t.size == "number" ? (A(e, { size: t.size }), g(e, { size: t.size })) : e;
|
|
130
130
|
}
|
|
131
131
|
function M(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" ? (
|
|
136
|
+
return typeof t.size == "number" ? (A(i, { size: t.size }), g(i, { dir: "right", size: t.size })) : i;
|
|
137
137
|
}
|
|
138
138
|
function N(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
|
-
const
|
|
143
|
-
if (r && n > r || n <
|
|
142
|
+
const a = typeof r == "bigint" && e ? -r - 1n : 0;
|
|
143
|
+
if (r && n > r || n < a) {
|
|
144
144
|
const d = typeof s == "bigint" ? "n" : "";
|
|
145
|
-
throw new
|
|
145
|
+
throw new B({
|
|
146
146
|
max: r ? `${r}${d}` : void 0,
|
|
147
|
-
min: `${
|
|
147
|
+
min: `${a}${d}`,
|
|
148
148
|
signed: e,
|
|
149
149
|
size: i,
|
|
150
150
|
value: `${s}${d}`
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
|
-
const
|
|
154
|
-
return i ?
|
|
153
|
+
const o = `0x${(e && n < 0 ? (1n << BigInt(i * 8)) + BigInt(n) : n).toString(16)}`;
|
|
154
|
+
return i ? g(o, { size: i }) : o;
|
|
155
155
|
}
|
|
156
|
-
const
|
|
157
|
-
function
|
|
158
|
-
const e =
|
|
156
|
+
const R = /* @__PURE__ */ new TextEncoder();
|
|
157
|
+
function V(s, t = {}) {
|
|
158
|
+
const e = R.encode(s);
|
|
159
159
|
return M(e, t);
|
|
160
160
|
}
|
|
161
|
-
class
|
|
161
|
+
class f {
|
|
162
162
|
constructor(t) {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
var
|
|
166
|
-
if (
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
}
|
|
163
|
+
h(this, "opts");
|
|
164
|
+
h(this, "open", () => {
|
|
165
|
+
var a, o, d, p;
|
|
166
|
+
if (document.body.classList.contains("glide-deposit-open")) return;
|
|
167
|
+
if (document.body.classList.add("glide-deposit-open"), (this.opts.mode === "deposit" || this.opts.mode === "buy") && !this.opts.recipient)
|
|
168
|
+
throw new Error("recipient is required for deposit/buy mode");
|
|
169
|
+
if (this.opts.preferGaslessPayment && this.opts.walletProvider && !this.opts.walletProvider.signTypedDataAsync)
|
|
170
|
+
throw new Error(
|
|
171
|
+
"walletProvider.signTypedDataAsync is required when preferGaslessPayment=true"
|
|
172
|
+
);
|
|
173
|
+
const t = this.opts.recipient, e = (a = this.opts.walletProvider) == null ? void 0 : a.address, i = (o = this.opts.walletProvider) == null ? void 0 : o.availableChainIds, n = (d = this.opts.walletProvider) == null ? void 0 : d.currentChainId, r = this.opts.preferGaslessPayment || !!((p = this.opts.walletProvider) != null && p.signTypedDataAsync);
|
|
174
|
+
this.openUrl(
|
|
175
|
+
`${this.baseUrl}${this.opts.app}?embed=true${t ? `&recipient=${t}` : ""}${e ? `&connectedWalletAddress=${e}` : ""}${n ? `¤tChainId=${n}` : ""}${i ? `&availableChainIds=${i.join(",")}` : ""}${r ? "&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=${U(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}` : ""}`
|
|
176
|
+
), this.initialize();
|
|
178
177
|
});
|
|
179
|
-
|
|
180
|
-
var i, n, r,
|
|
178
|
+
h(this, "iframeEventHandler", async (t) => {
|
|
179
|
+
var i, n, r, a, o, d, p, y, w, $, v, b, x, P, I, E;
|
|
181
180
|
const e = t.data;
|
|
182
181
|
switch (e.type) {
|
|
183
182
|
case "success":
|
|
184
183
|
(n = (i = this.opts) == null ? void 0 : i.onSuccess) == null || n.call(i, e.hash);
|
|
185
184
|
break;
|
|
186
185
|
case "close":
|
|
187
|
-
this.removeIframe(), this.
|
|
186
|
+
this.removeIframe(), this.destroy();
|
|
188
187
|
break;
|
|
189
188
|
case "switchChain":
|
|
190
189
|
if (!this.opts.walletProvider)
|
|
@@ -192,7 +191,7 @@ class g {
|
|
|
192
191
|
try {
|
|
193
192
|
await this.opts.walletProvider.switchChainAsync({
|
|
194
193
|
chainId: e.chainId
|
|
195
|
-
}), (
|
|
194
|
+
}), (a = (r = this.iframe) == null ? void 0 : r.contentWindow) == null || a.postMessage(
|
|
196
195
|
{
|
|
197
196
|
type: "didSwitchChain",
|
|
198
197
|
success: !0,
|
|
@@ -201,7 +200,7 @@ class g {
|
|
|
201
200
|
this.baseUrl
|
|
202
201
|
);
|
|
203
202
|
} catch (c) {
|
|
204
|
-
(d = (
|
|
203
|
+
(d = (o = this.iframe) == null ? void 0 : o.contentWindow) == null || d.postMessage(
|
|
205
204
|
{
|
|
206
205
|
type: "didSwitchChain",
|
|
207
206
|
success: !1,
|
|
@@ -219,7 +218,7 @@ class g {
|
|
|
219
218
|
const c = await this.opts.walletProvider.sendTransactionAsync(
|
|
220
219
|
e.tx
|
|
221
220
|
);
|
|
222
|
-
(y = (
|
|
221
|
+
(y = (p = this.iframe) == null ? void 0 : p.contentWindow) == null || y.postMessage(
|
|
223
222
|
{
|
|
224
223
|
type: "didSendTransaction",
|
|
225
224
|
success: !0,
|
|
@@ -228,7 +227,7 @@ class g {
|
|
|
228
227
|
this.baseUrl
|
|
229
228
|
);
|
|
230
229
|
} catch (c) {
|
|
231
|
-
(
|
|
230
|
+
($ = (w = this.iframe) == null ? void 0 : w.contentWindow) == null || $.postMessage(
|
|
232
231
|
{
|
|
233
232
|
type: "didSendTransaction",
|
|
234
233
|
success: !1,
|
|
@@ -244,7 +243,7 @@ class g {
|
|
|
244
243
|
if (!this.opts.walletProvider)
|
|
245
244
|
throw new Error("walletProvider is not set");
|
|
246
245
|
if (!this.opts.walletProvider.signTypedDataAsync) {
|
|
247
|
-
(
|
|
246
|
+
(b = (v = this.iframe) == null ? void 0 : v.contentWindow) == null || b.postMessage(
|
|
248
247
|
{
|
|
249
248
|
type: "didSignTypedData",
|
|
250
249
|
success: !1,
|
|
@@ -267,7 +266,7 @@ class g {
|
|
|
267
266
|
this.baseUrl
|
|
268
267
|
);
|
|
269
268
|
} catch (c) {
|
|
270
|
-
(
|
|
269
|
+
(E = (I = this.iframe) == null ? void 0 : I.contentWindow) == null || E.postMessage(
|
|
271
270
|
{
|
|
272
271
|
type: "didSignTypedData",
|
|
273
272
|
success: !1,
|
|
@@ -283,7 +282,7 @@ class g {
|
|
|
283
282
|
this.opts = t;
|
|
284
283
|
}
|
|
285
284
|
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=${
|
|
285
|
+
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=${U(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}` : ""}`;
|
|
287
286
|
}
|
|
288
287
|
initialize() {
|
|
289
288
|
window.addEventListener("message", this.iframeEventHandler);
|
|
@@ -298,54 +297,42 @@ class g {
|
|
|
298
297
|
return document.getElementById("glide-deposit-iframe");
|
|
299
298
|
}
|
|
300
299
|
openUrl(t) {
|
|
301
|
-
this.
|
|
300
|
+
this.createIframe(t);
|
|
302
301
|
}
|
|
303
302
|
createIframe(t) {
|
|
304
303
|
this.removeIframe();
|
|
305
304
|
const e = document.createElement("iframe");
|
|
306
305
|
e.id = "glide-deposit-iframe", e.setAttribute(
|
|
307
306
|
"style",
|
|
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%;"
|
|
309
|
-
), e.
|
|
307
|
+
"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;"
|
|
308
|
+
), e.onload = () => {
|
|
310
309
|
var i;
|
|
311
|
-
(i = e == null ? void 0 : e.contentWindow) == null || i.focus();
|
|
312
|
-
},
|
|
310
|
+
e.style.opacity = "1", (i = e == null ? void 0 : e.contentWindow) == null || i.focus();
|
|
311
|
+
}, e.src = t, e.allow = "payment *; clipboard-write *", document.body.appendChild(e);
|
|
313
312
|
}
|
|
314
313
|
removeIframe() {
|
|
315
314
|
const t = document.getElementById("glide-deposit-iframe");
|
|
316
315
|
t && (t.remove(), document.body.classList.remove("glide-deposit-open"));
|
|
317
316
|
}
|
|
318
|
-
showLoader() {
|
|
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(
|
|
325
|
-
"style",
|
|
326
|
-
"display: flex; align-items: center; justify-content: center; flex-direction: column; width: 100%; height: 100%;"
|
|
327
|
-
), e.appendChild(i), document.body.appendChild(e);
|
|
328
|
-
}
|
|
329
|
-
hideLoader() {
|
|
330
|
-
document.querySelectorAll(".glide-deposit-loader").forEach((t) => t.remove());
|
|
331
|
-
}
|
|
332
317
|
}
|
|
333
318
|
const X = ({
|
|
334
319
|
app: s,
|
|
335
320
|
recipient: t,
|
|
336
321
|
preferGaslessPayment: e,
|
|
337
322
|
mode: i,
|
|
338
|
-
|
|
339
|
-
|
|
323
|
+
sessionMetadata: n,
|
|
324
|
+
walletProvider: r,
|
|
325
|
+
onSuccess: a,
|
|
340
326
|
baseUrl: o
|
|
341
327
|
}) => {
|
|
342
|
-
const
|
|
328
|
+
const d = m(() => new f({
|
|
343
329
|
app: s,
|
|
344
330
|
recipient: t,
|
|
345
331
|
preferGaslessPayment: e,
|
|
346
332
|
mode: i,
|
|
347
|
-
|
|
348
|
-
|
|
333
|
+
sessionMetadata: n,
|
|
334
|
+
walletProvider: r,
|
|
335
|
+
onSuccess: a,
|
|
349
336
|
baseUrl: o
|
|
350
337
|
}), [
|
|
351
338
|
s,
|
|
@@ -354,57 +341,117 @@ const X = ({
|
|
|
354
341
|
i,
|
|
355
342
|
n,
|
|
356
343
|
r,
|
|
344
|
+
a,
|
|
357
345
|
o
|
|
358
346
|
]);
|
|
359
347
|
return {
|
|
360
|
-
openGlideDeposit:
|
|
361
|
-
externalUrl:
|
|
348
|
+
openGlideDeposit: d.open,
|
|
349
|
+
externalUrl: d.externalUrl,
|
|
350
|
+
opts: d.opts
|
|
362
351
|
};
|
|
363
352
|
}, J = ({
|
|
364
353
|
app: s,
|
|
365
354
|
preferGaslessPayment: t,
|
|
366
355
|
amount: e,
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
356
|
+
sessionMetadata: i,
|
|
357
|
+
walletProvider: n,
|
|
358
|
+
onSuccess: r,
|
|
359
|
+
baseUrl: a
|
|
370
360
|
}) => {
|
|
371
|
-
const o = m(() => new
|
|
361
|
+
const o = m(() => new f({
|
|
372
362
|
app: s,
|
|
373
363
|
preferGaslessPayment: t,
|
|
374
364
|
mode: "pay",
|
|
375
365
|
amount: e,
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
366
|
+
sessionMetadata: i,
|
|
367
|
+
walletProvider: n,
|
|
368
|
+
onSuccess: r,
|
|
369
|
+
baseUrl: a
|
|
370
|
+
}), [
|
|
371
|
+
s,
|
|
372
|
+
t,
|
|
373
|
+
e,
|
|
374
|
+
i,
|
|
375
|
+
n,
|
|
376
|
+
r,
|
|
377
|
+
a
|
|
378
|
+
]);
|
|
380
379
|
return {
|
|
381
380
|
openGlidePay: o.open,
|
|
382
|
-
externalUrl: o.externalUrl
|
|
381
|
+
externalUrl: o.externalUrl,
|
|
382
|
+
opts: o.opts
|
|
383
383
|
};
|
|
384
384
|
}, K = ({
|
|
385
385
|
app: s,
|
|
386
386
|
evm: t,
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
387
|
+
approval: e,
|
|
388
|
+
preferGaslessPayment: i,
|
|
389
|
+
sessionMetadata: n,
|
|
390
|
+
walletProvider: r,
|
|
391
|
+
onSuccess: a,
|
|
392
|
+
baseUrl: o
|
|
391
393
|
}) => {
|
|
392
|
-
const
|
|
394
|
+
const d = m(() => new f({
|
|
393
395
|
app: s,
|
|
394
396
|
evm: t,
|
|
395
|
-
|
|
397
|
+
approval: e,
|
|
398
|
+
preferGaslessPayment: i,
|
|
399
|
+
sessionMetadata: n,
|
|
396
400
|
mode: "call",
|
|
397
|
-
walletProvider:
|
|
398
|
-
onSuccess:
|
|
399
|
-
baseUrl:
|
|
400
|
-
}), [
|
|
401
|
+
walletProvider: r,
|
|
402
|
+
onSuccess: a,
|
|
403
|
+
baseUrl: o
|
|
404
|
+
}), [
|
|
405
|
+
s,
|
|
406
|
+
t,
|
|
407
|
+
e,
|
|
408
|
+
i,
|
|
409
|
+
n,
|
|
410
|
+
r,
|
|
411
|
+
a,
|
|
412
|
+
o
|
|
413
|
+
]);
|
|
414
|
+
return {
|
|
415
|
+
openGlideCall: d.open,
|
|
416
|
+
externalUrl: d.externalUrl,
|
|
417
|
+
opts: d.opts
|
|
418
|
+
};
|
|
419
|
+
}, Q = ({
|
|
420
|
+
app: s,
|
|
421
|
+
recipient: t,
|
|
422
|
+
preferGaslessPayment: e,
|
|
423
|
+
sessionMetadata: i,
|
|
424
|
+
walletProvider: n,
|
|
425
|
+
onSuccess: r,
|
|
426
|
+
baseUrl: a
|
|
427
|
+
}) => {
|
|
428
|
+
const o = m(() => new f({
|
|
429
|
+
app: s,
|
|
430
|
+
recipient: t,
|
|
431
|
+
preferGaslessPayment: e,
|
|
432
|
+
sessionMetadata: i,
|
|
433
|
+
mode: "buy",
|
|
434
|
+
walletProvider: n,
|
|
435
|
+
onSuccess: r,
|
|
436
|
+
baseUrl: a
|
|
437
|
+
}), [
|
|
438
|
+
s,
|
|
439
|
+
t,
|
|
440
|
+
e,
|
|
441
|
+
i,
|
|
442
|
+
n,
|
|
443
|
+
r,
|
|
444
|
+
a
|
|
445
|
+
]);
|
|
401
446
|
return {
|
|
402
|
-
|
|
403
|
-
externalUrl: o.externalUrl
|
|
447
|
+
openGlideBuy: o.open,
|
|
448
|
+
externalUrl: o.externalUrl,
|
|
449
|
+
opts: o.opts
|
|
404
450
|
};
|
|
405
451
|
};
|
|
406
452
|
export {
|
|
407
|
-
|
|
453
|
+
f as GlideDeposit,
|
|
454
|
+
Q as useGlideBuy,
|
|
408
455
|
K as useGlideCall,
|
|
409
456
|
X as useGlideDeposit,
|
|
410
457
|
J as useGlidePay
|
package/dist/index.d.ts
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GlideDepositWalletProvider, Hex } from './GlideDeposit.ts';
|
|
2
|
+
interface UseGlideBuyProps {
|
|
3
|
+
app: string;
|
|
4
|
+
recipient?: Hex;
|
|
5
|
+
preferGaslessPayment?: boolean;
|
|
6
|
+
sessionMetadata?: string;
|
|
7
|
+
walletProvider?: GlideDepositWalletProvider;
|
|
8
|
+
onSuccess?: (hash: Hex) => void;
|
|
9
|
+
baseUrl?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const useGlideBuy: ({ app, recipient, preferGaslessPayment, sessionMetadata, walletProvider, onSuccess, baseUrl, }: UseGlideBuyProps) => {
|
|
12
|
+
openGlideBuy: () => void;
|
|
13
|
+
externalUrl: string;
|
|
14
|
+
opts: import('./GlideDeposit.ts').GlideDepositOptions;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
package/dist/useGlideCall.d.ts
CHANGED
|
@@ -7,13 +7,19 @@ interface UseGlideCallProps {
|
|
|
7
7
|
data?: Hex;
|
|
8
8
|
value?: bigint;
|
|
9
9
|
};
|
|
10
|
+
approval?: {
|
|
11
|
+
token: Hex;
|
|
12
|
+
amount: bigint;
|
|
13
|
+
};
|
|
10
14
|
preferGaslessPayment?: boolean;
|
|
15
|
+
sessionMetadata?: string;
|
|
11
16
|
walletProvider?: GlideDepositWalletProvider;
|
|
12
17
|
onSuccess?: (hash: Hex) => void;
|
|
13
18
|
baseUrl?: string;
|
|
14
19
|
}
|
|
15
|
-
export declare const useGlideCall: ({ app, evm, preferGaslessPayment, walletProvider, onSuccess, baseUrl, }: UseGlideCallProps) => {
|
|
20
|
+
export declare const useGlideCall: ({ app, evm, approval, preferGaslessPayment, sessionMetadata, walletProvider, onSuccess, baseUrl, }: UseGlideCallProps) => {
|
|
16
21
|
openGlideCall: () => void;
|
|
17
22
|
externalUrl: string;
|
|
23
|
+
opts: import('./GlideDeposit.ts').GlideDepositOptions;
|
|
18
24
|
};
|
|
19
25
|
export {};
|
|
@@ -4,12 +4,14 @@ interface UseGlideDepositProps {
|
|
|
4
4
|
recipient?: Hex;
|
|
5
5
|
preferGaslessPayment?: boolean;
|
|
6
6
|
mode?: "deposit" | "withdraw";
|
|
7
|
+
sessionMetadata?: string;
|
|
7
8
|
walletProvider?: GlideDepositWalletProvider;
|
|
8
9
|
onSuccess?: (hash: Hex) => void;
|
|
9
10
|
baseUrl?: string;
|
|
10
11
|
}
|
|
11
|
-
export declare const useGlideDeposit: ({ app, recipient, preferGaslessPayment, mode, walletProvider, onSuccess, baseUrl, }: UseGlideDepositProps) => {
|
|
12
|
+
export declare const useGlideDeposit: ({ app, recipient, preferGaslessPayment, mode, sessionMetadata, walletProvider, onSuccess, baseUrl, }: UseGlideDepositProps) => {
|
|
12
13
|
openGlideDeposit: () => void;
|
|
13
14
|
externalUrl: string;
|
|
15
|
+
opts: import('./GlideDeposit.ts').GlideDepositOptions;
|
|
14
16
|
};
|
|
15
17
|
export {};
|
package/dist/useGlidePay.d.ts
CHANGED
|
@@ -4,12 +4,14 @@ interface UseGlidePayProps {
|
|
|
4
4
|
app: string;
|
|
5
5
|
preferGaslessPayment?: boolean;
|
|
6
6
|
amount: string;
|
|
7
|
+
sessionMetadata?: string;
|
|
7
8
|
walletProvider?: GlideDepositWalletProvider;
|
|
8
9
|
onSuccess?: (hash: Hex) => void;
|
|
9
10
|
baseUrl?: string;
|
|
10
11
|
}
|
|
11
|
-
export declare const useGlidePay: ({ app, preferGaslessPayment, amount, walletProvider, onSuccess, baseUrl, }: UseGlidePayProps) => {
|
|
12
|
+
export declare const useGlidePay: ({ app, preferGaslessPayment, amount, sessionMetadata, walletProvider, onSuccess, baseUrl, }: UseGlidePayProps) => {
|
|
12
13
|
openGlidePay: () => void;
|
|
13
14
|
externalUrl: string;
|
|
15
|
+
opts: import('./GlideDeposit.ts').GlideDepositOptions;
|
|
14
16
|
};
|
|
15
17
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paywithglide/glide-react",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"dev": "vite",
|
|
20
20
|
"build": "tsc --p ./tsconfig.build.json && vite build",
|
|
21
21
|
"build-web": "tsc --p ./tsconfig.build.json && vite build --mode web",
|
|
22
|
+
"build-chromeext": "tsc --p ./tsconfig.build.json && vite build --mode chromeext:popup && vite build --mode chromeext:content && vite build --mode chromeext:background",
|
|
22
23
|
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
23
24
|
"preview": "vite preview",
|
|
24
25
|
"prepublishOnly": "npm run build"
|
|
@@ -27,13 +28,10 @@
|
|
|
27
28
|
"@paywithglide/glide-js": "^0.10.0"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
|
-
"@tanstack/react-query": "^5.61.5",
|
|
31
|
-
"react": "^18.3.1",
|
|
32
|
-
"react-dom": "^18.3.1",
|
|
33
|
-
"viem": "^2.21.51",
|
|
34
|
-
"wagmi": "^2.13.0",
|
|
35
31
|
"@antiwork/shortest": "^0.2.1",
|
|
36
32
|
"@eslint/js": "^9.15.0",
|
|
33
|
+
"@tanstack/react-query": "^5.61.5",
|
|
34
|
+
"@types/chrome": "^0.0.299",
|
|
37
35
|
"@types/react": "^18.3.12",
|
|
38
36
|
"@types/react-dom": "^18.3.1",
|
|
39
37
|
"@vitejs/plugin-react": "^4.3.4",
|
|
@@ -41,9 +39,14 @@
|
|
|
41
39
|
"eslint-plugin-react-hooks": "^5.0.0",
|
|
42
40
|
"eslint-plugin-react-refresh": "^0.4.14",
|
|
43
41
|
"globals": "^15.12.0",
|
|
42
|
+
"react": "^18.3.1",
|
|
43
|
+
"react-dom": "^18.3.1",
|
|
44
44
|
"typescript": "~5.6.2",
|
|
45
45
|
"typescript-eslint": "^8.15.0",
|
|
46
|
+
"viem": "^2.21.51",
|
|
46
47
|
"vite": "^6.0.1",
|
|
47
|
-
"vite-plugin-dts": "^4.3.0"
|
|
48
|
+
"vite-plugin-dts": "^4.3.0",
|
|
49
|
+
"vite-plugin-static-copy": "^2.2.0",
|
|
50
|
+
"wagmi": "^2.13.0"
|
|
48
51
|
}
|
|
49
52
|
}
|