@reown/appkit-core-react-native 0.0.0-canary-20250910154131 → 0.0.0-canary-20251008180350
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/controllers/ApiController.js +157 -91
- package/lib/commonjs/controllers/ApiController.js.map +1 -1
- package/lib/commonjs/controllers/AssetController.js +0 -4
- package/lib/commonjs/controllers/AssetController.js.map +1 -1
- package/lib/commonjs/controllers/BlockchainApiController.js +180 -78
- package/lib/commonjs/controllers/BlockchainApiController.js.map +1 -1
- package/lib/commonjs/controllers/ConnectionsController.js +425 -0
- package/lib/commonjs/controllers/ConnectionsController.js.map +1 -0
- package/lib/commonjs/controllers/EnsController.js +2 -0
- package/lib/commonjs/controllers/EnsController.js.map +1 -1
- package/lib/commonjs/controllers/EventsController.js +51 -1
- package/lib/commonjs/controllers/EventsController.js.map +1 -1
- package/lib/commonjs/controllers/LogController.js +188 -0
- package/lib/commonjs/controllers/LogController.js.map +1 -0
- package/lib/commonjs/controllers/ModalController.js +9 -7
- package/lib/commonjs/controllers/ModalController.js.map +1 -1
- package/lib/commonjs/controllers/OnRampController.js +47 -20
- package/lib/commonjs/controllers/OnRampController.js.map +1 -1
- package/lib/commonjs/controllers/OptionsController.js +28 -10
- package/lib/commonjs/controllers/OptionsController.js.map +1 -1
- package/lib/commonjs/controllers/PublicStateController.js.map +1 -1
- package/lib/commonjs/controllers/RouterController.js +7 -22
- package/lib/commonjs/controllers/RouterController.js.map +1 -1
- package/lib/commonjs/controllers/SendController.js +111 -95
- package/lib/commonjs/controllers/SendController.js.map +1 -1
- package/lib/commonjs/controllers/SnackController.js +29 -5
- package/lib/commonjs/controllers/SnackController.js.map +1 -1
- package/lib/commonjs/controllers/SwapController.js +162 -151
- package/lib/commonjs/controllers/SwapController.js.map +1 -1
- package/lib/commonjs/controllers/ThemeController.js +14 -1
- package/lib/commonjs/controllers/ThemeController.js.map +1 -1
- package/lib/commonjs/controllers/TransactionsController.js +24 -18
- package/lib/commonjs/controllers/TransactionsController.js.map +1 -1
- package/lib/commonjs/controllers/WcController.js +73 -0
- package/lib/commonjs/controllers/WcController.js.map +1 -0
- package/lib/commonjs/features/reown-authentication/ReownAuthentication.js +272 -0
- package/lib/commonjs/features/reown-authentication/ReownAuthentication.js.map +1 -0
- package/lib/commonjs/features/reown-authentication/ReownAuthenticationMessenger.js +48 -0
- package/lib/commonjs/features/reown-authentication/ReownAuthenticationMessenger.js.map +1 -0
- package/lib/commonjs/features/reown-authentication/index.js +28 -0
- package/lib/commonjs/features/reown-authentication/index.js.map +1 -0
- package/lib/commonjs/index.js +33 -40
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/utils/ApiUtil.js +1 -1
- package/lib/commonjs/utils/ApiUtil.js.map +1 -1
- package/lib/commonjs/utils/AssetUtil.js +4 -17
- package/lib/commonjs/utils/AssetUtil.js.map +1 -1
- package/lib/commonjs/utils/ConstantsUtil.js +117 -5
- package/lib/commonjs/utils/ConstantsUtil.js.map +1 -1
- package/lib/commonjs/utils/CoreHelperUtil.js +32 -9
- package/lib/commonjs/utils/CoreHelperUtil.js.map +1 -1
- package/lib/commonjs/utils/EventUtil.js.map +1 -1
- package/lib/commonjs/utils/FetchUtil.js +7 -2
- package/lib/commonjs/utils/FetchUtil.js.map +1 -1
- package/lib/commonjs/utils/LogUtils.js +131 -0
- package/lib/commonjs/utils/LogUtils.js.map +1 -0
- package/lib/commonjs/utils/StorageUtil.js +131 -150
- package/lib/commonjs/utils/StorageUtil.js.map +1 -1
- package/lib/commonjs/utils/SwapApiUtil.js +15 -21
- package/lib/commonjs/utils/SwapApiUtil.js.map +1 -1
- package/lib/commonjs/utils/SwapCalculationUtil.js.map +1 -1
- package/lib/commonjs/utils/WalletUtil.js +23 -0
- package/lib/commonjs/utils/WalletUtil.js.map +1 -0
- package/lib/module/controllers/ApiController.js +159 -91
- package/lib/module/controllers/ApiController.js.map +1 -1
- package/lib/module/controllers/AssetController.js +2 -4
- package/lib/module/controllers/AssetController.js.map +1 -1
- package/lib/module/controllers/BlockchainApiController.js +182 -78
- package/lib/module/controllers/BlockchainApiController.js.map +1 -1
- package/lib/module/controllers/ConnectionsController.js +422 -0
- package/lib/module/controllers/ConnectionsController.js.map +1 -0
- package/lib/module/controllers/EnsController.js +4 -0
- package/lib/module/controllers/EnsController.js.map +1 -1
- package/lib/module/controllers/EventsController.js +53 -1
- package/lib/module/controllers/EventsController.js.map +1 -1
- package/lib/module/controllers/LogController.js +185 -0
- package/lib/module/controllers/LogController.js.map +1 -0
- package/lib/module/controllers/ModalController.js +11 -7
- package/lib/module/controllers/ModalController.js.map +1 -1
- package/lib/module/controllers/OnRampController.js +45 -16
- package/lib/module/controllers/OnRampController.js.map +1 -1
- package/lib/module/controllers/OptionsController.js +30 -10
- package/lib/module/controllers/OptionsController.js.map +1 -1
- package/lib/module/controllers/PublicStateController.js +2 -0
- package/lib/module/controllers/PublicStateController.js.map +1 -1
- package/lib/module/controllers/RouterController.js +9 -22
- package/lib/module/controllers/RouterController.js.map +1 -1
- package/lib/module/controllers/SendController.js +113 -95
- package/lib/module/controllers/SendController.js.map +1 -1
- package/lib/module/controllers/SnackController.js +31 -5
- package/lib/module/controllers/SnackController.js.map +1 -1
- package/lib/module/controllers/SwapController.js +164 -151
- package/lib/module/controllers/SwapController.js.map +1 -1
- package/lib/module/controllers/ThemeController.js +16 -1
- package/lib/module/controllers/ThemeController.js.map +1 -1
- package/lib/module/controllers/TransactionsController.js +26 -18
- package/lib/module/controllers/TransactionsController.js.map +1 -1
- package/lib/module/controllers/WcController.js +70 -0
- package/lib/module/controllers/WcController.js.map +1 -0
- package/lib/module/features/reown-authentication/ReownAuthentication.js +268 -0
- package/lib/module/features/reown-authentication/ReownAuthentication.js.map +1 -0
- package/lib/module/features/reown-authentication/ReownAuthenticationMessenger.js +43 -0
- package/lib/module/features/reown-authentication/ReownAuthenticationMessenger.js.map +1 -0
- package/lib/module/features/reown-authentication/index.js +5 -0
- package/lib/module/features/reown-authentication/index.js.map +1 -0
- package/lib/module/index.js +13 -8
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/ApiUtil.js +3 -1
- package/lib/module/utils/ApiUtil.js.map +1 -1
- package/lib/module/utils/AssetUtil.js +6 -17
- package/lib/module/utils/AssetUtil.js.map +1 -1
- package/lib/module/utils/ConstantsUtil.js +119 -5
- package/lib/module/utils/ConstantsUtil.js.map +1 -1
- package/lib/module/utils/CoreHelperUtil.js +34 -7
- package/lib/module/utils/CoreHelperUtil.js.map +1 -1
- package/lib/module/utils/EventUtil.js +2 -0
- package/lib/module/utils/EventUtil.js.map +1 -1
- package/lib/module/utils/FetchUtil.js +10 -2
- package/lib/module/utils/FetchUtil.js.map +1 -1
- package/lib/module/utils/LogUtils.js +121 -0
- package/lib/module/utils/LogUtils.js.map +1 -0
- package/lib/module/utils/StorageUtil.js +134 -150
- package/lib/module/utils/StorageUtil.js.map +1 -1
- package/lib/module/utils/SwapApiUtil.js +17 -21
- package/lib/module/utils/SwapApiUtil.js.map +1 -1
- package/lib/module/utils/SwapCalculationUtil.js +3 -0
- package/lib/module/utils/SwapCalculationUtil.js.map +1 -1
- package/lib/module/utils/WalletUtil.js +19 -0
- package/lib/module/utils/WalletUtil.js.map +1 -0
- package/lib/typescript/controllers/ApiController.d.ts +9 -8
- package/lib/typescript/controllers/ApiController.d.ts.map +1 -1
- package/lib/typescript/controllers/AssetController.d.ts +0 -2
- package/lib/typescript/controllers/AssetController.d.ts.map +1 -1
- package/lib/typescript/controllers/BlockchainApiController.d.ts +29 -11
- package/lib/typescript/controllers/BlockchainApiController.d.ts.map +1 -1
- package/lib/typescript/controllers/ConnectionsController.d.ts +47 -0
- package/lib/typescript/controllers/ConnectionsController.d.ts.map +1 -0
- package/lib/typescript/controllers/EnsController.d.ts +1 -1
- package/lib/typescript/controllers/EnsController.d.ts.map +1 -1
- package/lib/typescript/controllers/EventsController.d.ts +13 -1
- package/lib/typescript/controllers/EventsController.d.ts.map +1 -1
- package/lib/typescript/controllers/LogController.d.ts +65 -0
- package/lib/typescript/controllers/LogController.d.ts.map +1 -0
- package/lib/typescript/controllers/ModalController.d.ts.map +1 -1
- package/lib/typescript/controllers/OnRampController.d.ts +2 -2
- package/lib/typescript/controllers/OnRampController.d.ts.map +1 -1
- package/lib/typescript/controllers/OptionsController.d.ts +11 -6
- package/lib/typescript/controllers/OptionsController.d.ts.map +1 -1
- package/lib/typescript/controllers/PublicStateController.d.ts +1 -1
- package/lib/typescript/controllers/PublicStateController.d.ts.map +1 -1
- package/lib/typescript/controllers/RouterController.d.ts +6 -20
- package/lib/typescript/controllers/RouterController.d.ts.map +1 -1
- package/lib/typescript/controllers/SendController.d.ts +5 -7
- package/lib/typescript/controllers/SendController.d.ts.map +1 -1
- package/lib/typescript/controllers/SnackController.d.ts +3 -3
- package/lib/typescript/controllers/SnackController.d.ts.map +1 -1
- package/lib/typescript/controllers/SwapController.d.ts +12 -12
- package/lib/typescript/controllers/SwapController.d.ts.map +1 -1
- package/lib/typescript/controllers/ThemeController.d.ts +3 -1
- package/lib/typescript/controllers/ThemeController.d.ts.map +1 -1
- package/lib/typescript/controllers/TransactionsController.d.ts +3 -3
- package/lib/typescript/controllers/TransactionsController.d.ts.map +1 -1
- package/lib/typescript/controllers/WcController.d.ts +27 -0
- package/lib/typescript/controllers/WcController.d.ts.map +1 -0
- package/lib/typescript/features/reown-authentication/ReownAuthentication.d.ts +174 -0
- package/lib/typescript/features/reown-authentication/ReownAuthentication.d.ts.map +1 -0
- package/lib/typescript/features/reown-authentication/ReownAuthenticationMessenger.d.ts +16 -0
- package/lib/typescript/features/reown-authentication/ReownAuthenticationMessenger.d.ts.map +1 -0
- package/lib/typescript/features/reown-authentication/index.d.ts +3 -0
- package/lib/typescript/features/reown-authentication/index.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +7 -9
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/ApiUtil.d.ts +1 -1
- package/lib/typescript/utils/AssetUtil.d.ts +3 -4
- package/lib/typescript/utils/AssetUtil.d.ts.map +1 -1
- package/lib/typescript/utils/ConstantsUtil.d.ts +11 -2
- package/lib/typescript/utils/ConstantsUtil.d.ts.map +1 -1
- package/lib/typescript/utils/CoreHelperUtil.d.ts +8 -6
- package/lib/typescript/utils/CoreHelperUtil.d.ts.map +1 -1
- package/lib/typescript/utils/EventUtil.d.ts +1 -1
- package/lib/typescript/utils/EventUtil.d.ts.map +1 -1
- package/lib/typescript/utils/FetchUtil.d.ts +4 -4
- package/lib/typescript/utils/FetchUtil.d.ts.map +1 -1
- package/lib/typescript/utils/LogUtils.d.ts +15 -0
- package/lib/typescript/utils/LogUtils.d.ts.map +1 -0
- package/lib/typescript/utils/StorageUtil.d.ts +15 -16
- package/lib/typescript/utils/StorageUtil.d.ts.map +1 -1
- package/lib/typescript/utils/SwapApiUtil.d.ts +3 -4
- package/lib/typescript/utils/SwapApiUtil.d.ts.map +1 -1
- package/lib/typescript/utils/SwapCalculationUtil.d.ts +1 -1
- package/lib/typescript/utils/SwapCalculationUtil.d.ts.map +1 -1
- package/lib/typescript/utils/WalletUtil.d.ts +5 -0
- package/lib/typescript/utils/WalletUtil.d.ts.map +1 -0
- package/package.json +10 -23
- package/src/controllers/ApiController.ts +167 -84
- package/src/controllers/AssetController.ts +0 -6
- package/src/controllers/BlockchainApiController.ts +168 -66
- package/src/controllers/ConnectionsController.ts +575 -0
- package/src/controllers/EnsController.ts +3 -1
- package/src/controllers/EventsController.ts +73 -2
- package/src/controllers/LogController.ts +250 -0
- package/src/controllers/ModalController.ts +10 -7
- package/src/controllers/OnRampController.ts +54 -19
- package/src/controllers/OptionsController.ts +46 -18
- package/src/controllers/PublicStateController.ts +1 -1
- package/src/controllers/RouterController.ts +20 -57
- package/src/controllers/SendController.ts +147 -111
- package/src/controllers/SnackController.ts +31 -5
- package/src/controllers/SwapController.ts +185 -183
- package/src/controllers/ThemeController.ts +18 -2
- package/src/controllers/TransactionsController.ts +27 -19
- package/src/controllers/WcController.ts +93 -0
- package/src/features/reown-authentication/ReownAuthentication.ts +475 -0
- package/src/features/reown-authentication/ReownAuthenticationMessenger.ts +80 -0
- package/src/features/reown-authentication/index.ts +2 -0
- package/src/index.ts +17 -20
- package/src/utils/ApiUtil.ts +1 -1
- package/src/utils/AssetUtil.ts +6 -23
- package/src/utils/ConstantsUtil.ts +121 -6
- package/src/utils/CoreHelperUtil.ts +66 -10
- package/src/utils/EventUtil.ts +1 -1
- package/src/utils/FetchUtil.ts +14 -5
- package/src/utils/LogUtils.ts +179 -0
- package/src/utils/StorageUtil.ts +191 -176
- package/src/utils/SwapApiUtil.ts +30 -37
- package/src/utils/SwapCalculationUtil.ts +1 -2
- package/src/utils/WalletUtil.ts +14 -0
- package/lib/commonjs/controllers/AccountController.js +0 -93
- package/lib/commonjs/controllers/AccountController.js.map +0 -1
- package/lib/commonjs/controllers/ConnectionController.js +0 -126
- package/lib/commonjs/controllers/ConnectionController.js.map +0 -1
- package/lib/commonjs/controllers/ConnectorController.js +0 -49
- package/lib/commonjs/controllers/ConnectorController.js.map +0 -1
- package/lib/commonjs/controllers/NetworkController.js +0 -90
- package/lib/commonjs/controllers/NetworkController.js.map +0 -1
- package/lib/commonjs/controllers/WebviewController.js +0 -52
- package/lib/commonjs/controllers/WebviewController.js.map +0 -1
- package/lib/commonjs/utils/ConnectionUtil.js +0 -33
- package/lib/commonjs/utils/ConnectionUtil.js.map +0 -1
- package/lib/commonjs/utils/NetworkUtil.js +0 -46
- package/lib/commonjs/utils/NetworkUtil.js.map +0 -1
- package/lib/commonjs/utils/RouterUtil.js +0 -25
- package/lib/commonjs/utils/RouterUtil.js.map +0 -1
- package/lib/commonjs/utils/TypeUtil.js +0 -35
- package/lib/commonjs/utils/TypeUtil.js.map +0 -1
- package/lib/module/controllers/AccountController.js +0 -88
- package/lib/module/controllers/AccountController.js.map +0 -1
- package/lib/module/controllers/ConnectionController.js +0 -121
- package/lib/module/controllers/ConnectionController.js.map +0 -1
- package/lib/module/controllers/ConnectorController.js +0 -44
- package/lib/module/controllers/ConnectorController.js.map +0 -1
- package/lib/module/controllers/NetworkController.js +0 -85
- package/lib/module/controllers/NetworkController.js.map +0 -1
- package/lib/module/controllers/WebviewController.js +0 -47
- package/lib/module/controllers/WebviewController.js.map +0 -1
- package/lib/module/utils/ConnectionUtil.js +0 -27
- package/lib/module/utils/ConnectionUtil.js.map +0 -1
- package/lib/module/utils/NetworkUtil.js +0 -40
- package/lib/module/utils/NetworkUtil.js.map +0 -1
- package/lib/module/utils/RouterUtil.js +0 -19
- package/lib/module/utils/RouterUtil.js.map +0 -1
- package/lib/module/utils/TypeUtil.js +0 -28
- package/lib/module/utils/TypeUtil.js.map +0 -1
- package/lib/typescript/controllers/AccountController.d.ts +0 -33
- package/lib/typescript/controllers/AccountController.d.ts.map +0 -1
- package/lib/typescript/controllers/ConnectionController.d.ts +0 -66
- package/lib/typescript/controllers/ConnectionController.d.ts.map +0 -1
- package/lib/typescript/controllers/ConnectorController.d.ts +0 -18
- package/lib/typescript/controllers/ConnectorController.d.ts.map +0 -1
- package/lib/typescript/controllers/NetworkController.d.ts +0 -35
- package/lib/typescript/controllers/NetworkController.d.ts.map +0 -1
- package/lib/typescript/controllers/WebviewController.d.ts +0 -21
- package/lib/typescript/controllers/WebviewController.d.ts.map +0 -1
- package/lib/typescript/utils/ConnectionUtil.d.ts +0 -4
- package/lib/typescript/utils/ConnectionUtil.d.ts.map +0 -1
- package/lib/typescript/utils/NetworkUtil.d.ts +0 -8
- package/lib/typescript/utils/NetworkUtil.d.ts.map +0 -1
- package/lib/typescript/utils/RouterUtil.d.ts +0 -5
- package/lib/typescript/utils/RouterUtil.d.ts.map +0 -1
- package/lib/typescript/utils/TypeUtil.d.ts +0 -850
- package/lib/typescript/utils/TypeUtil.d.ts.map +0 -1
- package/src/controllers/AccountController.ts +0 -128
- package/src/controllers/ConnectionController.ts +0 -200
- package/src/controllers/ConnectorController.ts +0 -63
- package/src/controllers/NetworkController.ts +0 -120
- package/src/controllers/WebviewController.ts +0 -63
- package/src/utils/ConnectionUtil.ts +0 -27
- package/src/utils/NetworkUtil.ts +0 -33
- package/src/utils/RouterUtil.ts +0 -21
- package/src/utils/TypeUtil.ts +0 -1039
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { SIWXMessage, CaipNetworkId } from '@reown/appkit-common-react-native';
|
|
2
|
+
import { ConnectionsController } from '../../controllers/ConnectionsController';
|
|
3
|
+
import { OptionsController } from '../../controllers/OptionsController';
|
|
4
|
+
import { CoreHelperUtil } from '../../utils/CoreHelperUtil';
|
|
5
|
+
|
|
6
|
+
export class ReownAuthenticationMessenger {
|
|
7
|
+
public resources?: SIWXMessage['resources'];
|
|
8
|
+
|
|
9
|
+
protected getNonce: (params: SIWXMessage.Input) => Promise<SIWXMessage['nonce']>;
|
|
10
|
+
|
|
11
|
+
constructor(params: ReownAuthenticationMessenger.ConstructorParams) {
|
|
12
|
+
this.getNonce = params.getNonce;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
async createMessage(input: SIWXMessage.Input): Promise<SIWXMessage> {
|
|
16
|
+
const metadata = OptionsController.state.metadata;
|
|
17
|
+
const domain = CoreHelperUtil.getBundleId();
|
|
18
|
+
const params = {
|
|
19
|
+
accountAddress: input.accountAddress,
|
|
20
|
+
chainId: input.chainId,
|
|
21
|
+
version: '1',
|
|
22
|
+
domain: domain ?? 'Unknown Domain',
|
|
23
|
+
uri: metadata?.redirect?.universal ?? metadata?.redirect?.native ?? 'Unknown URI',
|
|
24
|
+
resources: this.resources,
|
|
25
|
+
nonce: await this.getNonce(input),
|
|
26
|
+
issuedAt: this.stringifyDate(new Date()),
|
|
27
|
+
statement: undefined,
|
|
28
|
+
expirationTime: undefined,
|
|
29
|
+
notBefore: undefined
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const methods = {
|
|
33
|
+
toString: () => this.stringify(params)
|
|
34
|
+
} satisfies SIWXMessage.Methods;
|
|
35
|
+
|
|
36
|
+
return Object.assign(params, methods);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
private stringify(params: SIWXMessage.Data): string {
|
|
40
|
+
const networkName = this.getNetworkName(params.chainId);
|
|
41
|
+
|
|
42
|
+
return [
|
|
43
|
+
`${params.domain} wants you to sign in with your ${networkName} account:`,
|
|
44
|
+
params.accountAddress,
|
|
45
|
+
params.statement ? `\n${params.statement}\n` : '',
|
|
46
|
+
`URI: ${params.uri}`,
|
|
47
|
+
`Version: ${params.version}`,
|
|
48
|
+
`Chain ID: ${params.chainId}`,
|
|
49
|
+
`Nonce: ${params.nonce}`,
|
|
50
|
+
params.issuedAt && `Issued At: ${params.issuedAt}`,
|
|
51
|
+
params.expirationTime && `Expiration Time: ${params.expirationTime}`,
|
|
52
|
+
params.notBefore && `Not Before: ${params.notBefore}`,
|
|
53
|
+
params.requestId && `Request ID: ${params.requestId}`,
|
|
54
|
+
params.resources?.length &&
|
|
55
|
+
params.resources.reduce((acc, resource) => `${acc}\n- ${resource}`, 'Resources:')
|
|
56
|
+
]
|
|
57
|
+
.filter(line => typeof line === 'string')
|
|
58
|
+
.join('\n')
|
|
59
|
+
.trim();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
private getNetworkName(chainId: CaipNetworkId): string | undefined {
|
|
63
|
+
const requestedNetworks = ConnectionsController.state.networks;
|
|
64
|
+
|
|
65
|
+
return (
|
|
66
|
+
requestedNetworks.find(network => network.caipNetworkId === chainId)?.name ||
|
|
67
|
+
'Unknown Network'
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
private stringifyDate(date: Date): string {
|
|
72
|
+
return date.toISOString();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export namespace ReownAuthenticationMessenger {
|
|
77
|
+
export interface ConstructorParams {
|
|
78
|
+
getNonce: (params: SIWXMessage.Input) => Promise<SIWXMessage['nonce']>;
|
|
79
|
+
}
|
|
80
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -7,26 +7,21 @@ export {
|
|
|
7
7
|
|
|
8
8
|
export { RouterController, type RouterControllerState } from './controllers/RouterController';
|
|
9
9
|
|
|
10
|
-
export {
|
|
10
|
+
export { WcController, type WcControllerState } from './controllers/WcController';
|
|
11
11
|
|
|
12
12
|
export {
|
|
13
|
-
|
|
14
|
-
type
|
|
15
|
-
|
|
16
|
-
} from './controllers/NetworkController';
|
|
13
|
+
ConnectionsController,
|
|
14
|
+
type ConnectionsControllerState
|
|
15
|
+
} from './controllers/ConnectionsController';
|
|
17
16
|
|
|
18
|
-
export {
|
|
19
|
-
ConnectionController,
|
|
20
|
-
type ConnectionControllerClient,
|
|
21
|
-
type ConnectionControllerState
|
|
22
|
-
} from './controllers/ConnectionController';
|
|
17
|
+
export { SnackController, type SnackControllerState } from './controllers/SnackController';
|
|
23
18
|
|
|
24
19
|
export {
|
|
25
|
-
|
|
26
|
-
type
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
LogController,
|
|
21
|
+
type LogControllerState,
|
|
22
|
+
type LogEntry,
|
|
23
|
+
type LogLevel
|
|
24
|
+
} from './controllers/LogController';
|
|
30
25
|
|
|
31
26
|
export { ApiController, type ApiControllerState } from './controllers/ApiController';
|
|
32
27
|
|
|
@@ -57,17 +52,19 @@ export {
|
|
|
57
52
|
export { SendController, type SendControllerState } from './controllers/SendController';
|
|
58
53
|
|
|
59
54
|
export { OnRampController, type OnRampControllerState } from './controllers/OnRampController';
|
|
60
|
-
export { WebviewController, type WebviewControllerState } from './controllers/WebviewController';
|
|
61
55
|
|
|
62
56
|
// -- Utils -------------------------------------------------------------------
|
|
63
57
|
export { ApiUtil } from './utils/ApiUtil';
|
|
64
58
|
export { AssetUtil } from './utils/AssetUtil';
|
|
65
|
-
export { ConnectionUtil } from './utils/ConnectionUtil';
|
|
66
59
|
export { ConstantsUtil } from './utils/ConstantsUtil';
|
|
67
60
|
export { CoreHelperUtil } from './utils/CoreHelperUtil';
|
|
68
61
|
export { StorageUtil } from './utils/StorageUtil';
|
|
69
62
|
export { EventUtil } from './utils/EventUtil';
|
|
70
|
-
export {
|
|
71
|
-
export {
|
|
63
|
+
export { WalletUtil } from './utils/WalletUtil';
|
|
64
|
+
export { LogUtils } from './utils/LogUtils';
|
|
65
|
+
|
|
66
|
+
// -- Features ----------------------------------------------------------------
|
|
67
|
+
export { ReownAuthentication } from './features/reown-authentication/ReownAuthentication';
|
|
68
|
+
export { ReownAuthenticationMessenger } from './features/reown-authentication/ReownAuthenticationMessenger';
|
|
72
69
|
|
|
73
|
-
|
|
70
|
+
// Types are now exported from @reown/appkit-common-react-native
|
package/src/utils/ApiUtil.ts
CHANGED
package/src/utils/AssetUtil.ts
CHANGED
|
@@ -1,44 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { CaipNetwork, Connector, WcWallet } from './TypeUtil';
|
|
1
|
+
import type { AppKitNetwork, WcWallet } from '@reown/appkit-common-react-native';
|
|
3
2
|
|
|
4
3
|
export const AssetUtil = {
|
|
5
|
-
getWalletImage(wallet?: WcWallet) {
|
|
4
|
+
getWalletImage(wallet?: WcWallet, walletImages?: Record<string, string>) {
|
|
6
5
|
if (wallet?.image_url) {
|
|
7
6
|
return wallet?.image_url;
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
if (wallet?.image_id) {
|
|
11
|
-
return
|
|
10
|
+
return walletImages?.[wallet.image_id];
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
return undefined;
|
|
15
14
|
},
|
|
16
15
|
|
|
17
|
-
getNetworkImage(network?:
|
|
16
|
+
getNetworkImage(network?: AppKitNetwork, networkImages?: Record<string, string>) {
|
|
18
17
|
if (!network) {
|
|
19
18
|
return undefined;
|
|
20
19
|
}
|
|
21
20
|
|
|
22
|
-
if (network
|
|
21
|
+
if (network?.imageUrl) {
|
|
23
22
|
return network.imageUrl;
|
|
24
23
|
}
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
return networkImages?.[network.imageId];
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return undefined;
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
getConnectorImage(connector?: Connector) {
|
|
34
|
-
if (connector?.imageUrl) {
|
|
35
|
-
return connector.imageUrl;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (connector?.imageId) {
|
|
39
|
-
return AssetController.state.connectorImages[connector.imageId];
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return undefined;
|
|
25
|
+
return networkImages?.[network?.id];
|
|
43
26
|
}
|
|
44
27
|
};
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type { Features } from '
|
|
1
|
+
import type { ChainNamespace, Features } from '@reown/appkit-common-react-native';
|
|
2
2
|
|
|
3
3
|
const defaultFeatures: Features = {
|
|
4
4
|
swaps: true,
|
|
5
5
|
onramp: true,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
socials: ['x', 'discord', 'apple']
|
|
6
|
+
socials: ['email', 'google', 'x', 'discord', 'apple', 'facebook', 'github', 'farcaster'],
|
|
7
|
+
showWallets: true
|
|
9
8
|
};
|
|
10
9
|
|
|
11
10
|
export const OnRampErrorType = {
|
|
@@ -35,7 +34,11 @@ export const ConstantsUtil = {
|
|
|
35
34
|
|
|
36
35
|
LINKING_ERROR: 'LINKING_ERROR',
|
|
37
36
|
|
|
38
|
-
NATIVE_TOKEN_ADDRESS:
|
|
37
|
+
NATIVE_TOKEN_ADDRESS: {
|
|
38
|
+
eip155: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
|
|
39
|
+
solana: 'So11111111111111111111111111111111111111111',
|
|
40
|
+
bip122: '0x'
|
|
41
|
+
} as const satisfies Record<ChainNamespace, string>,
|
|
39
42
|
|
|
40
43
|
ONRAMP_ERROR_TYPES: OnRampErrorType,
|
|
41
44
|
|
|
@@ -129,6 +132,112 @@ export const ConstantsUtil = {
|
|
|
129
132
|
'WNT'
|
|
130
133
|
],
|
|
131
134
|
|
|
135
|
+
//TODO: replace with supported chains from backend
|
|
136
|
+
ACTIVITY_SUPPORTED_CHAINS: [
|
|
137
|
+
// Arbitrum
|
|
138
|
+
'eip155:42161',
|
|
139
|
+
// BNB Chain
|
|
140
|
+
'eip155:56',
|
|
141
|
+
// Ethereum
|
|
142
|
+
'eip155:1',
|
|
143
|
+
// Blast
|
|
144
|
+
'eip155:81457',
|
|
145
|
+
// Ape Chain
|
|
146
|
+
'eip155:99999',
|
|
147
|
+
// Avalanche
|
|
148
|
+
'eip155:43114',
|
|
149
|
+
// Abstract
|
|
150
|
+
'eip155:900',
|
|
151
|
+
// opBNB
|
|
152
|
+
'eip155:204',
|
|
153
|
+
// Astar zkEVM
|
|
154
|
+
'eip155:3776',
|
|
155
|
+
// ZKsync Era
|
|
156
|
+
'eip155:324',
|
|
157
|
+
// Berachain
|
|
158
|
+
'eip155:80085',
|
|
159
|
+
// BOB
|
|
160
|
+
'eip155:60808',
|
|
161
|
+
// Cyber
|
|
162
|
+
'eip155:7560',
|
|
163
|
+
// Degen Chain
|
|
164
|
+
'eip155:666666666',
|
|
165
|
+
// Fraxtal
|
|
166
|
+
'eip155:252',
|
|
167
|
+
// Gravity Alpha
|
|
168
|
+
'eip155:10003',
|
|
169
|
+
// Ink
|
|
170
|
+
'eip155:999',
|
|
171
|
+
// Lens
|
|
172
|
+
'eip155:1348',
|
|
173
|
+
// Lisk
|
|
174
|
+
'eip155:113',
|
|
175
|
+
// Mode
|
|
176
|
+
'eip155:34443',
|
|
177
|
+
// Base
|
|
178
|
+
'eip155:8453',
|
|
179
|
+
// Mantle
|
|
180
|
+
'eip155:5000',
|
|
181
|
+
// Optimism
|
|
182
|
+
'eip155:10',
|
|
183
|
+
// Polygon
|
|
184
|
+
'eip155:137',
|
|
185
|
+
// Celo
|
|
186
|
+
'eip155:42220',
|
|
187
|
+
// Manta Pacific
|
|
188
|
+
'eip155:169',
|
|
189
|
+
// Gnosis Chain
|
|
190
|
+
'eip155:100',
|
|
191
|
+
// Fantom
|
|
192
|
+
'eip155:250',
|
|
193
|
+
// Ronin
|
|
194
|
+
'eip155:2020',
|
|
195
|
+
// Linea
|
|
196
|
+
'eip155:59144',
|
|
197
|
+
// Metis Andromeda
|
|
198
|
+
'eip155:1088',
|
|
199
|
+
// Aurora
|
|
200
|
+
'eip155:1313161554',
|
|
201
|
+
// XDC
|
|
202
|
+
'eip155:50',
|
|
203
|
+
// Cronos zkEVM
|
|
204
|
+
'eip155:1030',
|
|
205
|
+
// Polygon zkEVM
|
|
206
|
+
'eip155:1101',
|
|
207
|
+
// Polynomial
|
|
208
|
+
'eip155:80001',
|
|
209
|
+
// Rari
|
|
210
|
+
'eip155:1380012617',
|
|
211
|
+
// Redstone
|
|
212
|
+
'eip155:690',
|
|
213
|
+
// Scroll
|
|
214
|
+
'eip155:534352',
|
|
215
|
+
// Sei
|
|
216
|
+
'eip155:1329',
|
|
217
|
+
// Soneium
|
|
218
|
+
'eip155:1499',
|
|
219
|
+
// Sonic
|
|
220
|
+
'eip155:7007',
|
|
221
|
+
// Taiko
|
|
222
|
+
'eip155:167000',
|
|
223
|
+
// Viction
|
|
224
|
+
'eip155:88',
|
|
225
|
+
// Unichain
|
|
226
|
+
'eip155:12345',
|
|
227
|
+
// Wonder
|
|
228
|
+
'eip155:8787',
|
|
229
|
+
// X Layer
|
|
230
|
+
'eip155:196',
|
|
231
|
+
// World Chain
|
|
232
|
+
'eip155:2008',
|
|
233
|
+
// ZERϴ
|
|
234
|
+
'eip155:77777',
|
|
235
|
+
// ZkLink Nova
|
|
236
|
+
'eip155:810180',
|
|
237
|
+
// re.al
|
|
238
|
+
'eip155:666'
|
|
239
|
+
],
|
|
240
|
+
|
|
132
241
|
SWAP_SUPPORTED_NETWORKS: [
|
|
133
242
|
// Ethereum'
|
|
134
243
|
'eip155:1',
|
|
@@ -156,6 +265,10 @@ export const ConstantsUtil = {
|
|
|
156
265
|
'eip155:1313161554'
|
|
157
266
|
],
|
|
158
267
|
|
|
268
|
+
SEND_SUPPORTED_NAMESPACES: ['eip155', 'solana'],
|
|
269
|
+
|
|
270
|
+
ONRAMP_SUPPORTED_NAMESPACES: ['eip155', 'solana', 'bip122'],
|
|
271
|
+
|
|
159
272
|
CONVERT_SLIPPAGE_TOLERANCE: 1,
|
|
160
273
|
|
|
161
274
|
DEFAULT_FEATURES: defaultFeatures,
|
|
@@ -183,6 +296,8 @@ export const ConstantsUtil = {
|
|
|
183
296
|
'eip155:7700': 'CANTO', // Canto
|
|
184
297
|
'eip155:59144': 'ETH_LINEA', // Linea
|
|
185
298
|
'eip155:1101': 'ETH_POLYGONZKEVM', // Polygon zkEVM
|
|
186
|
-
'eip155:196': 'XIN' // Mixin
|
|
299
|
+
'eip155:196': 'XIN', // Mixin
|
|
300
|
+
'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 'SOL',
|
|
301
|
+
'bip122:000000000019d6689c085ae165831e93': 'BTC'
|
|
187
302
|
}
|
|
188
303
|
};
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
/* eslint-disable no-bitwise */
|
|
2
2
|
|
|
3
3
|
import { Linking, Platform } from 'react-native';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
BlockchainAdapter,
|
|
6
|
+
ConstantsUtil as CommonConstants,
|
|
7
|
+
type AdapterType,
|
|
8
|
+
type Balance,
|
|
9
|
+
type CaipAddress,
|
|
10
|
+
type CaipNetwork,
|
|
11
|
+
type ChainNamespace,
|
|
12
|
+
type SocialProvider,
|
|
13
|
+
type LinkingRecord,
|
|
14
|
+
type DataWallet,
|
|
15
|
+
type SdkVersion
|
|
16
|
+
} from '@reown/appkit-common-react-native';
|
|
17
|
+
|
|
5
18
|
import * as ct from 'countries-and-timezones';
|
|
6
19
|
|
|
7
20
|
import { ConstantsUtil } from './ConstantsUtil';
|
|
8
|
-
import
|
|
21
|
+
import { OptionsController } from '../controllers/OptionsController';
|
|
9
22
|
|
|
10
23
|
// -- Helpers -----------------------------------------------------------------
|
|
11
24
|
async function isAppInstalledIos(deepLink?: string): Promise<boolean> {
|
|
@@ -40,6 +53,20 @@ export const CoreHelperUtil = {
|
|
|
40
53
|
return Date.now() - lastRetry >= ConstantsUtil.ONE_SEC_MS;
|
|
41
54
|
},
|
|
42
55
|
|
|
56
|
+
isCaipAddress(address?: unknown): address is CaipAddress {
|
|
57
|
+
if (typeof address !== 'string') {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const sections = address.split(':');
|
|
62
|
+
const namespace = sections[0];
|
|
63
|
+
|
|
64
|
+
return (
|
|
65
|
+
sections.filter(Boolean).length === 3 &&
|
|
66
|
+
(namespace as string) in CommonConstants.CHAIN_NAME_MAP
|
|
67
|
+
);
|
|
68
|
+
},
|
|
69
|
+
|
|
43
70
|
getPairingExpiry() {
|
|
44
71
|
return Date.now() + ConstantsUtil.FOUR_MINUTES_MS;
|
|
45
72
|
},
|
|
@@ -48,8 +75,12 @@ export const CoreHelperUtil = {
|
|
|
48
75
|
return caipAddress?.split(':')[1];
|
|
49
76
|
},
|
|
50
77
|
|
|
51
|
-
getPlainAddress(
|
|
52
|
-
|
|
78
|
+
getPlainAddress(address: CaipAddress | string | undefined) {
|
|
79
|
+
if (this.isCaipAddress(address)) {
|
|
80
|
+
return address?.split(':')[2];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return address;
|
|
53
84
|
},
|
|
54
85
|
|
|
55
86
|
async wait(milliseconds: number) {
|
|
@@ -97,7 +128,7 @@ export const CoreHelperUtil = {
|
|
|
97
128
|
};
|
|
98
129
|
},
|
|
99
130
|
|
|
100
|
-
formatUniversalUrl(appUrl: string, wcUri: string): LinkingRecord {
|
|
131
|
+
formatUniversalUrl(appUrl: string, wcUri: string, provider?: SocialProvider): LinkingRecord {
|
|
101
132
|
if (CoreHelperUtil.isLinkModeURL(wcUri)) {
|
|
102
133
|
return {
|
|
103
134
|
redirect: wcUri,
|
|
@@ -115,7 +146,9 @@ export const CoreHelperUtil = {
|
|
|
115
146
|
const encodedWcUrl = encodeURIComponent(wcUri);
|
|
116
147
|
|
|
117
148
|
return {
|
|
118
|
-
redirect:
|
|
149
|
+
redirect: provider
|
|
150
|
+
? `${safeAppUrl}wc?uri=${encodedWcUrl}&provider=${provider}`
|
|
151
|
+
: `${safeAppUrl}wc?uri=${encodedWcUrl}`,
|
|
119
152
|
href: safeAppUrl
|
|
120
153
|
};
|
|
121
154
|
},
|
|
@@ -144,8 +177,8 @@ export const CoreHelperUtil = {
|
|
|
144
177
|
return formattedBalance ? `${formattedBalance} ${symbol}` : `0.000 ${symbol || ''}`;
|
|
145
178
|
},
|
|
146
179
|
|
|
147
|
-
isAddress(address: string,
|
|
148
|
-
switch (
|
|
180
|
+
isAddress(address: string, namespace: ChainNamespace = 'eip155'): boolean {
|
|
181
|
+
switch (namespace) {
|
|
149
182
|
case 'eip155':
|
|
150
183
|
if (!/^(?:0x)?[0-9a-f]{40}$/iu.test(address)) {
|
|
151
184
|
return false;
|
|
@@ -219,7 +252,7 @@ export const CoreHelperUtil = {
|
|
|
219
252
|
});
|
|
220
253
|
},
|
|
221
254
|
|
|
222
|
-
getBundleId() {
|
|
255
|
+
getBundleId(): string | undefined {
|
|
223
256
|
if ((global as any)?.Application?.applicationId) {
|
|
224
257
|
return (global as any)?.Application?.applicationId;
|
|
225
258
|
}
|
|
@@ -277,7 +310,7 @@ export const CoreHelperUtil = {
|
|
|
277
310
|
|
|
278
311
|
let sum = 0;
|
|
279
312
|
for (const item of array) {
|
|
280
|
-
sum += item
|
|
313
|
+
sum += item?.value ?? 0;
|
|
281
314
|
}
|
|
282
315
|
|
|
283
316
|
const roundedNumber = sum.toFixed(2);
|
|
@@ -317,5 +350,28 @@ export const CoreHelperUtil = {
|
|
|
317
350
|
func(...args);
|
|
318
351
|
}, wait);
|
|
319
352
|
};
|
|
353
|
+
},
|
|
354
|
+
|
|
355
|
+
generateSdkVersion(adapters: BlockchainAdapter[], version: string): SdkVersion {
|
|
356
|
+
const hasNoAdapters = adapters.length === 0;
|
|
357
|
+
const universalType: AdapterType = 'universal';
|
|
358
|
+
|
|
359
|
+
const adapterNames = hasNoAdapters
|
|
360
|
+
? universalType
|
|
361
|
+
: adapters
|
|
362
|
+
.sort((a, b) => a.adapterType.localeCompare(b.adapterType))
|
|
363
|
+
.map(adapter => adapter.adapterType)
|
|
364
|
+
.join(',');
|
|
365
|
+
|
|
366
|
+
return `react-native-${adapterNames}-${version}`;
|
|
367
|
+
},
|
|
368
|
+
|
|
369
|
+
getRequestedCaipNetworkIds() {
|
|
370
|
+
const chains = OptionsController.state.requestedNetworks;
|
|
371
|
+
if (!chains) return [];
|
|
372
|
+
|
|
373
|
+
const requestedIds = chains.map(caipNetwork => caipNetwork.caipNetworkId);
|
|
374
|
+
|
|
375
|
+
return requestedIds;
|
|
320
376
|
}
|
|
321
377
|
};
|
package/src/utils/EventUtil.ts
CHANGED
package/src/utils/FetchUtil.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { RequestCache } from '
|
|
1
|
+
import type { RequestCache } from '@reown/appkit-common-react-native';
|
|
2
|
+
import { LogController } from '../controllers/LogController';
|
|
2
3
|
|
|
3
4
|
// -- Types ----------------------------------------------------------------------
|
|
4
5
|
interface Options {
|
|
@@ -8,7 +9,7 @@ interface Options {
|
|
|
8
9
|
|
|
9
10
|
interface RequestArguments {
|
|
10
11
|
path: string;
|
|
11
|
-
headers?:
|
|
12
|
+
headers?: HeadersInit;
|
|
12
13
|
params?: Record<string, string | undefined>;
|
|
13
14
|
cache?: RequestCache;
|
|
14
15
|
signal?: AbortSignal;
|
|
@@ -71,9 +72,13 @@ export class FetchUtil {
|
|
|
71
72
|
return this.processResponse<T>(response);
|
|
72
73
|
}
|
|
73
74
|
|
|
74
|
-
public async fetchImage(
|
|
75
|
+
public async fetchImage(
|
|
76
|
+
path: string,
|
|
77
|
+
headers?: Record<string, string>,
|
|
78
|
+
params?: Record<string, string>
|
|
79
|
+
) {
|
|
75
80
|
try {
|
|
76
|
-
const url = this.createUrl({ path }).toString();
|
|
81
|
+
const url = this.createUrl({ path, params }).toString();
|
|
77
82
|
const response = await fetch(url, { headers });
|
|
78
83
|
const blob = await response.blob();
|
|
79
84
|
const reader = new FileReader();
|
|
@@ -87,7 +92,7 @@ export class FetchUtil {
|
|
|
87
92
|
}
|
|
88
93
|
}
|
|
89
94
|
|
|
90
|
-
|
|
95
|
+
public createUrl({ path, params }: RequestArguments) {
|
|
91
96
|
let fullUrl: string;
|
|
92
97
|
|
|
93
98
|
const isAbsoluteUrl = path.startsWith('http://') || path.startsWith('https://');
|
|
@@ -130,14 +135,18 @@ export class FetchUtil {
|
|
|
130
135
|
if (response.headers.get('content-type')?.includes('application/json')) {
|
|
131
136
|
try {
|
|
132
137
|
const errorData = await response.json();
|
|
138
|
+
LogController.sendError(JSON.stringify(errorData), 'FetchUtil.ts', 'processResponse');
|
|
133
139
|
|
|
134
140
|
return Promise.reject(errorData);
|
|
135
141
|
} catch (jsonError) {
|
|
142
|
+
LogController.sendError(jsonError, 'FetchUtil.ts', 'processResponse');
|
|
143
|
+
|
|
136
144
|
return Promise.reject(`Code: ${response.status} - ${response.statusText}`);
|
|
137
145
|
}
|
|
138
146
|
}
|
|
139
147
|
|
|
140
148
|
const errorText = await response.text();
|
|
149
|
+
LogController.sendError(errorText, 'FetchUtil.ts', 'processResponse');
|
|
141
150
|
|
|
142
151
|
return Promise.reject(`Code: ${response.status} - ${response.statusText} - ${errorText}`);
|
|
143
152
|
}
|