graz 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  'use strict';
3
3
 
4
- var R = require('fs/promises');
5
- var K = require('path');
4
+ var C = require('fs/promises');
5
+ var W = require('path');
6
6
  var cosmos = require('@keplr-wallet/cosmos');
7
7
  var cosmosDirectoryClient = require('cosmos-directory-client');
8
8
 
@@ -24,10 +24,10 @@ function _interopNamespace(e) {
24
24
  return Object.freeze(n);
25
25
  }
26
26
 
27
- var R__namespace = /*#__PURE__*/_interopNamespace(R);
28
- var K__namespace = /*#__PURE__*/_interopNamespace(K);
27
+ var C__namespace = /*#__PURE__*/_interopNamespace(C);
28
+ var W__namespace = /*#__PURE__*/_interopNamespace(W);
29
29
 
30
- var X=Object.create;var L=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var te=(e,t)=>()=>(e&&(t=e(e=0)),t);var ne=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var oe=(e,t,r,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of W(t))!ee.call(e,o)&&o!==r&&L(e,o,{get:()=>t[o],enumerable:!(p=J(t,o))||p.enumerable});return e};var re=(e,t,r)=>(r=e!=null?X(Z(e)):{},oe(t||!e||!e.__esModule?L(r,"default",{value:e,enumerable:!0}):r,e));var g=(e,t,r)=>new Promise((p,o)=>{var m=s=>{try{n(r.next(s));}catch(a){o(a);}},h=s=>{try{n(r.throw(s));}catch(a){o(a);}},n=s=>s.done?p(s.value):Promise.resolve(s.value).then(m,h);n((r=r.apply(e,t)).next());});var I=te(()=>{});var Y=ne((me,z)=>{I();var $=Symbol("arg flag"),d=class e extends Error{constructor(t,r){super(t),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,e.prototype);}};function C(e,{argv:t=process.argv.slice(2),permissive:r=!1,stopAtPositional:p=!1}={}){if(!e)throw new d("argument specification object is required","ARG_CONFIG_NO_SPEC");let o={_:[]},m={},h={};for(let n of Object.keys(e)){if(!n)throw new d("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(n[0]!=="-")throw new d(`argument key must start with '-' but found: '${n}'`,"ARG_CONFIG_NONOPT_KEY");if(n.length===1)throw new d(`argument key must have a name; singular '-' keys are not allowed: ${n}`,"ARG_CONFIG_NONAME_KEY");if(typeof e[n]=="string"){m[n]=e[n];continue}let s=e[n],a=!1;if(Array.isArray(s)&&s.length===1&&typeof s[0]=="function"){let[f]=s;s=(u,l,c=[])=>(c.push(f(u,l,c[c.length-1])),c),a=f===Boolean||f[$]===!0;}else if(typeof s=="function")a=s===Boolean||s[$]===!0;else throw new d(`type missing or not a function or valid array type: ${n}`,"ARG_CONFIG_VAD_TYPE");if(n[1]!=="-"&&n.length>2)throw new d(`short argument keys (with a single hyphen) must have only one character: ${n}`,"ARG_CONFIG_SHORTOPT_TOOLONG");h[n]=[s,a];}for(let n=0,s=t.length;n<s;n++){let a=t[n];if(p&&o._.length>0){o._=o._.concat(t.slice(n));break}if(a==="--"){o._=o._.concat(t.slice(n+1));break}if(a.length>1&&a[0]==="-"){let f=a[1]==="-"||a.length===2?[a]:a.slice(1).split("").map(u=>`-${u}`);for(let u=0;u<f.length;u++){let l=f[u],[c,_]=l[1]==="-"?l.split(/=(.*)/,2):[l,void 0],i=c;for(;i in m;)i=m[i];if(!(i in h))if(r){o._.push(l);continue}else throw new d(`unknown or unexpected option: ${c}`,"ARG_UNKNOWN_OPTION");let[y,O]=h[i];if(!O&&u+1<f.length)throw new d(`option requires argument (but was followed by another short argument): ${c}`,"ARG_MISSING_REQUIRED_SHORTARG");if(O)o[i]=y(!0,i,o[i]);else if(_===void 0){if(t.length<n+2||t[n+1].length>1&&t[n+1][0]==="-"&&!(t[n+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(y===Number||typeof BigInt!="undefined"&&y===BigInt))){let N=c===i?"":` (alias for ${i})`;throw new d(`option requires argument: ${c}${N}`,"ARG_MISSING_REQUIRED_LONGARG")}o[i]=y(t[n+1],i,o[i]),++n;}else o[i]=y(_,i,o[i]);}}else o._.push(a);}return o}C.flag=e=>(e[$]=!0,e);C.COUNT=C.flag((e,t,r)=>(r||0)+1);C.ArgError=d;z.exports=C;});I();var V=re(Y(),1);I();var M=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t;}},H=e=>globalThis.DOMException===void 0?new M(e):new DOMException(e),B=e=>{let t=e.reason===void 0?H("This operation was aborted."):e.reason;return t instanceof Error?t:H(t)};function D(m,h){return g(this,arguments,function*(e,t,{concurrency:r=Number.POSITIVE_INFINITY,stopOnError:p=!0,signal:o}={}){return new Promise((n,s)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(r)||r===Number.POSITIVE_INFINITY)&&r>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${r}\` (${typeof r})`);let a=[],f=[],u=new Map,l=!1,c=!1,_=!1,i=0,y=0,O=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),N=A=>{l=!0,c=!0,s(A);};o&&(o.aborted&&N(B(o)),o.addEventListener("abort",()=>{N(B(o));}));let k=()=>g(this,null,function*(){if(c)return;let A=yield O.next(),T=y;if(y++,A.done){if(_=!0,i===0&&!c){if(!p&&f.length>0){N(new AggregateError(f));return}if(c=!0,u.size===0){n(a);return}let b=[];for(let[w,Q]of a.entries())u.get(w)!==U&&b.push(Q);n(b);}return}i++,g(this,null,function*(){try{let b=yield A.value;if(c)return;let w=yield t(b,T);w===U&&u.set(T,w),a[T]=w,i--,yield k();}catch(b){if(p)N(b);else {f.push(b),i--;try{yield k();}catch(w){N(w);}}}});});g(this,null,function*(){for(let A=0;A<r;A++){try{yield k();}catch(T){N(T);break}if(_||l)break}});})})}var U=Symbol("skip");var ce=e=>/^\d+$/.test(e),j=e=>ce(e[0])?`_${e}`:e,v=`Usage: graz [options]
30
+ var ee=Object.create;var v=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var ne=Object.getOwnPropertyNames;var oe=Object.getPrototypeOf,re=Object.prototype.hasOwnProperty;var se=(e,n)=>()=>(e&&(n=e(e=0)),n);var ie=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var ae=(e,n,r,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of ne(n))!re.call(e,o)&&o!==r&&v(e,o,{get:()=>n[o],enumerable:!(u=te(n,o))||u.enumerable});return e};var ce=(e,n,r)=>(r=e!=null?ee(oe(e)):{},ae(n||!e||!e.__esModule?v(r,"default",{value:e,enumerable:!0}):r,e));var A=(e,n,r)=>new Promise((u,o)=>{var f=s=>{try{t(r.next(s));}catch(a){o(a);}},N=s=>{try{t(r.throw(s));}catch(a){o(a);}},t=s=>s.done?u(s.value):Promise.resolve(s.value).then(f,N);t((r=r.apply(e,n)).next());});var T=se(()=>{});var q=ie((_e,U)=>{T();var k=Symbol("arg flag"),h=class e extends Error{constructor(n,r){super(n),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,e.prototype);}};function P(e,{argv:n=process.argv.slice(2),permissive:r=!1,stopAtPositional:u=!1}={}){if(!e)throw new h("argument specification object is required","ARG_CONFIG_NO_SPEC");let o={_:[]},f={},N={};for(let t of Object.keys(e)){if(!t)throw new h("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(t[0]!=="-")throw new h(`argument key must start with '-' but found: '${t}'`,"ARG_CONFIG_NONOPT_KEY");if(t.length===1)throw new h(`argument key must have a name; singular '-' keys are not allowed: ${t}`,"ARG_CONFIG_NONAME_KEY");if(typeof e[t]=="string"){f[t]=e[t];continue}let s=e[t],a=!1;if(Array.isArray(s)&&s.length===1&&typeof s[0]=="function"){let[d]=s;s=(m,p,i=[])=>(i.push(d(m,p,i[i.length-1])),i),a=d===Boolean||d[k]===!0;}else if(typeof s=="function")a=s===Boolean||s[k]===!0;else throw new h(`type missing or not a function or valid array type: ${t}`,"ARG_CONFIG_VAD_TYPE");if(t[1]!=="-"&&t.length>2)throw new h(`short argument keys (with a single hyphen) must have only one character: ${t}`,"ARG_CONFIG_SHORTOPT_TOOLONG");N[t]=[s,a];}for(let t=0,s=n.length;t<s;t++){let a=n[t];if(u&&o._.length>0){o._=o._.concat(n.slice(t));break}if(a==="--"){o._=o._.concat(n.slice(t+1));break}if(a.length>1&&a[0]==="-"){let d=a[1]==="-"||a.length===2?[a]:a.slice(1).split("").map(m=>`-${m}`);for(let m=0;m<d.length;m++){let p=d[m],[i,g]=p[1]==="-"?p.split(/=(.*)/,2):[p,void 0],c=i;for(;c in f;)c=f[c];if(!(c in N))if(r){o._.push(p);continue}else throw new h(`unknown or unexpected option: ${i}`,"ARG_UNKNOWN_OPTION");let[_,l]=N[c];if(!l&&m+1<d.length)throw new h(`option requires argument (but was followed by another short argument): ${i}`,"ARG_MISSING_REQUIRED_SHORTARG");if(l)o[c]=_(!0,c,o[c]);else if(g===void 0){if(n.length<t+2||n[t+1].length>1&&n[t+1][0]==="-"&&!(n[t+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(_===Number||typeof BigInt!="undefined"&&_===BigInt))){let E=i===c?"":` (alias for ${c})`;throw new h(`option requires argument: ${i}${E}`,"ARG_MISSING_REQUIRED_LONGARG")}o[c]=_(n[t+1],c,o[c]),++t;}else o[c]=_(g,c,o[c]);}}else o._.push(a);}return o}P.flag=e=>(e[k]=!0,e);P.COUNT=P.flag((e,n,r)=>(r||0)+1);P.ArgError=h;U.exports=P;});T();var Z=ce(q(),1);T();var L=class extends Error{constructor(n){super(),this.name="AbortError",this.message=n;}},K=e=>globalThis.DOMException===void 0?new L(e):new DOMException(e),V=e=>{let n=e.reason===void 0?K("This operation was aborted."):e.reason;return n instanceof Error?n:K(n)};function F(f,N){return A(this,arguments,function*(e,n,{concurrency:r=Number.POSITIVE_INFINITY,stopOnError:u=!0,signal:o}={}){return new Promise((t,s)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof n!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(r)||r===Number.POSITIVE_INFINITY)&&r>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${r}\` (${typeof r})`);let a=[],d=[],m=new Map,p=!1,i=!1,g=!1,c=0,_=0,l=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),E=b=>{p=!0,i=!0,s(b);};o&&(o.aborted&&E(V(o)),o.addEventListener("abort",()=>{E(V(o));}));let x=()=>A(this,null,function*(){if(i)return;let b=yield l.next(),R=_;if(_++,b.done){if(g=!0,c===0&&!i){if(!u&&d.length>0){E(new AggregateError(d));return}if(i=!0,m.size===0){t(a);return}let y=[];for(let[w,$]of a.entries())m.get(w)!==Q&&y.push($);t(y);}return}c++,A(this,null,function*(){try{let y=yield b.value;if(i)return;let w=yield n(y,R);w===Q&&m.set(R,w),a[R]=w,c--,yield x();}catch(y){if(u)E(y);else {d.push(y),c--;try{yield x();}catch(w){E(w);}}}});});A(this,null,function*(){for(let b=0;b<r;b++){try{yield x();}catch(R){E(R);break}if(g||p)break}});})})}var Q=Symbol("skip");var ue=e=>/^\d+$/.test(e),D=e=>ue(e[0])?`_${e}`:e,X=`Usage: graz [options]
31
31
 
32
32
  Options:
33
33
 
@@ -41,7 +41,7 @@ Generate options:
41
41
  --authz Generate only authz compatible chains
42
42
 
43
43
  https://github.com/graz-sh/graz
44
- `,E=(0, V.default)({"--generate":Boolean,"-g":"--generate","--authz":Boolean,"--best":Boolean,"--mainnet":String,"--testnet":String,"-b":"--best","-M":"--mainnet","-T":"--testnet","--help":Boolean,"-h":"--help"}),le=()=>g(void 0,null,function*(){if(E["--help"]){console.log(v);return}if(E["--generate"]){yield ue();return}console.log(v);}),ue=()=>g(void 0,null,function*(){console.log("\u23F3 Generating chain list from cosmos.directory..."),E["--authz"]&&console.log("\u270D\uFE0F Detected authz flag, generating only compatible chains..."),E["--best"]&&console.log("\u{1F481}\u200D\u2642\uFE0F Detected best flag, setting REST and RPC endpoints to best latency..."),(E["--mainnet"]||E["--testnet"])&&console.log("\u{1F419} Detected chain filtering flag, generating only given chain paths...");let[e,t]=yield Promise.all([q(cosmosDirectoryClient.createClient(),{filter:E["--mainnet"]}),q(cosmosDirectoryClient.createTestnetClient(),{filter:E["--testnet"]})]),[r,p]=yield Promise.all([R__namespace.readFile(x("index.js.stub"),{encoding:"utf-8"}),R__namespace.readFile(x("index.mjs.stub"),{encoding:"utf-8"})]),o=r.replace("/* REPLACE_MAINNET_DEFS */",G(e)).replace("/* REPLACE_TESTNET_DEFS */",G(t,{testnet:!0})).replace("/* REPLACE_MAINNET_CHAINS */",P(e)).replace("/* REPLACE_TESTNET_CHAINS */",P(t,{testnet:!0})).replace("/* REPLACE_MAINNET_CHAINS_ARRAY */",S(e)).replace("/* REPLACE_TESTNET_CHAINS_ARRAY */",S(t,{testnet:!0})).replace("/* REPLACE_MAINNET_EXPORTS */",S(e)).replace("/* REPLACE_TESTNET_EXPORTS */",S(t,{testnet:!0})).replace(/"(.+)":/g,"$1:").trim(),m=p.replace("/* REPLACE_MAINNET_DEFS */",G(e,{mjs:!0})).replace("/* REPLACE_TESTNET_DEFS */",G(t,{mjs:!0,testnet:!0})).replace("/* REPLACE_MAINNET_CHAINS */",P(e)).replace("/* REPLACE_TESTNET_CHAINS */",P(t,{testnet:!0})).replace("/* REPLACE_MAINNET_CHAINS_ARRAY */",S(e)).replace("/* REPLACE_TESTNET_CHAINS_ARRAY */",S(t,{testnet:!0})).replace(/"(.+)":/g,"$1:").trim();yield Promise.all([R__namespace.writeFile(x("index.js"),o,{encoding:"utf-8"}),R__namespace.writeFile(x("index.mjs"),m.replace('"../dist"','"../dist/index.mjs"'),{encoding:"utf-8"}),R__namespace.writeFile(x("index.ts"),m,{encoding:"utf-8"})]),console.log('\u2728 Generate complete! You can import `mainnetChains` and `testnetChains` from "graz/chains".\n');}),x=(...e)=>K__namespace.resolve(__dirname,"../chains",...e),P=(e,{testnet:t=!1}={})=>Object.keys(e).map(r=>` ${j(r)}: ${j(r)},`).join(`
45
- `),G=(e,{mjs:t=!1,testnet:r=!1}={})=>Object.entries(e).map(([p,o])=>{let m=`${j(p)}`,h=JSON.stringify(o,null,2);return `${t?"export ":""}const ${m} = defineChainInfo(${h});
46
- `}).join(""),S=(e,{testnet:t=!1}={})=>Object.keys(e).map(r=>` ${j(r)},`).join(`
47
- `),q=(r,...p)=>g(void 0,[r,...p],function*(e,{filter:t=""}={}){let o=t?t.split(",").map(n=>({path:n})):yield e.fetchChains().then(n=>n.chains.map(({path:s})=>({path:s}))),m=yield D(o,n=>g(void 0,null,function*(){return e.fetchChain(n.path).then(s=>s.chain)}),{concurrency:4}),h={};return m.forEach(n=>{var s,a,f,u;try{if(E["--authz"]&&!((s=n.params)!=null&&s.authz))return;let l=E["--best"]?n.best_apis:n.apis;if(!l||!((a=l.rest)!=null&&a[0])||!((f=l.rpc)!=null&&f[0]))throw new Error(`\u26A0\uFE0F ${n.name} has no REST/RPC endpoints, skipping codegen...`);if(!n.assets)throw new Error(`\u26A0\uFE0F ${n.name} has no assets, skipping codegen...`);let c=n.assets[0],_={coinDenom:c.denom_units[c.denom_units.length-1].denom,coinMinimalDenom:c.denom_units[0].denom,coinDecimals:c.denom_units[c.denom_units.length-1].exponent,coinGeckoId:c.coingecko_id};h[n.path]={chainId:n.chain_id,currencies:n.assets.map(i=>({coinDenom:i.denom_units[i.denom_units.length-1].denom,coinMinimalDenom:i.denom_units[0].denom,coinDecimals:i.denom_units[i.denom_units.length-1].exponent,coinGeckoId:i.coingecko_id})),rest:l.rest[0].address||"",rpc:l.rpc[0].address||"",bech32Config:cosmos.Bech32Address.defaultBech32Config(n.bech32_prefix),chainName:n.chain_name,feeCurrencies:[_],stakeCurrency:_,bip44:{coinType:(u=n.slip44)!=null?u:0}};}catch(l){console.error(l instanceof Error?l.message:String(l));}}),h});le();
44
+ `,I=(0, Z.default)({"--generate":Boolean,"-g":"--generate","--authz":Boolean,"--best":Boolean,"--mainnet":String,"--testnet":String,"-b":"--best","-M":"--mainnet","-T":"--testnet","--help":Boolean,"-h":"--help"}),fe=()=>A(void 0,null,function*(){if(I["--help"]){console.log(X);return}if(I["--generate"]){yield pe();return}console.log(X);}),pe=()=>A(void 0,null,function*(){console.log("\u23F3 Generating chain list from cosmos.directory..."),I["--authz"]&&console.log("\u270D\uFE0F Detected authz flag, generating only compatible chains..."),I["--best"]&&console.log("\u{1F481}\u200D\u2642\uFE0F Detected best flag, setting REST and RPC endpoints to best latency..."),(I["--mainnet"]||I["--testnet"])&&console.log("\u{1F419} Detected chain filtering flag, generating only given chain paths...");let[e,n]=yield Promise.all([J(cosmosDirectoryClient.createClient(),{filter:I["--mainnet"]}),J(cosmosDirectoryClient.createTestnetClient(),{filter:I["--testnet"]})]),[r,u]=yield Promise.all([C__namespace.readFile(G("index.js.stub"),{encoding:"utf-8"}),C__namespace.readFile(G("index.mjs.stub"),{encoding:"utf-8"})]),o=r.replace("/* REPLACE_MAINNET_DEFS */",M(e)).replace("/* REPLACE_TESTNET_DEFS */",M(n,{testnet:!0})).replace("/* REPLACE_MAINNET_CHAINS */",j(e)).replace("/* REPLACE_TESTNET_CHAINS */",j(n,{testnet:!0})).replace("/* REPLACE_MAINNET_CHAINS_ARRAY */",O(e)).replace("/* REPLACE_TESTNET_CHAINS_ARRAY */",O(n,{testnet:!0})).replace("/* REPLACE_MAINNET_EXPORTS */",O(e)).replace("/* REPLACE_TESTNET_EXPORTS */",O(n,{testnet:!0})).replace(/"(.+)":/g,"$1:").trim(),f=u.replace("/* REPLACE_MAINNET_DEFS */",M(e,{mjs:!0})).replace("/* REPLACE_TESTNET_DEFS */",M(n,{mjs:!0,testnet:!0})).replace("/* REPLACE_MAINNET_CHAINS */",j(e)).replace("/* REPLACE_TESTNET_CHAINS */",j(n,{testnet:!0})).replace("/* REPLACE_MAINNET_CHAINS_ARRAY */",O(e)).replace("/* REPLACE_TESTNET_CHAINS_ARRAY */",O(n,{testnet:!0})).replace(/"(.+)":/g,"$1:").trim();yield Promise.all([C__namespace.writeFile(G("index.js"),o,{encoding:"utf-8"}),C__namespace.writeFile(G("index.mjs"),f.replace('"../dist"','"../dist/index.mjs"'),{encoding:"utf-8"}),C__namespace.writeFile(G("index.ts"),f,{encoding:"utf-8"})]),console.log('\u2728 Generate complete! You can import `mainnetChains` and `testnetChains` from "graz/chains".\n');}),G=(...e)=>W__namespace.resolve(__dirname,"../chains",...e),j=(e,{testnet:n=!1}={})=>Object.keys(e).map(r=>` ${D(r)}: ${D(r)},`).join(`
45
+ `),M=(e,{mjs:n=!1,testnet:r=!1}={})=>Object.entries(e).map(([u,o])=>{let f=`${D(u)}`,N=JSON.stringify(o,null,2);return `${n?"export ":""}const ${f} = defineChainInfo(${N});
46
+ `}).join(""),O=(e,{testnet:n=!1}={})=>Object.keys(e).map(r=>` ${D(r)},`).join(`
47
+ `),J=(r,...u)=>A(void 0,[r,...u],function*(e,{filter:n=""}={}){let o=n?n.split(",").map(t=>({path:t})):yield e.fetchChains().then(t=>t.chains.map(({path:s})=>({path:s}))),f=yield F(o,t=>A(void 0,null,function*(){return e.fetchChain(t.path).then(s=>s.chain)}),{concurrency:4}),N={};return f.forEach(t=>{var s,a,d,m,p;try{if(I["--authz"]&&!((s=t.params)!=null&&s.authz))return;let i=I["--best"]?t.best_apis:t.apis;if(!i||!((a=i.rest)!=null&&a[0])||!((d=i.rpc)!=null&&d[0]))throw new Error(`\u26A0\uFE0F ${t.name} has no REST/RPC endpoints, skipping codegen...`);if(!t.assets)throw new Error(`\u26A0\uFE0F ${t.name} has no assets, skipping codegen...`);let g=t.assets[0],c={coinDenom:g.denom_units[g.denom_units.length-1].denom,coinMinimalDenom:g.denom_units[0].denom,coinDecimals:g.denom_units[g.denom_units.length-1].exponent,coinGeckoId:g.coingecko_id},_=(m=t.fees)==null?void 0:m.fee_tokens.map(l=>{var E,x,b,R,y,w,$,z,Y,H;return {coinDenom:((b=(x=(E=t.assets)==null?void 0:E.find(S=>S.denom===l.denom))==null?void 0:x.denom_units.at(-1))==null?void 0:b.denom)||l.denom,coinMinimalDenom:((w=(y=(R=t.assets)==null?void 0:R.find(S=>S.denom===l.denom))==null?void 0:y.denom_units[0])==null?void 0:w.denom)||l.denom,coinDecimals:Number((z=($=t.assets)==null?void 0:$.find(S=>S.denom===l.denom))==null?void 0:z.decimals),coinGeckoId:((H=(Y=t.assets)==null?void 0:Y.find(S=>S.denom===l.denom))==null?void 0:H.coingecko_id)||"",gasPriceStep:{low:Number(l.low_gas_price),average:Number(l.average_gas_price),high:Number(l.high_gas_price)}}});if(!_)throw new Error(`\u26A0\uFE0F ${t.name} has no fee currencies, skipping codegen...`);N[t.path]={chainId:t.chain_id,currencies:t.assets.map(l=>({coinDenom:l.denom_units[l.denom_units.length-1].denom,coinMinimalDenom:l.denom_units[0].denom,coinDecimals:l.denom_units[l.denom_units.length-1].exponent,coinGeckoId:l.coingecko_id})),rest:i.rest[0].address||"",rpc:i.rpc[0].address||"",bech32Config:cosmos.Bech32Address.defaultBech32Config(t.bech32_prefix),chainName:t.chain_name,feeCurrencies:_,stakeCurrency:c,bip44:{coinType:(p=t.slip44)!=null?p:0}};}catch(i){console.error(i instanceof Error?i.message:String(i));}}),N});fe();
package/dist/index.d.mts CHANGED
@@ -28,6 +28,7 @@ declare enum WalletType {
28
28
  WC_LEAP_MOBILE = "wc_leap_mobile",
29
29
  WC_COSMOSTATION_MOBILE = "wc_cosmostation_mobile",
30
30
  METAMASK_SNAP_LEAP = "metamask_snap_leap",
31
+ METAMASK_SNAP_COSMOS = "metamask_snap_cosmos",
31
32
  STATION = "station",
32
33
  XDEFI = "xdefi",
33
34
  CAPSULE = "capsule"
@@ -43,6 +44,7 @@ type Wallet = Pick<Keplr, "enable" | "getKey" | "getOfflineSigner" | "getOffline
43
44
  };
44
45
  type SignDirectParams = Parameters<Wallet["signDirect"]>;
45
46
  type SignAminoParams = Parameters<Wallet["signAmino"]>;
47
+ type KnownKeys = Record<string, Key>;
46
48
 
47
49
  type ChainId$1 = string | string[];
48
50
  interface MultiChainHookArgs {
@@ -1107,4 +1109,4 @@ declare const useGrazEvents: () => null;
1107
1109
  */
1108
1110
  declare const GrazEvents: FC;
1109
1111
 
1110
- export { ConfigureGrazArgs, ConnectArgs, ConnectResult, Dictionary, ExecuteContractArgs, ExecuteContractMutationArgs, GrazEvents, GrazProvider, GrazProviderProps, InstantiateContractArgs, InstantiateContractMutationArgs, Maybe, OfflineSigners, ReconnectArgs, SendIbcTokensArgs, SendTokensArgs, SignAminoParams, SignDirectParams, SuggestChainAndConnectArgs, SuggestChainArgs, UseAccountArgs, UseAccountResult, UseConnectChainArgs, UseExecuteContractArgs, UseInstantiateContractArgs, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, WALLET_TYPES, Wallet, WalletType, checkWallet, clearRecentChain, clearSession, configureGraz, connect, defineChainInfo, defineChains, disconnect, executeContract, getAvailableWallets, getChainInfo, getChainInfos, getCosmostation, getKeplr, getLeap, getMetamaskSnapLeap, getOfflineSigners, getQueryRaw, getQuerySmart, getRecentChainIds, getRecentChains, getVectis, getWCCosmostation, getWCKeplr, getWCLeap, getWallet, getWalletConnect, instantiateContract, isCapsule, isWalletConnect, reconnect, sendIbcTokens, sendTokens, suggestChain, suggestChainAndConnect, useAccount, useActiveChainCurrency, useActiveChainIds, useActiveChains, useActiveWalletType, useBalance, useBalanceStaked, useBalances, useCapsule, useChainInfo, useChainInfos, useCheckWallet, useConnect, useCosmWasmClient, useCosmWasmSigningClient, useCosmWasmTmSigningClient, useDisconnect, useExecuteContract, useGrazEvents, useInstantiateContract, useOfflineSigners, useQueryClientValidators, useQueryRaw, useQuerySmart, useRecentChainIds, useRecentChains, useSendIbcTokens, useSendTokens, useStargateClient, useStargateSigningClient, useStargateTmSigningClient, useSuggestChain, useSuggestChainAndConnect, useTendermintClient };
1112
+ export { ConfigureGrazArgs, ConnectArgs, ConnectResult, Dictionary, ExecuteContractArgs, ExecuteContractMutationArgs, GrazEvents, GrazProvider, GrazProviderProps, InstantiateContractArgs, InstantiateContractMutationArgs, KnownKeys, Maybe, OfflineSigners, ReconnectArgs, SendIbcTokensArgs, SendTokensArgs, SignAminoParams, SignDirectParams, SuggestChainAndConnectArgs, SuggestChainArgs, UseAccountArgs, UseAccountResult, UseConnectChainArgs, UseExecuteContractArgs, UseInstantiateContractArgs, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, WALLET_TYPES, Wallet, WalletType, checkWallet, clearRecentChain, clearSession, configureGraz, connect, defineChainInfo, defineChains, disconnect, executeContract, getAvailableWallets, getChainInfo, getChainInfos, getCosmostation, getKeplr, getLeap, getMetamaskSnapLeap, getOfflineSigners, getQueryRaw, getQuerySmart, getRecentChainIds, getRecentChains, getVectis, getWCCosmostation, getWCKeplr, getWCLeap, getWallet, getWalletConnect, instantiateContract, isCapsule, isWalletConnect, reconnect, sendIbcTokens, sendTokens, suggestChain, suggestChainAndConnect, useAccount, useActiveChainCurrency, useActiveChainIds, useActiveChains, useActiveWalletType, useBalance, useBalanceStaked, useBalances, useCapsule, useChainInfo, useChainInfos, useCheckWallet, useConnect, useCosmWasmClient, useCosmWasmSigningClient, useCosmWasmTmSigningClient, useDisconnect, useExecuteContract, useGrazEvents, useInstantiateContract, useOfflineSigners, useQueryClientValidators, useQueryRaw, useQuerySmart, useRecentChainIds, useRecentChains, useSendIbcTokens, useSendTokens, useStargateClient, useStargateSigningClient, useStargateTmSigningClient, useSuggestChain, useSuggestChainAndConnect, useTendermintClient };
package/dist/index.d.ts CHANGED
@@ -28,6 +28,7 @@ declare enum WalletType {
28
28
  WC_LEAP_MOBILE = "wc_leap_mobile",
29
29
  WC_COSMOSTATION_MOBILE = "wc_cosmostation_mobile",
30
30
  METAMASK_SNAP_LEAP = "metamask_snap_leap",
31
+ METAMASK_SNAP_COSMOS = "metamask_snap_cosmos",
31
32
  STATION = "station",
32
33
  XDEFI = "xdefi",
33
34
  CAPSULE = "capsule"
@@ -43,6 +44,7 @@ type Wallet = Pick<Keplr, "enable" | "getKey" | "getOfflineSigner" | "getOffline
43
44
  };
44
45
  type SignDirectParams = Parameters<Wallet["signDirect"]>;
45
46
  type SignAminoParams = Parameters<Wallet["signAmino"]>;
47
+ type KnownKeys = Record<string, Key>;
46
48
 
47
49
  type ChainId$1 = string | string[];
48
50
  interface MultiChainHookArgs {
@@ -1107,4 +1109,4 @@ declare const useGrazEvents: () => null;
1107
1109
  */
1108
1110
  declare const GrazEvents: FC;
1109
1111
 
1110
- export { ConfigureGrazArgs, ConnectArgs, ConnectResult, Dictionary, ExecuteContractArgs, ExecuteContractMutationArgs, GrazEvents, GrazProvider, GrazProviderProps, InstantiateContractArgs, InstantiateContractMutationArgs, Maybe, OfflineSigners, ReconnectArgs, SendIbcTokensArgs, SendTokensArgs, SignAminoParams, SignDirectParams, SuggestChainAndConnectArgs, SuggestChainArgs, UseAccountArgs, UseAccountResult, UseConnectChainArgs, UseExecuteContractArgs, UseInstantiateContractArgs, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, WALLET_TYPES, Wallet, WalletType, checkWallet, clearRecentChain, clearSession, configureGraz, connect, defineChainInfo, defineChains, disconnect, executeContract, getAvailableWallets, getChainInfo, getChainInfos, getCosmostation, getKeplr, getLeap, getMetamaskSnapLeap, getOfflineSigners, getQueryRaw, getQuerySmart, getRecentChainIds, getRecentChains, getVectis, getWCCosmostation, getWCKeplr, getWCLeap, getWallet, getWalletConnect, instantiateContract, isCapsule, isWalletConnect, reconnect, sendIbcTokens, sendTokens, suggestChain, suggestChainAndConnect, useAccount, useActiveChainCurrency, useActiveChainIds, useActiveChains, useActiveWalletType, useBalance, useBalanceStaked, useBalances, useCapsule, useChainInfo, useChainInfos, useCheckWallet, useConnect, useCosmWasmClient, useCosmWasmSigningClient, useCosmWasmTmSigningClient, useDisconnect, useExecuteContract, useGrazEvents, useInstantiateContract, useOfflineSigners, useQueryClientValidators, useQueryRaw, useQuerySmart, useRecentChainIds, useRecentChains, useSendIbcTokens, useSendTokens, useStargateClient, useStargateSigningClient, useStargateTmSigningClient, useSuggestChain, useSuggestChainAndConnect, useTendermintClient };
1112
+ export { ConfigureGrazArgs, ConnectArgs, ConnectResult, Dictionary, ExecuteContractArgs, ExecuteContractMutationArgs, GrazEvents, GrazProvider, GrazProviderProps, InstantiateContractArgs, InstantiateContractMutationArgs, KnownKeys, Maybe, OfflineSigners, ReconnectArgs, SendIbcTokensArgs, SendTokensArgs, SignAminoParams, SignDirectParams, SuggestChainAndConnectArgs, SuggestChainArgs, UseAccountArgs, UseAccountResult, UseConnectChainArgs, UseExecuteContractArgs, UseInstantiateContractArgs, UseSuggestChainAndConnectArgs, UseSuggestChainArgs, WALLET_TYPES, Wallet, WalletType, checkWallet, clearRecentChain, clearSession, configureGraz, connect, defineChainInfo, defineChains, disconnect, executeContract, getAvailableWallets, getChainInfo, getChainInfos, getCosmostation, getKeplr, getLeap, getMetamaskSnapLeap, getOfflineSigners, getQueryRaw, getQuerySmart, getRecentChainIds, getRecentChains, getVectis, getWCCosmostation, getWCKeplr, getWCLeap, getWallet, getWalletConnect, instantiateContract, isCapsule, isWalletConnect, reconnect, sendIbcTokens, sendTokens, suggestChain, suggestChainAndConnect, useAccount, useActiveChainCurrency, useActiveChainIds, useActiveChains, useActiveWalletType, useBalance, useBalanceStaked, useBalances, useCapsule, useChainInfo, useChainInfos, useCheckWallet, useConnect, useCosmWasmClient, useCosmWasmSigningClient, useCosmWasmTmSigningClient, useDisconnect, useExecuteContract, useGrazEvents, useInstantiateContract, useOfflineSigners, useQueryClientValidators, useQueryRaw, useQuerySmart, useRecentChainIds, useRecentChains, useSendIbcTokens, useSendTokens, useStargateClient, useStargateSigningClient, useStargateTmSigningClient, useSuggestChain, useSuggestChainAndConnect, useTendermintClient };
package/dist/index.js CHANGED
@@ -3,7 +3,8 @@
3
3
  var encoding = require('@cosmjs/encoding');
4
4
  var zustand = require('zustand');
5
5
  var middleware = require('zustand/middleware');
6
- var Gt = require('long');
6
+ var snapper = require('@cosmsnap/snapper');
7
+ var $t = require('long');
7
8
  var signClient = require('@walletconnect/sign-client');
8
9
  var utils = require('@walletconnect/utils');
9
10
  var reactQuery = require('@tanstack/react-query');
@@ -16,80 +17,80 @@ var jsxRuntime = require('react/jsx-runtime');
16
17
 
17
18
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
18
19
 
19
- var Gt__default = /*#__PURE__*/_interopDefault(Gt);
20
+ var $t__default = /*#__PURE__*/_interopDefault($t);
20
21
 
21
- var Dt=Object.defineProperty,Nt=Object.defineProperties;var Bt=Object.getOwnPropertyDescriptors;var se=Object.getOwnPropertySymbols;var qe=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable;var Ue=(e,t,n)=>t in e?Dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,O=(e,t)=>{for(var n in t||(t={}))qe.call(t,n)&&Ue(e,n,t[n]);if(se)for(var n of se(t))Ge.call(t,n)&&Ue(e,n,t[n]);return e},N=(e,t)=>Nt(e,Bt(t));var Fe=(e,t)=>{var n={};for(var i in e)qe.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&se)for(var i of se(e))t.indexOf(i)<0&&Ge.call(e,i)&&(n[i]=e[i]);return n};var l=(e,t,n)=>new Promise((i,r)=>{var o=c=>{try{a(n.next(c));}catch(m){r(m);}},s=c=>{try{a(n.throw(c));}catch(m){r(m);}},a=c=>c.done?i(c.value):Promise.resolve(c.value).then(o,s);a((n=n.apply(e,t)).next());});var H="graz-reconnect-session";var ze=(h=>(h.KEPLR="keplr",h.LEAP="leap",h.VECTIS="vectis",h.COSMOSTATION="cosmostation",h.WALLETCONNECT="walletconnect",h.WC_KEPLR_MOBILE="wc_keplr_mobile",h.WC_LEAP_MOBILE="wc_leap_mobile",h.WC_COSMOSTATION_MOBILE="wc_cosmostation_mobile",h.METAMASK_SNAP_LEAP="metamask_snap_leap",h.STATION="station",h.XDEFI="xdefi",h.CAPSULE="capsule",h))(ze||{}),Qe=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap","station","xdefi","capsule"];var Kt={recentChainIds:null,chains:null,chainsConfig:null,capsuleConfig:null,capsuleState:null,multiChainFetchConcurrency:3,walletType:"keplr",walletConnect:{options:null,web3Modal:null},walletDefaultOptions:null,_notFoundFn:()=>null,_onReconnectFailed:()=>null,_reconnect:!1,_reconnectConnector:null},Z={accounts:null,activeChainIds:null,status:"disconnected",wcSignClients:new Map,capsuleClient:null},Lt={name:"graz-session",version:2,partialize:e=>({accounts:e.accounts,activeChainIds:e.activeChainIds}),storage:middleware.createJSONStorage(()=>sessionStorage)},Ut={name:"graz-internal",partialize:e=>({recentChainIds:e.recentChainIds,_reconnect:e._reconnect,_reconnectConnector:e._reconnectConnector,walletType:e.walletType}),version:2},p=zustand.create(middleware.subscribeWithSelector(middleware.persist(()=>Z,Lt))),u=zustand.create(middleware.subscribeWithSelector(middleware.persist(()=>Kt,Ut)));var ae=()=>{var E,h;if(!((E=u.getState().capsuleConfig)!=null&&E.apiKey)||!((h=u.getState().capsuleConfig)!=null&&h.env))throw new Error("Capsule configuration is not set");let e=()=>l(void 0,null,function*(){var C,T;let d=(yield import('@leapwallet/cosmos-social-login-capsule-provider')).CapsuleProvider,f=new d({apiKey:(C=u.getState().capsuleConfig)==null?void 0:C.apiKey,env:(T=u.getState().capsuleConfig)==null?void 0:T.env});return p.setState({capsuleClient:f}),f});return {init:e,enable:d=>l(void 0,null,function*(){let f=typeof d=="string"?[d]:d,C=p.getState().capsuleClient;C||(C=yield e()),u.setState({capsuleState:{showModal:!0,chainId:f}});}),onAfterLoginSuccessful:()=>l(void 0,null,function*(){var g;let d=p.getState().capsuleClient,{chains:f}=u.getState();if(!d)throw new Error("Capsule client is not initialized");if(!f)throw new Error("Chains are not set");yield d.enable();let C=(g=u.getState().capsuleState)==null?void 0:g.chainId;if(!C)throw new Error("Chain ids are not set");let T=yield d.getAccount(C[0]),x={};C.forEach(w=>{x[w]={address:encoding.fromBech32(T.address).data,bech32Address:encoding.toBech32(f.find(b=>b.chainId===w).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(T.address).data),algo:T.algo,name:T.username||"",pubKey:T.pubkey,isKeystone:!1,isNanoLedger:!1};}),p.setState(w=>({accounts:O(O({},w.accounts||{}),x)})),u.setState(w=>({recentChainIds:[...w.recentChainIds||[],...C].filter((b,P,D)=>D.indexOf(b)===P)})),p.setState(w=>({activeChainIds:[...w.activeChainIds||[],...C].filter((b,P,D)=>D.indexOf(b)===P)})),u.setState({walletType:"capsule",_reconnect:!1,_reconnectConnector:"capsule"}),p.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(H,"Active"),u.setState({capsuleState:null});}),getKey:d=>l(void 0,null,function*(){let f=p.getState().capsuleClient;if(!f)throw new Error("Capsule client is not initialized");let C=yield f.getAccount(d);return {address:encoding.fromBech32(C.address).data,bech32Address:C.address,algo:C.algo,name:C.username||"",pubKey:C.pubkey,isKeystone:!1,isNanoLedger:!1}}),getOfflineSignerAuto:d=>l(void 0,null,function*(){let f=p.getState().capsuleClient;if(!f)throw new Error("Capsule client is not initialized");return f.getOfflineSignerDirect(d)}),getOfflineSignerDirect:d=>{let f=p.getState().capsuleClient;if(!f)throw new Error("Capsule client is not initialized");return f.getOfflineSignerDirect(d)},signDirect:(...d)=>l(void 0,null,function*(){let[f,C,T]=d,x=p.getState().capsuleClient;if(!x)throw new Error("Capsule client is not initialized");return x.signDirect(f,C,{bodyBytes:T.bodyBytes,authInfoBytes:T.authInfoBytes,chainId:T.chainId,accountNumber:T.accountNumber})}),signAmino:(...d)=>l(void 0,null,function*(){let[f,C,T,x]=d,g=p.getState().capsuleClient;if(!g)throw new Error("Capsule client is not initialized");return g.signAmino(f,C,T,x)}),experimentalSuggestChain:(...d)=>l(void 0,null,function*(){yield Promise.reject(new Error("Capsule does not support experimentalSuggestChain"));}),setDefaultOptions:()=>{console.log("setDefaultOptions not supported by capsule");},getOfflineSigner:d=>{let f=p.getState().capsuleClient;if(!f)throw new Error("Capsule client is not initialized");return f.getOfflineSigner(d)},getOfflineSignerAmino:d=>{let f=p.getState().capsuleClient;if(!f)throw new Error("Capsule client is not initialized");return f.getOfflineSignerAmino(d)}}};var ce=()=>{var e;if(typeof((e=window.cosmostation)==null?void 0:e.providers.keplr)!="undefined"){let t=window.cosmostation.providers.keplr;return Object.assign(t,{subscription:o=>{var a;let s=()=>{F(),o();};return (a=window.cosmostation)==null||a.cosmos.on("accountChanged",s),()=>{var c;(c=window.cosmostation)==null||c.cosmos.off("accountChanged",s);}},setDefaultOptions:o=>{t.defaultOptions=o;}})}throw u.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var le=()=>{if(typeof window.keplr!="undefined"){let e=window.keplr;return Object.assign(e,{subscription:r=>{let o=()=>{F(),r();};return window.addEventListener("keplr_keystorechange",o),()=>{window.removeEventListener("keplr_keystorechange",o);}},setDefaultOptions:r=>{e.defaultOptions=r;}})}throw u.getState()._notFoundFn(),new Error("window.keplr is not defined")};var ue=()=>{if(typeof window.leap!="undefined"){let e=window.leap;return Object.assign(e,{subscription:r=>{let o=()=>{F(),r();};return window.addEventListener("leap_keystorechange",o),()=>{window.removeEventListener("leap_keystorechange",o);}},setDefaultOptions:r=>{e.defaultOptions=r;}})}throw u.getState()._notFoundFn(),new Error("window.leap is not defined")};var Ve=e=>{let t=window.ethereum;if(t&&e){let n=()=>l(void 0,null,function*(){return yield t.request({method:"wallet_getSnaps"})}),i=g=>l(void 0,null,function*(){try{let w=yield n();return Object.values(w).find(b=>b.id===e.id&&(!g||b.version===g))}catch(w){return}}),r=()=>l(void 0,null,function*(){yield t.request({method:"wallet_requestSnaps",params:{[e.id]:e.params||{}}});}),o=()=>l(void 0,null,function*(){var B;let g=yield t.request({method:"web3_clientVersion"});if(!g.includes("MetaMask"))throw new Error("Metamask is not installed");if(typeof window.okxwallet!="undefined"&&window.okxwallet.isOkxWallet)throw new Error("You have OKX Wallet installed. Please disable and reload the page to use Metamask Snap.");let b=(B=g.split("MetaMask/v")[1])==null?void 0:B.split(".")[0];if(!(Number(b)>=11))throw new Error("Metamask Snap is not supported in this version");return (yield i())||(yield r()),!0}),s=g=>l(void 0,null,function*(){(yield i())||(yield r());}),a=(g,w,b)=>l(void 0,null,function*(){let P=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signDirect",params:{chainId:g,signerAddress:w,signDoc:b}}}}),D=b.accountNumber,B=new Gt__default.default(D.low,D.high,D.unsigned);return {signature:P.signature,signed:N(O({},P.signed),{accountNumber:`${B.toString()}`,authInfoBytes:new Uint8Array(Object.values(P.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(P.signed.bodyBytes))})}}),c=(g,w,b)=>l(void 0,null,function*(){return yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signAmino",params:{chainId:g,signerAddress:w,signDoc:b}}}})}),m=g=>l(void 0,null,function*(){let w=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"getKey",params:{chainId:g}}}});if(!w)throw new Error("No response from Metamask");return w.pubKey=Uint8Array.from(Object.values(w.pubkey)),delete w.pubkey,O({},w)}),A=g=>l(void 0,null,function*(){let w=yield m(g);return {address:w.bech32Address,algo:w.algo,pubkey:w.pubKey}}),E=(...g)=>l(void 0,null,function*(){let[w,b,P,D]=g;return yield c(w,b,P)}),h=(...g)=>l(void 0,null,function*(){let[w,b,P]=g;return yield a(w,b,P)}),d=g=>({getAccounts:()=>l(void 0,null,function*(){return [yield A(g)]}),signDirect:(w,b)=>h(g,w,b)}),f=g=>({getAccounts:()=>l(void 0,null,function*(){return [yield A(g)]}),signAmino:(w,b)=>E(g,w,b)});return {enable:s,experimentalSuggestChain:(...g)=>l(void 0,null,function*(){yield o(),yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"suggestChain",params:{chainInfo:g[0]}}}});}),getKey:m,getOfflineSigner:g=>({getAccounts:()=>l(void 0,null,function*(){return [yield A(g)]}),signDirect:(w,b)=>h(g,w,b),signAmino:(w,b)=>E(g,w,b)}),getOfflineSignerAuto:g=>l(void 0,null,function*(){return (yield m(g)).isNanoLedger?f(g):d(g)}),getOfflineSignerOnlyAmino:f,init:o,signAmino:E,signDirect:h}}throw u.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var Ye=()=>Ve({id:"npm:@leapwallet/metamask-cosmos-snap"});var de=()=>{if(typeof window.station!="undefined"){let e=window.station.keplr;return {subscription:o=>{let s=()=>{F(),o();};return window.addEventListener("station_wallet_change",s),()=>{window.removeEventListener("station_wallet_change",s);}},getKey:o=>l(void 0,null,function*(){let s=yield e.getKey(o);return O({isKeystone:!1},s)}),getOfflineSigner:o=>{try{let s=e.getOfflineSignerOnlyAmino(o);return Object.assign(s,{signDirect:(m,A)=>{throw new Error("signDirect not supported by Station")}})}catch(s){throw console.error(s),s}},experimentalSuggestChain:o=>l(void 0,null,function*(){try{let s=Object.assign(o,{chainSymbolImageUrl:o.chainSymbolImageUrl||"",stakeCurrency:{coinDecimals:o.stakeCurrency.coinDecimals,coinDenom:o.stakeCurrency.coinDenom,coinImageUrl:o.stakeCurrency.coinImageUrl||"",coinMinimalDenom:o.stakeCurrency.coinMinimalDenom},currencies:o.currencies.map(a=>({coinDecimals:a.coinDecimals,coinDenom:a.coinDenom,coinImageUrl:a.coinImageUrl||"",coinMinimalDenom:a.coinMinimalDenom})),feeCurrencies:o.feeCurrencies.map(a=>{var c,m,A;return {coinDecimals:a.coinDecimals,coinDenom:a.coinDenom,coinImageUrl:a.coinImageUrl||"",coinMinimalDenom:a.coinMinimalDenom,gasPriceStep:{average:((c=a.gasPriceStep)==null?void 0:c.average)||0,high:((m=a.gasPriceStep)==null?void 0:m.high)||0,low:((A=a.gasPriceStep)==null?void 0:A.low)||0}}})});yield e.experimentalSuggestChain(s);}catch(s){throw console.error(s),s}}),enable:o=>e.enable(o),disable:o=>e.disable(o),getOfflineSignerAuto:o=>e.getOfflineSignerAuto(o),getOfflineSignerOnlyAmino:o=>e.getOfflineSignerOnlyAmino(o),signDirect:()=>e.signDirect(),signAmino:(o,s,a,c)=>e.signAmino(o,s,a),setDefaultOptions:()=>{console.log("setDefaultOptions not supported by WalletConnect");}}}throw u.getState()._notFoundFn(),new Error("window.station is not defined")};var pe=()=>{if(typeof window.vectis!="undefined"){let e=window.vectis.cosmos;return {enable:a=>e.enable(a),getOfflineSigner:a=>e.getOfflineSigner(a),getOfflineSignerAuto:a=>e.getOfflineSignerAuto(a),getKey:a=>l(void 0,null,function*(){let c=yield e.getKey(a);return {address:encoding.fromBech32(c.address).data,algo:c.algo,bech32Address:c.address,name:c.name,pubKey:c.pubKey,isKeystone:!1,isNanoLedger:c.isNanoLedger}}),subscription:a=>{let c=()=>{F(),a();};return window.addEventListener("vectis_accountChanged",c),()=>{window.removeEventListener("vectis_accountChanged",c);}},getOfflineSignerOnlyAmino:(...a)=>e.getOfflineSignerAmino(...a),experimentalSuggestChain:(...a)=>l(void 0,null,function*(){let[c]=a,m=N(O({},c),{rpcUrl:c.rpc,restUrl:c.rest,prettyName:c.chainName.replace(" ",""),bech32Prefix:c.bech32Config.bech32PrefixAccAddr});return e.suggestChains([m])}),signDirect:(...a)=>l(void 0,null,function*(){var A;let{1:c,2:m}=a;return e.signDirect(c,{bodyBytes:m.bodyBytes||Uint8Array.from([]),authInfoBytes:m.authInfoBytes||Uint8Array.from([]),accountNumber:Gt__default.default.fromString(((A=m.accountNumber)==null?void 0:A.toString())||"",!1),chainId:m.chainId||""})}),signAmino:(...a)=>l(void 0,null,function*(){let{1:c,2:m}=a;return e.signAmino(c,m)}),setDefaultOptions:()=>{console.log("setDefaultOptions not supported by Vectis");}}}throw u.getState()._notFoundFn(),new Error("window.vectis is not defined")};var Q=()=>typeof window!="undefined"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,Xe=()=>Q()&&navigator.userAgent.toLowerCase().includes("android"),Je=()=>Q()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var be=(e,t,n=new Error("Promise timed out"))=>{let i=new Promise((r,o)=>{setTimeout(()=>{o(n);},t);});return Promise.race([e,i])};var j=e=>{var B,ne,Ne;if(!((Ne=(ne=(B=u.getState().walletConnect)==null?void 0:B.options)==null?void 0:ne.projectId)!=null&&Ne.trim()))throw new Error("walletConnect.options.projectId is not defined");let t=(e==null?void 0:e.walletType)||"walletconnect",n=(e==null?void 0:e.encoding)||"base64",i=y=>{if(!e)return;let{appUrl:S,formatNativeUrl:I}=e;if(Q()){if(Xe())if(!y)window.open(S.mobile.android,"_self","noreferrer noopener");else {let v=I(S.mobile.android,y,"android");window.open(v,"_self","noreferrer noopener");}if(Je())if(!y)window.open(S.mobile.ios,"_self","noreferrer noopener");else {let v=I(S.mobile.ios,y,"ios");window.open(v,"_self","noreferrer noopener");}}},r=()=>{let{wcSignClients:y}=p.getState();if(!y.get(t))throw new Error("walletConnect.signClient is not defined");y.delete(t),p.setState({wcSignClients:y}),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});},o=y=>l(void 0,null,function*(){let{wcSignClients:S}=p.getState(),I=S.get(t);if(!I)throw new Error("walletConnect.signClient is not defined");if(!y)throw new Error("No wallet connect session");yield I.disconnect({topic:y,reason:utils.getSdkError("USER_DISCONNECTED")}),yield c(I);}),s=y=>{try{let{wcSignClients:S}=p.getState(),I=S.get(t);if(!I)throw new Error("walletConnect.signClient is not defined");let v=I.session.getAll().at(-1);if(!v)return;if(!(v.expiry*1e3>Date.now()+1e3))throw o(v.topic),new Error("invalid session");try{let W=I.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:y.map(U=>`cosmos:${U}`),events:["chainChanged","accountsChanged"]}}});if(!W.length)throw new Error("no session");return W.at(-1)}catch(W){if(!W.message.toLowerCase().includes("no matching key"))throw W}return v}catch(S){if(!S.message.toLowerCase().includes("no matching key"))throw S}},a=y=>{try{return s(y)}catch(S){return}},c=y=>l(void 0,null,function*(){try{let S=y.core.pairing.pairings.getAll({active:!1});if(!S.length)return;yield Promise.all(S.map(I=>l(void 0,null,function*(){yield y.core.pairing.pairings.delete(I.topic,{code:7001,message:"clear pairing"});})));}catch(S){if(!S.message.toLowerCase().includes("no matching key"))throw S}}),m=()=>l(void 0,null,function*(){let{walletConnect:y}=u.getState();if(!(y!=null&&y.options))throw new Error("walletConnect.options is not defined");let{wcSignClients:S}=p.getState(),I=S.get(t);if(I)return I;let v=yield signClient.SignClient.init(y.options);return S.set(t,v),p.setState({wcSignClients:S}),v}),A=y=>{let{wcSignClients:S}=p.getState(),I=S.get(t);if(!I)return ()=>{};let v=k=>{let W=p.getState().accounts;if(k.params.event.name==="accountsChanged"&&W&&!Object.values(W).map(U=>U.bech32Address).includes(k.params.event.data[0])){let U=k.params.chainId.split(":")[1];U&&E([U]);}else y();};return I.events.on("session_delete",r),I.events.on("session_expire",r),I.events.on("session_event",v),()=>{I.events.off("session_delete",r),I.events.off("session_expire",r),I.events.off("session_event",v);}},E=y=>l(void 0,null,function*(){var oe;let S=typeof y=="string"?[y]:y,{wcSignClients:I}=p.getState(),v=I.get(t);if(!v)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:k,chains:W}=u.getState();if(!((oe=k==null?void 0:k.options)!=null&&oe.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:U}=yield import('@web3modal/standalone'),$=new U(O({projectId:k.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE"},k.web3Modal)),Y=a(S);if(!Y){let{uri:K,approval:X}=yield be(v.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:S.map(G=>`cosmos:${G}`),events:["chainChanged","accountsChanged"]}}}),15e3,new Error("Connection timeout"));if(!K)throw new Error("No wallet connect uri");e?i(K):yield $.openModal({uri:K});let ie=G=>l(void 0,null,function*(){return G.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((Ie,J)=>{X().then(Be=>{let _e=Be.sessionProperties;if(!_e)return J(new Error("No session properties"));let Ee=JSON.parse(String(_e.keys));if(Ee.length===0)return J(new Error("No accounts"));let Ke=Ee[0];if(!Ke)return J(new Error("No accounts"));let Le={};return S.forEach(re=>{Le[re]=N(O({},Ke),{bech32Address:encoding.toBech32(W.find(Pt=>Pt.chainId===re).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(Ee[0].bech32Address).data)});}),p.setState(re=>({accounts:O(O({},re.accounts||{}),Le)})),Ie(Be)}).catch(J),G.addEventListener("abort",()=>{J(new Error("User closed wallet connect"));},{once:!0});})});try{let G=new AbortController,Ie=G.signal;$.subscribeModal(J=>{J.open||G.abort();}),yield ie(Ie);}catch(G){if($.closeModal(),!G.message.toLowerCase().includes("no matching key"))return Promise.reject(G)}return e||$.closeModal(),Promise.resolve()}try{yield be((()=>l(void 0,null,function*(){let K=yield d(S[0]),X={};S.forEach(ie=>{X[ie]=N(O({},K),{bech32Address:encoding.toBech32(W.find(G=>G.chainId===ie).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(K.bech32Address).data)});}),p.setState({accounts:X});}))(),15e3,new Error("Connection timeout"));}catch(K){if(o(Y.topic),!K.message.toLowerCase().includes("no matching key"))throw K}}),h=y=>l(void 0,null,function*(){var W;let{wcSignClients:S}=p.getState(),I=S.get(t);if(!I)throw new Error("walletConnect.signClient is not defined");let v=(W=s([y]))==null?void 0:W.topic;if(!v)throw new Error("No wallet connect session");let k=yield I.request({topic:v,chainId:`cosmos:${y}`,request:{method:"cosmos_getAccounts",params:{}}});if(!k[0])throw new Error("No wallet connect account");return {address:k[0].address,algo:k[0].algo,pubkey:new Uint8Array(Buffer.from(k[0].pubkey,n))}}),d=y=>l(void 0,null,function*(){let S=s([y]);if(!(S!=null&&S.topic))throw new Error("No wallet connect session");let I=S.sessionProperties&&JSON.parse(String(S.sessionProperties.keys))[0];if(!I)throw new Error("No wallet connect key");return I}),f=(...y)=>l(void 0,null,function*(){var K,X;let[S,I,v]=y,{accounts:k,wcSignClients:W}=p.getState(),U=W.get(t);if(!U)throw new Error("walletConnect.signClient is not defined");if(!k)throw new Error("account is not defined");let $=(K=s([S]))==null?void 0:K.topic;if(!$)throw new Error("No wallet connect session");if(!v.bodyBytes)throw new Error("No bodyBytes");if(!v.authInfoBytes)throw new Error("No authInfoBytes");let Y={topic:$,chainId:`cosmos:${S}`,request:{method:"cosmos_signDirect",params:{signerAddress:I,signDoc:N(O({},v),{bodyBytes:Buffer.from(v.bodyBytes).toString(n),authInfoBytes:Buffer.from(v.authInfoBytes).toString(n),accountNumber:(X=v.accountNumber)==null?void 0:X.toString()})}}};return i(),yield U.request(Y)}),C=(...y)=>l(void 0,null,function*(){let[S,I,v]=y,{signature:k,signed:W}=yield f(S,I,v);return {signed:{chainId:W.chainId,accountNumber:Gt__default.default.fromString(W.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(W.authInfoBytes,n)),bodyBytes:new Uint8Array(Buffer.from(W.bodyBytes,n))},signature:k}}),T=(...y)=>l(void 0,null,function*(){var K;let[S,I,v,k]=y,{wcSignClients:W}=p.getState(),U=W.get(t),{accounts:$}=p.getState();if(!U)throw new Error("walletConnect.signClient is not defined");if(!$)throw new Error("account is not defined");let Y=(K=s([S]))==null?void 0:K.topic;if(!Y)throw new Error("No wallet connect session");return i(),yield U.request({topic:Y,chainId:`cosmos:${S}`,request:{method:"cosmos_signDirect",params:{signerAddress:I,signDoc:v}}})}),x=(...y)=>l(void 0,null,function*(){let[S,I,v,k]=y;return yield T(S,I,v)}),g=y=>({getAccounts:()=>l(void 0,null,function*(){return [yield h(y)]}),signDirect:(S,I)=>C(y,S,I)}),w=y=>({getAccounts:()=>l(void 0,null,function*(){return [yield h(y)]}),signAmino:(S,I)=>x(y,S,I)});return {enable:E,disable:y=>l(void 0,null,function*(){var v;let{wcSignClients:S}=p.getState(),I=S.get(t);if(y===void 0){let k=I==null?void 0:I.session.getAll();k!==void 0&&(yield Promise.all(k.map(W=>o(W.topic))));}else typeof y=="string"?yield o((v=s([y]))==null?void 0:v.topic):yield Promise.all(y.map(k=>{var W;return o((W=s([k]))==null?void 0:W.topic)}));(I==null?void 0:I.session.getAll().length)===0&&r();}),experimentalSuggestChain:(...y)=>l(void 0,null,function*(){yield Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"));}),getKey:d,getOfflineSigner:y=>({getAccounts:()=>l(void 0,null,function*(){return [yield h(y)]}),signDirect:(S,I)=>C(y,S,I),signAmino:(S,I)=>x(y,S,I)}),getOfflineSignerAuto:y=>l(void 0,null,function*(){return (yield d(y)).isNanoLedger?w(y):g(y)}),getOfflineSignerOnlyAmino:w,signAmino:x,signDirect:C,subscription:A,init:m,setDefaultOptions:()=>{console.log("setDefaultOptions not supported by WalletConnect");}}};var tt=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!Q())throw new Error("WalletConnect Cosmostation mobile is only supported in mobile");let e={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_cosmostation_mobile",formatNativeUrl:(r,o,s)=>`${r.replaceAll("/","").replaceAll(":","")}://wc?${o}`};return j(e)};var nt=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!Q())throw new Error("WalletConnect Keplr mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"keplrwallet://",android:"intent://"}},walletType:"wc_keplr_mobile",formatNativeUrl:(r,o,s)=>{let a=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(o);switch(s){case"ios":return `${a}://wcV2?${c}`;case"android":return `${a}://wcV2?${c}#Intent;package=com.chainapsis.keplr;scheme=keplrwallet;end;`;default:return `${a}://wc?uri=${c}`}}};return j(e)};var ot=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!Q())throw new Error("WalletConnect Leap mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"leapcosmos://",android:"intent://"}},walletType:"wc_leap_mobile",formatNativeUrl:(r,o,s)=>{let a=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(o);switch(s){case"ios":return `${a}://wcV2?${c}`;case"android":return `${a}://wcV2?${c}#Intent;package=io.leapwallet.cosmos;scheme=leapwallet;end;`;default:return `${a}://wc?uri=${c}`}}};return j(e)};var me=()=>{var e;if(typeof((e=window.xfi)==null?void 0:e.keplr)!="undefined"){let t=window.xfi.keplr;return Object.assign(t,{subscription:r=>{let o=()=>{F(),r();};return window.addEventListener("keplr_keystorechange",o),()=>{window.removeEventListener("keplr_keystorechange",o);}},setDefaultOptions:()=>{console.log("setDefaultOptions not supported by Vectis");}})}throw u.getState()._notFoundFn(),new Error("window.xfi.keplr is not defined")};var _=(e=u.getState().walletType)=>{try{return R(e),!0}catch(t){return !1}},F=()=>{window.sessionStorage.removeItem(H),p.setState(Z);},R=(e=u.getState().walletType)=>{var i;let t=(()=>{switch(e){case"keplr":return le();case"leap":return ue();case"cosmostation":return ce();case"vectis":return pe();case"walletconnect":return j();case"wc_keplr_mobile":return nt();case"wc_leap_mobile":return ot();case"wc_cosmostation_mobile":return tt();case"metamask_snap_leap":return Ye();case"station":return de();case"xdefi":return me();case"capsule":return ae();default:throw new Error("Unknown wallet type")}})(),n=u.getState().walletDefaultOptions;return n&&((i=t.setDefaultOptions)==null||i.call(t,n)),t},ni=()=>Object.fromEntries(Qe.map(e=>[e,_(e)])),Oe=e=>e==="capsule",it=e=>e==="walletconnect"||e==="wc_keplr_mobile"||e==="wc_leap_mobile"||e==="wc_cosmostation_mobile";var ee=e=>l(void 0,null,function*(){var t;try{let{recentChainIds:n,chains:i,walletType:r}=u.getState(),o=(e==null?void 0:e.walletType)||r;if(!_(o))throw new Error(`${o} is not available`);let a=R(o),c=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:(e==null?void 0:e.chainId)||n;if(!c)throw new Error("No last known connected chain, connect action requires chain ids");let m=i==null?void 0:i.map(d=>d.chainId);c.forEach(d=>{if(!(m!=null&&m.includes(d)))throw new Error(`Chain ${d} is not provided in GrazProvider`)}),p.setState(d=>{let f=u.getState()._reconnect||!!u.getState()._reconnectConnector||!!c;return d.activeChainIds&&c.filter(T=>{var x;return !((x=d.activeChainIds)!=null&&x.includes(T))}).length>0?{status:"connecting"}:f?{status:"reconnecting"}:{status:"connecting"}});let{accounts:A}=p.getState();if(yield (t=a.init)==null?void 0:t.call(a),Oe(o)&&p.getState().capsuleClient&&Object.values(p.getState().accounts||[]).length>0){let d=c.map(x=>i.find(g=>g.chainId===x)),f=p.getState().accounts;p.setState({status:"connecting"});let C=yield a.getKey(c[0]),T={};return c.forEach(x=>{T[x]=N(O({},C),{bech32Address:encoding.toBech32(i.find(g=>g.chainId===x).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(C.bech32Address).data)});}),p.setState(x=>({accounts:O(O({},x.accounts||{}),T)})),u.setState(x=>({recentChainIds:[...x.recentChainIds||[],...c].filter((g,w,b)=>b.indexOf(g)===w)})),p.setState(x=>({activeChainIds:[...x.activeChainIds||[],...c].filter((g,w,b)=>b.indexOf(g)===w)})),p.setState({status:"connected"}),{accounts:f,walletType:o,chains:d}}if(yield a.enable(c),Oe(o)){let d=c.map(C=>i.find(T=>T.chainId===C)),f=p.getState().accounts;return p.setState({status:"connecting"}),{accounts:f,walletType:o,chains:d}}if(!it(o)){let d=yield a.getKey(c[0]),f={};c.forEach(C=>{f[C]=N(O({},d),{bech32Address:encoding.toBech32(i.find(T=>T.chainId===C).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(d.bech32Address).data)});}),p.setState(C=>({accounts:O(O({},C.accounts||{}),f)}));}u.setState(d=>({recentChainIds:[...d.recentChainIds||[],...c].filter((f,C,T)=>T.indexOf(f)===C)})),p.setState(d=>({activeChainIds:[...d.activeChainIds||[],...c].filter((f,C,T)=>T.indexOf(f)===C)})),u.setState({walletType:o,_reconnect:!!(e!=null&&e.autoReconnect),_reconnectConnector:o}),p.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(H,"Active");let E=c.map(d=>i.find(f=>f.chainId===d));return {accounts:p.getState().accounts,walletType:o,chains:E}}catch(n){throw console.error("connect ",n),p.getState().accounts===null&&p.setState({status:"disconnected"}),p.getState().accounts&&p.getState().activeChainIds&&p.setState({status:"connected"}),n}}),te=e=>{typeof window!="undefined"&&window.sessionStorage.removeItem(H);let t=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:e==null?void 0:e.chainId;if(t){let n=p.getState().accounts;t.forEach(r=>{n==null||delete n[r];}),Object.values(n||{}).length===0?(p.setState(Z),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null})):(p.setState(r=>{var o;return {activeChainIds:(o=r.activeChainIds)==null?void 0:o.filter(s=>!t.includes(s)),accounts:n}}),u.setState(r=>{var o;return {recentChainIds:(o=r.recentChainIds)==null?void 0:o.filter(s=>!t.includes(s))}}));}else p.setState(Z),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});return Promise.resolve()},z=e=>l(void 0,null,function*(){var r;let{recentChainIds:t,_reconnectConnector:n,_reconnect:i}=u.getState();try{let o=_(n||void 0);if(t&&o&&n)return yield ee({chainId:t,walletType:n,autoReconnect:i})}catch(o){(r=e==null?void 0:e.onError)==null||r.call(e,o),te();}}),at=e=>l(void 0,null,function*(){if(!(e!=null&&e.chainId))throw new Error("chainId is required");let{walletType:t}=u.getState(),n=e.walletType||t;if(!_(n))throw new Error(`${n} is not available`);let r=R(n),o=r.getOfflineSigner(e.chainId),s=r.getOfflineSignerOnlyAmino(e.chainId),a=yield r.getOfflineSignerAuto(e.chainId);return {offlineSigner:o,offlineSignerAmino:s,offlineSignerAuto:a}});var xe=()=>{u.setState({recentChainIds:null});},gi=()=>u.getState().recentChainIds,Ci=()=>{var n;let{recentChainIds:e,chains:t}=u.getState();return (n=e==null?void 0:e.map(i=>t.find(r=>r.chainId===i)))!=null?n:null},yi=({chainId:e})=>{var t;return (t=u.getState().chains)==null?void 0:t.find(n=>n.chainId===e)},Si=({chainId:e})=>{var t;return (t=u.getState().chains)==null?void 0:t.filter(n=>e==null?void 0:e.includes(n.chainId))},Me=n=>l(void 0,[n],function*({chainInfo:e,walletType:t}){let i=R(t);return t==="capsule"?yield ee({chainId:e.chainId,walletType:t}):yield i.experimentalSuggestChain(e),e}),ct=e=>l(void 0,null,function*(){var i;let t=u.getState().walletType;return yield Me({chainInfo:e.chainInfo,walletType:(i=e.walletType)!=null?i:t}),yield ee({chainId:e.chainInfo.chainId,walletType:e.walletType,autoReconnect:e.autoReconnect})});var lt=e=>(u.setState(t=>({walletConnect:e.walletConnect||t.walletConnect,walletType:e.defaultWallet||t.walletType,capsuleConfig:e.capsuleConfig||t.capsuleConfig,walletDefaultOptions:e.walletDefaultOptions||t.walletDefaultOptions,chains:e.chains,chainsConfig:e.chainsConfig||t.chainsConfig,multiChainFetchConcurrency:e.multiChainFetchConcurrency||t.multiChainFetchConcurrency,_notFoundFn:e.onNotFound||t._notFoundFn,_onReconnectFailed:e.onReconnectFailed||t._onReconnectFailed,_reconnect:e.autoReconnect===void 0?!0:e.autoReconnect||t._reconnect})),e);var ut=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,recipientAddress:n,amount:i,fee:r,memo:o}){if(!e)throw new Error("No connected account detected");if(!t)throw new Error("senderAddress is not defined");return e.sendTokens(t,n,i,r,o)}),dt=A=>l(void 0,[A],function*({signingClient:e,senderAddress:t,recipientAddress:n,transferAmount:i,sourcePort:r,sourceChannel:o,timeoutHeight:s,timeoutTimestamp:a,fee:c,memo:m}){if(!e)throw new Error("Stargate signing client is not ready");if(!t)throw new Error("senderAddress is not defined");return e.sendIbcTokens(t,n,i,r,o,s,a,c,m)}),pt=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,msg:n,fee:i,options:r,label:o,codeId:s}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.instantiate(t,s,n,o,i,r)}),mt=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,msg:n,fee:i,contractAddress:r,funds:o,memo:s}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.execute(t,r,n,i,s,o)}),ft=(e,t,n)=>l(void 0,null,function*(){if(!n)throw new Error("CosmWasm client is not ready");return yield n.queryContractSmart(e,t)}),gt=(e,t,n)=>{if(!n)throw new Error("CosmWasm client is not ready");let i=new TextEncoder().encode(t);return n.queryContractRaw(e,i)};var Mi=e=>e,vi=e=>e;var fe=e=>e?Object.keys(e).length===0:!0;var ve=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t;}},Ct=e=>globalThis.DOMException===void 0?new ve(e):new DOMException(e),yt=e=>{let t=e.reason===void 0?Ct("This operation was aborted."):e.reason;return t instanceof Error?t:Ct(t)};function We(o,s){return l(this,arguments,function*(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:i=!0,signal:r}={}){return new Promise((a,c)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(n)||n===Number.POSITIVE_INFINITY)&&n>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let m=[],A=[],E=new Map,h=!1,d=!1,f=!1,C=0,T=0,x=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),g=b=>{h=!0,d=!0,c(b);};r&&(r.aborted&&g(yt(r)),r.addEventListener("abort",()=>{g(yt(r));}));let w=()=>l(this,null,function*(){if(d)return;let b=yield x.next(),P=T;if(T++,b.done){if(f=!0,C===0&&!d){if(!i&&A.length>0){g(new AggregateError(A));return}if(d=!0,E.size===0){a(m);return}let D=[];for(let[B,ne]of m.entries())E.get(B)!==St&&D.push(ne);a(D);}return}C++,l(this,null,function*(){try{let D=yield b.value;if(d)return;let B=yield t(D,P);B===St&&E.set(P,B),m[P]=B,C--,yield w();}catch(D){if(i)g(D);else {A.push(D),C--;try{yield w();}catch(B){g(B);}}}});});l(this,null,function*(){for(let b=0;b<n;b++){try{yield w();}catch(P){g(P);break}if(f||h)break}});})})}var St=Symbol("skip");var L=({chainId:e,multiChain:t})=>{let n=u(r=>r.chains);if(!n)throw new Error("No chains found in GrazProvider");let i=typeof e=="string"?[e]:e;switch(!0){case(!!t&&!!i):return i.map(r=>n.find(o=>o.chainId===r)).filter(Boolean);case(!t&&!!i):return [i.map(r=>n.find(o=>o.chainId===r)).filter(Boolean)[0]];case(!!t&&!i):return n;default:return [n[0]]}},q=(e,t,n)=>l(void 0,null,function*(){let i=u.getState().multiChainFetchConcurrency;if(e){let o=yield We(t,n,{concurrency:i});return Object.fromEntries(o.map((s,a)=>[t[a].chainId,s]))}return yield n(t[0])}),ht=(e,t,n)=>{if(e){let r=t.map(n);return Object.fromEntries(r.map((o,s)=>[t[s].chainId,o]))}return n(t[0])};var Pe=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=react.useMemo(()=>["USE_STARGATE_CLIENT",t],[t]);return reactQuery.useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),i,s=>l(void 0,null,function*(){var A;let a=(A=u.getState().chainsConfig)==null?void 0:A[s.chainId],c={url:s.rpc,headers:O({},(a==null?void 0:a.rpcHeaders)||{})};return yield stargate.StargateClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},De=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=react.useMemo(()=>["USE_COSMWASM_CLIENT",t],[t]);return reactQuery.useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),i,s=>l(void 0,null,function*(){var A;let a=(A=u.getState().chainsConfig)==null?void 0:A[s.chainId],c={url:s.rpc,headers:O({},(a==null?void 0:a.rpcHeaders)||{})};return yield cosmwasmStargate.CosmWasmClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},ge=({type:e,chainId:t,multiChain:n,enabled:i})=>{let r=L({chainId:t,multiChain:n}),o=react.useMemo(()=>["USE_TENDERMINT_CLIENT",e,r],[e,r]);return reactQuery.useQuery({queryKey:o,queryFn:c=>l(void 0,[c],function*({queryKey:[,s,a]}){if(a.length<1)throw new Error("No chains found");return yield q(!!n,a,A=>l(void 0,null,function*(){var C;let E=(C=u.getState().chainsConfig)==null?void 0:C[A.chainId],h={url:A.rpc,headers:O({},(E==null?void 0:E.rpcHeaders)||{})};return yield (s==="tm37"?tendermintRpc.Tendermint37Client:tendermintRpc.Tendermint34Client).connect(h)}))}),enabled:!!r&&r.length>0&&(i!==void 0?!!i:!0),refetchOnWindowFocus:!1})};var nr=()=>u(e=>({walletType:e.walletType,isCosmostation:e.walletType==="cosmostation",isCosmostationMobile:e.walletType==="wc_cosmostation_mobile",isKeplr:e.walletType==="keplr",isKeplrMobile:e.walletType==="wc_keplr_mobile",isLeap:e.walletType==="leap",isLeapMobile:e.walletType==="wc_leap_mobile",isVectis:e.walletType==="vectis",isWalletConnect:e.walletType==="walletconnect",isMetamaskSnapLeap:e.walletType==="metamask_snap_leap",isStation:e.walletType==="station",isCapsule:e.walletType==="capsule"}),shallow.shallow),Ce=e=>{let n=["USE_CHECK_WALLET",u(r=>e||r.walletType)];return reactQuery.useQuery(n,({queryKey:[,r]})=>_(r))};var V=e=>{let t=u(a=>a.walletType),n=p(a=>a.activeChainIds),i=L({chainId:e!=null&&e.chainId?e.chainId:n||void 0,multiChain:e==null?void 0:e.multiChain}),r=p(a=>a.accounts),o=p(a=>a.status);return react.useEffect(()=>p.subscribe(a=>a.status,(a,c)=>{var m,A,E;if(a==="connected"){let{accounts:h,activeChainIds:d}=p.getState(),{chains:f}=u.getState(),{walletType:C}=u.getState();if(!h||!d||!f)return (m=e==null?void 0:e.onDisconnect)==null?void 0:m.call(e);(A=e==null?void 0:e.onConnect)==null||A.call(e,{accounts:h,chains:d.map(T=>f.find(x=>x.chainId===T)),walletType:C,isReconnect:c==="reconnecting"});}a==="disconnected"&&((E=e==null?void 0:e.onDisconnect)==null||E.call(e));}),[e]),{data:react.useMemo(()=>r?ht(!!(e!=null&&e.multiChain),i,a=>r[a.chainId]):void 0,[r,i,e==null?void 0:e.multiChain]),isConnected:o==="connected",isConnecting:o==="connecting",isDisconnected:o==="disconnected",isReconnecting:o==="reconnecting",isLoading:o==="connecting"||o==="reconnecting",walletType:o==="connected"?t:void 0,reconnect:z,status:o}},tn=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=V(),i=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),{data:r}=Pe({chainId:t.map(s=>s.chainId),multiChain:!0,enabled:((e==null?void 0:e.enabled)===void 0?!0:e.enabled)&&!!i}),o=react.useMemo(()=>["USE_ALL_BALANCES",r,t,i,e==null?void 0:e.chainId],[i,e==null?void 0:e.chainId,t,r]);return reactQuery.useQuery(o,m=>l(void 0,[m],function*({queryKey:[,s,a,c]}){if(!c)throw new Error("address is not defined");return yield q(!!(e!=null&&e.multiChain),a,E=>l(void 0,null,function*(){let h=s==null?void 0:s[E.chainId];if(!h)throw new Error(`Client is not ready ${E.chainId}`);return yield h.getAllBalances(encoding.toBech32(E.bech32Config.bech32PrefixAccAddr,encoding.fromBech32(c).data))}))}),{enabled:!!i&&!!t&&t.length>0&&!fe(r)&&((e==null?void 0:e.enabled)===void 0?!0:e.enabled),refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},gr=e=>{let t=L({chainId:e.chainId}),{data:n}=V({chainId:e.chainId}),i=e.bech32Address||(n==null?void 0:n.bech32Address),{data:r,refetch:o}=tn({chainId:t.map(c=>c.chainId),bech32Address:i,enabled:!!i&&(e.enabled===void 0?!0:e.enabled)}),s=["USE_BALANCE",e.denom,r,t,i,e.chainId],a=reactQuery.useQuery(s,({queryKey:[,c,m]})=>m==null?void 0:m.find(A=>A.denom===c),{enabled:!!e.denom&&!!r&&!!(r!=null&&r.length)&&(e.enabled===void 0?!0:e.enabled)});return N(O({},a),{refetch:c=>l(void 0,null,function*(){return yield o(),a.refetch(c)})})},Cr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_CONNECT",e,t,n],ee,{onError:(s,a)=>e==null?void 0:e(s,a),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:o}=Ce();return {connect:s=>r.mutate(s),connectAsync:s=>r.mutateAsync(s),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!o,status:r.status}},yr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_DISCONNECT",e,t,n],te,{onError:o=>Promise.resolve(e==null?void 0:e(o,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return {disconnect:o=>r.mutate(o),disconnectAsync:o=>r.mutateAsync(o),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,status:r.status}},Sr=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(r=>r.walletType),i=react.useMemo(()=>["USE_OFFLINE_SIGNERS",t,n],[t,n]);return reactQuery.useQuery({queryKey:i,queryFn:s=>l(void 0,[s],function*({queryKey:[,r,o]}){if(r.length<1)throw new Error("No chain found");if(!_(o))throw new Error(`${o} is not available`);return yield q(!!(e!=null&&e.multiChain),r,m=>l(void 0,null,function*(){return yield at({chainId:m.chainId,walletType:o})}))}),enabled:!!t&&t.length>0&&!!n,refetchOnWindowFocus:!1})},hr=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=V(),{data:i}=Pe({chainId:t.map(s=>s.chainId),multiChain:!0}),r=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),o=react.useMemo(()=>["USE_BALANCE_STAKED",i,t,r],[t,r,i]);return reactQuery.useQuery(o,m=>l(void 0,[m],function*({queryKey:[,s,a,c]}){if(!c)throw new Error("address is not defined");return yield q(!!(e!=null&&e.multiChain),a,E=>l(void 0,null,function*(){var d;if(!s)throw new Error("Client is not ready");return yield (d=s[E.chainId])==null?void 0:d.getBalanceStaked(encoding.toBech32(E.bech32Config.bech32PrefixAccAddr,encoding.fromBech32(c).data))}))}),{enabled:!!r&&!!t&&t.length>0&&!!i,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var Or=()=>{let e=u(i=>i.capsuleState),t=p(i=>i.capsuleClient),n=ae();return {setModalState:i=>{u.setState(r=>{var o;return {capsuleState:{showModal:i,chainId:(o=r.capsuleState)==null?void 0:o.chainId}}});},modalState:!!(e!=null&&e.showModal),client:t,onAfterLoginSuccessful:n.onAfterLoginSuccessful,onLoginFailure:()=>{te();}}};var Pr=()=>p(e=>e.activeChainIds),nn=()=>{var e;return (e=p(t=>t.activeChainIds))==null?void 0:e.map(t=>{var i;let n=(i=u.getState().chains)==null?void 0:i.find(r=>r.chainId===t);if(n)return n}).filter(Boolean)},Dr=({chainId:e})=>{var t;return (t=u().chains)==null?void 0:t.find(n=>n.chainId===e)},Nr=({chainId:e})=>{var t;return (t=u().chains)==null?void 0:t.filter(n=>e==null?void 0:e.includes(n.chainId))},Br=({denom:e})=>{let t=nn();return reactQuery.useQuery(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,r]})=>{var o;return (o=t==null?void 0:t.find(s=>s.currencies.find(a=>a.coinMinimalDenom===r)))==null?void 0:o.currencies.find(s=>s)})},_r=e=>{var r;let t=(r=e.status)!=null?r:"BOND_STATUS_BONDED",n=["USE_ACTIVE_CHAIN_VALIDATORS",e.queryClient,t];return reactQuery.useQuery(n,a=>l(void 0,[a],function*({queryKey:[,o,s]}){if(!o)throw new Error("Query client is not defined");return yield o.staking.validators(s)}),{enabled:typeof e.queryClient!="undefined"})},Kr=()=>({data:u(t=>t.recentChainIds),clear:xe}),Lr=()=>{var t;return {data:(t=u(n=>n.recentChainIds))==null?void 0:t.map(n=>{var r;let i=(r=u.getState().chains)==null?void 0:r.find(o=>o.chainId===n);if(i)return i}).filter(Boolean),clear:xe}},Ur=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_SUGGEST_CHAIN",e,t,n],Me,{onError:(o,s)=>Promise.resolve(e==null?void 0:e(o,s.chainInfo)),onMutate:o=>t==null?void 0:t(o.chainInfo),onSuccess:o=>Promise.resolve(n==null?void 0:n(o))});return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,suggest:r.mutate,suggestAsync:r.mutateAsync,status:r.status}},qr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],ct,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:s=>t==null?void 0:t(s),onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:o}=Ce();return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!o,status:r.status,suggestAndConnect:r.mutate,suggestAndConnectAsync:r.mutateAsync}};var Vr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=V(),r=i==null?void 0:i.bech32Address,o=reactQuery.useMutation(["USE_SEND_TOKENS",e,t,n,r],s=>ut(O({senderAddress:r},s)),{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendTokens:o.mutate,sendTokensAsync:o.mutateAsync,status:o.status}},Yr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=V(),r=i==null?void 0:i.bech32Address,o=reactQuery.useMutation(["USE_SEND_IBC_TOKENS",e,t,n,r],s=>dt(O({senderAddress:r},s)),{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendIbcTokens:o.mutate,sendIbcTokensAsync:o.mutateAsync,status:o.status}},Xr=({codeId:e,onError:t,onLoading:n,onSuccess:i})=>{let{data:r}=V(),o=r==null?void 0:r.bech32Address,a=reactQuery.useMutation(["USE_INSTANTIATE_CONTRACT",t,n,i,e,o],c=>{var A;if(!o)throw new Error("senderAddress is undefined");let m=N(O({},c),{fee:(A=c.fee)!=null?A:"auto",senderAddress:o,codeId:e});return pt(m)},{onError:(c,m)=>Promise.resolve(t==null?void 0:t(c,m)),onMutate:n,onSuccess:c=>Promise.resolve(i==null?void 0:i(c))});return {error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,instantiateContract:a.mutate,instantiateContractAsync:a.mutateAsync,status:a.status}},Jr=({contractAddress:e,onError:t,onLoading:n,onSuccess:i})=>{let{data:r}=V(),o=r==null?void 0:r.bech32Address,a=reactQuery.useMutation(["USE_EXECUTE_CONTRACT",t,n,i,e,o],c=>{var A,E,h;if(!o)throw new Error("senderAddress is undefined");let m=N(O({},c),{fee:(A=c.fee)!=null?A:"auto",senderAddress:o,contractAddress:e,memo:(E=c.memo)!=null?E:"",funds:(h=c.funds)!=null?h:[]});return mt(m)},{onError:(c,m)=>Promise.resolve(t==null?void 0:t(c,m)),onMutate:n,onSuccess:c=>Promise.resolve(i==null?void 0:i(c))});return {error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,executeContract:a.mutate,executeContractAsync:a.mutateAsync,status:a.status}},Zr=e=>{let{data:t}=De();return reactQuery.useQuery(["USE_QUERY_SMART",e==null?void 0:e.address,e==null?void 0:e.queryMsg,t],({queryKey:[,i]})=>{if(!(e!=null&&e.address)||!e.queryMsg)throw new Error("address or queryMsg undefined");return ft(e.address,e.queryMsg,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.queryMsg)&&!!t})},es=e=>{let{data:t}=De(),n=["USE_QUERY_RAW",e==null?void 0:e.key,e==null?void 0:e.address,t];return reactQuery.useQuery(n,({queryKey:[,r]})=>{if(!(e!=null&&e.address)||!e.key)throw new Error("address or key undefined");return gt(e.address,e.key,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.key)&&!!t})};function ms(e){let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=p(o=>o.activeChainIds),r=react.useMemo(()=>["USE_STARGATE_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]);return reactQuery.useQuery({queryKey:r,queryFn:a=>l(this,[a],function*({queryKey:[,o,s]}){if(o.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),o,m=>l(this,null,function*(){var C,T;if(!(i!=null&&i.includes(m.chainId)))return;if(!_(s))throw new Error(`${s} is not available`);let E=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return R(s).getOfflineSigner(m.chainId);case"offlineSignerAuto":return R(s).getOfflineSignerAuto(m.chainId);case"offlineSignerOnlyAmino":return R(s).getOfflineSignerOnlyAmino(m.chainId);default:return R(s).getOfflineSignerAuto(m.chainId)}}))(),h=(C=u.getState().chainsConfig)==null?void 0:C[m.chainId],d={url:m.rpc,headers:O({},(h==null?void 0:h.rpcHeaders)||{})};return (e==null?void 0:e.multiChain)===!0&&e.opts,yield stargate.SigningStargateClient.connectWithSigner(d,E,e!=null&&e.multiChain?(T=e.opts)==null?void 0:T[m.chainId]:e==null?void 0:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function fs(e){let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=p(o=>o.activeChainIds),r=react.useMemo(()=>["USE_COSMWASM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]);return reactQuery.useQuery({queryKey:r,queryFn:a=>l(this,[a],function*({queryKey:[,o,s]}){if(o.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),o,m=>l(this,null,function*(){var T,x;if(!(i!=null&&i.includes(m.chainId)))return;if(!_(s))throw new Error(`${s} is not available`);let E=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return R(s).getOfflineSigner(m.chainId);case"offlineSignerAuto":return R(s).getOfflineSignerAuto(m.chainId);case"offlineSignerOnlyAmino":return R(s).getOfflineSignerOnlyAmino(m.chainId);default:return R(s).getOfflineSignerAuto(m.chainId)}}))(),h=(T=u.getState().chainsConfig)==null?void 0:T[m.chainId],d={url:m.rpc,headers:O({},(h==null?void 0:h.rpcHeaders)||{})},f=h!=null&&h.gas?stargate.GasPrice.fromString(`${h.gas.price}${h.gas.denom}`):void 0;return yield cosmwasmStargate.SigningCosmWasmClient.connectWithSigner(d,E,O({gasPrice:f},e!=null&&e.multiChain?(x=e.opts)==null?void 0:x[m.chainId]:(e==null?void 0:e.opts)||{}))}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function gs(e){let t=L({chainId:e.chainId,multiChain:e.multiChain}),n=u(s=>s.walletType),i=p(s=>s.activeChainIds),r=react.useMemo(()=>["USE_STARGATE_TM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]),{data:o}=ge({type:e.type,chainId:e.chainId,multiChain:e.multiChain});return reactQuery.useQuery({queryKey:r,queryFn:c=>l(this,[c],function*({queryKey:[,s,a]}){if(s.length<1)throw new Error("No chains found");return yield q(!!e.multiChain,s,A=>l(this,null,function*(){var C;if(!(i!=null&&i.includes(A.chainId)))return;if(!_(a))throw new Error(`${a} is not available`);if(!o)throw new Error("No tendermint client found");let h=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return R(a).getOfflineSigner(A.chainId);case"offlineSignerAuto":return R(a).getOfflineSignerAuto(A.chainId);case"offlineSignerOnlyAmino":return R(a).getOfflineSignerOnlyAmino(A.chainId);default:return R(a).getOfflineSignerAuto(A.chainId)}}))(),d=e.multiChain?o[A.chainId]:o;return yield stargate.SigningStargateClient.createWithSigner(d,h,e.multiChain?(C=e.opts)==null?void 0:C[A.chainId]:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&!!o&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Cs(e){let t=L({chainId:e.chainId,multiChain:e.multiChain}),n=u(a=>a.walletType),i=p(a=>a.activeChainIds),r=react.useMemo(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]),{data:o}=ge({type:e.type,chainId:e.chainId,multiChain:!1,enabled:!e.multiChain}),{data:s}=ge({type:e.type,chainId:e.chainId,multiChain:!0,enabled:!!e.multiChain});return reactQuery.useQuery({queryKey:r,queryFn:m=>l(this,[m],function*({queryKey:[,a,c]}){if(a.length<1)throw new Error("No chains found");return yield q(!!e.multiChain,a,E=>l(this,null,function*(){var g,w;if(!(i!=null&&i.includes(E.chainId)))return;if(!_(c))throw new Error(`${c} is not available`);let d=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return R(c).getOfflineSigner(E.chainId);case"offlineSignerAuto":return R(c).getOfflineSignerAuto(E.chainId);case"offlineSignerOnlyAmino":return R(c).getOfflineSignerOnlyAmino(E.chainId);default:return R(c).getOfflineSignerAuto(E.chainId)}}))(),f=(g=u.getState().chainsConfig)==null?void 0:g[E.chainId],C=f!=null&&f.gas?stargate.GasPrice.fromString(`${f.gas.price}${f.gas.denom}`):void 0,T=e.multiChain?s==null?void 0:s[E.chainId]:o;if(!T)throw new Error("No tendermint client found");return yield cosmwasmStargate.SigningCosmWasmClient.createWithSigner(T,d,O({gasPrice:C},e.multiChain?(w=e.opts)==null?void 0:w[E.chainId]:e.opts||{}))}))}),enabled:!!t&&t.length>0&&!!n&&(!!o||!fe(s))&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}var vt=({children:e})=>{let[t,n]=react.useState(!1);return react.useEffect(()=>{n(!0);},[]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:t?e:null})};var cn=()=>{let e=typeof window!="undefined"&&window.sessionStorage.getItem(H)==="Active",{_reconnect:t,_onReconnectFailed:n,_reconnectConnector:i}=u(),{activeChainIds:r,wcSignClients:o}=p(),s=_(i||void 0);return react.useEffect(()=>{if(i){if(!s)return;e&&r?z({onError:n}):!e&&t&&z({onError:n});}},[s]),react.useEffect(()=>{var a,c,m,A,E,h,d,f,C,T,x,g,w,b;if(i){if(!s)return;i==="cosmostation"&&((c=(a=ce()).subscription)==null||c.call(a,()=>{z({onError:n});})),i==="keplr"&&((A=(m=le()).subscription)==null||A.call(m,()=>{z({onError:n});})),i==="leap"&&((h=(E=ue()).subscription)==null||h.call(E,()=>{z({onError:n});})),i==="vectis"&&((f=(d=pe()).subscription)==null||f.call(d,()=>{z({onError:n});})),i==="walletconnect"&&o.has("walletconnect")&&((T=(C=j()).subscription)==null||T.call(C,()=>{z({onError:n});})),i==="station"&&((g=(x=de()).subscription)==null||g.call(x,()=>{z({onError:n});})),i==="xdefi"&&((b=(w=me()).subscription)==null||b.call(w,()=>{z({onError:n});}));}},[i,o,s]),null},kt=()=>(cn(),null);var dn=new reactQuery.QueryClient({}),Gs=i=>{var r=i,{children:e,grazOptions:t}=r,n=Fe(r,["children","grazOptions"]);return lt(t),jsxRuntime.jsx(reactQuery.QueryClientProvider,N(O({client:dn},n),{children:jsxRuntime.jsxs(vt,{children:[e,jsxRuntime.jsx(kt,{})]})}),"graz-provider")};
22
+ var Lt=Object.defineProperty,Ut=Object.defineProperties;var qt=Object.getOwnPropertyDescriptors;var se=Object.getOwnPropertySymbols;var Ge=Object.prototype.hasOwnProperty,Fe=Object.prototype.propertyIsEnumerable;var qe=(e,t,n)=>t in e?Lt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,O=(e,t)=>{for(var n in t||(t={}))Ge.call(t,n)&&qe(e,n,t[n]);if(se)for(var n of se(t))Fe.call(t,n)&&qe(e,n,t[n]);return e},N=(e,t)=>Ut(e,qt(t));var ze=(e,t)=>{var n={};for(var i in e)Ge.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&se)for(var i of se(e))t.indexOf(i)<0&&Fe.call(e,i)&&(n[i]=e[i]);return n};var l=(e,t,n)=>new Promise((i,r)=>{var o=c=>{try{a(n.next(c));}catch(p){r(p);}},s=c=>{try{a(n.throw(c));}catch(p){r(p);}},a=c=>c.done?i(c.value):Promise.resolve(c.value).then(o,s);a((n=n.apply(e,t)).next());});var $="graz-reconnect-session";var Qe=(d=>(d.KEPLR="keplr",d.LEAP="leap",d.VECTIS="vectis",d.COSMOSTATION="cosmostation",d.WALLETCONNECT="walletconnect",d.WC_KEPLR_MOBILE="wc_keplr_mobile",d.WC_LEAP_MOBILE="wc_leap_mobile",d.WC_COSMOSTATION_MOBILE="wc_cosmostation_mobile",d.METAMASK_SNAP_LEAP="metamask_snap_leap",d.METAMASK_SNAP_COSMOS="metamask_snap_cosmos",d.STATION="station",d.XDEFI="xdefi",d.CAPSULE="capsule",d))(Qe||{}),je=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap","station","xdefi","capsule","metamask_snap_cosmos"];var Ft={recentChainIds:null,chains:null,chainsConfig:null,capsuleConfig:null,capsuleState:null,multiChainFetchConcurrency:3,walletType:"keplr",walletConnect:{options:null,web3Modal:null},walletDefaultOptions:null,_notFoundFn:()=>null,_onReconnectFailed:()=>null,_reconnect:!1,_reconnectConnector:null},Z={accounts:null,activeChainIds:null,status:"disconnected",wcSignClients:new Map,capsuleClient:null},zt={name:"graz-session",version:2,partialize:e=>({accounts:e.accounts,activeChainIds:e.activeChainIds}),storage:middleware.createJSONStorage(()=>sessionStorage)},Qt={name:"graz-internal",partialize:e=>({recentChainIds:e.recentChainIds,_reconnect:e._reconnect,_reconnectConnector:e._reconnectConnector,walletType:e.walletType}),version:2},m=zustand.create(middleware.subscribeWithSelector(middleware.persist(()=>Z,zt))),u=zustand.create(middleware.subscribeWithSelector(middleware.persist(()=>Ft,Qt)));var ae=()=>{var I,T;if(!((I=u.getState().capsuleConfig)!=null&&I.apiKey)||!((T=u.getState().capsuleConfig)!=null&&T.env))throw new Error("Capsule configuration is not set");let e=()=>l(void 0,null,function*(){var y,E;let d=(yield import('@leapwallet/cosmos-social-login-capsule-provider')).CapsuleProvider,g=new d({apiKey:(y=u.getState().capsuleConfig)==null?void 0:y.apiKey,env:(E=u.getState().capsuleConfig)==null?void 0:E.env});return m.setState({capsuleClient:g}),g});return {init:e,enable:d=>l(void 0,null,function*(){let g=typeof d=="string"?[d]:d,y=m.getState().capsuleClient;y||(y=yield e()),u.setState({capsuleState:{showModal:!0,chainId:g}});}),onAfterLoginSuccessful:()=>l(void 0,null,function*(){var f;let d=m.getState().capsuleClient,{chains:g}=u.getState();if(!d)throw new Error("Capsule client is not initialized");if(!g)throw new Error("Chains are not set");yield d.enable();let y=(f=u.getState().capsuleState)==null?void 0:f.chainId;if(!y)throw new Error("Chain ids are not set");let E=yield d.getAccount(y[0]),x={};y.forEach(w=>{x[w]={address:encoding.fromBech32(E.address).data,bech32Address:encoding.toBech32(g.find(b=>b.chainId===w).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(E.address).data),algo:E.algo,name:E.username||"",pubKey:E.pubkey,isKeystone:!1,isNanoLedger:!1};}),m.setState(w=>({accounts:O(O({},w.accounts||{}),x)})),u.setState(w=>({recentChainIds:[...w.recentChainIds||[],...y].filter((b,P,D)=>D.indexOf(b)===P)})),m.setState(w=>({activeChainIds:[...w.activeChainIds||[],...y].filter((b,P,D)=>D.indexOf(b)===P)})),u.setState({walletType:"capsule",_reconnect:!1,_reconnectConnector:"capsule"}),m.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem($,"Active"),u.setState({capsuleState:null});}),getKey:d=>l(void 0,null,function*(){let g=m.getState().capsuleClient;if(!g)throw new Error("Capsule client is not initialized");let y=yield g.getAccount(d);return {address:encoding.fromBech32(y.address).data,bech32Address:y.address,algo:y.algo,name:y.username||"",pubKey:y.pubkey,isKeystone:!1,isNanoLedger:!1}}),getOfflineSignerAuto:d=>l(void 0,null,function*(){let g=m.getState().capsuleClient;if(!g)throw new Error("Capsule client is not initialized");return g.getOfflineSignerDirect(d)}),getOfflineSignerDirect:d=>{let g=m.getState().capsuleClient;if(!g)throw new Error("Capsule client is not initialized");return g.getOfflineSignerDirect(d)},signDirect:(...d)=>l(void 0,null,function*(){let[g,y,E]=d,x=m.getState().capsuleClient;if(!x)throw new Error("Capsule client is not initialized");return x.signDirect(g,y,{bodyBytes:E.bodyBytes,authInfoBytes:E.authInfoBytes,chainId:E.chainId,accountNumber:E.accountNumber})}),signAmino:(...d)=>l(void 0,null,function*(){let[g,y,E,x]=d,f=m.getState().capsuleClient;if(!f)throw new Error("Capsule client is not initialized");return f.signAmino(g,y,E,x)}),experimentalSuggestChain:(...d)=>l(void 0,null,function*(){yield Promise.reject(new Error("Capsule does not support experimentalSuggestChain"));}),setDefaultOptions:()=>{console.log("setDefaultOptions not supported by capsule");},getOfflineSigner:d=>{let g=m.getState().capsuleClient;if(!g)throw new Error("Capsule client is not initialized");return g.getOfflineSigner(d)},getOfflineSignerAmino:d=>{let g=m.getState().capsuleClient;if(!g)throw new Error("Capsule client is not initialized");return g.getOfflineSignerAmino(d)}}};var Je={},Ze=()=>{let e=window.ethereum,t=window.cosmos;if(e)return {init:()=>l(void 0,null,function*(){var h;let o=yield e.request({method:"web3_clientVersion"});if(!o.includes("MetaMask"))throw new Error("Metamask is not installed");if(typeof window.okxwallet!="undefined"&&window.okxwallet.isOkxWallet)throw new Error("You have OKX Wallet installed. Please disable and reload the page to use Metamask Snap.");let a=(h=o.split("MetaMask/v")[1])==null?void 0:h.split(".")[0];if(!(Number(a)>=11))throw new Error("Metamask Snap is not supported in this version");return (yield snapper.isSnapInstalled())||(yield snapper.installSnap()),window.cosmos=new snapper.CosmosSnap,t=window.cosmos,!0}),enable:o=>l(void 0,null,function*(){(yield snapper.isSnapInstalled())||(yield snapper.installSnap());}),getOfflineSigner:o=>t.getOfflineSigner(o),experimentalSuggestChain:o=>l(void 0,null,function*(){yield t.experimentalSuggestChain(o);}),signAmino:(o,s,a)=>l(void 0,null,function*(){return t.signAmino(o,s,a)}),getKey:o=>l(void 0,null,function*(){return typeof Je[o]!="undefined"?Je[o]:t.getKey(o)}),getOfflineSignerAuto:o=>l(void 0,null,function*(){return (yield t.getKey(o)).isNanoLedger?t.getOfflineSignerOnlyAmino(o):t.getOfflineSigner(o)}),getOfflineSignerOnlyAmino:o=>t.getOfflineSignerOnlyAmino(o),signDirect:(o,s,a)=>l(void 0,null,function*(){return t.signDirect(o,s,a)}),signArbitrary:(o,s,a)=>l(void 0,null,function*(){return t.signArbitrary(o,s,a)}),disable:o=>l(void 0,null,function*(){o&&(yield t.deleteChain(o));})};throw u.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var ce=()=>{var e;if(typeof((e=window.cosmostation)==null?void 0:e.providers.keplr)!="undefined"){let t=window.cosmostation.providers.keplr;return Object.assign(t,{subscription:o=>{var a;let s=()=>{F(),o();};return (a=window.cosmostation)==null||a.cosmos.on("accountChanged",s),()=>{var c;(c=window.cosmostation)==null||c.cosmos.off("accountChanged",s);}},setDefaultOptions:o=>{t.defaultOptions=o;}})}throw u.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var le=()=>{if(typeof window.keplr!="undefined"){let e=window.keplr;return Object.assign(e,{subscription:r=>{let o=()=>{F(),r();};return window.addEventListener("keplr_keystorechange",o),()=>{window.removeEventListener("keplr_keystorechange",o);}},setDefaultOptions:r=>{e.defaultOptions=r;}})}throw u.getState()._notFoundFn(),new Error("window.keplr is not defined")};var ue=()=>{if(typeof window.leap!="undefined"){let e=window.leap;return Object.assign(e,{subscription:r=>{let o=()=>{F(),r();};return window.addEventListener("leap_keystorechange",o),()=>{window.removeEventListener("leap_keystorechange",o);}},setDefaultOptions:r=>{e.defaultOptions=r;}})}throw u.getState()._notFoundFn(),new Error("window.leap is not defined")};var de={},et=e=>{let t=window.ethereum;if(t&&e){let n=()=>l(void 0,null,function*(){return yield t.request({method:"wallet_getSnaps"})}),i=f=>l(void 0,null,function*(){try{let w=yield n();return Object.values(w).find(b=>b.id===e.id&&(!f||b.version===f))}catch(w){return}}),r=()=>l(void 0,null,function*(){yield t.request({method:"wallet_requestSnaps",params:{[e.id]:e.params||{}}});}),o=()=>l(void 0,null,function*(){var K;let f=yield t.request({method:"web3_clientVersion"});if(!f.includes("MetaMask"))throw new Error("Metamask is not installed");if(typeof window.okxwallet!="undefined"&&window.okxwallet.isOkxWallet)throw new Error("You have OKX Wallet installed. Please disable and reload the page to use Metamask Snap.");let b=(K=f.split("MetaMask/v")[1])==null?void 0:K.split(".")[0];if(!(Number(b)>=11))throw new Error("Metamask Snap is not supported in this version");return (yield i())||(yield r()),!0}),s=f=>l(void 0,null,function*(){(yield i())||(yield r());}),a=(f,w,b)=>l(void 0,null,function*(){let P=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signDirect",params:{chainId:f,signerAddress:w,signDoc:b}}}}),D=b.accountNumber,K=new $t__default.default(D.low,D.high,D.unsigned);return {signature:P.signature,signed:N(O({},P.signed),{accountNumber:`${K.toString()}`,authInfoBytes:new Uint8Array(Object.values(P.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(P.signed.bodyBytes))})}}),c=(f,w,b)=>l(void 0,null,function*(){return yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signAmino",params:{chainId:f,signerAddress:w,signDoc:b}}}})}),p=f=>l(void 0,null,function*(){if(typeof de[f]!="undefined")return de[f];let w=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"getKey",params:{chainId:f}}}});if(!w)throw new Error("No response from Metamask");return w.pubKey=Uint8Array.from(Object.values(w.pubkey)),delete w.pubkey,de[f]=w,de[f]}),h=f=>l(void 0,null,function*(){let w=yield p(f);return {address:w.bech32Address,algo:w.algo,pubkey:w.pubKey}}),I=(...f)=>l(void 0,null,function*(){let[w,b,P,D]=f;return yield c(w,b,P)}),T=(...f)=>l(void 0,null,function*(){let[w,b,P]=f;return yield a(w,b,P)}),d=f=>({getAccounts:()=>l(void 0,null,function*(){return [yield h(f)]}),signDirect:(w,b)=>T(f,w,b)}),g=f=>({getAccounts:()=>l(void 0,null,function*(){return [yield h(f)]}),signAmino:(w,b)=>I(f,w,b)});return {enable:s,experimentalSuggestChain:(...f)=>l(void 0,null,function*(){yield o(),yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"suggestChain",params:{chainInfo:f[0]}}}});}),getKey:p,getOfflineSigner:f=>({getAccounts:()=>l(void 0,null,function*(){return [yield h(f)]}),signDirect:(w,b)=>T(f,w,b),signAmino:(w,b)=>I(f,w,b)}),getOfflineSignerAuto:f=>l(void 0,null,function*(){return (yield p(f)).isNanoLedger?g(f):d(f)}),getOfflineSignerOnlyAmino:g,init:o,signAmino:I,signDirect:T}}throw u.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var tt=()=>et({id:"npm:@leapwallet/metamask-cosmos-snap"});var pe=()=>{if(typeof window.station!="undefined"){let e=window.station.keplr;return {subscription:o=>{let s=()=>{F(),o();};return window.addEventListener("station_wallet_change",s),()=>{window.removeEventListener("station_wallet_change",s);}},getKey:o=>l(void 0,null,function*(){let s=yield e.getKey(o);return O({isKeystone:!1},s)}),getOfflineSigner:o=>{try{let s=e.getOfflineSignerOnlyAmino(o);return Object.assign(s,{signDirect:(p,h)=>{throw new Error("signDirect not supported by Station")}})}catch(s){throw console.error(s),s}},experimentalSuggestChain:o=>l(void 0,null,function*(){try{let s=Object.assign(o,{chainSymbolImageUrl:o.chainSymbolImageUrl||"",stakeCurrency:{coinDecimals:o.stakeCurrency.coinDecimals,coinDenom:o.stakeCurrency.coinDenom,coinImageUrl:o.stakeCurrency.coinImageUrl||"",coinMinimalDenom:o.stakeCurrency.coinMinimalDenom},currencies:o.currencies.map(a=>({coinDecimals:a.coinDecimals,coinDenom:a.coinDenom,coinImageUrl:a.coinImageUrl||"",coinMinimalDenom:a.coinMinimalDenom})),feeCurrencies:o.feeCurrencies.map(a=>{var c,p,h;return {coinDecimals:a.coinDecimals,coinDenom:a.coinDenom,coinImageUrl:a.coinImageUrl||"",coinMinimalDenom:a.coinMinimalDenom,gasPriceStep:{average:((c=a.gasPriceStep)==null?void 0:c.average)||0,high:((p=a.gasPriceStep)==null?void 0:p.high)||0,low:((h=a.gasPriceStep)==null?void 0:h.low)||0}}})});yield e.experimentalSuggestChain(s);}catch(s){throw console.error(s),s}}),enable:o=>e.enable(o),disable:o=>e.disable(o),getOfflineSignerAuto:o=>e.getOfflineSignerAuto(o),getOfflineSignerOnlyAmino:o=>e.getOfflineSignerOnlyAmino(o),signDirect:()=>e.signDirect(),signAmino:(o,s,a,c)=>e.signAmino(o,s,a),setDefaultOptions:()=>{console.log("setDefaultOptions not supported by WalletConnect");}}}throw u.getState()._notFoundFn(),new Error("window.station is not defined")};var me=()=>{if(typeof window.vectis!="undefined"){let e=window.vectis.cosmos;return {enable:a=>e.enable(a),getOfflineSigner:a=>e.getOfflineSigner(a),getOfflineSignerAuto:a=>e.getOfflineSignerAuto(a),getKey:a=>l(void 0,null,function*(){let c=yield e.getKey(a);return {address:encoding.fromBech32(c.address).data,algo:c.algo,bech32Address:c.address,name:c.name,pubKey:c.pubKey,isKeystone:!1,isNanoLedger:c.isNanoLedger}}),subscription:a=>{let c=()=>{F(),a();};return window.addEventListener("vectis_accountChanged",c),()=>{window.removeEventListener("vectis_accountChanged",c);}},getOfflineSignerOnlyAmino:(...a)=>e.getOfflineSignerAmino(...a),experimentalSuggestChain:(...a)=>l(void 0,null,function*(){let[c]=a,p=N(O({},c),{rpcUrl:c.rpc,restUrl:c.rest,prettyName:c.chainName.replace(" ",""),bech32Prefix:c.bech32Config.bech32PrefixAccAddr});return e.suggestChains([p])}),signDirect:(...a)=>l(void 0,null,function*(){var h;let{1:c,2:p}=a;return e.signDirect(c,{bodyBytes:p.bodyBytes||Uint8Array.from([]),authInfoBytes:p.authInfoBytes||Uint8Array.from([]),accountNumber:$t__default.default.fromString(((h=p.accountNumber)==null?void 0:h.toString())||"",!1),chainId:p.chainId||""})}),signAmino:(...a)=>l(void 0,null,function*(){let{1:c,2:p}=a;return e.signAmino(c,p)}),setDefaultOptions:()=>{console.log("setDefaultOptions not supported by Vectis");}}}throw u.getState()._notFoundFn(),new Error("window.vectis is not defined")};var Q=()=>typeof window!="undefined"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,nt=()=>Q()&&navigator.userAgent.toLowerCase().includes("android"),ot=()=>Q()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var Oe=(e,t,n=new Error("Promise timed out"))=>{let i=new Promise((r,o)=>{setTimeout(()=>{o(n);},t);});return Promise.race([e,i])};var j=e=>{var K,ne,Ke;if(!((Ke=(ne=(K=u.getState().walletConnect)==null?void 0:K.options)==null?void 0:ne.projectId)!=null&&Ke.trim()))throw new Error("walletConnect.options.projectId is not defined");let t=(e==null?void 0:e.walletType)||"walletconnect",n=(e==null?void 0:e.encoding)||"base64",i=C=>{if(!e)return;let{appUrl:S,formatNativeUrl:A}=e;if(Q()){if(nt())if(!C)window.open(S.mobile.android,"_self","noreferrer noopener");else {let v=A(S.mobile.android,C,"android");window.open(v,"_self","noreferrer noopener");}if(ot())if(!C)window.open(S.mobile.ios,"_self","noreferrer noopener");else {let v=A(S.mobile.ios,C,"ios");window.open(v,"_self","noreferrer noopener");}}},r=()=>{let{wcSignClients:C}=m.getState();if(!C.get(t))throw new Error("walletConnect.signClient is not defined");C.delete(t),m.setState({wcSignClients:C}),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});},o=C=>l(void 0,null,function*(){let{wcSignClients:S}=m.getState(),A=S.get(t);if(!A)throw new Error("walletConnect.signClient is not defined");if(!C)throw new Error("No wallet connect session");yield A.disconnect({topic:C,reason:utils.getSdkError("USER_DISCONNECTED")}),yield c(A);}),s=C=>{try{let{wcSignClients:S}=m.getState(),A=S.get(t);if(!A)throw new Error("walletConnect.signClient is not defined");let v=A.session.getAll().at(-1);if(!v)return;if(!(v.expiry*1e3>Date.now()+1e3))throw o(v.topic),new Error("invalid session");try{let W=A.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:C.map(U=>`cosmos:${U}`),events:["chainChanged","accountsChanged"]}}});if(!W.length)throw new Error("no session");return W.at(-1)}catch(W){if(!W.message.toLowerCase().includes("no matching key"))throw W}return v}catch(S){if(!S.message.toLowerCase().includes("no matching key"))throw S}},a=C=>{try{return s(C)}catch(S){return}},c=C=>l(void 0,null,function*(){try{let S=C.core.pairing.pairings.getAll({active:!1});if(!S.length)return;yield Promise.all(S.map(A=>l(void 0,null,function*(){yield C.core.pairing.pairings.delete(A.topic,{code:7001,message:"clear pairing"});})));}catch(S){if(!S.message.toLowerCase().includes("no matching key"))throw S}}),p=()=>l(void 0,null,function*(){let{walletConnect:C}=u.getState();if(!(C!=null&&C.options))throw new Error("walletConnect.options is not defined");let{wcSignClients:S}=m.getState(),A=S.get(t);if(A)return A;let v=yield signClient.SignClient.init(C.options);return S.set(t,v),m.setState({wcSignClients:S}),v}),h=C=>{let{wcSignClients:S}=m.getState(),A=S.get(t);if(!A)return ()=>{};let v=k=>{let W=m.getState().accounts;if(k.params.event.name==="accountsChanged"&&W&&!Object.values(W).map(U=>U.bech32Address).includes(k.params.event.data[0])){let U=k.params.chainId.split(":")[1];U&&I([U]);}else C();};return A.events.on("session_delete",r),A.events.on("session_expire",r),A.events.on("session_event",v),()=>{A.events.off("session_delete",r),A.events.off("session_expire",r),A.events.off("session_event",v);}},I=C=>l(void 0,null,function*(){var oe;let S=typeof C=="string"?[C]:C,{wcSignClients:A}=m.getState(),v=A.get(t);if(!v)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:k,chains:W}=u.getState();if(!((oe=k==null?void 0:k.options)!=null&&oe.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:U}=yield import('@web3modal/standalone'),V=new U(O({projectId:k.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE"},k.web3Modal)),Y=a(S);if(!Y){let{uri:B,approval:X}=yield Oe(v.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:S.map(G=>`cosmos:${G}`),events:["chainChanged","accountsChanged"]}}}),15e3,new Error("Connection timeout"));if(!B)throw new Error("No wallet connect uri");e?i(B):yield V.openModal({uri:B});let ie=G=>l(void 0,null,function*(){return G.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((Ee,J)=>{X().then(_e=>{let Be=_e.sessionProperties;if(!Be)return J(new Error("No session properties"));let Te=JSON.parse(String(Be.keys));if(Te.length===0)return J(new Error("No accounts"));let Le=Te[0];if(!Le)return J(new Error("No accounts"));let Ue={};return S.forEach(re=>{Ue[re]=N(O({},Le),{bech32Address:encoding.toBech32(W.find(Bt=>Bt.chainId===re).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(Te[0].bech32Address).data)});}),m.setState(re=>({accounts:O(O({},re.accounts||{}),Ue)})),Ee(_e)}).catch(J),G.addEventListener("abort",()=>{J(new Error("User closed wallet connect"));},{once:!0});})});try{let G=new AbortController,Ee=G.signal;V.subscribeModal(J=>{J.open||G.abort();}),yield ie(Ee);}catch(G){if(V.closeModal(),!G.message.toLowerCase().includes("no matching key"))return Promise.reject(G)}return e||V.closeModal(),Promise.resolve()}try{yield Oe((()=>l(void 0,null,function*(){let B=yield d(S[0]),X={};S.forEach(ie=>{X[ie]=N(O({},B),{bech32Address:encoding.toBech32(W.find(G=>G.chainId===ie).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(B.bech32Address).data)});}),m.setState({accounts:X});}))(),15e3,new Error("Connection timeout"));}catch(B){if(o(Y.topic),!B.message.toLowerCase().includes("no matching key"))throw B}}),T=C=>l(void 0,null,function*(){var W;let{wcSignClients:S}=m.getState(),A=S.get(t);if(!A)throw new Error("walletConnect.signClient is not defined");let v=(W=s([C]))==null?void 0:W.topic;if(!v)throw new Error("No wallet connect session");let k=yield A.request({topic:v,chainId:`cosmos:${C}`,request:{method:"cosmos_getAccounts",params:{}}});if(!k[0])throw new Error("No wallet connect account");return {address:k[0].address,algo:k[0].algo,pubkey:new Uint8Array(Buffer.from(k[0].pubkey,n))}}),d=C=>l(void 0,null,function*(){let S=s([C]);if(!(S!=null&&S.topic))throw new Error("No wallet connect session");let A=S.sessionProperties&&JSON.parse(String(S.sessionProperties.keys))[0];if(!A)throw new Error("No wallet connect key");return A}),g=(...C)=>l(void 0,null,function*(){var B,X;let[S,A,v]=C,{accounts:k,wcSignClients:W}=m.getState(),U=W.get(t);if(!U)throw new Error("walletConnect.signClient is not defined");if(!k)throw new Error("account is not defined");let V=(B=s([S]))==null?void 0:B.topic;if(!V)throw new Error("No wallet connect session");if(!v.bodyBytes)throw new Error("No bodyBytes");if(!v.authInfoBytes)throw new Error("No authInfoBytes");let Y={topic:V,chainId:`cosmos:${S}`,request:{method:"cosmos_signDirect",params:{signerAddress:A,signDoc:N(O({},v),{bodyBytes:Buffer.from(v.bodyBytes).toString(n),authInfoBytes:Buffer.from(v.authInfoBytes).toString(n),accountNumber:(X=v.accountNumber)==null?void 0:X.toString()})}}};return i(),yield U.request(Y)}),y=(...C)=>l(void 0,null,function*(){let[S,A,v]=C,{signature:k,signed:W}=yield g(S,A,v);return {signed:{chainId:W.chainId,accountNumber:$t__default.default.fromString(W.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(W.authInfoBytes,n)),bodyBytes:new Uint8Array(Buffer.from(W.bodyBytes,n))},signature:k}}),E=(...C)=>l(void 0,null,function*(){var B;let[S,A,v,k]=C,{wcSignClients:W}=m.getState(),U=W.get(t),{accounts:V}=m.getState();if(!U)throw new Error("walletConnect.signClient is not defined");if(!V)throw new Error("account is not defined");let Y=(B=s([S]))==null?void 0:B.topic;if(!Y)throw new Error("No wallet connect session");return i(),yield U.request({topic:Y,chainId:`cosmos:${S}`,request:{method:"cosmos_signDirect",params:{signerAddress:A,signDoc:v}}})}),x=(...C)=>l(void 0,null,function*(){let[S,A,v,k]=C;return yield E(S,A,v)}),f=C=>({getAccounts:()=>l(void 0,null,function*(){return [yield T(C)]}),signDirect:(S,A)=>y(C,S,A)}),w=C=>({getAccounts:()=>l(void 0,null,function*(){return [yield T(C)]}),signAmino:(S,A)=>x(C,S,A)});return {enable:I,disable:C=>l(void 0,null,function*(){var v;let{wcSignClients:S}=m.getState(),A=S.get(t);if(C===void 0){let k=A==null?void 0:A.session.getAll();k!==void 0&&(yield Promise.all(k.map(W=>o(W.topic))));}else typeof C=="string"?yield o((v=s([C]))==null?void 0:v.topic):yield Promise.all(C.map(k=>{var W;return o((W=s([k]))==null?void 0:W.topic)}));(A==null?void 0:A.session.getAll().length)===0&&r();}),experimentalSuggestChain:(...C)=>l(void 0,null,function*(){yield Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"));}),getKey:d,getOfflineSigner:C=>({getAccounts:()=>l(void 0,null,function*(){return [yield T(C)]}),signDirect:(S,A)=>y(C,S,A),signAmino:(S,A)=>x(C,S,A)}),getOfflineSignerAuto:C=>l(void 0,null,function*(){return (yield d(C)).isNanoLedger?w(C):f(C)}),getOfflineSignerOnlyAmino:w,signAmino:x,signDirect:y,subscription:h,init:p,setDefaultOptions:()=>{console.log("setDefaultOptions not supported by WalletConnect");}}};var st=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!Q())throw new Error("WalletConnect Cosmostation mobile is only supported in mobile");let e={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_cosmostation_mobile",formatNativeUrl:(r,o,s)=>`${r.replaceAll("/","").replaceAll(":","")}://wc?${o}`};return j(e)};var at=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!Q())throw new Error("WalletConnect Keplr mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"keplrwallet://",android:"intent://"}},walletType:"wc_keplr_mobile",formatNativeUrl:(r,o,s)=>{let a=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(o);switch(s){case"ios":return `${a}://wcV2?${c}`;case"android":return `${a}://wcV2?${c}#Intent;package=com.chainapsis.keplr;scheme=keplrwallet;end;`;default:return `${a}://wc?uri=${c}`}}};return j(e)};var ct=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!Q())throw new Error("WalletConnect Leap mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"leapcosmos://",android:"intent://"}},walletType:"wc_leap_mobile",formatNativeUrl:(r,o,s)=>{let a=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(o);switch(s){case"ios":return `${a}://wcV2?${c}`;case"android":return `${a}://wcV2?${c}#Intent;package=io.leapwallet.cosmos;scheme=leapwallet;end;`;default:return `${a}://wc?uri=${c}`}}};return j(e)};var fe=()=>{var e;if(typeof((e=window.xfi)==null?void 0:e.keplr)!="undefined"){let t=window.xfi.keplr;return Object.assign(t,{subscription:r=>{let o=()=>{F(),r();};return window.addEventListener("keplr_keystorechange",o),()=>{window.removeEventListener("keplr_keystorechange",o);}},setDefaultOptions:()=>{console.log("setDefaultOptions not supported by Vectis");}})}throw u.getState()._notFoundFn(),new Error("window.xfi.keplr is not defined")};var _=(e=u.getState().walletType)=>{try{return R(e),!0}catch(t){return !1}},F=()=>{window.sessionStorage.removeItem($),m.setState(Z);},R=(e=u.getState().walletType)=>{var i;let t=(()=>{switch(e){case"keplr":return le();case"leap":return ue();case"cosmostation":return ce();case"vectis":return me();case"walletconnect":return j();case"wc_keplr_mobile":return at();case"wc_leap_mobile":return ct();case"wc_cosmostation_mobile":return st();case"metamask_snap_leap":return tt();case"metamask_snap_cosmos":return Ze();case"station":return pe();case"xdefi":return fe();case"capsule":return ae();default:throw new Error("Unknown wallet type")}})(),n=u.getState().walletDefaultOptions;return n&&((i=t.setDefaultOptions)==null||i.call(t,n)),t},fi=()=>Object.fromEntries(je.map(e=>[e,_(e)])),Me=e=>e==="capsule",lt=e=>e==="walletconnect"||e==="wc_keplr_mobile"||e==="wc_leap_mobile"||e==="wc_cosmostation_mobile";var ee=e=>l(void 0,null,function*(){var t;try{let{recentChainIds:n,chains:i,walletType:r}=u.getState(),o=(e==null?void 0:e.walletType)||r;if(!_(o))throw new Error(`${o} is not available`);let a=R(o),c=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:(e==null?void 0:e.chainId)||n;if(!c)throw new Error("No last known connected chain, connect action requires chain ids");let p=i==null?void 0:i.map(d=>d.chainId);c.forEach(d=>{if(!(p!=null&&p.includes(d)))throw new Error(`Chain ${d} is not provided in GrazProvider`)}),m.setState(d=>{let g=u.getState()._reconnect||!!u.getState()._reconnectConnector||!!c;return d.activeChainIds&&c.filter(E=>{var x;return !((x=d.activeChainIds)!=null&&x.includes(E))}).length>0?{status:"connecting"}:g?{status:"reconnecting"}:{status:"connecting"}});let{accounts:h}=m.getState();if(yield (t=a.init)==null?void 0:t.call(a),Me(o)&&m.getState().capsuleClient&&Object.values(m.getState().accounts||[]).length>0){let d=c.map(x=>i.find(f=>f.chainId===x)),g=m.getState().accounts;m.setState({status:"connecting"});let y=yield a.getKey(c[0]),E={};return c.forEach(x=>{E[x]=N(O({},y),{bech32Address:encoding.toBech32(i.find(f=>f.chainId===x).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(y.bech32Address).data)});}),m.setState(x=>({accounts:O(O({},x.accounts||{}),E)})),u.setState(x=>({recentChainIds:[...x.recentChainIds||[],...c].filter((f,w,b)=>b.indexOf(f)===w)})),m.setState(x=>({activeChainIds:[...x.activeChainIds||[],...c].filter((f,w,b)=>b.indexOf(f)===w)})),m.setState({status:"connected"}),{accounts:g,walletType:o,chains:d}}if(yield a.enable(c),Me(o)){let d=c.map(y=>i.find(E=>E.chainId===y)),g=m.getState().accounts;return m.setState({status:"connecting"}),{accounts:g,walletType:o,chains:d}}if(!lt(o)){let d=yield a.getKey(c[0]),g={};c.forEach(y=>{g[y]=N(O({},d),{bech32Address:encoding.toBech32(i.find(E=>E.chainId===y).bech32Config.bech32PrefixAccAddr,encoding.fromBech32(d.bech32Address).data)});}),m.setState(y=>({accounts:O(O({},y.accounts||{}),g)}));}u.setState(d=>({recentChainIds:[...d.recentChainIds||[],...c].filter((g,y,E)=>E.indexOf(g)===y)})),m.setState(d=>({activeChainIds:[...d.activeChainIds||[],...c].filter((g,y,E)=>E.indexOf(g)===y)})),u.setState({walletType:o,_reconnect:!!(e!=null&&e.autoReconnect),_reconnectConnector:o}),m.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem($,"Active");let I=c.map(d=>i.find(g=>g.chainId===d));return {accounts:m.getState().accounts,walletType:o,chains:I}}catch(n){throw console.error("connect ",n),m.getState().accounts===null&&m.setState({status:"disconnected"}),m.getState().accounts&&m.getState().activeChainIds&&m.setState({status:"connected"}),n}}),te=e=>{typeof window!="undefined"&&window.sessionStorage.removeItem($);let t=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:e==null?void 0:e.chainId;if(t){let n=m.getState().accounts;t.forEach(r=>{n==null||delete n[r];}),Object.values(n||{}).length===0?(m.setState(Z),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null})):(m.setState(r=>{var o;return {activeChainIds:(o=r.activeChainIds)==null?void 0:o.filter(s=>!t.includes(s)),accounts:n}}),u.setState(r=>{var o;return {recentChainIds:(o=r.recentChainIds)==null?void 0:o.filter(s=>!t.includes(s))}}));}else m.setState(Z),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});return Promise.resolve()},z=e=>l(void 0,null,function*(){var r;let{recentChainIds:t,_reconnectConnector:n,_reconnect:i}=u.getState();try{let o=_(n||void 0);if(t&&o&&n)return yield ee({chainId:t,walletType:n,autoReconnect:i})}catch(o){(r=e==null?void 0:e.onError)==null||r.call(e,o),te();}}),pt=e=>l(void 0,null,function*(){if(!(e!=null&&e.chainId))throw new Error("chainId is required");let{walletType:t}=u.getState(),n=e.walletType||t;if(!_(n))throw new Error(`${n} is not available`);let r=R(n),o=r.getOfflineSigner(e.chainId),s=r.getOfflineSignerOnlyAmino(e.chainId),a=yield r.getOfflineSignerAuto(e.chainId);return {offlineSigner:o,offlineSignerAmino:s,offlineSignerAuto:a}});var xe=()=>{u.setState({recentChainIds:null});},Mi=()=>u.getState().recentChainIds,xi=()=>{var n;let{recentChainIds:e,chains:t}=u.getState();return (n=e==null?void 0:e.map(i=>t.find(r=>r.chainId===i)))!=null?n:null},vi=({chainId:e})=>{var t;return (t=u.getState().chains)==null?void 0:t.find(n=>n.chainId===e)},Wi=({chainId:e})=>{var t;return (t=u.getState().chains)==null?void 0:t.filter(n=>e==null?void 0:e.includes(n.chainId))},ve=n=>l(void 0,[n],function*({chainInfo:e,walletType:t}){let i=R(t);return t==="capsule"?yield ee({chainId:e.chainId,walletType:t}):yield i.experimentalSuggestChain(e),e}),mt=e=>l(void 0,null,function*(){var i;let t=u.getState().walletType;return yield ve({chainInfo:e.chainInfo,walletType:(i=e.walletType)!=null?i:t}),yield ee({chainId:e.chainInfo.chainId,walletType:e.walletType,autoReconnect:e.autoReconnect})});var ft=e=>(u.setState(t=>({walletConnect:e.walletConnect||t.walletConnect,walletType:e.defaultWallet||t.walletType,capsuleConfig:e.capsuleConfig||t.capsuleConfig,walletDefaultOptions:e.walletDefaultOptions||t.walletDefaultOptions,chains:e.chains,chainsConfig:e.chainsConfig||t.chainsConfig,multiChainFetchConcurrency:e.multiChainFetchConcurrency||t.multiChainFetchConcurrency,_notFoundFn:e.onNotFound||t._notFoundFn,_onReconnectFailed:e.onReconnectFailed||t._onReconnectFailed,_reconnect:e.autoReconnect===void 0?!0:e.autoReconnect||t._reconnect})),e);var gt=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,recipientAddress:n,amount:i,fee:r,memo:o}){if(!e)throw new Error("No connected account detected");if(!t)throw new Error("senderAddress is not defined");return e.sendTokens(t,n,i,r,o)}),yt=h=>l(void 0,[h],function*({signingClient:e,senderAddress:t,recipientAddress:n,transferAmount:i,sourcePort:r,sourceChannel:o,timeoutHeight:s,timeoutTimestamp:a,fee:c,memo:p}){if(!e)throw new Error("Stargate signing client is not ready");if(!t)throw new Error("senderAddress is not defined");return e.sendIbcTokens(t,n,i,r,o,s,a,c,p)}),Ct=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,msg:n,fee:i,options:r,label:o,codeId:s}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.instantiate(t,s,n,o,i,r)}),St=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,msg:n,fee:i,contractAddress:r,funds:o,memo:s}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.execute(t,r,n,i,s,o)}),ht=(e,t,n)=>l(void 0,null,function*(){if(!n)throw new Error("CosmWasm client is not ready");return yield n.queryContractSmart(e,t)}),wt=(e,t,n)=>{if(!n)throw new Error("CosmWasm client is not ready");let i=new TextEncoder().encode(t);return n.queryContractRaw(e,i)};var Ui=e=>e,qi=e=>e;var ge=e=>e?Object.keys(e).length===0:!0;var We=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t;}},At=e=>globalThis.DOMException===void 0?new We(e):new DOMException(e),It=e=>{let t=e.reason===void 0?At("This operation was aborted."):e.reason;return t instanceof Error?t:At(t)};function ke(o,s){return l(this,arguments,function*(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:i=!0,signal:r}={}){return new Promise((a,c)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(n)||n===Number.POSITIVE_INFINITY)&&n>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let p=[],h=[],I=new Map,T=!1,d=!1,g=!1,y=0,E=0,x=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),f=b=>{T=!0,d=!0,c(b);};r&&(r.aborted&&f(It(r)),r.addEventListener("abort",()=>{f(It(r));}));let w=()=>l(this,null,function*(){if(d)return;let b=yield x.next(),P=E;if(E++,b.done){if(g=!0,y===0&&!d){if(!i&&h.length>0){f(new AggregateError(h));return}if(d=!0,I.size===0){a(p);return}let D=[];for(let[K,ne]of p.entries())I.get(K)!==Et&&D.push(ne);a(D);}return}y++,l(this,null,function*(){try{let D=yield b.value;if(d)return;let K=yield t(D,P);K===Et&&I.set(P,K),p[P]=K,y--,yield w();}catch(D){if(i)f(D);else {h.push(D),y--;try{yield w();}catch(K){f(K);}}}});});l(this,null,function*(){for(let b=0;b<n;b++){try{yield w();}catch(P){f(P);break}if(g||T)break}});})})}var Et=Symbol("skip");var L=({chainId:e,multiChain:t})=>{let n=u(r=>r.chains);if(!n)throw new Error("No chains found in GrazProvider");let i=typeof e=="string"?[e]:e;switch(!0){case(!!t&&!!i):return i.map(r=>n.find(o=>o.chainId===r)).filter(Boolean);case(!t&&!!i):return [i.map(r=>n.find(o=>o.chainId===r)).filter(Boolean)[0]];case(!!t&&!i):return n;default:return [n[0]]}},q=(e,t,n)=>l(void 0,null,function*(){let i=u.getState().multiChainFetchConcurrency;if(e){let o=yield ke(t,n,{concurrency:i});return Object.fromEntries(o.map((s,a)=>[t[a].chainId,s]))}return yield n(t[0])}),Tt=(e,t,n)=>{if(e){let r=t.map(n);return Object.fromEntries(r.map((o,s)=>[t[s].chainId,o]))}return n(t[0])};var De=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=react.useMemo(()=>["USE_STARGATE_CLIENT",t],[t]);return reactQuery.useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),i,s=>l(void 0,null,function*(){var h;let a=(h=u.getState().chainsConfig)==null?void 0:h[s.chainId],c={url:s.rpc,headers:O({},(a==null?void 0:a.rpcHeaders)||{})};return yield stargate.StargateClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},Ne=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=react.useMemo(()=>["USE_COSMWASM_CLIENT",t],[t]);return reactQuery.useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),i,s=>l(void 0,null,function*(){var h;let a=(h=u.getState().chainsConfig)==null?void 0:h[s.chainId],c={url:s.rpc,headers:O({},(a==null?void 0:a.rpcHeaders)||{})};return yield cosmwasmStargate.CosmWasmClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},ye=({type:e,chainId:t,multiChain:n,enabled:i})=>{let r=L({chainId:t,multiChain:n}),o=react.useMemo(()=>["USE_TENDERMINT_CLIENT",e,r],[e,r]);return reactQuery.useQuery({queryKey:o,queryFn:c=>l(void 0,[c],function*({queryKey:[,s,a]}){if(a.length<1)throw new Error("No chains found");return yield q(!!n,a,h=>l(void 0,null,function*(){var y;let I=(y=u.getState().chainsConfig)==null?void 0:y[h.chainId],T={url:h.rpc,headers:O({},(I==null?void 0:I.rpcHeaders)||{})};return yield (s==="tm37"?tendermintRpc.Tendermint37Client:tendermintRpc.Tendermint34Client).connect(T)}))}),enabled:!!r&&r.length>0&&(i!==void 0?!!i:!0),refetchOnWindowFocus:!1})};var fr=()=>u(e=>({walletType:e.walletType,isCosmostation:e.walletType==="cosmostation",isCosmostationMobile:e.walletType==="wc_cosmostation_mobile",isKeplr:e.walletType==="keplr",isKeplrMobile:e.walletType==="wc_keplr_mobile",isLeap:e.walletType==="leap",isLeapMobile:e.walletType==="wc_leap_mobile",isVectis:e.walletType==="vectis",isWalletConnect:e.walletType==="walletconnect",isMetamaskSnapLeap:e.walletType==="metamask_snap_leap",isStation:e.walletType==="station",isCapsule:e.walletType==="capsule"}),shallow.shallow),Ce=e=>{let n=["USE_CHECK_WALLET",u(r=>e||r.walletType)];return reactQuery.useQuery(n,({queryKey:[,r]})=>_(r))};var H=e=>{let t=u(a=>a.walletType),n=m(a=>a.activeChainIds),i=L({chainId:e!=null&&e.chainId?e.chainId:n||void 0,multiChain:e==null?void 0:e.multiChain}),r=m(a=>a.accounts),o=m(a=>a.status);return react.useEffect(()=>m.subscribe(a=>a.status,(a,c)=>{var p,h,I;if(a==="connected"){let{accounts:T,activeChainIds:d}=m.getState(),{chains:g}=u.getState(),{walletType:y}=u.getState();if(!T||!d||!g)return (p=e==null?void 0:e.onDisconnect)==null?void 0:p.call(e);(h=e==null?void 0:e.onConnect)==null||h.call(e,{accounts:T,chains:d.map(E=>g.find(x=>x.chainId===E)),walletType:y,isReconnect:c==="reconnecting"});}a==="disconnected"&&((I=e==null?void 0:e.onDisconnect)==null||I.call(e));}),[e]),{data:react.useMemo(()=>r?Tt(!!(e!=null&&e.multiChain),i,a=>r[a.chainId]):void 0,[r,i,e==null?void 0:e.multiChain]),isConnected:o==="connected",isConnecting:o==="connecting",isDisconnected:o==="disconnected",isReconnecting:o==="reconnecting",isLoading:o==="connecting"||o==="reconnecting",walletType:o==="connected"?t:void 0,reconnect:z,status:o}},cn=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=H(),i=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),{data:r}=De({chainId:t.map(s=>s.chainId),multiChain:!0,enabled:((e==null?void 0:e.enabled)===void 0?!0:e.enabled)&&!!i}),o=react.useMemo(()=>["USE_ALL_BALANCES",r,t,i,e==null?void 0:e.chainId],[i,e==null?void 0:e.chainId,t,r]);return reactQuery.useQuery(o,p=>l(void 0,[p],function*({queryKey:[,s,a,c]}){if(!c)throw new Error("address is not defined");return yield q(!!(e!=null&&e.multiChain),a,I=>l(void 0,null,function*(){let T=s==null?void 0:s[I.chainId];if(!T)throw new Error(`Client is not ready ${I.chainId}`);return yield T.getAllBalances(encoding.toBech32(I.bech32Config.bech32PrefixAccAddr,encoding.fromBech32(c).data))}))}),{enabled:!!i&&!!t&&t.length>0&&!ge(r)&&((e==null?void 0:e.enabled)===void 0?!0:e.enabled),refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},Mr=e=>{let t=L({chainId:e.chainId}),{data:n}=H({chainId:e.chainId}),i=e.bech32Address||(n==null?void 0:n.bech32Address),{data:r,refetch:o}=cn({chainId:t.map(c=>c.chainId),bech32Address:i,enabled:!!i&&(e.enabled===void 0?!0:e.enabled)}),s=["USE_BALANCE",e.denom,r,t,i,e.chainId],a=reactQuery.useQuery(s,({queryKey:[,c,p]})=>p==null?void 0:p.find(h=>h.denom===c),{enabled:!!e.denom&&!!r&&!!(r!=null&&r.length)&&(e.enabled===void 0?!0:e.enabled)});return N(O({},a),{refetch:c=>l(void 0,null,function*(){return yield o(),a.refetch(c)})})},xr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_CONNECT",e,t,n],ee,{onError:(s,a)=>e==null?void 0:e(s,a),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:o}=Ce();return {connect:s=>r.mutate(s),connectAsync:s=>r.mutateAsync(s),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!o,status:r.status}},vr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_DISCONNECT",e,t,n],te,{onError:o=>Promise.resolve(e==null?void 0:e(o,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return {disconnect:o=>r.mutate(o),disconnectAsync:o=>r.mutateAsync(o),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,status:r.status}},Wr=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(r=>r.walletType),i=react.useMemo(()=>["USE_OFFLINE_SIGNERS",t,n],[t,n]);return reactQuery.useQuery({queryKey:i,queryFn:s=>l(void 0,[s],function*({queryKey:[,r,o]}){if(r.length<1)throw new Error("No chain found");if(!_(o))throw new Error(`${o} is not available`);return yield q(!!(e!=null&&e.multiChain),r,p=>l(void 0,null,function*(){return yield pt({chainId:p.chainId,walletType:o})}))}),enabled:!!t&&t.length>0&&!!n,refetchOnWindowFocus:!1})},kr=e=>{let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=H(),{data:i}=De({chainId:t.map(s=>s.chainId),multiChain:!0}),r=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),o=react.useMemo(()=>["USE_BALANCE_STAKED",i,t,r],[t,r,i]);return reactQuery.useQuery(o,p=>l(void 0,[p],function*({queryKey:[,s,a,c]}){if(!c)throw new Error("address is not defined");return yield q(!!(e!=null&&e.multiChain),a,I=>l(void 0,null,function*(){var d;if(!s)throw new Error("Client is not ready");return yield (d=s[I.chainId])==null?void 0:d.getBalanceStaked(encoding.toBech32(I.bech32Config.bech32PrefixAccAddr,encoding.fromBech32(c).data))}))}),{enabled:!!r&&!!t&&t.length>0&&!!i,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var Br=()=>{let e=u(i=>i.capsuleState),t=m(i=>i.capsuleClient),n=ae();return {setModalState:i=>{u.setState(r=>{var o;return {capsuleState:{showModal:i,chainId:(o=r.capsuleState)==null?void 0:o.chainId}}});},modalState:!!(e!=null&&e.showModal),client:t,onAfterLoginSuccessful:n.onAfterLoginSuccessful,onLoginFailure:()=>{te();}}};var Qr=()=>m(e=>e.activeChainIds),ln=()=>{var e;return (e=m(t=>t.activeChainIds))==null?void 0:e.map(t=>{var i;let n=(i=u.getState().chains)==null?void 0:i.find(r=>r.chainId===t);if(n)return n}).filter(Boolean)},jr=({chainId:e})=>{var t;return (t=u().chains)==null?void 0:t.find(n=>n.chainId===e)},Vr=({chainId:e})=>{var t;return (t=u().chains)==null?void 0:t.filter(n=>e==null?void 0:e.includes(n.chainId))},$r=({denom:e})=>{let t=ln();return reactQuery.useQuery(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,r]})=>{var o;return (o=t==null?void 0:t.find(s=>s.currencies.find(a=>a.coinMinimalDenom===r)))==null?void 0:o.currencies.find(s=>s)})},Hr=e=>{var r;let t=(r=e.status)!=null?r:"BOND_STATUS_BONDED",n=["USE_ACTIVE_CHAIN_VALIDATORS",e.queryClient,t];return reactQuery.useQuery(n,a=>l(void 0,[a],function*({queryKey:[,o,s]}){if(!o)throw new Error("Query client is not defined");return yield o.staking.validators(s)}),{enabled:typeof e.queryClient!="undefined"})},Yr=()=>({data:u(t=>t.recentChainIds),clear:xe}),Xr=()=>{var t;return {data:(t=u(n=>n.recentChainIds))==null?void 0:t.map(n=>{var r;let i=(r=u.getState().chains)==null?void 0:r.find(o=>o.chainId===n);if(i)return i}).filter(Boolean),clear:xe}},Jr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_SUGGEST_CHAIN",e,t,n],ve,{onError:(o,s)=>Promise.resolve(e==null?void 0:e(o,s.chainInfo)),onMutate:o=>t==null?void 0:t(o.chainInfo),onSuccess:o=>Promise.resolve(n==null?void 0:n(o))});return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,suggest:r.mutate,suggestAsync:r.mutateAsync,status:r.status}},Zr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=reactQuery.useMutation(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],mt,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:s=>t==null?void 0:t(s),onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:o}=Ce();return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!o,status:r.status,suggestAndConnect:r.mutate,suggestAndConnectAsync:r.mutateAsync}};var as=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=H(),r=i==null?void 0:i.bech32Address,o=reactQuery.useMutation(["USE_SEND_TOKENS",e,t,n,r],s=>gt(O({senderAddress:r},s)),{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendTokens:o.mutate,sendTokensAsync:o.mutateAsync,status:o.status}},cs=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=H(),r=i==null?void 0:i.bech32Address,o=reactQuery.useMutation(["USE_SEND_IBC_TOKENS",e,t,n,r],s=>yt(O({senderAddress:r},s)),{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendIbcTokens:o.mutate,sendIbcTokensAsync:o.mutateAsync,status:o.status}},ls=({codeId:e,onError:t,onLoading:n,onSuccess:i})=>{let{data:r}=H(),o=r==null?void 0:r.bech32Address,a=reactQuery.useMutation(["USE_INSTANTIATE_CONTRACT",t,n,i,e,o],c=>{var h;if(!o)throw new Error("senderAddress is undefined");let p=N(O({},c),{fee:(h=c.fee)!=null?h:"auto",senderAddress:o,codeId:e});return Ct(p)},{onError:(c,p)=>Promise.resolve(t==null?void 0:t(c,p)),onMutate:n,onSuccess:c=>Promise.resolve(i==null?void 0:i(c))});return {error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,instantiateContract:a.mutate,instantiateContractAsync:a.mutateAsync,status:a.status}},us=({contractAddress:e,onError:t,onLoading:n,onSuccess:i})=>{let{data:r}=H(),o=r==null?void 0:r.bech32Address,a=reactQuery.useMutation(["USE_EXECUTE_CONTRACT",t,n,i,e,o],c=>{var h,I,T;if(!o)throw new Error("senderAddress is undefined");let p=N(O({},c),{fee:(h=c.fee)!=null?h:"auto",senderAddress:o,contractAddress:e,memo:(I=c.memo)!=null?I:"",funds:(T=c.funds)!=null?T:[]});return St(p)},{onError:(c,p)=>Promise.resolve(t==null?void 0:t(c,p)),onMutate:n,onSuccess:c=>Promise.resolve(i==null?void 0:i(c))});return {error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,executeContract:a.mutate,executeContractAsync:a.mutateAsync,status:a.status}},ds=e=>{let{data:t}=Ne();return reactQuery.useQuery(["USE_QUERY_SMART",e==null?void 0:e.address,e==null?void 0:e.queryMsg,t],({queryKey:[,i]})=>{if(!(e!=null&&e.address)||!e.queryMsg)throw new Error("address or queryMsg undefined");return ht(e.address,e.queryMsg,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.queryMsg)&&!!t})},ps=e=>{let{data:t}=Ne(),n=["USE_QUERY_RAW",e==null?void 0:e.key,e==null?void 0:e.address,t];return reactQuery.useQuery(n,({queryKey:[,r]})=>{if(!(e!=null&&e.address)||!e.key)throw new Error("address or key undefined");return wt(e.address,e.key,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.key)&&!!t})};function bs(e){let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=m(o=>o.activeChainIds),r=react.useMemo(()=>["USE_STARGATE_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]);return reactQuery.useQuery({queryKey:r,queryFn:a=>l(this,[a],function*({queryKey:[,o,s]}){if(o.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),o,p=>l(this,null,function*(){var y,E;if(!(i!=null&&i.includes(p.chainId)))return;if(!_(s))throw new Error(`${s} is not available`);let I=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return R(s).getOfflineSigner(p.chainId);case"offlineSignerAuto":return R(s).getOfflineSignerAuto(p.chainId);case"offlineSignerOnlyAmino":return R(s).getOfflineSignerOnlyAmino(p.chainId);default:return R(s).getOfflineSignerAuto(p.chainId)}}))(),T=(y=u.getState().chainsConfig)==null?void 0:y[p.chainId],d={url:p.rpc,headers:O({},(T==null?void 0:T.rpcHeaders)||{})};return (e==null?void 0:e.multiChain)===!0&&e.opts,yield stargate.SigningStargateClient.connectWithSigner(d,I,e!=null&&e.multiChain?(E=e.opts)==null?void 0:E[p.chainId]:e==null?void 0:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Os(e){let t=L({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=m(o=>o.activeChainIds),r=react.useMemo(()=>["USE_COSMWASM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]);return reactQuery.useQuery({queryKey:r,queryFn:a=>l(this,[a],function*({queryKey:[,o,s]}){if(o.length<1)throw new Error("No chains found");return yield q(!!(e!=null&&e.multiChain),o,p=>l(this,null,function*(){var E,x;if(!(i!=null&&i.includes(p.chainId)))return;if(!_(s))throw new Error(`${s} is not available`);let I=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return R(s).getOfflineSigner(p.chainId);case"offlineSignerAuto":return R(s).getOfflineSignerAuto(p.chainId);case"offlineSignerOnlyAmino":return R(s).getOfflineSignerOnlyAmino(p.chainId);default:return R(s).getOfflineSignerAuto(p.chainId)}}))(),T=(E=u.getState().chainsConfig)==null?void 0:E[p.chainId],d={url:p.rpc,headers:O({},(T==null?void 0:T.rpcHeaders)||{})},g=T!=null&&T.gas?stargate.GasPrice.fromString(`${T.gas.price}${T.gas.denom}`):void 0;return yield cosmwasmStargate.SigningCosmWasmClient.connectWithSigner(d,I,O({gasPrice:g},e!=null&&e.multiChain?(x=e.opts)==null?void 0:x[p.chainId]:(e==null?void 0:e.opts)||{}))}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Ms(e){let t=L({chainId:e.chainId,multiChain:e.multiChain}),n=u(s=>s.walletType),i=m(s=>s.activeChainIds),r=react.useMemo(()=>["USE_STARGATE_TM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]),{data:o}=ye({type:e.type,chainId:e.chainId,multiChain:e.multiChain});return reactQuery.useQuery({queryKey:r,queryFn:c=>l(this,[c],function*({queryKey:[,s,a]}){if(s.length<1)throw new Error("No chains found");return yield q(!!e.multiChain,s,h=>l(this,null,function*(){var y;if(!(i!=null&&i.includes(h.chainId)))return;if(!_(a))throw new Error(`${a} is not available`);if(!o)throw new Error("No tendermint client found");let T=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return R(a).getOfflineSigner(h.chainId);case"offlineSignerAuto":return R(a).getOfflineSignerAuto(h.chainId);case"offlineSignerOnlyAmino":return R(a).getOfflineSignerOnlyAmino(h.chainId);default:return R(a).getOfflineSignerAuto(h.chainId)}}))(),d=e.multiChain?o[h.chainId]:o;return yield stargate.SigningStargateClient.createWithSigner(d,T,e.multiChain?(y=e.opts)==null?void 0:y[h.chainId]:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&!!o&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function xs(e){let t=L({chainId:e.chainId,multiChain:e.multiChain}),n=u(a=>a.walletType),i=m(a=>a.activeChainIds),r=react.useMemo(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]),{data:o}=ye({type:e.type,chainId:e.chainId,multiChain:!1,enabled:!e.multiChain}),{data:s}=ye({type:e.type,chainId:e.chainId,multiChain:!0,enabled:!!e.multiChain});return reactQuery.useQuery({queryKey:r,queryFn:p=>l(this,[p],function*({queryKey:[,a,c]}){if(a.length<1)throw new Error("No chains found");return yield q(!!e.multiChain,a,I=>l(this,null,function*(){var f,w;if(!(i!=null&&i.includes(I.chainId)))return;if(!_(c))throw new Error(`${c} is not available`);let d=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return R(c).getOfflineSigner(I.chainId);case"offlineSignerAuto":return R(c).getOfflineSignerAuto(I.chainId);case"offlineSignerOnlyAmino":return R(c).getOfflineSignerOnlyAmino(I.chainId);default:return R(c).getOfflineSignerAuto(I.chainId)}}))(),g=(f=u.getState().chainsConfig)==null?void 0:f[I.chainId],y=g!=null&&g.gas?stargate.GasPrice.fromString(`${g.gas.price}${g.gas.denom}`):void 0,E=e.multiChain?s==null?void 0:s[I.chainId]:o;if(!E)throw new Error("No tendermint client found");return yield cosmwasmStargate.SigningCosmWasmClient.createWithSigner(E,d,O({gasPrice:y},e.multiChain?(w=e.opts)==null?void 0:w[I.chainId]:e.opts||{}))}))}),enabled:!!t&&t.length>0&&!!n&&(!!o||!ge(s))&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}var Dt=({children:e})=>{let[t,n]=react.useState(!1);return react.useEffect(()=>{n(!0);},[]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:t?e:null})};var fn=()=>{let e=typeof window!="undefined"&&window.sessionStorage.getItem($)==="Active",{_reconnect:t,_onReconnectFailed:n,_reconnectConnector:i}=u(),{activeChainIds:r,wcSignClients:o}=m(),s=_(i||void 0);return react.useEffect(()=>{if(i){if(!s)return;e&&r?z({onError:n}):!e&&t&&z({onError:n});}},[s]),react.useEffect(()=>{var a,c,p,h,I,T,d,g,y,E,x,f,w,b;if(i){if(!s)return;i==="cosmostation"&&((c=(a=ce()).subscription)==null||c.call(a,()=>{z({onError:n});})),i==="keplr"&&((h=(p=le()).subscription)==null||h.call(p,()=>{z({onError:n});})),i==="leap"&&((T=(I=ue()).subscription)==null||T.call(I,()=>{z({onError:n});})),i==="vectis"&&((g=(d=me()).subscription)==null||g.call(d,()=>{z({onError:n});})),i==="walletconnect"&&o.has("walletconnect")&&((E=(y=j()).subscription)==null||E.call(y,()=>{z({onError:n});})),i==="station"&&((f=(x=pe()).subscription)==null||f.call(x,()=>{z({onError:n});})),i==="xdefi"&&((b=(w=fe()).subscription)==null||b.call(w,()=>{z({onError:n});}));}},[i,o,s]),null},Kt=()=>(fn(),null);var Cn=new reactQuery.QueryClient({}),ea=i=>{var r=i,{children:e,grazOptions:t}=r,n=ze(r,["children","grazOptions"]);return ft(t),jsxRuntime.jsx(reactQuery.QueryClientProvider,N(O({client:Cn},n),{children:jsxRuntime.jsxs(Dt,{children:[e,jsxRuntime.jsx(Kt,{})]})}),"graz-provider")};
22
23
 
23
- exports.GrazEvents = kt;
24
- exports.GrazProvider = Gs;
25
- exports.WALLET_TYPES = Qe;
26
- exports.WalletType = ze;
24
+ exports.GrazEvents = Kt;
25
+ exports.GrazProvider = ea;
26
+ exports.WALLET_TYPES = je;
27
+ exports.WalletType = Qe;
27
28
  exports.checkWallet = _;
28
29
  exports.clearRecentChain = xe;
29
30
  exports.clearSession = F;
30
- exports.configureGraz = lt;
31
+ exports.configureGraz = ft;
31
32
  exports.connect = ee;
32
- exports.defineChainInfo = vi;
33
- exports.defineChains = Mi;
33
+ exports.defineChainInfo = qi;
34
+ exports.defineChains = Ui;
34
35
  exports.disconnect = te;
35
- exports.executeContract = mt;
36
- exports.getAvailableWallets = ni;
37
- exports.getChainInfo = yi;
38
- exports.getChainInfos = Si;
36
+ exports.executeContract = St;
37
+ exports.getAvailableWallets = fi;
38
+ exports.getChainInfo = vi;
39
+ exports.getChainInfos = Wi;
39
40
  exports.getCosmostation = ce;
40
41
  exports.getKeplr = le;
41
42
  exports.getLeap = ue;
42
- exports.getMetamaskSnapLeap = Ye;
43
- exports.getOfflineSigners = at;
44
- exports.getQueryRaw = gt;
45
- exports.getQuerySmart = ft;
46
- exports.getRecentChainIds = gi;
47
- exports.getRecentChains = Ci;
48
- exports.getVectis = pe;
49
- exports.getWCCosmostation = tt;
50
- exports.getWCKeplr = nt;
51
- exports.getWCLeap = ot;
43
+ exports.getMetamaskSnapLeap = tt;
44
+ exports.getOfflineSigners = pt;
45
+ exports.getQueryRaw = wt;
46
+ exports.getQuerySmart = ht;
47
+ exports.getRecentChainIds = Mi;
48
+ exports.getRecentChains = xi;
49
+ exports.getVectis = me;
50
+ exports.getWCCosmostation = st;
51
+ exports.getWCKeplr = at;
52
+ exports.getWCLeap = ct;
52
53
  exports.getWallet = R;
53
54
  exports.getWalletConnect = j;
54
- exports.instantiateContract = pt;
55
- exports.isCapsule = Oe;
56
- exports.isWalletConnect = it;
55
+ exports.instantiateContract = Ct;
56
+ exports.isCapsule = Me;
57
+ exports.isWalletConnect = lt;
57
58
  exports.reconnect = z;
58
- exports.sendIbcTokens = dt;
59
- exports.sendTokens = ut;
60
- exports.suggestChain = Me;
61
- exports.suggestChainAndConnect = ct;
62
- exports.useAccount = V;
63
- exports.useActiveChainCurrency = Br;
64
- exports.useActiveChainIds = Pr;
65
- exports.useActiveChains = nn;
66
- exports.useActiveWalletType = nr;
67
- exports.useBalance = gr;
68
- exports.useBalanceStaked = hr;
69
- exports.useBalances = tn;
70
- exports.useCapsule = Or;
71
- exports.useChainInfo = Dr;
72
- exports.useChainInfos = Nr;
59
+ exports.sendIbcTokens = yt;
60
+ exports.sendTokens = gt;
61
+ exports.suggestChain = ve;
62
+ exports.suggestChainAndConnect = mt;
63
+ exports.useAccount = H;
64
+ exports.useActiveChainCurrency = $r;
65
+ exports.useActiveChainIds = Qr;
66
+ exports.useActiveChains = ln;
67
+ exports.useActiveWalletType = fr;
68
+ exports.useBalance = Mr;
69
+ exports.useBalanceStaked = kr;
70
+ exports.useBalances = cn;
71
+ exports.useCapsule = Br;
72
+ exports.useChainInfo = jr;
73
+ exports.useChainInfos = Vr;
73
74
  exports.useCheckWallet = Ce;
74
- exports.useConnect = Cr;
75
- exports.useCosmWasmClient = De;
76
- exports.useCosmWasmSigningClient = fs;
77
- exports.useCosmWasmTmSigningClient = Cs;
78
- exports.useDisconnect = yr;
79
- exports.useExecuteContract = Jr;
80
- exports.useGrazEvents = cn;
81
- exports.useInstantiateContract = Xr;
82
- exports.useOfflineSigners = Sr;
83
- exports.useQueryClientValidators = _r;
84
- exports.useQueryRaw = es;
85
- exports.useQuerySmart = Zr;
86
- exports.useRecentChainIds = Kr;
87
- exports.useRecentChains = Lr;
88
- exports.useSendIbcTokens = Yr;
89
- exports.useSendTokens = Vr;
90
- exports.useStargateClient = Pe;
91
- exports.useStargateSigningClient = ms;
92
- exports.useStargateTmSigningClient = gs;
93
- exports.useSuggestChain = Ur;
94
- exports.useSuggestChainAndConnect = qr;
95
- exports.useTendermintClient = ge;
75
+ exports.useConnect = xr;
76
+ exports.useCosmWasmClient = Ne;
77
+ exports.useCosmWasmSigningClient = Os;
78
+ exports.useCosmWasmTmSigningClient = xs;
79
+ exports.useDisconnect = vr;
80
+ exports.useExecuteContract = us;
81
+ exports.useGrazEvents = fn;
82
+ exports.useInstantiateContract = ls;
83
+ exports.useOfflineSigners = Wr;
84
+ exports.useQueryClientValidators = Hr;
85
+ exports.useQueryRaw = ps;
86
+ exports.useQuerySmart = ds;
87
+ exports.useRecentChainIds = Yr;
88
+ exports.useRecentChains = Xr;
89
+ exports.useSendIbcTokens = cs;
90
+ exports.useSendTokens = as;
91
+ exports.useStargateClient = De;
92
+ exports.useStargateSigningClient = bs;
93
+ exports.useStargateTmSigningClient = Ms;
94
+ exports.useSuggestChain = Jr;
95
+ exports.useSuggestChainAndConnect = Zr;
96
+ exports.useTendermintClient = ye;
package/dist/index.mjs CHANGED
@@ -1,7 +1,8 @@
1
1
  import { fromBech32, toBech32 } from '@cosmjs/encoding';
2
2
  import { create } from 'zustand';
3
3
  import { createJSONStorage, subscribeWithSelector, persist } from 'zustand/middleware';
4
- import Ft from 'long';
4
+ import { isSnapInstalled, installSnap, CosmosSnap } from '@cosmsnap/snapper';
5
+ import Ht from 'long';
5
6
  import { SignClient } from '@walletconnect/sign-client';
6
7
  import { getSdkError } from '@walletconnect/utils';
7
8
  import { QueryClient, useQuery, useMutation, QueryClientProvider } from '@tanstack/react-query';
@@ -12,6 +13,6 @@ import { Tendermint37Client, Tendermint34Client } from '@cosmjs/tendermint-rpc';
12
13
  import { shallow } from 'zustand/shallow';
13
14
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
14
15
 
15
- var Nt=Object.defineProperty,Bt=Object.defineProperties;var _t=Object.getOwnPropertyDescriptors;var ae=Object.getOwnPropertySymbols;var Ge=Object.prototype.hasOwnProperty,Fe=Object.prototype.propertyIsEnumerable;var qe=(e,t,n)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,O=(e,t)=>{for(var n in t||(t={}))Ge.call(t,n)&&qe(e,n,t[n]);if(ae)for(var n of ae(t))Fe.call(t,n)&&qe(e,n,t[n]);return e},B=(e,t)=>Bt(e,_t(t));var ze=(e,t)=>{var n={};for(var i in e)Ge.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&ae)for(var i of ae(e))t.indexOf(i)<0&&Fe.call(e,i)&&(n[i]=e[i]);return n};var l=(e,t,n)=>new Promise((i,r)=>{var o=c=>{try{a(n.next(c));}catch(m){r(m);}},s=c=>{try{a(n.throw(c));}catch(m){r(m);}},a=c=>c.done?i(c.value):Promise.resolve(c.value).then(o,s);a((n=n.apply(e,t)).next());});var V="graz-reconnect-session";var Qe=(h=>(h.KEPLR="keplr",h.LEAP="leap",h.VECTIS="vectis",h.COSMOSTATION="cosmostation",h.WALLETCONNECT="walletconnect",h.WC_KEPLR_MOBILE="wc_keplr_mobile",h.WC_LEAP_MOBILE="wc_leap_mobile",h.WC_COSMOSTATION_MOBILE="wc_cosmostation_mobile",h.METAMASK_SNAP_LEAP="metamask_snap_leap",h.STATION="station",h.XDEFI="xdefi",h.CAPSULE="capsule",h))(Qe||{}),je=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap","station","xdefi","capsule"];var Lt={recentChainIds:null,chains:null,chainsConfig:null,capsuleConfig:null,capsuleState:null,multiChainFetchConcurrency:3,walletType:"keplr",walletConnect:{options:null,web3Modal:null},walletDefaultOptions:null,_notFoundFn:()=>null,_onReconnectFailed:()=>null,_reconnect:!1,_reconnectConnector:null},ee={accounts:null,activeChainIds:null,status:"disconnected",wcSignClients:new Map,capsuleClient:null},Ut={name:"graz-session",version:2,partialize:e=>({accounts:e.accounts,activeChainIds:e.activeChainIds}),storage:createJSONStorage(()=>sessionStorage)},qt={name:"graz-internal",partialize:e=>({recentChainIds:e.recentChainIds,_reconnect:e._reconnect,_reconnectConnector:e._reconnectConnector,walletType:e.walletType}),version:2},p=create(subscribeWithSelector(persist(()=>ee,Ut))),u=create(subscribeWithSelector(persist(()=>Lt,qt)));var ce=()=>{var E,h;if(!((E=u.getState().capsuleConfig)!=null&&E.apiKey)||!((h=u.getState().capsuleConfig)!=null&&h.env))throw new Error("Capsule configuration is not set");let e=()=>l(void 0,null,function*(){var C,T;let d=(yield import('@leapwallet/cosmos-social-login-capsule-provider')).CapsuleProvider,f=new d({apiKey:(C=u.getState().capsuleConfig)==null?void 0:C.apiKey,env:(T=u.getState().capsuleConfig)==null?void 0:T.env});return p.setState({capsuleClient:f}),f});return {init:e,enable:d=>l(void 0,null,function*(){let f=typeof d=="string"?[d]:d,C=p.getState().capsuleClient;C||(C=yield e()),u.setState({capsuleState:{showModal:!0,chainId:f}});}),onAfterLoginSuccessful:()=>l(void 0,null,function*(){var g;let d=p.getState().capsuleClient,{chains:f}=u.getState();if(!d)throw new Error("Capsule client is not initialized");if(!f)throw new Error("Chains are not set");yield d.enable();let C=(g=u.getState().capsuleState)==null?void 0:g.chainId;if(!C)throw new Error("Chain ids are not set");let T=yield d.getAccount(C[0]),x={};C.forEach(w=>{x[w]={address:fromBech32(T.address).data,bech32Address:toBech32(f.find(b=>b.chainId===w).bech32Config.bech32PrefixAccAddr,fromBech32(T.address).data),algo:T.algo,name:T.username||"",pubKey:T.pubkey,isKeystone:!1,isNanoLedger:!1};}),p.setState(w=>({accounts:O(O({},w.accounts||{}),x)})),u.setState(w=>({recentChainIds:[...w.recentChainIds||[],...C].filter((b,D,N)=>N.indexOf(b)===D)})),p.setState(w=>({activeChainIds:[...w.activeChainIds||[],...C].filter((b,D,N)=>N.indexOf(b)===D)})),u.setState({walletType:"capsule",_reconnect:!1,_reconnectConnector:"capsule"}),p.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(V,"Active"),u.setState({capsuleState:null});}),getKey:d=>l(void 0,null,function*(){let f=p.getState().capsuleClient;if(!f)throw new Error("Capsule client is not initialized");let C=yield f.getAccount(d);return {address:fromBech32(C.address).data,bech32Address:C.address,algo:C.algo,name:C.username||"",pubKey:C.pubkey,isKeystone:!1,isNanoLedger:!1}}),getOfflineSignerAuto:d=>l(void 0,null,function*(){let f=p.getState().capsuleClient;if(!f)throw new Error("Capsule client is not initialized");return f.getOfflineSignerDirect(d)}),getOfflineSignerDirect:d=>{let f=p.getState().capsuleClient;if(!f)throw new Error("Capsule client is not initialized");return f.getOfflineSignerDirect(d)},signDirect:(...d)=>l(void 0,null,function*(){let[f,C,T]=d,x=p.getState().capsuleClient;if(!x)throw new Error("Capsule client is not initialized");return x.signDirect(f,C,{bodyBytes:T.bodyBytes,authInfoBytes:T.authInfoBytes,chainId:T.chainId,accountNumber:T.accountNumber})}),signAmino:(...d)=>l(void 0,null,function*(){let[f,C,T,x]=d,g=p.getState().capsuleClient;if(!g)throw new Error("Capsule client is not initialized");return g.signAmino(f,C,T,x)}),experimentalSuggestChain:(...d)=>l(void 0,null,function*(){yield Promise.reject(new Error("Capsule does not support experimentalSuggestChain"));}),setDefaultOptions:()=>{console.log("setDefaultOptions not supported by capsule");},getOfflineSigner:d=>{let f=p.getState().capsuleClient;if(!f)throw new Error("Capsule client is not initialized");return f.getOfflineSigner(d)},getOfflineSignerAmino:d=>{let f=p.getState().capsuleClient;if(!f)throw new Error("Capsule client is not initialized");return f.getOfflineSignerAmino(d)}}};var le=()=>{var e;if(typeof((e=window.cosmostation)==null?void 0:e.providers.keplr)!="undefined"){let t=window.cosmostation.providers.keplr;return Object.assign(t,{subscription:o=>{var a;let s=()=>{z(),o();};return (a=window.cosmostation)==null||a.cosmos.on("accountChanged",s),()=>{var c;(c=window.cosmostation)==null||c.cosmos.off("accountChanged",s);}},setDefaultOptions:o=>{t.defaultOptions=o;}})}throw u.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var ue=()=>{if(typeof window.keplr!="undefined"){let e=window.keplr;return Object.assign(e,{subscription:r=>{let o=()=>{z(),r();};return window.addEventListener("keplr_keystorechange",o),()=>{window.removeEventListener("keplr_keystorechange",o);}},setDefaultOptions:r=>{e.defaultOptions=r;}})}throw u.getState()._notFoundFn(),new Error("window.keplr is not defined")};var de=()=>{if(typeof window.leap!="undefined"){let e=window.leap;return Object.assign(e,{subscription:r=>{let o=()=>{z(),r();};return window.addEventListener("leap_keystorechange",o),()=>{window.removeEventListener("leap_keystorechange",o);}},setDefaultOptions:r=>{e.defaultOptions=r;}})}throw u.getState()._notFoundFn(),new Error("window.leap is not defined")};var Ye=e=>{let t=window.ethereum;if(t&&e){let n=()=>l(void 0,null,function*(){return yield t.request({method:"wallet_getSnaps"})}),i=g=>l(void 0,null,function*(){try{let w=yield n();return Object.values(w).find(b=>b.id===e.id&&(!g||b.version===g))}catch(w){return}}),r=()=>l(void 0,null,function*(){yield t.request({method:"wallet_requestSnaps",params:{[e.id]:e.params||{}}});}),o=()=>l(void 0,null,function*(){var _;let g=yield t.request({method:"web3_clientVersion"});if(!g.includes("MetaMask"))throw new Error("Metamask is not installed");if(typeof window.okxwallet!="undefined"&&window.okxwallet.isOkxWallet)throw new Error("You have OKX Wallet installed. Please disable and reload the page to use Metamask Snap.");let b=(_=g.split("MetaMask/v")[1])==null?void 0:_.split(".")[0];if(!(Number(b)>=11))throw new Error("Metamask Snap is not supported in this version");return (yield i())||(yield r()),!0}),s=g=>l(void 0,null,function*(){(yield i())||(yield r());}),a=(g,w,b)=>l(void 0,null,function*(){let D=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signDirect",params:{chainId:g,signerAddress:w,signDoc:b}}}}),N=b.accountNumber,_=new Ft(N.low,N.high,N.unsigned);return {signature:D.signature,signed:B(O({},D.signed),{accountNumber:`${_.toString()}`,authInfoBytes:new Uint8Array(Object.values(D.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(D.signed.bodyBytes))})}}),c=(g,w,b)=>l(void 0,null,function*(){return yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signAmino",params:{chainId:g,signerAddress:w,signDoc:b}}}})}),m=g=>l(void 0,null,function*(){let w=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"getKey",params:{chainId:g}}}});if(!w)throw new Error("No response from Metamask");return w.pubKey=Uint8Array.from(Object.values(w.pubkey)),delete w.pubkey,O({},w)}),A=g=>l(void 0,null,function*(){let w=yield m(g);return {address:w.bech32Address,algo:w.algo,pubkey:w.pubKey}}),E=(...g)=>l(void 0,null,function*(){let[w,b,D,N]=g;return yield c(w,b,D)}),h=(...g)=>l(void 0,null,function*(){let[w,b,D]=g;return yield a(w,b,D)}),d=g=>({getAccounts:()=>l(void 0,null,function*(){return [yield A(g)]}),signDirect:(w,b)=>h(g,w,b)}),f=g=>({getAccounts:()=>l(void 0,null,function*(){return [yield A(g)]}),signAmino:(w,b)=>E(g,w,b)});return {enable:s,experimentalSuggestChain:(...g)=>l(void 0,null,function*(){yield o(),yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"suggestChain",params:{chainInfo:g[0]}}}});}),getKey:m,getOfflineSigner:g=>({getAccounts:()=>l(void 0,null,function*(){return [yield A(g)]}),signDirect:(w,b)=>h(g,w,b),signAmino:(w,b)=>E(g,w,b)}),getOfflineSignerAuto:g=>l(void 0,null,function*(){return (yield m(g)).isNanoLedger?f(g):d(g)}),getOfflineSignerOnlyAmino:f,init:o,signAmino:E,signDirect:h}}throw u.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var Xe=()=>Ye({id:"npm:@leapwallet/metamask-cosmos-snap"});var pe=()=>{if(typeof window.station!="undefined"){let e=window.station.keplr;return {subscription:o=>{let s=()=>{z(),o();};return window.addEventListener("station_wallet_change",s),()=>{window.removeEventListener("station_wallet_change",s);}},getKey:o=>l(void 0,null,function*(){let s=yield e.getKey(o);return O({isKeystone:!1},s)}),getOfflineSigner:o=>{try{let s=e.getOfflineSignerOnlyAmino(o);return Object.assign(s,{signDirect:(m,A)=>{throw new Error("signDirect not supported by Station")}})}catch(s){throw console.error(s),s}},experimentalSuggestChain:o=>l(void 0,null,function*(){try{let s=Object.assign(o,{chainSymbolImageUrl:o.chainSymbolImageUrl||"",stakeCurrency:{coinDecimals:o.stakeCurrency.coinDecimals,coinDenom:o.stakeCurrency.coinDenom,coinImageUrl:o.stakeCurrency.coinImageUrl||"",coinMinimalDenom:o.stakeCurrency.coinMinimalDenom},currencies:o.currencies.map(a=>({coinDecimals:a.coinDecimals,coinDenom:a.coinDenom,coinImageUrl:a.coinImageUrl||"",coinMinimalDenom:a.coinMinimalDenom})),feeCurrencies:o.feeCurrencies.map(a=>{var c,m,A;return {coinDecimals:a.coinDecimals,coinDenom:a.coinDenom,coinImageUrl:a.coinImageUrl||"",coinMinimalDenom:a.coinMinimalDenom,gasPriceStep:{average:((c=a.gasPriceStep)==null?void 0:c.average)||0,high:((m=a.gasPriceStep)==null?void 0:m.high)||0,low:((A=a.gasPriceStep)==null?void 0:A.low)||0}}})});yield e.experimentalSuggestChain(s);}catch(s){throw console.error(s),s}}),enable:o=>e.enable(o),disable:o=>e.disable(o),getOfflineSignerAuto:o=>e.getOfflineSignerAuto(o),getOfflineSignerOnlyAmino:o=>e.getOfflineSignerOnlyAmino(o),signDirect:()=>e.signDirect(),signAmino:(o,s,a,c)=>e.signAmino(o,s,a),setDefaultOptions:()=>{console.log("setDefaultOptions not supported by WalletConnect");}}}throw u.getState()._notFoundFn(),new Error("window.station is not defined")};var me=()=>{if(typeof window.vectis!="undefined"){let e=window.vectis.cosmos;return {enable:a=>e.enable(a),getOfflineSigner:a=>e.getOfflineSigner(a),getOfflineSignerAuto:a=>e.getOfflineSignerAuto(a),getKey:a=>l(void 0,null,function*(){let c=yield e.getKey(a);return {address:fromBech32(c.address).data,algo:c.algo,bech32Address:c.address,name:c.name,pubKey:c.pubKey,isKeystone:!1,isNanoLedger:c.isNanoLedger}}),subscription:a=>{let c=()=>{z(),a();};return window.addEventListener("vectis_accountChanged",c),()=>{window.removeEventListener("vectis_accountChanged",c);}},getOfflineSignerOnlyAmino:(...a)=>e.getOfflineSignerAmino(...a),experimentalSuggestChain:(...a)=>l(void 0,null,function*(){let[c]=a,m=B(O({},c),{rpcUrl:c.rpc,restUrl:c.rest,prettyName:c.chainName.replace(" ",""),bech32Prefix:c.bech32Config.bech32PrefixAccAddr});return e.suggestChains([m])}),signDirect:(...a)=>l(void 0,null,function*(){var A;let{1:c,2:m}=a;return e.signDirect(c,{bodyBytes:m.bodyBytes||Uint8Array.from([]),authInfoBytes:m.authInfoBytes||Uint8Array.from([]),accountNumber:Ft.fromString(((A=m.accountNumber)==null?void 0:A.toString())||"",!1),chainId:m.chainId||""})}),signAmino:(...a)=>l(void 0,null,function*(){let{1:c,2:m}=a;return e.signAmino(c,m)}),setDefaultOptions:()=>{console.log("setDefaultOptions not supported by Vectis");}}}throw u.getState()._notFoundFn(),new Error("window.vectis is not defined")};var j=()=>typeof window!="undefined"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,Je=()=>j()&&navigator.userAgent.toLowerCase().includes("android"),Ze=()=>j()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var Oe=(e,t,n=new Error("Promise timed out"))=>{let i=new Promise((r,o)=>{setTimeout(()=>{o(n);},t);});return Promise.race([e,i])};var $=e=>{var _,oe,Be;if(!((Be=(oe=(_=u.getState().walletConnect)==null?void 0:_.options)==null?void 0:oe.projectId)!=null&&Be.trim()))throw new Error("walletConnect.options.projectId is not defined");let t=(e==null?void 0:e.walletType)||"walletconnect",n=(e==null?void 0:e.encoding)||"base64",i=y=>{if(!e)return;let{appUrl:S,formatNativeUrl:I}=e;if(j()){if(Je())if(!y)window.open(S.mobile.android,"_self","noreferrer noopener");else {let W=I(S.mobile.android,y,"android");window.open(W,"_self","noreferrer noopener");}if(Ze())if(!y)window.open(S.mobile.ios,"_self","noreferrer noopener");else {let W=I(S.mobile.ios,y,"ios");window.open(W,"_self","noreferrer noopener");}}},r=()=>{let{wcSignClients:y}=p.getState();if(!y.get(t))throw new Error("walletConnect.signClient is not defined");y.delete(t),p.setState({wcSignClients:y}),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});},o=y=>l(void 0,null,function*(){let{wcSignClients:S}=p.getState(),I=S.get(t);if(!I)throw new Error("walletConnect.signClient is not defined");if(!y)throw new Error("No wallet connect session");yield I.disconnect({topic:y,reason:getSdkError("USER_DISCONNECTED")}),yield c(I);}),s=y=>{try{let{wcSignClients:S}=p.getState(),I=S.get(t);if(!I)throw new Error("walletConnect.signClient is not defined");let W=I.session.getAll().at(-1);if(!W)return;if(!(W.expiry*1e3>Date.now()+1e3))throw o(W.topic),new Error("invalid session");try{let k=I.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:y.map(q=>`cosmos:${q}`),events:["chainChanged","accountsChanged"]}}});if(!k.length)throw new Error("no session");return k.at(-1)}catch(k){if(!k.message.toLowerCase().includes("no matching key"))throw k}return W}catch(S){if(!S.message.toLowerCase().includes("no matching key"))throw S}},a=y=>{try{return s(y)}catch(S){return}},c=y=>l(void 0,null,function*(){try{let S=y.core.pairing.pairings.getAll({active:!1});if(!S.length)return;yield Promise.all(S.map(I=>l(void 0,null,function*(){yield y.core.pairing.pairings.delete(I.topic,{code:7001,message:"clear pairing"});})));}catch(S){if(!S.message.toLowerCase().includes("no matching key"))throw S}}),m=()=>l(void 0,null,function*(){let{walletConnect:y}=u.getState();if(!(y!=null&&y.options))throw new Error("walletConnect.options is not defined");let{wcSignClients:S}=p.getState(),I=S.get(t);if(I)return I;let W=yield SignClient.init(y.options);return S.set(t,W),p.setState({wcSignClients:S}),W}),A=y=>{let{wcSignClients:S}=p.getState(),I=S.get(t);if(!I)return ()=>{};let W=R=>{let k=p.getState().accounts;if(R.params.event.name==="accountsChanged"&&k&&!Object.values(k).map(q=>q.bech32Address).includes(R.params.event.data[0])){let q=R.params.chainId.split(":")[1];q&&E([q]);}else y();};return I.events.on("session_delete",r),I.events.on("session_expire",r),I.events.on("session_event",W),()=>{I.events.off("session_delete",r),I.events.off("session_expire",r),I.events.off("session_event",W);}},E=y=>l(void 0,null,function*(){var ie;let S=typeof y=="string"?[y]:y,{wcSignClients:I}=p.getState(),W=I.get(t);if(!W)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:R,chains:k}=u.getState();if(!((ie=R==null?void 0:R.options)!=null&&ie.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:q}=yield import('@web3modal/standalone'),H=new q(O({projectId:R.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE"},R.web3Modal)),X=a(S);if(!X){let{uri:L,approval:J}=yield Oe(W.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:S.map(F=>`cosmos:${F}`),events:["chainChanged","accountsChanged"]}}}),15e3,new Error("Connection timeout"));if(!L)throw new Error("No wallet connect uri");e?i(L):yield H.openModal({uri:L});let re=F=>l(void 0,null,function*(){return F.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((Ee,Z)=>{J().then(_e=>{let Ke=_e.sessionProperties;if(!Ke)return Z(new Error("No session properties"));let Te=JSON.parse(String(Ke.keys));if(Te.length===0)return Z(new Error("No accounts"));let Le=Te[0];if(!Le)return Z(new Error("No accounts"));let Ue={};return S.forEach(se=>{Ue[se]=B(O({},Le),{bech32Address:toBech32(k.find(Dt=>Dt.chainId===se).bech32Config.bech32PrefixAccAddr,fromBech32(Te[0].bech32Address).data)});}),p.setState(se=>({accounts:O(O({},se.accounts||{}),Ue)})),Ee(_e)}).catch(Z),F.addEventListener("abort",()=>{Z(new Error("User closed wallet connect"));},{once:!0});})});try{let F=new AbortController,Ee=F.signal;H.subscribeModal(Z=>{Z.open||F.abort();}),yield re(Ee);}catch(F){if(H.closeModal(),!F.message.toLowerCase().includes("no matching key"))return Promise.reject(F)}return e||H.closeModal(),Promise.resolve()}try{yield Oe((()=>l(void 0,null,function*(){let L=yield d(S[0]),J={};S.forEach(re=>{J[re]=B(O({},L),{bech32Address:toBech32(k.find(F=>F.chainId===re).bech32Config.bech32PrefixAccAddr,fromBech32(L.bech32Address).data)});}),p.setState({accounts:J});}))(),15e3,new Error("Connection timeout"));}catch(L){if(o(X.topic),!L.message.toLowerCase().includes("no matching key"))throw L}}),h=y=>l(void 0,null,function*(){var k;let{wcSignClients:S}=p.getState(),I=S.get(t);if(!I)throw new Error("walletConnect.signClient is not defined");let W=(k=s([y]))==null?void 0:k.topic;if(!W)throw new Error("No wallet connect session");let R=yield I.request({topic:W,chainId:`cosmos:${y}`,request:{method:"cosmos_getAccounts",params:{}}});if(!R[0])throw new Error("No wallet connect account");return {address:R[0].address,algo:R[0].algo,pubkey:new Uint8Array(Buffer.from(R[0].pubkey,n))}}),d=y=>l(void 0,null,function*(){let S=s([y]);if(!(S!=null&&S.topic))throw new Error("No wallet connect session");let I=S.sessionProperties&&JSON.parse(String(S.sessionProperties.keys))[0];if(!I)throw new Error("No wallet connect key");return I}),f=(...y)=>l(void 0,null,function*(){var L,J;let[S,I,W]=y,{accounts:R,wcSignClients:k}=p.getState(),q=k.get(t);if(!q)throw new Error("walletConnect.signClient is not defined");if(!R)throw new Error("account is not defined");let H=(L=s([S]))==null?void 0:L.topic;if(!H)throw new Error("No wallet connect session");if(!W.bodyBytes)throw new Error("No bodyBytes");if(!W.authInfoBytes)throw new Error("No authInfoBytes");let X={topic:H,chainId:`cosmos:${S}`,request:{method:"cosmos_signDirect",params:{signerAddress:I,signDoc:B(O({},W),{bodyBytes:Buffer.from(W.bodyBytes).toString(n),authInfoBytes:Buffer.from(W.authInfoBytes).toString(n),accountNumber:(J=W.accountNumber)==null?void 0:J.toString()})}}};return i(),yield q.request(X)}),C=(...y)=>l(void 0,null,function*(){let[S,I,W]=y,{signature:R,signed:k}=yield f(S,I,W);return {signed:{chainId:k.chainId,accountNumber:Ft.fromString(k.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(k.authInfoBytes,n)),bodyBytes:new Uint8Array(Buffer.from(k.bodyBytes,n))},signature:R}}),T=(...y)=>l(void 0,null,function*(){var L;let[S,I,W,R]=y,{wcSignClients:k}=p.getState(),q=k.get(t),{accounts:H}=p.getState();if(!q)throw new Error("walletConnect.signClient is not defined");if(!H)throw new Error("account is not defined");let X=(L=s([S]))==null?void 0:L.topic;if(!X)throw new Error("No wallet connect session");return i(),yield q.request({topic:X,chainId:`cosmos:${S}`,request:{method:"cosmos_signDirect",params:{signerAddress:I,signDoc:W}}})}),x=(...y)=>l(void 0,null,function*(){let[S,I,W,R]=y;return yield T(S,I,W)}),g=y=>({getAccounts:()=>l(void 0,null,function*(){return [yield h(y)]}),signDirect:(S,I)=>C(y,S,I)}),w=y=>({getAccounts:()=>l(void 0,null,function*(){return [yield h(y)]}),signAmino:(S,I)=>x(y,S,I)});return {enable:E,disable:y=>l(void 0,null,function*(){var W;let{wcSignClients:S}=p.getState(),I=S.get(t);if(y===void 0){let R=I==null?void 0:I.session.getAll();R!==void 0&&(yield Promise.all(R.map(k=>o(k.topic))));}else typeof y=="string"?yield o((W=s([y]))==null?void 0:W.topic):yield Promise.all(y.map(R=>{var k;return o((k=s([R]))==null?void 0:k.topic)}));(I==null?void 0:I.session.getAll().length)===0&&r();}),experimentalSuggestChain:(...y)=>l(void 0,null,function*(){yield Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"));}),getKey:d,getOfflineSigner:y=>({getAccounts:()=>l(void 0,null,function*(){return [yield h(y)]}),signDirect:(S,I)=>C(y,S,I),signAmino:(S,I)=>x(y,S,I)}),getOfflineSignerAuto:y=>l(void 0,null,function*(){return (yield d(y)).isNanoLedger?w(y):g(y)}),getOfflineSignerOnlyAmino:w,signAmino:x,signDirect:C,subscription:A,init:m,setDefaultOptions:()=>{console.log("setDefaultOptions not supported by WalletConnect");}}};var nt=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!j())throw new Error("WalletConnect Cosmostation mobile is only supported in mobile");let e={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_cosmostation_mobile",formatNativeUrl:(r,o,s)=>`${r.replaceAll("/","").replaceAll(":","")}://wc?${o}`};return $(e)};var ot=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!j())throw new Error("WalletConnect Keplr mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"keplrwallet://",android:"intent://"}},walletType:"wc_keplr_mobile",formatNativeUrl:(r,o,s)=>{let a=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(o);switch(s){case"ios":return `${a}://wcV2?${c}`;case"android":return `${a}://wcV2?${c}#Intent;package=com.chainapsis.keplr;scheme=keplrwallet;end;`;default:return `${a}://wc?uri=${c}`}}};return $(e)};var it=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!j())throw new Error("WalletConnect Leap mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"leapcosmos://",android:"intent://"}},walletType:"wc_leap_mobile",formatNativeUrl:(r,o,s)=>{let a=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(o);switch(s){case"ios":return `${a}://wcV2?${c}`;case"android":return `${a}://wcV2?${c}#Intent;package=io.leapwallet.cosmos;scheme=leapwallet;end;`;default:return `${a}://wc?uri=${c}`}}};return $(e)};var fe=()=>{var e;if(typeof((e=window.xfi)==null?void 0:e.keplr)!="undefined"){let t=window.xfi.keplr;return Object.assign(t,{subscription:r=>{let o=()=>{z(),r();};return window.addEventListener("keplr_keystorechange",o),()=>{window.removeEventListener("keplr_keystorechange",o);}},setDefaultOptions:()=>{console.log("setDefaultOptions not supported by Vectis");}})}throw u.getState()._notFoundFn(),new Error("window.xfi.keplr is not defined")};var K=(e=u.getState().walletType)=>{try{return P(e),!0}catch(t){return !1}},z=()=>{window.sessionStorage.removeItem(V),p.setState(ee);},P=(e=u.getState().walletType)=>{var i;let t=(()=>{switch(e){case"keplr":return ue();case"leap":return de();case"cosmostation":return le();case"vectis":return me();case"walletconnect":return $();case"wc_keplr_mobile":return ot();case"wc_leap_mobile":return it();case"wc_cosmostation_mobile":return nt();case"metamask_snap_leap":return Xe();case"station":return pe();case"xdefi":return fe();case"capsule":return ce();default:throw new Error("Unknown wallet type")}})(),n=u.getState().walletDefaultOptions;return n&&((i=t.setDefaultOptions)==null||i.call(t,n)),t},oi=()=>Object.fromEntries(je.map(e=>[e,K(e)])),xe=e=>e==="capsule",rt=e=>e==="walletconnect"||e==="wc_keplr_mobile"||e==="wc_leap_mobile"||e==="wc_cosmostation_mobile";var te=e=>l(void 0,null,function*(){var t;try{let{recentChainIds:n,chains:i,walletType:r}=u.getState(),o=(e==null?void 0:e.walletType)||r;if(!K(o))throw new Error(`${o} is not available`);let a=P(o),c=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:(e==null?void 0:e.chainId)||n;if(!c)throw new Error("No last known connected chain, connect action requires chain ids");let m=i==null?void 0:i.map(d=>d.chainId);c.forEach(d=>{if(!(m!=null&&m.includes(d)))throw new Error(`Chain ${d} is not provided in GrazProvider`)}),p.setState(d=>{let f=u.getState()._reconnect||!!u.getState()._reconnectConnector||!!c;return d.activeChainIds&&c.filter(T=>{var x;return !((x=d.activeChainIds)!=null&&x.includes(T))}).length>0?{status:"connecting"}:f?{status:"reconnecting"}:{status:"connecting"}});let{accounts:A}=p.getState();if(yield (t=a.init)==null?void 0:t.call(a),xe(o)&&p.getState().capsuleClient&&Object.values(p.getState().accounts||[]).length>0){let d=c.map(x=>i.find(g=>g.chainId===x)),f=p.getState().accounts;p.setState({status:"connecting"});let C=yield a.getKey(c[0]),T={};return c.forEach(x=>{T[x]=B(O({},C),{bech32Address:toBech32(i.find(g=>g.chainId===x).bech32Config.bech32PrefixAccAddr,fromBech32(C.bech32Address).data)});}),p.setState(x=>({accounts:O(O({},x.accounts||{}),T)})),u.setState(x=>({recentChainIds:[...x.recentChainIds||[],...c].filter((g,w,b)=>b.indexOf(g)===w)})),p.setState(x=>({activeChainIds:[...x.activeChainIds||[],...c].filter((g,w,b)=>b.indexOf(g)===w)})),p.setState({status:"connected"}),{accounts:f,walletType:o,chains:d}}if(yield a.enable(c),xe(o)){let d=c.map(C=>i.find(T=>T.chainId===C)),f=p.getState().accounts;return p.setState({status:"connecting"}),{accounts:f,walletType:o,chains:d}}if(!rt(o)){let d=yield a.getKey(c[0]),f={};c.forEach(C=>{f[C]=B(O({},d),{bech32Address:toBech32(i.find(T=>T.chainId===C).bech32Config.bech32PrefixAccAddr,fromBech32(d.bech32Address).data)});}),p.setState(C=>({accounts:O(O({},C.accounts||{}),f)}));}u.setState(d=>({recentChainIds:[...d.recentChainIds||[],...c].filter((f,C,T)=>T.indexOf(f)===C)})),p.setState(d=>({activeChainIds:[...d.activeChainIds||[],...c].filter((f,C,T)=>T.indexOf(f)===C)})),u.setState({walletType:o,_reconnect:!!(e!=null&&e.autoReconnect),_reconnectConnector:o}),p.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(V,"Active");let E=c.map(d=>i.find(f=>f.chainId===d));return {accounts:p.getState().accounts,walletType:o,chains:E}}catch(n){throw console.error("connect ",n),p.getState().accounts===null&&p.setState({status:"disconnected"}),p.getState().accounts&&p.getState().activeChainIds&&p.setState({status:"connected"}),n}}),ne=e=>{typeof window!="undefined"&&window.sessionStorage.removeItem(V);let t=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:e==null?void 0:e.chainId;if(t){let n=p.getState().accounts;t.forEach(r=>{n==null||delete n[r];}),Object.values(n||{}).length===0?(p.setState(ee),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null})):(p.setState(r=>{var o;return {activeChainIds:(o=r.activeChainIds)==null?void 0:o.filter(s=>!t.includes(s)),accounts:n}}),u.setState(r=>{var o;return {recentChainIds:(o=r.recentChainIds)==null?void 0:o.filter(s=>!t.includes(s))}}));}else p.setState(ee),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});return Promise.resolve()},Q=e=>l(void 0,null,function*(){var r;let{recentChainIds:t,_reconnectConnector:n,_reconnect:i}=u.getState();try{let o=K(n||void 0);if(t&&o&&n)return yield te({chainId:t,walletType:n,autoReconnect:i})}catch(o){(r=e==null?void 0:e.onError)==null||r.call(e,o),ne();}}),ct=e=>l(void 0,null,function*(){if(!(e!=null&&e.chainId))throw new Error("chainId is required");let{walletType:t}=u.getState(),n=e.walletType||t;if(!K(n))throw new Error(`${n} is not available`);let r=P(n),o=r.getOfflineSigner(e.chainId),s=r.getOfflineSignerOnlyAmino(e.chainId),a=yield r.getOfflineSignerAuto(e.chainId);return {offlineSigner:o,offlineSignerAmino:s,offlineSignerAuto:a}});var Me=()=>{u.setState({recentChainIds:null});},Ci=()=>u.getState().recentChainIds,yi=()=>{var n;let{recentChainIds:e,chains:t}=u.getState();return (n=e==null?void 0:e.map(i=>t.find(r=>r.chainId===i)))!=null?n:null},Si=({chainId:e})=>{var t;return (t=u.getState().chains)==null?void 0:t.find(n=>n.chainId===e)},hi=({chainId:e})=>{var t;return (t=u.getState().chains)==null?void 0:t.filter(n=>e==null?void 0:e.includes(n.chainId))},ve=n=>l(void 0,[n],function*({chainInfo:e,walletType:t}){let i=P(t);return t==="capsule"?yield te({chainId:e.chainId,walletType:t}):yield i.experimentalSuggestChain(e),e}),lt=e=>l(void 0,null,function*(){var i;let t=u.getState().walletType;return yield ve({chainInfo:e.chainInfo,walletType:(i=e.walletType)!=null?i:t}),yield te({chainId:e.chainInfo.chainId,walletType:e.walletType,autoReconnect:e.autoReconnect})});var ut=e=>(u.setState(t=>({walletConnect:e.walletConnect||t.walletConnect,walletType:e.defaultWallet||t.walletType,capsuleConfig:e.capsuleConfig||t.capsuleConfig,walletDefaultOptions:e.walletDefaultOptions||t.walletDefaultOptions,chains:e.chains,chainsConfig:e.chainsConfig||t.chainsConfig,multiChainFetchConcurrency:e.multiChainFetchConcurrency||t.multiChainFetchConcurrency,_notFoundFn:e.onNotFound||t._notFoundFn,_onReconnectFailed:e.onReconnectFailed||t._onReconnectFailed,_reconnect:e.autoReconnect===void 0?!0:e.autoReconnect||t._reconnect})),e);var dt=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,recipientAddress:n,amount:i,fee:r,memo:o}){if(!e)throw new Error("No connected account detected");if(!t)throw new Error("senderAddress is not defined");return e.sendTokens(t,n,i,r,o)}),pt=A=>l(void 0,[A],function*({signingClient:e,senderAddress:t,recipientAddress:n,transferAmount:i,sourcePort:r,sourceChannel:o,timeoutHeight:s,timeoutTimestamp:a,fee:c,memo:m}){if(!e)throw new Error("Stargate signing client is not ready");if(!t)throw new Error("senderAddress is not defined");return e.sendIbcTokens(t,n,i,r,o,s,a,c,m)}),mt=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,msg:n,fee:i,options:r,label:o,codeId:s}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.instantiate(t,s,n,o,i,r)}),ft=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,msg:n,fee:i,contractAddress:r,funds:o,memo:s}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.execute(t,r,n,i,s,o)}),gt=(e,t,n)=>l(void 0,null,function*(){if(!n)throw new Error("CosmWasm client is not ready");return yield n.queryContractSmart(e,t)}),Ct=(e,t,n)=>{if(!n)throw new Error("CosmWasm client is not ready");let i=new TextEncoder().encode(t);return n.queryContractRaw(e,i)};var vi=e=>e,Wi=e=>e;var ge=e=>e?Object.keys(e).length===0:!0;var We=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t;}},yt=e=>globalThis.DOMException===void 0?new We(e):new DOMException(e),St=e=>{let t=e.reason===void 0?yt("This operation was aborted."):e.reason;return t instanceof Error?t:yt(t)};function ke(o,s){return l(this,arguments,function*(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:i=!0,signal:r}={}){return new Promise((a,c)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(n)||n===Number.POSITIVE_INFINITY)&&n>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let m=[],A=[],E=new Map,h=!1,d=!1,f=!1,C=0,T=0,x=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),g=b=>{h=!0,d=!0,c(b);};r&&(r.aborted&&g(St(r)),r.addEventListener("abort",()=>{g(St(r));}));let w=()=>l(this,null,function*(){if(d)return;let b=yield x.next(),D=T;if(T++,b.done){if(f=!0,C===0&&!d){if(!i&&A.length>0){g(new AggregateError(A));return}if(d=!0,E.size===0){a(m);return}let N=[];for(let[_,oe]of m.entries())E.get(_)!==ht&&N.push(oe);a(N);}return}C++,l(this,null,function*(){try{let N=yield b.value;if(d)return;let _=yield t(N,D);_===ht&&E.set(D,_),m[D]=_,C--,yield w();}catch(N){if(i)g(N);else {A.push(N),C--;try{yield w();}catch(_){g(_);}}}});});l(this,null,function*(){for(let b=0;b<n;b++){try{yield w();}catch(D){g(D);break}if(f||h)break}});})})}var ht=Symbol("skip");var U=({chainId:e,multiChain:t})=>{let n=u(r=>r.chains);if(!n)throw new Error("No chains found in GrazProvider");let i=typeof e=="string"?[e]:e;switch(!0){case(!!t&&!!i):return i.map(r=>n.find(o=>o.chainId===r)).filter(Boolean);case(!t&&!!i):return [i.map(r=>n.find(o=>o.chainId===r)).filter(Boolean)[0]];case(!!t&&!i):return n;default:return [n[0]]}},G=(e,t,n)=>l(void 0,null,function*(){let i=u.getState().multiChainFetchConcurrency;if(e){let o=yield ke(t,n,{concurrency:i});return Object.fromEntries(o.map((s,a)=>[t[a].chainId,s]))}return yield n(t[0])}),wt=(e,t,n)=>{if(e){let r=t.map(n);return Object.fromEntries(r.map((o,s)=>[t[s].chainId,o]))}return n(t[0])};var De=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=useMemo(()=>["USE_STARGATE_CLIENT",t],[t]);return useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),i,s=>l(void 0,null,function*(){var A;let a=(A=u.getState().chainsConfig)==null?void 0:A[s.chainId],c={url:s.rpc,headers:O({},(a==null?void 0:a.rpcHeaders)||{})};return yield StargateClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},Ne=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=useMemo(()=>["USE_COSMWASM_CLIENT",t],[t]);return useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),i,s=>l(void 0,null,function*(){var A;let a=(A=u.getState().chainsConfig)==null?void 0:A[s.chainId],c={url:s.rpc,headers:O({},(a==null?void 0:a.rpcHeaders)||{})};return yield CosmWasmClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},Ce=({type:e,chainId:t,multiChain:n,enabled:i})=>{let r=U({chainId:t,multiChain:n}),o=useMemo(()=>["USE_TENDERMINT_CLIENT",e,r],[e,r]);return useQuery({queryKey:o,queryFn:c=>l(void 0,[c],function*({queryKey:[,s,a]}){if(a.length<1)throw new Error("No chains found");return yield G(!!n,a,A=>l(void 0,null,function*(){var C;let E=(C=u.getState().chainsConfig)==null?void 0:C[A.chainId],h={url:A.rpc,headers:O({},(E==null?void 0:E.rpcHeaders)||{})};return yield (s==="tm37"?Tendermint37Client:Tendermint34Client).connect(h)}))}),enabled:!!r&&r.length>0&&(i!==void 0?!!i:!0),refetchOnWindowFocus:!1})};var or=()=>u(e=>({walletType:e.walletType,isCosmostation:e.walletType==="cosmostation",isCosmostationMobile:e.walletType==="wc_cosmostation_mobile",isKeplr:e.walletType==="keplr",isKeplrMobile:e.walletType==="wc_keplr_mobile",isLeap:e.walletType==="leap",isLeapMobile:e.walletType==="wc_leap_mobile",isVectis:e.walletType==="vectis",isWalletConnect:e.walletType==="walletconnect",isMetamaskSnapLeap:e.walletType==="metamask_snap_leap",isStation:e.walletType==="station",isCapsule:e.walletType==="capsule"}),shallow),ye=e=>{let n=["USE_CHECK_WALLET",u(r=>e||r.walletType)];return useQuery(n,({queryKey:[,r]})=>K(r))};var Y=e=>{let t=u(a=>a.walletType),n=p(a=>a.activeChainIds),i=U({chainId:e!=null&&e.chainId?e.chainId:n||void 0,multiChain:e==null?void 0:e.multiChain}),r=p(a=>a.accounts),o=p(a=>a.status);return useEffect(()=>p.subscribe(a=>a.status,(a,c)=>{var m,A,E;if(a==="connected"){let{accounts:h,activeChainIds:d}=p.getState(),{chains:f}=u.getState(),{walletType:C}=u.getState();if(!h||!d||!f)return (m=e==null?void 0:e.onDisconnect)==null?void 0:m.call(e);(A=e==null?void 0:e.onConnect)==null||A.call(e,{accounts:h,chains:d.map(T=>f.find(x=>x.chainId===T)),walletType:C,isReconnect:c==="reconnecting"});}a==="disconnected"&&((E=e==null?void 0:e.onDisconnect)==null||E.call(e));}),[e]),{data:useMemo(()=>r?wt(!!(e!=null&&e.multiChain),i,a=>r[a.chainId]):void 0,[r,i,e==null?void 0:e.multiChain]),isConnected:o==="connected",isConnecting:o==="connecting",isDisconnected:o==="disconnected",isReconnecting:o==="reconnecting",isLoading:o==="connecting"||o==="reconnecting",walletType:o==="connected"?t:void 0,reconnect:Q,status:o}},nn=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=Y(),i=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),{data:r}=De({chainId:t.map(s=>s.chainId),multiChain:!0,enabled:((e==null?void 0:e.enabled)===void 0?!0:e.enabled)&&!!i}),o=useMemo(()=>["USE_ALL_BALANCES",r,t,i,e==null?void 0:e.chainId],[i,e==null?void 0:e.chainId,t,r]);return useQuery(o,m=>l(void 0,[m],function*({queryKey:[,s,a,c]}){if(!c)throw new Error("address is not defined");return yield G(!!(e!=null&&e.multiChain),a,E=>l(void 0,null,function*(){let h=s==null?void 0:s[E.chainId];if(!h)throw new Error(`Client is not ready ${E.chainId}`);return yield h.getAllBalances(toBech32(E.bech32Config.bech32PrefixAccAddr,fromBech32(c).data))}))}),{enabled:!!i&&!!t&&t.length>0&&!ge(r)&&((e==null?void 0:e.enabled)===void 0?!0:e.enabled),refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},Cr=e=>{let t=U({chainId:e.chainId}),{data:n}=Y({chainId:e.chainId}),i=e.bech32Address||(n==null?void 0:n.bech32Address),{data:r,refetch:o}=nn({chainId:t.map(c=>c.chainId),bech32Address:i,enabled:!!i&&(e.enabled===void 0?!0:e.enabled)}),s=["USE_BALANCE",e.denom,r,t,i,e.chainId],a=useQuery(s,({queryKey:[,c,m]})=>m==null?void 0:m.find(A=>A.denom===c),{enabled:!!e.denom&&!!r&&!!(r!=null&&r.length)&&(e.enabled===void 0?!0:e.enabled)});return B(O({},a),{refetch:c=>l(void 0,null,function*(){return yield o(),a.refetch(c)})})},yr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_CONNECT",e,t,n],te,{onError:(s,a)=>e==null?void 0:e(s,a),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:o}=ye();return {connect:s=>r.mutate(s),connectAsync:s=>r.mutateAsync(s),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!o,status:r.status}},Sr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_DISCONNECT",e,t,n],ne,{onError:o=>Promise.resolve(e==null?void 0:e(o,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return {disconnect:o=>r.mutate(o),disconnectAsync:o=>r.mutateAsync(o),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,status:r.status}},hr=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(r=>r.walletType),i=useMemo(()=>["USE_OFFLINE_SIGNERS",t,n],[t,n]);return useQuery({queryKey:i,queryFn:s=>l(void 0,[s],function*({queryKey:[,r,o]}){if(r.length<1)throw new Error("No chain found");if(!K(o))throw new Error(`${o} is not available`);return yield G(!!(e!=null&&e.multiChain),r,m=>l(void 0,null,function*(){return yield ct({chainId:m.chainId,walletType:o})}))}),enabled:!!t&&t.length>0&&!!n,refetchOnWindowFocus:!1})},wr=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=Y(),{data:i}=De({chainId:t.map(s=>s.chainId),multiChain:!0}),r=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),o=useMemo(()=>["USE_BALANCE_STAKED",i,t,r],[t,r,i]);return useQuery(o,m=>l(void 0,[m],function*({queryKey:[,s,a,c]}){if(!c)throw new Error("address is not defined");return yield G(!!(e!=null&&e.multiChain),a,E=>l(void 0,null,function*(){var d;if(!s)throw new Error("Client is not ready");return yield (d=s[E.chainId])==null?void 0:d.getBalanceStaked(toBech32(E.bech32Config.bech32PrefixAccAddr,fromBech32(c).data))}))}),{enabled:!!r&&!!t&&t.length>0&&!!i,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var xr=()=>{let e=u(i=>i.capsuleState),t=p(i=>i.capsuleClient),n=ce();return {setModalState:i=>{u.setState(r=>{var o;return {capsuleState:{showModal:i,chainId:(o=r.capsuleState)==null?void 0:o.chainId}}});},modalState:!!(e!=null&&e.showModal),client:t,onAfterLoginSuccessful:n.onAfterLoginSuccessful,onLoginFailure:()=>{ne();}}};var Dr=()=>p(e=>e.activeChainIds),on=()=>{var e;return (e=p(t=>t.activeChainIds))==null?void 0:e.map(t=>{var i;let n=(i=u.getState().chains)==null?void 0:i.find(r=>r.chainId===t);if(n)return n}).filter(Boolean)},Nr=({chainId:e})=>{var t;return (t=u().chains)==null?void 0:t.find(n=>n.chainId===e)},Br=({chainId:e})=>{var t;return (t=u().chains)==null?void 0:t.filter(n=>e==null?void 0:e.includes(n.chainId))},_r=({denom:e})=>{let t=on();return useQuery(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,r]})=>{var o;return (o=t==null?void 0:t.find(s=>s.currencies.find(a=>a.coinMinimalDenom===r)))==null?void 0:o.currencies.find(s=>s)})},Kr=e=>{var r;let t=(r=e.status)!=null?r:"BOND_STATUS_BONDED",n=["USE_ACTIVE_CHAIN_VALIDATORS",e.queryClient,t];return useQuery(n,a=>l(void 0,[a],function*({queryKey:[,o,s]}){if(!o)throw new Error("Query client is not defined");return yield o.staking.validators(s)}),{enabled:typeof e.queryClient!="undefined"})},Lr=()=>({data:u(t=>t.recentChainIds),clear:Me}),Ur=()=>{var t;return {data:(t=u(n=>n.recentChainIds))==null?void 0:t.map(n=>{var r;let i=(r=u.getState().chains)==null?void 0:r.find(o=>o.chainId===n);if(i)return i}).filter(Boolean),clear:Me}},qr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_SUGGEST_CHAIN",e,t,n],ve,{onError:(o,s)=>Promise.resolve(e==null?void 0:e(o,s.chainInfo)),onMutate:o=>t==null?void 0:t(o.chainInfo),onSuccess:o=>Promise.resolve(n==null?void 0:n(o))});return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,suggest:r.mutate,suggestAsync:r.mutateAsync,status:r.status}},Gr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],lt,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:s=>t==null?void 0:t(s),onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:o}=ye();return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!o,status:r.status,suggestAndConnect:r.mutate,suggestAndConnectAsync:r.mutateAsync}};var Yr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=Y(),r=i==null?void 0:i.bech32Address,o=useMutation(["USE_SEND_TOKENS",e,t,n,r],s=>dt(O({senderAddress:r},s)),{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendTokens:o.mutate,sendTokensAsync:o.mutateAsync,status:o.status}},Xr=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=Y(),r=i==null?void 0:i.bech32Address,o=useMutation(["USE_SEND_IBC_TOKENS",e,t,n,r],s=>pt(O({senderAddress:r},s)),{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendIbcTokens:o.mutate,sendIbcTokensAsync:o.mutateAsync,status:o.status}},Jr=({codeId:e,onError:t,onLoading:n,onSuccess:i})=>{let{data:r}=Y(),o=r==null?void 0:r.bech32Address,a=useMutation(["USE_INSTANTIATE_CONTRACT",t,n,i,e,o],c=>{var A;if(!o)throw new Error("senderAddress is undefined");let m=B(O({},c),{fee:(A=c.fee)!=null?A:"auto",senderAddress:o,codeId:e});return mt(m)},{onError:(c,m)=>Promise.resolve(t==null?void 0:t(c,m)),onMutate:n,onSuccess:c=>Promise.resolve(i==null?void 0:i(c))});return {error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,instantiateContract:a.mutate,instantiateContractAsync:a.mutateAsync,status:a.status}},Zr=({contractAddress:e,onError:t,onLoading:n,onSuccess:i})=>{let{data:r}=Y(),o=r==null?void 0:r.bech32Address,a=useMutation(["USE_EXECUTE_CONTRACT",t,n,i,e,o],c=>{var A,E,h;if(!o)throw new Error("senderAddress is undefined");let m=B(O({},c),{fee:(A=c.fee)!=null?A:"auto",senderAddress:o,contractAddress:e,memo:(E=c.memo)!=null?E:"",funds:(h=c.funds)!=null?h:[]});return ft(m)},{onError:(c,m)=>Promise.resolve(t==null?void 0:t(c,m)),onMutate:n,onSuccess:c=>Promise.resolve(i==null?void 0:i(c))});return {error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,executeContract:a.mutate,executeContractAsync:a.mutateAsync,status:a.status}},es=e=>{let{data:t}=Ne();return useQuery(["USE_QUERY_SMART",e==null?void 0:e.address,e==null?void 0:e.queryMsg,t],({queryKey:[,i]})=>{if(!(e!=null&&e.address)||!e.queryMsg)throw new Error("address or queryMsg undefined");return gt(e.address,e.queryMsg,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.queryMsg)&&!!t})},ts=e=>{let{data:t}=Ne(),n=["USE_QUERY_RAW",e==null?void 0:e.key,e==null?void 0:e.address,t];return useQuery(n,({queryKey:[,r]})=>{if(!(e!=null&&e.address)||!e.key)throw new Error("address or key undefined");return Ct(e.address,e.key,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.key)&&!!t})};function fs(e){let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=p(o=>o.activeChainIds),r=useMemo(()=>["USE_STARGATE_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]);return useQuery({queryKey:r,queryFn:a=>l(this,[a],function*({queryKey:[,o,s]}){if(o.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),o,m=>l(this,null,function*(){var C,T;if(!(i!=null&&i.includes(m.chainId)))return;if(!K(s))throw new Error(`${s} is not available`);let E=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return P(s).getOfflineSigner(m.chainId);case"offlineSignerAuto":return P(s).getOfflineSignerAuto(m.chainId);case"offlineSignerOnlyAmino":return P(s).getOfflineSignerOnlyAmino(m.chainId);default:return P(s).getOfflineSignerAuto(m.chainId)}}))(),h=(C=u.getState().chainsConfig)==null?void 0:C[m.chainId],d={url:m.rpc,headers:O({},(h==null?void 0:h.rpcHeaders)||{})};return (e==null?void 0:e.multiChain)===!0&&e.opts,yield SigningStargateClient.connectWithSigner(d,E,e!=null&&e.multiChain?(T=e.opts)==null?void 0:T[m.chainId]:e==null?void 0:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function gs(e){let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=p(o=>o.activeChainIds),r=useMemo(()=>["USE_COSMWASM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]);return useQuery({queryKey:r,queryFn:a=>l(this,[a],function*({queryKey:[,o,s]}){if(o.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),o,m=>l(this,null,function*(){var T,x;if(!(i!=null&&i.includes(m.chainId)))return;if(!K(s))throw new Error(`${s} is not available`);let E=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return P(s).getOfflineSigner(m.chainId);case"offlineSignerAuto":return P(s).getOfflineSignerAuto(m.chainId);case"offlineSignerOnlyAmino":return P(s).getOfflineSignerOnlyAmino(m.chainId);default:return P(s).getOfflineSignerAuto(m.chainId)}}))(),h=(T=u.getState().chainsConfig)==null?void 0:T[m.chainId],d={url:m.rpc,headers:O({},(h==null?void 0:h.rpcHeaders)||{})},f=h!=null&&h.gas?GasPrice.fromString(`${h.gas.price}${h.gas.denom}`):void 0;return yield SigningCosmWasmClient.connectWithSigner(d,E,O({gasPrice:f},e!=null&&e.multiChain?(x=e.opts)==null?void 0:x[m.chainId]:(e==null?void 0:e.opts)||{}))}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Cs(e){let t=U({chainId:e.chainId,multiChain:e.multiChain}),n=u(s=>s.walletType),i=p(s=>s.activeChainIds),r=useMemo(()=>["USE_STARGATE_TM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]),{data:o}=Ce({type:e.type,chainId:e.chainId,multiChain:e.multiChain});return useQuery({queryKey:r,queryFn:c=>l(this,[c],function*({queryKey:[,s,a]}){if(s.length<1)throw new Error("No chains found");return yield G(!!e.multiChain,s,A=>l(this,null,function*(){var C;if(!(i!=null&&i.includes(A.chainId)))return;if(!K(a))throw new Error(`${a} is not available`);if(!o)throw new Error("No tendermint client found");let h=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return P(a).getOfflineSigner(A.chainId);case"offlineSignerAuto":return P(a).getOfflineSignerAuto(A.chainId);case"offlineSignerOnlyAmino":return P(a).getOfflineSignerOnlyAmino(A.chainId);default:return P(a).getOfflineSignerAuto(A.chainId)}}))(),d=e.multiChain?o[A.chainId]:o;return yield SigningStargateClient.createWithSigner(d,h,e.multiChain?(C=e.opts)==null?void 0:C[A.chainId]:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&!!o&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function ys(e){let t=U({chainId:e.chainId,multiChain:e.multiChain}),n=u(a=>a.walletType),i=p(a=>a.activeChainIds),r=useMemo(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]),{data:o}=Ce({type:e.type,chainId:e.chainId,multiChain:!1,enabled:!e.multiChain}),{data:s}=Ce({type:e.type,chainId:e.chainId,multiChain:!0,enabled:!!e.multiChain});return useQuery({queryKey:r,queryFn:m=>l(this,[m],function*({queryKey:[,a,c]}){if(a.length<1)throw new Error("No chains found");return yield G(!!e.multiChain,a,E=>l(this,null,function*(){var g,w;if(!(i!=null&&i.includes(E.chainId)))return;if(!K(c))throw new Error(`${c} is not available`);let d=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return P(c).getOfflineSigner(E.chainId);case"offlineSignerAuto":return P(c).getOfflineSignerAuto(E.chainId);case"offlineSignerOnlyAmino":return P(c).getOfflineSignerOnlyAmino(E.chainId);default:return P(c).getOfflineSignerAuto(E.chainId)}}))(),f=(g=u.getState().chainsConfig)==null?void 0:g[E.chainId],C=f!=null&&f.gas?GasPrice.fromString(`${f.gas.price}${f.gas.denom}`):void 0,T=e.multiChain?s==null?void 0:s[E.chainId]:o;if(!T)throw new Error("No tendermint client found");return yield SigningCosmWasmClient.createWithSigner(T,d,O({gasPrice:C},e.multiChain?(w=e.opts)==null?void 0:w[E.chainId]:e.opts||{}))}))}),enabled:!!t&&t.length>0&&!!n&&(!!o||!ge(s))&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}var Wt=({children:e})=>{let[t,n]=useState(!1);return useEffect(()=>{n(!0);},[]),jsx(Fragment,{children:t?e:null})};var ln=()=>{let e=typeof window!="undefined"&&window.sessionStorage.getItem(V)==="Active",{_reconnect:t,_onReconnectFailed:n,_reconnectConnector:i}=u(),{activeChainIds:r,wcSignClients:o}=p(),s=K(i||void 0);return useEffect(()=>{if(i){if(!s)return;e&&r?Q({onError:n}):!e&&t&&Q({onError:n});}},[s]),useEffect(()=>{var a,c,m,A,E,h,d,f,C,T,x,g,w,b;if(i){if(!s)return;i==="cosmostation"&&((c=(a=le()).subscription)==null||c.call(a,()=>{Q({onError:n});})),i==="keplr"&&((A=(m=ue()).subscription)==null||A.call(m,()=>{Q({onError:n});})),i==="leap"&&((h=(E=de()).subscription)==null||h.call(E,()=>{Q({onError:n});})),i==="vectis"&&((f=(d=me()).subscription)==null||f.call(d,()=>{Q({onError:n});})),i==="walletconnect"&&o.has("walletconnect")&&((T=(C=$()).subscription)==null||T.call(C,()=>{Q({onError:n});})),i==="station"&&((g=(x=pe()).subscription)==null||g.call(x,()=>{Q({onError:n});})),i==="xdefi"&&((b=(w=fe()).subscription)==null||b.call(w,()=>{Q({onError:n});}));}},[i,o,s]),null},Rt=()=>(ln(),null);var pn=new QueryClient({}),Fs=i=>{var r=i,{children:e,grazOptions:t}=r,n=ze(r,["children","grazOptions"]);return ut(t),jsx(QueryClientProvider,B(O({client:pn},n),{children:jsxs(Wt,{children:[e,jsx(Rt,{})]})}),"graz-provider")};
16
+ var Ut=Object.defineProperty,qt=Object.defineProperties;var Gt=Object.getOwnPropertyDescriptors;var ae=Object.getOwnPropertySymbols;var Fe=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable;var Ge=(e,t,n)=>t in e?Ut(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,O=(e,t)=>{for(var n in t||(t={}))Fe.call(t,n)&&Ge(e,n,t[n]);if(ae)for(var n of ae(t))ze.call(t,n)&&Ge(e,n,t[n]);return e},K=(e,t)=>qt(e,Gt(t));var Qe=(e,t)=>{var n={};for(var i in e)Fe.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&ae)for(var i of ae(e))t.indexOf(i)<0&&ze.call(e,i)&&(n[i]=e[i]);return n};var l=(e,t,n)=>new Promise((i,r)=>{var o=c=>{try{a(n.next(c));}catch(p){r(p);}},s=c=>{try{a(n.throw(c));}catch(p){r(p);}},a=c=>c.done?i(c.value):Promise.resolve(c.value).then(o,s);a((n=n.apply(e,t)).next());});var H="graz-reconnect-session";var je=(d=>(d.KEPLR="keplr",d.LEAP="leap",d.VECTIS="vectis",d.COSMOSTATION="cosmostation",d.WALLETCONNECT="walletconnect",d.WC_KEPLR_MOBILE="wc_keplr_mobile",d.WC_LEAP_MOBILE="wc_leap_mobile",d.WC_COSMOSTATION_MOBILE="wc_cosmostation_mobile",d.METAMASK_SNAP_LEAP="metamask_snap_leap",d.METAMASK_SNAP_COSMOS="metamask_snap_cosmos",d.STATION="station",d.XDEFI="xdefi",d.CAPSULE="capsule",d))(je||{}),Ve=["keplr","leap","vectis","cosmostation","walletconnect","wc_keplr_mobile","wc_leap_mobile","wc_cosmostation_mobile","metamask_snap_leap","station","xdefi","capsule","metamask_snap_cosmos"];var zt={recentChainIds:null,chains:null,chainsConfig:null,capsuleConfig:null,capsuleState:null,multiChainFetchConcurrency:3,walletType:"keplr",walletConnect:{options:null,web3Modal:null},walletDefaultOptions:null,_notFoundFn:()=>null,_onReconnectFailed:()=>null,_reconnect:!1,_reconnectConnector:null},ee={accounts:null,activeChainIds:null,status:"disconnected",wcSignClients:new Map,capsuleClient:null},Qt={name:"graz-session",version:2,partialize:e=>({accounts:e.accounts,activeChainIds:e.activeChainIds}),storage:createJSONStorage(()=>sessionStorage)},jt={name:"graz-internal",partialize:e=>({recentChainIds:e.recentChainIds,_reconnect:e._reconnect,_reconnectConnector:e._reconnectConnector,walletType:e.walletType}),version:2},m=create(subscribeWithSelector(persist(()=>ee,Qt))),u=create(subscribeWithSelector(persist(()=>zt,jt)));var ce=()=>{var I,T;if(!((I=u.getState().capsuleConfig)!=null&&I.apiKey)||!((T=u.getState().capsuleConfig)!=null&&T.env))throw new Error("Capsule configuration is not set");let e=()=>l(void 0,null,function*(){var y,E;let d=(yield import('@leapwallet/cosmos-social-login-capsule-provider')).CapsuleProvider,g=new d({apiKey:(y=u.getState().capsuleConfig)==null?void 0:y.apiKey,env:(E=u.getState().capsuleConfig)==null?void 0:E.env});return m.setState({capsuleClient:g}),g});return {init:e,enable:d=>l(void 0,null,function*(){let g=typeof d=="string"?[d]:d,y=m.getState().capsuleClient;y||(y=yield e()),u.setState({capsuleState:{showModal:!0,chainId:g}});}),onAfterLoginSuccessful:()=>l(void 0,null,function*(){var f;let d=m.getState().capsuleClient,{chains:g}=u.getState();if(!d)throw new Error("Capsule client is not initialized");if(!g)throw new Error("Chains are not set");yield d.enable();let y=(f=u.getState().capsuleState)==null?void 0:f.chainId;if(!y)throw new Error("Chain ids are not set");let E=yield d.getAccount(y[0]),v={};y.forEach(w=>{v[w]={address:fromBech32(E.address).data,bech32Address:toBech32(g.find(b=>b.chainId===w).bech32Config.bech32PrefixAccAddr,fromBech32(E.address).data),algo:E.algo,name:E.username||"",pubKey:E.pubkey,isKeystone:!1,isNanoLedger:!1};}),m.setState(w=>({accounts:O(O({},w.accounts||{}),v)})),u.setState(w=>({recentChainIds:[...w.recentChainIds||[],...y].filter((b,D,N)=>N.indexOf(b)===D)})),m.setState(w=>({activeChainIds:[...w.activeChainIds||[],...y].filter((b,D,N)=>N.indexOf(b)===D)})),u.setState({walletType:"capsule",_reconnect:!1,_reconnectConnector:"capsule"}),m.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(H,"Active"),u.setState({capsuleState:null});}),getKey:d=>l(void 0,null,function*(){let g=m.getState().capsuleClient;if(!g)throw new Error("Capsule client is not initialized");let y=yield g.getAccount(d);return {address:fromBech32(y.address).data,bech32Address:y.address,algo:y.algo,name:y.username||"",pubKey:y.pubkey,isKeystone:!1,isNanoLedger:!1}}),getOfflineSignerAuto:d=>l(void 0,null,function*(){let g=m.getState().capsuleClient;if(!g)throw new Error("Capsule client is not initialized");return g.getOfflineSignerDirect(d)}),getOfflineSignerDirect:d=>{let g=m.getState().capsuleClient;if(!g)throw new Error("Capsule client is not initialized");return g.getOfflineSignerDirect(d)},signDirect:(...d)=>l(void 0,null,function*(){let[g,y,E]=d,v=m.getState().capsuleClient;if(!v)throw new Error("Capsule client is not initialized");return v.signDirect(g,y,{bodyBytes:E.bodyBytes,authInfoBytes:E.authInfoBytes,chainId:E.chainId,accountNumber:E.accountNumber})}),signAmino:(...d)=>l(void 0,null,function*(){let[g,y,E,v]=d,f=m.getState().capsuleClient;if(!f)throw new Error("Capsule client is not initialized");return f.signAmino(g,y,E,v)}),experimentalSuggestChain:(...d)=>l(void 0,null,function*(){yield Promise.reject(new Error("Capsule does not support experimentalSuggestChain"));}),setDefaultOptions:()=>{console.log("setDefaultOptions not supported by capsule");},getOfflineSigner:d=>{let g=m.getState().capsuleClient;if(!g)throw new Error("Capsule client is not initialized");return g.getOfflineSigner(d)},getOfflineSignerAmino:d=>{let g=m.getState().capsuleClient;if(!g)throw new Error("Capsule client is not initialized");return g.getOfflineSignerAmino(d)}}};var Ze={},et=()=>{let e=window.ethereum,t=window.cosmos;if(e)return {init:()=>l(void 0,null,function*(){var h;let o=yield e.request({method:"web3_clientVersion"});if(!o.includes("MetaMask"))throw new Error("Metamask is not installed");if(typeof window.okxwallet!="undefined"&&window.okxwallet.isOkxWallet)throw new Error("You have OKX Wallet installed. Please disable and reload the page to use Metamask Snap.");let a=(h=o.split("MetaMask/v")[1])==null?void 0:h.split(".")[0];if(!(Number(a)>=11))throw new Error("Metamask Snap is not supported in this version");return (yield isSnapInstalled())||(yield installSnap()),window.cosmos=new CosmosSnap,t=window.cosmos,!0}),enable:o=>l(void 0,null,function*(){(yield isSnapInstalled())||(yield installSnap());}),getOfflineSigner:o=>t.getOfflineSigner(o),experimentalSuggestChain:o=>l(void 0,null,function*(){yield t.experimentalSuggestChain(o);}),signAmino:(o,s,a)=>l(void 0,null,function*(){return t.signAmino(o,s,a)}),getKey:o=>l(void 0,null,function*(){return typeof Ze[o]!="undefined"?Ze[o]:t.getKey(o)}),getOfflineSignerAuto:o=>l(void 0,null,function*(){return (yield t.getKey(o)).isNanoLedger?t.getOfflineSignerOnlyAmino(o):t.getOfflineSigner(o)}),getOfflineSignerOnlyAmino:o=>t.getOfflineSignerOnlyAmino(o),signDirect:(o,s,a)=>l(void 0,null,function*(){return t.signDirect(o,s,a)}),signArbitrary:(o,s,a)=>l(void 0,null,function*(){return t.signArbitrary(o,s,a)}),disable:o=>l(void 0,null,function*(){o&&(yield t.deleteChain(o));})};throw u.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var le=()=>{var e;if(typeof((e=window.cosmostation)==null?void 0:e.providers.keplr)!="undefined"){let t=window.cosmostation.providers.keplr;return Object.assign(t,{subscription:o=>{var a;let s=()=>{z(),o();};return (a=window.cosmostation)==null||a.cosmos.on("accountChanged",s),()=>{var c;(c=window.cosmostation)==null||c.cosmos.off("accountChanged",s);}},setDefaultOptions:o=>{t.defaultOptions=o;}})}throw u.getState()._notFoundFn(),new Error("window.cosmostation.providers.keplr is not defined")};var ue=()=>{if(typeof window.keplr!="undefined"){let e=window.keplr;return Object.assign(e,{subscription:r=>{let o=()=>{z(),r();};return window.addEventListener("keplr_keystorechange",o),()=>{window.removeEventListener("keplr_keystorechange",o);}},setDefaultOptions:r=>{e.defaultOptions=r;}})}throw u.getState()._notFoundFn(),new Error("window.keplr is not defined")};var de=()=>{if(typeof window.leap!="undefined"){let e=window.leap;return Object.assign(e,{subscription:r=>{let o=()=>{z(),r();};return window.addEventListener("leap_keystorechange",o),()=>{window.removeEventListener("leap_keystorechange",o);}},setDefaultOptions:r=>{e.defaultOptions=r;}})}throw u.getState()._notFoundFn(),new Error("window.leap is not defined")};var pe={},tt=e=>{let t=window.ethereum;if(t&&e){let n=()=>l(void 0,null,function*(){return yield t.request({method:"wallet_getSnaps"})}),i=f=>l(void 0,null,function*(){try{let w=yield n();return Object.values(w).find(b=>b.id===e.id&&(!f||b.version===f))}catch(w){return}}),r=()=>l(void 0,null,function*(){yield t.request({method:"wallet_requestSnaps",params:{[e.id]:e.params||{}}});}),o=()=>l(void 0,null,function*(){var _;let f=yield t.request({method:"web3_clientVersion"});if(!f.includes("MetaMask"))throw new Error("Metamask is not installed");if(typeof window.okxwallet!="undefined"&&window.okxwallet.isOkxWallet)throw new Error("You have OKX Wallet installed. Please disable and reload the page to use Metamask Snap.");let b=(_=f.split("MetaMask/v")[1])==null?void 0:_.split(".")[0];if(!(Number(b)>=11))throw new Error("Metamask Snap is not supported in this version");return (yield i())||(yield r()),!0}),s=f=>l(void 0,null,function*(){(yield i())||(yield r());}),a=(f,w,b)=>l(void 0,null,function*(){let D=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signDirect",params:{chainId:f,signerAddress:w,signDoc:b}}}}),N=b.accountNumber,_=new Ht(N.low,N.high,N.unsigned);return {signature:D.signature,signed:K(O({},D.signed),{accountNumber:`${_.toString()}`,authInfoBytes:new Uint8Array(Object.values(D.signed.authInfoBytes)),bodyBytes:new Uint8Array(Object.values(D.signed.bodyBytes))})}}),c=(f,w,b)=>l(void 0,null,function*(){return yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"signAmino",params:{chainId:f,signerAddress:w,signDoc:b}}}})}),p=f=>l(void 0,null,function*(){if(typeof pe[f]!="undefined")return pe[f];let w=yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"getKey",params:{chainId:f}}}});if(!w)throw new Error("No response from Metamask");return w.pubKey=Uint8Array.from(Object.values(w.pubkey)),delete w.pubkey,pe[f]=w,pe[f]}),h=f=>l(void 0,null,function*(){let w=yield p(f);return {address:w.bech32Address,algo:w.algo,pubkey:w.pubKey}}),I=(...f)=>l(void 0,null,function*(){let[w,b,D,N]=f;return yield c(w,b,D)}),T=(...f)=>l(void 0,null,function*(){let[w,b,D]=f;return yield a(w,b,D)}),d=f=>({getAccounts:()=>l(void 0,null,function*(){return [yield h(f)]}),signDirect:(w,b)=>T(f,w,b)}),g=f=>({getAccounts:()=>l(void 0,null,function*(){return [yield h(f)]}),signAmino:(w,b)=>I(f,w,b)});return {enable:s,experimentalSuggestChain:(...f)=>l(void 0,null,function*(){yield o(),yield t.request({method:"wallet_invokeSnap",params:{snapId:e.id,request:{method:"suggestChain",params:{chainInfo:f[0]}}}});}),getKey:p,getOfflineSigner:f=>({getAccounts:()=>l(void 0,null,function*(){return [yield h(f)]}),signDirect:(w,b)=>T(f,w,b),signAmino:(w,b)=>I(f,w,b)}),getOfflineSignerAuto:f=>l(void 0,null,function*(){return (yield p(f)).isNanoLedger?g(f):d(f)}),getOfflineSignerOnlyAmino:g,init:o,signAmino:I,signDirect:T}}throw u.getState()._notFoundFn(),new Error("window.ethereum is not defined")};var nt=()=>tt({id:"npm:@leapwallet/metamask-cosmos-snap"});var me=()=>{if(typeof window.station!="undefined"){let e=window.station.keplr;return {subscription:o=>{let s=()=>{z(),o();};return window.addEventListener("station_wallet_change",s),()=>{window.removeEventListener("station_wallet_change",s);}},getKey:o=>l(void 0,null,function*(){let s=yield e.getKey(o);return O({isKeystone:!1},s)}),getOfflineSigner:o=>{try{let s=e.getOfflineSignerOnlyAmino(o);return Object.assign(s,{signDirect:(p,h)=>{throw new Error("signDirect not supported by Station")}})}catch(s){throw console.error(s),s}},experimentalSuggestChain:o=>l(void 0,null,function*(){try{let s=Object.assign(o,{chainSymbolImageUrl:o.chainSymbolImageUrl||"",stakeCurrency:{coinDecimals:o.stakeCurrency.coinDecimals,coinDenom:o.stakeCurrency.coinDenom,coinImageUrl:o.stakeCurrency.coinImageUrl||"",coinMinimalDenom:o.stakeCurrency.coinMinimalDenom},currencies:o.currencies.map(a=>({coinDecimals:a.coinDecimals,coinDenom:a.coinDenom,coinImageUrl:a.coinImageUrl||"",coinMinimalDenom:a.coinMinimalDenom})),feeCurrencies:o.feeCurrencies.map(a=>{var c,p,h;return {coinDecimals:a.coinDecimals,coinDenom:a.coinDenom,coinImageUrl:a.coinImageUrl||"",coinMinimalDenom:a.coinMinimalDenom,gasPriceStep:{average:((c=a.gasPriceStep)==null?void 0:c.average)||0,high:((p=a.gasPriceStep)==null?void 0:p.high)||0,low:((h=a.gasPriceStep)==null?void 0:h.low)||0}}})});yield e.experimentalSuggestChain(s);}catch(s){throw console.error(s),s}}),enable:o=>e.enable(o),disable:o=>e.disable(o),getOfflineSignerAuto:o=>e.getOfflineSignerAuto(o),getOfflineSignerOnlyAmino:o=>e.getOfflineSignerOnlyAmino(o),signDirect:()=>e.signDirect(),signAmino:(o,s,a,c)=>e.signAmino(o,s,a),setDefaultOptions:()=>{console.log("setDefaultOptions not supported by WalletConnect");}}}throw u.getState()._notFoundFn(),new Error("window.station is not defined")};var fe=()=>{if(typeof window.vectis!="undefined"){let e=window.vectis.cosmos;return {enable:a=>e.enable(a),getOfflineSigner:a=>e.getOfflineSigner(a),getOfflineSignerAuto:a=>e.getOfflineSignerAuto(a),getKey:a=>l(void 0,null,function*(){let c=yield e.getKey(a);return {address:fromBech32(c.address).data,algo:c.algo,bech32Address:c.address,name:c.name,pubKey:c.pubKey,isKeystone:!1,isNanoLedger:c.isNanoLedger}}),subscription:a=>{let c=()=>{z(),a();};return window.addEventListener("vectis_accountChanged",c),()=>{window.removeEventListener("vectis_accountChanged",c);}},getOfflineSignerOnlyAmino:(...a)=>e.getOfflineSignerAmino(...a),experimentalSuggestChain:(...a)=>l(void 0,null,function*(){let[c]=a,p=K(O({},c),{rpcUrl:c.rpc,restUrl:c.rest,prettyName:c.chainName.replace(" ",""),bech32Prefix:c.bech32Config.bech32PrefixAccAddr});return e.suggestChains([p])}),signDirect:(...a)=>l(void 0,null,function*(){var h;let{1:c,2:p}=a;return e.signDirect(c,{bodyBytes:p.bodyBytes||Uint8Array.from([]),authInfoBytes:p.authInfoBytes||Uint8Array.from([]),accountNumber:Ht.fromString(((h=p.accountNumber)==null?void 0:h.toString())||"",!1),chainId:p.chainId||""})}),signAmino:(...a)=>l(void 0,null,function*(){let{1:c,2:p}=a;return e.signAmino(c,p)}),setDefaultOptions:()=>{console.log("setDefaultOptions not supported by Vectis");}}}throw u.getState()._notFoundFn(),new Error("window.vectis is not defined")};var j=()=>typeof window!="undefined"?!!(window.matchMedia("(pointer:coarse)").matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1,ot=()=>j()&&navigator.userAgent.toLowerCase().includes("android"),it=()=>j()&&(navigator.userAgent.toLowerCase().includes("iphone")||navigator.userAgent.toLowerCase().includes("ipad"));var Me=(e,t,n=new Error("Promise timed out"))=>{let i=new Promise((r,o)=>{setTimeout(()=>{o(n);},t);});return Promise.race([e,i])};var V=e=>{var _,oe,_e;if(!((_e=(oe=(_=u.getState().walletConnect)==null?void 0:_.options)==null?void 0:oe.projectId)!=null&&_e.trim()))throw new Error("walletConnect.options.projectId is not defined");let t=(e==null?void 0:e.walletType)||"walletconnect",n=(e==null?void 0:e.encoding)||"base64",i=C=>{if(!e)return;let{appUrl:S,formatNativeUrl:A}=e;if(j()){if(ot())if(!C)window.open(S.mobile.android,"_self","noreferrer noopener");else {let W=A(S.mobile.android,C,"android");window.open(W,"_self","noreferrer noopener");}if(it())if(!C)window.open(S.mobile.ios,"_self","noreferrer noopener");else {let W=A(S.mobile.ios,C,"ios");window.open(W,"_self","noreferrer noopener");}}},r=()=>{let{wcSignClients:C}=m.getState();if(!C.get(t))throw new Error("walletConnect.signClient is not defined");C.delete(t),m.setState({wcSignClients:C}),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});},o=C=>l(void 0,null,function*(){let{wcSignClients:S}=m.getState(),A=S.get(t);if(!A)throw new Error("walletConnect.signClient is not defined");if(!C)throw new Error("No wallet connect session");yield A.disconnect({topic:C,reason:getSdkError("USER_DISCONNECTED")}),yield c(A);}),s=C=>{try{let{wcSignClients:S}=m.getState(),A=S.get(t);if(!A)throw new Error("walletConnect.signClient is not defined");let W=A.session.getAll().at(-1);if(!W)return;if(!(W.expiry*1e3>Date.now()+1e3))throw o(W.topic),new Error("invalid session");try{let k=A.find({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:C.map(q=>`cosmos:${q}`),events:["chainChanged","accountsChanged"]}}});if(!k.length)throw new Error("no session");return k.at(-1)}catch(k){if(!k.message.toLowerCase().includes("no matching key"))throw k}return W}catch(S){if(!S.message.toLowerCase().includes("no matching key"))throw S}},a=C=>{try{return s(C)}catch(S){return}},c=C=>l(void 0,null,function*(){try{let S=C.core.pairing.pairings.getAll({active:!1});if(!S.length)return;yield Promise.all(S.map(A=>l(void 0,null,function*(){yield C.core.pairing.pairings.delete(A.topic,{code:7001,message:"clear pairing"});})));}catch(S){if(!S.message.toLowerCase().includes("no matching key"))throw S}}),p=()=>l(void 0,null,function*(){let{walletConnect:C}=u.getState();if(!(C!=null&&C.options))throw new Error("walletConnect.options is not defined");let{wcSignClients:S}=m.getState(),A=S.get(t);if(A)return A;let W=yield SignClient.init(C.options);return S.set(t,W),m.setState({wcSignClients:S}),W}),h=C=>{let{wcSignClients:S}=m.getState(),A=S.get(t);if(!A)return ()=>{};let W=R=>{let k=m.getState().accounts;if(R.params.event.name==="accountsChanged"&&k&&!Object.values(k).map(q=>q.bech32Address).includes(R.params.event.data[0])){let q=R.params.chainId.split(":")[1];q&&I([q]);}else C();};return A.events.on("session_delete",r),A.events.on("session_expire",r),A.events.on("session_event",W),()=>{A.events.off("session_delete",r),A.events.off("session_expire",r),A.events.off("session_event",W);}},I=C=>l(void 0,null,function*(){var ie;let S=typeof C=="string"?[C]:C,{wcSignClients:A}=m.getState(),W=A.get(t);if(!W)throw new Error("enable walletConnect.signClient is not defined");let{walletConnect:R,chains:k}=u.getState();if(!((ie=R==null?void 0:R.options)!=null&&ie.projectId))throw new Error("walletConnect.options.projectId is not defined");let{Web3Modal:q}=yield import('@web3modal/standalone'),$=new q(O({projectId:R.options.projectId,walletConnectVersion:2,enableExplorer:!1,explorerRecommendedWalletIds:"NONE"},R.web3Modal)),X=a(S);if(!X){let{uri:L,approval:J}=yield Me(W.connect({requiredNamespaces:{cosmos:{methods:["cosmos_getAccounts","cosmos_signAmino","cosmos_signDirect"],chains:S.map(F=>`cosmos:${F}`),events:["chainChanged","accountsChanged"]}}}),15e3,new Error("Connection timeout"));if(!L)throw new Error("No wallet connect uri");e?i(L):yield $.openModal({uri:L});let re=F=>l(void 0,null,function*(){return F.aborted?Promise.reject(new Error("User closed wallet connect")):new Promise((Te,Z)=>{J().then(Be=>{let Le=Be.sessionProperties;if(!Le)return Z(new Error("No session properties"));let be=JSON.parse(String(Le.keys));if(be.length===0)return Z(new Error("No accounts"));let Ue=be[0];if(!Ue)return Z(new Error("No accounts"));let qe={};return S.forEach(se=>{qe[se]=K(O({},Ue),{bech32Address:toBech32(k.find(Lt=>Lt.chainId===se).bech32Config.bech32PrefixAccAddr,fromBech32(be[0].bech32Address).data)});}),m.setState(se=>({accounts:O(O({},se.accounts||{}),qe)})),Te(Be)}).catch(Z),F.addEventListener("abort",()=>{Z(new Error("User closed wallet connect"));},{once:!0});})});try{let F=new AbortController,Te=F.signal;$.subscribeModal(Z=>{Z.open||F.abort();}),yield re(Te);}catch(F){if($.closeModal(),!F.message.toLowerCase().includes("no matching key"))return Promise.reject(F)}return e||$.closeModal(),Promise.resolve()}try{yield Me((()=>l(void 0,null,function*(){let L=yield d(S[0]),J={};S.forEach(re=>{J[re]=K(O({},L),{bech32Address:toBech32(k.find(F=>F.chainId===re).bech32Config.bech32PrefixAccAddr,fromBech32(L.bech32Address).data)});}),m.setState({accounts:J});}))(),15e3,new Error("Connection timeout"));}catch(L){if(o(X.topic),!L.message.toLowerCase().includes("no matching key"))throw L}}),T=C=>l(void 0,null,function*(){var k;let{wcSignClients:S}=m.getState(),A=S.get(t);if(!A)throw new Error("walletConnect.signClient is not defined");let W=(k=s([C]))==null?void 0:k.topic;if(!W)throw new Error("No wallet connect session");let R=yield A.request({topic:W,chainId:`cosmos:${C}`,request:{method:"cosmos_getAccounts",params:{}}});if(!R[0])throw new Error("No wallet connect account");return {address:R[0].address,algo:R[0].algo,pubkey:new Uint8Array(Buffer.from(R[0].pubkey,n))}}),d=C=>l(void 0,null,function*(){let S=s([C]);if(!(S!=null&&S.topic))throw new Error("No wallet connect session");let A=S.sessionProperties&&JSON.parse(String(S.sessionProperties.keys))[0];if(!A)throw new Error("No wallet connect key");return A}),g=(...C)=>l(void 0,null,function*(){var L,J;let[S,A,W]=C,{accounts:R,wcSignClients:k}=m.getState(),q=k.get(t);if(!q)throw new Error("walletConnect.signClient is not defined");if(!R)throw new Error("account is not defined");let $=(L=s([S]))==null?void 0:L.topic;if(!$)throw new Error("No wallet connect session");if(!W.bodyBytes)throw new Error("No bodyBytes");if(!W.authInfoBytes)throw new Error("No authInfoBytes");let X={topic:$,chainId:`cosmos:${S}`,request:{method:"cosmos_signDirect",params:{signerAddress:A,signDoc:K(O({},W),{bodyBytes:Buffer.from(W.bodyBytes).toString(n),authInfoBytes:Buffer.from(W.authInfoBytes).toString(n),accountNumber:(J=W.accountNumber)==null?void 0:J.toString()})}}};return i(),yield q.request(X)}),y=(...C)=>l(void 0,null,function*(){let[S,A,W]=C,{signature:R,signed:k}=yield g(S,A,W);return {signed:{chainId:k.chainId,accountNumber:Ht.fromString(k.accountNumber,!1),authInfoBytes:new Uint8Array(Buffer.from(k.authInfoBytes,n)),bodyBytes:new Uint8Array(Buffer.from(k.bodyBytes,n))},signature:R}}),E=(...C)=>l(void 0,null,function*(){var L;let[S,A,W,R]=C,{wcSignClients:k}=m.getState(),q=k.get(t),{accounts:$}=m.getState();if(!q)throw new Error("walletConnect.signClient is not defined");if(!$)throw new Error("account is not defined");let X=(L=s([S]))==null?void 0:L.topic;if(!X)throw new Error("No wallet connect session");return i(),yield q.request({topic:X,chainId:`cosmos:${S}`,request:{method:"cosmos_signDirect",params:{signerAddress:A,signDoc:W}}})}),v=(...C)=>l(void 0,null,function*(){let[S,A,W,R]=C;return yield E(S,A,W)}),f=C=>({getAccounts:()=>l(void 0,null,function*(){return [yield T(C)]}),signDirect:(S,A)=>y(C,S,A)}),w=C=>({getAccounts:()=>l(void 0,null,function*(){return [yield T(C)]}),signAmino:(S,A)=>v(C,S,A)});return {enable:I,disable:C=>l(void 0,null,function*(){var W;let{wcSignClients:S}=m.getState(),A=S.get(t);if(C===void 0){let R=A==null?void 0:A.session.getAll();R!==void 0&&(yield Promise.all(R.map(k=>o(k.topic))));}else typeof C=="string"?yield o((W=s([C]))==null?void 0:W.topic):yield Promise.all(C.map(R=>{var k;return o((k=s([R]))==null?void 0:k.topic)}));(A==null?void 0:A.session.getAll().length)===0&&r();}),experimentalSuggestChain:(...C)=>l(void 0,null,function*(){yield Promise.reject(new Error("WalletConnect does not support experimentalSuggestChain"));}),getKey:d,getOfflineSigner:C=>({getAccounts:()=>l(void 0,null,function*(){return [yield T(C)]}),signDirect:(S,A)=>y(C,S,A),signAmino:(S,A)=>v(C,S,A)}),getOfflineSignerAuto:C=>l(void 0,null,function*(){return (yield d(C)).isNanoLedger?w(C):f(C)}),getOfflineSignerOnlyAmino:w,signAmino:v,signDirect:y,subscription:h,init:p,setDefaultOptions:()=>{console.log("setDefaultOptions not supported by WalletConnect");}}};var at=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!j())throw new Error("WalletConnect Cosmostation mobile is only supported in mobile");let e={encoding:"hex",appUrl:{mobile:{ios:"cosmostation://",android:"cosmostation://"}},walletType:"wc_cosmostation_mobile",formatNativeUrl:(r,o,s)=>`${r.replaceAll("/","").replaceAll(":","")}://wc?${o}`};return V(e)};var ct=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!j())throw new Error("WalletConnect Keplr mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"keplrwallet://",android:"intent://"}},walletType:"wc_keplr_mobile",formatNativeUrl:(r,o,s)=>{let a=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(o);switch(s){case"ios":return `${a}://wcV2?${c}`;case"android":return `${a}://wcV2?${c}#Intent;package=com.chainapsis.keplr;scheme=keplrwallet;end;`;default:return `${a}://wc?uri=${c}`}}};return V(e)};var lt=()=>{var t,n,i;if(!((i=(n=(t=u.getState().walletConnect)==null?void 0:t.options)==null?void 0:n.projectId)!=null&&i.trim()))throw new Error("walletConnect.options.projectId is not defined");if(!j())throw new Error("WalletConnect Leap mobile is only supported in mobile");let e={encoding:"base64",appUrl:{mobile:{ios:"leapcosmos://",android:"intent://"}},walletType:"wc_leap_mobile",formatNativeUrl:(r,o,s)=>{let a=r.replaceAll("/","").replaceAll(":",""),c=encodeURIComponent(o);switch(s){case"ios":return `${a}://wcV2?${c}`;case"android":return `${a}://wcV2?${c}#Intent;package=io.leapwallet.cosmos;scheme=leapwallet;end;`;default:return `${a}://wc?uri=${c}`}}};return V(e)};var ge=()=>{var e;if(typeof((e=window.xfi)==null?void 0:e.keplr)!="undefined"){let t=window.xfi.keplr;return Object.assign(t,{subscription:r=>{let o=()=>{z(),r();};return window.addEventListener("keplr_keystorechange",o),()=>{window.removeEventListener("keplr_keystorechange",o);}},setDefaultOptions:()=>{console.log("setDefaultOptions not supported by Vectis");}})}throw u.getState()._notFoundFn(),new Error("window.xfi.keplr is not defined")};var B=(e=u.getState().walletType)=>{try{return P(e),!0}catch(t){return !1}},z=()=>{window.sessionStorage.removeItem(H),m.setState(ee);},P=(e=u.getState().walletType)=>{var i;let t=(()=>{switch(e){case"keplr":return ue();case"leap":return de();case"cosmostation":return le();case"vectis":return fe();case"walletconnect":return V();case"wc_keplr_mobile":return ct();case"wc_leap_mobile":return lt();case"wc_cosmostation_mobile":return at();case"metamask_snap_leap":return nt();case"metamask_snap_cosmos":return et();case"station":return me();case"xdefi":return ge();case"capsule":return ce();default:throw new Error("Unknown wallet type")}})(),n=u.getState().walletDefaultOptions;return n&&((i=t.setDefaultOptions)==null||i.call(t,n)),t},gi=()=>Object.fromEntries(Ve.map(e=>[e,B(e)])),xe=e=>e==="capsule",ut=e=>e==="walletconnect"||e==="wc_keplr_mobile"||e==="wc_leap_mobile"||e==="wc_cosmostation_mobile";var te=e=>l(void 0,null,function*(){var t;try{let{recentChainIds:n,chains:i,walletType:r}=u.getState(),o=(e==null?void 0:e.walletType)||r;if(!B(o))throw new Error(`${o} is not available`);let a=P(o),c=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:(e==null?void 0:e.chainId)||n;if(!c)throw new Error("No last known connected chain, connect action requires chain ids");let p=i==null?void 0:i.map(d=>d.chainId);c.forEach(d=>{if(!(p!=null&&p.includes(d)))throw new Error(`Chain ${d} is not provided in GrazProvider`)}),m.setState(d=>{let g=u.getState()._reconnect||!!u.getState()._reconnectConnector||!!c;return d.activeChainIds&&c.filter(E=>{var v;return !((v=d.activeChainIds)!=null&&v.includes(E))}).length>0?{status:"connecting"}:g?{status:"reconnecting"}:{status:"connecting"}});let{accounts:h}=m.getState();if(yield (t=a.init)==null?void 0:t.call(a),xe(o)&&m.getState().capsuleClient&&Object.values(m.getState().accounts||[]).length>0){let d=c.map(v=>i.find(f=>f.chainId===v)),g=m.getState().accounts;m.setState({status:"connecting"});let y=yield a.getKey(c[0]),E={};return c.forEach(v=>{E[v]=K(O({},y),{bech32Address:toBech32(i.find(f=>f.chainId===v).bech32Config.bech32PrefixAccAddr,fromBech32(y.bech32Address).data)});}),m.setState(v=>({accounts:O(O({},v.accounts||{}),E)})),u.setState(v=>({recentChainIds:[...v.recentChainIds||[],...c].filter((f,w,b)=>b.indexOf(f)===w)})),m.setState(v=>({activeChainIds:[...v.activeChainIds||[],...c].filter((f,w,b)=>b.indexOf(f)===w)})),m.setState({status:"connected"}),{accounts:g,walletType:o,chains:d}}if(yield a.enable(c),xe(o)){let d=c.map(y=>i.find(E=>E.chainId===y)),g=m.getState().accounts;return m.setState({status:"connecting"}),{accounts:g,walletType:o,chains:d}}if(!ut(o)){let d=yield a.getKey(c[0]),g={};c.forEach(y=>{g[y]=K(O({},d),{bech32Address:toBech32(i.find(E=>E.chainId===y).bech32Config.bech32PrefixAccAddr,fromBech32(d.bech32Address).data)});}),m.setState(y=>({accounts:O(O({},y.accounts||{}),g)}));}u.setState(d=>({recentChainIds:[...d.recentChainIds||[],...c].filter((g,y,E)=>E.indexOf(g)===y)})),m.setState(d=>({activeChainIds:[...d.activeChainIds||[],...c].filter((g,y,E)=>E.indexOf(g)===y)})),u.setState({walletType:o,_reconnect:!!(e!=null&&e.autoReconnect),_reconnectConnector:o}),m.setState({status:"connected"}),typeof window!="undefined"&&window.sessionStorage.setItem(H,"Active");let I=c.map(d=>i.find(g=>g.chainId===d));return {accounts:m.getState().accounts,walletType:o,chains:I}}catch(n){throw console.error("connect ",n),m.getState().accounts===null&&m.setState({status:"disconnected"}),m.getState().accounts&&m.getState().activeChainIds&&m.setState({status:"connected"}),n}}),ne=e=>{typeof window!="undefined"&&window.sessionStorage.removeItem(H);let t=typeof(e==null?void 0:e.chainId)=="string"?[e.chainId]:e==null?void 0:e.chainId;if(t){let n=m.getState().accounts;t.forEach(r=>{n==null||delete n[r];}),Object.values(n||{}).length===0?(m.setState(ee),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null})):(m.setState(r=>{var o;return {activeChainIds:(o=r.activeChainIds)==null?void 0:o.filter(s=>!t.includes(s)),accounts:n}}),u.setState(r=>{var o;return {recentChainIds:(o=r.recentChainIds)==null?void 0:o.filter(s=>!t.includes(s))}}));}else m.setState(ee),u.setState({_reconnect:!1,_reconnectConnector:null,recentChainIds:null});return Promise.resolve()},Q=e=>l(void 0,null,function*(){var r;let{recentChainIds:t,_reconnectConnector:n,_reconnect:i}=u.getState();try{let o=B(n||void 0);if(t&&o&&n)return yield te({chainId:t,walletType:n,autoReconnect:i})}catch(o){(r=e==null?void 0:e.onError)==null||r.call(e,o),ne();}}),mt=e=>l(void 0,null,function*(){if(!(e!=null&&e.chainId))throw new Error("chainId is required");let{walletType:t}=u.getState(),n=e.walletType||t;if(!B(n))throw new Error(`${n} is not available`);let r=P(n),o=r.getOfflineSigner(e.chainId),s=r.getOfflineSignerOnlyAmino(e.chainId),a=yield r.getOfflineSignerAuto(e.chainId);return {offlineSigner:o,offlineSignerAmino:s,offlineSignerAuto:a}});var ve=()=>{u.setState({recentChainIds:null});},xi=()=>u.getState().recentChainIds,vi=()=>{var n;let{recentChainIds:e,chains:t}=u.getState();return (n=e==null?void 0:e.map(i=>t.find(r=>r.chainId===i)))!=null?n:null},Wi=({chainId:e})=>{var t;return (t=u.getState().chains)==null?void 0:t.find(n=>n.chainId===e)},ki=({chainId:e})=>{var t;return (t=u.getState().chains)==null?void 0:t.filter(n=>e==null?void 0:e.includes(n.chainId))},We=n=>l(void 0,[n],function*({chainInfo:e,walletType:t}){let i=P(t);return t==="capsule"?yield te({chainId:e.chainId,walletType:t}):yield i.experimentalSuggestChain(e),e}),ft=e=>l(void 0,null,function*(){var i;let t=u.getState().walletType;return yield We({chainInfo:e.chainInfo,walletType:(i=e.walletType)!=null?i:t}),yield te({chainId:e.chainInfo.chainId,walletType:e.walletType,autoReconnect:e.autoReconnect})});var gt=e=>(u.setState(t=>({walletConnect:e.walletConnect||t.walletConnect,walletType:e.defaultWallet||t.walletType,capsuleConfig:e.capsuleConfig||t.capsuleConfig,walletDefaultOptions:e.walletDefaultOptions||t.walletDefaultOptions,chains:e.chains,chainsConfig:e.chainsConfig||t.chainsConfig,multiChainFetchConcurrency:e.multiChainFetchConcurrency||t.multiChainFetchConcurrency,_notFoundFn:e.onNotFound||t._notFoundFn,_onReconnectFailed:e.onReconnectFailed||t._onReconnectFailed,_reconnect:e.autoReconnect===void 0?!0:e.autoReconnect||t._reconnect})),e);var yt=s=>l(void 0,[s],function*({signingClient:e,senderAddress:t,recipientAddress:n,amount:i,fee:r,memo:o}){if(!e)throw new Error("No connected account detected");if(!t)throw new Error("senderAddress is not defined");return e.sendTokens(t,n,i,r,o)}),Ct=h=>l(void 0,[h],function*({signingClient:e,senderAddress:t,recipientAddress:n,transferAmount:i,sourcePort:r,sourceChannel:o,timeoutHeight:s,timeoutTimestamp:a,fee:c,memo:p}){if(!e)throw new Error("Stargate signing client is not ready");if(!t)throw new Error("senderAddress is not defined");return e.sendIbcTokens(t,n,i,r,o,s,a,c,p)}),St=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,msg:n,fee:i,options:r,label:o,codeId:s}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.instantiate(t,s,n,o,i,r)}),ht=a=>l(void 0,[a],function*({signingClient:e,senderAddress:t,msg:n,fee:i,contractAddress:r,funds:o,memo:s}){if(!e)throw new Error("CosmWasm signing client is not ready");return e.execute(t,r,n,i,s,o)}),wt=(e,t,n)=>l(void 0,null,function*(){if(!n)throw new Error("CosmWasm client is not ready");return yield n.queryContractSmart(e,t)}),At=(e,t,n)=>{if(!n)throw new Error("CosmWasm client is not ready");let i=new TextEncoder().encode(t);return n.queryContractRaw(e,i)};var qi=e=>e,Gi=e=>e;var ye=e=>e?Object.keys(e).length===0:!0;var ke=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t;}},It=e=>globalThis.DOMException===void 0?new ke(e):new DOMException(e),Et=e=>{let t=e.reason===void 0?It("This operation was aborted."):e.reason;return t instanceof Error?t:It(t)};function Re(o,s){return l(this,arguments,function*(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:i=!0,signal:r}={}){return new Promise((a,c)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(n)||n===Number.POSITIVE_INFINITY)&&n>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let p=[],h=[],I=new Map,T=!1,d=!1,g=!1,y=0,E=0,v=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),f=b=>{T=!0,d=!0,c(b);};r&&(r.aborted&&f(Et(r)),r.addEventListener("abort",()=>{f(Et(r));}));let w=()=>l(this,null,function*(){if(d)return;let b=yield v.next(),D=E;if(E++,b.done){if(g=!0,y===0&&!d){if(!i&&h.length>0){f(new AggregateError(h));return}if(d=!0,I.size===0){a(p);return}let N=[];for(let[_,oe]of p.entries())I.get(_)!==Tt&&N.push(oe);a(N);}return}y++,l(this,null,function*(){try{let N=yield b.value;if(d)return;let _=yield t(N,D);_===Tt&&I.set(D,_),p[D]=_,y--,yield w();}catch(N){if(i)f(N);else {h.push(N),y--;try{yield w();}catch(_){f(_);}}}});});l(this,null,function*(){for(let b=0;b<n;b++){try{yield w();}catch(D){f(D);break}if(g||T)break}});})})}var Tt=Symbol("skip");var U=({chainId:e,multiChain:t})=>{let n=u(r=>r.chains);if(!n)throw new Error("No chains found in GrazProvider");let i=typeof e=="string"?[e]:e;switch(!0){case(!!t&&!!i):return i.map(r=>n.find(o=>o.chainId===r)).filter(Boolean);case(!t&&!!i):return [i.map(r=>n.find(o=>o.chainId===r)).filter(Boolean)[0]];case(!!t&&!i):return n;default:return [n[0]]}},G=(e,t,n)=>l(void 0,null,function*(){let i=u.getState().multiChainFetchConcurrency;if(e){let o=yield Re(t,n,{concurrency:i});return Object.fromEntries(o.map((s,a)=>[t[a].chainId,s]))}return yield n(t[0])}),bt=(e,t,n)=>{if(e){let r=t.map(n);return Object.fromEntries(r.map((o,s)=>[t[s].chainId,o]))}return n(t[0])};var Ne=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=useMemo(()=>["USE_STARGATE_CLIENT",t],[t]);return useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),i,s=>l(void 0,null,function*(){var h;let a=(h=u.getState().chainsConfig)==null?void 0:h[s.chainId],c={url:s.rpc,headers:O({},(a==null?void 0:a.rpcHeaders)||{})};return yield StargateClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},Ke=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=useMemo(()=>["USE_COSMWASM_CLIENT",t],[t]);return useQuery({queryKey:n,queryFn:r=>l(void 0,[r],function*({queryKey:[,i]}){if(i.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),i,s=>l(void 0,null,function*(){var h;let a=(h=u.getState().chainsConfig)==null?void 0:h[s.chainId],c={url:s.rpc,headers:O({},(a==null?void 0:a.rpcHeaders)||{})};return yield CosmWasmClient.connect(c)}))}),enabled:!!t&&t.length>0&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})},Ce=({type:e,chainId:t,multiChain:n,enabled:i})=>{let r=U({chainId:t,multiChain:n}),o=useMemo(()=>["USE_TENDERMINT_CLIENT",e,r],[e,r]);return useQuery({queryKey:o,queryFn:c=>l(void 0,[c],function*({queryKey:[,s,a]}){if(a.length<1)throw new Error("No chains found");return yield G(!!n,a,h=>l(void 0,null,function*(){var y;let I=(y=u.getState().chainsConfig)==null?void 0:y[h.chainId],T={url:h.rpc,headers:O({},(I==null?void 0:I.rpcHeaders)||{})};return yield (s==="tm37"?Tendermint37Client:Tendermint34Client).connect(T)}))}),enabled:!!r&&r.length>0&&(i!==void 0?!!i:!0),refetchOnWindowFocus:!1})};var gr=()=>u(e=>({walletType:e.walletType,isCosmostation:e.walletType==="cosmostation",isCosmostationMobile:e.walletType==="wc_cosmostation_mobile",isKeplr:e.walletType==="keplr",isKeplrMobile:e.walletType==="wc_keplr_mobile",isLeap:e.walletType==="leap",isLeapMobile:e.walletType==="wc_leap_mobile",isVectis:e.walletType==="vectis",isWalletConnect:e.walletType==="walletconnect",isMetamaskSnapLeap:e.walletType==="metamask_snap_leap",isStation:e.walletType==="station",isCapsule:e.walletType==="capsule"}),shallow),Se=e=>{let n=["USE_CHECK_WALLET",u(r=>e||r.walletType)];return useQuery(n,({queryKey:[,r]})=>B(r))};var Y=e=>{let t=u(a=>a.walletType),n=m(a=>a.activeChainIds),i=U({chainId:e!=null&&e.chainId?e.chainId:n||void 0,multiChain:e==null?void 0:e.multiChain}),r=m(a=>a.accounts),o=m(a=>a.status);return useEffect(()=>m.subscribe(a=>a.status,(a,c)=>{var p,h,I;if(a==="connected"){let{accounts:T,activeChainIds:d}=m.getState(),{chains:g}=u.getState(),{walletType:y}=u.getState();if(!T||!d||!g)return (p=e==null?void 0:e.onDisconnect)==null?void 0:p.call(e);(h=e==null?void 0:e.onConnect)==null||h.call(e,{accounts:T,chains:d.map(E=>g.find(v=>v.chainId===E)),walletType:y,isReconnect:c==="reconnecting"});}a==="disconnected"&&((I=e==null?void 0:e.onDisconnect)==null||I.call(e));}),[e]),{data:useMemo(()=>r?bt(!!(e!=null&&e.multiChain),i,a=>r[a.chainId]):void 0,[r,i,e==null?void 0:e.multiChain]),isConnected:o==="connected",isConnecting:o==="connecting",isDisconnected:o==="disconnected",isReconnecting:o==="reconnecting",isLoading:o==="connecting"||o==="reconnecting",walletType:o==="connected"?t:void 0,reconnect:Q,status:o}},ln=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=Y(),i=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),{data:r}=Ne({chainId:t.map(s=>s.chainId),multiChain:!0,enabled:((e==null?void 0:e.enabled)===void 0?!0:e.enabled)&&!!i}),o=useMemo(()=>["USE_ALL_BALANCES",r,t,i,e==null?void 0:e.chainId],[i,e==null?void 0:e.chainId,t,r]);return useQuery(o,p=>l(void 0,[p],function*({queryKey:[,s,a,c]}){if(!c)throw new Error("address is not defined");return yield G(!!(e!=null&&e.multiChain),a,I=>l(void 0,null,function*(){let T=s==null?void 0:s[I.chainId];if(!T)throw new Error(`Client is not ready ${I.chainId}`);return yield T.getAllBalances(toBech32(I.bech32Config.bech32PrefixAccAddr,fromBech32(c).data))}))}),{enabled:!!i&&!!t&&t.length>0&&!ye(r)&&((e==null?void 0:e.enabled)===void 0?!0:e.enabled),refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})},xr=e=>{let t=U({chainId:e.chainId}),{data:n}=Y({chainId:e.chainId}),i=e.bech32Address||(n==null?void 0:n.bech32Address),{data:r,refetch:o}=ln({chainId:t.map(c=>c.chainId),bech32Address:i,enabled:!!i&&(e.enabled===void 0?!0:e.enabled)}),s=["USE_BALANCE",e.denom,r,t,i,e.chainId],a=useQuery(s,({queryKey:[,c,p]})=>p==null?void 0:p.find(h=>h.denom===c),{enabled:!!e.denom&&!!r&&!!(r!=null&&r.length)&&(e.enabled===void 0?!0:e.enabled)});return K(O({},a),{refetch:c=>l(void 0,null,function*(){return yield o(),a.refetch(c)})})},vr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_CONNECT",e,t,n],te,{onError:(s,a)=>e==null?void 0:e(s,a),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:o}=Se();return {connect:s=>r.mutate(s),connectAsync:s=>r.mutateAsync(s),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!o,status:r.status}},Wr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_DISCONNECT",e,t,n],ne,{onError:o=>Promise.resolve(e==null?void 0:e(o,void 0)),onMutate:t,onSuccess:()=>Promise.resolve(n==null?void 0:n(void 0))});return {disconnect:o=>r.mutate(o),disconnectAsync:o=>r.mutateAsync(o),error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,status:r.status}},kr=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(r=>r.walletType),i=useMemo(()=>["USE_OFFLINE_SIGNERS",t,n],[t,n]);return useQuery({queryKey:i,queryFn:s=>l(void 0,[s],function*({queryKey:[,r,o]}){if(r.length<1)throw new Error("No chain found");if(!B(o))throw new Error(`${o} is not available`);return yield G(!!(e!=null&&e.multiChain),r,p=>l(void 0,null,function*(){return yield mt({chainId:p.chainId,walletType:o})}))}),enabled:!!t&&t.length>0&&!!n,refetchOnWindowFocus:!1})},Rr=e=>{let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),{data:n}=Y(),{data:i}=Ne({chainId:t.map(s=>s.chainId),multiChain:!0}),r=(e==null?void 0:e.bech32Address)||(n==null?void 0:n.bech32Address),o=useMemo(()=>["USE_BALANCE_STAKED",i,t,r],[t,r,i]);return useQuery(o,p=>l(void 0,[p],function*({queryKey:[,s,a,c]}){if(!c)throw new Error("address is not defined");return yield G(!!(e!=null&&e.multiChain),a,I=>l(void 0,null,function*(){var d;if(!s)throw new Error("Client is not ready");return yield (d=s[I.chainId])==null?void 0:d.getBalanceStaked(toBech32(I.bech32Config.bech32PrefixAccAddr,fromBech32(c).data))}))}),{enabled:!!r&&!!t&&t.length>0&&!!i,refetchOnMount:!1,refetchOnReconnect:!0,refetchOnWindowFocus:!1})};var Lr=()=>{let e=u(i=>i.capsuleState),t=m(i=>i.capsuleClient),n=ce();return {setModalState:i=>{u.setState(r=>{var o;return {capsuleState:{showModal:i,chainId:(o=r.capsuleState)==null?void 0:o.chainId}}});},modalState:!!(e!=null&&e.showModal),client:t,onAfterLoginSuccessful:n.onAfterLoginSuccessful,onLoginFailure:()=>{ne();}}};var jr=()=>m(e=>e.activeChainIds),un=()=>{var e;return (e=m(t=>t.activeChainIds))==null?void 0:e.map(t=>{var i;let n=(i=u.getState().chains)==null?void 0:i.find(r=>r.chainId===t);if(n)return n}).filter(Boolean)},Vr=({chainId:e})=>{var t;return (t=u().chains)==null?void 0:t.find(n=>n.chainId===e)},$r=({chainId:e})=>{var t;return (t=u().chains)==null?void 0:t.filter(n=>e==null?void 0:e.includes(n.chainId))},Hr=({denom:e})=>{let t=un();return useQuery(["USE_ACTIVE_CHAIN_CURRENCY",e],({queryKey:[,r]})=>{var o;return (o=t==null?void 0:t.find(s=>s.currencies.find(a=>a.coinMinimalDenom===r)))==null?void 0:o.currencies.find(s=>s)})},Yr=e=>{var r;let t=(r=e.status)!=null?r:"BOND_STATUS_BONDED",n=["USE_ACTIVE_CHAIN_VALIDATORS",e.queryClient,t];return useQuery(n,a=>l(void 0,[a],function*({queryKey:[,o,s]}){if(!o)throw new Error("Query client is not defined");return yield o.staking.validators(s)}),{enabled:typeof e.queryClient!="undefined"})},Xr=()=>({data:u(t=>t.recentChainIds),clear:ve}),Jr=()=>{var t;return {data:(t=u(n=>n.recentChainIds))==null?void 0:t.map(n=>{var r;let i=(r=u.getState().chains)==null?void 0:r.find(o=>o.chainId===n);if(i)return i}).filter(Boolean),clear:ve}},Zr=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_SUGGEST_CHAIN",e,t,n],We,{onError:(o,s)=>Promise.resolve(e==null?void 0:e(o,s.chainInfo)),onMutate:o=>t==null?void 0:t(o.chainInfo),onSuccess:o=>Promise.resolve(n==null?void 0:n(o))});return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,suggest:r.mutate,suggestAsync:r.mutateAsync,status:r.status}},es=({onError:e,onLoading:t,onSuccess:n}={})=>{let r=useMutation(["USE_SUGGEST_CHAIN_AND_CONNECT",e,t,n],ft,{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:s=>t==null?void 0:t(s),onSuccess:s=>Promise.resolve(n==null?void 0:n(s))}),{data:o}=Se();return {error:r.error,isLoading:r.isLoading,isSuccess:r.isSuccess,isSupported:!!o,status:r.status,suggestAndConnect:r.mutate,suggestAndConnectAsync:r.mutateAsync}};var cs=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=Y(),r=i==null?void 0:i.bech32Address,o=useMutation(["USE_SEND_TOKENS",e,t,n,r],s=>yt(O({senderAddress:r},s)),{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendTokens:o.mutate,sendTokensAsync:o.mutateAsync,status:o.status}},ls=({onError:e,onLoading:t,onSuccess:n}={})=>{let{data:i}=Y(),r=i==null?void 0:i.bech32Address,o=useMutation(["USE_SEND_IBC_TOKENS",e,t,n,r],s=>Ct(O({senderAddress:r},s)),{onError:(s,a)=>Promise.resolve(e==null?void 0:e(s,a)),onMutate:t,onSuccess:s=>Promise.resolve(n==null?void 0:n(s))});return {error:o.error,isLoading:o.isLoading,isSuccess:o.isSuccess,sendIbcTokens:o.mutate,sendIbcTokensAsync:o.mutateAsync,status:o.status}},us=({codeId:e,onError:t,onLoading:n,onSuccess:i})=>{let{data:r}=Y(),o=r==null?void 0:r.bech32Address,a=useMutation(["USE_INSTANTIATE_CONTRACT",t,n,i,e,o],c=>{var h;if(!o)throw new Error("senderAddress is undefined");let p=K(O({},c),{fee:(h=c.fee)!=null?h:"auto",senderAddress:o,codeId:e});return St(p)},{onError:(c,p)=>Promise.resolve(t==null?void 0:t(c,p)),onMutate:n,onSuccess:c=>Promise.resolve(i==null?void 0:i(c))});return {error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,instantiateContract:a.mutate,instantiateContractAsync:a.mutateAsync,status:a.status}},ds=({contractAddress:e,onError:t,onLoading:n,onSuccess:i})=>{let{data:r}=Y(),o=r==null?void 0:r.bech32Address,a=useMutation(["USE_EXECUTE_CONTRACT",t,n,i,e,o],c=>{var h,I,T;if(!o)throw new Error("senderAddress is undefined");let p=K(O({},c),{fee:(h=c.fee)!=null?h:"auto",senderAddress:o,contractAddress:e,memo:(I=c.memo)!=null?I:"",funds:(T=c.funds)!=null?T:[]});return ht(p)},{onError:(c,p)=>Promise.resolve(t==null?void 0:t(c,p)),onMutate:n,onSuccess:c=>Promise.resolve(i==null?void 0:i(c))});return {error:a.error,isLoading:a.isLoading,isSuccess:a.isSuccess,executeContract:a.mutate,executeContractAsync:a.mutateAsync,status:a.status}},ps=e=>{let{data:t}=Ke();return useQuery(["USE_QUERY_SMART",e==null?void 0:e.address,e==null?void 0:e.queryMsg,t],({queryKey:[,i]})=>{if(!(e!=null&&e.address)||!e.queryMsg)throw new Error("address or queryMsg undefined");return wt(e.address,e.queryMsg,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.queryMsg)&&!!t})},ms=e=>{let{data:t}=Ke(),n=["USE_QUERY_RAW",e==null?void 0:e.key,e==null?void 0:e.address,t];return useQuery(n,({queryKey:[,r]})=>{if(!(e!=null&&e.address)||!e.key)throw new Error("address or key undefined");return At(e.address,e.key,t)},{enabled:!!(e!=null&&e.address)&&!!(e!=null&&e.key)&&!!t})};function Os(e){let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=m(o=>o.activeChainIds),r=useMemo(()=>["USE_STARGATE_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]);return useQuery({queryKey:r,queryFn:a=>l(this,[a],function*({queryKey:[,o,s]}){if(o.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),o,p=>l(this,null,function*(){var y,E;if(!(i!=null&&i.includes(p.chainId)))return;if(!B(s))throw new Error(`${s} is not available`);let I=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return P(s).getOfflineSigner(p.chainId);case"offlineSignerAuto":return P(s).getOfflineSignerAuto(p.chainId);case"offlineSignerOnlyAmino":return P(s).getOfflineSignerOnlyAmino(p.chainId);default:return P(s).getOfflineSignerAuto(p.chainId)}}))(),T=(y=u.getState().chainsConfig)==null?void 0:y[p.chainId],d={url:p.rpc,headers:O({},(T==null?void 0:T.rpcHeaders)||{})};return (e==null?void 0:e.multiChain)===!0&&e.opts,yield SigningStargateClient.connectWithSigner(d,I,e!=null&&e.multiChain?(E=e.opts)==null?void 0:E[p.chainId]:e==null?void 0:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function Ms(e){let t=U({chainId:e==null?void 0:e.chainId,multiChain:e==null?void 0:e.multiChain}),n=u(o=>o.walletType),i=m(o=>o.activeChainIds),r=useMemo(()=>["USE_COSMWASM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]);return useQuery({queryKey:r,queryFn:a=>l(this,[a],function*({queryKey:[,o,s]}){if(o.length<1)throw new Error("No chains found");return yield G(!!(e!=null&&e.multiChain),o,p=>l(this,null,function*(){var E,v;if(!(i!=null&&i.includes(p.chainId)))return;if(!B(s))throw new Error(`${s} is not available`);let I=yield (()=>l(this,null,function*(){switch(e==null?void 0:e.offlineSigner){case"offlineSigner":return P(s).getOfflineSigner(p.chainId);case"offlineSignerAuto":return P(s).getOfflineSignerAuto(p.chainId);case"offlineSignerOnlyAmino":return P(s).getOfflineSignerOnlyAmino(p.chainId);default:return P(s).getOfflineSignerAuto(p.chainId)}}))(),T=(E=u.getState().chainsConfig)==null?void 0:E[p.chainId],d={url:p.rpc,headers:O({},(T==null?void 0:T.rpcHeaders)||{})},g=T!=null&&T.gas?GasPrice.fromString(`${T.gas.price}${T.gas.denom}`):void 0;return yield SigningCosmWasmClient.connectWithSigner(d,I,O({gasPrice:g},e!=null&&e.multiChain?(v=e.opts)==null?void 0:v[p.chainId]:(e==null?void 0:e.opts)||{}))}))}),enabled:!!t&&t.length>0&&!!n&&((e==null?void 0:e.enabled)!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function xs(e){let t=U({chainId:e.chainId,multiChain:e.multiChain}),n=u(s=>s.walletType),i=m(s=>s.activeChainIds),r=useMemo(()=>["USE_STARGATE_TM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]),{data:o}=Ce({type:e.type,chainId:e.chainId,multiChain:e.multiChain});return useQuery({queryKey:r,queryFn:c=>l(this,[c],function*({queryKey:[,s,a]}){if(s.length<1)throw new Error("No chains found");return yield G(!!e.multiChain,s,h=>l(this,null,function*(){var y;if(!(i!=null&&i.includes(h.chainId)))return;if(!B(a))throw new Error(`${a} is not available`);if(!o)throw new Error("No tendermint client found");let T=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return P(a).getOfflineSigner(h.chainId);case"offlineSignerAuto":return P(a).getOfflineSignerAuto(h.chainId);case"offlineSignerOnlyAmino":return P(a).getOfflineSignerOnlyAmino(h.chainId);default:return P(a).getOfflineSignerAuto(h.chainId)}}))(),d=e.multiChain?o[h.chainId]:o;return yield SigningStargateClient.createWithSigner(d,T,e.multiChain?(y=e.opts)==null?void 0:y[h.chainId]:e.opts)}))}),enabled:!!t&&t.length>0&&!!n&&!!o&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}function vs(e){let t=U({chainId:e.chainId,multiChain:e.multiChain}),n=u(a=>a.walletType),i=m(a=>a.activeChainIds),r=useMemo(()=>["USE_COSMWASM_TM_SIGNING_CLIENT",t,n,e,i],[i,e,t,n]),{data:o}=Ce({type:e.type,chainId:e.chainId,multiChain:!1,enabled:!e.multiChain}),{data:s}=Ce({type:e.type,chainId:e.chainId,multiChain:!0,enabled:!!e.multiChain});return useQuery({queryKey:r,queryFn:p=>l(this,[p],function*({queryKey:[,a,c]}){if(a.length<1)throw new Error("No chains found");return yield G(!!e.multiChain,a,I=>l(this,null,function*(){var f,w;if(!(i!=null&&i.includes(I.chainId)))return;if(!B(c))throw new Error(`${c} is not available`);let d=yield (()=>l(this,null,function*(){switch(e.offlineSigner){case"offlineSigner":return P(c).getOfflineSigner(I.chainId);case"offlineSignerAuto":return P(c).getOfflineSignerAuto(I.chainId);case"offlineSignerOnlyAmino":return P(c).getOfflineSignerOnlyAmino(I.chainId);default:return P(c).getOfflineSignerAuto(I.chainId)}}))(),g=(f=u.getState().chainsConfig)==null?void 0:f[I.chainId],y=g!=null&&g.gas?GasPrice.fromString(`${g.gas.price}${g.gas.denom}`):void 0,E=e.multiChain?s==null?void 0:s[I.chainId]:o;if(!E)throw new Error("No tendermint client found");return yield SigningCosmWasmClient.createWithSigner(E,d,O({gasPrice:y},e.multiChain?(w=e.opts)==null?void 0:w[I.chainId]:e.opts||{}))}))}),enabled:!!t&&t.length>0&&!!n&&(!!o||!ye(s))&&(e.enabled!==void 0?!!e.enabled:!0),refetchOnWindowFocus:!1})}var Nt=({children:e})=>{let[t,n]=useState(!1);return useEffect(()=>{n(!0);},[]),jsx(Fragment,{children:t?e:null})};var gn=()=>{let e=typeof window!="undefined"&&window.sessionStorage.getItem(H)==="Active",{_reconnect:t,_onReconnectFailed:n,_reconnectConnector:i}=u(),{activeChainIds:r,wcSignClients:o}=m(),s=B(i||void 0);return useEffect(()=>{if(i){if(!s)return;e&&r?Q({onError:n}):!e&&t&&Q({onError:n});}},[s]),useEffect(()=>{var a,c,p,h,I,T,d,g,y,E,v,f,w,b;if(i){if(!s)return;i==="cosmostation"&&((c=(a=le()).subscription)==null||c.call(a,()=>{Q({onError:n});})),i==="keplr"&&((h=(p=ue()).subscription)==null||h.call(p,()=>{Q({onError:n});})),i==="leap"&&((T=(I=de()).subscription)==null||T.call(I,()=>{Q({onError:n});})),i==="vectis"&&((g=(d=fe()).subscription)==null||g.call(d,()=>{Q({onError:n});})),i==="walletconnect"&&o.has("walletconnect")&&((E=(y=V()).subscription)==null||E.call(y,()=>{Q({onError:n});})),i==="station"&&((f=(v=me()).subscription)==null||f.call(v,()=>{Q({onError:n});})),i==="xdefi"&&((b=(w=ge()).subscription)==null||b.call(w,()=>{Q({onError:n});}));}},[i,o,s]),null},_t=()=>(gn(),null);var Sn=new QueryClient({}),ta=i=>{var r=i,{children:e,grazOptions:t}=r,n=Qe(r,["children","grazOptions"]);return gt(t),jsx(QueryClientProvider,K(O({client:Sn},n),{children:jsxs(Nt,{children:[e,jsx(_t,{})]})}),"graz-provider")};
16
17
 
17
- export { Rt as GrazEvents, Fs as GrazProvider, je as WALLET_TYPES, Qe as WalletType, K as checkWallet, Me as clearRecentChain, z as clearSession, ut as configureGraz, te as connect, Wi as defineChainInfo, vi as defineChains, ne as disconnect, ft as executeContract, oi as getAvailableWallets, Si as getChainInfo, hi as getChainInfos, le as getCosmostation, ue as getKeplr, de as getLeap, Xe as getMetamaskSnapLeap, ct as getOfflineSigners, Ct as getQueryRaw, gt as getQuerySmart, Ci as getRecentChainIds, yi as getRecentChains, me as getVectis, nt as getWCCosmostation, ot as getWCKeplr, it as getWCLeap, P as getWallet, $ as getWalletConnect, mt as instantiateContract, xe as isCapsule, rt as isWalletConnect, Q as reconnect, pt as sendIbcTokens, dt as sendTokens, ve as suggestChain, lt as suggestChainAndConnect, Y as useAccount, _r as useActiveChainCurrency, Dr as useActiveChainIds, on as useActiveChains, or as useActiveWalletType, Cr as useBalance, wr as useBalanceStaked, nn as useBalances, xr as useCapsule, Nr as useChainInfo, Br as useChainInfos, ye as useCheckWallet, yr as useConnect, Ne as useCosmWasmClient, gs as useCosmWasmSigningClient, ys as useCosmWasmTmSigningClient, Sr as useDisconnect, Zr as useExecuteContract, ln as useGrazEvents, Jr as useInstantiateContract, hr as useOfflineSigners, Kr as useQueryClientValidators, ts as useQueryRaw, es as useQuerySmart, Lr as useRecentChainIds, Ur as useRecentChains, Xr as useSendIbcTokens, Yr as useSendTokens, De as useStargateClient, fs as useStargateSigningClient, Cs as useStargateTmSigningClient, qr as useSuggestChain, Gr as useSuggestChainAndConnect, Ce as useTendermintClient };
18
+ export { _t as GrazEvents, ta as GrazProvider, Ve as WALLET_TYPES, je as WalletType, B as checkWallet, ve as clearRecentChain, z as clearSession, gt as configureGraz, te as connect, Gi as defineChainInfo, qi as defineChains, ne as disconnect, ht as executeContract, gi as getAvailableWallets, Wi as getChainInfo, ki as getChainInfos, le as getCosmostation, ue as getKeplr, de as getLeap, nt as getMetamaskSnapLeap, mt as getOfflineSigners, At as getQueryRaw, wt as getQuerySmart, xi as getRecentChainIds, vi as getRecentChains, fe as getVectis, at as getWCCosmostation, ct as getWCKeplr, lt as getWCLeap, P as getWallet, V as getWalletConnect, St as instantiateContract, xe as isCapsule, ut as isWalletConnect, Q as reconnect, Ct as sendIbcTokens, yt as sendTokens, We as suggestChain, ft as suggestChainAndConnect, Y as useAccount, Hr as useActiveChainCurrency, jr as useActiveChainIds, un as useActiveChains, gr as useActiveWalletType, xr as useBalance, Rr as useBalanceStaked, ln as useBalances, Lr as useCapsule, Vr as useChainInfo, $r as useChainInfos, Se as useCheckWallet, vr as useConnect, Ke as useCosmWasmClient, Ms as useCosmWasmSigningClient, vs as useCosmWasmTmSigningClient, Wr as useDisconnect, ds as useExecuteContract, gn as useGrazEvents, us as useInstantiateContract, kr as useOfflineSigners, Yr as useQueryClientValidators, ms as useQueryRaw, ps as useQuerySmart, Xr as useRecentChainIds, Jr as useRecentChains, ls as useSendIbcTokens, cs as useSendTokens, Ne as useStargateClient, Os as useStargateSigningClient, xs as useStargateTmSigningClient, Zr as useSuggestChain, es as useSuggestChainAndConnect, Ce as useTendermintClient };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "graz",
3
3
  "description": "React hooks for Cosmos",
4
- "version": "0.1.6",
4
+ "version": "0.1.8",
5
5
  "author": "Griko Nibras <griko@strange.love>",
6
6
  "repository": "https://github.com/graz-sh/graz.git",
7
7
  "homepage": "https://github.com/graz-sh/graz",
@@ -41,16 +41,10 @@
41
41
  "@cosmjs/tendermint-rpc": "*",
42
42
  "@leapwallet/cosmos-social-login-capsule-provider": "^0.0.30",
43
43
  "@leapwallet/cosmos-social-login-capsule-provider-ui": "^0.0.47",
44
- "long": "^4",
45
44
  "react": ">=17"
46
45
  },
47
- "peerDependenciesMeta": {
48
- "long": {
49
- "optional": true
50
- }
51
- },
52
46
  "dependencies": {
53
- "@clack/prompts": "^0.7.0",
47
+ "@cosmsnap/snapper": "^0.1.29",
54
48
  "@keplr-wallet/cosmos": "^0.12.20",
55
49
  "@keplr-wallet/types": "^0.12.23",
56
50
  "@metamask/providers": "^12.0.0",
@@ -63,7 +57,7 @@
63
57
  "@web3modal/standalone": "^2.4.3",
64
58
  "cac": "^6.7.14",
65
59
  "cosmos-directory-client": "0.0.6",
66
- "wadesta": "^0.0.5",
60
+ "long": "4",
67
61
  "zustand": "^4.5.2"
68
62
  },
69
63
  "devDependencies": {