@reown/appkit-common-react-native 0.0.0-feat-onramp-20250401222444 → 0.0.0-feat-multichain-20250512202036

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.
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ConstantsUtil = void 0;
7
7
  const ConstantsUtil = exports.ConstantsUtil = {
8
- VERSION: '0.0.0-feat-onramp-20250401222444',
8
+ VERSION: '0.0.0-feat-multichain-20250512202036',
9
9
  EIP155: 'eip155',
10
10
  ADD_CHAIN_METHOD: 'wallet_addEthereumChain',
11
11
  WC_NAME_SUFFIX: '.reown.id',
@@ -1 +1 @@
1
- {"version":3,"names":["ConstantsUtil","exports","VERSION","EIP155","ADD_CHAIN_METHOD","WC_NAME_SUFFIX","WC_NAME_SUFFIX_LEGACY","BLOCKCHAIN_API_RPC_URL","BLOCKCHAIN_API_RPC_URL_STAGING","PULSE_API_URL","API_URL","WALLET_CONNECT_CONNECTOR_ID","COINBASE_CONNECTOR_ID","AUTH_CONNECTOR_ID","COINBASE_EXPLORER_ID","USDT_CONTRACT_ADDRESSES"],"sourceRoot":"../../../src","sources":["utils/ConstantsUtil.ts"],"mappings":";;;;;;AAAO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,OAAO,EAAE,kCAAkC;EAE3CC,MAAM,EAAE,QAAQ;EAChBC,gBAAgB,EAAE,yBAAyB;EAE3CC,cAAc,EAAE,WAAW;EAC3BC,qBAAqB,EAAE,SAAS;EAEhCC,sBAAsB,EAAE,+BAA+B;EACvDC,8BAA8B,EAAE,uCAAuC;EACvEC,aAAa,EAAE,iCAAiC;EAChDC,OAAO,EAAE,2BAA2B;EAEpCC,2BAA2B,EAAE,eAAe;EAC5CC,qBAAqB,EAAE,gBAAgB;EACvCC,iBAAiB,EAAE,YAAY;EAE/BC,oBAAoB,EAAE,kEAAkE;EAExFC,uBAAuB,EAAE;EACvB;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;AAEhD,CAAC"}
1
+ {"version":3,"names":["ConstantsUtil","exports","VERSION","EIP155","ADD_CHAIN_METHOD","WC_NAME_SUFFIX","WC_NAME_SUFFIX_LEGACY","BLOCKCHAIN_API_RPC_URL","BLOCKCHAIN_API_RPC_URL_STAGING","PULSE_API_URL","API_URL","WALLET_CONNECT_CONNECTOR_ID","COINBASE_CONNECTOR_ID","AUTH_CONNECTOR_ID","COINBASE_EXPLORER_ID","USDT_CONTRACT_ADDRESSES"],"sourceRoot":"../../../src","sources":["utils/ConstantsUtil.ts"],"mappings":";;;;;;AAAO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,OAAO,EAAE,sCAAsC;EAE/CC,MAAM,EAAE,QAAQ;EAChBC,gBAAgB,EAAE,yBAAyB;EAE3CC,cAAc,EAAE,WAAW;EAC3BC,qBAAqB,EAAE,SAAS;EAEhCC,sBAAsB,EAAE,+BAA+B;EACvDC,8BAA8B,EAAE,uCAAuC;EACvEC,aAAa,EAAE,iCAAiC;EAChDC,OAAO,EAAE,2BAA2B;EAEpCC,2BAA2B,EAAE,eAAe;EAC5CC,qBAAqB,EAAE,gBAAgB;EACvCC,iBAAiB,EAAE,YAAY;EAE/BC,oBAAoB,EAAE,kEAAkE;EAExFC,uBAAuB,EAAE;EACvB;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;AAEhD,CAAC"}
@@ -9,11 +9,11 @@ const PresetsUtil = exports.PresetsUtil = {
9
9
  ConnectorExplorerIds: {
10
10
  [_ConstantsUtil.ConstantsUtil.COINBASE_CONNECTOR_ID]: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa'
11
11
  },
12
- EIP155NetworkImageIds: {
12
+ NetworkImageIds: {
13
13
  // Ethereum
14
14
  1: 'ba0ba0cd-17c6-4806-ad93-f9d174f17900',
15
15
  // Arbitrum
16
- 42161: '600a9a04-c1b9-42ca-6785-9b4b6ff85200',
16
+ 42161: '3bff954d-5cb0-47a0-9a23-d20192e74600',
17
17
  // Avalanche
18
18
  43114: '30c46e53-e989-45fb-4549-be3bd4eb3b00',
19
19
  // Binance Smart Chain
@@ -24,6 +24,20 @@ const PresetsUtil = exports.PresetsUtil = {
24
24
  10: 'ab9c186a-c52f-464b-2906-ca59d760a400',
25
25
  // Polygon
26
26
  137: '41d04d42-da3b-4453-8506-668cc0727900',
27
+ // Mantle
28
+ 5000: 'e86fae9b-b770-4eea-e520-150e12c81100',
29
+ // Hedera Mainnet
30
+ 295: '6a97d510-cac8-4e58-c7ce-e8681b044c00',
31
+ // Sepolia
32
+ 11_155_111: 'e909ea0a-f92a-4512-c8fc-748044ea6800',
33
+ // Base Sepolia
34
+ 84532: 'a18a7ecd-e307-4360-4746-283182228e00',
35
+ // Unichain Sepolia
36
+ 1301: '4eeea7ef-0014-4649-5d1d-07271a80f600',
37
+ // Unichain Mainnet
38
+ 130: '2257980a-3463-48c6-cbac-a42d2a956e00',
39
+ // Monad Testnet
40
+ 10_143: '0a728e83-bacb-46db-7844-948f05434900',
27
41
  // Gnosis
28
42
  100: '02b53f6a-e3d4-479e-1cb4-21178987d100',
29
43
  // EVMos
@@ -47,7 +61,24 @@ const PresetsUtil = exports.PresetsUtil = {
47
61
  // Base
48
62
  8453: '7289c336-3981-4081-c5f4-efc26ac64a00',
49
63
  // Aurora
50
- 1313161554: '3ff73439-a619-4894-9262-4470c773a100'
64
+ 1313161554: '3ff73439-a619-4894-9262-4470c773a100',
65
+ // Ronin Mainnet
66
+ 2020: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',
67
+ // Saigon Testnet (a.k.a. Ronin)
68
+ 2021: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',
69
+ // Berachain Mainnet
70
+ 80094: 'e329c2c9-59b0-4a02-83e4-212ff3779900',
71
+ // Abstract Mainnet
72
+ 2741: 'fc2427d1-5af9-4a9c-8da5-6f94627cd900',
73
+ // Solana networks
74
+ /// Mainnet
75
+ '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 'a1b58899-f671-4276-6a5e-56ca5bd59700',
76
+ /// Testnet
77
+ '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z': 'a1b58899-f671-4276-6a5e-56ca5bd59700',
78
+ // Bitcoin
79
+ '000000000019d6689c085ae165831e93': '0b4838db-0161-4ffe-022d-532bf03dba00',
80
+ // Bitcoin Testnet
81
+ '000000000933ea01ad0ee984209779ba': '39354064-d79b-420b-065d-f980c4b78200'
51
82
  },
52
83
  ConnectorNamesMap: {
53
84
  [_ConstantsUtil.ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'WalletConnect',
@@ -1 +1 @@
1
- {"version":3,"names":["_ConstantsUtil","require","PresetsUtil","exports","ConnectorExplorerIds","ConstantsUtil","COINBASE_CONNECTOR_ID","EIP155NetworkImageIds","ConnectorNamesMap","WALLET_CONNECT_CONNECTOR_ID","AUTH_CONNECTOR_ID","ConnectorImageIds","ConnectorTypesMap","RpcChainIds"],"sourceRoot":"../../../src","sources":["utils/PresetsUtil.ts"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AAEO,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EACzBE,oBAAoB,EAAE;IACpB,CAACC,4BAAa,CAACC,qBAAqB,GAClC;EACJ,CAA2B;EAE3BC,qBAAqB,EAAE;IACrB;IACA,CAAC,EAAE,sCAAsC;IACzC;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,EAAE,EAAE,sCAAsC;IAC1C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,EAAE,EAAE,sCAAsC;IAC1C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,OAAO,EAAE,sCAAsC;IAC/C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,UAAU,EAAE;EACd,CAA2B;EAE3BC,iBAAiB,EAAE;IACjB,CAACH,4BAAa,CAACI,2BAA2B,GAAG,eAAe;IAC5D,CAACJ,4BAAa,CAACC,qBAAqB,GAAG,iBAAiB;IACxD,CAACD,4BAAa,CAACK,iBAAiB,GAAG;EACrC,CAA2B;EAE3BC,iBAAiB,EAAE;IACjB,CAACN,4BAAa,CAACC,qBAAqB,GAAG,sCAAsC;IAC7E,CAACD,4BAAa,CAACI,2BAA2B,GAAG;EAC/C,CAA2B;EAE3BG,iBAAiB,EAAE;IACjB,CAACP,4BAAa,CAACI,2BAA2B,GAAG,gBAAgB;IAC7D,CAACJ,4BAAa,CAACC,qBAAqB,GAAG,UAAU;IACjD,CAACD,4BAAa,CAACK,iBAAiB,GAAG;EACrC,CAAkC;EAElCG,WAAW,EAAE;EACX;EACA,CAAC;EACD;EACA,CAAC;EACD;EACA,QAAQ;EACR;EACA,EAAE;EACF;EACA,GAAG;EACH;EACA,KAAK;EACL;EACA,MAAM;EACN;EACA,GAAG;EACH;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA,UAAU;EACV;EACA,UAAU;EACV;EACA,EAAE;EACF;EACA,EAAE;EACF;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA,GAAG;EACH;EACA,IAAI;EACJ;EACA,KAAK;EACL;EACA,OAAO;EACP;EACA,GAAG;EACH;EACA,GAAG;EACH;EACA,GAAG;AAEP,CAAC"}
1
+ {"version":3,"names":["_ConstantsUtil","require","PresetsUtil","exports","ConnectorExplorerIds","ConstantsUtil","COINBASE_CONNECTOR_ID","NetworkImageIds","ConnectorNamesMap","WALLET_CONNECT_CONNECTOR_ID","AUTH_CONNECTOR_ID","ConnectorImageIds","ConnectorTypesMap","RpcChainIds"],"sourceRoot":"../../../src","sources":["utils/PresetsUtil.ts"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AAEO,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EACzBE,oBAAoB,EAAE;IACpB,CAACC,4BAAa,CAACC,qBAAqB,GAClC;EACJ,CAA2B;EAE3BC,eAAe,EAAE;IACf;IACA,CAAC,EAAE,sCAAsC;IACzC;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,EAAE,EAAE,sCAAsC;IAC1C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,EAAE,EAAE,sCAAsC;IAC1C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,UAAU,EAAE,sCAAsC;IAClD;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,MAAM,EAAE,sCAAsC;IAC9C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,OAAO,EAAE,sCAAsC;IAC/C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,UAAU,EAAE,sCAAsC;IAClD;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAE5C;IACA;IACA,kCAAkC,EAAE,sCAAsC;IAC1E;IACA,kCAAkC,EAAE,sCAAsC;IAE1E;IACA,kCAAkC,EAAE,sCAAsC;IAC1E;IACA,kCAAkC,EAAE;EACtC,CAA2B;EAE3BC,iBAAiB,EAAE;IACjB,CAACH,4BAAa,CAACI,2BAA2B,GAAG,eAAe;IAC5D,CAACJ,4BAAa,CAACC,qBAAqB,GAAG,iBAAiB;IACxD,CAACD,4BAAa,CAACK,iBAAiB,GAAG;EACrC,CAA2B;EAE3BC,iBAAiB,EAAE;IACjB,CAACN,4BAAa,CAACC,qBAAqB,GAAG,sCAAsC;IAC7E,CAACD,4BAAa,CAACI,2BAA2B,GAAG;EAC/C,CAA2B;EAE3BG,iBAAiB,EAAE;IACjB,CAACP,4BAAa,CAACI,2BAA2B,GAAG,gBAAgB;IAC7D,CAACJ,4BAAa,CAACC,qBAAqB,GAAG,UAAU;IACjD,CAACD,4BAAa,CAACK,iBAAiB,GAAG;EACrC,CAAkC;EAElCG,WAAW,EAAE;EACX;EACA,CAAC;EACD;EACA,CAAC;EACD;EACA,QAAQ;EACR;EACA,EAAE;EACF;EACA,GAAG;EACH;EACA,KAAK;EACL;EACA,MAAM;EACN;EACA,GAAG;EACH;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA,UAAU;EACV;EACA,UAAU;EACV;EACA,EAAE;EACF;EACA,EAAE;EACF;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA,GAAG;EACH;EACA,IAAI;EACJ;EACA,KAAK;EACL;EACA,OAAO;EACP;EACA,GAAG;EACH;EACA,GAAG;EACH;EACA,GAAG;AAEP,CAAC"}
@@ -1,2 +1,94 @@
1
1
  "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WalletConnector = exports.SolanaBaseAdapter = exports.EVMAdapter = exports.BlockchainAdapter = void 0;
7
+ var _events = require("events");
8
+ //********** Adapter Types **********//
9
+ class BlockchainAdapter extends _events.EventEmitter {
10
+ constructor({
11
+ projectId,
12
+ supportedNamespace
13
+ }) {
14
+ super();
15
+ this.projectId = projectId;
16
+ this.supportedNamespace = supportedNamespace;
17
+ }
18
+ setConnector(connector) {
19
+ this.connector = connector;
20
+ this.subscribeToEvents();
21
+ }
22
+ removeConnector() {
23
+ this.connector = undefined;
24
+ }
25
+ getProvider() {
26
+ if (!this.connector) throw new Error('No active connector');
27
+ return this.connector.getProvider();
28
+ }
29
+ subscribeToEvents() {
30
+ const provider = this.connector?.getProvider();
31
+ if (!provider) return;
32
+ provider.on('chainChanged', this.onChainChanged.bind(this));
33
+ provider.on('accountsChanged', this.onAccountsChanged.bind(this));
34
+ provider.on('disconnect', this.onDisconnect.bind(this));
35
+ }
36
+ onChainChanged(chainId) {
37
+ this.emit('chainChanged', {
38
+ chainId,
39
+ namespace: this.getSupportedNamespace()
40
+ });
41
+ }
42
+ onAccountsChanged(accounts) {
43
+ const _accounts = this.getAccounts();
44
+ const shouldEmit = _accounts?.some(account => {
45
+ const accountAddress = account.split(':')[2];
46
+ return accountAddress !== undefined && accounts.includes(accountAddress);
47
+ });
48
+ if (shouldEmit) {
49
+ this.emit('accountsChanged', {
50
+ accounts,
51
+ namespace: this.getSupportedNamespace()
52
+ });
53
+ }
54
+ }
55
+ onDisconnect() {
56
+ this.emit('disconnect', {
57
+ namespace: this.getSupportedNamespace()
58
+ });
59
+ const provider = this.connector?.getProvider();
60
+ if (provider) {
61
+ provider.off('chainChanged', this.onChainChanged.bind(this));
62
+ provider.off('accountsChanged', this.onAccountsChanged.bind(this));
63
+ provider.off('disconnect', this.onDisconnect.bind(this));
64
+ }
65
+ this.connector = undefined;
66
+ }
67
+ }
68
+ exports.BlockchainAdapter = BlockchainAdapter;
69
+ class EVMAdapter extends BlockchainAdapter {
70
+ // ens logic
71
+ }
72
+ exports.EVMAdapter = EVMAdapter;
73
+ class SolanaBaseAdapter extends BlockchainAdapter {}
74
+
75
+ //********** Connector Types **********//
76
+ exports.SolanaBaseAdapter = SolanaBaseAdapter;
77
+ class WalletConnector extends _events.EventEmitter {
78
+ constructor({
79
+ type,
80
+ provider
81
+ }) {
82
+ super();
83
+ this.type = type;
84
+ this.provider = provider;
85
+ }
86
+ }
87
+
88
+ //********** Provider Types **********//
89
+
90
+ //TODO: rename this and remove the old one ConnectorType
91
+
92
+ //********** Others **********//
93
+ exports.WalletConnector = WalletConnector;
2
94
  //# sourceMappingURL=TypeUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/TypeUtil.ts"],"mappings":""}
1
+ {"version":3,"names":["_events","require","BlockchainAdapter","EventEmitter","constructor","projectId","supportedNamespace","setConnector","connector","subscribeToEvents","removeConnector","undefined","getProvider","Error","provider","on","onChainChanged","bind","onAccountsChanged","onDisconnect","chainId","emit","namespace","getSupportedNamespace","accounts","_accounts","getAccounts","shouldEmit","some","account","accountAddress","split","includes","off","exports","EVMAdapter","SolanaBaseAdapter","WalletConnector","type"],"sourceRoot":"../../../src","sources":["utils/TypeUtil.ts"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export const ConstantsUtil = {
2
- VERSION: '0.0.0-feat-onramp-20250401222444',
2
+ VERSION: '0.0.0-feat-multichain-20250512202036',
3
3
  EIP155: 'eip155',
4
4
  ADD_CHAIN_METHOD: 'wallet_addEthereumChain',
5
5
  WC_NAME_SUFFIX: '.reown.id',
@@ -1 +1 @@
1
- {"version":3,"names":["ConstantsUtil","VERSION","EIP155","ADD_CHAIN_METHOD","WC_NAME_SUFFIX","WC_NAME_SUFFIX_LEGACY","BLOCKCHAIN_API_RPC_URL","BLOCKCHAIN_API_RPC_URL_STAGING","PULSE_API_URL","API_URL","WALLET_CONNECT_CONNECTOR_ID","COINBASE_CONNECTOR_ID","AUTH_CONNECTOR_ID","COINBASE_EXPLORER_ID","USDT_CONTRACT_ADDRESSES"],"sourceRoot":"../../../src","sources":["utils/ConstantsUtil.ts"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,OAAO,EAAE,kCAAkC;EAE3CC,MAAM,EAAE,QAAQ;EAChBC,gBAAgB,EAAE,yBAAyB;EAE3CC,cAAc,EAAE,WAAW;EAC3BC,qBAAqB,EAAE,SAAS;EAEhCC,sBAAsB,EAAE,+BAA+B;EACvDC,8BAA8B,EAAE,uCAAuC;EACvEC,aAAa,EAAE,iCAAiC;EAChDC,OAAO,EAAE,2BAA2B;EAEpCC,2BAA2B,EAAE,eAAe;EAC5CC,qBAAqB,EAAE,gBAAgB;EACvCC,iBAAiB,EAAE,YAAY;EAE/BC,oBAAoB,EAAE,kEAAkE;EAExFC,uBAAuB,EAAE;EACvB;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;AAEhD,CAAC"}
1
+ {"version":3,"names":["ConstantsUtil","VERSION","EIP155","ADD_CHAIN_METHOD","WC_NAME_SUFFIX","WC_NAME_SUFFIX_LEGACY","BLOCKCHAIN_API_RPC_URL","BLOCKCHAIN_API_RPC_URL_STAGING","PULSE_API_URL","API_URL","WALLET_CONNECT_CONNECTOR_ID","COINBASE_CONNECTOR_ID","AUTH_CONNECTOR_ID","COINBASE_EXPLORER_ID","USDT_CONTRACT_ADDRESSES"],"sourceRoot":"../../../src","sources":["utils/ConstantsUtil.ts"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,OAAO,EAAE,sCAAsC;EAE/CC,MAAM,EAAE,QAAQ;EAChBC,gBAAgB,EAAE,yBAAyB;EAE3CC,cAAc,EAAE,WAAW;EAC3BC,qBAAqB,EAAE,SAAS;EAEhCC,sBAAsB,EAAE,+BAA+B;EACvDC,8BAA8B,EAAE,uCAAuC;EACvEC,aAAa,EAAE,iCAAiC;EAChDC,OAAO,EAAE,2BAA2B;EAEpCC,2BAA2B,EAAE,eAAe;EAC5CC,qBAAqB,EAAE,gBAAgB;EACvCC,iBAAiB,EAAE,YAAY;EAE/BC,oBAAoB,EAAE,kEAAkE;EAExFC,uBAAuB,EAAE;EACvB;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;EAC5C;EACA,4CAA4C;AAEhD,CAAC"}
@@ -3,11 +3,11 @@ export const PresetsUtil = {
3
3
  ConnectorExplorerIds: {
4
4
  [ConstantsUtil.COINBASE_CONNECTOR_ID]: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa'
5
5
  },
6
- EIP155NetworkImageIds: {
6
+ NetworkImageIds: {
7
7
  // Ethereum
8
8
  1: 'ba0ba0cd-17c6-4806-ad93-f9d174f17900',
9
9
  // Arbitrum
10
- 42161: '600a9a04-c1b9-42ca-6785-9b4b6ff85200',
10
+ 42161: '3bff954d-5cb0-47a0-9a23-d20192e74600',
11
11
  // Avalanche
12
12
  43114: '30c46e53-e989-45fb-4549-be3bd4eb3b00',
13
13
  // Binance Smart Chain
@@ -18,6 +18,20 @@ export const PresetsUtil = {
18
18
  10: 'ab9c186a-c52f-464b-2906-ca59d760a400',
19
19
  // Polygon
20
20
  137: '41d04d42-da3b-4453-8506-668cc0727900',
21
+ // Mantle
22
+ 5000: 'e86fae9b-b770-4eea-e520-150e12c81100',
23
+ // Hedera Mainnet
24
+ 295: '6a97d510-cac8-4e58-c7ce-e8681b044c00',
25
+ // Sepolia
26
+ 11_155_111: 'e909ea0a-f92a-4512-c8fc-748044ea6800',
27
+ // Base Sepolia
28
+ 84532: 'a18a7ecd-e307-4360-4746-283182228e00',
29
+ // Unichain Sepolia
30
+ 1301: '4eeea7ef-0014-4649-5d1d-07271a80f600',
31
+ // Unichain Mainnet
32
+ 130: '2257980a-3463-48c6-cbac-a42d2a956e00',
33
+ // Monad Testnet
34
+ 10_143: '0a728e83-bacb-46db-7844-948f05434900',
21
35
  // Gnosis
22
36
  100: '02b53f6a-e3d4-479e-1cb4-21178987d100',
23
37
  // EVMos
@@ -41,7 +55,24 @@ export const PresetsUtil = {
41
55
  // Base
42
56
  8453: '7289c336-3981-4081-c5f4-efc26ac64a00',
43
57
  // Aurora
44
- 1313161554: '3ff73439-a619-4894-9262-4470c773a100'
58
+ 1313161554: '3ff73439-a619-4894-9262-4470c773a100',
59
+ // Ronin Mainnet
60
+ 2020: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',
61
+ // Saigon Testnet (a.k.a. Ronin)
62
+ 2021: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',
63
+ // Berachain Mainnet
64
+ 80094: 'e329c2c9-59b0-4a02-83e4-212ff3779900',
65
+ // Abstract Mainnet
66
+ 2741: 'fc2427d1-5af9-4a9c-8da5-6f94627cd900',
67
+ // Solana networks
68
+ /// Mainnet
69
+ '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 'a1b58899-f671-4276-6a5e-56ca5bd59700',
70
+ /// Testnet
71
+ '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z': 'a1b58899-f671-4276-6a5e-56ca5bd59700',
72
+ // Bitcoin
73
+ '000000000019d6689c085ae165831e93': '0b4838db-0161-4ffe-022d-532bf03dba00',
74
+ // Bitcoin Testnet
75
+ '000000000933ea01ad0ee984209779ba': '39354064-d79b-420b-065d-f980c4b78200'
45
76
  },
46
77
  ConnectorNamesMap: {
47
78
  [ConstantsUtil.WALLET_CONNECT_CONNECTOR_ID]: 'WalletConnect',
@@ -1 +1 @@
1
- {"version":3,"names":["ConstantsUtil","PresetsUtil","ConnectorExplorerIds","COINBASE_CONNECTOR_ID","EIP155NetworkImageIds","ConnectorNamesMap","WALLET_CONNECT_CONNECTOR_ID","AUTH_CONNECTOR_ID","ConnectorImageIds","ConnectorTypesMap","RpcChainIds"],"sourceRoot":"../../../src","sources":["utils/PresetsUtil.ts"],"mappings":"AACA,SAASA,aAAa,QAAQ,iBAAiB;AAE/C,OAAO,MAAMC,WAAW,GAAG;EACzBC,oBAAoB,EAAE;IACpB,CAACF,aAAa,CAACG,qBAAqB,GAClC;EACJ,CAA2B;EAE3BC,qBAAqB,EAAE;IACrB;IACA,CAAC,EAAE,sCAAsC;IACzC;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,EAAE,EAAE,sCAAsC;IAC1C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,EAAE,EAAE,sCAAsC;IAC1C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,OAAO,EAAE,sCAAsC;IAC/C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,UAAU,EAAE;EACd,CAA2B;EAE3BC,iBAAiB,EAAE;IACjB,CAACL,aAAa,CAACM,2BAA2B,GAAG,eAAe;IAC5D,CAACN,aAAa,CAACG,qBAAqB,GAAG,iBAAiB;IACxD,CAACH,aAAa,CAACO,iBAAiB,GAAG;EACrC,CAA2B;EAE3BC,iBAAiB,EAAE;IACjB,CAACR,aAAa,CAACG,qBAAqB,GAAG,sCAAsC;IAC7E,CAACH,aAAa,CAACM,2BAA2B,GAAG;EAC/C,CAA2B;EAE3BG,iBAAiB,EAAE;IACjB,CAACT,aAAa,CAACM,2BAA2B,GAAG,gBAAgB;IAC7D,CAACN,aAAa,CAACG,qBAAqB,GAAG,UAAU;IACjD,CAACH,aAAa,CAACO,iBAAiB,GAAG;EACrC,CAAkC;EAElCG,WAAW,EAAE;EACX;EACA,CAAC;EACD;EACA,CAAC;EACD;EACA,QAAQ;EACR;EACA,EAAE;EACF;EACA,GAAG;EACH;EACA,KAAK;EACL;EACA,MAAM;EACN;EACA,GAAG;EACH;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA,UAAU;EACV;EACA,UAAU;EACV;EACA,EAAE;EACF;EACA,EAAE;EACF;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA,GAAG;EACH;EACA,IAAI;EACJ;EACA,KAAK;EACL;EACA,OAAO;EACP;EACA,GAAG;EACH;EACA,GAAG;EACH;EACA,GAAG;AAEP,CAAC"}
1
+ {"version":3,"names":["ConstantsUtil","PresetsUtil","ConnectorExplorerIds","COINBASE_CONNECTOR_ID","NetworkImageIds","ConnectorNamesMap","WALLET_CONNECT_CONNECTOR_ID","AUTH_CONNECTOR_ID","ConnectorImageIds","ConnectorTypesMap","RpcChainIds"],"sourceRoot":"../../../src","sources":["utils/PresetsUtil.ts"],"mappings":"AACA,SAASA,aAAa,QAAQ,iBAAiB;AAE/C,OAAO,MAAMC,WAAW,GAAG;EACzBC,oBAAoB,EAAE;IACpB,CAACF,aAAa,CAACG,qBAAqB,GAClC;EACJ,CAA2B;EAE3BC,eAAe,EAAE;IACf;IACA,CAAC,EAAE,sCAAsC;IACzC;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,EAAE,EAAE,sCAAsC;IAC1C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,EAAE,EAAE,sCAAsC;IAC1C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,UAAU,EAAE,sCAAsC;IAClD;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,MAAM,EAAE,sCAAsC;IAC9C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,GAAG,EAAE,sCAAsC;IAC3C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,OAAO,EAAE,sCAAsC;IAC/C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,UAAU,EAAE,sCAAsC;IAClD;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,IAAI,EAAE,sCAAsC;IAC5C;IACA,KAAK,EAAE,sCAAsC;IAC7C;IACA,IAAI,EAAE,sCAAsC;IAE5C;IACA;IACA,kCAAkC,EAAE,sCAAsC;IAC1E;IACA,kCAAkC,EAAE,sCAAsC;IAE1E;IACA,kCAAkC,EAAE,sCAAsC;IAC1E;IACA,kCAAkC,EAAE;EACtC,CAA2B;EAE3BC,iBAAiB,EAAE;IACjB,CAACL,aAAa,CAACM,2BAA2B,GAAG,eAAe;IAC5D,CAACN,aAAa,CAACG,qBAAqB,GAAG,iBAAiB;IACxD,CAACH,aAAa,CAACO,iBAAiB,GAAG;EACrC,CAA2B;EAE3BC,iBAAiB,EAAE;IACjB,CAACR,aAAa,CAACG,qBAAqB,GAAG,sCAAsC;IAC7E,CAACH,aAAa,CAACM,2BAA2B,GAAG;EAC/C,CAA2B;EAE3BG,iBAAiB,EAAE;IACjB,CAACT,aAAa,CAACM,2BAA2B,GAAG,gBAAgB;IAC7D,CAACN,aAAa,CAACG,qBAAqB,GAAG,UAAU;IACjD,CAACH,aAAa,CAACO,iBAAiB,GAAG;EACrC,CAAkC;EAElCG,WAAW,EAAE;EACX;EACA,CAAC;EACD;EACA,CAAC;EACD;EACA,QAAQ;EACR;EACA,EAAE;EACF;EACA,GAAG;EACH;EACA,KAAK;EACL;EACA,MAAM;EACN;EACA,GAAG;EACH;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA,UAAU;EACV;EACA,UAAU;EACV;EACA,EAAE;EACF;EACA,EAAE;EACF;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA,GAAG;EACH;EACA,IAAI;EACJ;EACA,KAAK;EACL;EACA,OAAO;EACP;EACA,GAAG;EACH;EACA,GAAG;EACH;EACA,GAAG;AAEP,CAAC"}
@@ -1,2 +1,85 @@
1
+ import { EventEmitter } from 'events';
2
+ //********** Adapter Types **********//
3
+ export class BlockchainAdapter extends EventEmitter {
4
+ constructor({
5
+ projectId,
6
+ supportedNamespace
7
+ }) {
8
+ super();
9
+ this.projectId = projectId;
10
+ this.supportedNamespace = supportedNamespace;
11
+ }
12
+ setConnector(connector) {
13
+ this.connector = connector;
14
+ this.subscribeToEvents();
15
+ }
16
+ removeConnector() {
17
+ this.connector = undefined;
18
+ }
19
+ getProvider() {
20
+ if (!this.connector) throw new Error('No active connector');
21
+ return this.connector.getProvider();
22
+ }
23
+ subscribeToEvents() {
24
+ const provider = this.connector?.getProvider();
25
+ if (!provider) return;
26
+ provider.on('chainChanged', this.onChainChanged.bind(this));
27
+ provider.on('accountsChanged', this.onAccountsChanged.bind(this));
28
+ provider.on('disconnect', this.onDisconnect.bind(this));
29
+ }
30
+ onChainChanged(chainId) {
31
+ this.emit('chainChanged', {
32
+ chainId,
33
+ namespace: this.getSupportedNamespace()
34
+ });
35
+ }
36
+ onAccountsChanged(accounts) {
37
+ const _accounts = this.getAccounts();
38
+ const shouldEmit = _accounts?.some(account => {
39
+ const accountAddress = account.split(':')[2];
40
+ return accountAddress !== undefined && accounts.includes(accountAddress);
41
+ });
42
+ if (shouldEmit) {
43
+ this.emit('accountsChanged', {
44
+ accounts,
45
+ namespace: this.getSupportedNamespace()
46
+ });
47
+ }
48
+ }
49
+ onDisconnect() {
50
+ this.emit('disconnect', {
51
+ namespace: this.getSupportedNamespace()
52
+ });
53
+ const provider = this.connector?.getProvider();
54
+ if (provider) {
55
+ provider.off('chainChanged', this.onChainChanged.bind(this));
56
+ provider.off('accountsChanged', this.onAccountsChanged.bind(this));
57
+ provider.off('disconnect', this.onDisconnect.bind(this));
58
+ }
59
+ this.connector = undefined;
60
+ }
61
+ }
62
+ export class EVMAdapter extends BlockchainAdapter {
63
+ // ens logic
64
+ }
65
+ export class SolanaBaseAdapter extends BlockchainAdapter {}
1
66
 
67
+ //********** Connector Types **********//
68
+
69
+ export class WalletConnector extends EventEmitter {
70
+ constructor({
71
+ type,
72
+ provider
73
+ }) {
74
+ super();
75
+ this.type = type;
76
+ this.provider = provider;
77
+ }
78
+ }
79
+
80
+ //********** Provider Types **********//
81
+
82
+ //TODO: rename this and remove the old one ConnectorType
83
+
84
+ //********** Others **********//
2
85
  //# sourceMappingURL=TypeUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/TypeUtil.ts"],"mappings":""}
1
+ {"version":3,"names":["EventEmitter","BlockchainAdapter","constructor","projectId","supportedNamespace","setConnector","connector","subscribeToEvents","removeConnector","undefined","getProvider","Error","provider","on","onChainChanged","bind","onAccountsChanged","onDisconnect","chainId","emit","namespace","getSupportedNamespace","accounts","_accounts","getAccounts","shouldEmit","some","account","accountAddress","split","includes","off","EVMAdapter","SolanaBaseAdapter","WalletConnector","type"],"sourceRoot":"../../../src","sources":["utils/TypeUtil.ts"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { ConnectorType } from './TypeUtil';
2
2
  export declare const PresetsUtil: {
3
3
  ConnectorExplorerIds: Record<string, string>;
4
- EIP155NetworkImageIds: Record<string, string>;
4
+ NetworkImageIds: Record<string, string>;
5
5
  ConnectorNamesMap: Record<string, string>;
6
6
  ConnectorImageIds: Record<string, string>;
7
7
  ConnectorTypesMap: Record<string, ConnectorType>;
@@ -1 +1 @@
1
- {"version":3,"file":"PresetsUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/PresetsUtil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,eAAO,MAAM,WAAW;;;;;;;CAgHvB,CAAC"}
1
+ {"version":3,"file":"PresetsUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/PresetsUtil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,eAAO,MAAM,WAAW;;;;;;;CAiJvB,CAAC"}
@@ -1,3 +1,45 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ export type CaipAddress = `${string}:${string}:${string}`;
4
+ export type CaipNetworkId = `${string}:${string}`;
5
+ export type ChainNamespace = 'eip155' | 'solana' | 'polkadot' | 'bip122';
6
+ export type AppKitNetwork = {
7
+ id: number | string;
8
+ name: string;
9
+ nativeCurrency: {
10
+ name: string;
11
+ symbol: string;
12
+ decimals: number;
13
+ };
14
+ rpcUrls: {
15
+ default: {
16
+ http: readonly string[];
17
+ };
18
+ [key: string]: {
19
+ http: readonly string[];
20
+ } | undefined;
21
+ };
22
+ blockExplorers?: {
23
+ default: {
24
+ name: string;
25
+ url: string;
26
+ };
27
+ [key: string]: {
28
+ name: string;
29
+ url: string;
30
+ } | undefined;
31
+ };
32
+ chainNamespace?: ChainNamespace;
33
+ caipNetworkId?: CaipNetworkId;
34
+ testnet?: boolean;
35
+ deprecatedCaipNetworkId?: CaipNetworkId;
36
+ };
37
+ export interface CaipNetwork {
38
+ id: CaipNetworkId;
39
+ name?: string;
40
+ imageId?: string;
41
+ imageUrl?: string;
42
+ }
1
43
  export interface Balance {
2
44
  name: string;
3
45
  symbol: string;
@@ -79,6 +121,107 @@ export type ThemeMode = 'dark' | 'light';
79
121
  export interface ThemeVariables {
80
122
  accent?: string;
81
123
  }
124
+ export interface Token {
125
+ address: string;
126
+ image?: string;
127
+ }
128
+ export type Tokens = Record<CaipNetworkId, Token>;
82
129
  export type ConnectorType = 'WALLET_CONNECT' | 'COINBASE' | 'AUTH' | 'EXTERNAL';
130
+ export declare abstract class BlockchainAdapter extends EventEmitter {
131
+ projectId: string;
132
+ connector?: WalletConnector;
133
+ supportedNamespace: ChainNamespace;
134
+ constructor({ projectId, supportedNamespace }: {
135
+ projectId: string;
136
+ supportedNamespace: ChainNamespace;
137
+ });
138
+ setConnector(connector: WalletConnector): void;
139
+ removeConnector(): void;
140
+ getProvider(): Provider;
141
+ subscribeToEvents(): void;
142
+ onChainChanged(chainId: string): void;
143
+ onAccountsChanged(accounts: string[]): void;
144
+ onDisconnect(): void;
145
+ abstract disconnect(): Promise<void>;
146
+ abstract request(method: string, params?: any[]): Promise<any>;
147
+ abstract getSupportedNamespace(): ChainNamespace;
148
+ abstract getBalance(params: GetBalanceParams): Promise<GetBalanceResponse>;
149
+ abstract getAccounts(): CaipAddress[] | undefined;
150
+ abstract switchNetwork(network: AppKitNetwork): Promise<void>;
151
+ }
152
+ export declare abstract class EVMAdapter extends BlockchainAdapter {
153
+ }
154
+ export declare abstract class SolanaBaseAdapter extends BlockchainAdapter {
155
+ }
156
+ export interface GetBalanceParams {
157
+ address?: CaipAddress;
158
+ network?: AppKitNetwork;
159
+ tokens?: Tokens;
160
+ }
161
+ type ContractAddress = CaipAddress;
162
+ export interface GetBalanceResponse {
163
+ amount: string;
164
+ symbol: string;
165
+ contractAddress?: ContractAddress;
166
+ }
167
+ interface BaseNamespace {
168
+ chains?: CaipNetworkId[];
169
+ accounts: CaipAddress[];
170
+ methods: string[];
171
+ events: string[];
172
+ }
173
+ type Namespace = BaseNamespace;
174
+ export type Namespaces = Record<string, Namespace>;
175
+ export type ProposalNamespaces = Record<string, Omit<Namespace, 'accounts'> & Required<Pick<Namespace, 'chains'>>>;
176
+ export declare abstract class WalletConnector extends EventEmitter {
177
+ type: New_ConnectorType;
178
+ protected provider: Provider;
179
+ protected namespaces?: Namespaces;
180
+ protected wallet?: WalletInfo;
181
+ constructor({ type, provider }: {
182
+ type: New_ConnectorType;
183
+ provider: Provider;
184
+ });
185
+ abstract connect(opts: {
186
+ namespaces?: ProposalNamespaces;
187
+ defaultChain?: CaipNetworkId;
188
+ }): Promise<Namespaces | undefined>;
189
+ abstract disconnect(): Promise<void>;
190
+ abstract getProvider(): Provider;
191
+ abstract getNamespaces(): Namespaces;
192
+ abstract getChainId(namespace: ChainNamespace): CaipNetworkId | undefined;
193
+ abstract getWalletInfo(): WalletInfo | undefined;
194
+ abstract switchNetwork(network: AppKitNetwork): Promise<void>;
195
+ }
196
+ export interface Provider {
197
+ connect<T>(params?: any): Promise<T>;
198
+ disconnect(): Promise<void>;
199
+ request<T = unknown>(args: RequestArguments, chain?: string | undefined, expiry?: number | undefined): Promise<T>;
200
+ on(event: string, listener: (args?: any) => void): any;
201
+ off(event: string, listener: (args?: any) => void): any;
202
+ }
203
+ export interface RequestArguments {
204
+ method: string;
205
+ params?: unknown[] | Record<string, unknown> | object | undefined;
206
+ }
207
+ export type New_ConnectorType = 'walletconnect' | 'coinbase' | 'auth';
208
+ export interface ConnectionResponse {
209
+ accounts: string[];
210
+ chainId: string;
211
+ [key: string]: any;
212
+ }
213
+ export interface WalletInfo {
214
+ name?: string;
215
+ icon?: string;
216
+ description?: string;
217
+ url?: string;
218
+ icons?: string[];
219
+ redirect?: {
220
+ native?: string;
221
+ universal?: string;
222
+ linkMode?: boolean;
223
+ };
224
+ [key: string]: unknown;
225
+ }
83
226
  export {};
84
227
  //# sourceMappingURL=TypeUtil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypeUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/TypeUtil.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;IACrC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,mBAAmB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE;QACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE;YACL,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,uBAAuB,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,GAAG,WAAW,CAAC;AAErE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"TypeUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/TypeUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit-common-react-native",
3
- "version": "0.0.0-feat-onramp-20250401222444",
3
+ "version": "0.0.0-feat-multichain-20250512202036",
4
4
  "main": "lib/commonjs/index.js",
5
5
  "types": "lib/typescript/index.d.ts",
6
6
  "module": "lib/module/index.js",
@@ -1,5 +1,5 @@
1
1
  export const ConstantsUtil = {
2
- VERSION: '0.0.0-feat-onramp-20250401222444',
2
+ VERSION: '0.0.0-feat-multichain-20250512202036',
3
3
 
4
4
  EIP155: 'eip155',
5
5
  ADD_CHAIN_METHOD: 'wallet_addEthereumChain',
@@ -7,11 +7,11 @@ export const PresetsUtil = {
7
7
  'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa'
8
8
  } as Record<string, string>,
9
9
 
10
- EIP155NetworkImageIds: {
10
+ NetworkImageIds: {
11
11
  // Ethereum
12
12
  1: 'ba0ba0cd-17c6-4806-ad93-f9d174f17900',
13
13
  // Arbitrum
14
- 42161: '600a9a04-c1b9-42ca-6785-9b4b6ff85200',
14
+ 42161: '3bff954d-5cb0-47a0-9a23-d20192e74600',
15
15
  // Avalanche
16
16
  43114: '30c46e53-e989-45fb-4549-be3bd4eb3b00',
17
17
  // Binance Smart Chain
@@ -22,6 +22,20 @@ export const PresetsUtil = {
22
22
  10: 'ab9c186a-c52f-464b-2906-ca59d760a400',
23
23
  // Polygon
24
24
  137: '41d04d42-da3b-4453-8506-668cc0727900',
25
+ // Mantle
26
+ 5000: 'e86fae9b-b770-4eea-e520-150e12c81100',
27
+ // Hedera Mainnet
28
+ 295: '6a97d510-cac8-4e58-c7ce-e8681b044c00',
29
+ // Sepolia
30
+ 11_155_111: 'e909ea0a-f92a-4512-c8fc-748044ea6800',
31
+ // Base Sepolia
32
+ 84532: 'a18a7ecd-e307-4360-4746-283182228e00',
33
+ // Unichain Sepolia
34
+ 1301: '4eeea7ef-0014-4649-5d1d-07271a80f600',
35
+ // Unichain Mainnet
36
+ 130: '2257980a-3463-48c6-cbac-a42d2a956e00',
37
+ // Monad Testnet
38
+ 10_143: '0a728e83-bacb-46db-7844-948f05434900',
25
39
  // Gnosis
26
40
  100: '02b53f6a-e3d4-479e-1cb4-21178987d100',
27
41
  // EVMos
@@ -45,7 +59,26 @@ export const PresetsUtil = {
45
59
  // Base
46
60
  8453: '7289c336-3981-4081-c5f4-efc26ac64a00',
47
61
  // Aurora
48
- 1313161554: '3ff73439-a619-4894-9262-4470c773a100'
62
+ 1313161554: '3ff73439-a619-4894-9262-4470c773a100',
63
+ // Ronin Mainnet
64
+ 2020: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',
65
+ // Saigon Testnet (a.k.a. Ronin)
66
+ 2021: 'b8101fc0-9c19-4b6f-ec65-f6dfff106e00',
67
+ // Berachain Mainnet
68
+ 80094: 'e329c2c9-59b0-4a02-83e4-212ff3779900',
69
+ // Abstract Mainnet
70
+ 2741: 'fc2427d1-5af9-4a9c-8da5-6f94627cd900',
71
+
72
+ // Solana networks
73
+ /// Mainnet
74
+ '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 'a1b58899-f671-4276-6a5e-56ca5bd59700',
75
+ /// Testnet
76
+ '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z': 'a1b58899-f671-4276-6a5e-56ca5bd59700',
77
+
78
+ // Bitcoin
79
+ '000000000019d6689c085ae165831e93': '0b4838db-0161-4ffe-022d-532bf03dba00',
80
+ // Bitcoin Testnet
81
+ '000000000933ea01ad0ee984209779ba': '39354064-d79b-420b-065d-f980c4b78200'
49
82
  } as Record<string, string>,
50
83
 
51
84
  ConnectorNamesMap: {
@@ -1,3 +1,39 @@
1
+ import { EventEmitter } from 'events';
2
+
3
+ export type CaipAddress = `${string}:${string}:${string}`;
4
+
5
+ export type CaipNetworkId = `${string}:${string}`;
6
+
7
+ export type ChainNamespace = 'eip155' | 'solana' | 'polkadot' | 'bip122';
8
+
9
+ export type AppKitNetwork = {
10
+ // Core viem/chain properties
11
+ id: number | string;
12
+ name: string;
13
+ nativeCurrency: { name: string; symbol: string; decimals: number };
14
+ rpcUrls: {
15
+ default: { http: readonly string[] };
16
+ [key: string]: { http: readonly string[] } | undefined;
17
+ };
18
+ blockExplorers?: {
19
+ default: { name: string; url: string };
20
+ [key: string]: { name: string; url: string } | undefined;
21
+ };
22
+
23
+ // AppKit specific / CAIP properties (Optional in type, but often needed in practice)
24
+ chainNamespace?: ChainNamespace; // e.g., 'eip155'
25
+ caipNetworkId?: CaipNetworkId; // e.g., 'eip155:1'
26
+ testnet?: boolean;
27
+ deprecatedCaipNetworkId?: CaipNetworkId; // for Solana
28
+ };
29
+
30
+ export interface CaipNetwork {
31
+ id: CaipNetworkId;
32
+ name?: string;
33
+ imageId?: string;
34
+ imageUrl?: string;
35
+ }
36
+
1
37
  export interface Balance {
2
38
  name: string;
3
39
  symbol: string;
@@ -94,4 +130,196 @@ export interface ThemeVariables {
94
130
  accent?: string;
95
131
  }
96
132
 
133
+ export interface Token {
134
+ address: string;
135
+ image?: string;
136
+ }
137
+
138
+ export type Tokens = Record<CaipNetworkId, Token>;
139
+
97
140
  export type ConnectorType = 'WALLET_CONNECT' | 'COINBASE' | 'AUTH' | 'EXTERNAL';
141
+
142
+ //********** Adapter Types **********//
143
+ export abstract class BlockchainAdapter extends EventEmitter {
144
+ public projectId: string;
145
+ public connector?: WalletConnector;
146
+ public supportedNamespace: ChainNamespace;
147
+
148
+ constructor({
149
+ projectId,
150
+ supportedNamespace
151
+ }: {
152
+ projectId: string;
153
+ supportedNamespace: ChainNamespace;
154
+ }) {
155
+ super();
156
+ this.projectId = projectId;
157
+ this.supportedNamespace = supportedNamespace;
158
+ }
159
+
160
+ setConnector(connector: WalletConnector) {
161
+ this.connector = connector;
162
+ this.subscribeToEvents();
163
+ }
164
+
165
+ removeConnector() {
166
+ this.connector = undefined;
167
+ }
168
+
169
+ getProvider(): Provider {
170
+ if (!this.connector) throw new Error('No active connector');
171
+
172
+ return this.connector.getProvider();
173
+ }
174
+
175
+ subscribeToEvents(): void {
176
+ const provider = this.connector?.getProvider();
177
+ if (!provider) return;
178
+
179
+ provider.on('chainChanged', this.onChainChanged.bind(this));
180
+ provider.on('accountsChanged', this.onAccountsChanged.bind(this));
181
+ provider.on('disconnect', this.onDisconnect.bind(this));
182
+ }
183
+
184
+ onChainChanged(chainId: string): void {
185
+ this.emit('chainChanged', { chainId, namespace: this.getSupportedNamespace() });
186
+ }
187
+
188
+ onAccountsChanged(accounts: string[]): void {
189
+ const _accounts = this.getAccounts();
190
+ const shouldEmit = _accounts?.some(account => {
191
+ const accountAddress = account.split(':')[2];
192
+
193
+ return accountAddress !== undefined && accounts.includes(accountAddress);
194
+ });
195
+
196
+ if (shouldEmit) {
197
+ this.emit('accountsChanged', { accounts, namespace: this.getSupportedNamespace() });
198
+ }
199
+ }
200
+
201
+ onDisconnect(): void {
202
+ this.emit('disconnect', { namespace: this.getSupportedNamespace() });
203
+
204
+ const provider = this.connector?.getProvider();
205
+ if (provider) {
206
+ provider.off('chainChanged', this.onChainChanged.bind(this));
207
+ provider.off('accountsChanged', this.onAccountsChanged.bind(this));
208
+ provider.off('disconnect', this.onDisconnect.bind(this));
209
+ }
210
+
211
+ this.connector = undefined;
212
+ }
213
+
214
+ abstract disconnect(): Promise<void>;
215
+ abstract request(method: string, params?: any[]): Promise<any>;
216
+ abstract getSupportedNamespace(): ChainNamespace;
217
+ abstract getBalance(params: GetBalanceParams): Promise<GetBalanceResponse>;
218
+ abstract getAccounts(): CaipAddress[] | undefined;
219
+ abstract switchNetwork(network: AppKitNetwork): Promise<void>;
220
+ }
221
+
222
+ export abstract class EVMAdapter extends BlockchainAdapter {
223
+ // ens logic
224
+ }
225
+
226
+ export abstract class SolanaBaseAdapter extends BlockchainAdapter {}
227
+
228
+ export interface GetBalanceParams {
229
+ address?: CaipAddress;
230
+ network?: AppKitNetwork;
231
+ tokens?: Tokens;
232
+ }
233
+
234
+ type ContractAddress = CaipAddress;
235
+
236
+ export interface GetBalanceResponse {
237
+ amount: string;
238
+ symbol: string;
239
+ contractAddress?: ContractAddress;
240
+ }
241
+
242
+ //********** Connector Types **********//
243
+ interface BaseNamespace {
244
+ chains?: CaipNetworkId[];
245
+ accounts: CaipAddress[];
246
+ methods: string[];
247
+ events: string[];
248
+ }
249
+
250
+ type Namespace = BaseNamespace;
251
+
252
+ export type Namespaces = Record<string, Namespace>;
253
+
254
+ export type ProposalNamespaces = Record<
255
+ string,
256
+ Omit<Namespace, 'accounts'> & Required<Pick<Namespace, 'chains'>>
257
+ >;
258
+
259
+ export abstract class WalletConnector extends EventEmitter {
260
+ public type: New_ConnectorType;
261
+ protected provider: Provider;
262
+ protected namespaces?: Namespaces;
263
+ protected wallet?: WalletInfo;
264
+
265
+ constructor({ type, provider }: { type: New_ConnectorType; provider: Provider }) {
266
+ super();
267
+ this.type = type;
268
+ this.provider = provider;
269
+ }
270
+
271
+ abstract connect(opts: {
272
+ namespaces?: ProposalNamespaces;
273
+ defaultChain?: CaipNetworkId;
274
+ }): Promise<Namespaces | undefined>;
275
+ abstract disconnect(): Promise<void>;
276
+ abstract getProvider(): Provider;
277
+ abstract getNamespaces(): Namespaces;
278
+ abstract getChainId(namespace: ChainNamespace): CaipNetworkId | undefined;
279
+ abstract getWalletInfo(): WalletInfo | undefined;
280
+ abstract switchNetwork(network: AppKitNetwork): Promise<void>;
281
+ }
282
+
283
+ //********** Provider Types **********//
284
+
285
+ export interface Provider {
286
+ connect<T>(params?: any): Promise<T>;
287
+ disconnect(): Promise<void>;
288
+ request<T = unknown>(
289
+ args: RequestArguments,
290
+ chain?: string | undefined,
291
+ expiry?: number | undefined
292
+ ): Promise<T>;
293
+ on(event: string, listener: (args?: any) => void): any;
294
+ off(event: string, listener: (args?: any) => void): any;
295
+ }
296
+
297
+ export interface RequestArguments {
298
+ method: string;
299
+ params?: unknown[] | Record<string, unknown> | object | undefined;
300
+ }
301
+
302
+ //TODO: rename this and remove the old one ConnectorType
303
+ export type New_ConnectorType = 'walletconnect' | 'coinbase' | 'auth';
304
+
305
+ //********** Others **********//
306
+
307
+ export interface ConnectionResponse {
308
+ accounts: string[];
309
+ chainId: string;
310
+ [key: string]: any;
311
+ }
312
+
313
+ export interface WalletInfo {
314
+ name?: string;
315
+ icon?: string;
316
+ description?: string;
317
+ url?: string;
318
+ icons?: string[];
319
+ redirect?: {
320
+ native?: string;
321
+ universal?: string;
322
+ linkMode?: boolean;
323
+ };
324
+ [key: string]: unknown;
325
+ }