@zerohash-sdk/csp-crypto-withdrawals-js 1.10.2 → 1.11.1
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/index.js +10 -9
- package/dist/index.umd.cjs +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ const T = "production", W = "JWT token is required and must be a string.", M = {
|
|
|
6
6
|
"eu-prod": "https://grafana-faro-collector.zerohash.eu/collect",
|
|
7
7
|
sandbox: "https://grafana-faro-collector.cert.zerohash.com/collect",
|
|
8
8
|
production: "https://grafana-faro-collector.zerohash.com/collect"
|
|
9
|
-
},
|
|
9
|
+
}, k = (e) => {
|
|
10
10
|
if (!e || typeof e != "string")
|
|
11
11
|
return null;
|
|
12
12
|
const t = e.split(".");
|
|
@@ -21,7 +21,7 @@ const T = "production", W = "JWT token is required and must be a string.", M = {
|
|
|
21
21
|
} catch {
|
|
22
22
|
return null;
|
|
23
23
|
}
|
|
24
|
-
}, O = (e, t) =>
|
|
24
|
+
}, O = (e, t) => k(t) !== "eu" ? e : e === "cert" ? "eu-cert" : e === "prod" ? "eu-prod" : e, P = (e) => {
|
|
25
25
|
if (!e || typeof e != "string")
|
|
26
26
|
return {};
|
|
27
27
|
const t = e.split(".");
|
|
@@ -41,7 +41,7 @@ const T = "production", W = "JWT token is required and must be a string.", M = {
|
|
|
41
41
|
}, N = (e, t, r) => {
|
|
42
42
|
const o = O(t, r);
|
|
43
43
|
return e[o] ?? e[t] ?? e.prod;
|
|
44
|
-
},
|
|
44
|
+
}, U = (e, t, r) => {
|
|
45
45
|
const o = O(t, r);
|
|
46
46
|
return e[o] ?? e[t];
|
|
47
47
|
}, _ = () => {
|
|
@@ -95,7 +95,7 @@ const T = "production", W = "JWT token is required and must be a string.", M = {
|
|
|
95
95
|
const m = `${t}-script-${s}`;
|
|
96
96
|
if (customElements.get(t) || document.getElementById(m))
|
|
97
97
|
return _;
|
|
98
|
-
const A =
|
|
98
|
+
const A = P(c), D = e.report ?? ((l) => B(i && U(i, s, c), l, o));
|
|
99
99
|
let h = !1, C = 0, g;
|
|
100
100
|
const f = () => {
|
|
101
101
|
g !== void 0 && clearTimeout(g);
|
|
@@ -280,10 +280,11 @@ const p = {
|
|
|
280
280
|
prod: "https://sdk-cdn.zerohash.com",
|
|
281
281
|
"eu-cert": "https://sdk-cdn.cert.zerohash.eu",
|
|
282
282
|
"eu-prod": "https://sdk-cdn.zerohash.eu"
|
|
283
|
-
}, J = (e, t, r = {}) => {
|
|
283
|
+
}, J = "https://sdk-cdn.gating.0hash.com", x = (e, t, r = {}) => {
|
|
284
284
|
const { eu: o = !1, legacyAliases: n = !1, local: a = p.local } = r, i = (c) => `${c}/${e}/${t}`, s = {
|
|
285
285
|
local: i(a),
|
|
286
286
|
dev: i(p.dev),
|
|
287
|
+
gating: i(J),
|
|
287
288
|
cert: i(p.cert),
|
|
288
289
|
prod: i(p.prod)
|
|
289
290
|
};
|
|
@@ -293,7 +294,7 @@ var S;
|
|
|
293
294
|
(function(e) {
|
|
294
295
|
e.NETWORK_ERROR = "network_error", e.AUTH_ERROR = "auth_error", e.NOT_FOUND_ERROR = "not_found_error", e.VALIDATION_ERROR = "validation_error", e.SERVER_ERROR = "server_error", e.CLIENT_ERROR = "client_error", e.UNKNOWN_ERROR = "unknown_error";
|
|
295
296
|
})(S || (S = {}));
|
|
296
|
-
class
|
|
297
|
+
class H extends j {
|
|
297
298
|
errorMessages = {
|
|
298
299
|
ALREADY_RENDERED: "CspCryptoWithdrawals widget is already rendered. Call destroy() before rendering again.",
|
|
299
300
|
NOT_RENDERED: "CspCryptoWithdrawals widget is not rendered. Call render() first.",
|
|
@@ -301,7 +302,7 @@ class x extends j {
|
|
|
301
302
|
SCRIPT_LOAD_FAILED: "Failed to load the Connect CspCryptoWithdrawals script.",
|
|
302
303
|
WEB_COMPONENT_NOT_DEFINED: "Web component is not defined. Script may not be loaded."
|
|
303
304
|
};
|
|
304
|
-
scriptUrls =
|
|
305
|
+
scriptUrls = x("csp-crypto-withdrawals-web", "index.js", {
|
|
305
306
|
legacyAliases: !0,
|
|
306
307
|
eu: !0
|
|
307
308
|
});
|
|
@@ -323,7 +324,7 @@ class x extends j {
|
|
|
323
324
|
}
|
|
324
325
|
}
|
|
325
326
|
export {
|
|
326
|
-
|
|
327
|
+
H as CspCryptoWithdrawals,
|
|
327
328
|
S as ErrorCode,
|
|
328
|
-
|
|
329
|
+
H as default
|
|
329
330
|
};
|
package/dist/index.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(c,h){typeof exports=="object"&&typeof module<"u"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(c=typeof globalThis<"u"?globalThis:c||self,h(c.CspCryptoWithdrawals={}))})(this,(function(c){"use strict";const h="production",v="JWT token is required and must be a string.",I={dev:"https://grafana-faro-collector.dev.0hash.com/collect",cert:"https://grafana-faro-collector.cert.zerohash.com/collect",prod:"https://grafana-faro-collector.zerohash.com/collect","eu-cert":"https://grafana-faro-collector.cert.zerohash.eu/collect","eu-prod":"https://grafana-faro-collector.zerohash.eu/collect",sandbox:"https://grafana-faro-collector.cert.zerohash.com/collect",production:"https://grafana-faro-collector.zerohash.com/collect"},A=e=>{if(!e||typeof e!="string")return null;const t=e.split(".");if(t.length<2)return null;try{const r=t[1].replace(/-/g,"+").replace(/_/g,"/"),o=r+"===".slice(0,(4-r.length%4)%4),n=typeof atob<"u"?atob(o):Buffer.from(o,"base64").toString("utf-8"),i=JSON.parse(n)?.payload?.region;if(typeof i!="string")return null;const s=i.toLowerCase();return s==="us"||s==="eu"?s:null}catch{return null}},b=(e,t)=>A(t)!=="eu"?e:e==="cert"?"eu-cert":e==="prod"?"eu-prod":e,D=e=>{if(!e||typeof e!="string")return{};const t=e.split(".");if(t.length<2)return{};try{const r=t[1].replace(/-/g,"+").replace(/_/g,"/"),o=r+"===".slice(0,(4-r.length%4)%4),n=typeof atob<"u"?atob(o):Buffer.from(o,"base64").toString("utf-8"),a=JSON.parse(n),i=a?.payload??{},s=d=>typeof d=="string"&&d.length>0?d:void 0;return{participantCode:s(i.participant_code),platformName:s(i.platform_name),platformCode:s(a.platform_code),region:s(i.region)}}catch{return{}}},R=(e,t,r)=>{const o=b(t,r);return e[o]??e[t]??e.prod},W=(e,t,r)=>{const o=b(t,r);return e[o]??e[t]},w=()=>{},z=()=>{const e=new Uint8Array(8);return globalThis.crypto.getRandomValues(e),Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")},M=(e,t)=>{const r=z(),o=globalThis.__ZH_WEB_SDK_VERSION__,n={};e.claims.participantCode&&(n.participant_code=e.claims.participantCode),e.claims.platformName&&(n.platform_name=e.claims.platformName),e.claims.platformCode&&(n.platform_code=e.claims.platformCode),e.claims.region&&(n.region=e.claims.region),o&&(n.zh_web_sdk_version=o);const a={meta:{app:{name:e.appName,version:t??"unknown",environment:e.env},session:{id:r,attributes:n},browser:typeof navigator<"u"?{userAgent:navigator.userAgent}:void 0,page:typeof window<"u"?{url:window.location.origin}:void 0},logs:[{message:`Failed to load the script for ${e.webComponentTag} from ${e.env} environment.`,level:"error",timestamp:new Date().toISOString(),context:{web_component:e.webComponentTag,script_url:e.scriptUrl,reason:e.reason,tried_fallback:String(e.triedFallback),elapsed_ms:String(e.elapsedMs)}}]};return{sessionId:r,payload:a}},P=(e,t,r)=>{if(!e||typeof fetch>"u")return;const{sessionId:o,payload:n}=M(t,r);try{fetch(e,{method:"POST",headers:{"Content-Type":"application/json","x-faro-session-id":o},body:JSON.stringify(n),keepalive:!0}).catch(()=>{})}catch{}},
|
|
1
|
+
(function(c,h){typeof exports=="object"&&typeof module<"u"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(c=typeof globalThis<"u"?globalThis:c||self,h(c.CspCryptoWithdrawals={}))})(this,(function(c){"use strict";const h="production",v="JWT token is required and must be a string.",I={dev:"https://grafana-faro-collector.dev.0hash.com/collect",cert:"https://grafana-faro-collector.cert.zerohash.com/collect",prod:"https://grafana-faro-collector.zerohash.com/collect","eu-cert":"https://grafana-faro-collector.cert.zerohash.eu/collect","eu-prod":"https://grafana-faro-collector.zerohash.eu/collect",sandbox:"https://grafana-faro-collector.cert.zerohash.com/collect",production:"https://grafana-faro-collector.zerohash.com/collect"},A=e=>{if(!e||typeof e!="string")return null;const t=e.split(".");if(t.length<2)return null;try{const r=t[1].replace(/-/g,"+").replace(/_/g,"/"),o=r+"===".slice(0,(4-r.length%4)%4),n=typeof atob<"u"?atob(o):Buffer.from(o,"base64").toString("utf-8"),i=JSON.parse(n)?.payload?.region;if(typeof i!="string")return null;const s=i.toLowerCase();return s==="us"||s==="eu"?s:null}catch{return null}},b=(e,t)=>A(t)!=="eu"?e:e==="cert"?"eu-cert":e==="prod"?"eu-prod":e,D=e=>{if(!e||typeof e!="string")return{};const t=e.split(".");if(t.length<2)return{};try{const r=t[1].replace(/-/g,"+").replace(/_/g,"/"),o=r+"===".slice(0,(4-r.length%4)%4),n=typeof atob<"u"?atob(o):Buffer.from(o,"base64").toString("utf-8"),a=JSON.parse(n),i=a?.payload??{},s=d=>typeof d=="string"&&d.length>0?d:void 0;return{participantCode:s(i.participant_code),platformName:s(i.platform_name),platformCode:s(a.platform_code),region:s(i.region)}}catch{return{}}},R=(e,t,r)=>{const o=b(t,r);return e[o]??e[t]??e.prod},W=(e,t,r)=>{const o=b(t,r);return e[o]??e[t]},w=()=>{},z=()=>{const e=new Uint8Array(8);return globalThis.crypto.getRandomValues(e),Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")},M=(e,t)=>{const r=z(),o=globalThis.__ZH_WEB_SDK_VERSION__,n={};e.claims.participantCode&&(n.participant_code=e.claims.participantCode),e.claims.platformName&&(n.platform_name=e.claims.platformName),e.claims.platformCode&&(n.platform_code=e.claims.platformCode),e.claims.region&&(n.region=e.claims.region),o&&(n.zh_web_sdk_version=o);const a={meta:{app:{name:e.appName,version:t??"unknown",environment:e.env},session:{id:r,attributes:n},browser:typeof navigator<"u"?{userAgent:navigator.userAgent}:void 0,page:typeof window<"u"?{url:window.location.origin}:void 0},logs:[{message:`Failed to load the script for ${e.webComponentTag} from ${e.env} environment.`,level:"error",timestamp:new Date().toISOString(),context:{web_component:e.webComponentTag,script_url:e.scriptUrl,reason:e.reason,tried_fallback:String(e.triedFallback),elapsed_ms:String(e.elapsedMs)}}]};return{sessionId:r,payload:a}},P=(e,t,r)=>{if(!e||typeof fetch>"u")return;const{sessionId:o,payload:n}=M(t,r);try{fetch(e,{method:"POST",headers:{"Content-Type":"application/json","x-faro-session-id":o},body:JSON.stringify(n),keepalive:!0}).catch(()=>{})}catch{}},k=e=>{const{webComponentTag:t,appName:r,appVersion:o,scriptUrls:n,fallbackScriptUrls:a,collectorUrls:i,env:s,jwt:d,timeoutMs:j=15e3,onLoad:B,onError:V}=e;if(typeof document>"u")return w;const g=`${t}-script-${s}`;if(customElements.get(t)||document.getElementById(g))return w;const J=D(d),H=e.report??(u=>P(i&&W(i,s,d),u,o));let f=!1,N=0,_;const E=()=>{_!==void 0&&clearTimeout(_)},C=(u,m,l)=>{if(f)return;const x=Math.round(performance.now()-N),L={webComponentTag:t,appName:r,env:s,scriptUrl:m,reason:u,triedFallback:l,elapsedMs:x,claims:J};H(L);const y=l?void 0:R(a??{},s,d);if(y&&y!==m){S(y,!0);return}f=!0,E(),document.getElementById(g)?.remove(),V?.(L)},S=(u,m)=>{E(),N=performance.now();const l=document.createElement("script");l.id=g,l.src=u,l.type="module",l.async=!0,l.onload=()=>{setTimeout(()=>{f||(customElements.get(t)?(f=!0,E(),B?.()):C("not-defined",u,m))},0)},l.onerror=()=>C("network",u,m),_=setTimeout(()=>C("timeout",u,m),j),document.getElementById(g)?.remove(),document.head.appendChild(l)},O=R(n,s,d);return O?(S(O,!1),()=>{f=!0,E()}):w};class U{config;state;scriptLoadingPromise;constructor(t){if(!t.jwt||typeof t.jwt!="string")throw new Error(v);this.config={...t,env:t.env||h,theme:t.theme},this.state={initialized:!1,scriptLoaded:!1,container:null,element:null}}async render(t){if(!t||!(t instanceof HTMLElement))throw new Error(this.errorMessages.INVALID_CONTAINER);if(this.state.initialized)throw new Error(this.errorMessages.ALREADY_RENDERED);try{await this.ensureScriptLoaded();const r=this.createWebComponent();t.innerHTML="",t.appendChild(r),this.state.container=t,this.state.element=r,this.state.initialized=!0}catch(r){throw console.error("Failed to render widget:",r),r}}updateConfig(t){if(!this.state.initialized||!this.state.element)throw new Error(this.errorMessages.NOT_RENDERED);const r=this.state.element;Object.entries(t).forEach(([o,n])=>{n&&(this.config[o]=n,r[o]=n)})}destroy(){this.state.initialized&&(this.state.element&&this.state.element.parentNode&&this.state.element.parentNode.removeChild(this.state.element),this.state.container&&(this.state.container.innerHTML=""),this.state.container=null,this.state.element=null,this.state.initialized=!1)}isRendered(){return this.state.initialized}getConfig(){return{...this.config}}getEnvironment(){return this.config.env||h}getScriptId(){return`${this.webComponentTag}-script-${this.getEnvironment()}`}isScriptLoaded(){return!!document.getElementById(this.getScriptId())}getWebComponent(){return customElements.get(this.webComponentTag)}getEffectiveScriptUrls(){return this.scriptUrls}async loadScript(){if(!(this.getWebComponent()||this.isScriptLoaded())){if(this.scriptLoadingPromise)return this.scriptLoadingPromise;this.scriptLoadingPromise=new Promise((t,r)=>{k({webComponentTag:this.webComponentTag,appName:this.webComponentTag,scriptUrls:this.getEffectiveScriptUrls(),collectorUrls:I,env:this.getEnvironment(),jwt:this.config.jwt,onLoad:t,onError:o=>{r(new Error(o.reason==="not-defined"?this.errorMessages.WEB_COMPONENT_NOT_DEFINED:`${this.errorMessages.SCRIPT_LOAD_FAILED} (${this.getEnvironment()})`))}})});try{await this.scriptLoadingPromise}catch(t){throw this.scriptLoadingPromise=void 0,t}return this.scriptLoadingPromise}}async waitForWebComponent(t=5e3){if(!this.getWebComponent())return new Promise((r,o)=>{const n=setTimeout(()=>{o(new Error(`Timeout waiting for ${this.webComponentTag} to be defined`))},t);customElements.whenDefined(this.webComponentTag).then(()=>{clearTimeout(n),r()}).catch(a=>{clearTimeout(n),o(a)})})}async ensureScriptLoaded(){if(!this.state.scriptLoaded)try{await this.loadScript(),await this.waitForWebComponent(),this.state.scriptLoaded=!0}catch(t){throw console.error("Failed to load Connect script:",t),t}}createWebComponent(){const t=document.createElement(this.webComponentTag);return Object.entries(this.config).forEach(([r,o])=>{o&&(t[r]=o)}),t}}const p={local:"http://localhost:5173",dev:"https://sdk-cdn.dev.0hash.com",cert:"https://sdk-cdn.cert.zerohash.com",prod:"https://sdk-cdn.zerohash.com","eu-cert":"https://sdk-cdn.cert.zerohash.eu","eu-prod":"https://sdk-cdn.zerohash.eu"},F="https://sdk-cdn.gating.0hash.com",$=(e,t,r={})=>{const{eu:o=!1,legacyAliases:n=!1,local:a=p.local}=r,i=d=>`${d}/${e}/${t}`,s={local:i(a),dev:i(p.dev),gating:i(F),cert:i(p.cert),prod:i(p.prod)};return n&&(s.sandbox=i(p.cert),s.production=i(p.prod)),o&&(s["eu-cert"]=i(p["eu-cert"]),s["eu-prod"]=i(p["eu-prod"])),s};c.ErrorCode=void 0,(function(e){e.NETWORK_ERROR="network_error",e.AUTH_ERROR="auth_error",e.NOT_FOUND_ERROR="not_found_error",e.VALIDATION_ERROR="validation_error",e.SERVER_ERROR="server_error",e.CLIENT_ERROR="client_error",e.UNKNOWN_ERROR="unknown_error"})(c.ErrorCode||(c.ErrorCode={}));class T extends U{errorMessages={ALREADY_RENDERED:"CspCryptoWithdrawals widget is already rendered. Call destroy() before rendering again.",NOT_RENDERED:"CspCryptoWithdrawals widget is not rendered. Call render() first.",INVALID_CONTAINER:"Invalid container element provided.",SCRIPT_LOAD_FAILED:"Failed to load the Connect CspCryptoWithdrawals script.",WEB_COMPONENT_NOT_DEFINED:"Web component is not defined. Script may not be loaded."};scriptUrls=$("csp-crypto-withdrawals-web","index.js",{legacyAliases:!0,eu:!0});webComponentTag="zerohash-csp-crypto-withdrawals";render(t){return super.render(t)}updateConfig(t){return super.updateConfig(t)}getConfig(){return super.getConfig()}isRendered(){return super.isRendered()}destroy(){return super.destroy()}}c.CspCryptoWithdrawals=T,c.default=T,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|