@huma-finance/widgets 0.0.31 → 0.0.33

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 (176) 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 +1026 -296
  19. package/dist/cjs/index.cjs.map +1 -1
  20. package/dist/index.d.ts +193 -193
  21. package/dist/index.js +1028 -299
  22. package/dist/index.js.map +1 -1
  23. package/jsdoc2md.json +20 -20
  24. package/package.json +4 -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/ChooseAmountModal.tsx +322 -322
  35. package/src/components/ConfirmTransferModal.tsx +153 -153
  36. package/src/components/CreditLine/borrow/1-Evaluation.tsx +157 -157
  37. package/src/components/CreditLine/borrow/2-ChooseAmount.tsx +68 -68
  38. package/src/components/CreditLine/borrow/3-Transfer.tsx +44 -44
  39. package/src/components/CreditLine/borrow/4-ApproveAllowance.tsx +29 -29
  40. package/src/components/CreditLine/borrow/5-Success.tsx +38 -30
  41. package/src/components/CreditLine/borrow/6-Notifications.tsx +10 -0
  42. package/src/components/CreditLine/borrow/index.tsx +136 -117
  43. package/src/components/CreditLine/payment/1-ChooseAmount.tsx +67 -67
  44. package/src/components/CreditLine/payment/2-ApproveAllowance.tsx +23 -23
  45. package/src/components/CreditLine/payment/3-Transfer.tsx +34 -34
  46. package/src/components/CreditLine/payment/4-Success.tsx +39 -39
  47. package/src/components/CreditLine/payment/index.tsx +94 -94
  48. package/src/components/ErrorModal.tsx +132 -132
  49. package/src/components/Factoring/FactoredList.tsx +143 -143
  50. package/src/components/Factoring/UpcomingList.tsx +90 -90
  51. package/src/components/Factoring/index.ts +2 -2
  52. package/src/components/HumaLoading.tsx +68 -68
  53. package/src/components/HumaSnackBar.tsx +60 -0
  54. package/src/components/HumaTable.tsx +158 -158
  55. package/src/components/InvoiceFactoring/borrow/1-Evaluation.tsx +49 -49
  56. package/src/components/InvoiceFactoring/borrow/2-ChooseAmount.tsx +88 -88
  57. package/src/components/InvoiceFactoring/borrow/3-ConfirmTransfer.tsx +37 -37
  58. package/src/components/InvoiceFactoring/borrow/4-ApproveNFT.tsx +55 -55
  59. package/src/components/InvoiceFactoring/borrow/5-Transfer.tsx +34 -34
  60. package/src/components/InvoiceFactoring/borrow/6-Success.tsx +20 -20
  61. package/src/components/InvoiceFactoring/borrow/index.tsx +94 -94
  62. package/src/components/InvoiceFactoring/payment/1-ChooseAmount.tsx +67 -67
  63. package/src/components/InvoiceFactoring/payment/2-ApproveAllowance.tsx +23 -23
  64. package/src/components/InvoiceFactoring/payment/3-Transfer.tsx +34 -34
  65. package/src/components/InvoiceFactoring/payment/4-Success.tsx +23 -23
  66. package/src/components/InvoiceFactoring/payment/index.tsx +86 -86
  67. package/src/components/Lend/supply/1-Evaluation/EvaluationEA.tsx +86 -0
  68. package/src/components/Lend/supply/1-Evaluation/EvaluationKYC.tsx +287 -0
  69. package/src/components/Lend/supply/1-Evaluation/index.tsx +31 -0
  70. package/src/components/Lend/supply/2-ChooseAmount.tsx +69 -70
  71. package/src/components/Lend/supply/3-ApproveAllowance.tsx +25 -25
  72. package/src/components/Lend/supply/{6-Transfer.tsx → 4-Transfer.tsx} +32 -32
  73. package/src/components/Lend/supply/{7-Success.tsx → 5-Success.tsx} +60 -49
  74. package/src/components/Lend/supply/6-Notifications.tsx +10 -0
  75. package/src/components/Lend/supply/index.tsx +167 -144
  76. package/src/components/Lend/withdraw/1-CheckWithdrawble.tsx +73 -73
  77. package/src/components/Lend/withdraw/2-ChooseAmount.tsx +50 -50
  78. package/src/components/Lend/withdraw/3-Transfer.tsx +32 -32
  79. package/src/components/Lend/withdraw/4-Success.tsx +49 -49
  80. package/src/components/Lend/withdraw/index.tsx +101 -101
  81. package/src/components/LoadingModal.tsx +49 -49
  82. package/src/components/Notifi/NotifiSubscriptionModal.tsx +264 -0
  83. package/src/components/StreamFactoring/borrow/1-Evaluation.tsx +55 -55
  84. package/src/components/StreamFactoring/borrow/2-ChooseAmount.tsx +127 -127
  85. package/src/components/StreamFactoring/borrow/3-ConfirmTransfer.tsx +42 -42
  86. package/src/components/StreamFactoring/borrow/4-ApproveAllowance.tsx +33 -33
  87. package/src/components/StreamFactoring/borrow/5-Permit.tsx +144 -144
  88. package/src/components/StreamFactoring/borrow/6-Transfer.tsx +37 -37
  89. package/src/components/StreamFactoring/borrow/7-Success.tsx +20 -20
  90. package/src/components/StreamFactoring/borrow/index.tsx +94 -94
  91. package/src/components/StreamFactoring/payment/ChooseAmount.tsx +54 -54
  92. package/src/components/StreamFactoring/payment/Success.tsx +23 -23
  93. package/src/components/StreamFactoring/payment/Transfer.tsx +34 -34
  94. package/src/components/StreamFactoring/payment/index.tsx +66 -66
  95. package/src/components/SuperfluidFactoring/SuperfluidFactoredList.tsx +70 -70
  96. package/src/components/SuperfluidFactoring/SuperfluidUpcomingList.tsx +167 -167
  97. package/src/components/SuperfluidFactoring/index.tsx +85 -85
  98. package/src/components/TxDoneModal.tsx +85 -83
  99. package/src/components/TxSendModal.tsx +59 -59
  100. package/src/components/ViewOnExplorer.tsx +26 -26
  101. package/src/components/WidgetWrapper.tsx +74 -74
  102. package/src/components/WrapperModal.tsx +54 -54
  103. package/src/components/buttons/TableActionButton.tsx +36 -36
  104. package/src/components/buttons/index.ts +1 -1
  105. package/src/components/humaModal/HumaModal.tsx +68 -68
  106. package/src/components/humaModal/HumaModalHeader.tsx +70 -70
  107. package/src/components/humaModal/index.tsx +2 -2
  108. package/src/components/icons/approve-lender.svg +30 -30
  109. package/src/components/icons/auto-payback.svg +40 -40
  110. package/src/components/icons/check-circle.svg +3 -3
  111. package/src/components/icons/check-green.svg +3 -3
  112. package/src/components/icons/check.svg +10 -10
  113. package/src/components/icons/donut.svg +904 -904
  114. package/src/components/icons/ellipse.svg +3 -3
  115. package/src/components/icons/huma-full.svg +22 -22
  116. package/src/components/icons/huma.svg +15 -15
  117. package/src/components/icons/index.tsx +93 -93
  118. package/src/components/icons/loader.svg +229 -229
  119. package/src/components/icons/metamask.svg +31 -31
  120. package/src/components/icons/polygon.svg +16 -16
  121. package/src/components/icons/receipt.svg +3 -3
  122. package/src/components/icons/separator.svg +3 -3
  123. package/src/components/icons/sorry.svg +31 -31
  124. package/src/components/icons/usdc.svg +5 -5
  125. package/src/components/icons/wallet-connect.svg +11 -11
  126. package/src/cosmos/CreditLineBorrow.fixture.tsx +86 -86
  127. package/src/cosmos/CreditLinePayment.fixture.tsx +50 -50
  128. package/src/cosmos/InvoiceFactoringBorrow.fixture.tsx +111 -111
  129. package/src/cosmos/InvoiceFactoringPayment.fixture.tsx +67 -67
  130. package/src/cosmos/LendSupply.fixture.tsx +75 -75
  131. package/src/cosmos/LendWithdraw.fixture.tsx +43 -43
  132. package/src/cosmos/SDKTesting.fixture.tsx +616 -616
  133. package/src/cosmos/SuperfluidFactoringBorrow.fixture.tsx +15 -15
  134. package/src/cosmos/WalletWrapper.tsx +52 -52
  135. package/src/cosmos/abis/InvoiceNFT.json +644 -644
  136. package/src/cosmos/abis/ReceivableFactoringPool.json +1529 -1529
  137. package/src/cosmos/utils/env.ts +6 -6
  138. package/src/cosmos/utils/index.ts +169 -169
  139. package/src/fonts/Recoleta/Recoleta-Black.otf +0 -0
  140. package/src/fonts/Recoleta/Recoleta-Bold.otf +0 -0
  141. package/src/fonts/Recoleta/Recoleta-Light.otf +0 -0
  142. package/src/fonts/Recoleta/Recoleta-Medium.otf +0 -0
  143. package/src/fonts/Recoleta/Recoleta-Regular.otf +0 -0
  144. package/src/fonts/Recoleta/Recoleta-RegularDEMO.otf +0 -0
  145. package/src/fonts/Recoleta/Recoleta-SemiBold.otf +0 -0
  146. package/src/fonts/Recoleta/Recoleta-Thin.otf +0 -0
  147. package/src/hooks/useEA.ts +53 -53
  148. package/src/hooks/useNotifi.ts +71 -0
  149. package/src/hooks/useRedux.ts +6 -6
  150. package/src/index.css +61 -61
  151. package/src/index.tsx +301 -301
  152. package/src/react-app-env.d.ts +1 -1
  153. package/src/reportWebVitals.ts +15 -15
  154. package/src/setupTests.ts +6 -6
  155. package/src/store/index.ts +27 -27
  156. package/src/store/widgets.reducers.ts +120 -120
  157. package/src/store/widgets.selectors.ts +3 -3
  158. package/src/store/widgets.store.ts +55 -54
  159. package/src/theme/breakpoints.ts +10 -10
  160. package/src/theme/components.ts +70 -70
  161. package/src/theme/coreThemeConstants.ts +29 -29
  162. package/src/theme/cssMixins.ts +92 -92
  163. package/src/theme/hooks/useGetSizes.ts +31 -31
  164. package/src/theme/index.ts +24 -24
  165. package/src/theme/palette.ts +150 -150
  166. package/src/theme/shape.ts +7 -7
  167. package/src/theme/theme.types.ts +80 -80
  168. package/src/theme/typography.ts +117 -117
  169. package/src/utilTypes.d.ts +31 -31
  170. package/src/utils/env.ts +10 -10
  171. package/tsconfig.build.json +7 -7
  172. package/tsconfig.json +32 -32
  173. package/webpack.cosmos.js +54 -54
  174. package/src/components/Lend/supply/1-Evaluation.tsx +0 -175
  175. package/src/components/Lend/supply/4-ConfirmTransfer.tsx +0 -104
  176. package/src/components/NotifiSubscriptionModal.tsx +0 -84
@@ -1,27 +1,27 @@
1
- import {
2
- Action,
3
- ActionCreator,
4
- AnyAction,
5
- configureStore,
6
- ThunkAction,
7
- } from '@reduxjs/toolkit'
8
-
9
- import widgetsReducers from './widgets.reducers'
10
-
11
- export const store = configureStore({
12
- reducer: {
13
- widget: widgetsReducers,
14
- },
15
- })
16
-
17
- export type AppDispatch = typeof store.dispatch
18
- export type RootState = ReturnType<typeof store.getState>
19
- export type AppThunk<ReturnType = void> = ThunkAction<
20
- ReturnType,
21
- RootState,
22
- unknown,
23
- Action<string>
24
- >
25
- export type AppActionThunk<ReturnType = void> = ActionCreator<
26
- ThunkAction<ReturnType, RootState, unknown, AnyAction>
27
- >
1
+ import {
2
+ Action,
3
+ ActionCreator,
4
+ AnyAction,
5
+ configureStore,
6
+ ThunkAction,
7
+ } from '@reduxjs/toolkit'
8
+
9
+ import widgetsReducers from './widgets.reducers'
10
+
11
+ export const store = configureStore({
12
+ reducer: {
13
+ widget: widgetsReducers,
14
+ },
15
+ })
16
+
17
+ export type AppDispatch = typeof store.dispatch
18
+ export type RootState = ReturnType<typeof store.getState>
19
+ export type AppThunk<ReturnType = void> = ThunkAction<
20
+ ReturnType,
21
+ RootState,
22
+ unknown,
23
+ Action<string>
24
+ >
25
+ export type AppActionThunk<ReturnType = void> = ActionCreator<
26
+ ThunkAction<ReturnType, RootState, unknown, AnyAction>
27
+ >
@@ -1,120 +1,120 @@
1
- import { createSlice, PayloadAction } from '@reduxjs/toolkit'
2
- import { Approval } from '@huma-finance/shared'
3
-
4
- import {
5
- initialWidgetState,
6
- MultisendPayload,
7
- WIDGET_STEP,
8
- WidgetStream,
9
- } from './widgets.store'
10
-
11
- export const widgetSlice = createSlice({
12
- name: 'widget',
13
- initialState: initialWidgetState,
14
- reducers: {
15
- resetState: (state) => {
16
- state.errorReason = ''
17
- state.errorMessage = ''
18
- state.step = undefined
19
- state.approval = undefined
20
- state.borrowAmount = undefined
21
- state.borrowAmountBN = undefined
22
- state.chargedFees = undefined
23
- state.borrowAmountNet = undefined
24
- state.remainder = undefined
25
- state.tokenId = undefined
26
- state.paymentAmount = undefined
27
- state.remainDueAmount = undefined
28
- state.stream = undefined
29
- state.multisend = undefined
30
- state.supplyAmount = undefined
31
- state.withdrawAmount = undefined
32
- },
33
- setStep: (state, { payload }: PayloadAction<WIDGET_STEP>) => {
34
- state.step = payload
35
- },
36
- setApproval: (
37
- state,
38
- { payload }: PayloadAction<Approval & { nextStep: WIDGET_STEP }>,
39
- ) => {
40
- state.approval = payload
41
- if (Number(payload.terms.creditLimit) > 0) {
42
- state.step = payload.nextStep
43
- } else {
44
- state.errorMessage =
45
- 'Sorry, there was an error with your transaction. Please try submitting again.'
46
- state.step = WIDGET_STEP.Error
47
- }
48
- },
49
- setBorrowInfo: (
50
- state,
51
- {
52
- payload,
53
- }: PayloadAction<{
54
- borrowAmount: number
55
- borrowAmountBN: string
56
- chargedFees: number
57
- nextStep: WIDGET_STEP
58
- remainder?: number
59
- }>,
60
- ) => {
61
- state.borrowAmount = payload.borrowAmount
62
- state.borrowAmountBN = payload.borrowAmountBN
63
- state.remainder = payload.remainder
64
- state.chargedFees = payload.chargedFees
65
- state.borrowAmountNet = payload.borrowAmount - payload.chargedFees
66
- state.step = payload.nextStep
67
- },
68
- setTokenId: (state, { payload }: PayloadAction<string>) => {
69
- state.tokenId = payload
70
- },
71
- setPaymentAmount: (
72
- state,
73
- {
74
- payload,
75
- }: PayloadAction<{ paymentAmount: number; remainDueAmount?: number }>,
76
- ) => {
77
- state.paymentAmount = payload.paymentAmount
78
- state.remainDueAmount = payload.remainDueAmount
79
- },
80
- setSupplyAmount: (state, { payload }: PayloadAction<number>) => {
81
- state.supplyAmount = payload
82
- },
83
- setWithdrawAmount: (state, { payload }: PayloadAction<number>) => {
84
- state.withdrawAmount = payload
85
- },
86
- setStream: (state, { payload }: PayloadAction<WidgetStream>) => {
87
- const stream = state.stream ?? {}
88
- state.stream = { ...stream, ...payload }
89
- },
90
- setMultisend: (state, { payload }: PayloadAction<MultisendPayload>) => {
91
- state.multisend = payload
92
- },
93
- setError: (
94
- state,
95
- {
96
- payload,
97
- }: PayloadAction<{ errorMessage: string; errorReason?: string }>,
98
- ) => {
99
- state.errorMessage = payload.errorMessage
100
- state.errorReason = payload.errorReason
101
- state.step = WIDGET_STEP.Error
102
- },
103
- },
104
- })
105
-
106
- export const {
107
- resetState,
108
- setStep,
109
- setApproval,
110
- setBorrowInfo,
111
- setError,
112
- setTokenId,
113
- setPaymentAmount,
114
- setStream,
115
- setMultisend,
116
- setSupplyAmount,
117
- setWithdrawAmount,
118
- } = widgetSlice.actions
119
-
120
- export default widgetSlice.reducer
1
+ import { createSlice, PayloadAction } from '@reduxjs/toolkit'
2
+ import { Approval } from '@huma-finance/shared'
3
+
4
+ import {
5
+ initialWidgetState,
6
+ MultisendPayload,
7
+ WIDGET_STEP,
8
+ WidgetStream,
9
+ } from './widgets.store'
10
+
11
+ export const widgetSlice = createSlice({
12
+ name: 'widget',
13
+ initialState: initialWidgetState,
14
+ reducers: {
15
+ resetState: (state) => {
16
+ state.errorReason = ''
17
+ state.errorMessage = ''
18
+ state.step = undefined
19
+ state.approval = undefined
20
+ state.borrowAmount = undefined
21
+ state.borrowAmountBN = undefined
22
+ state.chargedFees = undefined
23
+ state.borrowAmountNet = undefined
24
+ state.remainder = undefined
25
+ state.tokenId = undefined
26
+ state.paymentAmount = undefined
27
+ state.remainDueAmount = undefined
28
+ state.stream = undefined
29
+ state.multisend = undefined
30
+ state.supplyAmount = undefined
31
+ state.withdrawAmount = undefined
32
+ },
33
+ setStep: (state, { payload }: PayloadAction<WIDGET_STEP>) => {
34
+ state.step = payload
35
+ },
36
+ setApproval: (
37
+ state,
38
+ { payload }: PayloadAction<Approval & { nextStep: WIDGET_STEP }>,
39
+ ) => {
40
+ state.approval = payload
41
+ if (Number(payload.terms.creditLimit) > 0) {
42
+ state.step = payload.nextStep
43
+ } else {
44
+ state.errorMessage =
45
+ 'Sorry, there was an error with your transaction. Please try submitting again.'
46
+ state.step = WIDGET_STEP.Error
47
+ }
48
+ },
49
+ setBorrowInfo: (
50
+ state,
51
+ {
52
+ payload,
53
+ }: PayloadAction<{
54
+ borrowAmount: number
55
+ borrowAmountBN: string
56
+ chargedFees: number
57
+ nextStep: WIDGET_STEP
58
+ remainder?: number
59
+ }>,
60
+ ) => {
61
+ state.borrowAmount = payload.borrowAmount
62
+ state.borrowAmountBN = payload.borrowAmountBN
63
+ state.remainder = payload.remainder
64
+ state.chargedFees = payload.chargedFees
65
+ state.borrowAmountNet = payload.borrowAmount - payload.chargedFees
66
+ state.step = payload.nextStep
67
+ },
68
+ setTokenId: (state, { payload }: PayloadAction<string>) => {
69
+ state.tokenId = payload
70
+ },
71
+ setPaymentAmount: (
72
+ state,
73
+ {
74
+ payload,
75
+ }: PayloadAction<{ paymentAmount: number; remainDueAmount?: number }>,
76
+ ) => {
77
+ state.paymentAmount = payload.paymentAmount
78
+ state.remainDueAmount = payload.remainDueAmount
79
+ },
80
+ setSupplyAmount: (state, { payload }: PayloadAction<number>) => {
81
+ state.supplyAmount = payload
82
+ },
83
+ setWithdrawAmount: (state, { payload }: PayloadAction<number>) => {
84
+ state.withdrawAmount = payload
85
+ },
86
+ setStream: (state, { payload }: PayloadAction<WidgetStream>) => {
87
+ const stream = state.stream ?? {}
88
+ state.stream = { ...stream, ...payload }
89
+ },
90
+ setMultisend: (state, { payload }: PayloadAction<MultisendPayload>) => {
91
+ state.multisend = payload
92
+ },
93
+ setError: (
94
+ state,
95
+ {
96
+ payload,
97
+ }: PayloadAction<{ errorMessage: string; errorReason?: string }>,
98
+ ) => {
99
+ state.errorMessage = payload.errorMessage
100
+ state.errorReason = payload.errorReason
101
+ state.step = WIDGET_STEP.Error
102
+ },
103
+ },
104
+ })
105
+
106
+ export const {
107
+ resetState,
108
+ setStep,
109
+ setApproval,
110
+ setBorrowInfo,
111
+ setError,
112
+ setTokenId,
113
+ setPaymentAmount,
114
+ setStream,
115
+ setMultisend,
116
+ setSupplyAmount,
117
+ setWithdrawAmount,
118
+ } = widgetSlice.actions
119
+
120
+ export default widgetSlice.reducer
@@ -1,3 +1,3 @@
1
- import { RootState } from '.'
2
-
3
- export const selectWidgetState = (state: RootState) => state.widget
1
+ import { RootState } from '.'
2
+
3
+ export const selectWidgetState = (state: RootState) => state.widget
@@ -1,54 +1,55 @@
1
- import { Approval } from '@huma-finance/shared'
2
-
3
- export enum WIDGET_TYPE {
4
- BORROW = 'BORROW',
5
- PAYMENT = 'PAYMENT',
6
- }
7
-
8
- export enum WIDGET_STEP {
9
- Evaluation = 'Evaluation',
10
- ChooseAmount = 'ChooseAmount',
11
- Permit = 'Permit',
12
- ApproveAllowance = 'ApproveAllowance',
13
- MintNFT = 'MintNFT',
14
- ConfirmTransfer = 'ConfirmTransfer',
15
- ApproveNFT = 'ApproveNFT',
16
- Transfer = 'Transfer',
17
- CheckWithdrawable = 'CheckWithdrawable',
18
- Done = 'Done',
19
- Error = 'Error',
20
- }
21
-
22
- export type WidgetStream = Partial<{
23
- borrowFlowrate: string
24
- durationInSeconds: number
25
- }>
26
-
27
- export type MultisendPayload = {
28
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
- addresses: any[]
30
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
- callData: any[]
32
- }
33
-
34
- export type WidgetState = {
35
- step?: WIDGET_STEP
36
- type?: WIDGET_TYPE
37
- approval?: Approval
38
- borrowAmount?: number
39
- borrowAmountBN?: string
40
- chargedFees?: number
41
- borrowAmountNet?: number
42
- remainder?: number
43
- paymentAmount?: number
44
- remainDueAmount?: number
45
- supplyAmount?: number
46
- withdrawAmount?: number
47
- errorMessage?: string
48
- errorReason?: string
49
- tokenId?: string
50
- stream?: WidgetStream
51
- multisend?: MultisendPayload
52
- }
53
-
54
- export const initialWidgetState: WidgetState = {}
1
+ import { Approval } from '@huma-finance/shared'
2
+
3
+ export enum WIDGET_TYPE {
4
+ BORROW = 'BORROW',
5
+ PAYMENT = 'PAYMENT',
6
+ }
7
+
8
+ export enum WIDGET_STEP {
9
+ Evaluation = 'Evaluation',
10
+ ChooseAmount = 'ChooseAmount',
11
+ Permit = 'Permit',
12
+ ApproveAllowance = 'ApproveAllowance',
13
+ MintNFT = 'MintNFT',
14
+ ConfirmTransfer = 'ConfirmTransfer',
15
+ ApproveNFT = 'ApproveNFT',
16
+ Transfer = 'Transfer',
17
+ CheckWithdrawable = 'CheckWithdrawable',
18
+ Notifications = 'Notifications',
19
+ Done = 'Done',
20
+ Error = 'Error',
21
+ }
22
+
23
+ export type WidgetStream = Partial<{
24
+ borrowFlowrate: string
25
+ durationInSeconds: number
26
+ }>
27
+
28
+ export type MultisendPayload = {
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
+ addresses: any[]
31
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
+ callData: any[]
33
+ }
34
+
35
+ export type WidgetState = {
36
+ step?: WIDGET_STEP
37
+ type?: WIDGET_TYPE
38
+ approval?: Approval
39
+ borrowAmount?: number
40
+ borrowAmountBN?: string
41
+ chargedFees?: number
42
+ borrowAmountNet?: number
43
+ remainder?: number
44
+ paymentAmount?: number
45
+ remainDueAmount?: number
46
+ supplyAmount?: number
47
+ withdrawAmount?: number
48
+ errorMessage?: string
49
+ errorReason?: string
50
+ tokenId?: string
51
+ stream?: WidgetStream
52
+ multisend?: MultisendPayload
53
+ }
54
+
55
+ export const initialWidgetState: WidgetState = {}
@@ -1,10 +1,10 @@
1
- import { Breakpoints } from '@mui/system'
2
-
3
- export const breakpoints: Partial<
4
- {
5
- step: number
6
- unit: string
7
- } & Breakpoints
8
- > = {
9
- values: { xs: 460, sm: 600, md: 960, lg: 1280, xl: 1920 },
10
- }
1
+ import { Breakpoints } from '@mui/system'
2
+
3
+ export const breakpoints: Partial<
4
+ {
5
+ step: number
6
+ unit: string
7
+ } & Breakpoints
8
+ > = {
9
+ values: { xs: 460, sm: 600, md: 960, lg: 1280, xl: 1920 },
10
+ }
@@ -1,70 +1,70 @@
1
- /**
2
- * This file can be used to override default props and styles on the various Material components
3
- * see: https://mui.com/customization/theme-components/
4
- */
5
- import { Theme, ThemeOptions } from '@mui/material'
6
-
7
- export function components(theme: Theme): ThemeOptions['components'] {
8
- return {
9
- MuiButton: {
10
- defaultProps: {
11
- disableElevation: true,
12
- },
13
- styleOverrides: {
14
- contained: {
15
- // align outlined vs contained borders
16
- border: '1px solid transparent',
17
- background:
18
- 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%)',
19
- },
20
- outlined: {
21
- '.MuiBox-root': {
22
- background:
23
- 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%)',
24
- backgroundClip: 'text',
25
- textFillColor: 'transparent',
26
- },
27
- },
28
- root: {
29
- fontFamily: 'Uni-Neue-Bold',
30
- fontSize: '15px',
31
- borderRadius: '32px',
32
- '&.MuiButton-containedPrimary': {
33
- '&:hover': {
34
- backgroundColor: theme.palette.primary.main,
35
- },
36
- boxShadow:
37
- '0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.14), 0px 1px 5px rgba(0, 0, 0, 0.12)',
38
- },
39
- '&.MuiButton-outlinedPrimary': {
40
- '&:hover': {
41
- backgroundColor: theme.palette.common.white,
42
- },
43
- },
44
- textTransform: 'none',
45
- '&.Mui-disabled': {
46
- border: 'none',
47
- background: 'rgba(0, 0, 0, 0.12)',
48
- boxShadow: 'unset',
49
- },
50
- },
51
- },
52
- },
53
- MuiButtonBase: {
54
- defaultProps: {},
55
- },
56
- MuiCssBaseline: {
57
- styleOverrides: {
58
- dd: {
59
- margin: 0,
60
- },
61
- dl: {
62
- margin: 0,
63
- },
64
- dt: {
65
- margin: 0,
66
- },
67
- },
68
- },
69
- }
70
- }
1
+ /**
2
+ * This file can be used to override default props and styles on the various Material components
3
+ * see: https://mui.com/customization/theme-components/
4
+ */
5
+ import { Theme, ThemeOptions } from '@mui/material'
6
+
7
+ export function components(theme: Theme): ThemeOptions['components'] {
8
+ return {
9
+ MuiButton: {
10
+ defaultProps: {
11
+ disableElevation: true,
12
+ },
13
+ styleOverrides: {
14
+ contained: {
15
+ // align outlined vs contained borders
16
+ border: '1px solid transparent',
17
+ background:
18
+ 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%)',
19
+ },
20
+ outlined: {
21
+ '.MuiBox-root': {
22
+ background:
23
+ 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%)',
24
+ backgroundClip: 'text',
25
+ textFillColor: 'transparent',
26
+ },
27
+ },
28
+ root: {
29
+ fontFamily: 'Uni-Neue-Bold',
30
+ fontSize: '15px',
31
+ borderRadius: '32px',
32
+ '&.MuiButton-containedPrimary': {
33
+ '&:hover': {
34
+ backgroundColor: theme.palette.primary.main,
35
+ },
36
+ boxShadow:
37
+ '0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.14), 0px 1px 5px rgba(0, 0, 0, 0.12)',
38
+ },
39
+ '&.MuiButton-outlinedPrimary': {
40
+ '&:hover': {
41
+ backgroundColor: theme.palette.common.white,
42
+ },
43
+ },
44
+ textTransform: 'none',
45
+ '&.Mui-disabled': {
46
+ border: 'none',
47
+ background: 'rgba(0, 0, 0, 0.12)',
48
+ boxShadow: 'unset',
49
+ },
50
+ },
51
+ },
52
+ },
53
+ MuiButtonBase: {
54
+ defaultProps: {},
55
+ },
56
+ MuiCssBaseline: {
57
+ styleOverrides: {
58
+ dd: {
59
+ margin: 0,
60
+ },
61
+ dl: {
62
+ margin: 0,
63
+ },
64
+ dt: {
65
+ margin: 0,
66
+ },
67
+ },
68
+ },
69
+ }
70
+ }
@@ -1,29 +1,29 @@
1
- export const coreThemeConstants = {
2
- borderRadius: {
3
- md: 4,
4
- },
5
- fontFamily: [
6
- 'Roboto',
7
- '-apple-system',
8
- 'BlinkMacSystemFont',
9
- '"Segoe UI"',
10
- '"Helvetica Neue"',
11
- 'Arial',
12
- 'sans-serif',
13
- '"Apple Color Emoji"',
14
- '"Segoe UI Emoji"',
15
- '"Segoe UI Symbol"',
16
- ].join(','),
17
- letterSpacing: {
18
- lg: '2px',
19
- md: '1px',
20
- sm: '0.45px',
21
- xs: '0.25px',
22
- },
23
- lineHeight: {
24
- lg: 1.4, // 22.4px on 16
25
- md: 1.1875, // 19px on 16, 47.5 on 40
26
- xl: 1.5, // 24px on 16
27
- },
28
- spacingBase: 8, // 8px grid
29
- }
1
+ export const coreThemeConstants = {
2
+ borderRadius: {
3
+ md: 4,
4
+ },
5
+ fontFamily: [
6
+ 'Roboto',
7
+ '-apple-system',
8
+ 'BlinkMacSystemFont',
9
+ '"Segoe UI"',
10
+ '"Helvetica Neue"',
11
+ 'Arial',
12
+ 'sans-serif',
13
+ '"Apple Color Emoji"',
14
+ '"Segoe UI Emoji"',
15
+ '"Segoe UI Symbol"',
16
+ ].join(','),
17
+ letterSpacing: {
18
+ lg: '2px',
19
+ md: '1px',
20
+ sm: '0.45px',
21
+ xs: '0.25px',
22
+ },
23
+ lineHeight: {
24
+ lg: 1.4, // 22.4px on 16
25
+ md: 1.1875, // 19px on 16, 47.5 on 40
26
+ xl: 1.5, // 24px on 16
27
+ },
28
+ spacingBase: 8, // 8px grid
29
+ }