@credenza3/passport-sui 0.1.6 → 0.1.8

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.
Files changed (76) hide show
  1. package/dist/App-CiVYs_be.js +606 -0
  2. package/dist/App-CiVYs_be.js.map +1 -0
  3. package/dist/{Button-DdkN4ygx.js → Button-BoE6UH7J.js} +8 -8
  4. package/dist/{Button-DdkN4ygx.js.map → Button-BoE6UH7J.js.map} +1 -1
  5. package/dist/{ButtonBack-DOt6efWB.js → ButtonBack-ZuJIZvbM.js} +4 -4
  6. package/dist/{ButtonBack-DOt6efWB.js.map → ButtonBack-ZuJIZvbM.js.map} +1 -1
  7. package/dist/{ButtonLink-C3suV3YT.js → ButtonLink-Dn3fg--i.js} +4 -4
  8. package/dist/{ButtonLink-C3suV3YT.js.map → ButtonLink-Dn3fg--i.js.map} +1 -1
  9. package/dist/{ConfirmAccount-B0QimErt.js → ConfirmAccount-B_xj8sv2.js} +51 -51
  10. package/dist/{ConfirmAccount-B0QimErt.js.map → ConfirmAccount-B_xj8sv2.js.map} +1 -1
  11. package/dist/{ContentHeader-DWeKFCbL.js → ContentHeader-f66pzycq.js} +4 -4
  12. package/dist/{ContentHeader-DWeKFCbL.js.map → ContentHeader-f66pzycq.js.map} +1 -1
  13. package/dist/{Error-6xg8-wZJ.js → Error-De7P-glG.js} +18 -18
  14. package/dist/{Error-6xg8-wZJ.js.map → Error-De7P-glG.js.map} +1 -1
  15. package/dist/{Input-CoBmMhni.js → Input-C8HxuxD3.js} +7 -7
  16. package/dist/{Input-CoBmMhni.js.map → Input-C8HxuxD3.js.map} +1 -1
  17. package/dist/{Label-B8iJ43l6.js → Label-J_7qJTYM.js} +3 -3
  18. package/dist/{Label-B8iJ43l6.js.map → Label-J_7qJTYM.js.map} +1 -1
  19. package/dist/Loader-Dfa1xrjr.js +29 -0
  20. package/dist/Loader-Dfa1xrjr.js.map +1 -0
  21. package/dist/{Login-DsclMbeX.js → Login-CHb27HoO.js} +79 -78
  22. package/dist/{Login-DsclMbeX.js.map → Login-CHb27HoO.js.map} +1 -1
  23. package/dist/{Logout-ClD-Lgcx.js → Logout-BSauJopw.js} +17 -17
  24. package/dist/{Logout-ClD-Lgcx.js.map → Logout-BSauJopw.js.map} +1 -1
  25. package/dist/Nav-CachMbHd.js +669 -0
  26. package/dist/{Nav-DGxksgRd.js.map → Nav-CachMbHd.js.map} +1 -1
  27. package/dist/{PassportId-5U1tRgrN.js → PassportId-DAmN88Xx.js} +13 -13
  28. package/dist/{PassportId-5U1tRgrN.js.map → PassportId-DAmN88Xx.js.map} +1 -1
  29. package/dist/{Payment-DXvVU-Oe.js → Payment-CAVUR9D4.js} +119 -118
  30. package/dist/{Payment-DXvVU-Oe.js.map → Payment-CAVUR9D4.js.map} +1 -1
  31. package/dist/{PaymentResult-BDKwT5Sg.js → PaymentResult-Bs7bYTUy.js} +62 -62
  32. package/dist/{PaymentResult-BDKwT5Sg.js.map → PaymentResult-Bs7bYTUy.js.map} +1 -1
  33. package/dist/{Profile-euztX9tl.js → Profile-BUft3Yyd.js} +22 -22
  34. package/dist/{Profile-euztX9tl.js.map → Profile-BUft3Yyd.js.map} +1 -1
  35. package/dist/{ProgressVideo-D4DPjIEy.js → ProgressVideo-USviamwx.js} +21 -21
  36. package/dist/{ProgressVideo-D4DPjIEy.js.map → ProgressVideo-USviamwx.js.map} +1 -1
  37. package/dist/{ProgressVideo.service-BK7Nt-Vk.js → ProgressVideo.service-D9xqftcM.js} +2 -2
  38. package/dist/{ProgressVideo.service-BK7Nt-Vk.js.map → ProgressVideo.service-D9xqftcM.js.map} +1 -1
  39. package/dist/{RichAlert-D10QwVqC.js → RichAlert-DGHqlYas.js} +24 -24
  40. package/dist/{RichAlert-D10QwVqC.js.map → RichAlert-DGHqlYas.js.map} +1 -1
  41. package/dist/{Scanner-8y4vkfL1.js → Scanner-BmB0QpJ4.js} +21 -21
  42. package/dist/{Scanner-8y4vkfL1.js.map → Scanner-BmB0QpJ4.js.map} +1 -1
  43. package/dist/{SendTokens-DSJTklJ_.js → SendTokens-BfLxsIne.js} +70 -70
  44. package/dist/{SendTokens-DSJTklJ_.js.map → SendTokens-BfLxsIne.js.map} +1 -1
  45. package/dist/{Sign-CnrilrlB.js → Sign-DNPq5HuJ.js} +26 -26
  46. package/dist/{Sign-CnrilrlB.js.map → Sign-DNPq5HuJ.js.map} +1 -1
  47. package/dist/{Stripe.service-DZue_N62.js → Stripe.service-8oeSe26X.js} +3 -3
  48. package/dist/{Stripe.service-DZue_N62.js.map → Stripe.service-8oeSe26X.js.map} +1 -1
  49. package/dist/{UpdateProfile-DVYtN4B3.js → UpdateProfile-C0wtR1WE.js} +100 -100
  50. package/dist/{UpdateProfile-DVYtN4B3.js.map → UpdateProfile-C0wtR1WE.js.map} +1 -1
  51. package/dist/{UserInfo-D8COK5lo.js → UserInfo-Bm0e3CV5.js} +26 -26
  52. package/dist/{UserInfo-D8COK5lo.js.map → UserInfo-Bm0e3CV5.js.map} +1 -1
  53. package/dist/{Wallet-C--KgjFi.js → Wallet-PitFWALT.js} +27 -27
  54. package/dist/{Wallet-C--KgjFi.js.map → Wallet-PitFWALT.js.map} +1 -1
  55. package/dist/{each-C50_uszW.js → each-DnjePYDb.js} +16 -16
  56. package/dist/{each-C50_uszW.js.map → each-DnjePYDb.js.map} +1 -1
  57. package/dist/{html-DTfBoa9t.js → html-BQDrIauy.js} +3 -3
  58. package/dist/{html-DTfBoa9t.js.map → html-BQDrIauy.js.map} +1 -1
  59. package/dist/{index-DmO4Bf6j.js → index-DYFZGr8a.js} +65 -68
  60. package/dist/{index-DmO4Bf6j.js.map → index-DYFZGr8a.js.map} +1 -1
  61. package/dist/{index-client-BARQdFBp.js → index-client-CT6sSU2-.js} +2 -2
  62. package/dist/{index-client-BARQdFBp.js.map → index-client-CT6sSU2-.js.map} +1 -1
  63. package/dist/{input-wkVwDWFH.js → input-DhTOoToG.js} +3 -3
  64. package/dist/{input-wkVwDWFH.js.map → input-DhTOoToG.js.map} +1 -1
  65. package/dist/{legacy-BgObIK2n.js → legacy-CMJEekqF.js} +59 -59
  66. package/dist/{legacy-BgObIK2n.js.map → legacy-CMJEekqF.js.map} +1 -1
  67. package/dist/passport.es.js +1 -1
  68. package/dist/passport.umd.js +126 -126
  69. package/dist/passport.umd.js.map +1 -1
  70. package/dist/{socket-io-BNYia6TN.js → socket-io-D23M6alP.js} +2 -2
  71. package/dist/{socket-io-BNYia6TN.js.map → socket-io-D23M6alP.js.map} +1 -1
  72. package/dist/types/Passport.d.ts +1 -2
  73. package/package.json +1 -1
  74. package/dist/App-CzJCZTZI.js +0 -644
  75. package/dist/App-CzJCZTZI.js.map +0 -1
  76. package/dist/Nav-DGxksgRd.js +0 -669
@@ -1,31 +1,31 @@
1
- import { c as Ae, p as se, h as ke, f as X, i as Q, k as Fe, r as ae, s as je, e as Ke, b as U, d as he, u as Be, t as qe, o as we, n as Je } from "./legacy-BgObIK2n.js";
2
- import { v as Te, w as u, K as t, m as i, x as m, L as e, y as $e, z as Qe, I as $, E as l, B as p, C as f, D as ie, F as W, A as Re, u as oe, N as ge, O as We, $ as Xe, R as Ye, b6 as _e, b7 as be, T as ye, P as Se, J as Ge, b8 as Ze, Q as Ce, V as ce, b9 as et, ba as tt } from "./index-DmO4Bf6j.js";
1
+ import { c as Ae, p as se, h as ke, f as X, i as J, k as je, r as ae, s as Fe, e as Ke, b as V, d as he, u as Be, t as qe, o as we, n as Ge } from "./legacy-CMJEekqF.js";
2
+ import { v as $e, w as u, J as t, m as i, A as m, K as e, x as Re, y as Je, I as R, E as l, B as p, C as f, D as ie, G as W, z as Te, u as oe, L as ge, N as We, $ as Xe, O as Ye, b6 as _e, b7 as be, R as ye, S as Se, _ as Qe, b8 as Ze, M as Ce, P as ce, b9 as et, ba as tt } from "./index-DYFZGr8a.js";
3
3
  import "./scanner.es-cf-mCExK.js";
4
- import { C as nt } from "./ContentHeader-DWeKFCbL.js";
5
- import { B as rt } from "./ButtonBack-DOt6efWB.js";
6
- import { B as de } from "./Button-DdkN4ygx.js";
7
- import { I as xe } from "./Input-CoBmMhni.js";
4
+ import { C as nt } from "./ContentHeader-f66pzycq.js";
5
+ import { B as rt } from "./ButtonBack-ZuJIZvbM.js";
6
+ import { B as de } from "./Button-BoE6UH7J.js";
7
+ import { I as xe } from "./Input-C8HxuxD3.js";
8
8
  import { S as st } from "./scanner-Bm3Pvpfs.js";
9
9
  import { g as le } from "./strings-B-rKL311.js";
10
10
  var at = X('<div>ChainId: <span class="crtw-font-bold"> </span></div>'), it = X('<label class="crtw-text-[10px] crtw-text-warningTextColor cpui-send-tokens-validation-message" for="recipientAddress">Provided address is not valid.</label>'), ot = X('<div class="crtw-ml-2.5 crtw-w-16 crtw-min-w-16"><!></div>'), ct = X('<!> <div class="crtw-w-full crtw-p-0 crtw-relative"><div id="cpuiCredScanner"></div> <!> <div>Your balance: <span class="crtw-font-bold"><!> </span></div> <div class="crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full"><div class="crtw-flex crtw-flex-col crtw-w-full"><!> <!></div> <div class="crtw-ml-2.5 crtw-cursor-pointer"><img width="53px" alt="" class="crtw-h-[53px]"/></div></div> <div class="crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full"><!> <div class="crtw-ml-2.5 crtw-w-16 crtw-min-w-16"><!></div> <!></div> <!></div> <div class="crtw-mt-0.5 crtw-mb-3 crtw-w-full"><!></div>', 1);
11
11
  function Ee(D, A) {
12
12
  if (new.target) return Ae({ component: Ee, ...D });
13
- Te(A, !1);
14
- const R = i(), z = i(), E = i(), H = i(), w = i(), k = i(), y = i(), O = i(), g = i(), o = i();
13
+ $e(A, !1);
14
+ const T = i(), z = i(), E = i(), H = i(), w = i(), k = i(), y = i(), O = i(), g = i(), o = i();
15
15
  let c = se(A, "recipientAddress", 12), v = se(A, "amount", 12), r = se(A, "options", 12), {
16
16
  onChangeCurrency: N,
17
17
  onSetMaxAmount: S,
18
18
  onBackClicked: L,
19
19
  onSendTokens: h,
20
20
  title: C,
21
- chainId: F,
21
+ chainId: j,
22
22
  onScannerClicked: Y,
23
- credAlias: j,
23
+ credAlias: F,
24
24
  isNativeCurrecyTransferAllowed: K = !0
25
25
  } = r();
26
26
  const q = (n) => Math.floor(n * 100) / 100;
27
27
  u(() => m(r()), () => {
28
- t(R, r().balance);
28
+ t(T, r().balance);
29
29
  }), u(() => m(r()), () => {
30
30
  t(z, r().isLoading);
31
31
  }), u(() => m(r()), () => {
@@ -45,11 +45,11 @@ function Ee(D, A) {
45
45
  }), u(
46
46
  () => e(k),
47
47
  () => {
48
- t(o, le(e(k), j));
48
+ t(o, le(e(k), F));
49
49
  }
50
- ), $e(), ke();
51
- var s = ct(), a = Qe(s);
52
- const x = $(() => e(w) ? "" : "Scan Passport Id");
50
+ ), Re(), ke();
51
+ var s = ct(), a = Je(s);
52
+ const x = R(() => e(w) ? "" : "Scan Passport Id");
53
53
  nt(a, {
54
54
  get text() {
55
55
  return C;
@@ -58,37 +58,37 @@ function Ee(D, A) {
58
58
  return e(x);
59
59
  }
60
60
  });
61
- var _ = l(a, 2), J = p(_);
61
+ var _ = l(a, 2), G = p(_);
62
62
  let B;
63
- var I = l(J, 2);
63
+ var I = l(G, 2);
64
64
  {
65
- var G = (n) => {
66
- var d = at(), T = l(p(d)), re = p(T, !0);
67
- f(T), f(d), ie(() => ae(re, F)), U(n, d);
65
+ var Q = (n) => {
66
+ var d = at(), $ = l(p(d)), re = p($, !0);
67
+ f($), f(d), ie(() => ae(re, j)), V(n, d);
68
68
  };
69
- Q(I, (n) => {
70
- F && n(G);
69
+ J(I, (n) => {
70
+ j && n(Q);
71
71
  });
72
72
  }
73
- var V = l(I, 2), P = l(p(V)), b = p(P);
73
+ var M = l(I, 2), P = l(p(M)), b = p(P);
74
74
  {
75
- var M = (n) => {
75
+ var U = (n) => {
76
76
  var d = qe();
77
77
  ie(
78
- (T) => ae(d, `${T ?? ""} ${e(O) ?? ""} /`),
78
+ ($) => ae(d, `${$ ?? ""} ${e(O) ?? ""} /`),
79
79
  [
80
80
  () => (e(g), W(() => q(+e(g))))
81
81
  ],
82
- $
83
- ), U(n, d);
82
+ R
83
+ ), V(n, d);
84
84
  };
85
- Q(b, (n) => {
86
- K && n(M);
85
+ J(b, (n) => {
86
+ K && n(U);
87
87
  });
88
88
  }
89
89
  var Le = l(b);
90
- f(P), f(V);
91
- var Z = l(V, 2), ee = p(Z), ue = p(ee);
90
+ f(P), f(M);
91
+ var Z = l(M, 2), ee = p(Z), ue = p(ee);
92
92
  xe(ue, {
93
93
  name: "recipientAddress",
94
94
  type: "text",
@@ -105,9 +105,9 @@ function Ee(D, A) {
105
105
  {
106
106
  var Ne = (n) => {
107
107
  var d = it();
108
- U(n, d);
108
+ V(n, d);
109
109
  };
110
- Q(Ie, (n) => {
110
+ J(Ie, (n) => {
111
111
  c() && !e(H) && n(Ne);
112
112
  });
113
113
  }
@@ -115,7 +115,7 @@ function Ee(D, A) {
115
115
  var ve = l(ee, 2), pe = p(ve);
116
116
  f(ve), f(Z);
117
117
  var te = l(Z, 2), fe = p(te);
118
- const Pe = $(() => `${e(o)} amount`);
118
+ const Pe = R(() => `${e(o)} amount`);
119
119
  xe(fe, {
120
120
  type: "number",
121
121
  min: "0",
@@ -132,7 +132,7 @@ function Ee(D, A) {
132
132
  $$legacy: !0
133
133
  });
134
134
  var ne = l(fe, 2), De = p(ne);
135
- const He = $(() => +e(R) <= 0);
135
+ const He = R(() => +e(T) <= 0);
136
136
  de(De, {
137
137
  get onClick() {
138
138
  return S;
@@ -144,10 +144,10 @@ function Ee(D, A) {
144
144
  }), f(ne);
145
145
  var Oe = l(ne, 2);
146
146
  {
147
- var Ve = (n) => {
148
- var d = ot(), T = p(d);
149
- const re = $(() => !e(k));
150
- de(T, {
147
+ var Me = (n) => {
148
+ var d = ot(), $ = p(d);
149
+ const re = R(() => !e(k));
150
+ de($, {
151
151
  get onClick() {
152
152
  return N;
153
153
  },
@@ -157,21 +157,21 @@ function Ee(D, A) {
157
157
  get disabled() {
158
158
  return e(re);
159
159
  }
160
- }), f(d), U(n, d);
160
+ }), f(d), V(n, d);
161
161
  };
162
- Q(Oe, (n) => {
163
- K && n(Ve);
162
+ J(Oe, (n) => {
163
+ K && n(Me);
164
164
  });
165
165
  }
166
166
  f(te);
167
- var Me = l(te, 2);
168
- const Ue = $(() => `Send ${v() || ""} ${e(o)}`);
169
- de(Me, {
167
+ var Ue = l(te, 2);
168
+ const Ve = R(() => `Send ${v() || ""} ${e(o)}`);
169
+ de(Ue, {
170
170
  get onClick() {
171
171
  return h;
172
172
  },
173
173
  get text() {
174
- return e(Ue);
174
+ return e(Ve);
175
175
  },
176
176
  get isLoading() {
177
177
  return e(z);
@@ -186,19 +186,19 @@ function Ee(D, A) {
186
186
  return L;
187
187
  }
188
188
  }), f(me), ie(
189
- (n, d, T) => {
190
- B = Fe(J, 1, "crtw-absolute crtw-top-0 crtw-bottom-0 crtw-left-0 crtw-right-0 crtw-z-10 crtw-border crtw-border-gray-300 crtw-rounded-lg crtw-backdrop-blur-lg", null, B, n), ae(Le, ` ${d ?? ""} ${T ?? ""}`), je(pe, "src", st);
189
+ (n, d, $) => {
190
+ B = je(G, 1, "crtw-absolute crtw-top-0 crtw-bottom-0 crtw-left-0 crtw-right-0 crtw-z-10 crtw-border crtw-border-gray-300 crtw-rounded-lg crtw-backdrop-blur-lg", null, B, n), ae(Le, ` ${d ?? ""} ${$ ?? ""}`), Fe(pe, "src", st);
191
191
  },
192
192
  [
193
193
  () => ({
194
194
  "crtw-hidden": e(w),
195
195
  "crtw-z-[-1]": e(w)
196
196
  }),
197
- () => (e(R), W(() => q(+e(R)))),
198
- () => (m(le), e(y), W(() => le(e(y), j)))
197
+ () => (e(T), W(() => q(+e(T)))),
198
+ () => (m(le), e(y), W(() => le(e(y), F)))
199
199
  ],
200
- $
201
- ), Ke("click", pe, Y), U(D, s), Re({
200
+ R
201
+ ), Ke("click", pe, Y), V(D, s), Te({
202
202
  get recipientAddress() {
203
203
  return c();
204
204
  },
@@ -223,31 +223,31 @@ function Ee(D, A) {
223
223
  }
224
224
  function dt(D, A) {
225
225
  if (new.target) return Ae({ component: dt, ...D });
226
- Te(A, !1);
227
- const [R, z] = Je(), E = () => we(Xe, "$configStore", R), H = () => we(Ge, "$clientPublicStore", R), w = i(), k = i();
226
+ $e(A, !1);
227
+ const [T, z] = Ge(), E = () => we(Xe, "$configStore", T), H = () => we(Qe, "$clientPublicStore", T), w = i(), k = i();
228
228
  var y = this && this.__awaiter || function(s, a, x, _) {
229
- function J(B) {
229
+ function G(B) {
230
230
  return B instanceof x ? B : new x(function(I) {
231
231
  I(B);
232
232
  });
233
233
  }
234
234
  return new (x || (x = Promise))(function(B, I) {
235
- function G(b) {
235
+ function Q(b) {
236
236
  try {
237
237
  P(_.next(b));
238
- } catch (M) {
239
- I(M);
238
+ } catch (U) {
239
+ I(U);
240
240
  }
241
241
  }
242
- function V(b) {
242
+ function M(b) {
243
243
  try {
244
244
  P(_.throw(b));
245
- } catch (M) {
246
- I(M);
245
+ } catch (U) {
246
+ I(U);
247
247
  }
248
248
  }
249
249
  function P(b) {
250
- b.done ? B(b.value) : J(b.value).then(G, V);
250
+ b.done ? B(b.value) : G(b.value).then(Q, M);
251
251
  }
252
252
  P((_ = _.apply(s, a || [])).next());
253
253
  });
@@ -258,7 +258,7 @@ function dt(D, A) {
258
258
  let r = i("");
259
259
  const N = "SUI";
260
260
  let S = i(""), L = i(!0), h = i(!1), C;
261
- const F = () => y(void 0, void 0, void 0, function* () {
261
+ const j = () => y(void 0, void 0, void 0, function* () {
262
262
  const { Scanner: s } = yield import("./scanner.es-cf-mCExK.js");
263
263
  C = new s({ target: "#cpuiCredScanner" }), et(ce.UI_CLOSED, C.close), yield C.scan(), C.on(s.events.CAPTURE, (a) => y(void 0, [a], void 0, function* ({ sub: x }) {
264
264
  const { address: _ } = yield tt(x);
@@ -284,12 +284,12 @@ function dt(D, A) {
284
284
  console.log(a), Ce(ce.ERROR, { error: a }), O((a == null ? void 0 : a.message) || a || "An error occurred while sending tokens", "failure");
285
285
  }
286
286
  t(h, !1);
287
- }), j = () => y(void 0, void 0, void 0, function* () {
287
+ }), F = () => y(void 0, void 0, void 0, function* () {
288
288
  const s = ge(Ye);
289
289
  t(g, (s == null ? void 0 : s.to) || ""), t(o, (s == null ? void 0 : s.amount) || void 0), t(r, yield _e()), t(S, parseFloat(yield be()).toFixed(4)), t(c, v);
290
290
  });
291
291
  u(() => E(), () => {
292
- E().suiNetwork && j();
292
+ E().suiNetwork && F();
293
293
  }), u(() => {
294
294
  }, () => {
295
295
  t(w, !0);
@@ -298,15 +298,15 @@ function dt(D, A) {
298
298
  () => {
299
299
  t(k, e(h) || !e(o) || !e(w) || e(c) === v && e(o) > +e(r) || e(c) === N && e(o) > +e(S));
300
300
  }
301
- ), $e(), ke();
302
- const K = $(() => (e(L), e(r), e(w), m(ye), m(Se), e(c), e(o), e(S), e(h), e(k), H(), E(), W(() => {
301
+ ), Re(), ke();
302
+ const K = R(() => (e(L), e(r), e(w), m(ye), m(Se), e(c), e(o), e(S), e(h), e(k), H(), E(), W(() => {
303
303
  var s;
304
304
  return {
305
305
  title: "Send stored value",
306
306
  isScannerHidden: e(L),
307
307
  balance: e(r),
308
308
  isRecipientAddressValid: e(w),
309
- onScannerClicked: F,
309
+ onScannerClicked: j,
310
310
  onSendTokens: Y,
311
311
  onBackClicked: () => ye.set(Se.WALLET),
312
312
  onChangeCurrency: () => e(c) === v ? t(c, N) : t(c, v),
@@ -339,7 +339,7 @@ function dt(D, A) {
339
339
  },
340
340
  $$legacy: !0
341
341
  });
342
- var q = Re({
342
+ var q = Te({
343
343
  $set: Be,
344
344
  $on: (s, a) => he(A, s, a)
345
345
  });
@@ -348,4 +348,4 @@ function dt(D, A) {
348
348
  export {
349
349
  dt as default
350
350
  };
351
- //# sourceMappingURL=SendTokens-DSJTklJ_.js.map
351
+ //# sourceMappingURL=SendTokens-BfLxsIne.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SendTokens-DSJTklJ_.js","sources":["../../ui/main/send-tokens/SendTokens.svelte","../src/app/pages/send-tokens/SendTokens.svelte"],"sourcesContent":["<script lang=\"ts\">\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import ButtonBack from \"../shared/inputs/button-back/ButtonBack.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import Input from \"../shared/inputs/input/Input.svelte\";\n import ScanIcon from \"../../images/scanner.svg\";\n\n import { getCryptoCurrencySymbol } from \"../../../utils/lib/strings/strings\";\n\n export let recipientAddress: string;\n export let amount: number | undefined;\n\n export let options: {\n title: string;\n isScannerHidden: boolean;\n balance: string;\n chainId?: string;\n isRecipientAddressValid: boolean;\n onScannerClicked: () => void;\n onSendTokens: () => void;\n onBackClicked: () => void;\n onChangeCurrency: () => void;\n onSetMaxAmount: () => void;\n isLoading: boolean;\n isSubmitDisabled: boolean;\n credAlias: string;\n activeCurrency: string;\n symbol: string;\n nativeSymbol: string;\n nativeBalance: string;\n isNativeCurrecyTransferAllowed?: boolean;\n };\n\n let {\n onChangeCurrency,\n onSetMaxAmount,\n onBackClicked,\n onSendTokens,\n title,\n chainId,\n onScannerClicked,\n credAlias,\n isNativeCurrecyTransferAllowed = true\n } = options;\n\n $: balance = options.balance;\n $: isLoading = options.isLoading;\n $: isSubmitDisabled = options.isSubmitDisabled;\n $: isRecipientAddressValid = options.isRecipientAddressValid;\n $: isScannerHidden = options.isScannerHidden;\n $: activeCurrency = options.activeCurrency;\n $: symbol = options.symbol;\n $: nativeSymbol = options.nativeSymbol;\n $: nativeBalance = options.nativeBalance;\n\n $: activeCurrencySymbol = getCryptoCurrencySymbol(activeCurrency, credAlias);\n const round = (num: number) => Math.floor(num * 100) / 100\n</script>\n\n<ContentHeader\n text={title}\n description={isScannerHidden\n ? ``\n : \"Scan Passport Id\"}\n/>\n<div class=\"crtw-w-full crtw-p-0 crtw-relative\">\n <div\n id=\"cpuiCredScanner\"\n class=\"crtw-absolute crtw-top-0 crtw-bottom-0 crtw-left-0 crtw-right-0 crtw-z-10 crtw-border crtw-border-gray-300 crtw-rounded-lg crtw-backdrop-blur-lg\"\n class:crtw-hidden={isScannerHidden}\n class:crtw-z-[-1]={isScannerHidden}\n ></div>\n {#if chainId}\n <div>ChainId: <span class=\"crtw-font-bold\">{chainId}</span></div>\n {/if}\n <div>\n Your balance: \n <span class=\"crtw-font-bold\">\n {#if isNativeCurrecyTransferAllowed}\n {round(+nativeBalance)} {nativeSymbol} / \n {/if}\n\n {round(+balance)} {getCryptoCurrencySymbol(symbol, credAlias)}\n </span>\n </div>\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <div class=\"crtw-flex crtw-flex-col crtw-w-full\">\n <Input\n name=\"recipientAddress\"\n type=\"text\"\n placeholder=\"Address 0x...\"\n bind:value={recipientAddress}\n />\n {#if recipientAddress && !isRecipientAddressValid}\n <label\n class=\"crtw-text-[10px] crtw-text-warningTextColor cpui-send-tokens-validation-message\"\n for=\"recipientAddress\">Provided address is not valid.</label\n >\n {/if}\n </div>\n\n <div class=\"crtw-ml-2.5 crtw-cursor-pointer\">\n <!-- svelte-ignore a11y-click-events-have-key-events -->\n <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->\n <img\n src={ScanIcon}\n on:click={onScannerClicked}\n width=\"53px\"\n alt=\"\"\n class=\"crtw-h-[53px]\"\n />\n </div>\n </div>\n\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <Input\n type=\"number\"\n min=\"0\"\n step=\"0.001\"\n placeholder={`${activeCurrencySymbol} amount`}\n bind:value={amount}\n />\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button onClick={onSetMaxAmount} text={`MAX`} disabled={+balance <= 0} />\n </div>\n\n {#if isNativeCurrecyTransferAllowed}\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button\n onClick={onChangeCurrency}\n text={activeCurrencySymbol}\n disabled={!activeCurrency}\n />\n </div>\n {/if}\n </div>\n <Button\n onClick={onSendTokens}\n text={`Send ${amount || \"\"} ${activeCurrencySymbol}`}\n {isLoading}\n disabled={isSubmitDisabled}\n />\n</div>\n<div class=\"crtw-mt-0.5 crtw-mb-3 crtw-w-full\">\n <ButtonBack onClick={onBackClicked} />\n</div>\n","<script lang=\"ts\">\n import { get } from 'svelte/store'\n import { type Scanner } from '@credenza3/scanner-lib'\n\n import { clientPublicStore, fn, pageOptsStore, pageStore } from '@packages/stores'\n import { dispatch, once, PassportEvents } from '@lib/events/events'\n import { Pages } from '@packages/utils/enums'\n import { SendTokens } from '@packages/ui'\n import { configStore } from '@src/stores/config'\n import { getBalance, getNativeSuiBalance, sendTokens } from '@src/passport/blockchain'\n import { getUserAddressBySub } from '@src/Passport.service'\n\n const { toastAlert } = get(fn)\n\n let recipientAddress = ''\n let amount: number\n\n let activeCurrency = ''\n\n const symbol = 'CRED'\n let balance = ''\n\n const nativeSymbol = 'SUI'\n let nativeBalance = ''\n\n let isScannerHidden = true\n let isLoading = false\n\n let scanner: Scanner\n\n const onScannerClicked = async () => {\n const { Scanner } = await import('@credenza3/scanner-lib')\n scanner = new Scanner({ target: '#cpuiCredScanner' })\n once(PassportEvents.UI_CLOSED, scanner.close)\n await scanner.scan()\n scanner.on(Scanner.events.CAPTURE, async ({ sub }: { sub: string }) => {\n const { address } = await getUserAddressBySub(sub)\n recipientAddress = address\n scanner.close()\n })\n scanner.on(Scanner.events.CANCEL, () => (isScannerHidden = true))\n scanner.on(Scanner.events.ERROR, (err) => {\n const message = err?.message || err\n if (message.includes('Permission'))\n alert('In order to scan please allow the current page to access your camera and try again.')\n isScannerHidden = true\n })\n isScannerHidden = false\n }\n\n const sendTokensToRecipient = async () => {\n isLoading = true\n const isSuiNativeCoinTransfer = activeCurrency === nativeSymbol\n\n try {\n await sendTokens({ address: recipientAddress, amount, isSuiNativeCoinTransfer })\n\n toastAlert(`Send operation was completed.`)\n recipientAddress = ''\n amount = 0\n\n setTimeout(async () => {\n balance = await getBalance()\n nativeBalance = await getNativeSuiBalance()\n dispatch(PassportEvents.RECHECK_BALANCE)\n }, 1000)\n } catch (err) {\n console.log(err)\n dispatch(PassportEvents.ERROR, { error: err })\n toastAlert(err?.message || err || 'An error occurred while sending tokens', 'failure')\n }\n isLoading = false\n }\n\n const init = async () => {\n const pageOpts = get(pageOptsStore)\n recipientAddress = pageOpts?.to || ''\n amount = pageOpts?.amount || undefined\n balance = await getBalance()\n nativeBalance = parseFloat(await getNativeSuiBalance()).toFixed(4)\n activeCurrency = symbol\n }\n\n $: $configStore.suiNetwork && init()\n\n $: isRecipientAddressValid = true\n\n $: isSubmitDisabled =\n isLoading ||\n !amount ||\n !isRecipientAddressValid ||\n (activeCurrency === symbol && amount > +balance) ||\n (activeCurrency === nativeSymbol && amount > +nativeBalance)\n</script>\n\n<SendTokens\n bind:recipientAddress\n bind:amount\n options={{\n title: `Send stored value`,\n isScannerHidden,\n balance,\n isRecipientAddressValid,\n onScannerClicked,\n onSendTokens: sendTokensToRecipient,\n onBackClicked: () => pageStore.set(Pages.WALLET),\n onChangeCurrency: () => (activeCurrency === symbol ? (activeCurrency = nativeSymbol) : (activeCurrency = symbol)),\n onSetMaxAmount: () => (activeCurrency === symbol ? (amount = +balance) : (amount = +nativeBalance)),\n isLoading,\n isSubmitDisabled,\n credAlias: $clientPublicStore.ui_settings.cred_alias,\n activeCurrency,\n symbol,\n nativeSymbol,\n isNativeCurrecyTransferAllowed: $configStore.transferTokens?.nativeCurrency !== false,\n nativeBalance,\n }}\n/>\n"],"names":["recipientAddress","$.prop","$$props","amount","options","onChangeCurrency","onSetMaxAmount","onBackClicked","onSendTokens","title","chainId","onScannerClicked","credAlias","isNativeCurrecyTransferAllowed","round","num","balance","isLoading","isSubmitDisabled","isRecipientAddressValid","isScannerHidden","activeCurrency","symbol","nativeSymbol","nativeBalance","$.set","activeCurrencySymbol","getCryptoCurrencySymbol","$.get","expression","$.derived_safe_equal","$$render","consequent","$.untrack","consequent_1","$$value","consequent_2","expression_2","consequent_3","ScanIcon","__awaiter","thisArg","_arguments","P","generator","toastAlert","get","fn","$.mutable_source","scanner","Scanner","once","PassportEvents","_a","sub","address","getUserAddressBySub","err","sendTokensToRecipient","isSuiNativeCoinTransfer","sendTokens","getBalance","getNativeSuiBalance","dispatch","init","pageOpts","pageOptsStore","$configStore","pageStore","Pages","$clientPublicStore"],"mappings":"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"}
1
+ {"version":3,"file":"SendTokens-BfLxsIne.js","sources":["../../ui/main/send-tokens/SendTokens.svelte","../src/app/pages/send-tokens/SendTokens.svelte"],"sourcesContent":["<script lang=\"ts\">\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import ButtonBack from \"../shared/inputs/button-back/ButtonBack.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import Input from \"../shared/inputs/input/Input.svelte\";\n import ScanIcon from \"../../images/scanner.svg\";\n\n import { getCryptoCurrencySymbol } from \"../../../utils/lib/strings/strings\";\n\n export let recipientAddress: string;\n export let amount: number | undefined;\n\n export let options: {\n title: string;\n isScannerHidden: boolean;\n balance: string;\n chainId?: string;\n isRecipientAddressValid: boolean;\n onScannerClicked: () => void;\n onSendTokens: () => void;\n onBackClicked: () => void;\n onChangeCurrency: () => void;\n onSetMaxAmount: () => void;\n isLoading: boolean;\n isSubmitDisabled: boolean;\n credAlias: string;\n activeCurrency: string;\n symbol: string;\n nativeSymbol: string;\n nativeBalance: string;\n isNativeCurrecyTransferAllowed?: boolean;\n };\n\n let {\n onChangeCurrency,\n onSetMaxAmount,\n onBackClicked,\n onSendTokens,\n title,\n chainId,\n onScannerClicked,\n credAlias,\n isNativeCurrecyTransferAllowed = true\n } = options;\n\n $: balance = options.balance;\n $: isLoading = options.isLoading;\n $: isSubmitDisabled = options.isSubmitDisabled;\n $: isRecipientAddressValid = options.isRecipientAddressValid;\n $: isScannerHidden = options.isScannerHidden;\n $: activeCurrency = options.activeCurrency;\n $: symbol = options.symbol;\n $: nativeSymbol = options.nativeSymbol;\n $: nativeBalance = options.nativeBalance;\n\n $: activeCurrencySymbol = getCryptoCurrencySymbol(activeCurrency, credAlias);\n const round = (num: number) => Math.floor(num * 100) / 100\n</script>\n\n<ContentHeader\n text={title}\n description={isScannerHidden\n ? ``\n : \"Scan Passport Id\"}\n/>\n<div class=\"crtw-w-full crtw-p-0 crtw-relative\">\n <div\n id=\"cpuiCredScanner\"\n class=\"crtw-absolute crtw-top-0 crtw-bottom-0 crtw-left-0 crtw-right-0 crtw-z-10 crtw-border crtw-border-gray-300 crtw-rounded-lg crtw-backdrop-blur-lg\"\n class:crtw-hidden={isScannerHidden}\n class:crtw-z-[-1]={isScannerHidden}\n ></div>\n {#if chainId}\n <div>ChainId: <span class=\"crtw-font-bold\">{chainId}</span></div>\n {/if}\n <div>\n Your balance: \n <span class=\"crtw-font-bold\">\n {#if isNativeCurrecyTransferAllowed}\n {round(+nativeBalance)} {nativeSymbol} / \n {/if}\n\n {round(+balance)} {getCryptoCurrencySymbol(symbol, credAlias)}\n </span>\n </div>\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <div class=\"crtw-flex crtw-flex-col crtw-w-full\">\n <Input\n name=\"recipientAddress\"\n type=\"text\"\n placeholder=\"Address 0x...\"\n bind:value={recipientAddress}\n />\n {#if recipientAddress && !isRecipientAddressValid}\n <label\n class=\"crtw-text-[10px] crtw-text-warningTextColor cpui-send-tokens-validation-message\"\n for=\"recipientAddress\">Provided address is not valid.</label\n >\n {/if}\n </div>\n\n <div class=\"crtw-ml-2.5 crtw-cursor-pointer\">\n <!-- svelte-ignore a11y-click-events-have-key-events -->\n <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->\n <img\n src={ScanIcon}\n on:click={onScannerClicked}\n width=\"53px\"\n alt=\"\"\n class=\"crtw-h-[53px]\"\n />\n </div>\n </div>\n\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <Input\n type=\"number\"\n min=\"0\"\n step=\"0.001\"\n placeholder={`${activeCurrencySymbol} amount`}\n bind:value={amount}\n />\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button onClick={onSetMaxAmount} text={`MAX`} disabled={+balance <= 0} />\n </div>\n\n {#if isNativeCurrecyTransferAllowed}\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button\n onClick={onChangeCurrency}\n text={activeCurrencySymbol}\n disabled={!activeCurrency}\n />\n </div>\n {/if}\n </div>\n <Button\n onClick={onSendTokens}\n text={`Send ${amount || \"\"} ${activeCurrencySymbol}`}\n {isLoading}\n disabled={isSubmitDisabled}\n />\n</div>\n<div class=\"crtw-mt-0.5 crtw-mb-3 crtw-w-full\">\n <ButtonBack onClick={onBackClicked} />\n</div>\n","<script lang=\"ts\">\n import { get } from 'svelte/store'\n import { type Scanner } from '@credenza3/scanner-lib'\n\n import { clientPublicStore, fn, pageOptsStore, pageStore } from '@packages/stores'\n import { dispatch, once, PassportEvents } from '@lib/events/events'\n import { Pages } from '@packages/utils/enums'\n import { SendTokens } from '@packages/ui'\n import { configStore } from '@src/stores/config'\n import { getBalance, getNativeSuiBalance, sendTokens } from '@src/passport/blockchain'\n import { getUserAddressBySub } from '@src/Passport.service'\n\n const { toastAlert } = get(fn)\n\n let recipientAddress = ''\n let amount: number\n\n let activeCurrency = ''\n\n const symbol = 'CRED'\n let balance = ''\n\n const nativeSymbol = 'SUI'\n let nativeBalance = ''\n\n let isScannerHidden = true\n let isLoading = false\n\n let scanner: Scanner\n\n const onScannerClicked = async () => {\n const { Scanner } = await import('@credenza3/scanner-lib')\n scanner = new Scanner({ target: '#cpuiCredScanner' })\n once(PassportEvents.UI_CLOSED, scanner.close)\n await scanner.scan()\n scanner.on(Scanner.events.CAPTURE, async ({ sub }: { sub: string }) => {\n const { address } = await getUserAddressBySub(sub)\n recipientAddress = address\n scanner.close()\n })\n scanner.on(Scanner.events.CANCEL, () => (isScannerHidden = true))\n scanner.on(Scanner.events.ERROR, (err) => {\n const message = err?.message || err\n if (message.includes('Permission'))\n alert('In order to scan please allow the current page to access your camera and try again.')\n isScannerHidden = true\n })\n isScannerHidden = false\n }\n\n const sendTokensToRecipient = async () => {\n isLoading = true\n const isSuiNativeCoinTransfer = activeCurrency === nativeSymbol\n\n try {\n await sendTokens({ address: recipientAddress, amount, isSuiNativeCoinTransfer })\n\n toastAlert(`Send operation was completed.`)\n recipientAddress = ''\n amount = 0\n\n setTimeout(async () => {\n balance = await getBalance()\n nativeBalance = await getNativeSuiBalance()\n dispatch(PassportEvents.RECHECK_BALANCE)\n }, 1000)\n } catch (err) {\n console.log(err)\n dispatch(PassportEvents.ERROR, { error: err })\n toastAlert(err?.message || err || 'An error occurred while sending tokens', 'failure')\n }\n isLoading = false\n }\n\n const init = async () => {\n const pageOpts = get(pageOptsStore)\n recipientAddress = pageOpts?.to || ''\n amount = pageOpts?.amount || undefined\n balance = await getBalance()\n nativeBalance = parseFloat(await getNativeSuiBalance()).toFixed(4)\n activeCurrency = symbol\n }\n\n $: $configStore.suiNetwork && init()\n\n $: isRecipientAddressValid = true\n\n $: isSubmitDisabled =\n isLoading ||\n !amount ||\n !isRecipientAddressValid ||\n (activeCurrency === symbol && amount > +balance) ||\n (activeCurrency === nativeSymbol && amount > +nativeBalance)\n</script>\n\n<SendTokens\n bind:recipientAddress\n bind:amount\n options={{\n title: `Send stored value`,\n isScannerHidden,\n balance,\n isRecipientAddressValid,\n onScannerClicked,\n onSendTokens: sendTokensToRecipient,\n onBackClicked: () => pageStore.set(Pages.WALLET),\n onChangeCurrency: () => (activeCurrency === symbol ? (activeCurrency = nativeSymbol) : (activeCurrency = symbol)),\n onSetMaxAmount: () => (activeCurrency === symbol ? (amount = +balance) : (amount = +nativeBalance)),\n isLoading,\n isSubmitDisabled,\n credAlias: $clientPublicStore.ui_settings.cred_alias,\n activeCurrency,\n symbol,\n nativeSymbol,\n isNativeCurrecyTransferAllowed: $configStore.transferTokens?.nativeCurrency !== false,\n nativeBalance,\n }}\n/>\n"],"names":["recipientAddress","$.prop","$$props","amount","options","onChangeCurrency","onSetMaxAmount","onBackClicked","onSendTokens","title","chainId","onScannerClicked","credAlias","isNativeCurrecyTransferAllowed","round","num","balance","isLoading","isSubmitDisabled","isRecipientAddressValid","isScannerHidden","activeCurrency","symbol","nativeSymbol","nativeBalance","$.set","activeCurrencySymbol","getCryptoCurrencySymbol","$.get","expression","$.derived_safe_equal","$$render","consequent","$.untrack","consequent_1","$$value","consequent_2","expression_2","consequent_3","ScanIcon","__awaiter","thisArg","_arguments","P","generator","toastAlert","get","fn","$.mutable_source","scanner","Scanner","once","PassportEvents","_a","sub","address","getUserAddressBySub","err","sendTokensToRecipient","isSuiNativeCoinTransfer","sendTokens","getBalance","getNativeSuiBalance","dispatch","init","pageOpts","pageOptsStore","$configStore","pageStore","Pages","$clientPublicStore"],"mappings":"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"}
@@ -1,16 +1,16 @@
1
- import { c as k, p as T, f as b, b as S, d as E, u as O, h as j, n as F, o as w } from "./legacy-BgObIK2n.js";
2
- import { v as q, z as $, E as x, A as z, u as H, N as I, O as L, L as M, I as N, b2 as P, R as U, $ as W } from "./index-DmO4Bf6j.js";
3
- import { C as G } from "./App-CzJCZTZI.js";
4
- import { C as J } from "./ContentHeader-DWeKFCbL.js";
5
- import { B as y } from "./Button-DdkN4ygx.js";
6
- import { s as K } from "./socket-io-BNYia6TN.js";
1
+ import { c as k, p as A, f as b, b as S, d as E, u as O, h as F, n as H, o as w } from "./legacy-CMJEekqF.js";
2
+ import { v as q, y as $, E as y, z, u as I, L as K, N as L, K as M, I as N, b2 as P, O as R, $ as U } from "./index-DYFZGr8a.js";
3
+ import { C as W } from "./App-CiVYs_be.js";
4
+ import { C as G } from "./ContentHeader-f66pzycq.js";
5
+ import { B as x } from "./Button-BoE6UH7J.js";
6
+ import { s as J } from "./socket-io-D23M6alP.js";
7
7
  var Q = b("<!> <!>", 1), V = b("<!> <!>", 1);
8
- function A(c, s) {
9
- if (new.target) return k({ component: A, ...c });
8
+ function B(c, s) {
9
+ if (new.target) return k({ component: B, ...c });
10
10
  q(s, !1);
11
- let a = T(s, "options", 12), { title: d, description: u, onConfirm: m, onCancel: _ } = a();
11
+ let a = A(s, "options", 12), { title: d, description: u, onConfirm: m, onCancel: _ } = a();
12
12
  var f = V(), l = $(f);
13
- J(l, {
13
+ G(l, {
14
14
  get text() {
15
15
  return d;
16
16
  },
@@ -18,19 +18,19 @@ function A(c, s) {
18
18
  return u;
19
19
  }
20
20
  });
21
- var v = x(l, 2);
22
- return G(v, {
21
+ var v = y(l, 2);
22
+ return W(v, {
23
23
  class: "crtw-flex crtw-justify-between crtw-gap-10",
24
24
  children: (e, t) => {
25
25
  var r = Q(), n = $(r);
26
- y(n, {
26
+ x(n, {
27
27
  text: "Cancel",
28
28
  get onClick() {
29
29
  return _;
30
30
  }
31
31
  });
32
- var i = x(n, 2);
33
- y(i, {
32
+ var i = y(n, 2);
33
+ x(i, {
34
34
  text: "Sign the message",
35
35
  get onClick() {
36
36
  return m;
@@ -43,7 +43,7 @@ function A(c, s) {
43
43
  return a();
44
44
  },
45
45
  set options(e) {
46
- a(e), H();
46
+ a(e), I();
47
47
  },
48
48
  $set: O,
49
49
  $on: (e, t) => E(s, e, t)
@@ -52,22 +52,22 @@ function A(c, s) {
52
52
  function X(c, s) {
53
53
  if (new.target) return k({ component: X, ...c });
54
54
  q(s, !1);
55
- const [a, d] = F(), u = () => w(U, "$pageOptsStore", a), m = () => w(W, "$configStore", a);
55
+ const [a, d] = H(), u = () => w(R, "$pageOptsStore", a), m = () => w(U, "$configStore", a);
56
56
  var _ = this && this.__awaiter || function(t, r, n, i) {
57
- function B(p) {
57
+ function D(p) {
58
58
  return p instanceof n ? p : new n(function(g) {
59
59
  g(p);
60
60
  });
61
61
  }
62
62
  return new (n || (n = Promise))(function(p, g) {
63
- function D(o) {
63
+ function T(o) {
64
64
  try {
65
65
  h(i.next(o));
66
66
  } catch (C) {
67
67
  g(C);
68
68
  }
69
69
  }
70
- function R(o) {
70
+ function j(o) {
71
71
  try {
72
72
  h(i.throw(o));
73
73
  } catch (C) {
@@ -75,23 +75,23 @@ function X(c, s) {
75
75
  }
76
76
  }
77
77
  function h(o) {
78
- o.done ? p(o.value) : B(o.value).then(D, R);
78
+ o.done ? p(o.value) : D(o.value).then(T, j);
79
79
  }
80
80
  h((i = i.apply(t, r || [])).next());
81
81
  });
82
82
  };
83
- const { close: f } = I(L), l = () => _(void 0, void 0, void 0, function* () {
83
+ const { close: f } = K(L), l = () => _(void 0, void 0, void 0, function* () {
84
84
  const { signature: t } = yield P.sui.signPersonalMessage(u().message);
85
- K.signDataAndEmitEvent(m().credenza.generalWssUrl, t, u().socketEventData), f();
85
+ J.signDataAndEmitEvent(m().credenza.generalWssUrl, t, u().socketEventData), f();
86
86
  });
87
- j();
87
+ F();
88
88
  const v = N(() => ({
89
89
  title: "Sign Transaction Request",
90
90
  description: "Please sign the requested transaction.",
91
91
  onCancel: f,
92
92
  onConfirm: l
93
93
  }));
94
- A(c, {
94
+ B(c, {
95
95
  get options() {
96
96
  return M(v);
97
97
  }
@@ -105,4 +105,4 @@ function X(c, s) {
105
105
  export {
106
106
  X as default
107
107
  };
108
- //# sourceMappingURL=Sign-CnrilrlB.js.map
108
+ //# sourceMappingURL=Sign-DNPq5HuJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sign-CnrilrlB.js","sources":["../../ui/main/passport-id/Sign.svelte","../src/app/pages/sign/Sign.svelte"],"sourcesContent":["<script lang=\"ts\">\n import Container from \"../shared/Container.svelte\";\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n\n export let options: {\n title: string;\n description: string;\n onConfirm: () => Promise<void>;\n onCancel: () => void;\n };\n\n let { title, description, onConfirm, onCancel } = options;\n</script>\n\n<ContentHeader text={title} {description} />\n\n<Container class=\"crtw-flex crtw-justify-between crtw-gap-10\">\n <Button text=\"Cancel\" onClick={onCancel}></Button>\n <Button text=\"Sign the message\" onClick={onConfirm} />\n</Container>\n","<script lang=\"ts\">\n import { get } from 'svelte/store'\n import { fn } from '@packages/stores'\n import { Sign } from '@packages/ui'\n import { pageOptsStore } from '@packages/stores'\n import { configStore } from '../../../stores/config'\n import socketFn from '@lib/ws/socket-io'\n import { sdk } from '@packages/utils/lib/sdk/sdk'\n\n const { close } = get(fn)\n\n const handleSignTransaction = async () => {\n const { signature } = await sdk.sui.signPersonalMessage($pageOptsStore.message)\n socketFn.signDataAndEmitEvent($configStore.credenza.generalWssUrl, signature, $pageOptsStore.socketEventData)\n close()\n }\n</script>\n\n<Sign\n options={{\n title: 'Sign Transaction Request',\n description: 'Please sign the requested transaction.',\n onCancel: close,\n onConfirm: handleSignTransaction,\n }}\n/>\n"],"names":["options","$.prop","$$props","title","description","onConfirm","onCancel","__awaiter","thisArg","_arguments","P","generator","close","get","fn","handleSignTransaction","signature","sdk","$pageOptsStore","socketFn","$configStore"],"mappings":";;;;;;;;;;MAKaA,IAKVC,EAAAC,GAAA,WAAA,EAAA,GAEK,EAAA,OAAAC,GAAO,aAAAC,GAAa,WAAAC,GAAW,UAAAC,EAAQ,IAAKN,EAAO;;;;aAGtCG;AAAA;;;;;;;;;;;;;iBAGYG;AAAA;;;;;;iBACUD;AAAA;;;;;;;;;;;;;;;;;;;ACnB1B,MAAAE,IAAA,QAAA,KAAA,aAAA,SAAAC,GAAAC,GAAAC,GAAAC,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;UASP,OAAAC,EAAK,IAAKC,EAAIC,CAAE,GAElBC,IAAmC,MAAAR,EAAA,QAAA,QAAA,QAAA,aAAA;YAC/B,WAAAS,EAAS,IAAA,MAAWC,EAAI,IAAI,oBAAoBC,EAAc,EAAC,OAAO;AAC9E,IAAAC,EAAS,qBAAqBC,IAAa,SAAS,eAAeJ,GAAWE,IAAe,eAAe,GAC5GN,EAAK;AAAA,GACN;;;IAKC,OAAO;AAAA,IACP,aAAa;AAAA,IACb,UAAUA;AAAA,IACV,WAAWG;AAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Sign-DNPq5HuJ.js","sources":["../../ui/main/passport-id/Sign.svelte","../src/app/pages/sign/Sign.svelte"],"sourcesContent":["<script lang=\"ts\">\n import Container from \"../shared/Container.svelte\";\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n\n export let options: {\n title: string;\n description: string;\n onConfirm: () => Promise<void>;\n onCancel: () => void;\n };\n\n let { title, description, onConfirm, onCancel } = options;\n</script>\n\n<ContentHeader text={title} {description} />\n\n<Container class=\"crtw-flex crtw-justify-between crtw-gap-10\">\n <Button text=\"Cancel\" onClick={onCancel}></Button>\n <Button text=\"Sign the message\" onClick={onConfirm} />\n</Container>\n","<script lang=\"ts\">\n import { get } from 'svelte/store'\n import { fn } from '@packages/stores'\n import { Sign } from '@packages/ui'\n import { pageOptsStore } from '@packages/stores'\n import { configStore } from '../../../stores/config'\n import socketFn from '@lib/ws/socket-io'\n import { sdk } from '@packages/utils/lib/sdk/sdk'\n\n const { close } = get(fn)\n\n const handleSignTransaction = async () => {\n const { signature } = await sdk.sui.signPersonalMessage($pageOptsStore.message)\n socketFn.signDataAndEmitEvent($configStore.credenza.generalWssUrl, signature, $pageOptsStore.socketEventData)\n close()\n }\n</script>\n\n<Sign\n options={{\n title: 'Sign Transaction Request',\n description: 'Please sign the requested transaction.',\n onCancel: close,\n onConfirm: handleSignTransaction,\n }}\n/>\n"],"names":["options","$.prop","$$props","title","description","onConfirm","onCancel","__awaiter","thisArg","_arguments","P","generator","close","get","fn","handleSignTransaction","signature","sdk","$pageOptsStore","socketFn","$configStore"],"mappings":";;;;;;;;;;MAKaA,IAKVC,EAAAC,GAAA,WAAA,EAAA,GAEK,EAAA,OAAAC,GAAO,aAAAC,GAAa,WAAAC,GAAW,UAAAC,EAAQ,IAAKN,EAAO;;;;aAGtCG;AAAA;;;;;;;;;;;;;iBAGYG;AAAA;;;;;;iBACUD;AAAA;;;;;;;;;;;;;;;;;;;ACnB1B,MAAAE,IAAA,QAAA,KAAA,aAAA,SAAAC,GAAAC,GAAAC,GAAAC,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;UASP,OAAAC,EAAK,IAAKC,EAAIC,CAAE,GAElBC,IAAmC,MAAAR,EAAA,QAAA,QAAA,QAAA,aAAA;YAC/B,WAAAS,EAAS,IAAA,MAAWC,EAAI,IAAI,oBAAoBC,EAAc,EAAC,OAAO;AAC9E,IAAAC,EAAS,qBAAqBC,IAAa,SAAS,eAAeJ,GAAWE,IAAe,eAAe,GAC5GN,EAAK;AAAA,GACN;;;IAKC,OAAO;AAAA,IACP,aAAa;AAAA,IACb,UAAUA;AAAA,IACV,WAAWG;AAAA;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
- import { N as c, $ as y, b4 as m, bk as i, bh as E, b3 as l, R as C, Q as u, V as g } from "./index-DmO4Bf6j.js";
2
- import { r as h } from "./Payment-DXvVU-Oe.js";
1
+ import { L as c, $ as y, b4 as m, bk as i, bh as E, b3 as l, O as C, M as u, P as g } from "./index-DYFZGr8a.js";
2
+ import { r as h } from "./Payment-CAVUR9D4.js";
3
3
  const _ = (s) => {
4
4
  const t = c(y);
5
5
  let e;
@@ -74,4 +74,4 @@ const _ = (s) => {
74
74
  export {
75
75
  w as processPayment
76
76
  };
77
- //# sourceMappingURL=Stripe.service-DZue_N62.js.map
77
+ //# sourceMappingURL=Stripe.service-8oeSe26X.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stripe.service-DZue_N62.js","sources":["../src/app/pages/payment/stripe/stripe.helper.ts","../../utils/lib/orders/index.ts","../src/app/pages/payment/stripe/Stripe.service.ts"],"sourcesContent":["import { configStore } from '@src/stores/config'\nimport { get } from 'svelte/store'\nimport { getClientConfigByClientId } from '@lib/clients'\nimport { AssetType, type TPaymentAsset } from '../payment.constants'\nimport { getSuiCredCoinType } from '@src/utils/blockchain'\n\nexport const getEdpointUrlByAssetType = (assetType: string) => {\n const config = get(configStore)\n\n let endpoint\n switch (assetType) {\n case AssetType.MEMBERSHIP:\n endpoint = '/memberships/buy-order'\n break\n case AssetType.DECOM:\n endpoint = '/tokens/decom/create-order'\n break\n case AssetType.CREDENZA_ASSET_COLLECTION:\n endpoint = '/tokens/collection/create-order'\n break\n default:\n endpoint = '/tokens/create-order'\n }\n\n return config.credenza.suiApiUrl + endpoint\n}\n\nexport const buildPaymentDataByAssetType = (stripeTokenId: string, asset: TPaymentAsset) => {\n const config = get(configStore)\n const clientName = getClientConfigByClientId(config.clientId).name\n const stripePK = config.stripe.pk[clientName] ?? config.stripe.pk.DEFAULT\n\n const assetType = asset.type\n const packageId = asset.packageId\n\n const paymentData: {\n source: string\n card_token: string\n membership_type?: string\n token_type?: string\n coin_type?: string\n asset_id?: string\n asset_type: string\n amount?: number\n } = {\n card_token: stripePK.includes('pk_live') ? stripeTokenId : 'tok_visa',\n source: clientName,\n asset_type: `${packageId}::${assetType}::${assetType.toUpperCase()}`,\n ...(asset.amount ? { amount: asset.amount } : {}),\n ...(asset.assetId ? { asset_id: asset.assetId } : {}),\n }\n\n // todo: remove when prod is updated\n const assetTypeMapping = {\n [AssetType.MEMBERSHIP]: {\n membership_type: `${packageId}::${assetType}::${assetType.toUpperCase()}`,\n },\n [AssetType.DECOM]: {\n token_type: `${packageId}::${assetType}::${assetType.toUpperCase()}`,\n },\n [AssetType.CRED]: {\n coin_type: getSuiCredCoinType(),\n },\n [AssetType.CREDENZA_ASSET_COLLECTION]: {\n coin_type: `${packageId}::${assetType}::${assetType.toUpperCase()}`,\n },\n }\n Object.assign(paymentData, assetTypeMapping[assetType])\n // end todo\n\n return paymentData\n}\n","import { get } from \"svelte/store\";\nimport { accessTokenStore } from \"../../../stores\";\nimport type { TPaymentReturn } from \"@packages/utils/types\";\n\nexport const getOrderDetails = async (\n apiUrl: string,\n orderId: string,\n maxRetries = 3\n) => {\n let attempts = 0;\n\n while (attempts < maxRetries) {\n const res = await fetch(`${apiUrl}/orders/completed/${orderId}`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${get(accessTokenStore)}`,\n },\n method: \"GET\",\n });\n\n if (res.status === 204) {\n attempts++;\n if (attempts < maxRetries) {\n continue;\n } else {\n throw new Error(\"No content received after multiple attempts\");\n }\n }\n\n if (!res.ok) throw new Error(\"Failed to get order details\");\n return await res.json();\n }\n};\n\nexport const validateOrderItems = (\n txs: string[] | null[],\n orders: TPaymentReturn[\"items\"],\n failedMemberships?: { contract_address: string }[]\n): string => {\n const errorMessages = orders\n .filter((item) => item.error)\n .map(\n (item) =>\n `Name: ${item.metadata.name}, reason: ${item.error}`\n )\n .join(\"\\n\");\n if (txs.every((item) => item === null) && !failedMemberships?.length) {\n throw new Error(`All transactions failed. \\n${errorMessages}`);\n } else if (orders?.every(item => item.status === \"ERROR\") && failedMemberships?.length ) {\n throw new Error(`All transactions failed.}`);\n }\n return errorMessages;\n};\n","/* eslint-disable complexity */\nimport { get } from 'svelte/store'\nimport { accessTokenStore, pageOptsStore } from '@packages/stores'\nimport { requestSuiReceipt } from '../Payment.service'\nimport { buildPaymentDataByAssetType, getEdpointUrlByAssetType } from './stripe.helper'\nimport { PassportEvents, dispatch } from '@lib/events/events'\nimport { getOrderDetails } from '@lib/orders'\nimport { type TPaymentAsset } from '../payment.constants'\nimport { configStore } from '@src/stores/config'\nimport type { TPaymentReturn } from '@packages/utils/types'\n\nexport const processPayment = async (stripeTokenId: string, asset: TPaymentAsset) => {\n const { title, subtitle } = get(pageOptsStore)\n\n const paymentData = buildPaymentDataByAssetType(stripeTokenId, asset)\n const res = await fetch(getEdpointUrlByAssetType(asset.type), {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${get(accessTokenStore)}`,\n },\n method: 'POST',\n body: JSON.stringify(paymentData),\n })\n if (!res.ok) throw new Error('Failed to create order')\n const { _id }: { _id: string } = await res.json()\n\n const config = get(configStore)\n const data = (await getOrderDetails(config.credenza.generalApiUrl, _id)) as TPaymentReturn\n if (data.items[0].error) throw new Error(data.items[0].error)\n\n if (data.payment_provider_tx) {\n await requestSuiReceipt({ stripeChargeId: data.payment_provider_tx, title, subtitle })\n dispatch(PassportEvents.RECEIPT, { stripeChargeId: data.payment_provider_tx })\n }\n\n return data\n}\n"],"names":["getEdpointUrlByAssetType","assetType","config","get","configStore","endpoint","AssetType","buildPaymentDataByAssetType","stripeTokenId","asset","clientName","getClientConfigByClientId","stripePK","packageId","paymentData","assetTypeMapping","getSuiCredCoinType","getOrderDetails","apiUrl","orderId","maxRetries","attempts","res","accessTokenStore","processPayment","title","subtitle","pageOptsStore","_id","data","requestSuiReceipt","dispatch","PassportEvents"],"mappings":"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"}
1
+ {"version":3,"file":"Stripe.service-8oeSe26X.js","sources":["../src/app/pages/payment/stripe/stripe.helper.ts","../../utils/lib/orders/index.ts","../src/app/pages/payment/stripe/Stripe.service.ts"],"sourcesContent":["import { configStore } from '@src/stores/config'\nimport { get } from 'svelte/store'\nimport { getClientConfigByClientId } from '@lib/clients'\nimport { AssetType, type TPaymentAsset } from '../payment.constants'\nimport { getSuiCredCoinType } from '@src/utils/blockchain'\n\nexport const getEdpointUrlByAssetType = (assetType: string) => {\n const config = get(configStore)\n\n let endpoint\n switch (assetType) {\n case AssetType.MEMBERSHIP:\n endpoint = '/memberships/buy-order'\n break\n case AssetType.DECOM:\n endpoint = '/tokens/decom/create-order'\n break\n case AssetType.CREDENZA_ASSET_COLLECTION:\n endpoint = '/tokens/collection/create-order'\n break\n default:\n endpoint = '/tokens/create-order'\n }\n\n return config.credenza.suiApiUrl + endpoint\n}\n\nexport const buildPaymentDataByAssetType = (stripeTokenId: string, asset: TPaymentAsset) => {\n const config = get(configStore)\n const clientName = getClientConfigByClientId(config.clientId).name\n const stripePK = config.stripe.pk[clientName] ?? config.stripe.pk.DEFAULT\n\n const assetType = asset.type\n const packageId = asset.packageId\n\n const paymentData: {\n source: string\n card_token: string\n membership_type?: string\n token_type?: string\n coin_type?: string\n asset_id?: string\n asset_type: string\n amount?: number\n } = {\n card_token: stripePK.includes('pk_live') ? stripeTokenId : 'tok_visa',\n source: clientName,\n asset_type: `${packageId}::${assetType}::${assetType.toUpperCase()}`,\n ...(asset.amount ? { amount: asset.amount } : {}),\n ...(asset.assetId ? { asset_id: asset.assetId } : {}),\n }\n\n // todo: remove when prod is updated\n const assetTypeMapping = {\n [AssetType.MEMBERSHIP]: {\n membership_type: `${packageId}::${assetType}::${assetType.toUpperCase()}`,\n },\n [AssetType.DECOM]: {\n token_type: `${packageId}::${assetType}::${assetType.toUpperCase()}`,\n },\n [AssetType.CRED]: {\n coin_type: getSuiCredCoinType(),\n },\n [AssetType.CREDENZA_ASSET_COLLECTION]: {\n coin_type: `${packageId}::${assetType}::${assetType.toUpperCase()}`,\n },\n }\n Object.assign(paymentData, assetTypeMapping[assetType])\n // end todo\n\n return paymentData\n}\n","import { get } from \"svelte/store\";\nimport { accessTokenStore } from \"../../../stores\";\nimport type { TPaymentReturn } from \"@packages/utils/types\";\n\nexport const getOrderDetails = async (\n apiUrl: string,\n orderId: string,\n maxRetries = 3\n) => {\n let attempts = 0;\n\n while (attempts < maxRetries) {\n const res = await fetch(`${apiUrl}/orders/completed/${orderId}`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${get(accessTokenStore)}`,\n },\n method: \"GET\",\n });\n\n if (res.status === 204) {\n attempts++;\n if (attempts < maxRetries) {\n continue;\n } else {\n throw new Error(\"No content received after multiple attempts\");\n }\n }\n\n if (!res.ok) throw new Error(\"Failed to get order details\");\n return await res.json();\n }\n};\n\nexport const validateOrderItems = (\n txs: string[] | null[],\n orders: TPaymentReturn[\"items\"],\n failedMemberships?: { contract_address: string }[]\n): string => {\n const errorMessages = orders\n .filter((item) => item.error)\n .map(\n (item) =>\n `Name: ${item.metadata.name}, reason: ${item.error}`\n )\n .join(\"\\n\");\n if (txs.every((item) => item === null) && !failedMemberships?.length) {\n throw new Error(`All transactions failed. \\n${errorMessages}`);\n } else if (orders?.every(item => item.status === \"ERROR\") && failedMemberships?.length ) {\n throw new Error(`All transactions failed.}`);\n }\n return errorMessages;\n};\n","/* eslint-disable complexity */\nimport { get } from 'svelte/store'\nimport { accessTokenStore, pageOptsStore } from '@packages/stores'\nimport { requestSuiReceipt } from '../Payment.service'\nimport { buildPaymentDataByAssetType, getEdpointUrlByAssetType } from './stripe.helper'\nimport { PassportEvents, dispatch } from '@lib/events/events'\nimport { getOrderDetails } from '@lib/orders'\nimport { type TPaymentAsset } from '../payment.constants'\nimport { configStore } from '@src/stores/config'\nimport type { TPaymentReturn } from '@packages/utils/types'\n\nexport const processPayment = async (stripeTokenId: string, asset: TPaymentAsset) => {\n const { title, subtitle } = get(pageOptsStore)\n\n const paymentData = buildPaymentDataByAssetType(stripeTokenId, asset)\n const res = await fetch(getEdpointUrlByAssetType(asset.type), {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${get(accessTokenStore)}`,\n },\n method: 'POST',\n body: JSON.stringify(paymentData),\n })\n if (!res.ok) throw new Error('Failed to create order')\n const { _id }: { _id: string } = await res.json()\n\n const config = get(configStore)\n const data = (await getOrderDetails(config.credenza.generalApiUrl, _id)) as TPaymentReturn\n if (data.items[0].error) throw new Error(data.items[0].error)\n\n if (data.payment_provider_tx) {\n await requestSuiReceipt({ stripeChargeId: data.payment_provider_tx, title, subtitle })\n dispatch(PassportEvents.RECEIPT, { stripeChargeId: data.payment_provider_tx })\n }\n\n return data\n}\n"],"names":["getEdpointUrlByAssetType","assetType","config","get","configStore","endpoint","AssetType","buildPaymentDataByAssetType","stripeTokenId","asset","clientName","getClientConfigByClientId","stripePK","packageId","paymentData","assetTypeMapping","getSuiCredCoinType","getOrderDetails","apiUrl","orderId","maxRetries","attempts","res","accessTokenStore","processPayment","title","subtitle","pageOptsStore","_id","data","requestSuiReceipt","dispatch","PassportEvents"],"mappings":"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"}