@huma-finance/widgets 0.0.29 → 0.0.31

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.
Files changed (167) hide show
  1. package/.env.example +2 -2
  2. package/.eslintignore +2 -2
  3. package/.eslintrc.js +64 -64
  4. package/.prettierignore +4 -4
  5. package/.prettierrc.js +16 -16
  6. package/API.md +332 -332
  7. package/LICENSE +660 -660
  8. package/README.md +48 -48
  9. package/babel.config.js +15 -15
  10. package/config-overrides.js +9 -9
  11. package/cosmos.config.json +7 -7
  12. package/cypress/e2e/01-invoice-factoring-borrow.test.ts +62 -62
  13. package/cypress/support/e2e.ts +76 -76
  14. package/cypress/support/ethereum.ts +142 -142
  15. package/cypress/tsconfig.json +9 -9
  16. package/cypress/utils/index.ts +54 -54
  17. package/cypress.config.ts +20 -20
  18. package/dist/cjs/index.cjs +144 -142
  19. package/dist/cjs/index.cjs.map +1 -1
  20. package/dist/index.d.ts +193 -193
  21. package/dist/index.js +145 -143
  22. package/dist/index.js.map +1 -1
  23. package/jsdoc2md.json +20 -20
  24. package/package.json +5 -4
  25. package/public/index.html +40 -40
  26. package/public/manifest.json +25 -25
  27. package/public/robots.txt +3 -3
  28. package/rollup.config.js +81 -81
  29. package/src/components/Activity.tsx +132 -132
  30. package/src/components/ApolloWrapper.tsx +15 -15
  31. package/src/components/ApproveAllowanceModal.tsx +121 -121
  32. package/src/components/BottomButton.tsx +33 -33
  33. package/src/components/ChainNotSupportedModal.tsx +33 -33
  34. package/src/components/ConfirmTransferModal.tsx +153 -153
  35. package/src/components/CreditLine/borrow/1-Evaluation.tsx +157 -157
  36. package/src/components/CreditLine/borrow/2-ChooseAmount.tsx +68 -68
  37. package/src/components/CreditLine/borrow/3-Transfer.tsx +44 -44
  38. package/src/components/CreditLine/borrow/4-ApproveAllowance.tsx +29 -29
  39. package/src/components/CreditLine/borrow/5-Success.tsx +30 -30
  40. package/src/components/CreditLine/borrow/index.tsx +117 -117
  41. package/src/components/CreditLine/payment/1-ChooseAmount.tsx +67 -67
  42. package/src/components/CreditLine/payment/2-ApproveAllowance.tsx +23 -23
  43. package/src/components/CreditLine/payment/3-Transfer.tsx +34 -34
  44. package/src/components/CreditLine/payment/4-Success.tsx +39 -39
  45. package/src/components/CreditLine/payment/index.tsx +94 -94
  46. package/src/components/ErrorModal.tsx +132 -132
  47. package/src/components/Factoring/FactoredList.tsx +143 -143
  48. package/src/components/Factoring/UpcomingList.tsx +90 -90
  49. package/src/components/Factoring/index.ts +2 -2
  50. package/src/components/HumaLoading.tsx +68 -68
  51. package/src/components/HumaTable.tsx +158 -158
  52. package/src/components/InvoiceFactoring/borrow/1-Evaluation.tsx +49 -49
  53. package/src/components/InvoiceFactoring/borrow/2-ChooseAmount.tsx +88 -88
  54. package/src/components/InvoiceFactoring/borrow/3-ConfirmTransfer.tsx +37 -37
  55. package/src/components/InvoiceFactoring/borrow/4-ApproveNFT.tsx +55 -55
  56. package/src/components/InvoiceFactoring/borrow/5-Transfer.tsx +34 -34
  57. package/src/components/InvoiceFactoring/borrow/6-Success.tsx +20 -20
  58. package/src/components/InvoiceFactoring/borrow/index.tsx +94 -94
  59. package/src/components/InvoiceFactoring/payment/1-ChooseAmount.tsx +67 -67
  60. package/src/components/InvoiceFactoring/payment/2-ApproveAllowance.tsx +23 -23
  61. package/src/components/InvoiceFactoring/payment/3-Transfer.tsx +34 -34
  62. package/src/components/InvoiceFactoring/payment/4-Success.tsx +23 -23
  63. package/src/components/InvoiceFactoring/payment/index.tsx +86 -86
  64. package/src/components/Lend/supply/1-Evaluation.tsx +175 -171
  65. package/src/components/Lend/supply/2-ChooseAmount.tsx +70 -70
  66. package/src/components/Lend/supply/3-ApproveAllowance.tsx +25 -25
  67. package/src/components/Lend/supply/4-ConfirmTransfer.tsx +104 -104
  68. package/src/components/Lend/supply/6-Transfer.tsx +32 -32
  69. package/src/components/Lend/supply/7-Success.tsx +49 -49
  70. package/src/components/Lend/supply/index.tsx +144 -144
  71. package/src/components/Lend/withdraw/1-CheckWithdrawble.tsx +73 -73
  72. package/src/components/Lend/withdraw/2-ChooseAmount.tsx +50 -50
  73. package/src/components/Lend/withdraw/3-Transfer.tsx +32 -32
  74. package/src/components/Lend/withdraw/4-Success.tsx +49 -49
  75. package/src/components/Lend/withdraw/index.tsx +101 -101
  76. package/src/components/LoadingModal.tsx +49 -49
  77. package/src/components/NotifiSubscriptionModal.tsx +84 -0
  78. package/src/components/StreamFactoring/borrow/1-Evaluation.tsx +55 -55
  79. package/src/components/StreamFactoring/borrow/2-ChooseAmount.tsx +127 -127
  80. package/src/components/StreamFactoring/borrow/3-ConfirmTransfer.tsx +42 -42
  81. package/src/components/StreamFactoring/borrow/4-ApproveAllowance.tsx +33 -33
  82. package/src/components/StreamFactoring/borrow/5-Permit.tsx +144 -144
  83. package/src/components/StreamFactoring/borrow/6-Transfer.tsx +37 -37
  84. package/src/components/StreamFactoring/borrow/7-Success.tsx +20 -20
  85. package/src/components/StreamFactoring/borrow/index.tsx +94 -94
  86. package/src/components/StreamFactoring/payment/ChooseAmount.tsx +54 -54
  87. package/src/components/StreamFactoring/payment/Success.tsx +23 -23
  88. package/src/components/StreamFactoring/payment/Transfer.tsx +34 -34
  89. package/src/components/StreamFactoring/payment/index.tsx +66 -66
  90. package/src/components/SuperfluidFactoring/SuperfluidFactoredList.tsx +70 -70
  91. package/src/components/SuperfluidFactoring/SuperfluidUpcomingList.tsx +167 -167
  92. package/src/components/SuperfluidFactoring/index.tsx +85 -85
  93. package/src/components/TxDoneModal.tsx +83 -83
  94. package/src/components/TxSendModal.tsx +59 -59
  95. package/src/components/ViewOnExplorer.tsx +26 -26
  96. package/src/components/WidgetWrapper.tsx +74 -74
  97. package/src/components/WrapperModal.tsx +54 -54
  98. package/src/components/buttons/TableActionButton.tsx +36 -36
  99. package/src/components/buttons/index.ts +1 -1
  100. package/src/components/humaModal/HumaModal.tsx +68 -68
  101. package/src/components/humaModal/HumaModalHeader.tsx +70 -70
  102. package/src/components/humaModal/index.tsx +2 -2
  103. package/src/components/icons/approve-lender.svg +30 -30
  104. package/src/components/icons/auto-payback.svg +40 -40
  105. package/src/components/icons/check-circle.svg +3 -3
  106. package/src/components/icons/check-green.svg +3 -3
  107. package/src/components/icons/check.svg +10 -10
  108. package/src/components/icons/donut.svg +904 -904
  109. package/src/components/icons/ellipse.svg +3 -3
  110. package/src/components/icons/huma-full.svg +22 -22
  111. package/src/components/icons/huma.svg +15 -15
  112. package/src/components/icons/index.tsx +93 -93
  113. package/src/components/icons/loader.svg +229 -229
  114. package/src/components/icons/metamask.svg +31 -31
  115. package/src/components/icons/polygon.svg +16 -16
  116. package/src/components/icons/receipt.svg +3 -3
  117. package/src/components/icons/separator.svg +3 -3
  118. package/src/components/icons/sorry.svg +31 -31
  119. package/src/components/icons/usdc.svg +5 -5
  120. package/src/components/icons/wallet-connect.svg +11 -11
  121. package/src/cosmos/CreditLineBorrow.fixture.tsx +86 -86
  122. package/src/cosmos/CreditLinePayment.fixture.tsx +50 -50
  123. package/src/cosmos/InvoiceFactoringBorrow.fixture.tsx +111 -111
  124. package/src/cosmos/InvoiceFactoringPayment.fixture.tsx +67 -67
  125. package/src/cosmos/LendSupply.fixture.tsx +75 -75
  126. package/src/cosmos/LendWithdraw.fixture.tsx +43 -43
  127. package/src/cosmos/SDKTesting.fixture.tsx +4 -3
  128. package/src/cosmos/SuperfluidFactoringBorrow.fixture.tsx +15 -15
  129. package/src/cosmos/WalletWrapper.tsx +52 -52
  130. package/src/cosmos/abis/InvoiceNFT.json +644 -644
  131. package/src/cosmos/abis/ReceivableFactoringPool.json +1529 -1529
  132. package/src/cosmos/utils/env.ts +6 -6
  133. package/src/cosmos/utils/index.ts +169 -169
  134. package/src/fonts/Recoleta/Recoleta-Black.otf +0 -0
  135. package/src/fonts/Recoleta/Recoleta-Bold.otf +0 -0
  136. package/src/fonts/Recoleta/Recoleta-Light.otf +0 -0
  137. package/src/fonts/Recoleta/Recoleta-Medium.otf +0 -0
  138. package/src/fonts/Recoleta/Recoleta-Regular.otf +0 -0
  139. package/src/fonts/Recoleta/Recoleta-RegularDEMO.otf +0 -0
  140. package/src/fonts/Recoleta/Recoleta-SemiBold.otf +0 -0
  141. package/src/fonts/Recoleta/Recoleta-Thin.otf +0 -0
  142. package/src/hooks/useEA.ts +53 -53
  143. package/src/hooks/useRedux.ts +6 -6
  144. package/src/index.css +61 -61
  145. package/src/index.tsx +301 -301
  146. package/src/react-app-env.d.ts +1 -1
  147. package/src/reportWebVitals.ts +15 -15
  148. package/src/setupTests.ts +6 -6
  149. package/src/store/index.ts +27 -27
  150. package/src/store/widgets.reducers.ts +120 -120
  151. package/src/store/widgets.selectors.ts +3 -3
  152. package/src/store/widgets.store.ts +54 -54
  153. package/src/theme/breakpoints.ts +10 -10
  154. package/src/theme/components.ts +70 -70
  155. package/src/theme/coreThemeConstants.ts +29 -29
  156. package/src/theme/cssMixins.ts +92 -92
  157. package/src/theme/hooks/useGetSizes.ts +31 -31
  158. package/src/theme/index.ts +24 -24
  159. package/src/theme/palette.ts +150 -150
  160. package/src/theme/shape.ts +7 -7
  161. package/src/theme/theme.types.ts +80 -80
  162. package/src/theme/typography.ts +117 -117
  163. package/src/utilTypes.d.ts +31 -31
  164. package/src/utils/env.ts +10 -10
  165. package/tsconfig.build.json +7 -7
  166. package/tsconfig.json +32 -32
  167. package/webpack.cosmos.js +54 -54
@@ -1,6 +1,6 @@
1
- // @ts-nocheck
2
-
3
- export const initEnv = () => {
4
- window.REACT_APP_FORCE_DEV_PREFIX_FOR_URLS =
5
- process.env.REACT_APP_FORCE_DEV_PREFIX_FOR_URLS
6
- }
1
+ // @ts-nocheck
2
+
3
+ export const initEnv = () => {
4
+ window.REACT_APP_FORCE_DEV_PREFIX_FOR_URLS =
5
+ process.env.REACT_APP_FORCE_DEV_PREFIX_FOR_URLS
6
+ }
@@ -1,169 +1,169 @@
1
- /* eslint-disable arrow-body-style */
2
- /* eslint-disable @typescript-eslint/lines-between-class-members */
3
- /* eslint-disable prefer-destructuring */
4
- /* eslint-disable @typescript-eslint/no-explicit-any */
5
- /* eslint-disable consistent-return */
6
- /**
7
- * Updates cy.visit() to include an injected window.ethereum provider.
8
- */
9
- import { Eip1193Bridge } from '@ethersproject/experimental/lib/eip1193-bridge'
10
- import { JsonRpcProvider } from '@ethersproject/providers'
11
- import { ethers, Wallet } from 'ethers'
12
- import { deepCopy } from 'ethers/lib/utils'
13
-
14
- export enum ChainEnum {
15
- Goerli = 5,
16
- Mumbai = 80001,
17
- }
18
-
19
- class MetamaskBridge extends Eip1193Bridge {
20
- private walletAddress: string
21
- private chainId: number
22
-
23
- constructor(
24
- signer: ethers.Signer,
25
- provider: ethers.providers.Provider,
26
- walletAddress: string,
27
- chainId = 5,
28
- ) {
29
- super(signer, provider)
30
- this.walletAddress = walletAddress
31
- this.chainId = chainId
32
- }
33
-
34
- async sendAsync(...args: any[]) {
35
- console.debug('sendAsync called', ...args)
36
- return this.send(...args)
37
- }
38
- async send(...args: any[]) {
39
- console.debug('send called', ...args)
40
- const isCallbackForm =
41
- typeof args[0] === 'object' && typeof args[1] === 'function'
42
- let callback
43
- let method
44
- let params
45
- if (isCallbackForm) {
46
- callback = args[1]
47
- method = args[0].method
48
- params = args[0].params
49
- } else {
50
- method = args[0]
51
- params = args[1]
52
- }
53
- if (method === 'eth_requestAccounts' || method === 'eth_accounts') {
54
- if (isCallbackForm) {
55
- callback({ result: [this.walletAddress] })
56
- } else {
57
- return Promise.resolve([this.walletAddress])
58
- }
59
- }
60
- if (method === 'eth_chainId') {
61
- const chainIdHex = ethers.utils.hexlify(this.chainId)
62
- if (isCallbackForm) {
63
- callback(null, { result: chainIdHex })
64
- } else {
65
- return Promise.resolve(chainIdHex)
66
- }
67
- }
68
- // Eip1193Bridge only supports eth_sign
69
- // address is the first param for eth_sign
70
- if (method === 'personal_sign') {
71
- method = 'eth_sign'
72
- const [data, address] = deepCopy(params)
73
- params[0] = address
74
- params[1] = data
75
- }
76
- try {
77
- // Please refer to: https://github.com/ethers-io/ethers.js/issues/1683
78
- // If from is present on eth_call it errors, removing it makes the library set
79
- // from as the connected wallet which works fine
80
- if (params && params.length && method === 'eth_call') {
81
- if (params[0].from) {
82
- delete params[0].from
83
- }
84
- if (params[0].gas) {
85
- delete params[0].gas
86
- }
87
- }
88
-
89
- let result
90
- // For sending a transaction if we call send it will error
91
- // as it wants gasLimit in sendTransaction but hexlify sets the property gas
92
- // to gasLimit which makes send transaction error.
93
- // This have taken the code from the super method for sendTransaction and altered
94
- // it slightly to make it work with the gas limit issues.
95
- if (
96
- params &&
97
- params.length &&
98
- params[0].from &&
99
- method === 'eth_sendTransaction'
100
- ) {
101
- // Hexlify will not take gas, must be gasLimit, set this property to be gasLimit
102
- params[0].gasLimit = params[0].gas
103
- delete params[0].gas
104
- // If from is present on eth_sendTransaction it errors, removing it makes the library set
105
- // from as the connected wallet which works fine
106
- delete params[0].from
107
- const req = ethers.providers.JsonRpcProvider.hexlifyTransaction(
108
- params[0],
109
- )
110
- // Hexlify sets the gasLimit property to be gas again and send transaction requires gasLimit
111
- req.gasLimit = req.gas
112
- delete req.gas
113
- // Send the transaction
114
- const tx = await this.signer.sendTransaction(req)
115
- result = tx.hash
116
- } else {
117
- // All other transactions the base class works for
118
- result = await super.send(method, params)
119
- }
120
- console.debug('result received', method, params, result)
121
- if (isCallbackForm) {
122
- callback(null, { result })
123
- } else {
124
- return result
125
- }
126
- } catch (error) {
127
- console.log(error)
128
- if (isCallbackForm) {
129
- callback(error, null)
130
- } else {
131
- throw error
132
- }
133
- }
134
- }
135
- }
136
-
137
- export const getProvider = (chainId = ChainEnum.Goerli) => {
138
- const rpcUrlMap: { [x: number]: { name: string; url: string } } = {
139
- [ChainEnum.Goerli]: {
140
- name: 'Goerli',
141
- url: `https://goerli.infura.io/v3/${process.env.REACT_APP_INFURA_API_KEY}`,
142
- },
143
- [ChainEnum.Mumbai]: {
144
- name: 'Mumbai',
145
- url: `https://polygon-mumbai.g.alchemy.com/v2/${process.env.REACT_APP_ALCHEMY_API_KEY}`,
146
- },
147
- }
148
- return new JsonRpcProvider(rpcUrlMap[chainId].url, {
149
- name: rpcUrlMap[chainId].name,
150
- chainId,
151
- })
152
- }
153
-
154
- export const getInjectedMetamask = (
155
- testPrivateKey: string,
156
- chainId = ChainEnum.Goerli,
157
- ) => {
158
- const TEST_ADDRESS_NEVER_USE = new Wallet(testPrivateKey).address
159
- const provider = getProvider(chainId)
160
- const signer = new Wallet(testPrivateKey, provider)
161
- return new MetamaskBridge(signer, provider, TEST_ADDRESS_NEVER_USE, chainId)
162
- }
163
-
164
- export const getSigner = (
165
- testPrivateKey: string,
166
- chainId = ChainEnum.Goerli,
167
- ) => {
168
- return new Wallet(testPrivateKey, getProvider(chainId))
169
- }
1
+ /* eslint-disable arrow-body-style */
2
+ /* eslint-disable @typescript-eslint/lines-between-class-members */
3
+ /* eslint-disable prefer-destructuring */
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ /* eslint-disable consistent-return */
6
+ /**
7
+ * Updates cy.visit() to include an injected window.ethereum provider.
8
+ */
9
+ import { Eip1193Bridge } from '@ethersproject/experimental/lib/eip1193-bridge'
10
+ import { JsonRpcProvider } from '@ethersproject/providers'
11
+ import { ethers, Wallet } from 'ethers'
12
+ import { deepCopy } from 'ethers/lib/utils'
13
+
14
+ export enum ChainEnum {
15
+ Goerli = 5,
16
+ Mumbai = 80001,
17
+ }
18
+
19
+ class MetamaskBridge extends Eip1193Bridge {
20
+ private walletAddress: string
21
+ private chainId: number
22
+
23
+ constructor(
24
+ signer: ethers.Signer,
25
+ provider: ethers.providers.Provider,
26
+ walletAddress: string,
27
+ chainId = 5,
28
+ ) {
29
+ super(signer, provider)
30
+ this.walletAddress = walletAddress
31
+ this.chainId = chainId
32
+ }
33
+
34
+ async sendAsync(...args: any[]) {
35
+ console.debug('sendAsync called', ...args)
36
+ return this.send(...args)
37
+ }
38
+ async send(...args: any[]) {
39
+ console.debug('send called', ...args)
40
+ const isCallbackForm =
41
+ typeof args[0] === 'object' && typeof args[1] === 'function'
42
+ let callback
43
+ let method
44
+ let params
45
+ if (isCallbackForm) {
46
+ callback = args[1]
47
+ method = args[0].method
48
+ params = args[0].params
49
+ } else {
50
+ method = args[0]
51
+ params = args[1]
52
+ }
53
+ if (method === 'eth_requestAccounts' || method === 'eth_accounts') {
54
+ if (isCallbackForm) {
55
+ callback({ result: [this.walletAddress] })
56
+ } else {
57
+ return Promise.resolve([this.walletAddress])
58
+ }
59
+ }
60
+ if (method === 'eth_chainId') {
61
+ const chainIdHex = ethers.utils.hexlify(this.chainId)
62
+ if (isCallbackForm) {
63
+ callback(null, { result: chainIdHex })
64
+ } else {
65
+ return Promise.resolve(chainIdHex)
66
+ }
67
+ }
68
+ // Eip1193Bridge only supports eth_sign
69
+ // address is the first param for eth_sign
70
+ if (method === 'personal_sign') {
71
+ method = 'eth_sign'
72
+ const [data, address] = deepCopy(params)
73
+ params[0] = address
74
+ params[1] = data
75
+ }
76
+ try {
77
+ // Please refer to: https://github.com/ethers-io/ethers.js/issues/1683
78
+ // If from is present on eth_call it errors, removing it makes the library set
79
+ // from as the connected wallet which works fine
80
+ if (params && params.length && method === 'eth_call') {
81
+ if (params[0].from) {
82
+ delete params[0].from
83
+ }
84
+ if (params[0].gas) {
85
+ delete params[0].gas
86
+ }
87
+ }
88
+
89
+ let result
90
+ // For sending a transaction if we call send it will error
91
+ // as it wants gasLimit in sendTransaction but hexlify sets the property gas
92
+ // to gasLimit which makes send transaction error.
93
+ // This have taken the code from the super method for sendTransaction and altered
94
+ // it slightly to make it work with the gas limit issues.
95
+ if (
96
+ params &&
97
+ params.length &&
98
+ params[0].from &&
99
+ method === 'eth_sendTransaction'
100
+ ) {
101
+ // Hexlify will not take gas, must be gasLimit, set this property to be gasLimit
102
+ params[0].gasLimit = params[0].gas
103
+ delete params[0].gas
104
+ // If from is present on eth_sendTransaction it errors, removing it makes the library set
105
+ // from as the connected wallet which works fine
106
+ delete params[0].from
107
+ const req = ethers.providers.JsonRpcProvider.hexlifyTransaction(
108
+ params[0],
109
+ )
110
+ // Hexlify sets the gasLimit property to be gas again and send transaction requires gasLimit
111
+ req.gasLimit = req.gas
112
+ delete req.gas
113
+ // Send the transaction
114
+ const tx = await this.signer.sendTransaction(req)
115
+ result = tx.hash
116
+ } else {
117
+ // All other transactions the base class works for
118
+ result = await super.send(method, params)
119
+ }
120
+ console.debug('result received', method, params, result)
121
+ if (isCallbackForm) {
122
+ callback(null, { result })
123
+ } else {
124
+ return result
125
+ }
126
+ } catch (error) {
127
+ console.log(error)
128
+ if (isCallbackForm) {
129
+ callback(error, null)
130
+ } else {
131
+ throw error
132
+ }
133
+ }
134
+ }
135
+ }
136
+
137
+ export const getProvider = (chainId = ChainEnum.Goerli) => {
138
+ const rpcUrlMap: { [x: number]: { name: string; url: string } } = {
139
+ [ChainEnum.Goerli]: {
140
+ name: 'Goerli',
141
+ url: `https://goerli.infura.io/v3/${process.env.REACT_APP_INFURA_API_KEY}`,
142
+ },
143
+ [ChainEnum.Mumbai]: {
144
+ name: 'Mumbai',
145
+ url: `https://polygon-mumbai.g.alchemy.com/v2/${process.env.REACT_APP_ALCHEMY_API_KEY}`,
146
+ },
147
+ }
148
+ return new JsonRpcProvider(rpcUrlMap[chainId].url, {
149
+ name: rpcUrlMap[chainId].name,
150
+ chainId,
151
+ })
152
+ }
153
+
154
+ export const getInjectedMetamask = (
155
+ testPrivateKey: string,
156
+ chainId = ChainEnum.Goerli,
157
+ ) => {
158
+ const TEST_ADDRESS_NEVER_USE = new Wallet(testPrivateKey).address
159
+ const provider = getProvider(chainId)
160
+ const signer = new Wallet(testPrivateKey, provider)
161
+ return new MetamaskBridge(signer, provider, TEST_ADDRESS_NEVER_USE, chainId)
162
+ }
163
+
164
+ export const getSigner = (
165
+ testPrivateKey: string,
166
+ chainId = ChainEnum.Goerli,
167
+ ) => {
168
+ return new Wallet(testPrivateKey, getProvider(chainId))
169
+ }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,53 +1,53 @@
1
- import {
2
- EAPayload,
3
- EARejectionError,
4
- EARejectMessage,
5
- EARejectReason,
6
- EAService,
7
- } from '@huma-finance/shared'
8
- import { useWeb3React } from '@web3-react/core'
9
- import { useCallback } from 'react'
10
-
11
- import { setApproval, setError } from '../store/widgets.reducers'
12
- import { WIDGET_STEP } from '../store/widgets.store'
13
- import { envUtil } from '../utils/env'
14
- import { useAppDispatch } from './useRedux'
15
-
16
- const useEA = () => {
17
- const dispatch = useAppDispatch()
18
- const { chainId } = useWeb3React()
19
-
20
- const checkingEA = useCallback(
21
- async (payload: EAPayload, nextStep: WIDGET_STEP) => {
22
- try {
23
- const result = await EAService.approve(
24
- payload,
25
- chainId!,
26
- envUtil.checkIsDev(),
27
- )
28
- dispatch(setApproval({ ...result, nextStep }))
29
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
- } catch (e: any) {
31
- if (e instanceof EARejectionError) {
32
- dispatch(
33
- setError({
34
- errorMessage: EARejectMessage,
35
- errorReason: EARejectReason,
36
- }),
37
- )
38
- } else {
39
- dispatch(
40
- setError({
41
- errorMessage: e.message,
42
- }),
43
- )
44
- }
45
- }
46
- },
47
- [chainId, dispatch],
48
- )
49
-
50
- return { checkingEA }
51
- }
52
-
53
- export default useEA
1
+ import {
2
+ EAPayload,
3
+ EARejectionError,
4
+ EARejectMessage,
5
+ EARejectReason,
6
+ EAService,
7
+ } from '@huma-finance/shared'
8
+ import { useWeb3React } from '@web3-react/core'
9
+ import { useCallback } from 'react'
10
+
11
+ import { setApproval, setError } from '../store/widgets.reducers'
12
+ import { WIDGET_STEP } from '../store/widgets.store'
13
+ import { envUtil } from '../utils/env'
14
+ import { useAppDispatch } from './useRedux'
15
+
16
+ const useEA = () => {
17
+ const dispatch = useAppDispatch()
18
+ const { chainId } = useWeb3React()
19
+
20
+ const checkingEA = useCallback(
21
+ async (payload: EAPayload, nextStep: WIDGET_STEP) => {
22
+ try {
23
+ const result = await EAService.approve(
24
+ payload,
25
+ chainId!,
26
+ envUtil.checkIsDev(),
27
+ )
28
+ dispatch(setApproval({ ...result, nextStep }))
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
+ } catch (e: any) {
31
+ if (e instanceof EARejectionError) {
32
+ dispatch(
33
+ setError({
34
+ errorMessage: EARejectMessage,
35
+ errorReason: EARejectReason,
36
+ }),
37
+ )
38
+ } else {
39
+ dispatch(
40
+ setError({
41
+ errorMessage: e.message,
42
+ }),
43
+ )
44
+ }
45
+ }
46
+ },
47
+ [chainId, dispatch],
48
+ )
49
+
50
+ return { checkingEA }
51
+ }
52
+
53
+ export default useEA
@@ -1,6 +1,6 @@
1
- import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'
2
- import type { RootState, AppDispatch } from '../store'
3
-
4
- // Use throughout your app instead of plain `useDispatch` and `useSelector`
5
- export const useAppDispatch = () => useDispatch<AppDispatch>()
6
- export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector
1
+ import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'
2
+ import type { RootState, AppDispatch } from '../store'
3
+
4
+ // Use throughout your app instead of plain `useDispatch` and `useSelector`
5
+ export const useAppDispatch = () => useDispatch<AppDispatch>()
6
+ export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector
package/src/index.css CHANGED
@@ -1,61 +1,61 @@
1
- @font-face {
2
- font-family: 'Recoleta-Medium';
3
- src: local('Recoleta-Medium'),
4
- url(./fonts/Recoleta/Recoleta-Medium.otf) format('truetype');
5
- font-weight: 500;
6
- }
7
-
8
- @font-face {
9
- font-family: 'Roboto-Medium';
10
- src: local('Roboto-Medium'),
11
- url(./fonts/Roboto/Roboto-Medium.ttf) format('truetype');
12
- font-weight: 500;
13
- }
14
-
15
- @font-face {
16
- font-family: 'Roboto-Regular';
17
- src: local('Roboto-Regular'),
18
- url(./fonts/Roboto/Roboto-Regular.ttf) format('truetype');
19
- font-weight: 400;
20
- }
21
-
22
- @font-face {
23
- font-family: 'Inter-Bold';
24
- src: local('Inter-Bold'), url(./fonts/Inter/Inter-Bold.ttf) format('truetype');
25
- font-weight: 700;
26
- }
27
-
28
- @font-face {
29
- font-family: 'Inter-Medium';
30
- src: local('Inter-Medium'),
31
- url(./fonts/Inter/Inter-Medium.ttf) format('truetype');
32
- font-weight: 500;
33
- }
34
-
35
- @font-face {
36
- font-family: 'Inter-Regular';
37
- src: local('Inter-Regular'),
38
- url(./fonts/Inter/Inter-Regular.ttf) format('truetype');
39
- font-weight: 400;
40
- }
41
-
42
- @font-face {
43
- font-family: 'Uni-Neue-Black';
44
- src: local('Uni-Neue-Black'),
45
- url(./fonts/UniNeue/UniNeue-Black.ttf) format('truetype');
46
- font-weight: 800;
47
- }
48
-
49
- @font-face {
50
- font-family: 'Uni-Neue-Bold';
51
- src: local('Uni-Neue-Bold'),
52
- url(./fonts/UniNeue/UniNeue-Bold.ttf) format('truetype');
53
- font-weight: 700;
54
- }
55
-
56
- @font-face {
57
- font-family: 'Uni-Neue-Regular';
58
- src: local('Uni-Neue-Regular'),
59
- url(./fonts/UniNeue/UniNeue-Regular.ttf) format('truetype');
60
- font-weight: 400;
61
- }
1
+ @font-face {
2
+ font-family: 'Recoleta-Medium';
3
+ src: local('Recoleta-Medium'),
4
+ url(./fonts/Recoleta/Recoleta-Medium.otf) format('truetype');
5
+ font-weight: 500;
6
+ }
7
+
8
+ @font-face {
9
+ font-family: 'Roboto-Medium';
10
+ src: local('Roboto-Medium'),
11
+ url(./fonts/Roboto/Roboto-Medium.ttf) format('truetype');
12
+ font-weight: 500;
13
+ }
14
+
15
+ @font-face {
16
+ font-family: 'Roboto-Regular';
17
+ src: local('Roboto-Regular'),
18
+ url(./fonts/Roboto/Roboto-Regular.ttf) format('truetype');
19
+ font-weight: 400;
20
+ }
21
+
22
+ @font-face {
23
+ font-family: 'Inter-Bold';
24
+ src: local('Inter-Bold'), url(./fonts/Inter/Inter-Bold.ttf) format('truetype');
25
+ font-weight: 700;
26
+ }
27
+
28
+ @font-face {
29
+ font-family: 'Inter-Medium';
30
+ src: local('Inter-Medium'),
31
+ url(./fonts/Inter/Inter-Medium.ttf) format('truetype');
32
+ font-weight: 500;
33
+ }
34
+
35
+ @font-face {
36
+ font-family: 'Inter-Regular';
37
+ src: local('Inter-Regular'),
38
+ url(./fonts/Inter/Inter-Regular.ttf) format('truetype');
39
+ font-weight: 400;
40
+ }
41
+
42
+ @font-face {
43
+ font-family: 'Uni-Neue-Black';
44
+ src: local('Uni-Neue-Black'),
45
+ url(./fonts/UniNeue/UniNeue-Black.ttf) format('truetype');
46
+ font-weight: 800;
47
+ }
48
+
49
+ @font-face {
50
+ font-family: 'Uni-Neue-Bold';
51
+ src: local('Uni-Neue-Bold'),
52
+ url(./fonts/UniNeue/UniNeue-Bold.ttf) format('truetype');
53
+ font-weight: 700;
54
+ }
55
+
56
+ @font-face {
57
+ font-family: 'Uni-Neue-Regular';
58
+ src: local('Uni-Neue-Regular'),
59
+ url(./fonts/UniNeue/UniNeue-Regular.ttf) format('truetype');
60
+ font-weight: 400;
61
+ }