@txnlab/use-wallet 0.1.20 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -5,14 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var constants = require('./constants-e76d1f05.js');
6
6
  var react = require('react');
7
7
  var base = require('./base-9794b627.js');
8
- var clients_perawallet = require('./clients/perawallet.js');
9
- var clients_myalgowallet = require('./clients/myalgowallet.js');
10
- var clients_algosigner = require('./clients/algosigner.js');
11
- var clients_defly = require('./clients/defly.js');
12
- var clients_exodus = require('./clients/exodus.js');
13
- var clients_kmd = require('./clients/kmd.js');
14
- var clients_walletconnect = require('./clients/walletconnect.js');
8
+ var utils = require('./utils.js');
15
9
  var providers = require('./providers.js');
10
+ require('./clients/perawallet.js');
11
+ require('./clients/myalgowallet.js');
12
+ require('./clients/algosigner.js');
13
+ require('./clients/defly.js');
14
+ require('./clients/exodus.js');
15
+ require('./clients/kmd.js');
16
+ require('./clients/walletconnect.js');
16
17
  require('@json-rpc-tools/utils');
17
18
 
18
19
  function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];if("production"!==process.env.NODE_ENV){var i=Y[n],o=i?"function"==typeof i?i.apply(null,t):i:"unknown error nr: "+n;throw Error("[Immer] "+o)}throw Error("[Immer] minified error nr: "+n+(t.length?" "+t.map((function(n){return "'"+n+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function r(n){return !!n&&!!n[Q]}function t(n){return !!n&&(function(n){if(!n||"object"!=typeof n)return !1;var r=Object.getPrototypeOf(n);if(null===r)return !0;var t=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return t===Object||"function"==typeof t&&Function.toString.call(t)===Z}(n)||Array.isArray(n)||!!n[L]||!!n.constructor[L]||s(n)||v(n))}function i(n,r,t){void 0===t&&(t=!1),0===o(n)?(t?Object.keys:nn)(n).forEach((function(e){t&&"symbol"==typeof e||r(e,n[e],n);})):n.forEach((function(t,e){return r(e,t,n)}));}function o(n){var r=n[Q];return r?r.i>3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?(n.delete(r),n.add(t)):n[r]=t;}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e<t.length;e++){var i=t[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]});}return Object.create(Object.getPrototypeOf(n),r)}function d(n,e){return void 0===e&&(e=!1),y(n)||r(n)||!t(n)?n:(o(n)>1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0),n)}function h(){n(2);}function y(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function _(){return "production"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b("Patches"),n.u=[],n.s=[],n.v=r);}function O(n){g(n),n.p.forEach(S),n.p=null;}function g(n){n===U&&(U=n.l);}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.O=!0;}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.g||b("ES5").S(e,r,o),o?(i[Q].P&&(O(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),O(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o;i(3===e.i?new Set(o):o,(function(r,i){return A(n,e,o,r,i,t)})),x(n,o,!1),t&&n.u&&b("Patches").R(e,t,n.u,n.s);}return e.o}function A(e,i,o,a,c,s){if("production"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var v=M(e,c,s&&i&&3!==i.i&&!u(i.D,a)?s.concat(a):void 0);if(f(o,a,v),!r(v))return;e.m=!1;}if(t(c)&&!y(c)){if(!e.h.F&&e._<1)return;M(e,c),i&&i.A.l||x(e,c);}}function x(n,r,t){void 0===t&&(t=!1),n.h.F&&n.m&&d(r,t);}function z(n,r){var t=n[Q];return (t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t);}}function k(n){n.P||(n.P=!0,n.l&&k(n.l));}function E(n){n.o||(n.o=l(n.t));}function R(n,r,t){var e=s(r)?b("MapSet").N(r,t):v(r)?b("MapSet").T(r,t):n.g?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,D:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b("ES5").J(r,t);return (t?t.A:_()).p.push(e),e}function D(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b("ES5").K(u)))return u.t;u.I=!0,e=F(r,c),u.I=!1;}else e=F(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t));})),3===c?new Set(e):e}(e)}function F(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}var G,U,W="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),X="undefined"!=typeof Map,q="undefined"!=typeof Set,B="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=W?Symbol.for("immer-nothing"):((G={})["immer-nothing"]=!0,G),L=W?Symbol.for("immer-draftable"):"__$immer_draftable",Q=W?Symbol.for("immer-state"):"__$immer_state",Y={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(n){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+n},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(n){return "Cannot apply patch, path doesn't resolve: "+n},16:'Sets cannot have "replace" patches.',17:function(n){return "Unsupported patch operation: "+n},18:function(n){return "The plugin for '"+n+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+n+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(n){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+n+"'"},22:function(n){return "'current' expects a draft, got: "+n},23:function(n){return "'original' expects a draft, got: "+n},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},Z=""+Object.prototype.constructor,nn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(n){var r={};return nn(n).forEach((function(t){r[t]=Object.getOwnPropertyDescriptor(n,t);})),r},tn={},en={get:function(n,r){if(r===Q)return n;var e=p(n);if(!u(e,r))return function(n,r,t){var e,i=I(r,t);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,r);var i=e[r];return n.I||!t(i)?i:i===z(n.t,r)?(E(n),n.o[r]=R(n.A.h,i,n)):i},has:function(n,r){return r in p(n)},ownKeys:function(n){return Reflect.ownKeys(p(n))},set:function(n,r,t){var e=I(p(n),r);if(null==e?void 0:e.set)return e.set.call(n.k,t),!0;if(!n.P){var i=z(p(n),r),o=null==i?void 0:i[Q];if(o&&o.t===t)return n.o[r]=t,n.D[r]=!1,!0;if(c(t,i)&&(void 0!==t||u(n.t,r)))return !0;E(n),k(n);}return n.o[r]===t&&"number"!=typeof t&&(void 0!==t||r in n.o)||(n.o[r]=t,n.D[r]=!0,!0)},deleteProperty:function(n,r){return void 0!==z(n.t,r)||r in n.t?(n.D[r]=!1,E(n),k(n)):delete n.D[r],n.o&&delete n.o[r],!0},getOwnPropertyDescriptor:function(n,r){var t=p(n),e=Reflect.getOwnPropertyDescriptor(t,r);return e?{writable:!0,configurable:1!==n.i||"length"!==r,enumerable:e.enumerable,value:t[r]}:e},defineProperty:function(){n(11);},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n(12);}},on={};i(en,(function(n,r){on[n]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)};})),on.deleteProperty=function(r,t){return "production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&n(13),on.set.call(this,r,t,void 0)},on.set=function(r,t,e){return "production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&n(14),en.set.call(this,r[0],t,e,r[0])};var un=function(){function e(r){var e=this;this.g=B,this.F=!0,this.produce=function(r,i,o){if("function"==typeof r&&"function"!=typeof i){var u=i;i=r;var a=e;return function(n){var r=this;void 0===n&&(n=u);for(var t=arguments.length,e=Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];return a.produce(n,(function(n){var t;return (t=i).call.apply(t,[r,n].concat(e))}))}}var f;if("function"!=typeof i&&n(6),void 0!==o&&"function"!=typeof o&&n(7),t(r)){var c=w(e),s=R(e,r,void 0),v=!0;try{f=i(s),v=!1;}finally{v?O(c):g(c);}return "undefined"!=typeof Promise&&f instanceof Promise?f.then((function(n){return j(c,o),P(n,c)}),(function(n){throw O(c),n})):(j(c,o),P(f,c))}if(!r||"object"!=typeof r){if(void 0===(f=i(r))&&(f=r),f===H&&(f=void 0),e.F&&d(f,!0),o){var p=[],l=[];b("Patches").M(r,f,p,l),o(p,l);}return f}n(21,r);},this.produceWithPatches=function(n,r){if("function"==typeof n)return function(r){for(var t=arguments.length,i=Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return e.produceWithPatches(r,(function(r){return n.apply(void 0,[r].concat(i))}))};var t,i,o=e.produce(n,r,(function(n,r){t=n,i=r;}));return "undefined"!=typeof Promise&&o instanceof Promise?o.then((function(n){return [n,t,i]})):[o,t,i]},"boolean"==typeof(null==r?void 0:r.useProxies)&&this.setUseProxies(r.useProxies),"boolean"==typeof(null==r?void 0:r.autoFreeze)&&this.setAutoFreeze(r.autoFreeze);}var i=e.prototype;return i.createDraft=function(e){t(e)||n(8),r(e)&&(e=D(e));var i=w(this),o=R(this,e,void 0);return o[Q].C=!0,g(i),o},i.finishDraft=function(r,t){var e=r&&r[Q];"production"!==process.env.NODE_ENV&&(e&&e.C||n(9),e.I&&n(10));var i=e.A;return j(i,t),P(void 0,i)},i.setAutoFreeze=function(n){this.F=n;},i.setUseProxies=function(r){r&&!B&&n(20),this.g=r;},i.applyPatches=function(n,t){var e;for(e=t.length-1;e>=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b("Patches").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce;an.produceWithPatches.bind(an);an.setAutoFreeze.bind(an);an.setUseProxies.bind(an);an.applyPatches.bind(an);an.createDraft.bind(an);an.finishDraft.bind(an);
@@ -501,68 +502,12 @@ const useWalletStore = create(devtools(persist(immer((set, _get) => ({
501
502
  }), { name: "local-storage" } // prefix in Redux DevTools
502
503
  ));
503
504
 
504
- const clients = {
505
- [constants.PROVIDER_ID.KMD_WALLET]: clients_kmd.init().catch((e) => {
506
- if (typeof window !== "undefined") {
507
- console.info("error initializing client", e);
508
- return;
509
- }
510
- }),
511
- [constants.PROVIDER_ID.PERA_WALLET]: clients_perawallet.init().catch((e) => {
512
- if (typeof window !== "undefined") {
513
- console.info("error initializing client", e);
514
- return;
515
- }
516
- }),
517
- [constants.PROVIDER_ID.MYALGO_WALLET]: clients_myalgowallet.init().catch((e) => {
518
- if (typeof window !== "undefined") {
519
- console.info("error initializing client", e);
520
- return;
521
- }
522
- }),
523
- [constants.PROVIDER_ID.ALGO_SIGNER]: clients_algosigner.init().catch((e) => {
524
- if (typeof window !== "undefined") {
525
- console.info("error initializing client", e);
526
- return;
527
- }
528
- }),
529
- [constants.PROVIDER_ID.DEFLY]: clients_defly.init().catch((e) => {
530
- if (typeof window !== "undefined") {
531
- console.info("error initializing client", e);
532
- return;
533
- }
534
- }),
535
- [constants.PROVIDER_ID.EXODUS]: clients_exodus.init().catch((e) => {
536
- if (typeof window !== "undefined") {
537
- console.info("error initializing client", e);
538
- return;
539
- }
540
- }),
541
- [constants.PROVIDER_ID.WALLET_CONNECT]: clients_walletconnect.init().catch((e) => {
542
- if (typeof window !== "undefined") {
543
- console.info("error initializing client", e);
544
- return;
545
- }
546
- }),
547
- };
548
-
549
- const getWalletClient = async (id) => {
550
- if (!id) {
551
- throw new Error("No wallet provider id provided");
552
- }
553
- const client = await clients[id];
554
- if (!client) {
555
- throw new Error(`No wallet client found for provider id: ${id}`);
556
- }
557
- return client;
558
- };
559
-
560
505
  function useWallet() {
561
506
  const allAccounts = useWalletStore((state) => state.accounts);
562
507
  const activeAccount = useWalletStore((state) => state.activeAccount);
563
508
  const accounts = react.useMemo(() => allAccounts.filter((account) => account.providerId === activeAccount?.providerId), [allAccounts, activeAccount]);
564
509
  const signTransactions = async (transactions) => {
565
- const walletClient = await getWalletClient(activeAccount?.providerId);
510
+ const walletClient = await utils.getWalletClient(activeAccount?.providerId);
566
511
  if (!walletClient || !activeAccount?.address) {
567
512
  throw new Error("No wallet found.");
568
513
  }
@@ -570,7 +515,7 @@ function useWallet() {
570
515
  return signedTransactions;
571
516
  };
572
517
  const sendTransactions = async (transactions) => {
573
- const walletClient = await getWalletClient(activeAccount?.providerId);
518
+ const walletClient = await utils.getWalletClient(activeAccount?.providerId);
574
519
  const result = await walletClient?.sendRawTransactions(transactions);
575
520
  return result;
576
521
  };
@@ -583,7 +528,7 @@ function useWallet() {
583
528
  const getAccountInfo = async () => {
584
529
  if (!activeAccount)
585
530
  throw new Error("No selected account.");
586
- const walletClient = await getWalletClient(activeAccount.providerId);
531
+ const walletClient = await utils.getWalletClient(activeAccount.providerId);
587
532
  const accountInfo = await walletClient?.getAccountInfo(activeAccount.address);
588
533
  return accountInfo;
589
534
  };
@@ -593,19 +538,19 @@ function useWallet() {
593
538
  const getAssets = async () => {
594
539
  if (!activeAccount)
595
540
  throw new Error("No selected account.");
596
- const walletClient = await getWalletClient(activeAccount.providerId);
541
+ const walletClient = await utils.getWalletClient(activeAccount.providerId);
597
542
  return await walletClient?.getAssets(activeAccount.address);
598
543
  };
599
544
  const groupTransactionsBySender = async (transactions) => {
600
- const walletClient = await getWalletClient(activeAccount?.providerId);
545
+ const walletClient = await utils.getWalletClient(activeAccount?.providerId);
601
546
  return walletClient?.groupTransactionsBySender(transactions);
602
547
  };
603
548
  const signEncodedTransactions = async (transactions) => {
604
- const walletClient = await getWalletClient(activeAccount?.providerId);
549
+ const walletClient = await utils.getWalletClient(activeAccount?.providerId);
605
550
  return await walletClient?.signEncodedTransactions(transactions);
606
551
  };
607
552
  const sendRawTransactions = async (transactions) => {
608
- const walletClient = await getWalletClient(activeAccount?.providerId);
553
+ const walletClient = await utils.getWalletClient(activeAccount?.providerId);
609
554
  return await walletClient?.sendRawTransactions(transactions);
610
555
  };
611
556
  return {
@@ -687,7 +632,7 @@ function useConnectWallet(options) {
687
632
  const connect = async (id) => {
688
633
  try {
689
634
  await disconnectWCSessions(id);
690
- const walletClient = await getWalletClient(id);
635
+ const walletClient = await utils.getWalletClient(id);
691
636
  const walletInfo = await walletClient.connect(() => disconnect(id));
692
637
  if (!walletInfo || !walletInfo.accounts.length) {
693
638
  throw new Error("Failed to connect " + id);
@@ -724,7 +669,7 @@ function useConnectWallet(options) {
724
669
  };
725
670
  const reconnect = async (id) => {
726
671
  try {
727
- const walletClient = await getWalletClient(id);
672
+ const walletClient = await utils.getWalletClient(id);
728
673
  const walletInfo = await walletClient?.reconnect(() => disconnect(id));
729
674
  if (walletInfo && walletInfo.accounts.length) {
730
675
  addAccounts(walletInfo.accounts);
@@ -737,7 +682,7 @@ function useConnectWallet(options) {
737
682
  };
738
683
  const disconnect = async (id) => {
739
684
  try {
740
- const walletClient = await getWalletClient(id);
685
+ const walletClient = await utils.getWalletClient(id);
741
686
  walletClient?.disconnect();
742
687
  }
743
688
  catch (e) {