wallet-kit / dist / paylink.js
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import { $APP, shadow$provide } from "./shared.js";
/*

 Copyright The Closure Library Authors.
 SPDX-License-Identifier: Apache-2.0
*/
var ba,ka,ma,oa,pa,qa;$APP.h=function(a){return a!=null&&a!==!1};$APP.r=function(a){return a==null?!0:a===!1?!0:!1};$APP.v=function(a){return a==null?"":a.toString()};$APP.w=function(a){return(new TextEncoder).encode(a)};$APP.aa=function(a){a=new Uint8Array(a);crypto.getRandomValues(a);return a};ba=function(a){for(var b=a.length,c=0,d="";;)if(c<b){var e=c+1;d=""+$APP.v(d)+$APP.v(String.fromCharCode(a[c]));c=e}else return btoa(d)};
$APP.y=function(a){return ba(a).replace(ca,"-").replace(fa,"_").replace(ha,"")};ka=function(a){a=a.replace(ia,"+").replace(ja,"/");a=atob(a);for(var b=new Uint8Array(a.length),c=a.length,d=0;;)if(d<c)b[d]=a.charCodeAt(d),d+=1;else break;return b};
ma=function(a){return Promise.resolve(null).then(function(){return crypto.subtle.digest("SHA-256",ka(a)).then(function(b){b=new Uint8Array(b);var c=b[0]<<16|b[1]<<8|b[2];c=""+$APP.v(la[c>>>18&63])+$APP.v(la[c>>>12&63])+$APP.v(la[c>>>6&63])+$APP.v(la[c&63]);a:{for(var d=0,e="";;)if(d<b.length){var f=d+1;e=""+$APP.v(e)+$APP.v(b[d].toString(16).padStart(2,"0"));d=f}else{b=e;break a}b=void 0}return{emoji:c,hex:b}})})};
oa=function(a){return Promise.resolve(null).then(function(){var b=ka(a);if(32!==b.length)throw Error("identity seed must be 32 bytes");var c=new Uint8Array(na.length+32);c.set(na);c.set(b,na.length);return crypto.subtle.importKey("pkcs8",c,"Ed25519",!0,["sign"]).then(function(d){return crypto.subtle.exportKey("jwk",d).then(function(e){var f=e.x;if(!$APP.h(f))throw Error("could not derive public key");return crypto.subtle.importKey("pkcs8",c,"Ed25519",!1,["sign"]).then(function(m){return ma(f).then(function(p){return new $APP.z(m,
f,p)})})})})})};pa=function(a,b){return crypto.subtle.sign("Ed25519",a._priv,b).then(function(c){return new Uint8Array(c)})};qa=function(a,b,c,d){return crypto.subtle.sign("Ed25519",a._priv,$APP.w("sueta-id|v2|"+$APP.v(b)+"|"+$APP.v(c)+"|"+$APP.v(d))).then(function(e){return ba(new Uint8Array(e))})};$APP.A=function(a,b,c){return Promise.resolve(null).then(function(){return crypto.subtle.importKey("raw",ka(a),"Ed25519",!1,["verify"]).then(function(d){return crypto.subtle.verify("Ed25519",d,ka(b),c)})}).catch(function(){return!1})};
$APP.B=function(a){return a!=null&&typeof a==="object"&&$APP.r(Array.isArray(a))};$APP.C=function(a){return Object.keys(a).length};$APP.D=function(a){try{return $APP.w(JSON.stringify(a)).length}catch(b){return Number.MAX_SAFE_INTEGER}};$APP.F=function(a){var b=typeof a==="number";return b?(b=Number.isInteger(a),$APP.h(b)?a>=1&&a<=0x4000000000000:b):b};$APP.G=function(a){var b=typeof a==="string";return b?$APP.ra.test(a):b};$APP.H=function(a){var b=typeof a==="string";return b?$APP.sa.test(a):b};
$APP.I=function(a){var b=(b=typeof a==="number")?Number.isFinite(a):b;return $APP.h(b)?a:a==null&&a!==void 0?null:Date.now()};$APP.J=function(a,b){return typeof a==="string"&&$APP.r(ta.test(a))&&Array.from(a).length<=b};$APP.K=function(a){return a==="~.GAZ"};$APP.M=function(a){var b=typeof a==="string";return b?(b=!$APP.K(a))?$APP.ua.test(a):b:b};$APP.va=function(a){var b={v:1,t:"wpr"};b.cur=a.cur;b.amt=a.amt;b.to=a.to;b.tox=a.tox;b.ctx=a.ctx;b.memo=a.memo;b.exp=a.exp;return b};
$APP.wa=function(a){return""+$APP.v("wpay-req")+"|v1|"+$APP.v($APP.N($APP.va(a)))};
$APP.xa=function(a,b){try{if($APP.B(a)&&10===$APP.C(a)&&1===a.v&&"wpr"===a.t&&$APP.D(a)<=4096){var c=a.cur,d=a.amt,e=a.to,f=a.tox,m=a.ctx,p=a.memo,g=a.exp,k=a.sig,q=$APP.I(b);if($APP.r(function(){var l=$APP.M(c);return $APP.h(l)?(l=$APP.F(d),$APP.h(l)?(l=$APP.G(e),$APP.h(l)?(l=$APP.G(f),$APP.h(l)?(l=$APP.J(m,128))?(l=$APP.J(p,140))?(l=typeof g==="number")?(l=Number.isInteger(g),$APP.h(l)?(l=g>0)?(l=q==null||g<=q+7776E6+12E4)?$APP.H(k):l:l:l):l:l:l:l):l):l):l}()))return null;var n=Object.assign({},
$APP.va(a));n.sig=k;return n}return null}catch(l){return null}};$APP.ya=function(a,b){return Promise.resolve(null).then(function(){var c=$APP.xa(a,b);return c==null?null:$APP.A(c.to,c.sig,$APP.w($APP.wa(c))).then(function(d){return $APP.h(d)?c:null})}).catch(function(){return null})};$APP.za=function(a){a=$APP.xa(a,void 0);if(a==null)throw Error("wallet-kit: payRequestUrl needs a structurally valid wpr");return""+$APP.v("https://banca.ardegazu.ro/")+"#"+$APP.v("pay")+"\x3d"+$APP.v($APP.y($APP.w(JSON.stringify(a))))};
$APP.Ca=function(a){return Promise.resolve(null).then(function(){if(typeof a!=="string")var b="";else{var c=a.indexOf("#");b=c<0?a:a.slice(c+1)}c=""+$APP.v("pay")+"\x3d";b=b.split("\x26");for(var d={v:null},e=b.length,f=0;;)if(f<e){var m=b[f];d.v==null&&0===m.indexOf(c)&&(d.v=m.slice(c.length));f+=1}else break;c=d.v;if(b=typeof c==="string")b=Aa.test(c),b=$APP.h(b)?1!==(c.length%4+4)%4:b;return $APP.r(b)?null:$APP.ya(JSON.parse(Ba.decode(ka(c))),void 0)}).catch(function(){return null})};if(typeof Symbol!=="undefined"){var Da=Symbol;typeof Da!="object"||Da&&Array.isArray(Da)};var ca=RegExp("\\+","g"),fa=RegExp("/","g"),ha=RegExp("\x3d+$","g"),ia=RegExp("-","g"),ja=RegExp("_","g");$APP.ra=/^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/;$APP.sa=/^[A-Za-z0-9_-]{85}[AQgw]$/;$APP.ua=/^([A-Za-z0-9_-]{42}[AEIMQUYcgkosw048])\.([A-Z]{3,8})$/;var na,la;na=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,112,4,34,4,32]);la="\ud83d\udc22 \ud83e\udd8a \ud83d\udc3c \ud83e\udd81 \ud83d\udc38 \ud83d\udc19 \ud83e\udd89 \ud83d\udc1d \ud83d\udc2c \ud83e\udd84 \ud83d\udc1e \ud83e\udd8b \ud83c\udf35 \ud83c\udf32 \ud83c\udf41 \ud83c\udf44 \ud83c\udf3b \ud83c\udf19 ⭐ \ud83d\udd25 \ud83c\udf08 ⚡ ❄️ \ud83c\udf0a \ud83c\udf4e \ud83c\udf4b \ud83c\udf47 \ud83c\udf53 \ud83e\udd51 \ud83c\udf3d \ud83e\udd55 \ud83c\udf69 \ud83c\udf55 \ud83e\udd68 \ud83e\uddc0 \ud83c\udf7f ☕ \ud83c\udf75 \ud83e\uddca \ud83c\udf88 \ud83c\udfb2 \ud83c\udfaf \ud83c\udfb8 \ud83c\udfba \ud83e\udd41 \ud83d\ude80 \ud83d\udeb2 ⛵ \ud83d\ude82 \ud83d\uddff \ud83d\udddd️ \ud83d\udd14 \ud83e\uddf2 \ud83e\udded ⏳ \ud83d\udcda \ud83d\udd8d️ \ud83d\udcce ✂️ \ud83d\udd0d \ud83d\udc8e \ud83d\udee1️ ⚙️ \ud83c\udf81".split(" ");
$APP.z=class{constructor(a,b,c){this._priv=a;this.publicKeyB64=b;this._fp=c}};Object.defineProperty($APP.z.prototype,"fingerprint",{get:function(){return this._fp},configurable:!0});$APP.z.fromSeed=function(a){return oa(a)};$APP.z.newSeed=function(){return $APP.y($APP.aa(32))};var Ea=$APP.z.prototype;Ea.assert=function(a,b,c){return qa(this,a,b,c)};Ea.signRaw=function(a){return pa(this,a)};$APP.N=function N(a){var c=typeof a;if(a===null||c==="number"||c==="boolean"||c==="string")return JSON.stringify(a);if($APP.h(Array.isArray(a)))return"["+$APP.v(a.map(function(d){return N.g?N.g(d):N.call(null,d)}).join(","))+"]";if(c==="object")return c=Object.keys(a).filter(function(d){return a[d]!==void 0}).sort(),"{"+$APP.v(c.map(function(d){var e=""+$APP.v(JSON.stringify(d))+":";d=a[d];d=N.g?N.g(d):N.call(null,d);return e+$APP.v(d)}).join(","))+"}";throw Error("canon: unsupported value of type "+
$APP.v(c));};var ta;ta=RegExp("[\\u0000-\\u001F\\u007F-\\u009F\\u2028\\u2029]");$APP.Ia=RegExp("[\\u0000-\\u001F\\u007F-\\u009F\\u2028\\u2029]","g");var Ba=new TextDecoder,Aa=/^[A-Za-z0-9_-]+$/;export const payRequestUrl=$APP.za;export const parsePayFragment=$APP.Ca;

static mirror of HEAD · about · clone: git clone https://git.ardegazu.ro/wallet-kit.git