@reown/appkit-core-react-native 2.0.0-alpha.1 → 2.0.0-alpha.3

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 (228) hide show
  1. package/lib/commonjs/controllers/ApiController.js +16 -21
  2. package/lib/commonjs/controllers/ApiController.js.map +1 -1
  3. package/lib/commonjs/controllers/AssetController.js +0 -4
  4. package/lib/commonjs/controllers/AssetController.js.map +1 -1
  5. package/lib/commonjs/controllers/BlockchainApiController.js +102 -112
  6. package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
  7. package/lib/commonjs/controllers/ConnectionsController.js +248 -51
  8. package/lib/commonjs/controllers/ConnectionsController.js.map +1 -1
  9. package/lib/commonjs/controllers/EnsController.js +4 -4
  10. package/lib/commonjs/controllers/EnsController.js.map +1 -1
  11. package/lib/commonjs/controllers/EventsController.js +4 -4
  12. package/lib/commonjs/controllers/EventsController.js.map +1 -1
  13. package/lib/commonjs/controllers/ModalController.js +6 -7
  14. package/lib/commonjs/controllers/ModalController.js.map +1 -1
  15. package/lib/commonjs/controllers/OnRampController.js +117 -53
  16. package/lib/commonjs/controllers/OnRampController.js.map +1 -1
  17. package/lib/commonjs/controllers/OptionsController.js +10 -4
  18. package/lib/commonjs/controllers/OptionsController.js.map +1 -1
  19. package/lib/commonjs/controllers/PublicStateController.js.map +1 -1
  20. package/lib/commonjs/controllers/RouterController.js +6 -21
  21. package/lib/commonjs/controllers/RouterController.js.map +1 -1
  22. package/lib/commonjs/controllers/SendController.js +100 -100
  23. package/lib/commonjs/controllers/SendController.js.map +1 -1
  24. package/lib/commonjs/controllers/SnackController.js +29 -5
  25. package/lib/commonjs/controllers/SnackController.js.map +1 -1
  26. package/lib/commonjs/controllers/SwapController.js +109 -117
  27. package/lib/commonjs/controllers/SwapController.js.map +1 -1
  28. package/lib/commonjs/controllers/ThemeController.js.map +1 -1
  29. package/lib/commonjs/controllers/TransactionsController.js +23 -19
  30. package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
  31. package/lib/commonjs/controllers/WcController.js +73 -0
  32. package/lib/commonjs/controllers/WcController.js.map +1 -0
  33. package/lib/commonjs/index.js +3 -38
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/package.json +1 -0
  36. package/lib/commonjs/utils/ApiUtil.js.map +1 -1
  37. package/lib/commonjs/utils/AssetUtil.js +6 -14
  38. package/lib/commonjs/utils/AssetUtil.js.map +1 -1
  39. package/lib/commonjs/utils/ConstantsUtil.js +13 -425
  40. package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
  41. package/lib/commonjs/utils/CoreHelperUtil.js +13 -8
  42. package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
  43. package/lib/commonjs/utils/EventUtil.js.map +1 -1
  44. package/lib/commonjs/utils/FetchUtil.js +34 -10
  45. package/lib/commonjs/utils/FetchUtil.js.map +1 -1
  46. package/lib/commonjs/utils/RouterUtil.js.map +1 -1
  47. package/lib/commonjs/utils/StorageUtil.js +77 -129
  48. package/lib/commonjs/utils/StorageUtil.js.map +1 -1
  49. package/lib/commonjs/utils/SwapApiUtil.js +2 -17
  50. package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
  51. package/lib/commonjs/utils/SwapCalculationUtil.js.map +1 -1
  52. package/lib/module/controllers/ApiController.js +17 -21
  53. package/lib/module/controllers/ApiController.js.map +1 -1
  54. package/lib/module/controllers/AssetController.js +2 -4
  55. package/lib/module/controllers/AssetController.js.map +1 -1
  56. package/lib/module/controllers/BlockchainApiController.js +103 -111
  57. package/lib/module/controllers/BlockchainApiController.js.map +1 -1
  58. package/lib/module/controllers/ConnectionsController.js +250 -51
  59. package/lib/module/controllers/ConnectionsController.js.map +1 -1
  60. package/lib/module/controllers/EnsController.js +4 -2
  61. package/lib/module/controllers/EnsController.js.map +1 -1
  62. package/lib/module/controllers/EventsController.js +3 -1
  63. package/lib/module/controllers/EventsController.js.map +1 -1
  64. package/lib/module/controllers/ModalController.js +8 -7
  65. package/lib/module/controllers/ModalController.js.map +1 -1
  66. package/lib/module/controllers/OnRampController.js +118 -52
  67. package/lib/module/controllers/OnRampController.js.map +1 -1
  68. package/lib/module/controllers/OptionsController.js +12 -4
  69. package/lib/module/controllers/OptionsController.js.map +1 -1
  70. package/lib/module/controllers/PublicStateController.js +2 -0
  71. package/lib/module/controllers/PublicStateController.js.map +1 -1
  72. package/lib/module/controllers/RouterController.js +8 -21
  73. package/lib/module/controllers/RouterController.js.map +1 -1
  74. package/lib/module/controllers/SendController.js +99 -97
  75. package/lib/module/controllers/SendController.js.map +1 -1
  76. package/lib/module/controllers/SnackController.js +31 -5
  77. package/lib/module/controllers/SnackController.js.map +1 -1
  78. package/lib/module/controllers/SwapController.js +111 -117
  79. package/lib/module/controllers/SwapController.js.map +1 -1
  80. package/lib/module/controllers/ThemeController.js +2 -0
  81. package/lib/module/controllers/ThemeController.js.map +1 -1
  82. package/lib/module/controllers/TransactionsController.js +23 -17
  83. package/lib/module/controllers/TransactionsController.js.map +1 -1
  84. package/lib/module/controllers/WcController.js +70 -0
  85. package/lib/module/controllers/WcController.js.map +1 -0
  86. package/lib/module/index.js +5 -6
  87. package/lib/module/index.js.map +1 -1
  88. package/lib/module/utils/ApiUtil.js +2 -0
  89. package/lib/module/utils/ApiUtil.js.map +1 -1
  90. package/lib/module/utils/AssetUtil.js +8 -14
  91. package/lib/module/utils/AssetUtil.js.map +1 -1
  92. package/lib/module/utils/ConstantsUtil.js +15 -425
  93. package/lib/module/utils/ConstantsUtil.js.map +1 -1
  94. package/lib/module/utils/CoreHelperUtil.js +15 -6
  95. package/lib/module/utils/CoreHelperUtil.js.map +1 -1
  96. package/lib/module/utils/EventUtil.js +2 -0
  97. package/lib/module/utils/EventUtil.js.map +1 -1
  98. package/lib/module/utils/FetchUtil.js +36 -10
  99. package/lib/module/utils/FetchUtil.js.map +1 -1
  100. package/lib/module/utils/RouterUtil.js +2 -0
  101. package/lib/module/utils/RouterUtil.js.map +1 -1
  102. package/lib/module/utils/StorageUtil.js +80 -129
  103. package/lib/module/utils/StorageUtil.js.map +1 -1
  104. package/lib/module/utils/SwapApiUtil.js +4 -17
  105. package/lib/module/utils/SwapApiUtil.js.map +1 -1
  106. package/lib/module/utils/SwapCalculationUtil.js +3 -0
  107. package/lib/module/utils/SwapCalculationUtil.js.map +1 -1
  108. package/lib/typescript/controllers/ApiController.d.ts +3 -4
  109. package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
  110. package/lib/typescript/controllers/AssetController.d.ts +0 -2
  111. package/lib/typescript/controllers/AssetController.d.ts.map +1 -1
  112. package/lib/typescript/controllers/BlockchainApiController.d.ts +21 -13
  113. package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
  114. package/lib/typescript/controllers/ConnectionsController.d.ts +19 -17
  115. package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -1
  116. package/lib/typescript/controllers/EnsController.d.ts +1 -1
  117. package/lib/typescript/controllers/EventsController.d.ts +1 -1
  118. package/lib/typescript/controllers/EventsController.d.ts.map +1 -1
  119. package/lib/typescript/controllers/ModalController.d.ts +1 -1
  120. package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
  121. package/lib/typescript/controllers/OnRampController.d.ts +4 -3
  122. package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
  123. package/lib/typescript/controllers/OptionsController.d.ts +4 -4
  124. package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
  125. package/lib/typescript/controllers/RouterController.d.ts +5 -20
  126. package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
  127. package/lib/typescript/controllers/SendController.d.ts +5 -7
  128. package/lib/typescript/controllers/SendController.d.ts.map +1 -1
  129. package/lib/typescript/controllers/SnackController.d.ts +3 -3
  130. package/lib/typescript/controllers/SnackController.d.ts.map +1 -1
  131. package/lib/typescript/controllers/SwapController.d.ts +11 -11
  132. package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
  133. package/lib/typescript/controllers/TransactionsController.d.ts +3 -3
  134. package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -1
  135. package/lib/typescript/controllers/WcController.d.ts +27 -0
  136. package/lib/typescript/controllers/WcController.d.ts.map +1 -0
  137. package/lib/typescript/index.d.ts +1 -7
  138. package/lib/typescript/index.d.ts.map +1 -1
  139. package/lib/typescript/utils/AssetUtil.d.ts +2 -3
  140. package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
  141. package/lib/typescript/utils/ConstantsUtil.d.ts +7 -415
  142. package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
  143. package/lib/typescript/utils/CoreHelperUtil.d.ts +4 -4
  144. package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
  145. package/lib/typescript/utils/EventUtil.d.ts +1 -1
  146. package/lib/typescript/utils/EventUtil.d.ts.map +1 -1
  147. package/lib/typescript/utils/FetchUtil.d.ts +1 -1
  148. package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
  149. package/lib/typescript/utils/StorageUtil.d.ts +8 -19
  150. package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
  151. package/lib/typescript/utils/SwapApiUtil.d.ts +3 -4
  152. package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
  153. package/lib/typescript/utils/SwapCalculationUtil.d.ts +1 -1
  154. package/lib/typescript/utils/SwapCalculationUtil.d.ts.map +1 -1
  155. package/package.json +9 -23
  156. package/src/controllers/ApiController.ts +24 -28
  157. package/src/controllers/AssetController.ts +0 -6
  158. package/src/controllers/BlockchainApiController.ts +76 -121
  159. package/src/controllers/ConnectionsController.ts +308 -78
  160. package/src/controllers/EnsController.ts +3 -3
  161. package/src/controllers/EventsController.ts +2 -2
  162. package/src/controllers/ModalController.ts +7 -9
  163. package/src/controllers/OnRampController.ts +179 -82
  164. package/src/controllers/OptionsController.ts +24 -8
  165. package/src/controllers/RouterController.ts +12 -54
  166. package/src/controllers/SendController.ts +123 -112
  167. package/src/controllers/SnackController.ts +31 -5
  168. package/src/controllers/SwapController.ts +130 -146
  169. package/src/controllers/TransactionsController.ts +24 -18
  170. package/src/controllers/WcController.ts +93 -0
  171. package/src/index.ts +2 -21
  172. package/src/utils/AssetUtil.ts +7 -17
  173. package/src/utils/ConstantsUtil.ts +15 -429
  174. package/src/utils/CoreHelperUtil.ts +31 -8
  175. package/src/utils/EventUtil.ts +1 -1
  176. package/src/utils/FetchUtil.ts +38 -11
  177. package/src/utils/StorageUtil.ts +146 -157
  178. package/src/utils/SwapApiUtil.ts +18 -37
  179. package/src/utils/SwapCalculationUtil.ts +1 -2
  180. package/lib/commonjs/controllers/AccountController.js +0 -93
  181. package/lib/commonjs/controllers/AccountController.js.map +0 -1
  182. package/lib/commonjs/controllers/ConnectionController.js +0 -132
  183. package/lib/commonjs/controllers/ConnectionController.js.map +0 -1
  184. package/lib/commonjs/controllers/ConnectorController.js +0 -50
  185. package/lib/commonjs/controllers/ConnectorController.js.map +0 -1
  186. package/lib/commonjs/controllers/NetworkController.js +0 -90
  187. package/lib/commonjs/controllers/NetworkController.js.map +0 -1
  188. package/lib/commonjs/controllers/WebviewController.js +0 -52
  189. package/lib/commonjs/controllers/WebviewController.js.map +0 -1
  190. package/lib/commonjs/utils/NetworkUtil.js +0 -46
  191. package/lib/commonjs/utils/NetworkUtil.js.map +0 -1
  192. package/lib/commonjs/utils/TypeUtil.js +0 -6
  193. package/lib/commonjs/utils/TypeUtil.js.map +0 -1
  194. package/lib/module/controllers/AccountController.js +0 -88
  195. package/lib/module/controllers/AccountController.js.map +0 -1
  196. package/lib/module/controllers/ConnectionController.js +0 -127
  197. package/lib/module/controllers/ConnectionController.js.map +0 -1
  198. package/lib/module/controllers/ConnectorController.js +0 -45
  199. package/lib/module/controllers/ConnectorController.js.map +0 -1
  200. package/lib/module/controllers/NetworkController.js +0 -85
  201. package/lib/module/controllers/NetworkController.js.map +0 -1
  202. package/lib/module/controllers/WebviewController.js +0 -47
  203. package/lib/module/controllers/WebviewController.js.map +0 -1
  204. package/lib/module/utils/NetworkUtil.js +0 -40
  205. package/lib/module/utils/NetworkUtil.js.map +0 -1
  206. package/lib/module/utils/TypeUtil.js +0 -2
  207. package/lib/module/utils/TypeUtil.js.map +0 -1
  208. package/lib/typescript/controllers/AccountController.d.ts +0 -33
  209. package/lib/typescript/controllers/AccountController.d.ts.map +0 -1
  210. package/lib/typescript/controllers/ConnectionController.d.ts +0 -68
  211. package/lib/typescript/controllers/ConnectionController.d.ts.map +0 -1
  212. package/lib/typescript/controllers/ConnectorController.d.ts +0 -18
  213. package/lib/typescript/controllers/ConnectorController.d.ts.map +0 -1
  214. package/lib/typescript/controllers/NetworkController.d.ts +0 -34
  215. package/lib/typescript/controllers/NetworkController.d.ts.map +0 -1
  216. package/lib/typescript/controllers/WebviewController.d.ts +0 -21
  217. package/lib/typescript/controllers/WebviewController.d.ts.map +0 -1
  218. package/lib/typescript/utils/NetworkUtil.d.ts +0 -8
  219. package/lib/typescript/utils/NetworkUtil.d.ts.map +0 -1
  220. package/lib/typescript/utils/TypeUtil.d.ts +0 -817
  221. package/lib/typescript/utils/TypeUtil.d.ts.map +0 -1
  222. package/src/controllers/AccountController.ts +0 -128
  223. package/src/controllers/ConnectionController.ts +0 -208
  224. package/src/controllers/ConnectorController.ts +0 -64
  225. package/src/controllers/NetworkController.ts +0 -120
  226. package/src/controllers/WebviewController.ts +0 -63
  227. package/src/utils/NetworkUtil.ts +0 -33
  228. package/src/utils/TypeUtil.ts +0 -995
@@ -1,13 +1,14 @@
1
- import { subscribeKey as subKey } from 'valtio/vanilla/utils';
2
- import { proxy, ref, subscribe as sub } from 'valtio/vanilla';
1
+ "use strict";
2
+
3
+ import { subscribeKey as subKey } from 'valtio/utils';
4
+ import { proxy, ref, subscribe as sub } from 'valtio';
3
5
  import { ContractUtil } from '@reown/appkit-common-react-native';
4
- import { AccountController } from './AccountController';
5
- import { ConnectionController } from './ConnectionController';
6
6
  import { SnackController } from './SnackController';
7
7
  import { CoreHelperUtil } from '../utils/CoreHelperUtil';
8
8
  import { EventsController } from './EventsController';
9
9
  import { RouterController } from './RouterController';
10
10
  import { ConnectionsController } from './ConnectionsController';
11
+ import { SwapController } from './SwapController';
11
12
 
12
13
  // -- Types --------------------------------------------- //
13
14
 
@@ -42,124 +43,125 @@ export const SendController = {
42
43
  setReceiverProfileName(receiverProfileName) {
43
44
  state.receiverProfileName = receiverProfileName;
44
45
  },
45
- setGasPrice(gasPrice) {
46
- state.gasPrice = gasPrice;
47
- },
48
- setGasPriceInUsd(gasPriceInUSD) {
49
- state.gasPriceInUSD = gasPriceInUSD;
50
- },
51
46
  setLoading(loading) {
52
47
  state.loading = loading;
53
48
  },
54
- sendToken() {
55
- if (this.state.token?.address && this.state.sendTokenAmount && this.state.receiverAddress) {
56
- state.loading = true;
49
+ async sendToken() {
50
+ const isAuth = !!ConnectionsController.state.connection?.properties?.provider;
51
+ const eventProperties = {
52
+ isSmartAccount: ConnectionsController.state.accountType === 'smartAccount',
53
+ token: this.state.token?.address ?? this.state.token?.symbol ?? '',
54
+ amount: this.state.sendTokenAmount || 0,
55
+ network: ConnectionsController.state.activeNetwork?.caipNetworkId ?? ''
56
+ };
57
+ try {
58
+ this.state.loading = true;
57
59
  EventsController.sendEvent({
58
60
  type: 'track',
59
61
  event: 'SEND_INITIATED',
60
- properties: {
61
- isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
62
- token: this.state.token.address,
63
- amount: this.state.sendTokenAmount,
64
- network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
65
- }
62
+ properties: eventProperties
66
63
  });
67
- this.sendERC20Token({
68
- receiverAddress: this.state.receiverAddress,
69
- tokenAddress: this.state.token.address,
70
- sendTokenAmount: this.state.sendTokenAmount,
71
- decimals: this.state.token.quantity.decimals
64
+ switch (ConnectionsController.state.activeNamespace) {
65
+ case 'eip155':
66
+ await SendController.sendEvmToken();
67
+ break;
68
+ case 'solana':
69
+ await SendController.sendSolanaToken();
70
+ break;
71
+ default:
72
+ throw new Error('Unsupported chain');
73
+ }
74
+ SnackController.showSuccess('Transaction started');
75
+ EventsController.sendEvent({
76
+ type: 'track',
77
+ event: 'SEND_SUCCESS',
78
+ properties: eventProperties
72
79
  });
73
- } else if (this.state.receiverAddress && this.state.sendTokenAmount && this.state.gasPrice && this.state.token?.quantity.decimals) {
74
- state.loading = true;
80
+ RouterController.reset(isAuth ? 'Account' : 'AccountDefault');
81
+ this.resetState();
82
+ } catch (error) {
75
83
  EventsController.sendEvent({
76
84
  type: 'track',
77
- event: 'SEND_INITIATED',
78
- properties: {
79
- isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
80
- token: this.state.token?.symbol,
81
- amount: this.state.sendTokenAmount,
82
- network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
83
- }
85
+ event: 'SEND_ERROR',
86
+ properties: eventProperties
84
87
  });
85
- this.sendNativeToken({
88
+ SnackController.showError('Something went wrong');
89
+ } finally {
90
+ this.state.loading = false;
91
+ }
92
+ },
93
+ async sendEvmToken() {
94
+ if (this.state.token?.address && this.state.sendTokenAmount && this.state.receiverAddress) {
95
+ await this.sendERC20Token({
96
+ receiverAddress: this.state.receiverAddress,
97
+ tokenAddress: this.state.token.address,
98
+ sendTokenAmount: this.state.sendTokenAmount,
99
+ decimals: this.state.token.quantity?.decimals || '0'
100
+ });
101
+ } else if (this.state.receiverAddress && this.state.sendTokenAmount && this.state.token?.quantity?.decimals) {
102
+ await this.sendNativeToken({
86
103
  receiverAddress: this.state.receiverAddress,
87
104
  sendTokenAmount: this.state.sendTokenAmount,
88
- gasPrice: this.state.gasPrice,
89
105
  decimals: this.state.token.quantity.decimals
90
106
  });
91
107
  }
92
108
  },
93
109
  async sendNativeToken(params) {
94
- RouterController.pushTransactionStack({
95
- view: 'Account',
96
- goBack: false
97
- });
98
110
  const to = params.receiverAddress;
99
- const address = AccountController.state.address;
100
- const value = ConnectionController.parseUnits(params.sendTokenAmount.toString(), Number(params.decimals));
101
- const data = '0x';
102
- try {
103
- await ConnectionController.sendTransaction({
104
- to,
105
- address,
106
- data,
107
- value,
108
- gasPrice: params.gasPrice
109
- });
110
- SnackController.showSuccess('Transaction started');
111
- EventsController.sendEvent({
112
- type: 'track',
113
- event: 'SEND_SUCCESS',
114
- properties: {
115
- isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
116
- token: this.state.token?.symbol || '',
117
- amount: params.sendTokenAmount,
118
- network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
119
- }
120
- });
121
- this.resetSend();
122
- } catch (error) {
123
- state.loading = false;
124
- EventsController.sendEvent({
125
- type: 'track',
126
- event: 'SEND_ERROR',
127
- properties: {
128
- isSmartAccount: AccountController.state.preferredAccountType === 'smartAccount',
129
- token: this.state.token?.symbol || '',
130
- amount: params.sendTokenAmount,
131
- network: ConnectionsController.state.activeNetwork?.caipNetworkId || ''
132
- }
133
- });
134
- SnackController.showError('Something went wrong');
111
+ const network = ConnectionsController.state.activeNetwork;
112
+ const address = CoreHelperUtil.getPlainAddress(ConnectionsController.state.activeAddress);
113
+ if (!address) {
114
+ throw new Error('Invalid address');
135
115
  }
116
+ const value = ConnectionsController.parseUnits(params.sendTokenAmount.toString(), Number(params.decimals));
117
+ const data = '0x';
118
+ await ConnectionsController.sendTransaction({
119
+ to,
120
+ address,
121
+ data,
122
+ value,
123
+ network
124
+ });
136
125
  },
137
126
  async sendERC20Token(params) {
138
- RouterController.pushTransactionStack({
139
- view: 'Account',
140
- goBack: false
141
- });
142
- const amount = ConnectionController.parseUnits(params.sendTokenAmount.toString(), Number(params.decimals));
143
- try {
144
- if (AccountController.state.address && params.sendTokenAmount && params.receiverAddress && params.tokenAddress) {
145
- const tokenAddress = CoreHelperUtil.getPlainAddress(params.tokenAddress);
146
- await ConnectionController.writeContract({
147
- fromAddress: AccountController.state.address,
148
- tokenAddress,
149
- receiverAddress: params.receiverAddress,
150
- tokenAmount: amount,
151
- method: 'transfer',
152
- abi: ContractUtil.getERC20Abi(tokenAddress)
153
- });
154
- SnackController.showSuccess('Transaction started');
155
- this.resetSend();
127
+ const network = ConnectionsController.state.activeNetwork;
128
+ const amount = ConnectionsController.parseUnits(params.sendTokenAmount.toString(), Number(params.decimals));
129
+ if (ConnectionsController.state.activeAddress && params.sendTokenAmount && params.receiverAddress && params.tokenAddress) {
130
+ const tokenAddress = CoreHelperUtil.getPlainAddress(params.tokenAddress);
131
+ const fromAddress = CoreHelperUtil.getPlainAddress(ConnectionsController.state.activeAddress);
132
+ if (!fromAddress) {
133
+ throw new Error('Invalid address');
156
134
  }
157
- } catch (error) {
158
- state.loading = false;
159
- SnackController.showError('Something went wrong');
135
+ await ConnectionsController.writeContract({
136
+ fromAddress,
137
+ tokenAddress,
138
+ receiverAddress: params.receiverAddress,
139
+ tokenAmount: amount,
140
+ method: 'transfer',
141
+ abi: ContractUtil.getERC20Abi(tokenAddress),
142
+ network
143
+ });
144
+ }
145
+ },
146
+ async sendSolanaToken() {
147
+ if (!this.state.sendTokenAmount || !this.state.receiverAddress) {
148
+ throw new Error('An amount and receiver address are required');
160
149
  }
150
+ const plainAddress = CoreHelperUtil.getPlainAddress(ConnectionsController.state.activeAddress);
151
+ if (!plainAddress) {
152
+ throw new Error('Invalid address');
153
+ }
154
+ await ConnectionsController.sendTransaction({
155
+ fromAddress: plainAddress,
156
+ toAddress: this.state.receiverAddress,
157
+ amount: this.state.sendTokenAmount,
158
+ network: ConnectionsController.state.activeNetwork
159
+ });
160
+ },
161
+ async fetchNetworkPrice() {
162
+ await SwapController.getNetworkTokenPrice();
161
163
  },
162
- resetSend() {
164
+ resetState() {
163
165
  state.token = undefined;
164
166
  state.sendTokenAmount = undefined;
165
167
  state.receiverAddress = undefined;
@@ -1 +1 @@
1
- {"version":3,"names":["subscribeKey","subKey","proxy","ref","subscribe","sub","ContractUtil","AccountController","ConnectionController","SnackController","CoreHelperUtil","EventsController","RouterController","ConnectionsController","state","loading","SendController","callback","key","setToken","token","setTokenAmount","sendTokenAmount","setReceiverAddress","receiverAddress","setReceiverProfileImageUrl","receiverProfileImageUrl","setReceiverProfileName","receiverProfileName","setGasPrice","gasPrice","setGasPriceInUsd","gasPriceInUSD","setLoading","sendToken","address","sendEvent","type","event","properties","isSmartAccount","preferredAccountType","amount","network","activeNetwork","caipNetworkId","sendERC20Token","tokenAddress","decimals","quantity","symbol","sendNativeToken","params","pushTransactionStack","view","goBack","to","value","parseUnits","toString","Number","data","sendTransaction","showSuccess","resetSend","error","showError","getPlainAddress","writeContract","fromAddress","tokenAmount","method","abi","getERC20Abi","undefined"],"sourceRoot":"../../../src","sources":["controllers/SendController.ts"],"mappings":"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"}
1
+ {"version":3,"names":["subscribeKey","subKey","proxy","ref","subscribe","sub","ContractUtil","SnackController","CoreHelperUtil","EventsController","RouterController","ConnectionsController","SwapController","state","loading","SendController","callback","key","setToken","token","setTokenAmount","sendTokenAmount","setReceiverAddress","receiverAddress","setReceiverProfileImageUrl","receiverProfileImageUrl","setReceiverProfileName","receiverProfileName","setLoading","sendToken","isAuth","connection","properties","provider","eventProperties","isSmartAccount","accountType","address","symbol","amount","network","activeNetwork","caipNetworkId","sendEvent","type","event","activeNamespace","sendEvmToken","sendSolanaToken","Error","showSuccess","reset","resetState","error","showError","sendERC20Token","tokenAddress","decimals","quantity","sendNativeToken","params","to","getPlainAddress","activeAddress","value","parseUnits","toString","Number","data","sendTransaction","fromAddress","writeContract","tokenAmount","method","abi","getERC20Abi","plainAddress","toAddress","fetchNetworkPrice","getNetworkTokenPrice","undefined"],"sourceRoot":"../../../src","sources":["controllers/SendController.ts"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { proxy } from 'valtio';
2
4
  import { OptionsController } from './OptionsController';
3
5
 
@@ -11,23 +13,47 @@ const state = proxy({
11
13
  long: false
12
14
  });
13
15
 
16
+ // -- Private Variables --------------------------------- //
17
+ let hideTimeout = null;
18
+
19
+ // -- Private Functions --------------------------------- //
20
+ const clearHideTimeout = () => {
21
+ if (hideTimeout) {
22
+ clearTimeout(hideTimeout);
23
+ hideTimeout = null;
24
+ }
25
+ };
26
+ const scheduleAutoHide = long => {
27
+ clearHideTimeout();
28
+ const duration = long ? 15000 : 2200;
29
+ hideTimeout = setTimeout(() => {
30
+ SnackController.hide();
31
+ }, duration);
32
+ };
33
+
14
34
  // -- Controller ---------------------------------------- //
15
35
  export const SnackController = {
16
36
  state,
17
- showSuccess(message) {
37
+ showSuccess(message, long = false) {
18
38
  state.message = message;
19
39
  state.variant = 'success';
20
40
  state.open = true;
41
+ state.long = long;
42
+ scheduleAutoHide(long);
21
43
  },
22
- showError(message) {
44
+ showError(message, long = false) {
23
45
  state.message = message;
24
46
  state.variant = 'error';
25
47
  state.open = true;
48
+ state.long = long;
49
+ scheduleAutoHide(long);
26
50
  },
27
- showLoading(message) {
51
+ showLoading(message, long = false) {
28
52
  state.message = message;
29
53
  state.variant = 'loading';
30
54
  state.open = true;
55
+ state.long = long;
56
+ scheduleAutoHide(long);
31
57
  },
32
58
  showInternalError(error) {
33
59
  const {
@@ -38,6 +64,7 @@ export const SnackController = {
38
64
  state.variant = 'error';
39
65
  state.open = true;
40
66
  state.long = true;
67
+ scheduleAutoHide(true);
41
68
  }
42
69
  if (error.longMessage) {
43
70
  // eslint-disable-next-line no-console
@@ -45,10 +72,9 @@ export const SnackController = {
45
72
  }
46
73
  },
47
74
  hide() {
75
+ clearHideTimeout();
48
76
  state.open = false;
49
77
  state.long = false;
50
- state.message = '';
51
- state.variant = 'success';
52
78
  }
53
79
  };
54
80
  //# sourceMappingURL=SnackController.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["proxy","OptionsController","state","message","variant","open","long","SnackController","showSuccess","showError","showLoading","showInternalError","error","debug","shortMessage","longMessage","console","hide"],"sourceRoot":"../../../src","sources":["controllers/SnackController.ts"],"mappings":"AAAA,SAASA,KAAK,QAAQ,QAAQ;AAC9B,SAASC,iBAAiB,QAAQ,qBAAqB;;AAEvD;;AAaA;AACA,MAAMC,KAAK,GAAGF,KAAK,CAAuB;EACxCG,OAAO,EAAE,EAAE;EACXC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,KAAK;EACXC,IAAI,EAAE;AACR,CAAC,CAAC;;AAEF;AACA,OAAO,MAAMC,eAAe,GAAG;EAC7BL,KAAK;EAELM,WAAWA,CAACL,OAAwC,EAAE;IACpDD,KAAK,CAACC,OAAO,GAAGA,OAAO;IACvBD,KAAK,CAACE,OAAO,GAAG,SAAS;IACzBF,KAAK,CAACG,IAAI,GAAG,IAAI;EACnB,CAAC;EAEDI,SAASA,CAACN,OAAwC,EAAE;IAClDD,KAAK,CAACC,OAAO,GAAGA,OAAO;IACvBD,KAAK,CAACE,OAAO,GAAG,OAAO;IACvBF,KAAK,CAACG,IAAI,GAAG,IAAI;EACnB,CAAC;EAEDK,WAAWA,CAACP,OAAwC,EAAE;IACpDD,KAAK,CAACC,OAAO,GAAGA,OAAO;IACvBD,KAAK,CAACE,OAAO,GAAG,SAAS;IACzBF,KAAK,CAACG,IAAI,GAAG,IAAI;EACnB,CAAC;EAEDM,iBAAiBA,CAACC,KAAc,EAAE;IAChC,MAAM;MAAEC;IAAM,CAAC,GAAGZ,iBAAiB,CAACC,KAAK;IAEzC,IAAIW,KAAK,EAAE;MACTX,KAAK,CAACC,OAAO,GAAGS,KAAK,CAACE,YAAY;MAClCZ,KAAK,CAACE,OAAO,GAAG,OAAO;MACvBF,KAAK,CAACG,IAAI,GAAG,IAAI;MACjBH,KAAK,CAACI,IAAI,GAAG,IAAI;IACnB;IAEA,IAAIM,KAAK,CAACG,WAAW,EAAE;MACrB;MACAC,OAAO,CAACJ,KAAK,CAACA,KAAK,CAACG,WAAW,CAAC;IAClC;EACF,CAAC;EAEDE,IAAIA,CAAA,EAAG;IACLf,KAAK,CAACG,IAAI,GAAG,KAAK;IAClBH,KAAK,CAACI,IAAI,GAAG,KAAK;IAClBJ,KAAK,CAACC,OAAO,GAAG,EAAE;IAClBD,KAAK,CAACE,OAAO,GAAG,SAAS;EAC3B;AACF,CAAC"}
1
+ {"version":3,"names":["proxy","OptionsController","state","message","variant","open","long","hideTimeout","clearHideTimeout","clearTimeout","scheduleAutoHide","duration","setTimeout","SnackController","hide","showSuccess","showError","showLoading","showInternalError","error","debug","shortMessage","longMessage","console"],"sourceRoot":"../../../src","sources":["controllers/SnackController.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,QAAQ;AAC9B,SAASC,iBAAiB,QAAQ,qBAAqB;;AAEvD;;AAaA;AACA,MAAMC,KAAK,GAAGF,KAAK,CAAuB;EACxCG,OAAO,EAAE,EAAE;EACXC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,KAAK;EACXC,IAAI,EAAE;AACR,CAAC,CAAC;;AAEF;AACA,IAAIC,WAAkC,GAAG,IAAI;;AAE7C;AACA,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAC7B,IAAID,WAAW,EAAE;IACfE,YAAY,CAACF,WAAW,CAAC;IACzBA,WAAW,GAAG,IAAI;EACpB;AACF,CAAC;AAED,MAAMG,gBAAgB,GAAIJ,IAAa,IAAK;EAC1CE,gBAAgB,CAAC,CAAC;EAElB,MAAMG,QAAQ,GAAGL,IAAI,GAAG,KAAK,GAAG,IAAI;EACpCC,WAAW,GAAGK,UAAU,CAAC,MAAM;IAC7BC,eAAe,CAACC,IAAI,CAAC,CAAC;EACxB,CAAC,EAAEH,QAAQ,CAAC;AACd,CAAC;;AAED;AACA,OAAO,MAAME,eAAe,GAAG;EAC7BX,KAAK;EAELa,WAAWA,CAACZ,OAAwC,EAAEG,IAAI,GAAG,KAAK,EAAE;IAClEJ,KAAK,CAACC,OAAO,GAAGA,OAAO;IACvBD,KAAK,CAACE,OAAO,GAAG,SAAS;IACzBF,KAAK,CAACG,IAAI,GAAG,IAAI;IACjBH,KAAK,CAACI,IAAI,GAAGA,IAAI;IACjBI,gBAAgB,CAACJ,IAAI,CAAC;EACxB,CAAC;EAEDU,SAASA,CAACb,OAAwC,EAAEG,IAAI,GAAG,KAAK,EAAE;IAChEJ,KAAK,CAACC,OAAO,GAAGA,OAAO;IACvBD,KAAK,CAACE,OAAO,GAAG,OAAO;IACvBF,KAAK,CAACG,IAAI,GAAG,IAAI;IACjBH,KAAK,CAACI,IAAI,GAAGA,IAAI;IACjBI,gBAAgB,CAACJ,IAAI,CAAC;EACxB,CAAC;EAEDW,WAAWA,CAACd,OAAwC,EAAEG,IAAI,GAAG,KAAK,EAAE;IAClEJ,KAAK,CAACC,OAAO,GAAGA,OAAO;IACvBD,KAAK,CAACE,OAAO,GAAG,SAAS;IACzBF,KAAK,CAACG,IAAI,GAAG,IAAI;IACjBH,KAAK,CAACI,IAAI,GAAGA,IAAI;IACjBI,gBAAgB,CAACJ,IAAI,CAAC;EACxB,CAAC;EAEDY,iBAAiBA,CAACC,KAAc,EAAE;IAChC,MAAM;MAAEC;IAAM,CAAC,GAAGnB,iBAAiB,CAACC,KAAK;IAEzC,IAAIkB,KAAK,EAAE;MACTlB,KAAK,CAACC,OAAO,GAAGgB,KAAK,CAACE,YAAY;MAClCnB,KAAK,CAACE,OAAO,GAAG,OAAO;MACvBF,KAAK,CAACG,IAAI,GAAG,IAAI;MACjBH,KAAK,CAACI,IAAI,GAAG,IAAI;MACjBI,gBAAgB,CAAC,IAAI,CAAC;IACxB;IAEA,IAAIS,KAAK,CAACG,WAAW,EAAE;MACrB;MACAC,OAAO,CAACJ,KAAK,CAACA,KAAK,CAACG,WAAW,CAAC;IAClC;EACF,CAAC;EAEDR,IAAIA,CAAA,EAAG;IACLN,gBAAgB,CAAC,CAAC;IAClBN,KAAK,CAACG,IAAI,GAAG,KAAK;IAClBH,KAAK,CAACI,IAAI,GAAG,KAAK;EACpB;AACF,CAAC","ignoreList":[]}