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
4
Versions
745
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 7.4.2 to 7.4.3-alpha.a82b2d4.0

dist/types/stories/Connect.stories.d.ts

89

dist/index.js

@@ -5,2 +5,3 @@ 'use strict';

var jsontokens = require('jsontokens');
var connectUi = require('@stacks/connect-ui');
var network = require('@stacks/network');

@@ -10,40 +11,62 @@ var transactions = require('@stacks/transactions');

var X=Object.defineProperty,_=Object.defineProperties;var M=Object.getOwnPropertyDescriptors;var P=Object.getOwnPropertySymbols;var D=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable;var b=(e,t,n)=>t in e?X(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,a=(e,t)=>{for(var n in t||(t={}))D.call(t,n)&&b(e,n,t[n]);if(P)for(var n of P(t))B.call(t,n)&&b(e,n,t[n]);return e},c=(e,t)=>_(e,M(t));var f=(e,t)=>{var n={};for(var r in e)D.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&P)for(var r of P(e))t.indexOf(r)<0&&B.call(e,r)&&(n[r]=e[r]);return n};function d(){return window.StacksProvider||window.BlockstackProvider}function zt(){return !!d()}var Qt="https://app.blockstack.org",R="7.4.2";typeof window!="undefined"&&(window.__CONNECT_VERSION__=R);var J=()=>{let e=navigator.userAgent;return /android/i.test(e)||/iPad|iPhone|iPod/.test(e)?!0:/windows phone/i.test(e)},Zt=()=>!J(),A=e=>{if(!e){let t=new auth.AppConfig(["store_write"],document.location.href);e=new auth.UserSession({appConfig:t});}return e},U=async(e,t=d())=>{if(!t)throw new Error("[Connect] No installed Stacks wallet found");let{redirectTo:n="/",manifestPath:r,onFinish:s,onCancel:o,sendToSignIn:i=!1,userSession:p,appDetails:u}=e,l=A(p);l.isUserSignedIn()&&l.signUserOut();let S=l.generateAndStoreTransitKey(),F=l.makeAuthRequest(S,`${document.location.origin}${n}`,`${document.location.origin}${r}`,l.appConfig.scopes,void 0,void 0,{sendToSignIn:i,appDetails:u,connectVersion:R});try{let T=await t.authenticationRequest(F);await l.handlePendingSignIn(T);let k=jsontokens.decodeToken(T),$=k==null?void 0:k.payload;s==null||s({authResponse:T,authResponsePayload:$,userSession:l});}catch(T){console.error("[Connect] Error during auth request",T),o==null||o();}},te=async e=>(e=A(e),e.isUserSignedIn()?e.loadUserData():e.isSignInPending()?e.handlePendingSignIn():null);var z=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function m(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let n of e)t+=z[n];return t}function I(e){if(typeof e!="string")throw new TypeError(`hexToBytes: expected string, got ${typeof e}`);let t=e.length%2?`0${e}`:e,n=new Uint8Array(t.length/2);for(let r=0;r<n.length;r++){let s=r*2,o=t.slice(s,s+2),i=Number.parseInt(o,16);if(Number.isNaN(i)||i<0)throw new Error("Invalid byte sequence");n[r]=i;}return n}var Y=(r=>(r.ContractCall="contract_call",r.ContractDeploy="smart_contract",r.STXTransfer="token_transfer",r))(Y||{}),H=(o=>(o.BUFFER="buffer",o.UINT="uint",o.INT="int",o.PRINCIPAL="principal",o.BOOL="bool",o))(H||{});var x=e=>{let t=e;if(!t){let n=new auth.AppConfig(["store_write"],document.location.href);t=new auth.UserSession({appConfig:n});}return t};function g(e){try{return x(e).loadUserData().appPrivateKey}catch(t){return !1}}var y=e=>{let n=x(e).loadUserData().appPrivateKey,r=jsontokens.SECP256K1Client.derivePublicKey(n);return {privateKey:n,publicKey:r}};function st(e){var p;let{stxAddress:t,userSession:n,network:r}=e;if(t)return t;if(!n||!r)return;let s=(p=n==null?void 0:n.loadUserData().profile)==null?void 0:p.stxAddress,o={[transactions.ChainID.Mainnet]:"mainnet",[transactions.ChainID.Testnet]:"testnet"};return s==null?void 0:s[o[r.chainId]]}function at(e){let t=e.network||new network.StacksTestnet,n=x(e.userSession),r=c(a({},e),{network:t,userSession:n});return a({stxAddress:st(r)},r)}function E(e){return e.map(t=>m(transactions.serializePostCondition(t)))}async function h(e,t){let{postConditions:n}=e;return n&&typeof n[0]!="string"&&(n=E(n)),new jsontokens.TokenSigner("ES256k",t).signAsync(c(a({},e),{postConditions:n}))}function w(e){let{postConditions:t}=e;return t&&typeof t[0]!="string"&&(t=E(t)),jsontokens.createUnsecuredToken(c(a({},e),{postConditions:t}))}var it=async({token:e,options:t},n)=>{var r,s,o;try{let i=await n.transactionRequest(e),{txRaw:p}=i,u=I(p.replace(/^0x/,"")),l=transactions.deserializeTransaction(u);if("sponsored"in t&&t.sponsored){(r=t.onFinish)==null||r.call(t,c(a({},i),{stacksTransaction:l}));return}(s=t.onFinish)==null||s.call(t,c(a({},i),{stacksTransaction:l}));}catch(i){console.error("[Connect] Error during transaction request",i),(o=t.onCancel)==null||o.call(t);}},ct=async e=>{let p=e,{functionArgs:t,appDetails:n,userSession:r}=p,s=f(p,["functionArgs","appDetails","userSession"]),o=t.map(u=>typeof u=="string"?u:m(transactions.serializeCV(u)));if(g(r)){let{privateKey:u,publicKey:l}=y(r),S=c(a({},s),{functionArgs:o,txType:"contract_call",publicKey:l});return n&&(S.appDetails=n),h(S,u)}let i=c(a({},s),{functionArgs:o,txType:"contract_call"});return n&&(i.appDetails=n),w(i)},pt=async e=>{let o=e,{appDetails:t,userSession:n}=o,r=f(o,["appDetails","userSession"]);if(g(n)){let{privateKey:i,publicKey:p}=y(n),u=c(a({},r),{publicKey:p,txType:"smart_contract"});return t&&(u.appDetails=t),h(u,i)}let s=c(a({},r),{txType:"smart_contract"});return t&&(s.appDetails=t),w(s)},ut=async e=>{let i=e,{amount:t,appDetails:n,userSession:r}=i,s=f(i,["amount","appDetails","userSession"]);if(g(r)){let{privateKey:p,publicKey:u}=y(r),l=c(a({},s),{amount:t.toString(10),publicKey:u,txType:"token_transfer"});return n&&(l.appDetails=n),h(l,p)}let o=c(a({},s),{amount:t.toString(10),txType:"token_transfer"});return n&&(o.appDetails=n),w(o)},lt=async e=>{let i=e,{txHex:t,appDetails:n,userSession:r}=i,s=f(i,["txHex","appDetails","userSession"]);if(g(r)){let{privateKey:p,publicKey:u}=y(r),l=c(a({},s),{txHex:t,publicKey:u});return n&&(l.appDetails=n),h(l,p)}let o=c(a({},s),{txHex:t});return n&&(o.appDetails=n),w(o)};async function C(e,t,n){let r=await t(a(a({},at(e)),e));return it({token:r,options:e},n)}function de(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return C(e,ct,t)}function fe(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return C(e,pt,t)}function ge(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return C(e,ut,t)}function ye(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return C(e,lt,t)}async function yt(e,t){return new jsontokens.TokenSigner("ES256k",t).signAsync(a({},e))}function xt(e){let t=e.network||new network.StacksTestnet,n=x(e.userSession),r=c(a({},e),{network:t,userSession:n});return a({},r)}async function St({token:e,options:t},n){var r,s;if(!n)throw new Error("[Connect] No installed Stacks wallet found");try{let o=await n.psbtRequest(e);(r=t.onFinish)==null||r.call(t,o);}catch(o){console.error("[Connect] Error during psbt request",o),(s=t.onCancel)==null||s.call(t);}}var mt=async e=>{let p=e,{allowedSighash:t,hex:n,signAtIndex:r,userSession:s}=p,o=f(p,["allowedSighash","hex","signAtIndex","userSession"]);if(g(s)){let{privateKey:u,publicKey:l}=y(s),S=c(a({},o),{allowedSighash:t,hex:n,signAtIndex:r,publicKey:l});return yt(S,u)}let i=a({},o);return jsontokens.createUnsecuredToken(i)};async function Tt(e,t,n){let r=await t(a(a({},xt(e)),e));return St({token:r,options:e},n)}function Ce(e,t=d()){return Tt(e,mt,t)}function Ct(e){var i;let{userSession:t,network:n}=e;if(!t||!n)return;let r=(i=t==null?void 0:t.loadUserData().profile)==null?void 0:i.stxAddress,s={[transactions.ChainID.Mainnet]:"mainnet",[transactions.ChainID.Testnet]:"testnet"};return r==null?void 0:r[s[n.chainId]]}async function kt(e,t){return new jsontokens.TokenSigner("ES256k",t).signAsync(a({},e))}function O(e){let t=e.network||new network.StacksTestnet,n=x(e.userSession),r=c(a({},e),{network:t,userSession:n});return a({stxAddress:Ct(r)},r)}async function Ot({token:e,options:t},n){var r,s;try{let o=await n.signatureRequest(e);(r=t.onFinish)==null||r.call(t,o);}catch(o){console.error("[Connect] Error during signature request",o),(s=t.onCancel)==null||s.call(t);}}var bt=async e=>{let s=e,{userSession:t}=s,n=f(s,["userSession"]);if(g(t)){let{privateKey:o,publicKey:i}=y(t),p=c(a({},n),{publicKey:i});return kt(p,o)}let r=a({},n);return jsontokens.createUnsecuredToken(r)};async function Dt(e,t,n){let r=await t(a(a({},O(e)),e));return Ot({token:r,options:e},n)}function Ue(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return Dt(e,bt,t)}async function At(e,t,n){let r=await t(a(a({},O(e)),e));return vt({token:r,options:e},n)}function N(e){return c(a({},e),{message:m(transactions.serializeCV(e.message)),domain:m(transactions.serializeCV(e.domain))})}async function Ut(e,t){return new jsontokens.TokenSigner("ES256k",t).signAsync(N(e))}async function It(e){let r=e,{userSession:t}=r,n=f(r,["userSession"]);if(g(t)){let{privateKey:s,publicKey:o}=y(t),i=c(a({},n),{publicKey:o});return Ut(i,s)}return jsontokens.createUnsecuredToken(N(e))}async function vt({token:e,options:t},n){var r,s;try{let o=await n.structuredDataSignatureRequest(e);(r=t.onFinish)==null||r.call(t,o);}catch(o){console.error("[Connect] Error during signature request",o),(s=t.onCancel)==null||s.call(t);}}function Xe(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return At(e,It,t)}async function Nt(e,t){return new jsontokens.TokenSigner("ES256k",t).signAsync(a({},e))}function Ft(e){let t=e.network||new network.StacksTestnet,n=x(e.userSession),r=c(a({},e),{network:t,userSession:n});return a({},r)}async function $t({token:e,options:t},n){var r,s;try{let o=await n.profileUpdateRequest(e);(r=t.onFinish)==null||r.call(t,o);}catch(o){console.error("[Connect] Error during signature request",o),(s=t.onCancel)==null||s.call(t);}}var Xt=async e=>{let o=e,{userSession:t,profile:n}=o,r=f(o,["userSession","profile"]);if(g(t)){let{privateKey:i,publicKey:p}=y(t),u=c(a({},r),{profile:n,publicKey:p});return Nt(u,i)}let s=a({},r);return jsontokens.createUnsecuredToken(s)};async function _t(e,t,n){let r=await t(a(a({},Ft(e)),e));return $t({token:r,options:e},n)}function Ye(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return _t(e,Xt,t)}var Mt=(o=>(o[o.DEFAULT=0]="DEFAULT",o[o.ALL=1]="ALL",o[o.NONE=2]="NONE",o[o.SINGLE=3]="SINGLE",o[o.ANYONECANPAY=128]="ANYONECANPAY",o))(Mt||{});var Vt=(e,t=d())=>{if(t){U(e,t);return}if(typeof window!==void 0){loader.defineCustomElements(window);let n=document.createElement("connect-modal");n.authOptions=e,document.body.appendChild(n);let r=s=>{s.key==="Escape"&&(document.removeEventListener("keydown",r),n.remove());};document.addEventListener("keydown",r);}},en=e=>Vt(e);
var W=Object.defineProperty,V=Object.defineProperties;var Z=Object.getOwnPropertyDescriptors;var w=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var I=(e,t,n)=>t in e?W(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,i=(e,t)=>{for(var n in t||(t={}))N.call(t,n)&&I(e,n,t[n]);if(w)for(var n of w(t))A.call(t,n)&&I(e,n,t[n]);return e},p=(e,t)=>V(e,Z(t));var g=(e,t)=>{var n={};for(var r in e)N.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&w)for(var r of w(e))t.indexOf(r)<0&&A.call(e,r)&&(n[r]=e[r]);return n};function d(){return window[connectUi.getSelectedProvider()]||window.StacksProvider||window.BlockstackProvider}function ce(){return !!d()}var ge="https://app.blockstack.org",k="7.4.3-alpha.a82b2d4.0";typeof window!="undefined"&&(window.__CONNECT_VERSION__=k);var nt=()=>{let e=navigator.userAgent;return /android/i.test(e)||/iPad|iPhone|iPod/.test(e)?!0:/windows phone/i.test(e)},fe=()=>!nt(),b=e=>{if(!e){let t=new auth.AppConfig(["store_write"],document.location.href);e=new auth.UserSession({appConfig:t});}return e},U=async(e,t=d())=>{if(!t)throw new Error("[Connect] No installed Stacks wallet found");let{redirectTo:n="/",manifestPath:r,onFinish:s,onCancel:o,sendToSignIn:a=!1,userSession:c,appDetails:u}=e,l=b(c);l.isUserSignedIn()&&l.signUserOut();let T=l.generateAndStoreTransitKey(),_=l.makeAuthRequest(T,`${document.location.origin}${n}`,`${document.location.origin}${r}`,l.appConfig.scopes,void 0,void 0,{sendToSignIn:a,appDetails:u,connectVersion:k});try{let P=await t.authenticationRequest(_);await l.handlePendingSignIn(P);let M=jsontokens.decodeToken(P),G=M==null?void 0:M.payload;s==null||s({authResponse:P,authResponsePayload:G,userSession:l});}catch(P){console.error("[Connect] Error during auth request",P),o==null||o();}},ye=async e=>(e=b(e),e.isUserSignedIn()?e.loadUserData():e.isSignInPending()?e.handlePendingSignIn():null);var rt=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function m(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let n of e)t+=rt[n];return t}function j(e){if(typeof e!="string")throw new TypeError(`hexToBytes: expected string, got ${typeof e}`);let t=e.length%2?`0${e}`:e,n=new Uint8Array(t.length/2);for(let r=0;r<n.length;r++){let s=r*2,o=t.slice(s,s+2),a=Number.parseInt(o,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");n[r]=a;}return n}var ot=(r=>(r.ContractCall="contract_call",r.ContractDeploy="smart_contract",r.STXTransfer="token_transfer",r))(ot||{}),st=(o=>(o.BUFFER="buffer",o.UINT="uint",o.INT="int",o.PRINCIPAL="principal",o.BOOL="bool",o))(st||{});var S=e=>{let t=e;if(!t){let n=new auth.AppConfig(["store_write"],document.location.href);t=new auth.UserSession({appConfig:n});}return t};function f(e){try{return S(e).loadUserData().appPrivateKey}catch(t){return !1}}var y=e=>{let n=S(e).loadUserData().appPrivateKey,r=jsontokens.SECP256K1Client.derivePublicKey(n);return {privateKey:n,publicKey:r}};function yt(e){var c;let{stxAddress:t,userSession:n,network:r}=e;if(t)return t;if(!n||!r)return;let s=(c=n==null?void 0:n.loadUserData().profile)==null?void 0:c.stxAddress,o={[transactions.ChainID.Mainnet]:"mainnet",[transactions.ChainID.Testnet]:"testnet"};return s==null?void 0:s[o[r.chainId]]}function St(e){let t=e.network||new network.StacksTestnet,n=S(e.userSession),r=p(i({},e),{network:t,userSession:n});return i({stxAddress:yt(r)},r)}function E(e){return e.map(t=>m(transactions.serializePostCondition(t)))}async function h(e,t){let{postConditions:n}=e;return n&&typeof n[0]!="string"&&(n=E(n)),new jsontokens.TokenSigner("ES256k",t).signAsync(p(i({},e),{postConditions:n}))}function D(e){let{postConditions:t}=e;return t&&typeof t[0]!="string"&&(t=E(t)),jsontokens.createUnsecuredToken(p(i({},e),{postConditions:t}))}var xt=async({token:e,options:t},n)=>{var r,s,o;try{let a=await n.transactionRequest(e),{txRaw:c}=a,u=j(c.replace(/^0x/,"")),l=transactions.deserializeTransaction(u);if("sponsored"in t&&t.sponsored){(r=t.onFinish)==null||r.call(t,p(i({},a),{stacksTransaction:l}));return}(s=t.onFinish)==null||s.call(t,p(i({},a),{stacksTransaction:l}));}catch(a){console.error("[Connect] Error during transaction request",a),(o=t.onCancel)==null||o.call(t);}},Tt=async e=>{let c=e,{functionArgs:t,appDetails:n,userSession:r}=c,s=g(c,["functionArgs","appDetails","userSession"]),o=t.map(u=>typeof u=="string"?u:m(transactions.serializeCV(u)));if(f(r)){let{privateKey:u,publicKey:l}=y(r),T=p(i({},s),{functionArgs:o,txType:"contract_call",publicKey:l});return n&&(T.appDetails=n),h(T,u)}let a=p(i({},s),{functionArgs:o,txType:"contract_call"});return n&&(a.appDetails=n),D(a)},mt=async e=>{let o=e,{appDetails:t,userSession:n}=o,r=g(o,["appDetails","userSession"]);if(f(n)){let{privateKey:a,publicKey:c}=y(n),u=p(i({},r),{publicKey:c,txType:"smart_contract"});return t&&(u.appDetails=t),h(u,a)}let s=p(i({},r),{txType:"smart_contract"});return t&&(s.appDetails=t),D(s)},Pt=async e=>{let a=e,{amount:t,appDetails:n,userSession:r}=a,s=g(a,["amount","appDetails","userSession"]);if(f(r)){let{privateKey:c,publicKey:u}=y(r),l=p(i({},s),{amount:t.toString(10),publicKey:u,txType:"token_transfer"});return n&&(l.appDetails=n),h(l,c)}let o=p(i({},s),{amount:t.toString(10),txType:"token_transfer"});return n&&(o.appDetails=n),D(o)},wt=async e=>{let a=e,{txHex:t,appDetails:n,userSession:r}=a,s=g(a,["txHex","appDetails","userSession"]);if(f(r)){let{privateKey:c,publicKey:u}=y(r),l=p(i({},s),{txHex:t,publicKey:u});return n&&(l.appDetails=n),h(l,c)}let o=p(i({},s),{txHex:t});return n&&(o.appDetails=n),D(o)};async function C(e,t,n){let r=await t(i(i({},St(e)),e));return xt({token:r,options:e},n)}function R(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return C(e,Tt,t)}function v(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return C(e,mt,t)}function B(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return C(e,Pt,t)}function z(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return C(e,wt,t)}async function Mt(e,t){return new jsontokens.TokenSigner("ES256k",t).signAsync(i({},e))}function Ot(e){let t=e.network||new network.StacksTestnet,n=S(e.userSession),r=p(i({},e),{network:t,userSession:n});return i({},r)}async function It({token:e,options:t},n){var r,s;if(!n)throw new Error("[Connect] No installed Stacks wallet found");try{let o=await n.psbtRequest(e);(r=t.onFinish)==null||r.call(t,o);}catch(o){console.error("[Connect] Error during psbt request",o),(s=t.onCancel)==null||s.call(t);}}var Nt=async e=>{let c=e,{allowedSighash:t,hex:n,signAtIndex:r,userSession:s}=c,o=g(c,["allowedSighash","hex","signAtIndex","userSession"]);if(f(s)){let{privateKey:u,publicKey:l}=y(s),T=p(i({},o),{allowedSighash:t,hex:n,signAtIndex:r,publicKey:l});return Mt(T,u)}let a=i({},o);return jsontokens.createUnsecuredToken(a)};async function At(e,t,n){let r=await t(i(i({},Ot(e)),e));return It({token:r,options:e},n)}function q(e,t=d()){return At(e,Nt,t)}function jt(e){var a;let{userSession:t,network:n}=e;if(!t||!n)return;let r=(a=t==null?void 0:t.loadUserData().profile)==null?void 0:a.stxAddress,s={[transactions.ChainID.Mainnet]:"mainnet",[transactions.ChainID.Testnet]:"testnet"};return r==null?void 0:r[s[n.chainId]]}async function Lt(e,t){return new jsontokens.TokenSigner("ES256k",t).signAsync(i({},e))}function O(e){let t=e.network||new network.StacksTestnet,n=S(e.userSession),r=p(i({},e),{network:t,userSession:n});return i({stxAddress:jt(r)},r)}async function Et({token:e,options:t},n){var r,s;try{let o=await n.signatureRequest(e);(r=t.onFinish)==null||r.call(t,o);}catch(o){console.error("[Connect] Error during signature request",o),(s=t.onCancel)==null||s.call(t);}}var Rt=async e=>{let s=e,{userSession:t}=s,n=g(s,["userSession"]);if(f(t)){let{privateKey:o,publicKey:a}=y(t),c=p(i({},n),{publicKey:a});return Lt(c,o)}let r=i({},n);return jsontokens.createUnsecuredToken(r)};async function vt(e,t,n){let r=await t(i(i({},O(e)),e));return Et({token:r,options:e},n)}function F(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return vt(e,Rt,t)}async function qt(e,t,n){let r=await t(i(i({},O(e)),e));return Kt({token:r,options:e},n)}function Y(e){return p(i({},e),{message:m(transactions.serializeCV(e.message)),domain:m(transactions.serializeCV(e.domain))})}async function Qt(e,t){return new jsontokens.TokenSigner("ES256k",t).signAsync(Y(e))}async function Ft(e){let r=e,{userSession:t}=r,n=g(r,["userSession"]);if(f(t)){let{privateKey:s,publicKey:o}=y(t),a=p(i({},n),{publicKey:o});return Qt(a,s)}return jsontokens.createUnsecuredToken(Y(e))}async function Kt({token:e,options:t},n){var r,s;try{let o=await n.structuredDataSignatureRequest(e);(r=t.onFinish)==null||r.call(t,o);}catch(o){console.error("[Connect] Error during signature request",o),(s=t.onCancel)==null||s.call(t);}}function X(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return qt(e,Ft,t)}async function _t(e,t){return new jsontokens.TokenSigner("ES256k",t).signAsync(i({},e))}function Gt(e){let t=e.network||new network.StacksTestnet,n=S(e.userSession),r=p(i({},e),{network:t,userSession:n});return i({},r)}async function Wt({token:e,options:t},n){var r,s;try{let o=await n.profileUpdateRequest(e);(r=t.onFinish)==null||r.call(t,o);}catch(o){console.error("[Connect] Error during signature request",o),(s=t.onCancel)==null||s.call(t);}}var Vt=async e=>{let o=e,{userSession:t,profile:n}=o,r=g(o,["userSession","profile"]);if(f(t)){let{privateKey:a,publicKey:c}=y(t),u=p(i({},r),{profile:n,publicKey:c});return _t(u,a)}let s=i({},r);return jsontokens.createUnsecuredToken(s)};async function Zt(e,t,n){let r=await t(i(i({},Gt(e)),e));return Wt({token:r,options:e},n)}function $(e,t=d()){if(!t)throw new Error("[Connect] No installed Stacks wallet found");return Zt(e,Vt,t)}var Jt=(o=>(o[o.DEFAULT=0]="DEFAULT",o[o.ALL=1]="ALL",o[o.NONE=2]="NONE",o[o.SINGLE=3]="SINGLE",o[o.ANYONECANPAY=128]="ANYONECANPAY",o))(Jt||{});var re=[{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://addons.mozilla.org/en-US/firefox/addon/hiro-wallet",googlePlayStoreUrl:"https://play.google.com/store/apps/details?id=io.hiro.wallet",iOSAppStoreUrl:"https://apps.apple.com/app/hiro-wallet/id1492380872"},{id:"XverseProviders.StacksProvider",name:"Xverse Wallet",icon:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MDAiIGhlaWdodD0iNjAwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiMxNzE3MTciIGQ9Ik0wIDBoNjAwdjYwMEgweiIvPjxwYXRoIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTQ0MCA0MzUuNHYtNTFjMC0yLS44LTMuOS0yLjItNS4zTDIyMCAxNjIuMmE3LjYgNy42IDAgMCAwLTUuNC0yLjJoLTUxLjFjLTIuNSAwLTQuNiAyLTQuNiA0LjZ2NDcuM2MwIDIgLjggNCAyLjIgNS40bDc4LjIgNzcuOGE0LjYgNC42IDAgMCAxIDAgNi41bC03OSA3OC43Yy0xIC45LTEuNCAyLTEuNCAzLjJ2NTJjMCAyLjQgMiA0LjUgNC42IDQuNUgyNDljMi42IDAgNC42LTIgNC42LTQuNlY0MDVjMC0xLjIuNS0yLjQgMS40LTMuM2w0Mi40LTQyLjJhNC42IDQuNiAwIDAgMSA2LjQgMGw3OC43IDc4LjRhNy42IDcuNiAwIDAgMCA1LjQgMi4yaDQ3LjVjMi41IDAgNC42LTIgNC42LTQuNloiLz48cGF0aCBmaWxsPSIjRUU3QTMwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0zMjUuNiAyMjcuMmg0Mi44YzIuNiAwIDQuNiAyLjEgNC42IDQuNnY0Mi42YzAgNCA1IDYuMSA4IDMuMmw1OC43LTU4LjVjLjgtLjggMS4zLTIgMS4zLTMuMnYtNTEuMmMwLTIuNi0yLTQuNi00LjYtNC42TDM4NCAxNjBjLTEuMiAwLTIuNC41LTMuMyAxLjNsLTU4LjQgNTguMWE0LjYgNC42IDAgMCAwIDMuMiA3LjhaIi8+PC9nPjwvc3ZnPg==",webUrl:"https://www.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"}];function x(e){return function(n,r){var l;if(r||connectUi.getSelectedProvider())return e(n,r);if(typeof window=="undefined")return;loader.defineCustomElements(window);let o=(l=n==null?void 0:n.defaultProviders)!=null?l:re,a=connectUi.getInstalledProviders(o),c=document.createElement("connect-modal");c.defaultProviders=o,c.installedProviders=a,c.callback=()=>e(n,r),document.body.appendChild(c);let u=T=>{T.key==="Escape"&&(document.removeEventListener("keydown",u),c.remove());};document.addEventListener("keydown",u);}}var oe=x(U),yn=x(B),Sn=x(R),xn=x(v),Tn=x(z),mn=x(q),Pn=x($),wn=x(F),hn=x(X),Dn=connectUi.clearSelectedProvider(),Cn=oe;
exports.ContractCallArgumentType = H;
exports.SignatureHash = Mt;
exports.TransactionTypes = Y;
Object.defineProperty(exports, 'clearSelectedProvider', {
enumerable: true,
get: function () { return connectUi.clearSelectedProvider; }
});
Object.defineProperty(exports, 'getSelectedProvider', {
enumerable: true,
get: function () { return connectUi.getSelectedProvider; }
});
Object.defineProperty(exports, 'setSelectedProvider', {
enumerable: true,
get: function () { return connectUi.setSelectedProvider; }
});
exports.ContractCallArgumentType = st;
exports.DEFAULT_PROVIDERS = re;
exports.SignatureHash = Jt;
exports.TransactionTypes = ot;
exports.authenticate = U;
exports.defaultAuthURL = Qt;
exports.getDefaultProfileUpdateRequestOptions = Ft;
exports.getDefaultPsbtRequestOptions = xt;
exports.defaultAuthURL = ge;
exports.disconnect = Dn;
exports.getDefaultProfileUpdateRequestOptions = Gt;
exports.getDefaultPsbtRequestOptions = Ot;
exports.getDefaultSignatureRequestOptions = O;
exports.getKeys = y;
exports.getOrCreateUserSession = A;
exports.getOrCreateUserSession = b;
exports.getStacksProvider = d;
exports.getStxAddress = st;
exports.getUserData = te;
exports.getUserSession = x;
exports.hasAppPrivateKey = g;
exports.isMobile = J;
exports.isStacksWalletInstalled = zt;
exports.makeContractCallToken = ct;
exports.makeContractDeployToken = pt;
exports.makeProfileUpdateToken = Xt;
exports.makePsbtToken = mt;
exports.makeSTXTransferToken = ut;
exports.makeSignTransaction = lt;
exports.openContractCall = de;
exports.openContractDeploy = fe;
exports.openProfileUpdateRequestPopup = Ye;
exports.openPsbtRequestPopup = Ce;
exports.openSTXTransfer = ge;
exports.openSignTransaction = ye;
exports.openSignatureRequestPopup = Ue;
exports.openStructuredDataSignatureRequestPopup = Xe;
exports.shouldUsePopup = Zt;
exports.showBlockstackConnect = en;
exports.showConnect = Vt;
exports.signMessage = bt;
exports.signStructuredMessage = It;
exports.getStxAddress = yt;
exports.getUserData = ye;
exports.getUserSession = S;
exports.hasAppPrivateKey = f;
exports.isMobile = nt;
exports.isStacksWalletInstalled = ce;
exports.makeContractCallToken = Tt;
exports.makeContractDeployToken = mt;
exports.makeProfileUpdateToken = Vt;
exports.makePsbtToken = Nt;
exports.makeSTXTransferToken = Pt;
exports.makeSignTransaction = wt;
exports.openContractCall = R;
exports.openContractDeploy = v;
exports.openProfileUpdateRequestPopup = $;
exports.openPsbtRequestPopup = q;
exports.openSTXTransfer = B;
exports.openSignTransaction = z;
exports.openSignatureRequestPopup = F;
exports.openStructuredDataSignatureRequestPopup = X;
exports.shouldUsePopup = fe;
exports.showBlockstackConnect = Cn;
exports.showConnect = oe;
exports.showContractCall = Sn;
exports.showContractDeploy = xn;
exports.showProfileUpdate = Pn;
exports.showPsbt = mn;
exports.showSTXTransfer = yn;
exports.showSignMessage = wn;
exports.showSignStructuredMessage = hn;
exports.showSignTransaction = Tn;
exports.signMessage = Rt;
exports.signStructuredMessage = Ft;
Object.keys(auth).forEach(function (k) {

@@ -50,0 +73,0 @@ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {

@@ -11,1 +11,2 @@ export * from './auth';

export * from '@stacks/auth';
export { clearSelectedProvider, getSelectedProvider, setSelectedProvider, } from '@stacks/connect-ui';

@@ -0,7 +1,31 @@

import { WebBTCProvider } from '@stacks/connect-ui';
import { ContractCallOptions, ContractDeployOptions, ProfileUpdateRequestOptions, PsbtRequestOptions, STXTransferOptions, SignatureRequestOptions, StacksProvider, StructuredDataSignatureRequestOptions, TransactionOptions } from './types';
import type { AuthOptions } from './types/auth';
import { StacksProvider } from './types';
export declare const showConnect: (authOptions: AuthOptions, provider?: StacksProvider) => void;
export declare const DEFAULT_PROVIDERS: WebBTCProvider[];
export type ActionOptions = (AuthOptions | STXTransferOptions | ContractCallOptions | ContractDeployOptions | TransactionOptions | PsbtRequestOptions | ProfileUpdateRequestOptions | SignatureRequestOptions | StructuredDataSignatureRequestOptions) & {
defaultProviders?: WebBTCProvider[];
};
/** A wrapper for selecting a wallet (if none is selected) and then calling the {@link authenticate} action. */
export declare const showConnect: (o: AuthOptions, p?: StacksProvider) => any;
/** A wrapper for selecting a wallet (if none is selected) and then calling the {@link openSTXTransfer} action. */
export declare const showSTXTransfer: (o: STXTransferOptions, p?: StacksProvider) => any;
/** A wrapper for selecting a wallet (if none is selected) and then calling the {@link openContractCall} action. */
export declare const showContractCall: (o: ContractCallOptions, p?: StacksProvider) => any;
/** A wrapper for selecting a wallet (if none is selected) and then calling the {@link openContractDeploy} action. */
export declare const showContractDeploy: (o: ContractDeployOptions, p?: StacksProvider) => any;
/** A wrapper for selecting a wallet (if none is selected) and then calling the {@link openSignTransaction} action. */
export declare const showSignTransaction: (o: import("./types").SignTransactionOptionBase, p?: StacksProvider) => any;
/** A wrapper for selecting a wallet (if none is selected) and then calling the {@link openPsbtRequestPopup} action. */
export declare const showPsbt: (o: PsbtRequestOptions, p?: StacksProvider) => any;
/** A wrapper for selecting a wallet (if none is selected) and then calling the {@link openProfileUpdateRequestPopup} action. */
export declare const showProfileUpdate: (o: ProfileUpdateRequestOptions, p?: StacksProvider) => any;
/** A wrapper for selecting a wallet (if none is selected) and then calling the {@link openSignatureRequestPopup} action. */
export declare const showSignMessage: (o: SignatureRequestOptions, p?: StacksProvider) => any;
/** A wrapper for selecting a wallet (if none is selected) and then calling the {@link openStructuredDataSignatureRequestPopup} action. */
export declare const showSignStructuredMessage: (o: StructuredDataSignatureRequestOptions, p?: StacksProvider) => any;
/** Disconnect selected wallet. Alias for {@link clearSelectedProvider} */
export declare const disconnect: void;
/**
* @deprecated Use the renamed `showConnect` method
* @deprecated Use the renamed {@link showConnect} method
*/
export declare const showBlockstackConnect: (authOptions: AuthOptions) => void;
export declare const showBlockstackConnect: (o: AuthOptions, p?: StacksProvider) => any;

@@ -1,2 +0,2 @@

export declare function getStacksProvider(): import("./types").StacksProvider;
export declare function getStacksProvider(): any;
export declare function isStacksWalletInstalled(): boolean;
{
"name": "@stacks/connect",
"version": "7.4.2",
"version": "7.4.3-alpha.a82b2d4.0",
"license": "MIT",
"prettier": "@stacks/prettier-config",
"scripts": {

@@ -10,7 +9,9 @@ "build": "concurrently 'tsup src/index.ts' 'yarn types'",

"typecheck": "tsc --project tsconfig.json --noEmit",
"types": "tsc --project tsconfig.json --emitDeclarationOnly"
"types": "tsc --project tsconfig.json --emitDeclarationOnly",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build"
},
"dependencies": {
"@stacks/auth": "^6.1.1",
"@stacks/connect-ui": "6.1.3",
"@stacks/connect-ui": "^6.1.4-alpha.a82b2d4.0",
"@stacks/network": "^6.1.1",

@@ -39,3 +40,21 @@ "@stacks/profile": "^6.1.1",

},
"gitHead": "3b52a2d417e114e8c5c77782e676befaa35c6189"
"devDependencies": {
"@babel/preset-env": "^7.23.3",
"@babel/preset-react": "^7.23.3",
"@storybook/addon-essentials": "^7.6.0-alpha.5",
"@storybook/addon-interactions": "^7.6.0-alpha.5",
"@storybook/addon-links": "^7.6.0-alpha.5",
"@storybook/addon-onboarding": "^1.0.8",
"@storybook/blocks": "^7.6.0-alpha.5",
"@storybook/react": "^7.6.0-alpha.5",
"@storybook/react-vite": "^7.6.0-alpha.5",
"@storybook/react-webpack5": "^7.6.0-alpha.5",
"@storybook/testing-library": "^0.2.2",
"prop-types": "^15.8.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"storybook": "^7.6.0-alpha.5",
"vite": "^4.5.0"
},
"gitHead": "32df9ccc3b04b5d44ca6b72597cbe4f766445dd8"
}

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