New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@stacks/connect

Package Overview
Dependencies
Maintainers
0
Versions
779
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@stacks/connect - npm Package Compare versions

Comparing version 8.0.3-alpha.f4e70a6.0 to 8.1.0

dist/types/storage.d.ts

4

dist/index.js

@@ -1,3 +0,3 @@

'use strict';var common=require('@stacks/common'),connectUi=require('@stacks/connect-ui'),loader=require('@stacks/connect-ui/loader'),base=require('@scure/base'),transactions=require('@stacks/transactions'),network=require('@stacks/network'),networkV6=require('@stacks/network-v6'),transactionsV6=require('@stacks/transactions-v6');var Oe=Object.defineProperty,he=Object.defineProperties;var Ee=Object.getOwnPropertyDescriptors;var ie=Object.getOwnPropertySymbols;var Re=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable;var ae=(e,t,o)=>t in e?Oe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,c=(e,t)=>{for(var o in t||(t={}))Re.call(t,o)&&ae(e,o,t[o]);if(ie)for(var o of ie(t))be.call(t,o)&&ae(e,o,t[o]);return e},l=(e,t)=>he(e,Ee(t));var f=class e extends Error{constructor(o,n,s,r){super(o);this.message=o;this.code=n;this.data=s;this.cause=r;this.name="JsonRpcError",this.message=o,this.code=n,this.data=s,this.cause=r;}static fromResponse(o){return new e(o.message,o.code,o.data)}toString(){return `${this.name} (${this.code}): ${this.message}${this.data?`: ${JSON.stringify(this.data)}`:""}`}};var ue="asigna-stx",ce=(e,t)=>new Promise(o=>{function n(s){s.data.source===ue&&s.data[t]&&(o(s.data[t]),window.removeEventListener("message",n));}window.addEventListener("message",n),window.top.postMessage(ke(e,t),"*");}),_e={authenticationRequest:async e=>ce(e,"authenticationRequest"),transactionRequest:async e=>ce(e,"transactionRequest")},ke=(e,t)=>({source:ue,[t]:e}),Me=()=>{if(typeof window=="undefined")return;!!window.top&&document.referrer.endsWith(".asigna.io/")&&(window.AsignaProvider=_e);};Me();var de=[{id:"LeatherProvider",name:"Leather",icon:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCIgdmlld0JveD0iMCAwIDEyOCAxMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiByeD0iMjYuODM4NyIgZmlsbD0iIzEyMTAwRiIvPgo8cGF0aCBkPSJNNzQuOTE3MSA1Mi43MTE0QzgyLjQ3NjYgNTEuNTQwOCA5My40MDg3IDQzLjU4MDQgOTMuNDA4NyAzNy4zNzYxQzkzLjQwODcgMzUuNTAzMSA5MS44OTY4IDM0LjIxNTQgODkuNjg3MSAzNC4yMTU0Qzg1LjUwMDQgMzQuMjE1NCA3OC40MDYxIDQwLjUzNjggNzQuOTE3MSA1Mi43MTE0Wk0zOS45MTEgODMuNDk5MUMzMC4wMjU2IDgzLjQ5OTEgMjkuMjExNSA5My4zMzI0IDM5LjA5NjkgOTMuMzMyNEM0My41MTYzIDkzLjMzMjQgNDguODY2MSA5MS41NzY0IDUxLjY1NzMgODguNDE1N0M0Ny41ODY4IDg0LjkwMzggNDQuMjE0MSA4My40OTkxIDM5LjkxMSA4My40OTkxWk0xMDIuODI5IDc5LjI4NDhDMTAzLjQxIDk1Ljc5MDcgOTUuMDM2OSAxMDUuMDM5IDgwLjg0ODQgMTA1LjAzOUM3Mi40NzQ4IDEwNS4wMzkgNjguMjg4MSAxMDEuODc4IDU5LjMzMyA5Ni4wMjQ5QzU0LjY4MSAxMDEuMTc2IDQ1Ljg0MjMgMTA1LjAzOSAzOC41MTU0IDEwNS4wMzlDMTMuMjc4NSAxMDUuMDM5IDE0LjMyNTIgNzIuODQ2MyA0MC4wMjczIDcyLjg0NjNDNDUuMzc3MSA3Mi44NDYzIDQ5LjkxMjggNzQuMjUxMSA1NS43Mjc3IDc3Ljg4TDU5LjU2NTYgNjQuNDE3N0M0My43NDg5IDYwLjA4NjQgMzUuODQwNSA0Ny45MTE4IDQzLjYzMjYgMzAuNDY5M0g1Ni4xOTI5QzQ5LjIxNSA0Mi4wNTg2IDUzLjk4MzIgNTEuNjU3OCA2Mi44MjIgNTIuNzExNEM2Ny41OTAzIDM1LjczNzIgNzcuODI0NiAyMi41MDkgOTEuNDMxNiAyMi41MDlDOTkuMTA3NCAyMi41MDkgMTA1LjE1NSAyNy41NDI4IDEwNS4xNTUgMzYuNjczN0MxMDUuMTU1IDUxLjMwNjYgODYuMDgxOSA2My4yNDcxIDcxLjY2MDcgNjQuNDE3N0w2NS43Mjk1IDg1LjM3MjFDNzIuNDc0OCA5My4yMTUzIDkxLjE5OSAxMDAuODI0IDkxLjE5OSA3OS4yODQ4SDEwMi44MjlaIiBmaWxsPSIjRjVGMUVEIi8+Cjwvc3ZnPgo=",webUrl:"https://leather.io",chromeWebStoreUrl:"https://chrome.google.com/webstore/detail/hiro-wallet/ldinpeekobnhjjdofggfgjlcehhmanlj",mozillaAddOnsUrl:"https://leather.io/install-extension"},{id:"XverseProviders.BitcoinProvider",name:"Xverse Wallet",icon:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MDAiIGhlaWdodD0iNjAwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiMxNzE3MTciIGQ9Ik0wIDBoNjAwdjYwMEgweiIvPjxwYXRoIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTQ0MCA0MzUuNHYtNTFjMC0yLS44LTMuOS0yLjItNS4zTDIyMCAxNjIuMmE3LjYgNy42IDAgMCAwLTUuNC0yLjJoLTUxLjFjLTIuNSAwLTQuNiAyLTQuNiA0LjZ2NDcuM2MwIDIgLjggNCAyLjIgNS40bDc4LjIgNzcuOGE0LjYgNC42IDAgMCAxIDAgNi41bC03OSA3OC43Yy0xIC45LTEuNCAyLTEuNCAzLjJ2NTJjMCAyLjQgMiA0LjUgNC42IDQuNUgyNDljMi42IDAgNC42LTIgNC42LTQuNlY0MDVjMC0xLjIuNS0yLjQgMS40LTMuM2w0Mi40LTQyLjJhNC42IDQuNiAwIDAgMSA2LjQgMGw3OC43IDc4LjRhNy42IDcuNiAwIDAgMCA1LjQgMi4yaDQ3LjVjMi41IDAgNC42LTIgNC42LTQuNloiLz48cGF0aCBmaWxsPSIjRUU3QTMwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0zMjUuNiAyMjcuMmg0Mi44YzIuNiAwIDQuNiAyLjEgNC42IDQuNnY0Mi42YzAgNCA1IDYuMSA4IDMuMmw1OC43LTU4LjVjLjgtLjggMS4zLTIgMS4zLTMuMnYtNTEuMmMwLTIuNi0yLTQuNi00LjYtNC42TDM4NCAxNjBjLTEuMiAwLTIuNC41LTMuMyAxLjNsLTU4LjQgNTguMWE0LjYgNC42IDAgMCAwIDMuMiA3LjhaIi8+PC9nPjwvc3ZnPg==",webUrl:"https://xverse.app",chromeWebStoreUrl:"https://chrome.google.com/webstore/detail/xverse-wallet/idnnbdplmphpflfnlkomgpfbpcgelopg",googlePlayStoreUrl:"https://play.google.com/store/apps/details?id=com.secretkeylabs.xverse",iOSAppStoreUrl:"https://apps.apple.com/app/xverse-bitcoin-web3-wallet/id1552272513",mozillaAddOnsUrl:"https://www.xverse.app/download"},{id:"AsignaProvider",name:"Asigna Multisig",icon:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwMDEwMCIgZD0iTTAgMGgzMnYzMkgweiIvPjxwYXRoIGZpbGw9InVybCgjYSkiIGQ9Ik0xNS4xMSA1LjU1YTMgMyAwIDAgMC0xLjgyIDEuM2wtLjA1LjA4LS40My43Mi0uMDcuMTEtLjUuODUtLjA1LjA5LTEuMjkgMi4xOC0uMDQuMDctLjQ3LjgtLjA2LjEtLjQ2Ljc4LS4wNy4xMS0xLjYzIDIuNzYtLjA3LjExLS4zOC42Ni0uMDUuMDgtLjczIDEuMjQtLjM1LjYtLjQuNjctLjA1LjA5TDUuMSAyMC43bC0uMTEuMTgtLjE0LjIzLS4wNy4xMy0uMzMuNTUtLjA0LjA3di4wMWExLjI2IDEuMjYgMCAwIDAtLjE0LjQ3IDEuMzEgMS4zMSAwIDAgMCAxLjI0IDEuNGgxLjVsLjA1LS4wNi4wNC0uMDYuODctMS4yMS4wNS0uMDguNzctMS4wNy4wNS0uMDcuNC0uNTcuMDUtLjA2LjI0LS4zNGExLjUyIDEuNTIgMCAwIDEgMS4zOS0uNjIgMS41IDEuNSAwIDAgMSAuNjQuMiAxLjQ3IDEuNDcgMCAwIDEgLjczIDEuMjcgMS40NCAxLjQ0IDAgMCAxLS4yNy44NGwtLjYzLjg4LS4wNS4wNy0uMzIuNDUtLjA2LjA4LS4wOC4xMi0uMTIuMTYtLjA1LjA4aDIuMTNhMi4zMiAyLjMyIDAgMCAwIDEuNzctLjk2bDEuMTgtMS42My43Ny0xLjA4IDEuMy0xLjhhMS4yNCAxLjI0IDAgMCAxIC41NS0uNDNsLjA4LS4wM2ExLjMgMS4zIDAgMCAxIC4zLS4wNiAxLjI4IDEuMjggMCAwIDEgMS4xNS41NGwuMTEuMmExLjEzIDEuMTMgMCAwIDEgLjEuNDEgMS4xOSAxLjE5IDAgMCAxLS4yMy43N2wtLjAzLjA1LS41Ny44LS43Ljk4LS4yNy4zN2ExLjIyIDEuMjIgMCAwIDAtLjIuNSAxLjA1IDEuMDUgMCAwIDAtLjAyLjIzdi4wNmExLjE3IDEuMTcgMCAwIDAgLjE0LjQzbC4wMi4wNS4wNy4xYTEuNDQgMS40NCAwIDAgMCAuMS4xMWwuMDUuMDYuMDEuMDFhMS44IDEuOCAwIDAgMCAuMTQuMWMwIC4wMi4wMi4wMy4wNC4wM2ExIDEgMCAwIDAgLjA4LjA1bC4wNy4wNGExLjI1IDEuMjUgMCAwIDAgLjUuMWg2LjljLjEgMCAuMi0uMDEuMjktLjAzbC4wNi0uMDJhMS4yNyAxLjI3IDAgMCAwIC4yNy0uMS41Ny41NyAwIDAgMCAuMDctLjAzIDEuMjEgMS4yMSAwIDAgMCAuMjYtLjE5bC4wOC0uMDdhLjkyLjkyIDAgMCAwIC4xNS0uMTkgMS41NSAxLjU1IDAgMCAwIC4wOS0uMTdsLjAyLS4wNWExLjIyIDEuMjIgMCAwIDAgLjA4LS4yNnYtLjA0bC4wMi0uMDh2LS4wOGExLjMyIDEuMzIgMCAwIDAtLjItLjc0bC0xLjYtMi42NC0uMDYtLjEtLjItLjMyLS4zMy0uNTR2LS4wMWwtLjA1LS4wOC0xLjMtMi4xNS0uMDctLjEtLjA0LS4wNi0uOC0xLjMyLS4wNC0uMDctLjItLjM0LS4xLS4xNC0uMS0uMTYtLjUzLS45LS4xMy0uMi0uMDktLjE0LTIuMTctMy41Ny0uMDQtLjA3LS43Mi0xLjE5LS4wNS0uMDctLjQtLjY1YTIuNjUgMi42NSAwIDAgMC0uMy0uNCAyLjk2IDIuOTYgMCAwIDAtLjk3LS43NCAzLjA0IDMuMDQgMCAwIDAtMS4zLS4zYy0uMjUgMC0uNS4wNC0uNzQuMVoiLz48cGF0aCBmaWxsPSJ1cmwoI2IpIiBkPSJNMTkgMTYuM2E1LjQ1IDUuNDUgMCAwIDAtLjgzIDEuNTZsLS4wNC4xNWExLjM2IDEuMzYgMCAwIDEgLjI4LS4xNiAxLjI0IDEuMjQgMCAwIDEgLjM4LS4wOGguMWExLjI4IDEuMjggMCAwIDEgMS4wNS41NGMuMDQuMDYuMDguMTMuMS4yYTEuMjQgMS4yNCAwIDAgMSAuMDkuMjcgMS4xOSAxLjE5IDAgMCAxLS4yLjkxbC0uMDQuMDUtLjU3Ljc5LS43Ljk5LS4yNy4zN2ExLjIzIDEuMjMgMCAwIDAtLjIuNDIgMS4wNiAxLjA2IDAgMCAwLS4wMi4zMXYuMDZhMS4xNyAxLjE3IDAgMCAwIC4xNi40Ny45My45MyAwIDAgMCAuMDcuMSAxLjUgMS41IDAgMCAwIC4xLjEybC4wNS4wNmguMDFhMS45NCAxLjk0IDAgMCAwIC4wOS4wOCAxIDEgMCAwIDAgLjE3LjFsLjA3LjA0YTEuMjUgMS4yNSAwIDAgMCAuNS4xaDYuOWMuMSAwIC4yIDAgLjI4LS4wMmwuMDctLjAyYTEuMzIgMS4zMiAwIDAgMCAuMzQtLjEzbC4xNi0uMS4wMy0uMDNhMS4yOSAxLjI5IDAgMCAwIC4yLS4yIDIuNDMgMi40MyAwIDAgMCAuMTItLjE3Yy4wMy0uMDMuMDUtLjA4LjA3LS4xMmwuMDItLjA1YTEuMjEgMS4yMSAwIDAgMCAuMDktLjN2LS4wOGwuMDEtLjA5YTEuMzIgMS4zMiAwIDAgMC0uMi0uNzNsLTEuNi0yLjY0LS4wNi0uMS0uMi0uMzItLjMzLS41NHYtLjAybC0uMDUtLjA3LTEuMy0yLjE1LS4xMi0uMDctLjA3LS4wNGE0Ljk0IDQuOTQgMCAwIDAtMi40Ni0uNjdjLTEuMDMgMC0xLjc2LjU3LTIuMjYgMS4yWiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMi4yOSAyMS4wOGMwIC4yOS0uMDkuNTgtLjI3Ljg0bC0xLjMxIDEuODRIN2wyLjUyLTMuNTNhMS41NCAxLjU0IDAgMCAxIDIuMS0uMzZjLjQzLjI4LjY2Ljc0LjY2IDEuMloiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTEuMTYgMjEuMjVhLjU2LjU2IDAgMCAxLS41Ny41NS41Ni41NiAwIDAgMS0uNTctLjU2LjU2LjU2IDAgMCAxIC41Ny0uNTUuNTYuNTYgMCAwIDEgLjU3LjU2WiIvPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjE1LjIzIiB4Mj0iMTkuMyIgeTE9IjI1Ljc4IiB5Mj0iNi4xMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM2NTIyRjQiLz48c3RvcCBvZmZzZXQ9Ii41NSIgc3RvcC1jb2xvcj0iIzlCNkJGRiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0E1ODVGRiIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iMjIuNTkiIHgyPSIyNC44IiB5MT0iMjQuNzEiIHkyPSIxNS41MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM0MjFGOEIiLz48c3RvcCBvZmZzZXQ9Ii41NSIgc3RvcC1jb2xvcj0iIzcyMzBGRiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzk3NzNGRiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjwvc3ZnPg==",webUrl:"https://asigna.io",chromeWebStoreUrl:"https://stx.asigna.io/"},{id:"FordefiProviders.UtxoProvider",name:"Fordefi",icon:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzEwMTExNCIgZD0iTTAgMGg0MnY0MkgweiIvPgogIDxwYXRoIGQ9Ik0xOS40NyAyNi44OUg1djMuNTdhNC41NyA0LjU3IDAgMCAwIDQuNTggNC41N2g1LjgzbDQuMDYtOC4xNFoiIGZpbGw9IiM3OTk0RkYiLz4KICA8cGF0aCBkPSJNNSAxNy40aDI3LjU4bC0zLjIgNi43OEg1VjE3LjRaIiBmaWxsPSIjNDg2REZGIi8+CiAgPHBhdGggZD0iTTE0LjY3IDdINXY3LjY4aDMzVjdoLTkuNjd2NS43NGgtMlY3aC05LjY3djUuNzRoLTEuOTlWN1oiIGZpbGw9IiM1Q0QxRkEiLz4KPC9zdmc+Cg==",webUrl:"https://www.fordefi.com/",chromeWebStoreUrl:"https://chromewebstore.google.com/detail/fordefi/hcmehenccjdmfbojapcbcofkgdpbnlle"}];async function j(e,t,o){var n;try{let s=await e.request(t,o);if("error"in s)throw f.fromResponse(s.error);return s.result}catch(s){if(s instanceof f)throw s;if("jsonrpc"in s)throw f.fromResponse(s.error);let r=(n=s.code)!=null?n:-31e3;throw new f(s.message,r,s.data,s)}}async function P(...e){let{options:t,method:o,params:n}=Qe(e),s=Object.assign({provider:connectUi.getProvider(),defaultProviders:de,forceWalletSelect:!1,persistWalletSelect:!0,enableOverrides:!0},We(t));if(s.provider&&!s.forceWalletSelect){let{method:r,params:i}=_(s.provider,o,n,s.enableOverrides);return await j(s.provider,r,k(i))}if(typeof window!="undefined")return loader.defineCustomElements(window),new Promise((r,i)=>{let a=document.createElement("connect-modal");a.defaultProviders=s.defaultProviders,a.installedProviders=connectUi.getInstalledProviders(s.defaultProviders),a.persistWalletSelect=s.persistWalletSelect;let p=document.body.style.overflow;document.body.style.overflow="hidden";let A=()=>{a.remove(),document.body.style.overflow=p;};a.callback=D=>{A();let{method:m,params:x}=_(D,o,n,s.enableOverrides);r(j(D,m,k(x)));},a.cancelCallback=()=>{A(),i(new f("User canceled the request",-31001));},document.body.appendChild(a);let y=D=>{D.key==="Escape"&&(document.removeEventListener("keydown",y),a.remove(),i(new f("User canceled the request",-31001)));};document.addEventListener("keydown",y);})}function Qe(e){return typeof e[0]=="string"?{method:e[0],params:e[1]}:{options:e[0],method:e[1],params:e[2]}}function g(e,t,o){return (n,s)=>{if(!s)throw new Error("[Connect] No installed Stacks wallet found");let r=t(n),i=n,{method:a,params:p}=_(s,e,r);j(s,a,k(p)).then(A=>{var D;let y=o(A);(D=i.onFinish)==null||D.call(i,y);}).catch(i.onCancel);}}function le(e){return Be(e)||Fe(e)}function Be(e){return "signMultipleTransactions"in e&&"createRepeatInscriptions"in e&&!(e!=null&&e.isLeather)&&!(e!=null&&e.isFordefi)}function Fe(e){return "isFordefi"in e&&!!e.isFordefi}function ge(e){return "isLeather"in e&&!!e.isLeather}function We(e){if(e===void 0)return {};let t={};for(let[o,n]of Object.entries(e))n!==void 0&&(t[o]=n);return t}function _(e,t,o,n=!0){if(!n)return {method:t,params:o};if(le(e)&&["getAddresses","stx_getAddresses"].includes(t))return {method:"wallet_connect",params:o};if(le(e)&&t==="sendTransfer"){let s=l(c({},o),{recipients:o.recipients.map(r=>l(c({},r),{amount:Number(r.amount)}))});return {method:t,params:s}}if(ge(e)&&t==="sendTransfer"){let s=l(c({},o),{recipients:o.recipients.map(r=>l(c({},r),{amount:r.amount.toString()}))});return {method:t,params:s}}if(ge(e)&&t==="signPsbt"){let s={hex:common.bytesToHex(base.base64.decode(o.psbt)),signAtIndex:o.signInputs.map(r=>typeof r=="number"?r:r.index),allowedSighash:o.allowedSighash};return {method:t,params:s}}return {method:t,params:o}}function k(e){if(!e||typeof e!="object")return e;let t=c({},e);for(let[o,n]of Object.entries(e))if(n){if(typeof n=="bigint"){t[o]=n.toString();continue}if(Array.isArray(n)){t[o]=n.map(s=>typeof s=="bigint"?s.toString():s&&typeof s=="object"&&"type"in s?transactions.Cl.serialize(s):s);continue}typeof n=="object"&&"type"in n&&(t[o]=transactions.Cl.serialize(n));}return t}var ro="https://app.blockstack.org";typeof window!="undefined"&&(window.__CONNECT_VERSION__="__VERSION__");var io=()=>{let e=navigator.userAgent;return /android/i.test(e)||/iPad|iPhone|iPod/.test(e)?!0:/windows phone/i.test(e)},Ae=async(e,t)=>{var i,a,p,A,y,D;let{onFinish:o,onCancel:n,userSession:s}=e,r=De(s);r.isUserSignedIn()&&r.signUserOut();try{let x=await P({provider:t,forceWalletSelect:!0},"getAddresses"),T=r.store.getSessionData();(i=T.userData)!=null||(T.userData={profile:{}}),(p=(a=T.userData).profile)!=null||(a.profile={}),(y=(A=T.userData.profile).stxAddress)!=null||(A.stxAddress={mainnet:"",testnet:""});let b=x.addresses.find(S=>(S==null?void 0:S.symbol)==="STX"||S.address.startsWith("S")).address.toUpperCase(),we=b[1]==="P"||b[1]==="M";Object.assign(T.userData.profile.stxAddress,{[we?"mainnet":"testnet"]:b});let ne=(D=x.addresses.find(S=>{var se;return (se=S==null?void 0:S.address)!=null&&se.startsWith("S")?!1:S.purpose==="payment"?!0:Se(S==null?void 0:S.address)?x.addresses.every(L=>{var re;return ((re=L==null?void 0:L.address)==null?void 0:re.startsWith("S"))||Se(L==null?void 0:L.address)}):!0}))==null?void 0:D.address;ne&&(T.userData.profile.btcAddress=ne),r.store.setSessionData(T),o==null||o({userSession:r});}catch(m){console.error("[Connect] Error during auth request",m),n==null||n(m);}},qe="blockstack-session",w=class{constructor(t,o,n,s,r,i){}},C=class{constructor(t){t!=null&&t.appConfig&&(this.appConfig=t.appConfig),typeof window=="undefined"&&typeof self=="undefined"?this.store=new U:this.store=new z;}makeAuthRequestToken(){}generateAndStoreTransitKey(){}getAuthResponseToken(){}isSignInPending(){return !1}isUserSignedIn(){return !!this.store.getSessionData().userData}async handlePendingSignIn(){return Promise.resolve(this.loadUserData())}loadUserData(){let t=this.store.getSessionData().userData;if(!t)throw new common.NoSessionDataError("No user data found. Did the user sign in?");return t}encryptContent(){}decryptContent(){}signUserOut(t){this.store.deleteSessionData(),t&&typeof location!="undefined"&&location.href&&(location.href=t);}},O=class{constructor(t){t&&this.setSessionData(t);}getSessionData(){throw new Error("Abstract class")}setSessionData(t){throw new Error("Abstract class")}deleteSessionData(){throw new Error("Abstract class")}},U=class extends O{constructor(t){super(t),this.sessionData||this.setSessionData({});}getSessionData(){if(!this.sessionData)throw new common.NoSessionDataError("No session data was found.");return this.sessionData}setSessionData(t){return this.sessionData=t,!0}deleteSessionData(){return this.setSessionData({}),!0}},z=class extends O{constructor(t){var n;super(t),this.key=typeof((n=t==null?void 0:t.storeOptions)==null?void 0:n.localStorageKey)=="string"?t.storeOptions.localStorageKey:qe,localStorage.getItem(this.key)||this.setSessionData({});}getSessionData(){let t=localStorage.getItem(this.key);if(!t)throw new common.NoSessionDataError("No session data was found in localStorage");return JSON.parse(t)}setSessionData(t){return localStorage.setItem(this.key,JSON.stringify(t)),!0}deleteSessionData(){return localStorage.removeItem(this.key),this.setSessionData({}),!0}},De=e=>e||new C,ao=async e=>(e=De(e),e.isUserSignedIn()?Promise.resolve(e.loadUserData()):Promise.resolve(null));function Se(e){let t=["bc1p","tb1p","bcrt1p"],o=[62,62,64],n=t.findIndex(s=>e.startsWith(s));return n===-1?!1:e.length===o[n]}var Ze=(n=>(n.ContractCall="contract_call",n.ContractDeploy="smart_contract",n.STXTransfer="token_transfer",n))(Ze||{}),Xe=(r=>(r.BUFFER="buffer",r.UINT="uint",r.INT="int",r.PRINCIPAL="principal",r.BOOL="bool",r))(Xe||{});var G=(r=>(r[r.DEFAULT=0]="DEFAULT",r[r.ALL=1]="ALL",r[r.NONE=2]="NONE",r[r.SINGLE=3]="SINGLE",r[r.ANYONECANPAY=128]="ANYONECANPAY",r))(G||{});function d(){return connectUi.getProviderFromId(connectUi.getSelectedProviderId())||window.StacksProvider||window.BlockstackProvider}function et(){return !!d()}function Te(e){return e?typeof e=="string"?networkV6.StacksNetwork.fromName(e):"version"in e?e:"url"in e?new networkV6.StacksMainnet({url:e.url}):e.transactionVersion===network.TransactionVersion.Mainnet?new networkV6.StacksMainnet({url:e.client.baseUrl}):new networkV6.StacksTestnet({url:e.client.baseUrl}):new networkV6.StacksTestnet}function h(e,t){var o,n;return e instanceof t||((n=(o=e==null?void 0:e.constructor)==null?void 0:o.name)==null?void 0:n.toLowerCase())===t.name}function E(e){return e?typeof e=="string"?e:h(e,networkV6.StacksMainnet)?"mainnet":h(e,networkV6.StacksTestnet)?"testnet":h(e,networkV6.StacksDevnet)||h(e,networkV6.StacksMocknet)?"devnet":"coreApiUrl"in e?e.coreApiUrl:"url"in e?e.url:"transactionVersion"in e?e.transactionVersion===network.TransactionVersion.Mainnet?"mainnet":"testnet":"mainnet":"mainnet"}function I(e){if(typeof e.type=="string")return e;switch(e.type){case transactionsV6.ClarityType.BoolFalse:return transactions.Cl.bool(!1);case transactionsV6.ClarityType.BoolTrue:return transactions.Cl.bool(!0);case transactionsV6.ClarityType.Int:return transactions.Cl.int(e.value);case transactionsV6.ClarityType.UInt:return transactions.Cl.uint(e.value);case transactionsV6.ClarityType.Buffer:return transactions.Cl.buffer(e.buffer);case transactionsV6.ClarityType.StringASCII:return transactions.Cl.stringAscii(e.data);case transactionsV6.ClarityType.StringUTF8:return transactions.Cl.stringUtf8(e.data);case transactionsV6.ClarityType.List:return transactions.Cl.list(e.list.map(I));case transactionsV6.ClarityType.Tuple:return transactions.Cl.tuple(Object.fromEntries(Object.entries(e.data).map(([o,n])=>[o,I(n)])));case transactionsV6.ClarityType.OptionalNone:return transactions.Cl.none();case transactionsV6.ClarityType.OptionalSome:return transactions.Cl.some(I(e.value));case transactionsV6.ClarityType.ResponseErr:return transactions.Cl.error(I(e.value));case transactionsV6.ClarityType.ResponseOk:return transactions.Cl.ok(I(e.value));case transactionsV6.ClarityType.PrincipalContract:return transactions.Cl.contractPrincipal(transactions.Address.stringify(e.address),e.contractName.content);case transactionsV6.ClarityType.PrincipalStandard:return transactions.Cl.standardPrincipal(transactions.Address.stringify(e.address));default:let t=e;throw new Error(`Unknown clarity type: ${t}`)}}function ye(e){return l(c({},e),{onFinish:void 0,onCancel:void 0})}function tt(e){}var ot=async e=>{},nt="stx_updateProfile",B=e=>e,F=e=>e.profile;function st(e,t=d()){g(nt,B,F)(e,t);}function rt(e){}var it=async e=>{},at="stx_signMessage",W=e=>e,q=e=>e;function ct(e,t=d()){g(at,W,q)(e,t);}async function Mt(e){}var dt="stx_signStructuredMessage",Z=e=>({message:I(e.message),domain:I(e.domain)}),X=e=>e;function pt(e,t=d()){if(e.domain.type!==transactionsV6.ClarityType.Tuple)throw new Error("Domain must be a tuple");g(dt,Z,X)(e,t);}var me=e=>{let t=e;if(!t){let o=new w(["store_write"],document.location.href);t=new C({appConfig:o});}return t};function St(e){try{return me(e).loadUserData().appPrivateKey}catch(t){return !1}}var At=e=>{};function Dt(e){var p;let{stxAddress:t,userSession:o,network:n}=e;if(t)return t;if(!o||!n)return;let s=(p=o==null?void 0:o.loadUserData().profile)==null?void 0:p.stxAddress,r={[network.ChainId.Mainnet]:"mainnet",[network.ChainId.Testnet]:"testnet"},i=Te(n);return s==null?void 0:s[r[i.chainId]]}var It=async e=>{},ft=async e=>{},Tt=async e=>{},yt=async e=>{},Ct="stx_callContract",H=e=>{var o;let t=(o=e.functionArgs)==null?void 0:o.map(n=>typeof n=="string"?transactions.Cl.deserialize(n):I(n)).map(n=>transactions.Cl.serialize(n));return l(c({},e),{contract:`${e.contractAddress}.${e.contractName}`,functionArgs:t,network:E(e.network),postConditionMode:Pe(e.postConditionMode),postConditions:xe(e.postConditions),address:e.stxAddress})},V=e=>({txId:e.txid,txRaw:e.transaction,stacksTransaction:transactions.deserializeTransaction(e.transaction)});function Nt(e,t=d()){g(Ct,H,V)(e,t);}var Lt="stx_deployContract",K=e=>l(c({},e),{name:e.contractName,clarityCode:e.codeBody,network:E(e.network),postConditionMode:Pe(e.postConditionMode),postConditions:xe(e.postConditions),address:e.stxAddress}),J=e=>({txId:e.txid,txRaw:e.transaction,stacksTransaction:transactions.deserializeTransaction(e.transaction)});function mt(e,t=d()){g(Lt,K,J)(e,t);}var xt="stx_transferStx",$=e=>l(c({},e),{amount:e.amount.toString(),network:E(e.network),address:e.stxAddress}),ee=e=>({txId:e.txid,txRaw:e.transaction,stacksTransaction:transactions.deserializeTransaction(e.transaction)});function Pt(e,t=d()){g(xt,$,ee)(e,t);}var jt="stx_signTransaction",te=e=>l(c({},e),{transaction:e.txHex}),oe=e=>l(c({},e),{stacksTransaction:transactions.deserializeTransaction(e.transaction)});function wt(e,t=d()){g(jt,te,oe)(e,t);}function xe(e){if(typeof e!="undefined")return e.map(t=>typeof t=="string"?t:typeof t.type=="string"?l(c({},t),{amount:"amount"in t?t.amount.toString():void 0}):common.bytesToHex(transactionsV6.serializePostCondition(t)))}function Pe(e){if(typeof e!="undefined"){if(typeof e=="string")return e;switch(e){case transactions.PostConditionMode.Allow:return "allow";case transactions.PostConditionMode.Deny:return "deny";default:let t=e;throw new Error(`Unknown post condition mode: ${t}. Should be one of: 'allow', 'deny'`)}}}function N(e,t,o){return (n,s)=>{let r=t(ye(n)),i=n;P({provider:s},e,r).then(a=>{var A;let p=o(a);(A=i.onFinish)==null||A.call(i,p);}).catch(a=>{var p;console.error(a),(p=i.onCancel)==null||p.call(i,a);});}}var ht=Ae,Ko=N("stx_transferStx",$,ee),Jo=N("stx_callContract",H,V),$o=N("stx_deployContract",K,J),en=N("stx_signTransaction",te,oe),tn=N("stx_updateProfile",B,F),on=N("stx_signMessage",W,q),nn=N("stx_signStructuredMessage",Z,X);function sn(){connectUi.clearSelectedProviderId(),new C().store.deleteSessionData();}var rn=ht;function bt(e){}var _t=async e=>{},kt="signPsbt",Ut=e=>{var t;return {psbt:base.base64.encode(common.hexToBytes(e.hex)),signInputs:typeof e.signAtIndex=="number"?[e.signAtIndex]:e.signAtIndex,allowedSighash:(t=e.allowedSighash)==null?void 0:t.map(o=>G[o])}},zt=e=>({hex:common.bytesToHex(base.base64.decode(e.psbt))});function vt(e,t=d()){g(kt,Ut,zt)(e,t);}
Object.defineProperty(exports,"clearSelectedProviderId",{enumerable:true,get:function(){return connectUi.clearSelectedProviderId}});Object.defineProperty(exports,"getSelectedProvider",{enumerable:true,get:function(){return connectUi.getProvider}});Object.defineProperty(exports,"getSelectedProviderId",{enumerable:true,get:function(){return connectUi.getSelectedProviderId}});Object.defineProperty(exports,"isProviderSelected",{enumerable:true,get:function(){return connectUi.isProviderSelected}});Object.defineProperty(exports,"setSelectedProviderId",{enumerable:true,get:function(){return connectUi.setSelectedProviderId}});exports.AppConfig=w;exports.ContractCallArgumentType=Xe;exports.DEFAULT_PROVIDERS=de;exports.InstanceDataStore=U;exports.LOCALSTORAGE_SESSION_KEY=qe;exports.LocalStorageStore=z;exports.SessionDataStore=O;exports.SignatureHash=G;exports.TransactionTypes=Ze;exports.UserSession=C;exports.authenticate=Ae;exports.defaultAuthURL=ro;exports.disconnect=sn;exports.getDefaultProfileUpdateRequestOptions=tt;exports.getDefaultPsbtRequestOptions=bt;exports.getDefaultSignatureRequestOptions=rt;exports.getKeys=At;exports.getOrCreateUserSession=De;exports.getStacksProvider=d;exports.getStxAddress=Dt;exports.getUserData=ao;exports.getUserSession=me;exports.hasAppPrivateKey=St;exports.isAddressTaproot=Se;exports.isMobile=io;exports.isStacksWalletInstalled=et;exports.makeContractCallToken=It;exports.makeContractDeployToken=ft;exports.makeProfileUpdateToken=ot;exports.makePsbtToken=_t;exports.makeSTXTransferToken=Tt;exports.makeSignTransaction=yt;exports.openContractCall=Nt;exports.openContractDeploy=mt;exports.openProfileUpdateRequestPopup=st;exports.openPsbtRequestPopup=vt;exports.openSTXTransfer=Pt;exports.openSignTransaction=wt;exports.openSignatureRequestPopup=ct;exports.openStructuredDataSignatureRequestPopup=pt;exports.request=P;exports.requestRaw=j;exports.showBlockstackConnect=rn;exports.showConnect=ht;exports.showContractCall=Jo;exports.showContractDeploy=$o;exports.showProfileUpdate=tn;exports.showSTXTransfer=Ko;exports.showSignMessage=on;exports.showSignStructuredMessage=nn;exports.showSignTransaction=en;exports.signMessage=it;exports.signStructuredMessage=Mt;//# sourceMappingURL=index.js.map
'use strict';var common=require('@stacks/common'),base=require('@scure/base'),connectUi=require('@stacks/connect-ui'),loader=require('@stacks/connect-ui/loader'),transactions=require('@stacks/transactions'),network=require('@stacks/network'),networkV6=require('@stacks/network-v6'),transactionsV6=require('@stacks/transactions-v6');var Ge=Object.defineProperty,Ye=Object.defineProperties;var Qe=Object.getOwnPropertyDescriptors;var j=Object.getOwnPropertySymbols;var de=Object.prototype.hasOwnProperty,Me=Object.prototype.propertyIsEnumerable;var ue=(e,t,o)=>t in e?Ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,c=(e,t)=>{for(var o in t||(t={}))de.call(t,o)&&ue(e,o,t[o]);if(j)for(var o of j(t))Me.call(t,o)&&ue(e,o,t[o]);return e},d=(e,t)=>Ye(e,Qe(t));var pe=(e,t)=>{var o={};for(var s in e)de.call(e,s)&&t.indexOf(s)<0&&(o[s]=e[s]);if(e!=null&&j)for(var s of j(e))t.indexOf(s)<0&&Me.call(e,s)&&(o[s]=e[s]);return o};var y=class e extends Error{constructor(o,s,n,r){super(o);this.message=o;this.code=s;this.data=n;this.cause=r;this.name="JsonRpcError",this.message=o,this.code=s,this.data=n,this.cause=r;}static fromResponse(o){return new e(o.message,o.code,o.data)}toString(){return `${this.name} (${this.code}): ${this.message}${this.data?`: ${JSON.stringify(this.data)}`:""}`}};var ge="asigna-stx",le=(e,t)=>new Promise(o=>{function s(n){n.data.source===ge&&n.data[t]&&(o(n.data[t]),window.removeEventListener("message",s));}window.addEventListener("message",s),window.top.postMessage(Be(e,t),"*");}),Fe={authenticationRequest:async e=>le(e,"authenticationRequest"),transactionRequest:async e=>le(e,"transactionRequest")},Be=(e,t)=>({source:ge,[t]:e}),Se=()=>{if(typeof window=="undefined")return;!!window.top&&document.referrer.endsWith(".asigna.io/")&&(window.AsignaProvider=Fe);};Se();var Ae=[{id:"LeatherProvider",name:"Leather",icon:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCIgdmlld0JveD0iMCAwIDEyOCAxMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiByeD0iMjYuODM4NyIgZmlsbD0iIzEyMTAwRiIvPgo8cGF0aCBkPSJNNzQuOTE3MSA1Mi43MTE0QzgyLjQ3NjYgNTEuNTQwOCA5My40MDg3IDQzLjU4MDQgOTMuNDA4NyAzNy4zNzYxQzkzLjQwODcgMzUuNTAzMSA5MS44OTY4IDM0LjIxNTQgODkuNjg3MSAzNC4yMTU0Qzg1LjUwMDQgMzQuMjE1NCA3OC40MDYxIDQwLjUzNjggNzQuOTE3MSA1Mi43MTE0Wk0zOS45MTEgODMuNDk5MUMzMC4wMjU2IDgzLjQ5OTEgMjkuMjExNSA5My4zMzI0IDM5LjA5NjkgOTMuMzMyNEM0My41MTYzIDkzLjMzMjQgNDguODY2MSA5MS41NzY0IDUxLjY1NzMgODguNDE1N0M0Ny41ODY4IDg0LjkwMzggNDQuMjE0MSA4My40OTkxIDM5LjkxMSA4My40OTkxWk0xMDIuODI5IDc5LjI4NDhDMTAzLjQxIDk1Ljc5MDcgOTUuMDM2OSAxMDUuMDM5IDgwLjg0ODQgMTA1LjAzOUM3Mi40NzQ4IDEwNS4wMzkgNjguMjg4MSAxMDEuODc4IDU5LjMzMyA5Ni4wMjQ5QzU0LjY4MSAxMDEuMTc2IDQ1Ljg0MjMgMTA1LjAzOSAzOC41MTU0IDEwNS4wMzlDMTMuMjc4NSAxMDUuMDM5IDE0LjMyNTIgNzIuODQ2MyA0MC4wMjczIDcyLjg0NjNDNDUuMzc3MSA3Mi44NDYzIDQ5LjkxMjggNzQuMjUxMSA1NS43Mjc3IDc3Ljg4TDU5LjU2NTYgNjQuNDE3N0M0My43NDg5IDYwLjA4NjQgMzUuODQwNSA0Ny45MTE4IDQzLjYzMjYgMzAuNDY5M0g1Ni4xOTI5QzQ5LjIxNSA0Mi4wNTg2IDUzLjk4MzIgNTEuNjU3OCA2Mi44MjIgNTIuNzExNEM2Ny41OTAzIDM1LjczNzIgNzcuODI0NiAyMi41MDkgOTEuNDMxNiAyMi41MDlDOTkuMTA3NCAyMi41MDkgMTA1LjE1NSAyNy41NDI4IDEwNS4xNTUgMzYuNjczN0MxMDUuMTU1IDUxLjMwNjYgODYuMDgxOSA2My4yNDcxIDcxLjY2MDcgNjQuNDE3N0w2NS43Mjk1IDg1LjM3MjFDNzIuNDc0OCA5My4yMTUzIDkxLjE5OSAxMDAuODI0IDkxLjE5OSA3OS4yODQ4SDEwMi44MjlaIiBmaWxsPSIjRjVGMUVEIi8+Cjwvc3ZnPgo=",webUrl:"https://leather.io",chromeWebStoreUrl:"https://chrome.google.com/webstore/detail/hiro-wallet/ldinpeekobnhjjdofggfgjlcehhmanlj",mozillaAddOnsUrl:"https://leather.io/install-extension"},{id:"XverseProviders.BitcoinProvider",name:"Xverse Wallet",icon:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MDAiIGhlaWdodD0iNjAwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiMxNzE3MTciIGQ9Ik0wIDBoNjAwdjYwMEgweiIvPjxwYXRoIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTQ0MCA0MzUuNHYtNTFjMC0yLS44LTMuOS0yLjItNS4zTDIyMCAxNjIuMmE3LjYgNy42IDAgMCAwLTUuNC0yLjJoLTUxLjFjLTIuNSAwLTQuNiAyLTQuNiA0LjZ2NDcuM2MwIDIgLjggNCAyLjIgNS40bDc4LjIgNzcuOGE0LjYgNC42IDAgMCAxIDAgNi41bC03OSA3OC43Yy0xIC45LTEuNCAyLTEuNCAzLjJ2NTJjMCAyLjQgMiA0LjUgNC42IDQuNUgyNDljMi42IDAgNC42LTIgNC42LTQuNlY0MDVjMC0xLjIuNS0yLjQgMS40LTMuM2w0Mi40LTQyLjJhNC42IDQuNiAwIDAgMSA2LjQgMGw3OC43IDc4LjRhNy42IDcuNiAwIDAgMCA1LjQgMi4yaDQ3LjVjMi41IDAgNC42LTIgNC42LTQuNloiLz48cGF0aCBmaWxsPSIjRUU3QTMwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0zMjUuNiAyMjcuMmg0Mi44YzIuNiAwIDQuNiAyLjEgNC42IDQuNnY0Mi42YzAgNCA1IDYuMSA4IDMuMmw1OC43LTU4LjVjLjgtLjggMS4zLTIgMS4zLTMuMnYtNTEuMmMwLTIuNi0yLTQuNi00LjYtNC42TDM4NCAxNjBjLTEuMiAwLTIuNC41LTMuMyAxLjNsLTU4LjQgNTguMWE0LjYgNC42IDAgMCAwIDMuMiA3LjhaIi8+PC9nPjwvc3ZnPg==",webUrl:"https://xverse.app",chromeWebStoreUrl:"https://chrome.google.com/webstore/detail/xverse-wallet/idnnbdplmphpflfnlkomgpfbpcgelopg",googlePlayStoreUrl:"https://play.google.com/store/apps/details?id=com.secretkeylabs.xverse",iOSAppStoreUrl:"https://apps.apple.com/app/xverse-bitcoin-web3-wallet/id1552272513",mozillaAddOnsUrl:"https://www.xverse.app/download"},{id:"AsignaProvider",name:"Asigna Multisig",icon:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwMDEwMCIgZD0iTTAgMGgzMnYzMkgweiIvPjxwYXRoIGZpbGw9InVybCgjYSkiIGQ9Ik0xNS4xMSA1LjU1YTMgMyAwIDAgMC0xLjgyIDEuM2wtLjA1LjA4LS40My43Mi0uMDcuMTEtLjUuODUtLjA1LjA5LTEuMjkgMi4xOC0uMDQuMDctLjQ3LjgtLjA2LjEtLjQ2Ljc4LS4wNy4xMS0xLjYzIDIuNzYtLjA3LjExLS4zOC42Ni0uMDUuMDgtLjczIDEuMjQtLjM1LjYtLjQuNjctLjA1LjA5TDUuMSAyMC43bC0uMTEuMTgtLjE0LjIzLS4wNy4xMy0uMzMuNTUtLjA0LjA3di4wMWExLjI2IDEuMjYgMCAwIDAtLjE0LjQ3IDEuMzEgMS4zMSAwIDAgMCAxLjI0IDEuNGgxLjVsLjA1LS4wNi4wNC0uMDYuODctMS4yMS4wNS0uMDguNzctMS4wNy4wNS0uMDcuNC0uNTcuMDUtLjA2LjI0LS4zNGExLjUyIDEuNTIgMCAwIDEgMS4zOS0uNjIgMS41IDEuNSAwIDAgMSAuNjQuMiAxLjQ3IDEuNDcgMCAwIDEgLjczIDEuMjcgMS40NCAxLjQ0IDAgMCAxLS4yNy44NGwtLjYzLjg4LS4wNS4wNy0uMzIuNDUtLjA2LjA4LS4wOC4xMi0uMTIuMTYtLjA1LjA4aDIuMTNhMi4zMiAyLjMyIDAgMCAwIDEuNzctLjk2bDEuMTgtMS42My43Ny0xLjA4IDEuMy0xLjhhMS4yNCAxLjI0IDAgMCAxIC41NS0uNDNsLjA4LS4wM2ExLjMgMS4zIDAgMCAxIC4zLS4wNiAxLjI4IDEuMjggMCAwIDEgMS4xNS41NGwuMTEuMmExLjEzIDEuMTMgMCAwIDEgLjEuNDEgMS4xOSAxLjE5IDAgMCAxLS4yMy43N2wtLjAzLjA1LS41Ny44LS43Ljk4LS4yNy4zN2ExLjIyIDEuMjIgMCAwIDAtLjIuNSAxLjA1IDEuMDUgMCAwIDAtLjAyLjIzdi4wNmExLjE3IDEuMTcgMCAwIDAgLjE0LjQzbC4wMi4wNS4wNy4xYTEuNDQgMS40NCAwIDAgMCAuMS4xMWwuMDUuMDYuMDEuMDFhMS44IDEuOCAwIDAgMCAuMTQuMWMwIC4wMi4wMi4wMy4wNC4wM2ExIDEgMCAwIDAgLjA4LjA1bC4wNy4wNGExLjI1IDEuMjUgMCAwIDAgLjUuMWg2LjljLjEgMCAuMi0uMDEuMjktLjAzbC4wNi0uMDJhMS4yNyAxLjI3IDAgMCAwIC4yNy0uMS41Ny41NyAwIDAgMCAuMDctLjAzIDEuMjEgMS4yMSAwIDAgMCAuMjYtLjE5bC4wOC0uMDdhLjkyLjkyIDAgMCAwIC4xNS0uMTkgMS41NSAxLjU1IDAgMCAwIC4wOS0uMTdsLjAyLS4wNWExLjIyIDEuMjIgMCAwIDAgLjA4LS4yNnYtLjA0bC4wMi0uMDh2LS4wOGExLjMyIDEuMzIgMCAwIDAtLjItLjc0bC0xLjYtMi42NC0uMDYtLjEtLjItLjMyLS4zMy0uNTR2LS4wMWwtLjA1LS4wOC0xLjMtMi4xNS0uMDctLjEtLjA0LS4wNi0uOC0xLjMyLS4wNC0uMDctLjItLjM0LS4xLS4xNC0uMS0uMTYtLjUzLS45LS4xMy0uMi0uMDktLjE0LTIuMTctMy41Ny0uMDQtLjA3LS43Mi0xLjE5LS4wNS0uMDctLjQtLjY1YTIuNjUgMi42NSAwIDAgMC0uMy0uNCAyLjk2IDIuOTYgMCAwIDAtLjk3LS43NCAzLjA0IDMuMDQgMCAwIDAtMS4zLS4zYy0uMjUgMC0uNS4wNC0uNzQuMVoiLz48cGF0aCBmaWxsPSJ1cmwoI2IpIiBkPSJNMTkgMTYuM2E1LjQ1IDUuNDUgMCAwIDAtLjgzIDEuNTZsLS4wNC4xNWExLjM2IDEuMzYgMCAwIDEgLjI4LS4xNiAxLjI0IDEuMjQgMCAwIDEgLjM4LS4wOGguMWExLjI4IDEuMjggMCAwIDEgMS4wNS41NGMuMDQuMDYuMDguMTMuMS4yYTEuMjQgMS4yNCAwIDAgMSAuMDkuMjcgMS4xOSAxLjE5IDAgMCAxLS4yLjkxbC0uMDQuMDUtLjU3Ljc5LS43Ljk5LS4yNy4zN2ExLjIzIDEuMjMgMCAwIDAtLjIuNDIgMS4wNiAxLjA2IDAgMCAwLS4wMi4zMXYuMDZhMS4xNyAxLjE3IDAgMCAwIC4xNi40Ny45My45MyAwIDAgMCAuMDcuMSAxLjUgMS41IDAgMCAwIC4xLjEybC4wNS4wNmguMDFhMS45NCAxLjk0IDAgMCAwIC4wOS4wOCAxIDEgMCAwIDAgLjE3LjFsLjA3LjA0YTEuMjUgMS4yNSAwIDAgMCAuNS4xaDYuOWMuMSAwIC4yIDAgLjI4LS4wMmwuMDctLjAyYTEuMzIgMS4zMiAwIDAgMCAuMzQtLjEzbC4xNi0uMS4wMy0uMDNhMS4yOSAxLjI5IDAgMCAwIC4yLS4yIDIuNDMgMi40MyAwIDAgMCAuMTItLjE3Yy4wMy0uMDMuMDUtLjA4LjA3LS4xMmwuMDItLjA1YTEuMjEgMS4yMSAwIDAgMCAuMDktLjN2LS4wOGwuMDEtLjA5YTEuMzIgMS4zMiAwIDAgMC0uMi0uNzNsLTEuNi0yLjY0LS4wNi0uMS0uMi0uMzItLjMzLS41NHYtLjAybC0uMDUtLjA3LTEuMy0yLjE1LS4xMi0uMDctLjA3LS4wNGE0Ljk0IDQuOTQgMCAwIDAtMi40Ni0uNjdjLTEuMDMgMC0xLjc2LjU3LTIuMjYgMS4yWiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMi4yOSAyMS4wOGMwIC4yOS0uMDkuNTgtLjI3Ljg0bC0xLjMxIDEuODRIN2wyLjUyLTMuNTNhMS41NCAxLjU0IDAgMCAxIDIuMS0uMzZjLjQzLjI4LjY2Ljc0LjY2IDEuMloiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTEuMTYgMjEuMjVhLjU2LjU2IDAgMCAxLS41Ny41NS41Ni41NiAwIDAgMS0uNTctLjU2LjU2LjU2IDAgMCAxIC41Ny0uNTUuNTYuNTYgMCAwIDEgLjU3LjU2WiIvPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjE1LjIzIiB4Mj0iMTkuMyIgeTE9IjI1Ljc4IiB5Mj0iNi4xMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM2NTIyRjQiLz48c3RvcCBvZmZzZXQ9Ii41NSIgc3RvcC1jb2xvcj0iIzlCNkJGRiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0E1ODVGRiIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iMjIuNTkiIHgyPSIyNC44IiB5MT0iMjQuNzEiIHkyPSIxNS41MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM0MjFGOEIiLz48c3RvcCBvZmZzZXQ9Ii41NSIgc3RvcC1jb2xvcj0iIzcyMzBGRiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzk3NzNGRiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjwvc3ZnPg==",webUrl:"https://asigna.io",chromeWebStoreUrl:"https://stx.asigna.io/"},{id:"FordefiProviders.UtxoProvider",name:"Fordefi",icon:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbD0iIzEwMTExNCIgZD0iTTAgMGg0MnY0MkgweiIvPgogIDxwYXRoIGQ9Ik0xOS40NyAyNi44OUg1djMuNTdhNC41NyA0LjU3IDAgMCAwIDQuNTggNC41N2g1LjgzbDQuMDYtOC4xNFoiIGZpbGw9IiM3OTk0RkYiLz4KICA8cGF0aCBkPSJNNSAxNy40aDI3LjU4bC0zLjIgNi43OEg1VjE3LjRaIiBmaWxsPSIjNDg2REZGIi8+CiAgPHBhdGggZD0iTTE0LjY3IDdINXY3LjY4aDMzVjdoLTkuNjd2NS43NGgtMlY3aC05LjY3djUuNzRoLTEuOTlWN1oiIGZpbGw9IiM1Q0QxRkEiLz4KPC9zdmc+Cg==",webUrl:"https://www.fordefi.com/",chromeWebStoreUrl:"https://chromewebstore.google.com/detail/fordefi/hcmehenccjdmfbojapcbcofkgdpbnlle"}];var k="@stacks/connect",Ve={addresses:{stx:[],btc:[]},version:"0.0.1"},fe=e=>[...new Map(e.map(o=>[o.address,o])).values()].map(n=>{var r=n,s=pe(r,["publicKey"]);return s});function De(e){try{let o=U()||Ve,s=d(c({},o),{updatedAt:Date.now(),addresses:c(c({},o.addresses),e.addresses&&{stx:e.addresses.stx&&fe([...o.addresses.stx,...e.addresses.stx]),btc:e.addresses.btc&&fe([...o.addresses.btc,...e.addresses.btc])})});localStorage.setItem(k,common.bytesToHex(common.utf8ToBytes(JSON.stringify(s))));}catch(t){console.warn("Failed to store data in localStorage:",t);}}function ye(){try{localStorage.removeItem(k);}catch(e){console.warn("Failed to clear localStorage:",e);}}function U(){try{let e=localStorage.getItem(k);return e?JSON.parse(common.bytesToUtf8(common.hexToBytes(e))):null}catch(e){return console.warn("Failed to get data from localStorage:",e),null}}function Ke(){connectUi.clearSelectedProviderId(),ye(),new T().store.deleteSessionData();}function Je(){let e=U();return (e==null?void 0:e.addresses.stx.length)>0||(e==null?void 0:e.addresses.btc.length)>0}async function w(e,t,o){var s;try{let n=await e.request(t,o);if("error"in n)throw y.fromResponse(n.error);return n.result}catch(n){if(n instanceof y)throw n;if("jsonrpc"in n)throw y.fromResponse(n.error);let r=(s=n.code)!=null?s:-31e3;throw new y(n.message,r,n.data,n)}}function nt(e){return e?async function(o,s,n){let r=await w(o,s,n);if(s==="getAddresses"&&"addresses"in r){let{stx:i,btc:u}=r.addresses.reduce((a,S)=>(a[S.address.startsWith("S")?"stx":"btc"].push(S),a),{stx:[],btc:[]});De({addresses:{stx:i,btc:u}});}return r}:w}async function P(...e){let{options:t,method:o,params:s}=rt(e),n=Object.assign({provider:connectUi.getProvider(),defaultProviders:Ae,forceWalletSelect:!1,persistWalletSelect:!0,enableOverrides:!0,enableLocalStorage:!0},ct(t)),r=nt(n.enableLocalStorage);if(n.provider&&!n.forceWalletSelect){let{method:i,params:u}=z(n.provider,o,s,n.enableOverrides);return await r(n.provider,i,v(u))}if(typeof window!="undefined")return loader.defineCustomElements(window),new Promise((i,u)=>{let a=document.createElement("connect-modal");a.defaultProviders=n.defaultProviders,a.installedProviders=connectUi.getInstalledProviders(n.defaultProviders),a.persistWalletSelect=n.persistWalletSelect;let S=document.body.style.overflow;document.body.style.overflow="hidden";let m=()=>{a.remove(),document.body.style.overflow=S;};a.callback=x=>{m();let{method:N,params:f}=z(x,o,s,n.enableOverrides);i(r(x,N,v(f)));},a.cancelCallback=()=>{m(),u(new y("User canceled the request",-31001));},document.body.appendChild(a);let I=x=>{x.key==="Escape"&&(document.removeEventListener("keydown",I),a.remove(),u(new y("User canceled the request",-31001)));};document.addEventListener("keydown",I);})}function rt(e){return typeof e[0]=="string"?{method:e[0],params:e[1]}:{options:e[0],method:e[1],params:e[2]}}function g(e,t,o){return (s,n)=>{if(!n)throw new Error("[Connect] No installed Stacks wallet found");let r=t(s),i=s,{method:u,params:a}=z(n,e,r);w(n,u,v(a)).then(S=>{var I;let m=o(S);(I=i.onFinish)==null||I.call(i,m);}).catch(i.onCancel);}}function me(e){return at(e)||it(e)}function at(e){return "signMultipleTransactions"in e&&"createRepeatInscriptions"in e&&!(e!=null&&e.isLeather)&&!(e!=null&&e.isFordefi)}function it(e){return "isFordefi"in e&&!!e.isFordefi}function Te(e){return "isLeather"in e&&!!e.isLeather}function ct(e){if(e===void 0)return {};let t={};for(let[o,s]of Object.entries(e))s!==void 0&&(t[o]=s);return t}function z(e,t,o,s=!0){if(!s)return {method:t,params:o};if(me(e)&&["getAddresses","stx_getAddresses"].includes(t))return {method:"wallet_connect",params:o};if(me(e)&&t==="sendTransfer"){let n=d(c({},o),{recipients:o.recipients.map(r=>d(c({},r),{amount:Number(r.amount)}))});return {method:t,params:n}}if(Te(e)&&t==="sendTransfer"){let n=d(c({},o),{recipients:o.recipients.map(r=>d(c({},r),{amount:r.amount.toString()}))});return {method:t,params:n}}if(Te(e)&&t==="signPsbt"){let n={hex:common.bytesToHex(base.base64.decode(o.psbt)),signAtIndex:o.signInputs.map(r=>typeof r=="number"?r:r.index),allowedSighash:o.allowedSighash};return {method:t,params:n}}return {method:t,params:o}}var Ce=["stx-postcondition","ft-postcondition","nft-postcondition"];function v(e){if(!e||typeof e!="object")return e;let t=c({},e);for(let[o,s]of Object.entries(e)){if(typeof s=="bigint"){t[o]=s.toString();continue}if(s){if(Array.isArray(s)){t[o]=s.map(n=>typeof n=="bigint"?n.toString():!n||typeof n!="object"||!("type"in n)?n:Ce.includes(n.type)?transactions.postConditionToHex(n):transactions.Cl.serialize(n));continue}typeof s=="object"&&"type"in s&&(t[o]=Ce.includes(s.type)?transactions.postConditionToHex(s):transactions.Cl.serialize(s));}}return t}var wo="https://app.blockstack.org";typeof window!="undefined"&&(window.__CONNECT_VERSION__="__VERSION__");var Oo=()=>{let e=navigator.userAgent;return /android/i.test(e)||/iPad|iPhone|iPod/.test(e)?!0:/windows phone/i.test(e)},Ne=async(e,t)=>{var i,u,a,S,m,I;let{onFinish:o,onCancel:s,userSession:n}=e,r=Pe(n);r.isUserSignedIn()&&r.signUserOut();try{let N=await P({provider:t,forceWalletSelect:!0},"getAddresses"),f=r.store.getSessionData();(i=f.userData)!=null||(f.userData={profile:{}}),(a=(u=f.userData).profile)!=null||(u.profile={}),(m=(S=f.userData.profile).stxAddress)!=null||(S.stxAddress={mainnet:"",testnet:""});let _=N.addresses.find(A=>(A==null?void 0:A.symbol)==="STX"||A.address.startsWith("S")).address.toUpperCase(),ve=_[1]==="P"||_[1]==="M";Object.assign(f.userData.profile.stxAddress,{[ve?"mainnet":"testnet"]:_});let ae=(I=N.addresses.find(A=>{var ie;return (ie=A==null?void 0:A.address)!=null&&ie.startsWith("S")?!1:A.purpose==="payment"?!0:Le(A==null?void 0:A.address)?N.addresses.every(L=>{var ce;return ((ce=L==null?void 0:L.address)==null?void 0:ce.startsWith("S"))||Le(L==null?void 0:L.address)}):!0}))==null?void 0:I.address;ae&&(f.userData.profile.btcAddress=ae),r.store.setSessionData(f),o==null||o({userSession:r});}catch(x){console.error("[Connect] Error during auth request",x),s==null||s(x);}},ut="blockstack-session",O=class{constructor(t,o,s,n,r,i){}},T=class{constructor(t){t!=null&&t.appConfig&&(this.appConfig=t.appConfig),typeof window=="undefined"&&typeof self=="undefined"?this.store=new G:this.store=new Y;}makeAuthRequestToken(){}generateAndStoreTransitKey(){}getAuthResponseToken(){}isSignInPending(){return !1}isUserSignedIn(){return !!this.store.getSessionData().userData}async handlePendingSignIn(){return Promise.resolve(this.loadUserData())}loadUserData(){let t=this.store.getSessionData().userData;if(!t)throw new common.NoSessionDataError("No user data found. Did the user sign in?");return t}encryptContent(){}decryptContent(){}signUserOut(t){this.store.deleteSessionData(),t&&typeof location!="undefined"&&location.href&&(location.href=t);}},h=class{constructor(t){t&&this.setSessionData(t);}getSessionData(){throw new Error("Abstract class")}setSessionData(t){throw new Error("Abstract class")}deleteSessionData(){throw new Error("Abstract class")}},G=class extends h{constructor(t){super(t),this.sessionData||this.setSessionData({});}getSessionData(){if(!this.sessionData)throw new common.NoSessionDataError("No session data was found.");return this.sessionData}setSessionData(t){return this.sessionData=t,!0}deleteSessionData(){return this.setSessionData({}),!0}},Y=class extends h{constructor(t){var s;super(t),this.key=typeof((s=t==null?void 0:t.storeOptions)==null?void 0:s.localStorageKey)=="string"?t.storeOptions.localStorageKey:ut,localStorage.getItem(this.key)||this.setSessionData({});}getSessionData(){let t=localStorage.getItem(this.key);if(!t)throw new common.NoSessionDataError("No session data was found in localStorage");return JSON.parse(t)}setSessionData(t){return localStorage.setItem(this.key,JSON.stringify(t)),!0}deleteSessionData(){return localStorage.removeItem(this.key),this.setSessionData({}),!0}},Pe=e=>e||new T,ho=async e=>(e=Pe(e),e.isUserSignedIn()?Promise.resolve(e.loadUserData()):Promise.resolve(null));function Le(e){let t=["bc1p","tb1p","bcrt1p"],o=[62,62,64],s=t.findIndex(n=>e.startsWith(n));return s===-1?!1:e.length===o[s]}var dt=(s=>(s.ContractCall="contract_call",s.ContractDeploy="smart_contract",s.STXTransfer="token_transfer",s))(dt||{}),Mt=(r=>(r.BUFFER="buffer",r.UINT="uint",r.INT="int",r.PRINCIPAL="principal",r.BOOL="bool",r))(Mt||{});var F=(r=>(r[r.DEFAULT=0]="DEFAULT",r[r.ALL=1]="ALL",r[r.NONE=2]="NONE",r[r.SINGLE=3]="SINGLE",r[r.ANYONECANPAY=128]="ANYONECANPAY",r))(F||{});function l(){return connectUi.getProviderFromId(connectUi.getSelectedProviderId())||window.StacksProvider||window.BlockstackProvider}function ft(){return !!l()}function Oe(e){return e?typeof e=="string"?networkV6.StacksNetwork.fromName(e):"version"in e?e:"url"in e?new networkV6.StacksMainnet({url:e.url}):e.transactionVersion===network.TransactionVersion.Mainnet?new networkV6.StacksMainnet({url:e.client.baseUrl}):new networkV6.StacksTestnet({url:e.client.baseUrl}):new networkV6.StacksTestnet}function E(e,t){var o,s;return e instanceof t||((s=(o=e==null?void 0:e.constructor)==null?void 0:o.name)==null?void 0:s.toLowerCase())===t.name}function b(e){return e?typeof e=="string"?e:E(e,networkV6.StacksMainnet)?"mainnet":E(e,networkV6.StacksTestnet)?"testnet":E(e,networkV6.StacksDevnet)||E(e,networkV6.StacksMocknet)?"devnet":"coreApiUrl"in e?e.coreApiUrl:"url"in e?e.url:"transactionVersion"in e?e.transactionVersion===network.TransactionVersion.Mainnet?"mainnet":"testnet":"mainnet":"mainnet"}function D(e){if(typeof e.type=="string")return e;switch(e.type){case transactionsV6.ClarityType.BoolFalse:return transactions.Cl.bool(!1);case transactionsV6.ClarityType.BoolTrue:return transactions.Cl.bool(!0);case transactionsV6.ClarityType.Int:return transactions.Cl.int(e.value);case transactionsV6.ClarityType.UInt:return transactions.Cl.uint(e.value);case transactionsV6.ClarityType.Buffer:return transactions.Cl.buffer(e.buffer);case transactionsV6.ClarityType.StringASCII:return transactions.Cl.stringAscii(e.data);case transactionsV6.ClarityType.StringUTF8:return transactions.Cl.stringUtf8(e.data);case transactionsV6.ClarityType.List:return transactions.Cl.list(e.list.map(D));case transactionsV6.ClarityType.Tuple:return transactions.Cl.tuple(Object.fromEntries(Object.entries(e.data).map(([o,s])=>[o,D(s)])));case transactionsV6.ClarityType.OptionalNone:return transactions.Cl.none();case transactionsV6.ClarityType.OptionalSome:return transactions.Cl.some(D(e.value));case transactionsV6.ClarityType.ResponseErr:return transactions.Cl.error(D(e.value));case transactionsV6.ClarityType.ResponseOk:return transactions.Cl.ok(D(e.value));case transactionsV6.ClarityType.PrincipalContract:return transactions.Cl.contractPrincipal(transactions.Address.stringify(e.address),e.contractName.content);case transactionsV6.ClarityType.PrincipalStandard:return transactions.Cl.standardPrincipal(transactions.Address.stringify(e.address));default:let t=e;throw new Error(`Unknown clarity type: ${t}`)}}function he(e){return d(c({},e),{onFinish:void 0,onCancel:void 0})}function Dt(e){}var yt=async e=>{},It="stx_updateProfile",q=e=>e,Z=e=>e.profile;function xt(e,t=l()){g(It,q,Z)(e,t);}function mt(e){}var Tt=async e=>{},Ct="stx_signMessage",X=e=>e,H=e=>e;function Lt(e,t=l()){g(Ct,X,H)(e,t);}async function Pt(e){}var jt="stx_signStructuredMessage",V=e=>({message:D(e.message),domain:D(e.domain)}),K=e=>e;function wt(e,t=l()){if(e.domain.type!==transactionsV6.ClarityType.Tuple)throw new Error("Domain must be a tuple");g(jt,V,K)(e,t);}var _e=e=>{let t=e;if(!t){let o=new O(["store_write"],document.location.href);t=new T({appConfig:o});}return t};function Et(e){try{return _e(e).loadUserData().appPrivateKey}catch(t){return !1}}var bt=e=>{};function Rt(e){var a;let{stxAddress:t,userSession:o,network:s}=e;if(t)return t;if(!o||!s)return;let n=(a=o==null?void 0:o.loadUserData().profile)==null?void 0:a.stxAddress,r={[network.ChainId.Mainnet]:"mainnet",[network.ChainId.Testnet]:"testnet"},i=Oe(s);return n==null?void 0:n[r[i.chainId]]}var _t=async e=>{},kt=async e=>{},Ut=async e=>{},zt=async e=>{},vt="stx_callContract",J=e=>{var o;let t=(o=e.functionArgs)==null?void 0:o.map(s=>typeof s=="string"?transactions.Cl.deserialize(s):D(s)).map(s=>transactions.Cl.serialize(s));return d(c({},e),{contract:`${e.contractAddress}.${e.contractName}`,functionArgs:t,network:b(e.network),postConditionMode:Ue(e.postConditionMode),postConditions:ke(e.postConditions),address:e.stxAddress})},$=e=>({txId:e.txid,txRaw:e.transaction,stacksTransaction:transactions.deserializeTransaction(e.transaction)});function Gt(e,t=l()){g(vt,J,$)(e,t);}var Yt="stx_deployContract",ee=e=>d(c({},e),{name:e.contractName,clarityCode:e.codeBody,network:b(e.network),postConditionMode:Ue(e.postConditionMode),postConditions:ke(e.postConditions),address:e.stxAddress}),te=e=>({txId:e.txid,txRaw:e.transaction,stacksTransaction:transactions.deserializeTransaction(e.transaction)});function Qt(e,t=l()){g(Yt,ee,te)(e,t);}var Ft="stx_transferStx",oe=e=>d(c({},e),{amount:e.amount.toString(),network:b(e.network),address:e.stxAddress}),se=e=>({txId:e.txid,txRaw:e.transaction,stacksTransaction:transactions.deserializeTransaction(e.transaction)});function Bt(e,t=l()){g(Ft,oe,se)(e,t);}var Wt="stx_signTransaction",ne=e=>d(c({},e),{transaction:e.txHex}),re=e=>d(c({},e),{stacksTransaction:transactions.deserializeTransaction(e.transaction)});function qt(e,t=l()){g(Wt,ne,re)(e,t);}function ke(e){if(typeof e!="undefined")return e.map(t=>typeof t=="string"?t:typeof t.type=="string"?d(c({},t),{amount:"amount"in t?t.amount.toString():void 0}):common.bytesToHex(transactionsV6.serializePostCondition(t)))}function Ue(e){if(typeof e!="undefined"){if(typeof e=="string")return e;switch(e){case transactions.PostConditionMode.Allow:return "allow";case transactions.PostConditionMode.Deny:return "deny";default:let t=e;throw new Error(`Unknown post condition mode: ${t}. Should be one of: 'allow', 'deny'`)}}}function C(e,t,o){return (s,n)=>{let r=t(he(s)),i=s;P({provider:n},e,r).then(u=>{var S;let a=o(u);(S=i.onFinish)==null||S.call(i,a);}).catch(u=>{var a;console.error(u),(a=i.onCancel)==null||a.call(i,u);});}}var Zt=Ne,ys=C("stx_transferStx",oe,se),Is=C("stx_callContract",J,$),xs=C("stx_deployContract",ee,te),ms=C("stx_signTransaction",ne,re),Ts=C("stx_updateProfile",q,Z),Cs=C("stx_signMessage",X,H),Ls=C("stx_signStructuredMessage",V,K),Ns=Zt;function Vt(e){}var Kt=async e=>{},Jt="signPsbt",$t=e=>{var t;return {psbt:base.base64.encode(common.hexToBytes(e.hex)),signInputs:typeof e.signAtIndex=="number"?[e.signAtIndex]:e.signAtIndex,allowedSighash:(t=e.allowedSighash)==null?void 0:t.map(o=>F[o])}},eo=e=>({hex:common.bytesToHex(base.base64.decode(e.psbt))});function to(e,t=l()){g(Jt,$t,eo)(e,t);}
Object.defineProperty(exports,"clearSelectedProviderId",{enumerable:true,get:function(){return connectUi.clearSelectedProviderId}});Object.defineProperty(exports,"getSelectedProvider",{enumerable:true,get:function(){return connectUi.getProvider}});Object.defineProperty(exports,"getSelectedProviderId",{enumerable:true,get:function(){return connectUi.getSelectedProviderId}});Object.defineProperty(exports,"isProviderSelected",{enumerable:true,get:function(){return connectUi.isProviderSelected}});Object.defineProperty(exports,"setSelectedProviderId",{enumerable:true,get:function(){return connectUi.setSelectedProviderId}});exports.AppConfig=O;exports.ContractCallArgumentType=Mt;exports.DEFAULT_PROVIDERS=Ae;exports.InstanceDataStore=G;exports.LOCALSTORAGE_SESSION_KEY=ut;exports.LocalStorageStore=Y;exports.SessionDataStore=h;exports.SignatureHash=F;exports.TransactionTypes=dt;exports.UserSession=T;exports.authenticate=Ne;exports.clearLocalStorage=ye;exports.defaultAuthURL=wo;exports.disconnect=Ke;exports.getDefaultProfileUpdateRequestOptions=Dt;exports.getDefaultPsbtRequestOptions=Vt;exports.getDefaultSignatureRequestOptions=mt;exports.getKeys=bt;exports.getLocalStorage=U;exports.getOrCreateUserSession=Pe;exports.getStacksProvider=l;exports.getStxAddress=Rt;exports.getUserData=ho;exports.getUserSession=_e;exports.hasAppPrivateKey=Et;exports.isAddressTaproot=Le;exports.isConnected=Je;exports.isMobile=Oo;exports.isStacksWalletInstalled=ft;exports.makeContractCallToken=_t;exports.makeContractDeployToken=kt;exports.makeProfileUpdateToken=yt;exports.makePsbtToken=Kt;exports.makeSTXTransferToken=Ut;exports.makeSignTransaction=zt;exports.openContractCall=Gt;exports.openContractDeploy=Qt;exports.openProfileUpdateRequestPopup=xt;exports.openPsbtRequestPopup=to;exports.openSTXTransfer=Bt;exports.openSignTransaction=qt;exports.openSignatureRequestPopup=Lt;exports.openStructuredDataSignatureRequestPopup=wt;exports.request=P;exports.requestRaw=w;exports.showBlockstackConnect=Ns;exports.showConnect=Zt;exports.showContractCall=Is;exports.showContractDeploy=xs;exports.showProfileUpdate=Ts;exports.showSTXTransfer=ys;exports.showSignMessage=Cs;exports.showSignStructuredMessage=Ls;exports.showSignTransaction=ms;exports.signMessage=Tt;exports.signStructuredMessage=Pt;//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map

@@ -11,4 +11,5 @@ export * from './auth';

export { request, requestRaw } from './request';
export { getLocalStorage, clearLocalStorage, StorageData, disconnect, isConnected, } from './storage';
export { getStacksProvider, isStacksWalletInstalled } from './utils';
export { clearSelectedProviderId, getSelectedProviderId, setSelectedProviderId, isProviderSelected, } from '@stacks/connect-ui';
export type { WebBTCProvider, WbipProvider } from '@stacks/connect-ui';

@@ -31,7 +31,46 @@ import { WbipProvider } from '@stacks/connect-ui';

enableOverrides?: boolean;
/**
* Enable local storage caching of addresses.
* Defaults to `true`.
*/
enableLocalStorage?: boolean;
}
export declare function requestRaw<M extends keyof MethodsRaw>(provider: StacksProvider, method: M, params?: MethodParamsRaw<M>): Promise<MethodResultRaw<M>>;
/**
* The main `request` method for interacting with wallets.
* This method adds automatic error handling, request parameter serialization, and optional local storage.
* For more advanced use cases, consider using the {@link requestRaw} method directly.
*
* @example
* ```
* // Send BTC
* const result = await request('sendTransfer', {
* recipients: [{
* address: 'bc1...',
* amount: 100_000_000n, // 1 BTC = 100,000,000 sats
* }],
* });
* ```
*
* @example
* ```
* // Optional features
* const result = await request({
* provider: MyCustomProvider,
* defaultProviders: [MyCustomProvider, ...],
* forceWalletSelect: false,
* persistWalletSelect: true,
* enableOverrides: true,
* enableLocalStorage: true,
* }, 'method', params);
* ```
*/
export declare function request<M extends keyof Methods>(method: M, params?: MethodParams<M>): Promise<MethodResult<M>>;
export declare function request<M extends keyof Methods>(options: ConnectRequestOptions, method: M, params?: MethodParams<M>): Promise<MethodResult<M>>;
/**
* Initiate a wallet connection and request addresses.
* Alias for `request` to `getAddresses` with `forceWalletSelect: true`.
*/
export declare function connect(options?: ConnectRequestOptions): Promise<import("./methods").GetAddressesResult>;
/**
* **Note:** Higher order function!

@@ -41,1 +80,6 @@ * @internal Legacy non-UI request.

export declare function requestRawLegacy<M extends keyof Methods, O, R>(method: M, mapOptions: (options: O) => MethodParams<M>, mapResponse: (response: MethodResult<M>) => R): (options: O, provider?: StacksProvider) => void;
/**
* @internal
* Simple function for serializing clarity object values to hex strings, in case wallets don't support them.
*/
export declare function serializeParams<M extends keyof Methods>(params: MethodParams<M>): MethodParams<M>;

@@ -18,4 +18,2 @@ import { StacksProvider } from './types';

export declare const showSignStructuredMessage: (options: import("./types").StructuredDataSignatureRequestOptions, provider?: StacksProvider) => void;
/** Disconnect selected wallet and clear session data. */
export declare function disconnect(): void;
export { getProvider as getSelectedProvider, isProviderSelected } from '@stacks/connect-ui';

@@ -22,0 +20,0 @@ /**

{
"name": "@stacks/connect",
"version": "8.0.3-alpha.f4e70a6.0",
"version": "8.1.0",
"license": "MIT",

@@ -20,3 +20,3 @@ "scripts": {

"@stacks/common": "^7.0.0",
"@stacks/connect-ui": "^7.0.1-alpha.f4e70a6.0",
"@stacks/connect-ui": "7.0.0",
"@stacks/network": "^7.0.0",

@@ -66,3 +66,3 @@ "@stacks/network-v6": "npm:@stacks/network@^6.16.0",

},
"gitHead": "365baf49355aad8cff0962ca6ca6c9e0ce478ddb"
"gitHead": "2486d6a42433771c88ffa9c87a047cd8c462ac68"
}

@@ -14,3 +14,3 @@ # `@stacks/connect` [![npm](https://img.shields.io/npm/v/@stacks/connect)](https://www.npmjs.com/package/@stacks/connect) <!-- omit in toc -->

## Getting Started <!-- omit in toc -->
## Usage <!-- omit in toc -->

@@ -27,5 +27,44 @@ > Try the [Connect Method Demo App 🏁](https://connect-hirosystems.vercel.app/iframe?id=connect-connect--default&viewMode=story) to see which methods/features are available for wallets

### Connect to a wallet <!-- omit in toc -->
Initiate a wallet connection and request addresses.
```ts
import { connect } from '@stacks/connect';
const response = await connect(); // stores users address in local storage by default
```
Get the local storage data (stored by a `connect` call).
```ts
import { getLocalStorage } from '@stacks/connect';
const data = getLocalStorage();
// {
// "addresses": {
// "stx": [
// { "address": "SP2MF04VAGYHGAZWGTEDW5VYCPDWWSY08Z1QFNDSN" },
// ],
// "btc": [
// { "address": "bc1pp3ha248m0mnaevhp0txfxj5xaxmy03h0j7zuj2upg34mt7s7e32q7mdfae" },
// ]
// }
```
Managing the connection state.
```ts
import { connect, disconnect, isConnected } from '@stacks/connect';
isConnected(); // false
await connect(); // similar to the `getAddresses` method
isConnected(); // true
disconnect(); // clears local storage and selected wallet
isConnected(); // false
```
### Use `request` to trigger wallet interactions <!-- omit in toc -->
```js
```ts
import { request } from '@stacks/connect';

@@ -52,3 +91,3 @@

```js
```ts
const response = await request('getAddresses');

@@ -110,3 +149,3 @@ // {

```js
```ts
const response = await request('stx_getAddresses');

@@ -133,3 +172,3 @@ // {

```js
```ts
const response = await request('stx_getAccounts');

@@ -150,3 +189,3 @@ // {

```js
```ts
const response = await request('stx_transferStx', {

@@ -165,3 +204,3 @@ amount: '1000', // amount in micro-STX (1 STX = 1,000,000 micro-STX)

```js
```ts
const response = await request('stx_callContract', {

@@ -180,3 +219,3 @@ contract: 'SP2MF04VAGYHGAZWGTEDW5VYCPDWWSY08Z1QFNDSN.counters', // contract in format: address.contract-name

```js
```ts
const response = await request('stx_deployContract', {

@@ -203,3 +242,3 @@ name: 'counters', // name of the contract

```js
```ts
const response = await request('stx_signMessage', {

@@ -216,3 +255,3 @@ message: 'Hello, World!', // message to sign

```js
```ts
const clarityMessage = Cl.parse('{ structured: "message", num: u3 }');

@@ -234,1 +273,44 @@ const clarityDomain = Cl.tuple({

```
## Advanced Usage
### `request`
The `request` method is called with an optional options object as the first parameter:
```ts
import { request } from '@stacks/connect';
// WITH options
const response = await request(
{
provider?: StacksProvider; // Custom provider to use for the request
defaultProviders?: WbipProvider[]; // Default wallets to display in modal
forceWalletSelect?: boolean; // Force user to select a wallet (default: false)
persistWalletSelect?: boolean; // Persist selected wallet (default: true)
enableOverrides?: boolean; // Enable provider compatibility (default: true)
},
'method',
params
);
// WITHOUT options
const response = await request('method', params);
```
> The `enableOverrides` option enables automatic compatibility fixes for different wallet providers.
> For example, it handles converting numeric types between string and number formats as needed by different wallets, and remaps certain method names to match wallet-specific implementations.
> This ensures consistent behavior across different wallet providers without requiring manual adjustments.
### `requestRaw`
The `requestRaw` method provides direct access to wallet providers without the additional features of `request`:
```ts
import { requestRaw } from '@stacks/connect';
const response = await requestRaw(provider, 'method', params);
```
> Note: `requestRaw` bypasses the UI wallet selector, automatic provider compatibility fixes, and other features that come with `request`.
> Use this when you need more manual control over the wallet interaction process.

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc