@daimo/pay 1.12.1 → 1.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  var name = "@daimo/pay";
2
- var version = "1.12.1";
2
+ var version = "1.12.2";
3
3
  var author = "Daimo";
4
4
  var homepage = "https://pay.daimo.com";
5
5
  var license = "BSD-2-Clause license";
@@ -44,7 +44,7 @@ var keywords = [
44
44
  "crypto"
45
45
  ];
46
46
  var dependencies = {
47
- "@daimo/pay-common": "1.12.1",
47
+ "@daimo/pay-common": "1.12.2",
48
48
  "@rollup/plugin-typescript": "^12.1.2",
49
49
  "@solana/wallet-adapter-base": "^0.9.23",
50
50
  "@solana/wallet-adapter-react": "^0.15.35",
@@ -1,10 +1,23 @@
1
1
  import { supportedChains } from '@daimo/pay-common';
2
- import { useState, useEffect } from 'react';
2
+ import { useState, useMemo, useEffect } from 'react';
3
3
 
4
4
  /** Wallet payment options. User picks one. */
5
5
  function useWalletPaymentOptions({ trpc, address, usdRequired, destChainId, preferredChains, preferredTokens, evmChains, isDepositFlow, log, }) {
6
6
  const [options, setOptions] = useState(null);
7
7
  const [isLoading, setIsLoading] = useState(false);
8
+ // Memoize array dependencies to prevent unnecessary re-fetches
9
+ // TODO: this is an ugly way to handle polling/refresh
10
+ // Notice the load-bearing JSON.stringify() to prevent a visible infinite
11
+ // refresh glitch on the SelectMethod screen. Replace this useEffect().
12
+ const memoizedPreferredChains = useMemo(() => preferredChains,
13
+ // eslint-disable-next-line react-hooks/exhaustive-deps
14
+ [JSON.stringify(preferredChains)]);
15
+ const memoizedPreferredTokens = useMemo(() => preferredTokens,
16
+ // eslint-disable-next-line react-hooks/exhaustive-deps
17
+ [JSON.stringify(preferredTokens)]);
18
+ const memoizedEvmChains = useMemo(() => evmChains,
19
+ // eslint-disable-next-line react-hooks/exhaustive-deps
20
+ [JSON.stringify(evmChains)]);
8
21
  useEffect(() => {
9
22
  const refreshWalletPaymentOptions = async () => {
10
23
  if (address == null || usdRequired == null || destChainId == null)
@@ -17,9 +30,9 @@ function useWalletPaymentOptions({ trpc, address, usdRequired, destChainId, pref
17
30
  // API expects undefined for deposit flow.
18
31
  usdRequired: isDepositFlow ? undefined : usdRequired,
19
32
  destChainId,
20
- preferredChains,
21
- preferredTokens,
22
- evmChains,
33
+ preferredChains: memoizedPreferredChains,
34
+ preferredTokens: memoizedPreferredTokens,
35
+ evmChains: memoizedEvmChains,
23
36
  });
24
37
  // Filter out chains we don't support yet.
25
38
  const isSupported = (o) => supportedChains.some((c) => c.chainId === o.balance.token.chainId);
@@ -45,9 +58,9 @@ function useWalletPaymentOptions({ trpc, address, usdRequired, destChainId, pref
45
58
  usdRequired,
46
59
  destChainId,
47
60
  isDepositFlow,
48
- preferredChains,
49
- preferredTokens,
50
- evmChains,
61
+ memoizedPreferredChains,
62
+ memoizedPreferredTokens,
63
+ memoizedEvmChains,
51
64
  ]);
52
65
  return {
53
66
  options,
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletPaymentOptions.js","sources":["../../../src/hooks/useWalletPaymentOptions.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA;AACM,SAAU,uBAAuB,CAAC,EACtC,IAAI,EACJ,OAAO,EACP,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,EACb,GAAG,GAWJ,EAAA;IACC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA+B,IAAI,CAAC,CAAC;IAC3E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,2BAA2B,GAAG,YAAW;YAC7C,IAAI,OAAO,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI;gBAAE,OAAO;YAE1E,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,CAAC;AACnB,YAAA,IAAI;gBACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;AAC1D,oBAAA,YAAY,EAAE,OAAO;;oBAErB,WAAW,EAAE,aAAa,GAAG,SAAS,GAAG,WAAW;oBACpD,WAAW;oBACX,eAAe;oBACf,eAAe;oBACf,SAAS;AACV,iBAAA,CAAC,CAAC;;AAGH,gBAAA,MAAM,WAAW,GAAG,CAAC,CAAsB,KACzC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrE,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvD,IAAI,eAAe,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE;AAC9C,oBAAA,GAAG,CACD,CAAA,mBAAA,EAAsB,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAA,+BAAA,EAAkC,OAAO,CAAA,CAAE,CAC5G,CAAC;iBACH;gBAED,UAAU,CAAC,eAAe,CAAC,CAAC;aAC7B;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACtB;oBAAS;gBACR,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;AACH,SAAC,CAAC;AAEF,QAAA,IAAI,OAAO,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,EAAE;AACjE,YAAA,2BAA2B,EAAE,CAAC;SAC/B;;AAEH,KAAC,EAAE;QACD,OAAO;QACP,WAAW;QACX,WAAW;QACX,aAAa;QACb,eAAe;QACf,eAAe;QACf,SAAS;AACV,KAAA,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,SAAS;KACV,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"useWalletPaymentOptions.js","sources":["../../../src/hooks/useWalletPaymentOptions.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA;AACM,SAAU,uBAAuB,CAAC,EACtC,IAAI,EACJ,OAAO,EACP,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,EACb,GAAG,GAWJ,EAAA;IACC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA+B,IAAI,CAAC,CAAC;IAC3E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;;;;;AAMlD,IAAA,MAAM,uBAAuB,GAAG,OAAO,CACrC,MAAM,eAAe;;IAErB,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAClC,CAAC;AACF,IAAA,MAAM,uBAAuB,GAAG,OAAO,CACrC,MAAM,eAAe;;IAErB,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAClC,CAAC;AACF,IAAA,MAAM,iBAAiB,GAAG,OAAO,CAC/B,MAAM,SAAS;;IAEf,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAC5B,CAAC;IAEF,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,2BAA2B,GAAG,YAAW;YAC7C,IAAI,OAAO,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI;gBAAE,OAAO;YAE1E,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,CAAC;AACnB,YAAA,IAAI;gBACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;AAC1D,oBAAA,YAAY,EAAE,OAAO;;oBAErB,WAAW,EAAE,aAAa,GAAG,SAAS,GAAG,WAAW;oBACpD,WAAW;AACX,oBAAA,eAAe,EAAE,uBAAuB;AACxC,oBAAA,eAAe,EAAE,uBAAuB;AACxC,oBAAA,SAAS,EAAE,iBAAiB;AAC7B,iBAAA,CAAC,CAAC;;AAGH,gBAAA,MAAM,WAAW,GAAG,CAAC,CAAsB,KACzC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrE,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvD,IAAI,eAAe,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE;AAC9C,oBAAA,GAAG,CACD,CAAA,mBAAA,EAAsB,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAA,+BAAA,EAAkC,OAAO,CAAA,CAAE,CAC5G,CAAC;iBACH;gBAED,UAAU,CAAC,eAAe,CAAC,CAAC;aAC7B;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACtB;oBAAS;gBACR,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;AACH,SAAC,CAAC;AAEF,QAAA,IAAI,OAAO,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,EAAE;AACjE,YAAA,2BAA2B,EAAE,CAAC;SAC/B;;AAEH,KAAC,EAAE;QACD,OAAO;QACP,WAAW;QACX,WAAW;QACX,aAAa;QACb,uBAAuB;QACvB,uBAAuB;QACvB,iBAAiB;AAClB,KAAA,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,SAAS;KACV,CAAC;AACJ;;;;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@daimo/pay",
3
3
  "private": false,
4
- "version": "1.12.1",
4
+ "version": "1.12.2",
5
5
  "author": "Daimo",
6
6
  "homepage": "https://pay.daimo.com",
7
7
  "license": "BSD-2-Clause license",
@@ -46,7 +46,7 @@
46
46
  "crypto"
47
47
  ],
48
48
  "dependencies": {
49
- "@daimo/pay-common": "1.12.1",
49
+ "@daimo/pay-common": "1.12.2",
50
50
  "@rollup/plugin-typescript": "^12.1.2",
51
51
  "@solana/wallet-adapter-base": "^0.9.23",
52
52
  "@solana/wallet-adapter-react": "^0.15.35",