@frak-labs/core-sdk 0.0.2
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/LICENSE +674 -0
- package/README.md +8 -0
- package/cdn/bundle.js +21 -0
- package/dist/actions/index.cjs +352 -0
- package/dist/actions/index.d.cts +503 -0
- package/dist/actions/index.d.ts +503 -0
- package/dist/actions/index.js +352 -0
- package/dist/chunk-K5SAPMC2.js +842 -0
- package/dist/chunk-NJJQPEEL.cjs +842 -0
- package/dist/chunk-PR3T7O5I.cjs +79 -0
- package/dist/chunk-QZL2KCSB.js +79 -0
- package/dist/chunk-RAPLRHQ4.cjs +140 -0
- package/dist/chunk-VAINYZSV.js +140 -0
- package/dist/context-B0trlYGx.d.ts +626 -0
- package/dist/context-GkNATUkF.d.cts +626 -0
- package/dist/index.cjs +326 -0
- package/dist/index.d.cts +269 -0
- package/dist/index.d.ts +269 -0
- package/dist/index.js +326 -0
- package/dist/interaction-CTQ5-kqe.d.cts +43 -0
- package/dist/interaction-CTQ5-kqe.d.ts +43 -0
- package/dist/interactions/index.cjs +13 -0
- package/dist/interactions/index.d.cts +140 -0
- package/dist/interactions/index.d.ts +140 -0
- package/dist/interactions/index.js +13 -0
- package/package.json +95 -0
package/README.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Frak Wallet Core SDK
|
|
2
|
+
|
|
3
|
+
This SDK help any dApps, or gated content provider, use the [Frak Wallet](https://wallet.frak.id/) as a regular wallet, with smoother UX for your end-users (pay for his gas fees, check the paywall options, track his consumption etc.)
|
|
4
|
+
|
|
5
|
+
Checkout our documentation for more information's about the usage:
|
|
6
|
+
- [React client usage](https://docs.frak.id/wallet-sdk/getting-started/react)
|
|
7
|
+
- [Core client usage](https://docs.frak.id/wallet-sdk/getting-started/javascript)
|
|
8
|
+
- [CDN / Browser usage](https://docs.frak.id/wallet-sdk/getting-started/cdn)
|
package/cdn/bundle.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";var FrakSDK=(()=>{var Kr=Object.create;var Re=Object.defineProperty;var Jr=Object.getOwnPropertyDescriptor;var Gr=Object.getOwnPropertyNames;var Xr=Object.getPrototypeOf,Yr=Object.prototype.hasOwnProperty;var zt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var k=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ut=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Zr=(e,t)=>{for(var r in t)Re(e,r,{get:t[r],enumerable:!0})},Dt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Gr(t))!Yr.call(e,a)&&a!==r&&Re(e,a,{get:()=>t[a],enumerable:!(n=Jr(t,a))||n.enumerable});return e};var Be=(e,t,r)=>(r=e!=null?Kr(Xr(e)):{},Dt(t||!e||!e.__esModule?Re(r,"default",{value:e,enumerable:!0}):r,e)),Qr=e=>Dt(Re({},"__esModule",{value:!0}),e);var st=Ut((me,it)=>{"use strict";(function(e,t){if(typeof me=="object"&&typeof it=="object")it.exports=t();else if(typeof define=="function"&&define.amd)define([],t);else{var r=t();for(var n in r)(typeof me=="object"?me:e)[n]=r[n]}})(me,()=>(()=>{"use strict";var e={48:function(r,n,a){var u=this&&this.__awaiter||function(s,g,o,i){return new(o||(o=Promise))(function(T,A){function h(c){try{z(i.next(c))}catch(l){A(l)}}function S(c){try{z(i.throw(c))}catch(l){A(l)}}function z(c){var l;c.done?T(c.value):(l=c.value,l instanceof o?l:new o(function(F){F(l)})).then(h,S)}z((i=i.apply(s,g||[])).next())})},f=this&&this.__generator||function(s,g){var o,i,T,A,h={label:0,sent:function(){if(1&T[0])throw T[1];return T[1]},trys:[],ops:[]};return A={next:S(0),throw:S(1),return:S(2)},typeof Symbol=="function"&&(A[Symbol.iterator]=function(){return this}),A;function S(z){return function(c){return function(l){if(o)throw new TypeError("Generator is already executing.");for(;A&&(A=0,l[0]&&(h=0)),h;)try{if(o=1,i&&(T=2&l[0]?i.return:l[0]?i.throw||((T=i.return)&&T.call(i),0):i.next)&&!(T=T.call(i,l[1])).done)return T;switch(i=0,T&&(l=[2&l[0],T.value]),l[0]){case 0:case 1:T=l;break;case 4:return h.label++,{value:l[1],done:!1};case 5:h.label++,i=l[1],l=[0];continue;case 7:l=h.ops.pop(),h.trys.pop();continue;default:if(!((T=(T=h.trys).length>0&&T[T.length-1])||l[0]!==6&&l[0]!==2)){h=0;continue}if(l[0]===3&&(!T||l[1]>T[0]&&l[1]<T[3])){h.label=l[1];break}if(l[0]===6&&h.label<T[1]){h.label=T[1],T=l;break}if(T&&h.label<T[2]){h.label=T[2],h.ops.push(l);break}T[2]&&h.ops.pop(),h.trys.pop();continue}l=g.call(s,h)}catch(F){l=[6,F],i=0}finally{o=T=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([z,c])}}};Object.defineProperty(n,"__esModule",{value:!0}),n.decompressFromUTF16=n.compressToUTF16=n.decompressFromBase64=n.compressToBase64=void 0;var I=a(304),p=a(134),E=new I.CompressorImpl,d=new p.DecompressorImpl,m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",x={};n.compressToBase64=function(s){return u(this,void 0,void 0,function(){var g;return f(this,function(o){switch(o.label){case 0:return s===null?[2,""]:[4,E.compress(s,6,function(i){return m.charAt(i)})];case 1:switch((g=o.sent()).length%4){default:case 0:return[2,g];case 1:return[2,g+"==="];case 2:return[2,g+"=="];case 3:return[2,g+"="]}return[2]}})})},n.decompressFromBase64=function(s){return u(this,void 0,void 0,function(){return f(this,function(g){switch(g.label){case 0:return s===null?[2,""]:s===""?[2,null]:[4,d.decompress(s.length,32,function(o){return function(i,T){if(!x[i]){x[i]={};for(var A=0;A<i.length;A++)x[i][i.charAt(A)]=A}return x[i][T]}(m,s.charAt(o))})];case 1:return[2,g.sent()]}})})},n.compressToUTF16=function(s){return u(this,void 0,void 0,function(){return f(this,function(g){switch(g.label){case 0:return s===null?[2,""]:[4,E.compress(s,15,function(o){return String.fromCharCode(o+32)})];case 1:return[2,g.sent()+" "]}})})},n.decompressFromUTF16=function(s){return u(this,void 0,void 0,function(){return f(this,function(g){switch(g.label){case 0:return s===null?[2,""]:s===""?[2,null]:[4,d.decompress(s.length,16384,function(o){return s.charCodeAt(o)-32})];case 1:return[2,g.sent()]}})})}},304:function(r,n,a){var u=this&&this.__awaiter||function(d,m,x,s){return new(x||(x=Promise))(function(g,o){function i(h){try{A(s.next(h))}catch(S){o(S)}}function T(h){try{A(s.throw(h))}catch(S){o(S)}}function A(h){var S;h.done?g(h.value):(S=h.value,S instanceof x?S:new x(function(z){z(S)})).then(i,T)}A((s=s.apply(d,m||[])).next())})},f=this&&this.__generator||function(d,m){var x,s,g,o,i={label:0,sent:function(){if(1&g[0])throw g[1];return g[1]},trys:[],ops:[]};return o={next:T(0),throw:T(1),return:T(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function T(A){return function(h){return function(S){if(x)throw new TypeError("Generator is already executing.");for(;o&&(o=0,S[0]&&(i=0)),i;)try{if(x=1,s&&(g=2&S[0]?s.return:S[0]?s.throw||((g=s.return)&&g.call(s),0):s.next)&&!(g=g.call(s,S[1])).done)return g;switch(s=0,g&&(S=[2&S[0],g.value]),S[0]){case 0:case 1:g=S;break;case 4:return i.label++,{value:S[1],done:!1};case 5:i.label++,s=S[1],S=[0];continue;case 7:S=i.ops.pop(),i.trys.pop();continue;default:if(!((g=(g=i.trys).length>0&&g[g.length-1])||S[0]!==6&&S[0]!==2)){i=0;continue}if(S[0]===3&&(!g||S[1]>g[0]&&S[1]<g[3])){i.label=S[1];break}if(S[0]===6&&i.label<g[1]){i.label=g[1],g=S;break}if(g&&i.label<g[2]){i.label=g[2],i.ops.push(S);break}g[2]&&i.ops.pop(),i.trys.pop();continue}S=m.call(d,i)}catch(z){S=[6,z],s=0}finally{x=g=0}if(5&S[0])throw S[1];return{value:S[0]?S[1]:void 0,done:!0}}([A,h])}}};Object.defineProperty(n,"__esModule",{value:!0}),n.CompressorImpl=void 0;var I=a(658),p=[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15],E=function(){function d(){}return d.writeValueToData=function(m,x,s,g,o){if(s%4!=0||m.dataPosition+s>g-1)for(var i=0;i<s;i++)m.dataVal=m.dataVal<<1|1&x,m.dataPosition==g-1?(m.dataPosition=0,m.data.push(o(m.dataVal)),m.dataVal=0):m.dataPosition++,x>>=1;else m.dataVal<<=s,m.dataVal|=function(T,A){for(var h=0,S=0;S<A;++S)h<<=4,h|=p[15&T],T>>=4;return h}(x,s/4),m.dataPosition+=s},d.writeWToDataVal=function(m,x,s){m.dictionaryToCreate.has(m.w)?(m.w.charCodeAt(0)<256?(d.writeValueToData(m,0,m.numBits,x,s),d.writeValueToData(m,m.w.charCodeAt(0),8,x,s)):(d.writeValueToData(m,1,m.numBits,x,s),d.writeValueToData(m,m.w.charCodeAt(0),16,x,s)),m.enlargeIn--,m.enlargeIn==0&&(m.enlargeIn=Math.pow(2,m.numBits),m.numBits++),m.dictionaryToCreate.delete(m.w)):d.writeValueToData(m,m.dictionary.get(m.w),m.numBits,x,s),m.enlargeIn--,m.enlargeIn==0&&(m.enlargeIn=Math.pow(2,m.numBits),m.numBits++)},d.loopIteration=function(m,x,s,g,o){var i=m.charAt(x);o.dictionary.has(i)||(o.dictionary.set(i,o.dictSize++),o.dictionaryToCreate.set(i,!0));var T=o.w+i;o.dictionary.has(T)?o.w=T:(this.writeWToDataVal(o,s,g),o.dictionary.set(T,o.dictSize++),o.w=String(i))},d.prototype.compress=function(m,x,s){var g=this;return new Promise(function(o){return u(g,void 0,void 0,function(){var i,T;return f(this,function(A){switch(A.label){case 0:if(m==null)return o(""),[2];i={data:[],dataPosition:0,dataVal:0,dictionary:new Map,dictionaryToCreate:new Map,dictSize:3,enlargeIn:2,numBits:2,w:""},T=0,A.label=1;case 1:return T<m.length?(d.loopIteration(m,T,x,s,i),T%1e4!=0?[3,3]:[4,(0,I.wait)()]):[3,4];case 2:A.sent(),A.label=3;case 3:return T+=1,[3,1];case 4:return i.w!==""&&d.writeWToDataVal(i,x,s),d.writeValueToData(i,2,i.numBits,x,s),i.dataVal<<=x-i.dataPosition,i.data.push(s(i.dataVal)),o(i.data.join("")),[2]}})})})},d}();n.CompressorImpl=E},134:function(r,n,a){var u=this&&this.__awaiter||function(E,d,m,x){return new(m||(m=Promise))(function(s,g){function o(A){try{T(x.next(A))}catch(h){g(h)}}function i(A){try{T(x.throw(A))}catch(h){g(h)}}function T(A){var h;A.done?s(A.value):(h=A.value,h instanceof m?h:new m(function(S){S(h)})).then(o,i)}T((x=x.apply(E,d||[])).next())})},f=this&&this.__generator||function(E,d){var m,x,s,g,o={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return g={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(g[Symbol.iterator]=function(){return this}),g;function i(T){return function(A){return function(h){if(m)throw new TypeError("Generator is already executing.");for(;g&&(g=0,h[0]&&(o=0)),o;)try{if(m=1,x&&(s=2&h[0]?x.return:h[0]?x.throw||((s=x.return)&&s.call(x),0):x.next)&&!(s=s.call(x,h[1])).done)return s;switch(x=0,s&&(h=[2&h[0],s.value]),h[0]){case 0:case 1:s=h;break;case 4:return o.label++,{value:h[1],done:!1};case 5:o.label++,x=h[1],h=[0];continue;case 7:h=o.ops.pop(),o.trys.pop();continue;default:if(!((s=(s=o.trys).length>0&&s[s.length-1])||h[0]!==6&&h[0]!==2)){o=0;continue}if(h[0]===3&&(!s||h[1]>s[0]&&h[1]<s[3])){o.label=h[1];break}if(h[0]===6&&o.label<s[1]){o.label=s[1],s=h;break}if(s&&o.label<s[2]){o.label=s[2],o.ops.push(h);break}s[2]&&o.ops.pop(),o.trys.pop();continue}h=d.call(E,o)}catch(S){h=[6,S],x=0}finally{m=s=0}if(5&h[0])throw h[1];return{value:h[0]?h[1]:void 0,done:!0}}([T,A])}}};Object.defineProperty(n,"__esModule",{value:!0}),n.DecompressorImpl=void 0;var I=a(658),p=function(){function E(){}return E.prototype.decompress=function(d,m,x){var s=this;return new Promise(function(g){return u(s,void 0,void 0,function(){var o,i,T;return f(this,function(A){switch(A.label){case 0:for(o={bits:0,c:null,dataIndex:1,dataPosition:m,dataVal:x(0),dictionary:new Map,dictSize:4,enlargeIn:4,entry:"",maxPower:Math.pow(2,2),numBits:3,power:1,resb:null,result:[],w:null},i=0;i<3;i+=1)o.dictionary.set(i,i);for(;o.power!=o.maxPower;)o.resb=o.dataVal&o.dataPosition,o.dataPosition>>=1,o.dataPosition==0&&(o.dataPosition=m,o.dataVal=x(o.dataIndex++)),o.bits|=(o.resb>0?1:0)*o.power,o.power<<=1;switch(o.bits){case 0:for(o.bits=0,o.maxPower=Math.pow(2,8),o.power=1;o.power!=o.maxPower;)o.resb=o.dataVal&o.dataPosition,o.dataPosition>>=1,o.dataPosition==0&&(o.dataPosition=m,o.dataVal=x(o.dataIndex++)),o.bits|=(o.resb>0?1:0)*o.power,o.power<<=1;o.c=String.fromCharCode(o.bits);break;case 1:for(o.bits=0,o.maxPower=Math.pow(2,16),o.power=1;o.power!==o.maxPower;)o.resb=o.dataVal&o.dataPosition,o.dataPosition>>=1,o.dataPosition===0&&(o.dataPosition=m,o.dataVal=x(o.dataIndex++)),o.bits|=(o.resb>0?1:0)*o.power,o.power<<=1;o.c=String.fromCharCode(o.bits);break;case 2:return g(""),[2]}o.dictionary[3]=o.c,o.w=o.c,o.result.push(o.c),T=1,A.label=1;case 1:return T%2e4!=0?[3,3]:[4,(0,I.wait)()];case 2:A.sent(),A.label=3;case 3:if(o.dataIndex>d)return g(""),[2];for(o.bits=0,o.maxPower=Math.pow(2,o.numBits),o.power=1;o.power!=o.maxPower;)o.resb=o.dataVal&o.dataPosition,o.dataPosition>>=1,o.dataPosition==0&&(o.dataPosition=m,o.dataVal=x(o.dataIndex++)),o.bits|=(o.resb>0?1:0)*o.power,o.power<<=1;switch(o.c=o.bits){case 0:for(o.bits=0,o.maxPower=Math.pow(2,8),o.power=1;o.power!==o.maxPower;)o.resb=o.dataVal&o.dataPosition,o.dataPosition>>=1,o.dataPosition==0&&(o.dataPosition=m,o.dataVal=x(o.dataIndex++)),o.bits|=(o.resb>0?1:0)*o.power,o.power<<=1;o.dictionary[o.dictSize++]=String.fromCharCode(o.bits),o.c=o.dictSize-1,o.enlargeIn--;break;case 1:for(o.bits=0,o.maxPower=Math.pow(2,16),o.power=1;o.power!==o.maxPower;)o.resb=o.dataVal&o.dataPosition,o.dataPosition>>=1,o.dataPosition==0&&(o.dataPosition=m,o.dataVal=x(o.dataIndex++)),o.bits|=(o.resb>0?1:0)*o.power,o.power<<=1;o.dictionary[o.dictSize++]=String.fromCharCode(o.bits),o.c=o.dictSize-1,o.enlargeIn--;break;case 2:return g(o.result.join("")),[2]}if(o.enlargeIn==0&&(o.enlargeIn=Math.pow(2,o.numBits),o.numBits++),o.dictionary[o.c])o.entry=o.dictionary[o.c];else{if(o.c!==o.dictSize)return g(null),[2];o.entry=o.w+o.w.charAt(0)}return o.result.push(o.entry),o.dictionary[o.dictSize++]=o.w+o.entry.charAt(0),o.enlargeIn--,o.w=o.entry,o.enlargeIn==0&&(o.enlargeIn=Math.pow(2,o.numBits),o.numBits++),T++,[3,1];case 4:return[2]}})})})},E}();n.DecompressorImpl=p},658:function(r,n){var a=this&&this.__awaiter||function(f,I,p,E){return new(p||(p=Promise))(function(d,m){function x(o){try{g(E.next(o))}catch(i){m(i)}}function s(o){try{g(E.throw(o))}catch(i){m(i)}}function g(o){var i;o.done?d(o.value):(i=o.value,i instanceof p?i:new p(function(T){T(i)})).then(x,s)}g((E=E.apply(f,I||[])).next())})},u=this&&this.__generator||function(f,I){var p,E,d,m,x={label:0,sent:function(){if(1&d[0])throw d[1];return d[1]},trys:[],ops:[]};return m={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(m[Symbol.iterator]=function(){return this}),m;function s(g){return function(o){return function(i){if(p)throw new TypeError("Generator is already executing.");for(;m&&(m=0,i[0]&&(x=0)),x;)try{if(p=1,E&&(d=2&i[0]?E.return:i[0]?E.throw||((d=E.return)&&d.call(E),0):E.next)&&!(d=d.call(E,i[1])).done)return d;switch(E=0,d&&(i=[2&i[0],d.value]),i[0]){case 0:case 1:d=i;break;case 4:return x.label++,{value:i[1],done:!1};case 5:x.label++,E=i[1],i=[0];continue;case 7:i=x.ops.pop(),x.trys.pop();continue;default:if(!((d=(d=x.trys).length>0&&d[d.length-1])||i[0]!==6&&i[0]!==2)){x=0;continue}if(i[0]===3&&(!d||i[1]>d[0]&&i[1]<d[3])){x.label=i[1];break}if(i[0]===6&&x.label<d[1]){x.label=d[1],d=i;break}if(d&&x.label<d[2]){x.label=d[2],x.ops.push(i);break}d[2]&&x.ops.pop(),x.trys.pop();continue}i=I.call(f,x)}catch(T){i=[6,T],E=0}finally{p=d=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([g,o])}}};Object.defineProperty(n,"__esModule",{value:!0}),n.wait=void 0,n.wait=function(){return a(this,void 0,void 0,function(){return u(this,function(f){return[2,new Promise(function(I){setTimeout(I,0)})]})})}}},t={};return function r(n){var a=t[n];if(a!==void 0)return a.exports;var u=t[n]={exports:{}};return e[n].call(u.exports,u,u.exports,r),u.exports}(48)})())});var ct=Ut((No,Le)=>{"use strict";(function(){"use strict";var e="input is invalid type",t=typeof window=="object",r=t?window:{};r.JS_SHA256_NO_WINDOW&&(t=!1);var n=!t&&typeof self=="object",a=!r.JS_SHA256_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;a?r=global:n&&(r=self);var u=!r.JS_SHA256_NO_COMMON_JS&&typeof Le=="object"&&Le.exports,f=typeof define=="function"&&define.amd,I=!r.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",p="0123456789abcdef".split(""),E=[-2147483648,8388608,32768,128],d=[24,16,8,0],m=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],x=["hex","array","digest","arrayBuffer"],s=[];(r.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(c){return Object.prototype.toString.call(c)==="[object Array]"}),I&&(r.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(c){return typeof c=="object"&&c.buffer&&c.buffer.constructor===ArrayBuffer});var g=function(c,l){return function(F){return new h(l,!0).update(F)[c]()}},o=function(c){var l=g("hex",c);a&&(l=i(l,c)),l.create=function(){return new h(c)},l.update=function(v){return l.create().update(v)};for(var F=0;F<x.length;++F){var w=x[F];l[w]=g(w,c)}return l},i=function(c,l){var F=zt("crypto"),w=zt("buffer").Buffer,v=l?"sha224":"sha256",b;w.from&&!r.JS_SHA256_NO_BUFFER_FROM?b=w.from:b=function(y){return new w(y)};var C=function(y){if(typeof y=="string")return F.createHash(v).update(y,"utf8").digest("hex");if(y==null)throw new Error(e);return y.constructor===ArrayBuffer&&(y=new Uint8Array(y)),Array.isArray(y)||ArrayBuffer.isView(y)||y.constructor===w?F.createHash(v).update(b(y)).digest("hex"):c(y)};return C},T=function(c,l){return function(F,w){return new S(F,l,!0).update(w)[c]()}},A=function(c){var l=T("hex",c);l.create=function(v){return new S(v,c)},l.update=function(v,b){return l.create(v).update(b)};for(var F=0;F<x.length;++F){var w=x[F];l[w]=T(w,c)}return l};function h(c,l){l?(s[0]=s[16]=s[1]=s[2]=s[3]=s[4]=s[5]=s[6]=s[7]=s[8]=s[9]=s[10]=s[11]=s[12]=s[13]=s[14]=s[15]=0,this.blocks=s):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=c}h.prototype.update=function(c){if(!this.finalized){var l,F=typeof c;if(F!=="string"){if(F==="object"){if(c===null)throw new Error(e);if(I&&c.constructor===ArrayBuffer)c=new Uint8Array(c);else if(!Array.isArray(c)&&(!I||!ArrayBuffer.isView(c)))throw new Error(e)}else throw new Error(e);l=!0}for(var w,v=0,b,C=c.length,y=this.blocks;v<C;){if(this.hashed&&(this.hashed=!1,y[0]=this.block,this.block=y[16]=y[1]=y[2]=y[3]=y[4]=y[5]=y[6]=y[7]=y[8]=y[9]=y[10]=y[11]=y[12]=y[13]=y[14]=y[15]=0),l)for(b=this.start;v<C&&b<64;++v)y[b>>>2]|=c[v]<<d[b++&3];else for(b=this.start;v<C&&b<64;++v)w=c.charCodeAt(v),w<128?y[b>>>2]|=w<<d[b++&3]:w<2048?(y[b>>>2]|=(192|w>>>6)<<d[b++&3],y[b>>>2]|=(128|w&63)<<d[b++&3]):w<55296||w>=57344?(y[b>>>2]|=(224|w>>>12)<<d[b++&3],y[b>>>2]|=(128|w>>>6&63)<<d[b++&3],y[b>>>2]|=(128|w&63)<<d[b++&3]):(w=65536+((w&1023)<<10|c.charCodeAt(++v)&1023),y[b>>>2]|=(240|w>>>18)<<d[b++&3],y[b>>>2]|=(128|w>>>12&63)<<d[b++&3],y[b>>>2]|=(128|w>>>6&63)<<d[b++&3],y[b>>>2]|=(128|w&63)<<d[b++&3]);this.lastByteIndex=b,this.bytes+=b-this.start,b>=64?(this.block=y[16],this.start=b-64,this.hash(),this.hashed=!0):this.start=b}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},h.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var c=this.blocks,l=this.lastByteIndex;c[16]=this.block,c[l>>>2]|=E[l&3],this.block=c[16],l>=56&&(this.hashed||this.hash(),c[0]=this.block,c[16]=c[1]=c[2]=c[3]=c[4]=c[5]=c[6]=c[7]=c[8]=c[9]=c[10]=c[11]=c[12]=c[13]=c[14]=c[15]=0),c[14]=this.hBytes<<3|this.bytes>>>29,c[15]=this.bytes<<3,this.hash()}},h.prototype.hash=function(){var c=this.h0,l=this.h1,F=this.h2,w=this.h3,v=this.h4,b=this.h5,C=this.h6,y=this.h7,P=this.blocks,R,_,N,X,M,Y,Z,fe,nt,at,ke;for(R=16;R<64;++R)M=P[R-15],_=(M>>>7|M<<25)^(M>>>18|M<<14)^M>>>3,M=P[R-2],N=(M>>>17|M<<15)^(M>>>19|M<<13)^M>>>10,P[R]=P[R-16]+_+P[R-7]+N<<0;for(ke=l&F,R=0;R<64;R+=4)this.first?(this.is224?(fe=300032,M=P[0]-1413257819,y=M-150054599<<0,w=M+24177077<<0):(fe=704751109,M=P[0]-210244248,y=M-1521486534<<0,w=M+143694565<<0),this.first=!1):(_=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),N=(v>>>6|v<<26)^(v>>>11|v<<21)^(v>>>25|v<<7),fe=c&l,X=fe^c&F^ke,Z=v&b^~v&C,M=y+N+Z+m[R]+P[R],Y=_+X,y=w+M<<0,w=M+Y<<0),_=(w>>>2|w<<30)^(w>>>13|w<<19)^(w>>>22|w<<10),N=(y>>>6|y<<26)^(y>>>11|y<<21)^(y>>>25|y<<7),nt=w&c,X=nt^w&l^fe,Z=y&v^~y&b,M=C+N+Z+m[R+1]+P[R+1],Y=_+X,C=F+M<<0,F=M+Y<<0,_=(F>>>2|F<<30)^(F>>>13|F<<19)^(F>>>22|F<<10),N=(C>>>6|C<<26)^(C>>>11|C<<21)^(C>>>25|C<<7),at=F&w,X=at^F&c^nt,Z=C&y^~C&v,M=b+N+Z+m[R+2]+P[R+2],Y=_+X,b=l+M<<0,l=M+Y<<0,_=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),N=(b>>>6|b<<26)^(b>>>11|b<<21)^(b>>>25|b<<7),ke=l&F,X=ke^l&w^at,Z=b&C^~b&y,M=v+N+Z+m[R+3]+P[R+3],Y=_+X,v=c+M<<0,c=M+Y<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+c<<0,this.h1=this.h1+l<<0,this.h2=this.h2+F<<0,this.h3=this.h3+w<<0,this.h4=this.h4+v<<0,this.h5=this.h5+b<<0,this.h6=this.h6+C<<0,this.h7=this.h7+y<<0},h.prototype.hex=function(){this.finalize();var c=this.h0,l=this.h1,F=this.h2,w=this.h3,v=this.h4,b=this.h5,C=this.h6,y=this.h7,P=p[c>>>28&15]+p[c>>>24&15]+p[c>>>20&15]+p[c>>>16&15]+p[c>>>12&15]+p[c>>>8&15]+p[c>>>4&15]+p[c&15]+p[l>>>28&15]+p[l>>>24&15]+p[l>>>20&15]+p[l>>>16&15]+p[l>>>12&15]+p[l>>>8&15]+p[l>>>4&15]+p[l&15]+p[F>>>28&15]+p[F>>>24&15]+p[F>>>20&15]+p[F>>>16&15]+p[F>>>12&15]+p[F>>>8&15]+p[F>>>4&15]+p[F&15]+p[w>>>28&15]+p[w>>>24&15]+p[w>>>20&15]+p[w>>>16&15]+p[w>>>12&15]+p[w>>>8&15]+p[w>>>4&15]+p[w&15]+p[v>>>28&15]+p[v>>>24&15]+p[v>>>20&15]+p[v>>>16&15]+p[v>>>12&15]+p[v>>>8&15]+p[v>>>4&15]+p[v&15]+p[b>>>28&15]+p[b>>>24&15]+p[b>>>20&15]+p[b>>>16&15]+p[b>>>12&15]+p[b>>>8&15]+p[b>>>4&15]+p[b&15]+p[C>>>28&15]+p[C>>>24&15]+p[C>>>20&15]+p[C>>>16&15]+p[C>>>12&15]+p[C>>>8&15]+p[C>>>4&15]+p[C&15];return this.is224||(P+=p[y>>>28&15]+p[y>>>24&15]+p[y>>>20&15]+p[y>>>16&15]+p[y>>>12&15]+p[y>>>8&15]+p[y>>>4&15]+p[y&15]),P},h.prototype.toString=h.prototype.hex,h.prototype.digest=function(){this.finalize();var c=this.h0,l=this.h1,F=this.h2,w=this.h3,v=this.h4,b=this.h5,C=this.h6,y=this.h7,P=[c>>>24&255,c>>>16&255,c>>>8&255,c&255,l>>>24&255,l>>>16&255,l>>>8&255,l&255,F>>>24&255,F>>>16&255,F>>>8&255,F&255,w>>>24&255,w>>>16&255,w>>>8&255,w&255,v>>>24&255,v>>>16&255,v>>>8&255,v&255,b>>>24&255,b>>>16&255,b>>>8&255,b&255,C>>>24&255,C>>>16&255,C>>>8&255,C&255];return this.is224||P.push(y>>>24&255,y>>>16&255,y>>>8&255,y&255),P},h.prototype.array=h.prototype.digest,h.prototype.arrayBuffer=function(){this.finalize();var c=new ArrayBuffer(this.is224?28:32),l=new DataView(c);return l.setUint32(0,this.h0),l.setUint32(4,this.h1),l.setUint32(8,this.h2),l.setUint32(12,this.h3),l.setUint32(16,this.h4),l.setUint32(20,this.h5),l.setUint32(24,this.h6),this.is224||l.setUint32(28,this.h7),c};function S(c,l,F){var w,v=typeof c;if(v==="string"){var b=[],C=c.length,y=0,P;for(w=0;w<C;++w)P=c.charCodeAt(w),P<128?b[y++]=P:P<2048?(b[y++]=192|P>>>6,b[y++]=128|P&63):P<55296||P>=57344?(b[y++]=224|P>>>12,b[y++]=128|P>>>6&63,b[y++]=128|P&63):(P=65536+((P&1023)<<10|c.charCodeAt(++w)&1023),b[y++]=240|P>>>18,b[y++]=128|P>>>12&63,b[y++]=128|P>>>6&63,b[y++]=128|P&63);c=b}else if(v==="object"){if(c===null)throw new Error(e);if(I&&c.constructor===ArrayBuffer)c=new Uint8Array(c);else if(!Array.isArray(c)&&(!I||!ArrayBuffer.isView(c)))throw new Error(e)}else throw new Error(e);c.length>64&&(c=new h(l,!0).update(c).array());var R=[],_=[];for(w=0;w<64;++w){var N=c[w]||0;R[w]=92^N,_[w]=54^N}h.call(this,l,F),this.update(_),this.oKeyPad=R,this.inner=!0,this.sharedMemory=F}S.prototype=new h,S.prototype.finalize=function(){if(h.prototype.finalize.call(this),this.inner){this.inner=!1;var c=this.array();h.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(c),h.prototype.finalize.call(this)}};var z=o();z.sha256=z,z.sha224=o(!0),z.sha256.hmac=A(),z.sha224.hmac=A(!0),u?Le.exports=z:(r.sha256=z.sha256,r.sha224=z.sha224,f&&define(function(){return z}))})()});function Q(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}var be=k(()=>{"use strict"});function U(e){return Q(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var we=k(()=>{"use strict";be()});var ft,Vt=k(()=>{"use strict";ft="2.21.55"});function Wt(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?Wt(e.cause,t):t?null:e}var dt,L,ie=k(()=>{"use strict";Vt();dt={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${ft}`},L=class e extends Error{constructor(t,r={}){let n=r.cause instanceof e?r.cause.details:r.cause?.message?r.cause.message:r.details,a=r.cause instanceof e&&r.cause.docsPath||r.docsPath,u=dt.getDocsUrl?.({...r,docsPath:a}),f=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...u?[`Docs: ${u}`]:[],...n?[`Details: ${n}`]:[],...dt.version?[`Version: ${dt.version}`]:[]].join(`
|
|
2
|
+
`);super(f,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=n,this.docsPath=a,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=t,this.version=ft}walk(t){return Wt(this,t)}}});var ze,Ue,De,$e,Oe,qt=k(()=>{"use strict";we();ie();ze=class extends L{constructor({expectedLength:t,givenLength:r,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${t}`,`Given length: ${r}`].join(`
|
|
3
|
+
`),{name:"AbiEncodingArrayLengthMismatchError"})}},Ue=class extends L{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${U(r)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}},De=class extends L{constructor({expectedLength:t,givenLength:r}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${r}`].join(`
|
|
4
|
+
`),{name:"AbiEncodingLengthMismatchError"})}},$e=class extends L{constructor(t,{docsPath:r}){super([`Type "${t}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
|
|
5
|
+
`),{docsPath:r,name:"InvalidAbiEncodingType"})}},Oe=class extends L{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
|
|
6
|
+
`),{name:"InvalidArrayError"})}}});var Ie,Te,mt=k(()=>{"use strict";ie();Ie=class extends L{constructor({offset:t,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}},Te=class extends L{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${t}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}}});function D(e,{dir:t,size:r=32}={}){return typeof e=="string"?q(e,{dir:t,size:r}):Kt(e,{dir:t,size:r})}function q(e,{dir:t,size:r=32}={}){if(r===null)return e;let n=e.replace("0x","");if(n.length>r*2)throw new Te({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function Kt(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new Te({size:e.length,targetSize:r,type:"bytes"});let n=new Uint8Array(r);for(let a=0;a<r;a++){let u=t==="right";n[u?a:r-a-1]=e[u?a:e.length-a-1]}return n}var Se=k(()=>{"use strict";mt()});var ue,_e,Ne=k(()=>{"use strict";ie();ue=class extends L{constructor({max:t,min:r,signed:n,size:a,value:u}){super(`Number "${u}" is not in safe ${a?`${a*8}-bit ${n?"signed":"unsigned"} `:""}integer range ${t?`(${r} to ${t})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}},_e=class extends L{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}});function se(e,{size:t}){if(U(e)>t)throw new _e({givenSize:U(e),maxSize:t})}var ht=k(()=>{"use strict";Ne();we()});function $(e,t={}){return typeof e=="number"||typeof e=="bigint"?K(e,t):typeof e=="string"?Ve(e,t):typeof e=="boolean"?je(e,t):Fe(e,t)}function je(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(se(r,{size:t.size}),D(r,{size:t.size})):r}function Fe(e,t={}){let r="";for(let a=0;a<e.length;a++)r+=ro[e[a]];let n=`0x${r}`;return typeof t.size=="number"?(se(n,{size:t.size}),D(n,{dir:"right",size:t.size})):n}function K(e,t={}){let{signed:r,size:n}=t,a=BigInt(e),u;n?r?u=(1n<<BigInt(n)*8n-1n)-1n:u=2n**(BigInt(n)*8n)-1n:typeof e=="number"&&(u=BigInt(Number.MAX_SAFE_INTEGER));let f=typeof u=="bigint"&&r?-u-1n:0;if(u&&a>u||a<f){let p=typeof e=="bigint"?"n":"";throw new ue({max:u?`${u}${p}`:void 0,min:`${f}${p}`,signed:r,size:n,value:`${e}${p}`})}let I=`0x${(r&&a<0?(1n<<BigInt(n*8))+BigInt(a):a).toString(16)}`;return n?D(I,{size:n}):I}function Ve(e,t={}){let r=oo.encode(e);return Fe(r,t)}var ro,oo,Ee=k(()=>{"use strict";Ne();Se();ht();ro=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));oo=new TextEncoder});function xt(e,t={}){return typeof e=="number"||typeof e=="bigint"?Xt(e,t):typeof e=="boolean"?Gt(e,t):Q(e)?ve(e,t):We(e,t)}function Gt(e,t={}){let r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(se(r,{size:t.size}),D(r,{size:t.size})):r}function Jt(e){if(e>=G.zero&&e<=G.nine)return e-G.zero;if(e>=G.A&&e<=G.F)return e-(G.A-10);if(e>=G.a&&e<=G.f)return e-(G.a-10)}function ve(e,t={}){let r=e;t.size&&(se(r,{size:t.size}),r=D(r,{dir:"right",size:t.size}));let n=r.slice(2);n.length%2&&(n=`0${n}`);let a=n.length/2,u=new Uint8Array(a);for(let f=0,I=0;f<a;f++){let p=Jt(n.charCodeAt(I++)),E=Jt(n.charCodeAt(I++));if(p===void 0||E===void 0)throw new L(`Invalid byte sequence ("${n[I-2]}${n[I-1]}" in "${n}").`);u[f]=p*16+E}return u}function Xt(e,t){let r=K(e,t);return ve(r)}function We(e,t={}){let r=no.encode(e);return typeof t.size=="number"?(se(r,{size:t.size}),D(r,{dir:"right",size:t.size})):r}var no,G,qe=k(()=>{"use strict";ie();be();Se();ht();Ee();no=new TextEncoder;G={zero:48,nine:57,A:65,F:70,a:97,f:102}});function yt(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function ao(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ae(e,...t){if(!ao(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function gt(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Yt(e,t){Ae(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}var bt=k(()=>{"use strict"});function io(e,t=!1){return t?{h:Number(e&Ke),l:Number(e>>Zt&Ke)}:{h:Number(e>>Zt&Ke)|0,l:Number(e&Ke)|0}}function Qt(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let a=0;a<e.length;a++){let{h:u,l:f}=io(e[a],t);[r[a],n[a]]=[u,f]}return[r,n]}var Ke,Zt,er,tr,rr,or,nr=k(()=>{"use strict";Ke=BigInt(4294967295),Zt=BigInt(32);er=(e,t,r)=>e<<r|t>>>32-r,tr=(e,t,r)=>t<<r|e>>>32-r,rr=(e,t,r)=>t<<r-32|e>>>64-r,or=(e,t,r)=>e<<r-32|t>>>64-r});function It(e){for(let t=0;t<e.length;t++)e[t]=so(e[t])}function co(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function Ge(e){return typeof e=="string"&&(e=co(e)),Ae(e),e}function ir(e){let t=n=>e().update(Ge(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function sr(e){let t=(n,a)=>e(a).update(Ge(n)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}var ar,wt,so,Je,cr=k(()=>{"use strict";bt();ar=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),wt=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,so=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;Je=class{clone(){return this._cloneInto()}}});function yo(e,t=24){let r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let f=0;f<10;f++)r[f]=e[f]^e[f+10]^e[f+20]^e[f+30]^e[f+40];for(let f=0;f<10;f+=2){let I=(f+8)%10,p=(f+2)%10,E=r[p],d=r[p+1],m=pr(E,d,1)^r[I],x=ur(E,d,1)^r[I+1];for(let s=0;s<50;s+=10)e[f+s]^=m,e[f+s+1]^=x}let a=e[2],u=e[3];for(let f=0;f<24;f++){let I=fr[f],p=pr(a,u,I),E=ur(a,u,I),d=lr[f];a=e[d],u=e[d+1],e[d]=p,e[d+1]=E}for(let f=0;f<50;f+=10){for(let I=0;I<10;I++)r[I]=e[f+I];for(let I=0;I<10;I++)e[f+I]^=~r[(I+2)%10]&r[(I+4)%10]}e[0]^=ho[n],e[1]^=xo[n]}r.fill(0)}var lr,fr,dr,po,Ce,uo,lo,fo,mo,ho,xo,pr,ur,Xe,ee,Yn,Zn,Qn,ea,ta,mr,ra,oa,hr,na,aa,xr=k(()=>{"use strict";bt();nr();cr();lr=[],fr=[],dr=[],po=BigInt(0),Ce=BigInt(1),uo=BigInt(2),lo=BigInt(7),fo=BigInt(256),mo=BigInt(113);for(let e=0,t=Ce,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],lr.push(2*(5*n+r)),fr.push((e+1)*(e+2)/2%64);let a=po;for(let u=0;u<7;u++)t=(t<<Ce^(t>>lo)*mo)%fo,t&uo&&(a^=Ce<<(Ce<<BigInt(u))-Ce);dr.push(a)}[ho,xo]=Qt(dr,!0),pr=(e,t,r)=>r>32?rr(e,t,r):er(e,t,r),ur=(e,t,r)=>r>32?or(e,t,r):tr(e,t,r);Xe=class e extends Je{constructor(t,r,n,a=!1,u=24){if(super(),this.blockLen=t,this.suffix=r,this.outputLen=n,this.enableXOF=a,this.rounds=u,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,yt(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=ar(this.state)}keccak(){wt||It(this.state32),yo(this.state32,this.rounds),wt||It(this.state32),this.posOut=0,this.pos=0}update(t){gt(this);let{blockLen:r,state:n}=this;t=Ge(t);let a=t.length;for(let u=0;u<a;){let f=Math.min(r-this.pos,a-u);for(let I=0;I<f;I++)n[this.pos++]^=t[u++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:n,blockLen:a}=this;t[n]^=r,r&128&&n===a-1&&this.keccak(),t[a-1]^=128,this.keccak()}writeInto(t){gt(this,!1),Ae(t),this.finish();let r=this.state,{blockLen:n}=this;for(let a=0,u=t.length;a<u;){this.posOut>=n&&this.keccak();let f=Math.min(n-this.posOut,u-a);t.set(r.subarray(this.posOut,this.posOut+f),a),this.posOut+=f,a+=f}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return yt(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Yt(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:r,suffix:n,outputLen:a,rounds:u,enableXOF:f}=this;return t||(t=new e(r,n,a,f,u)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=u,t.suffix=n,t.outputLen=a,t.enableXOF=f,t.destroyed=this.destroyed,t}},ee=(e,t,r)=>ir(()=>new Xe(t,e,r)),Yn=ee(6,144,224/8),Zn=ee(6,136,256/8),Qn=ee(6,104,384/8),ea=ee(6,72,512/8),ta=ee(1,144,224/8),mr=ee(1,136,256/8),ra=ee(1,104,384/8),oa=ee(1,72,512/8),hr=(e,t,r)=>sr((n={})=>new Xe(t,e,n.dkLen===void 0?r:n.dkLen,!0)),na=hr(31,168,128/8),aa=hr(31,136,256/8)});function Pe(e,t){let r=t||"hex",n=mr(Q(e,{strict:!1})?xt(e):e);return r==="bytes"?n:$(n)}var Tt=k(()=>{"use strict";xr();be();qe();Ee()});var ce,St=k(()=>{"use strict";ie();ce=class extends L{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}});var le,Ft=k(()=>{"use strict";le=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){let r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){let n=this.keys().next().value;n&&this.delete(n)}return this}}});function yr(e,t){if(Et.has(`${e}.${t}`))return Et.get(`${e}.${t}`);let r=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),n=Pe(We(r),"bytes"),a=(t?r.substring(`${t}0x`.length):r).split("");for(let f=0;f<40;f+=2)n[f>>1]>>4>=8&&a[f]&&(a[f]=a[f].toUpperCase()),(n[f>>1]&15)>=8&&a[f+1]&&(a[f+1]=a[f+1].toUpperCase());let u=`0x${a.join("")}`;return Et.set(`${e}.${t}`,u),u}var Et,gr=k(()=>{"use strict";qe();Tt();Ft();Et=new le(8192)});function Me(e,t){let{strict:r=!0}=t??{},n=`${e}.${r}`;if(vt.has(n))return vt.get(n);let a=go.test(e)?e.toLowerCase()===e?!0:r?yr(e)===e:!0:!1;return vt.set(n,a),a}var go,vt,At=k(()=>{"use strict";Ft();gr();go=/^0x[a-fA-F0-9]{40}$/,vt=new le(8192)});function te(e){return typeof e[0]=="string"?j(e):br(e)}function br(e){let t=0;for(let a of e)t+=a.length;let r=new Uint8Array(t),n=0;for(let a of e)r.set(a,n),n+=a.length;return r}function j(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}var Ct=k(()=>{"use strict"});function wr(e,t,r,{strict:n}={}){return Q(e,{strict:!1})?wo(e,t,r,{strict:n}):bo(e,t,r,{strict:n})}function Ir(e,t){if(typeof t=="number"&&t>0&&t>U(e)-1)throw new Ie({offset:t,position:"start",size:U(e)})}function Tr(e,t,r){if(typeof t=="number"&&typeof r=="number"&&U(e)!==r-t)throw new Ie({offset:r,position:"end",size:U(e)})}function bo(e,t,r,{strict:n}={}){Ir(e,t);let a=e.slice(t,r);return n&&Tr(a,t,r),a}function wo(e,t,r,{strict:n}={}){Ir(e,t);let a=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&Tr(a,t,r),a}var Sr=k(()=>{"use strict";mt();be();we()});var Fr,Er=k(()=>{"use strict";Fr=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/});function Pt(e,t){if(e.length!==t.length)throw new De({expectedLength:e.length,givenLength:t.length});let r=Io({params:e,values:t}),n=kt(r);return n.length===0?"0x":n}function Io({params:e,values:t}){let r=[];for(let n=0;n<e.length;n++)r.push(Mt({param:e[n],value:t[n]}));return r}function Mt({param:e,value:t}){let r=Po(e.type);if(r){let[n,a]=r;return So(t,{length:n,param:{...e,type:a}})}if(e.type==="tuple")return Co(t,{param:e});if(e.type==="address")return To(t);if(e.type==="bool")return Eo(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){let n=e.type.startsWith("int"),[,,a="256"]=Fr.exec(e.type)??[];return vo(t,{signed:n,size:Number(a)})}if(e.type.startsWith("bytes"))return Fo(t,{param:e});if(e.type==="string")return Ao(t);throw new $e(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function kt(e){let t=0;for(let u=0;u<e.length;u++){let{dynamic:f,encoded:I}=e[u];f?t+=32:t+=U(I)}let r=[],n=[],a=0;for(let u=0;u<e.length;u++){let{dynamic:f,encoded:I}=e[u];f?(r.push(K(t+a,{size:32})),n.push(I),a+=U(I)):r.push(I)}return te([...r,...n])}function To(e){if(!Me(e))throw new ce({address:e});return{dynamic:!1,encoded:q(e.toLowerCase())}}function So(e,{length:t,param:r}){let n=t===null;if(!Array.isArray(e))throw new Oe(e);if(!n&&e.length!==t)throw new ze({expectedLength:t,givenLength:e.length,type:`${r.type}[${t}]`});let a=!1,u=[];for(let f=0;f<e.length;f++){let I=Mt({param:r,value:e[f]});I.dynamic&&(a=!0),u.push(I)}if(n||a){let f=kt(u);if(n){let I=K(u.length,{size:32});return{dynamic:!0,encoded:u.length>0?te([I,f]):I}}if(a)return{dynamic:!0,encoded:f}}return{dynamic:!1,encoded:te(u.map(({encoded:f})=>f))}}function Fo(e,{param:t}){let[,r]=t.type.split("bytes"),n=U(e);if(!r){let a=e;return n%32!==0&&(a=q(a,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:te([q(K(n,{size:32})),a])}}if(n!==Number.parseInt(r))throw new Ue({expectedSize:Number.parseInt(r),value:e});return{dynamic:!1,encoded:q(e,{dir:"right"})}}function Eo(e){if(typeof e!="boolean")throw new L(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:q(je(e))}}function vo(e,{signed:t,size:r=256}){if(typeof r=="number"){let n=2n**(BigInt(r)-(t?1n:0n))-1n,a=t?-n-1n:0n;if(e>n||e<a)throw new ue({max:n.toString(),min:a.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:K(e,{size:32,signed:t})}}function Ao(e){let t=Ve(e),r=Math.ceil(U(t)/32),n=[];for(let a=0;a<r;a++)n.push(q(wr(t,a*32,(a+1)*32),{dir:"right"}));return{dynamic:!0,encoded:te([q(K(U(t),{size:32})),...n])}}function Co(e,{param:t}){let r=!1,n=[];for(let a=0;a<t.components.length;a++){let u=t.components[a],f=Array.isArray(e)?a:u.name,I=Mt({param:u,value:e[f]});n.push(I),I.dynamic&&(r=!0)}return{dynamic:r,encoded:r?kt(n):te(n.map(({encoded:a})=>a))}}function Po(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var vr=k(()=>{"use strict";qt();St();ie();Ne();At();Ct();Se();we();Sr();Ee();Er()});function Rt(e,t){if(!Me(e,{strict:!1}))throw new ce({address:e});if(!Me(t,{strict:!1}))throw new ce({address:t});return e.toLowerCase()===t.toLowerCase()}var Ar=k(()=>{"use strict";St();At()});var zo={};Zr(zo,{ClientNotFound:()=>de,Deferred:()=>W,FrakContextManager:()=>re,FrakRpcError:()=>B,PressInteractionEncoder:()=>jr,PurchaseInteractionEncoder:()=>Vr,ReferralInteractionEncoder:()=>rt,RpcErrorCodes:()=>H,WebShopInteractionEncoder:()=>Wr,baseIframeProps:()=>ae,compressJson:()=>he,createIFrameFrakClient:()=>ge,createIframe:()=>ye,decompressDataAndCheckHash:()=>ne,decompressJson:()=>xe,displayModal:()=>J,getProductInformation:()=>Dr,hashAndCompressData:()=>oe,interactionTypes:()=>V,modalBuilder:()=>Nr,openSso:()=>Ur,processReferral:()=>ot,productTypes:()=>O,productTypesMask:()=>Hr,referralInteraction:()=>qr,sendInteraction:()=>et,sendTransaction:()=>_r,setupClient:()=>Ht,siweAuthenticate:()=>Or,trackPurchaseStatus:()=>$r,watchWalletStatus:()=>Qe});var B=class extends Error{constructor(r,n,a){super(n);this.code=r;this.data=a}};var He=class extends B{constructor(t){super(H.internalError,t)}},de=class extends B{constructor(){super(H.clientNotConnected,"Client not found")}},H={parseError:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internalError:-32603,serverError:-32e3,clientNotConnected:-32001,configError:-32002,corruptedResponse:-32003,clientAborted:-32004,walletNotConnected:-32005,serverErrorForInteractionDelegation:-32006};var W=class{_promise;_resolve;_reject;constructor(){this._promise=new Promise((t,r)=>{this._resolve=t,this._reject=r})}get promise(){return this._promise}resolve=t=>{this._resolve?.(t)};reject=t=>{this._reject?.(t)}};var $t=Be(st(),1),pt=Be(ct(),1);async function oe(e){let t=(0,pt.sha256)(JSON.stringify(e)),r={...e,validationHash:t},n=await he(r),a=(0,pt.sha256)(n);return{compressed:n,compressedHash:a}}async function he(e){return(0,$t.compressToBase64)(JSON.stringify(e))}var Ot=Be(st(),1),ut=Be(ct(),1);async function ne(e){if(!(e?.compressed&&e?.compressedHash))throw new B(H.corruptedResponse,"Missing compressed data");let t=await xe(e.compressed);if(!t)throw new B(H.corruptedResponse,"Invalid compressed data");if(!t?.validationHash)throw new B(H.corruptedResponse,"Missing validation hash");if((0,ut.sha256)(e.compressed)!==e.compressedHash)throw new B(H.corruptedResponse,"Invalid compressed hash");let{validationHash:n,...a}=t;if((0,ut.sha256)(JSON.stringify(a))!==t.validationHash)throw new B(H.corruptedResponse,"Invalid data validation hash");return t}async function xe(e){let t=await(0,Ot.decompressFromBase64)(e);try{return JSON.parse(t)}catch(r){return console.error("Invalid compressed data",{e:r,decompressed:t}),null}}var pe="nexus-wallet-backup";function _t(){let e=new Map;return{createChannel:t=>{let r=Math.random().toString(36).substring(7);return e.set(r,t),r},getRpcResolver:t=>e.get(t),removeChannel:t=>e.delete(t),destroy:()=>e.clear()}}var ae={id:"nexus-wallet",name:"nexus-wallet",allow:"publickey-credentials-get *; clipboard-write; web-share *",style:{width:"0",height:"0",border:"0",position:"absolute",zIndex:1e3,top:"-1000px",left:"-1000px"}};function ye({walletBaseUrl:e,config:t}){let r=document.querySelector("#nexus-wallet");r&&r.remove();let n=document.createElement("iframe");return n.id=ae.id,n.name=ae.name,n.allow=ae.allow,n.style.zIndex=ae.style.zIndex.toString(),lt({iframe:n,isVisible:!1}),document.body.appendChild(n),new Promise(a=>{n?.addEventListener("load",()=>a(n)),n.src=`${t?.walletUrl??e??"https://wallet.frak.id"}/listener`})}function lt({iframe:e,isVisible:t}){if(!t){e.style.width="0",e.style.height="0",e.style.border="0",e.style.position="fixed",e.style.top="-1000px",e.style.left="-1000px";return}e.style.position="fixed",e.style.top="0",e.style.left="0",e.style.width="100%",e.style.height="100%",e.style.pointerEvents="auto"}function Nt({iframe:e}){let t=new W;return{handleEvent:async n=>{switch(n.iframeLifecycle){case"connected":t.resolve(!0);break;case"do-backup":n.data.backup?localStorage.setItem(pe,n.data.backup):localStorage.removeItem(pe);break;case"remove-backup":localStorage.removeItem(pe);break;case"show":case"hide":lt({iframe:e,isVisible:n.iframeLifecycle==="show"});break}},isConnected:t.promise}}function jt({frakWalletUrl:e,iframe:t,channelManager:r,iframeLifecycleManager:n}){if(typeof window>"u")throw new B(H.configError,"iframe client should be used in the browser");if(!t.contentWindow)throw new B(H.configError,"The iframe does not have a product window");let a=t.contentWindow,u=async p=>{if(!(p.origin&&URL.canParse(p.origin))||new URL(p.origin).origin.toLowerCase()!==new URL(e).origin.toLowerCase()||typeof p.data!="object")return;if("iframeLifecycle"in p.data){await n.handleEvent(p.data);return}if("clientLifecycle"in p.data){console.error("Client lifecycle event received on the client side, dismissing it");return}let E=p.data.id,d=r.getRpcResolver(E);d&&await d(p.data)};return window.addEventListener("message",u),{sendEvent:p=>{a.postMessage(p,{targetOrigin:e})},cleanup:()=>{window.removeEventListener("message",u)}}}function ge({config:e,iframe:t}){let r=_t(),n=Nt({iframe:t}),a=jt({frakWalletUrl:e?.walletUrl??"https://wallet.frak.id",iframe:t,channelManager:r,iframeLifecycleManager:n}),u=async d=>{if(!await n.isConnected)throw new B(H.clientNotConnected,"The iframe provider isn't connected yet");let x=new W,s=r.createChannel(async o=>{let i=await ne(o.data);i.error?x.reject(new B(i.error.code,i.error.message,i.error?.data)):x.resolve(i.result),r.removeChannel(s)}),g=await oe(d);return a.sendEvent({id:s,topic:d.method,data:g}),x.promise},f=async(d,m)=>{if(!await n.isConnected)throw new B(H.clientNotConnected,"The iframe provider isn't connected yet");let s=r.createChannel(async o=>{let i=await ne(o.data);if(i.result)m(i.result);else throw new He("No valid result in the response")}),g=await oe(d);a.sendEvent({id:s,topic:d.method,data:g})},I=eo(a,n),p=async()=>{I(),r.destroy(),a.cleanup(),t.remove()},E=to({config:e,messageHandler:a,lifecycleManager:n});return{config:e,waitForConnection:n.isConnected,waitForSetup:E,request:u,listenerRequest:f,destroy:p}}function eo(e,t){let a,u,f=()=>e.sendEvent({iframeLifecycle:"heartbeat"});async function I(){f(),a=setInterval(f,100),u=setTimeout(()=>{p(),console.log("Heartbeat timeout: connection failed")},3e4),await t.isConnected,p()}function p(){a&&clearInterval(a),u&&clearTimeout(u)}return I(),p}async function to({config:e,messageHandler:t,lifecycleManager:r}){await r.isConnected;let n=async()=>{let u=e.metadata.css;u&&t.sendEvent({clientLifecycle:"modal-css",data:{cssLink:u}})},a=async()=>{if(typeof window>"u")return;let u=window.localStorage.getItem(pe);u&&t.sendEvent({clientLifecycle:"restore-backup",data:{backup:u}})};await Promise.all([n(),a()])}var Ye=256,Ze;function Cr(e=11){if(!Ze||Ye+e>256*2){Ze="",Ye=0;for(let t=0;t<256;t++)Ze+=(256+Math.random()*256|0).toString(16).substring(1)}return Ze.substring(Ye,Ye+++e)}vr();qe();Ee();Ct();Ar();Tt();Se();var Bt="fCtx";function Mo(e){return btoa(Array.from(e,t=>String.fromCharCode(t)).join("")).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function ko(e){let t=e.length%4;return Uint8Array.from(atob(e.replace(/-/g,"+").replace(/_/g,"/").padEnd(e.length+(t===0?0:4-t),"=")),r=>r.charCodeAt(0))}function Pr(e){if(e?.r)try{let t=ve(e.r);return Mo(t)}catch(t){console.error("Error compressing Frak context",{e:t,context:e})}}function Mr(e){if(!(!e||e.length===0))try{let t=ko(e);return{r:Fe(t,{size:20})}}catch(t){console.error("Error decompressing Frak context",{e:t,context:e})}}function kr({url:e}){if(!e)return null;let r=new URL(e).searchParams.get(Bt);return r?Mr(r):null}function Rr({url:e,context:t}){if(!e)return null;let r=kr({url:e}),n=r?{...r,...t}:t;if(!n.r)return null;let a=Pr(n);if(!a)return null;let u=new URL(e);return u.searchParams.set(Bt,a),u.toString()}function Br(e){let t=new URL(e);return t.searchParams.delete(Bt),t.toString()}function Ro({url:e,context:t}){if(!window.location?.href||typeof window>"u"){console.error("No window found, can't update context");return}let r=e??window.location.href,n;t!==null?n=Rr({url:r,context:t}):n=Br(r),n&&window.history.replaceState(null,"",n.toString())}var re={compress:Pr,decompress:Mr,parse:kr,update:Rr,remove:Br,replaceUrl:Ro};async function Ht({config:e}){let t=await ye({config:e});if(!t){console.error("Failed to create iframe");return}let r=ge({config:e,iframe:t});if(await r.waitForSetup,!await r.waitForConnection){console.error("Failed to connect to client");return}return r}var O={dapp:1,press:2,webshop:3,referral:30,purchase:31},Hr=Object.entries(O).reduce((e,[t,r])=>(e[t]=BigInt(1)<<BigInt(r),e),{});var V={press:{openArticle:"0xc0a24ffb",readArticle:"0xd5bd0fbe"},dapp:{proofVerifiableStorageUpdate:"0x2ab2aeef",callableVerifiableStorageUpdate:"0xa07da986"},webshop:{open:"0xb311798f"},referral:{referred:"0x010cc3b9",createLink:"0xb2c0f17c"},purchase:{started:"0xd87e90c3",completed:"0x8403aeb4"}};function Qe(e,t){if(!t)return e.request({method:"frak_listenToWalletStatus"}).then(a=>(Lr(a.interactionToken),a));let r=new W,n=!1;return e.listenerRequest({method:"frak_listenToWalletStatus"},a=>{t(a),Lr(a.interactionToken),n||(r.resolve(a),n=!0)}).then(()=>r.promise)}function Lr(e){typeof window>"u"||(e?window.sessionStorage.setItem("frak-wallet-interaction-token",e):window.sessionStorage.removeItem("frak.interaction-token"))}function zr({domain:e}){let t=e??window.location.host;return Pe($(t))}async function et(e,{productId:t,interaction:r,validation:n}){let a=t??zr(e.config);return await e.request({method:"frak_sendInteraction",params:[a,r,n]})}async function J(e,{steps:t,metadata:r}){return await e.request({method:"frak_displayModal",params:[t,e.config.metadata.name,r]})}async function Ur(e,t){let{metadata:r}=e.config;await e.request({method:"frak_sso",params:[t,r.name,r.css]})}async function Dr(e){return await e.request({method:"frak_getProductInformation"})}async function $r(e){if(typeof window>"u"){console.warn("[Frak] No window found, can't track purchase");return}let t=window.sessionStorage.getItem("frak-wallet-interaction-token");if(!t){console.warn("[Frak] No frak session found, skipping purchase check");return}await fetch("https://backend.frak.id/interactions/listenForPurchase",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","x-wallet-sdk-auth":t},body:JSON.stringify(e)})}function Lt(){return Cr(96)}async function Or(e,{siwe:t,metadata:r}){let n=e.config?.domain??window.location.host,a=t?.statement??`I confirm that I want to use my Frak wallet on: ${e.config.metadata.name}`,u={...t,statement:a,nonce:t?.nonce??Lt(),uri:t?.uri??`https://${n}`,version:t?.version??"1",domain:n};return(await J(e,{metadata:r,steps:{login:{},siweAuthenticate:{siwe:u}}})).siweAuthenticate}async function _r(e,{tx:t,metadata:r}){return(await J(e,{metadata:r,steps:{login:{},sendTransaction:{tx:t}}})).sendTransaction}function Nr(e,{metadata:t,login:r,openSession:n}){return tt(e,{steps:{login:r??{},openSession:n??{}},metadata:t})}function tt(e,t){function r(f){return tt(e,{...t,steps:{...t.steps,sendTransaction:f}})}function n(f){return tt(e,{...t,steps:{...t.steps,final:{...f,action:{key:"reward"}}}})}function a(f,I){return tt(e,{...t,steps:{...t.steps,final:{...I,action:{key:"sharing",options:f}}}})}async function u(){return await J(e,t)}return{params:t,sendTx:r,reward:n,sharing:a,display:u}}var jr={openArticle({articleId:e}){let t=j([V.press.openArticle,D(e,{size:32})]);return{handlerTypeDenominator:$(O.press),interactionData:t}},readArticle({articleId:e}){let t=j([V.press.readArticle,D(e,{size:32})]);return{handlerTypeDenominator:$(O.press),interactionData:t}}};var rt={createLink(){let e=j([V.referral.createLink,"0x"]);return{handlerTypeDenominator:$(O.referral),interactionData:e}},referred({referrer:e}){let t=j([V.referral.referred,D(e,{size:32})]);return{handlerTypeDenominator:$(O.referral),interactionData:t}}};var Vr={startPurchase({purchaseId:e}){let t=j([V.purchase.started,D(e,{size:32})]);return{handlerTypeDenominator:$(O.purchase),interactionData:t}},completedPurchase({purchaseId:e,proof:t}){let r=Pt([{type:"uint256"},{type:"bytes32[]"}],[BigInt(e),t]),n=j([V.purchase.completed,r]);return{handlerTypeDenominator:$(O.purchase),interactionData:n}}};var Wr={open(){let e=j([V.webshop.open,"0x"]);return{handlerTypeDenominator:$(O.webshop),interactionData:e}}};async function ot(e,{walletStatus:t,frakContext:r,modalConfig:n,productId:a,options:u}){let f=!1;async function I(){if(!f)return f=!0,Ho(e,{modalConfig:n,walletStatus:t})}async function p(E){let d=rt.referred({referrer:E});await et(e,{productId:a,interaction:d})}try{let{status:E,currentWallet:d}=await Bo({initialWalletStatus:t,getFreshWalletStatus:I,pushReferralInteraction:p,frakContext:r});return re.replaceUrl({url:window.location?.href,context:u?.alwaysAppendUrl?{r:d}:null}),E}catch(E){return console.log("Error processing referral",{error:E}),re.replaceUrl({url:window.location?.href,context:u?.alwaysAppendUrl?{r:t?.wallet}:null}),Lo(E)}}async function Bo({initialWalletStatus:e,getFreshWalletStatus:t,pushReferralInteraction:r,frakContext:n}){let a=e?.wallet;return n?.r?(a||(a=await t()),a&&Rt(n.r,a)?{status:"self-referral",currentWallet:a}:(e?.interactionSession||(a=await t()),await r(n.r),{status:"success",currentWallet:a})):{status:"no-referrer",currentWallet:a}}async function Ho(e,{modalConfig:t,walletStatus:r}){return r?.interactionSession?r.wallet??void 0:t?(await J(e,t))?.login?.wallet??void 0:void 0}function Lo(e){if(e instanceof B)switch(e.code){case H.walletNotConnected:return"no-wallet";case H.serverErrorForInteractionDelegation:return"no-session";default:return"error"}return"error"}async function qr(e,{productId:t,modalConfig:r,options:n}={}){let a=re.parse({url:window.location.href}),u=await Qe(e);try{return await ot(e,{walletStatus:u,frakContext:a,modalConfig:r,productId:t,options:n})}catch(f){console.warn("Error processing referral",{error:f})}}return Qr(zo);})();
|
|
7
|
+
/*! Bundled license information:
|
|
8
|
+
|
|
9
|
+
js-sha256/src/sha256.js:
|
|
10
|
+
(**
|
|
11
|
+
* [js-sha256]{@link https://github.com/emn178/js-sha256}
|
|
12
|
+
*
|
|
13
|
+
* @version 0.11.0
|
|
14
|
+
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
15
|
+
* @copyright Chen, Yi-Cyuan 2014-2024
|
|
16
|
+
* @license MIT
|
|
17
|
+
*)
|
|
18
|
+
|
|
19
|
+
@noble/hashes/esm/utils.js:
|
|
20
|
+
(*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
21
|
+
*/
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkNJJQPEELcjs = require('../chunk-NJJQPEEL.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunkRAPLRHQ4cjs = require('../chunk-RAPLRHQ4.cjs');
|
|
10
|
+
require('../chunk-PR3T7O5I.cjs');
|
|
11
|
+
|
|
12
|
+
// src/actions/watchWalletStatus.ts
|
|
13
|
+
function watchWalletStatus(client, callback) {
|
|
14
|
+
if (!callback) {
|
|
15
|
+
return client.request({ method: "frak_listenToWalletStatus" }).then((result) => {
|
|
16
|
+
savePotentialToken(result.interactionToken);
|
|
17
|
+
return result;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
const firstResult = new (0, _chunkNJJQPEELcjs.Deferred)();
|
|
21
|
+
let hasResolved = false;
|
|
22
|
+
return client.listenerRequest(
|
|
23
|
+
{
|
|
24
|
+
method: "frak_listenToWalletStatus"
|
|
25
|
+
},
|
|
26
|
+
(status) => {
|
|
27
|
+
callback(status);
|
|
28
|
+
savePotentialToken(status.interactionToken);
|
|
29
|
+
if (!hasResolved) {
|
|
30
|
+
firstResult.resolve(status);
|
|
31
|
+
hasResolved = true;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
).then(() => firstResult.promise);
|
|
35
|
+
}
|
|
36
|
+
function savePotentialToken(interactionToken) {
|
|
37
|
+
if (typeof window === "undefined") {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (interactionToken) {
|
|
41
|
+
window.sessionStorage.setItem(
|
|
42
|
+
"frak-wallet-interaction-token",
|
|
43
|
+
interactionToken
|
|
44
|
+
);
|
|
45
|
+
} else {
|
|
46
|
+
window.sessionStorage.removeItem("frak.interaction-token");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// src/utils/computeProductId.ts
|
|
51
|
+
var _viem = require('viem');
|
|
52
|
+
function computeProductId({ domain }) {
|
|
53
|
+
const effectiveDomain = _nullishCoalesce(domain, () => ( window.location.host));
|
|
54
|
+
return _viem.keccak256.call(void 0, _viem.toHex.call(void 0, effectiveDomain));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// src/actions/sendInteraction.ts
|
|
58
|
+
async function sendInteraction(client, { productId, interaction, validation }) {
|
|
59
|
+
const pId = _nullishCoalesce(productId, () => ( computeProductId(client.config)));
|
|
60
|
+
return await client.request({
|
|
61
|
+
method: "frak_sendInteraction",
|
|
62
|
+
params: [pId, interaction, validation]
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// src/actions/displayModal.ts
|
|
67
|
+
async function displayModal(client, { steps, metadata }) {
|
|
68
|
+
return await client.request({
|
|
69
|
+
method: "frak_displayModal",
|
|
70
|
+
params: [steps, client.config.metadata.name, metadata]
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// src/actions/openSso.ts
|
|
75
|
+
async function openSso(client, args) {
|
|
76
|
+
const { metadata } = client.config;
|
|
77
|
+
await client.request({
|
|
78
|
+
method: "frak_sso",
|
|
79
|
+
params: [args, metadata.name, metadata.css]
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// src/actions/getProductInformation.ts
|
|
84
|
+
async function getProductInformation(client) {
|
|
85
|
+
return await client.request({
|
|
86
|
+
method: "frak_getProductInformation"
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// src/actions/trackPurchaseStatus.ts
|
|
91
|
+
async function trackPurchaseStatus(args) {
|
|
92
|
+
if (typeof window === "undefined") {
|
|
93
|
+
console.warn("[Frak] No window found, can't track purchase");
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const interactionToken = window.sessionStorage.getItem(
|
|
97
|
+
"frak-wallet-interaction-token"
|
|
98
|
+
);
|
|
99
|
+
if (!interactionToken) {
|
|
100
|
+
console.warn("[Frak] No frak session found, skipping purchase check");
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
await fetch("https://backend.frak.id/interactions/listenForPurchase", {
|
|
104
|
+
method: "POST",
|
|
105
|
+
headers: {
|
|
106
|
+
Accept: "application/json",
|
|
107
|
+
"Content-Type": "application/json",
|
|
108
|
+
"x-wallet-sdk-auth": interactionToken
|
|
109
|
+
},
|
|
110
|
+
body: JSON.stringify(args)
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// src/actions/wrapper/siweAuthenticate.ts
|
|
115
|
+
var _siwe = require('viem/siwe');
|
|
116
|
+
async function siweAuthenticate(client, { siwe, metadata }) {
|
|
117
|
+
const effectiveDomain = _nullishCoalesce(_optionalChain([client, 'access', _ => _.config, 'optionalAccess', _2 => _2.domain]), () => ( window.location.host));
|
|
118
|
+
const realStatement = _nullishCoalesce(_optionalChain([siwe, 'optionalAccess', _3 => _3.statement]), () => ( `I confirm that I want to use my Frak wallet on: ${client.config.metadata.name}`));
|
|
119
|
+
const builtSiwe = {
|
|
120
|
+
...siwe,
|
|
121
|
+
statement: realStatement,
|
|
122
|
+
nonce: _nullishCoalesce(_optionalChain([siwe, 'optionalAccess', _4 => _4.nonce]), () => ( _siwe.generateSiweNonce.call(void 0, ))),
|
|
123
|
+
uri: _nullishCoalesce(_optionalChain([siwe, 'optionalAccess', _5 => _5.uri]), () => ( `https://${effectiveDomain}`)),
|
|
124
|
+
version: _nullishCoalesce(_optionalChain([siwe, 'optionalAccess', _6 => _6.version]), () => ( "1")),
|
|
125
|
+
domain: effectiveDomain
|
|
126
|
+
};
|
|
127
|
+
const result = await displayModal(client, {
|
|
128
|
+
metadata,
|
|
129
|
+
steps: {
|
|
130
|
+
login: {},
|
|
131
|
+
siweAuthenticate: {
|
|
132
|
+
siwe: builtSiwe
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
return result.siweAuthenticate;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// src/actions/wrapper/sendTransaction.ts
|
|
140
|
+
async function sendTransaction(client, { tx, metadata }) {
|
|
141
|
+
const result = await displayModal(client, {
|
|
142
|
+
metadata,
|
|
143
|
+
steps: {
|
|
144
|
+
login: {},
|
|
145
|
+
sendTransaction: { tx }
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
return result.sendTransaction;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// src/actions/wrapper/modalBuilder.ts
|
|
152
|
+
function modalBuilder(client, {
|
|
153
|
+
metadata,
|
|
154
|
+
login,
|
|
155
|
+
openSession
|
|
156
|
+
}) {
|
|
157
|
+
const baseParams = {
|
|
158
|
+
steps: {
|
|
159
|
+
login: _nullishCoalesce(login, () => ( {})),
|
|
160
|
+
openSession: _nullishCoalesce(openSession, () => ( {}))
|
|
161
|
+
},
|
|
162
|
+
metadata
|
|
163
|
+
};
|
|
164
|
+
return modalStepsBuilder(client, baseParams);
|
|
165
|
+
}
|
|
166
|
+
function modalStepsBuilder(client, params) {
|
|
167
|
+
function sendTx(options) {
|
|
168
|
+
return modalStepsBuilder(client, {
|
|
169
|
+
...params,
|
|
170
|
+
steps: {
|
|
171
|
+
...params.steps,
|
|
172
|
+
sendTransaction: options
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
function reward(options) {
|
|
177
|
+
return modalStepsBuilder(
|
|
178
|
+
client,
|
|
179
|
+
{
|
|
180
|
+
...params,
|
|
181
|
+
steps: {
|
|
182
|
+
...params.steps,
|
|
183
|
+
final: {
|
|
184
|
+
...options,
|
|
185
|
+
action: { key: "reward" }
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
function sharing(sharingOptions, options) {
|
|
192
|
+
return modalStepsBuilder(
|
|
193
|
+
client,
|
|
194
|
+
{
|
|
195
|
+
...params,
|
|
196
|
+
steps: {
|
|
197
|
+
...params.steps,
|
|
198
|
+
final: {
|
|
199
|
+
...options,
|
|
200
|
+
action: { key: "sharing", options: sharingOptions }
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
);
|
|
205
|
+
}
|
|
206
|
+
async function display() {
|
|
207
|
+
return await displayModal(client, params);
|
|
208
|
+
}
|
|
209
|
+
return {
|
|
210
|
+
// Access current modal params
|
|
211
|
+
params,
|
|
212
|
+
// Function to add new steps
|
|
213
|
+
sendTx,
|
|
214
|
+
reward,
|
|
215
|
+
sharing,
|
|
216
|
+
// Display the modal
|
|
217
|
+
display
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// src/actions/referral/processReferral.ts
|
|
222
|
+
|
|
223
|
+
async function processReferral(client, {
|
|
224
|
+
walletStatus,
|
|
225
|
+
frakContext,
|
|
226
|
+
modalConfig,
|
|
227
|
+
productId,
|
|
228
|
+
options
|
|
229
|
+
}) {
|
|
230
|
+
let walletRequest = false;
|
|
231
|
+
async function getFreshWalletStatus() {
|
|
232
|
+
if (walletRequest) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
walletRequest = true;
|
|
236
|
+
return ensureWalletConnected(client, {
|
|
237
|
+
modalConfig,
|
|
238
|
+
walletStatus
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
async function pushReferralInteraction(referrer) {
|
|
242
|
+
const interaction = _chunkRAPLRHQ4cjs.ReferralInteractionEncoder.referred({
|
|
243
|
+
referrer
|
|
244
|
+
});
|
|
245
|
+
await sendInteraction(client, { productId, interaction });
|
|
246
|
+
}
|
|
247
|
+
try {
|
|
248
|
+
const { status, currentWallet } = await processReferralLogic({
|
|
249
|
+
initialWalletStatus: walletStatus,
|
|
250
|
+
getFreshWalletStatus,
|
|
251
|
+
pushReferralInteraction,
|
|
252
|
+
frakContext
|
|
253
|
+
});
|
|
254
|
+
_chunkNJJQPEELcjs.FrakContextManager.replaceUrl({
|
|
255
|
+
url: _optionalChain([window, 'access', _7 => _7.location, 'optionalAccess', _8 => _8.href]),
|
|
256
|
+
context: _optionalChain([options, 'optionalAccess', _9 => _9.alwaysAppendUrl]) ? { r: currentWallet } : null
|
|
257
|
+
});
|
|
258
|
+
return status;
|
|
259
|
+
} catch (error) {
|
|
260
|
+
console.log("Error processing referral", { error });
|
|
261
|
+
_chunkNJJQPEELcjs.FrakContextManager.replaceUrl({
|
|
262
|
+
url: _optionalChain([window, 'access', _10 => _10.location, 'optionalAccess', _11 => _11.href]),
|
|
263
|
+
context: _optionalChain([options, 'optionalAccess', _12 => _12.alwaysAppendUrl]) ? { r: _optionalChain([walletStatus, 'optionalAccess', _13 => _13.wallet]) } : null
|
|
264
|
+
});
|
|
265
|
+
return mapErrorToState(error);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
async function processReferralLogic({
|
|
269
|
+
initialWalletStatus,
|
|
270
|
+
getFreshWalletStatus,
|
|
271
|
+
pushReferralInteraction,
|
|
272
|
+
frakContext
|
|
273
|
+
}) {
|
|
274
|
+
let currentWallet = _optionalChain([initialWalletStatus, 'optionalAccess', _14 => _14.wallet]);
|
|
275
|
+
if (!_optionalChain([frakContext, 'optionalAccess', _15 => _15.r])) {
|
|
276
|
+
return { status: "no-referrer", currentWallet };
|
|
277
|
+
}
|
|
278
|
+
if (!currentWallet) {
|
|
279
|
+
currentWallet = await getFreshWalletStatus();
|
|
280
|
+
}
|
|
281
|
+
if (currentWallet && _viem.isAddressEqual.call(void 0, frakContext.r, currentWallet)) {
|
|
282
|
+
return { status: "self-referral", currentWallet };
|
|
283
|
+
}
|
|
284
|
+
if (!_optionalChain([initialWalletStatus, 'optionalAccess', _16 => _16.interactionSession])) {
|
|
285
|
+
currentWallet = await getFreshWalletStatus();
|
|
286
|
+
}
|
|
287
|
+
await pushReferralInteraction(frakContext.r);
|
|
288
|
+
return { status: "success", currentWallet };
|
|
289
|
+
}
|
|
290
|
+
async function ensureWalletConnected(client, {
|
|
291
|
+
modalConfig,
|
|
292
|
+
walletStatus
|
|
293
|
+
}) {
|
|
294
|
+
if (!_optionalChain([walletStatus, 'optionalAccess', _17 => _17.interactionSession])) {
|
|
295
|
+
if (!modalConfig) {
|
|
296
|
+
return void 0;
|
|
297
|
+
}
|
|
298
|
+
const result = await displayModal(client, modalConfig);
|
|
299
|
+
return _nullishCoalesce(_optionalChain([result, 'optionalAccess', _18 => _18.login, 'optionalAccess', _19 => _19.wallet]), () => ( void 0));
|
|
300
|
+
}
|
|
301
|
+
return _nullishCoalesce(walletStatus.wallet, () => ( void 0));
|
|
302
|
+
}
|
|
303
|
+
function mapErrorToState(error) {
|
|
304
|
+
if (error instanceof _chunkNJJQPEELcjs.FrakRpcError) {
|
|
305
|
+
switch (error.code) {
|
|
306
|
+
case _chunkNJJQPEELcjs.RpcErrorCodes.walletNotConnected:
|
|
307
|
+
return "no-wallet";
|
|
308
|
+
case _chunkNJJQPEELcjs.RpcErrorCodes.serverErrorForInteractionDelegation:
|
|
309
|
+
return "no-session";
|
|
310
|
+
default:
|
|
311
|
+
return "error";
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
return "error";
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
// src/actions/referral/referralInteraction.ts
|
|
318
|
+
async function referralInteraction(client, {
|
|
319
|
+
productId,
|
|
320
|
+
modalConfig,
|
|
321
|
+
options
|
|
322
|
+
} = {}) {
|
|
323
|
+
const frakContext = _chunkNJJQPEELcjs.FrakContextManager.parse({
|
|
324
|
+
url: window.location.href
|
|
325
|
+
});
|
|
326
|
+
const currentWalletStatus = await watchWalletStatus(client);
|
|
327
|
+
try {
|
|
328
|
+
return await processReferral(client, {
|
|
329
|
+
walletStatus: currentWalletStatus,
|
|
330
|
+
frakContext,
|
|
331
|
+
modalConfig,
|
|
332
|
+
productId,
|
|
333
|
+
options
|
|
334
|
+
});
|
|
335
|
+
} catch (error) {
|
|
336
|
+
console.warn("Error processing referral", { error });
|
|
337
|
+
}
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
exports.displayModal = displayModal; exports.getProductInformation = getProductInformation; exports.modalBuilder = modalBuilder; exports.openSso = openSso; exports.processReferral = processReferral; exports.referralInteraction = referralInteraction; exports.sendInteraction = sendInteraction; exports.sendTransaction = sendTransaction; exports.siweAuthenticate = siweAuthenticate; exports.trackPurchaseStatus = trackPurchaseStatus; exports.watchWalletStatus = watchWalletStatus;
|