@reown/appkit-utils 1.8.15-viem-upgrade.0 → 1.8.15-viem-upgrade-2.0

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 (126) hide show
  1. package/dist/esm/exports/bitcoin.js +2 -0
  2. package/dist/esm/exports/bitcoin.js.map +1 -0
  3. package/dist/esm/exports/ethers.js +6 -0
  4. package/dist/esm/exports/ethers.js.map +1 -0
  5. package/dist/esm/exports/index.js +10 -0
  6. package/dist/esm/exports/index.js.map +1 -0
  7. package/dist/esm/exports/solana.js +3 -0
  8. package/dist/esm/exports/solana.js.map +1 -0
  9. package/dist/esm/exports/ton.js +2 -0
  10. package/dist/esm/exports/ton.js.map +1 -0
  11. package/dist/esm/exports/wallet-standard.js +2 -0
  12. package/dist/esm/exports/wallet-standard.js.map +1 -0
  13. package/dist/esm/package.json +121 -0
  14. package/dist/esm/src/CaipNetworkUtil.js +256 -0
  15. package/dist/esm/src/CaipNetworkUtil.js.map +1 -0
  16. package/dist/esm/src/ConstantsUtil.js +56 -0
  17. package/dist/esm/src/ConstantsUtil.js.map +1 -0
  18. package/dist/esm/src/ErrorUtil.js +92 -0
  19. package/dist/esm/src/ErrorUtil.js.map +1 -0
  20. package/dist/esm/src/HelpersUtil.js +93 -0
  21. package/dist/esm/src/HelpersUtil.js.map +1 -0
  22. package/dist/esm/src/LoggerUtil.js +22 -0
  23. package/dist/esm/src/LoggerUtil.js.map +1 -0
  24. package/dist/esm/src/PresetsUtil.js +176 -0
  25. package/dist/esm/src/PresetsUtil.js.map +1 -0
  26. package/dist/esm/src/SemVerUtils.js +77 -0
  27. package/dist/esm/src/SemVerUtils.js.map +1 -0
  28. package/dist/esm/src/TokenUtil.js +17 -0
  29. package/dist/esm/src/TokenUtil.js.map +1 -0
  30. package/dist/esm/src/TypeUtil.js +21 -0
  31. package/dist/esm/src/TypeUtil.js.map +1 -0
  32. package/dist/esm/src/WCNamespaceUtil.js +86 -0
  33. package/dist/esm/src/WCNamespaceUtil.js.map +1 -0
  34. package/dist/esm/src/bitcoin/BitcoinConstantsUtil.js +7 -0
  35. package/dist/esm/src/bitcoin/BitcoinConstantsUtil.js.map +1 -0
  36. package/dist/esm/src/bitcoin/BitcoinTypesUtil.js +8 -0
  37. package/dist/esm/src/bitcoin/BitcoinTypesUtil.js.map +1 -0
  38. package/dist/esm/src/ethers/BaseProvider.js +34 -0
  39. package/dist/esm/src/ethers/BaseProvider.js.map +1 -0
  40. package/dist/esm/src/ethers/EthersHelpersUtil.js +51 -0
  41. package/dist/esm/src/ethers/EthersHelpersUtil.js.map +1 -0
  42. package/dist/esm/src/ethers/EthersProvider.js +9 -0
  43. package/dist/esm/src/ethers/EthersProvider.js.map +1 -0
  44. package/dist/esm/src/ethers/EthersStoreUtil.js +58 -0
  45. package/dist/esm/src/ethers/EthersStoreUtil.js.map +1 -0
  46. package/dist/esm/src/ethers/EthersTypesUtil.js +2 -0
  47. package/dist/esm/src/ethers/EthersTypesUtil.js.map +1 -0
  48. package/dist/esm/src/ethers/InjectedProvider.js +15 -0
  49. package/dist/esm/src/ethers/InjectedProvider.js.map +1 -0
  50. package/dist/esm/src/ethers/SafeProvider.js +34 -0
  51. package/dist/esm/src/ethers/SafeProvider.js.map +1 -0
  52. package/dist/esm/src/solana/SolanaConstantsUtil.js +57 -0
  53. package/dist/esm/src/solana/SolanaConstantsUtil.js.map +1 -0
  54. package/dist/esm/src/solana/SolanaHelpersUtils.js +27 -0
  55. package/dist/esm/src/solana/SolanaHelpersUtils.js.map +1 -0
  56. package/dist/esm/src/solana/SolanaTypesUtil.js +2 -0
  57. package/dist/esm/src/solana/SolanaTypesUtil.js.map +1 -0
  58. package/dist/esm/src/ton/TonTypesUtil.js +2 -0
  59. package/dist/esm/src/ton/TonTypesUtil.js.map +1 -0
  60. package/dist/esm/src/wallet-standard/SolanaWalletConnectStandardWallet.js +334 -0
  61. package/dist/esm/src/wallet-standard/SolanaWalletConnectStandardWallet.js.map +1 -0
  62. package/dist/esm/src/wallet-standard/WalletConnectAccount.js +53 -0
  63. package/dist/esm/src/wallet-standard/WalletConnectAccount.js.map +1 -0
  64. package/dist/esm/src/wallet-standard/constants.js +8 -0
  65. package/dist/esm/src/wallet-standard/constants.js.map +1 -0
  66. package/dist/esm/src/wallet-standard/utils.js +11 -0
  67. package/dist/esm/src/wallet-standard/utils.js.map +1 -0
  68. package/dist/esm/tests/CaipNetworkUtil.test.js +333 -0
  69. package/dist/esm/tests/CaipNetworkUtil.test.js.map +1 -0
  70. package/dist/esm/tests/EthersHelpersUtil.test.js +61 -0
  71. package/dist/esm/tests/EthersHelpersUtil.test.js.map +1 -0
  72. package/dist/esm/tests/HelperUtil.test.js +84 -0
  73. package/dist/esm/tests/HelperUtil.test.js.map +1 -0
  74. package/dist/esm/tests/HelpersUtil.test.js +76 -0
  75. package/dist/esm/tests/HelpersUtil.test.js.map +1 -0
  76. package/dist/esm/tests/SemVerUtil.test.js +206 -0
  77. package/dist/esm/tests/SemVerUtil.test.js.map +1 -0
  78. package/dist/esm/tests/SolanaHelpersUtil.test.js +107 -0
  79. package/dist/esm/tests/SolanaHelpersUtil.test.js.map +1 -0
  80. package/dist/esm/tests/TokenUtil.test.js +27 -0
  81. package/dist/esm/tests/TokenUtil.test.js.map +1 -0
  82. package/dist/esm/tests/WalletConnectWalletStandard.test.js +322 -0
  83. package/dist/esm/tests/WalletConnectWalletStandard.test.js.map +1 -0
  84. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  85. package/dist/types/exports/bitcoin.d.ts +2 -0
  86. package/dist/types/exports/ethers.d.ts +6 -0
  87. package/dist/types/exports/index.d.ts +35 -0
  88. package/dist/types/exports/solana.d.ts +3 -0
  89. package/dist/types/exports/ton.d.ts +1 -0
  90. package/dist/types/exports/wallet-standard.d.ts +1 -0
  91. package/dist/types/src/CaipNetworkUtil.d.ts +59 -0
  92. package/dist/types/src/ConstantsUtil.d.ts +28 -0
  93. package/dist/types/src/ErrorUtil.d.ts +88 -0
  94. package/dist/types/src/HelpersUtil.d.ts +46 -0
  95. package/dist/types/src/LoggerUtil.d.ts +3 -0
  96. package/dist/types/src/PresetsUtil.d.ts +9 -0
  97. package/dist/types/src/SemVerUtils.d.ts +7 -0
  98. package/dist/types/src/TokenUtil.d.ts +9 -0
  99. package/dist/types/src/TypeUtil.d.ts +25 -0
  100. package/dist/types/src/WCNamespaceUtil.d.ts +11 -0
  101. package/dist/types/src/bitcoin/BitcoinConstantsUtil.d.ts +6 -0
  102. package/dist/types/src/bitcoin/BitcoinTypesUtil.d.ts +121 -0
  103. package/dist/types/src/ethers/BaseProvider.d.ts +6 -0
  104. package/dist/types/src/ethers/EthersHelpersUtil.d.ts +14 -0
  105. package/dist/types/src/ethers/EthersProvider.d.ts +12 -0
  106. package/dist/types/src/ethers/EthersStoreUtil.d.ts +29 -0
  107. package/dist/types/src/ethers/EthersTypesUtil.d.ts +54 -0
  108. package/dist/types/src/ethers/InjectedProvider.d.ts +5 -0
  109. package/dist/types/src/ethers/SafeProvider.d.ts +13 -0
  110. package/dist/types/src/solana/SolanaConstantsUtil.d.ts +35 -0
  111. package/dist/types/src/solana/SolanaHelpersUtils.d.ts +8 -0
  112. package/dist/types/src/solana/SolanaTypesUtil.d.ts +82 -0
  113. package/dist/types/src/ton/TonTypesUtil.d.ts +93 -0
  114. package/dist/types/src/wallet-standard/SolanaWalletConnectStandardWallet.d.ts +22 -0
  115. package/dist/types/src/wallet-standard/WalletConnectAccount.d.ts +14 -0
  116. package/dist/types/src/wallet-standard/constants.d.ts +2 -0
  117. package/dist/types/src/wallet-standard/utils.d.ts +8 -0
  118. package/dist/types/tests/CaipNetworkUtil.test.d.ts +1 -0
  119. package/dist/types/tests/EthersHelpersUtil.test.d.ts +1 -0
  120. package/dist/types/tests/HelperUtil.test.d.ts +1 -0
  121. package/dist/types/tests/HelpersUtil.test.d.ts +1 -0
  122. package/dist/types/tests/SemVerUtil.test.d.ts +1 -0
  123. package/dist/types/tests/SolanaHelpersUtil.test.d.ts +1 -0
  124. package/dist/types/tests/TokenUtil.test.d.ts +1 -0
  125. package/dist/types/tests/WalletConnectWalletStandard.test.d.ts +1 -0
  126. package/package.json +6 -6
@@ -0,0 +1,51 @@
1
+ import { PresetsUtil } from '../PresetsUtil.js';
2
+ export const EthersHelpersUtil = {
3
+ hexStringToNumber(value) {
4
+ const string = value.startsWith('0x') ? value.slice(2) : value;
5
+ const number = parseInt(string, 16);
6
+ return number;
7
+ },
8
+ numberToHexString(value) {
9
+ return `0x${value.toString(16)}`;
10
+ },
11
+ async getUserInfo(provider) {
12
+ const [addresses, chainId] = await Promise.all([
13
+ EthersHelpersUtil.getAddresses(provider),
14
+ EthersHelpersUtil.getChainId(provider)
15
+ ]);
16
+ return { chainId, addresses };
17
+ },
18
+ async getChainId(provider) {
19
+ const chainId = await provider.request({ method: 'eth_chainId' });
20
+ return Number(chainId);
21
+ },
22
+ async getAddress(provider) {
23
+ const [address] = await provider.request({ method: 'eth_accounts' });
24
+ return address;
25
+ },
26
+ async getAddresses(provider) {
27
+ const addresses = await provider.request({ method: 'eth_accounts' });
28
+ return addresses;
29
+ },
30
+ async addEthereumChain(provider, caipNetwork) {
31
+ const rpcUrls = caipNetwork.rpcUrls['chainDefault']?.http || [];
32
+ await provider.request({
33
+ method: 'wallet_addEthereumChain',
34
+ params: [
35
+ {
36
+ chainId: EthersHelpersUtil.numberToHexString(caipNetwork.id),
37
+ rpcUrls: [...rpcUrls],
38
+ chainName: caipNetwork.name,
39
+ nativeCurrency: {
40
+ name: caipNetwork.nativeCurrency.name,
41
+ decimals: caipNetwork.nativeCurrency.decimals,
42
+ symbol: caipNetwork.nativeCurrency.symbol
43
+ },
44
+ blockExplorerUrls: [caipNetwork.blockExplorers?.default.url],
45
+ iconUrls: [PresetsUtil.NetworkImageIds[caipNetwork.id]]
46
+ }
47
+ ]
48
+ });
49
+ }
50
+ };
51
+ //# sourceMappingURL=EthersHelpersUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EthersHelpersUtil.js","sourceRoot":"","sources":["../../../../src/ethers/EthersHelpersUtil.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,iBAAiB,CAAC,KAAa;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAEnC,OAAO,MAAM,CAAA;IACf,CAAC;IACD,iBAAiB,CAAC,KAAsB;QACtC,OAAO,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;IAClC,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,QAAkB;QAClC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC;YACxC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC;SACvC,CAAC,CAAA;QAEF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;IAC/B,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,QAAkB;QACjC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;QAElF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,QAAkB;QACjC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAW,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;QAE9E,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,QAAkB;QACnC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAW,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;QAE9E,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,QAAkB,EAAE,WAAwB;QACjE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,IAAI,IAAI,EAAE,CAAA;QAC/D,MAAM,QAAQ,CAAC,OAAO,CAAC;YACrB,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE;gBACN;oBACE,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC5D,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;oBACrB,SAAS,EAAE,WAAW,CAAC,IAAI;oBAC3B,cAAc,EAAE;wBACd,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC,IAAI;wBACrC,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,QAAQ;wBAC7C,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,MAAM;qBAC1C;oBACD,iBAAiB,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC;oBAC5D,QAAQ,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBACxD;aACF;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,9 @@
1
+ export class EthersProvider {
2
+ constructor() {
3
+ this.initialized = false;
4
+ }
5
+ async getProvider() {
6
+ return Promise.resolve(this.provider);
7
+ }
8
+ }
9
+ //# sourceMappingURL=EthersProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EthersProvider.js","sourceRoot":"","sources":["../../../../src/ethers/EthersProvider.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,cAAc;IAApC;QAES,gBAAW,GAAG,KAAK,CAAA;IAO5B,CAAC;IAHC,KAAK,CAAC,WAAW;QACf,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;CACF"}
@@ -0,0 +1,58 @@
1
+ import { proxy, ref, subscribe as sub } from 'valtio/vanilla';
2
+ import { subscribeKey as subKey } from 'valtio/vanilla/utils';
3
+ // -- State --------------------------------------------- //
4
+ const state = proxy({
5
+ provider: undefined,
6
+ providerType: undefined,
7
+ address: undefined,
8
+ chainId: undefined,
9
+ status: 'reconnecting',
10
+ isConnected: false
11
+ });
12
+ // -- StoreUtil ---------------------------------------- //
13
+ export const EthersStoreUtil = {
14
+ state,
15
+ subscribeKey(key, callback) {
16
+ return subKey(state, key, callback);
17
+ },
18
+ subscribe(callback) {
19
+ return sub(state, () => callback(state));
20
+ },
21
+ setProvider(provider) {
22
+ if (provider) {
23
+ state.provider = ref(provider);
24
+ }
25
+ },
26
+ setProviderType(providerType) {
27
+ state.providerType = providerType;
28
+ },
29
+ setAddress(address) {
30
+ state.address = address;
31
+ },
32
+ setPreferredAccountType(preferredAccountType) {
33
+ state.preferredAccountType = preferredAccountType;
34
+ },
35
+ setChainId(chainId) {
36
+ state.chainId = chainId;
37
+ },
38
+ setStatus(status) {
39
+ state.status = status;
40
+ },
41
+ setIsConnected(isConnected) {
42
+ state.isConnected = isConnected;
43
+ },
44
+ setError(error) {
45
+ state.error = error;
46
+ },
47
+ reset() {
48
+ state.provider = undefined;
49
+ state.address = undefined;
50
+ state.chainId = undefined;
51
+ state.providerType = undefined;
52
+ state.status = 'disconnected';
53
+ state.isConnected = false;
54
+ state.error = undefined;
55
+ state.preferredAccountType = undefined;
56
+ }
57
+ };
58
+ //# sourceMappingURL=EthersStoreUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EthersStoreUtil.js","sourceRoot":"","sources":["../../../../src/ethers/EthersStoreUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,IAAI,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAA;AA6B7D,4DAA4D;AAC5D,MAAM,KAAK,GAAG,KAAK,CAAuB;IACxC,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,cAAc;IACtB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAA;AAEF,2DAA2D;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK;IAEL,YAAY,CAAqB,GAAM,EAAE,QAAkD;QACzF,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IACrC,CAAC;IAED,SAAS,CAAC,QAAkD;QAC1D,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,WAAW,CAAC,QAA0C;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,eAAe,CAAC,YAAkD;QAChE,KAAK,CAAC,YAAY,GAAG,YAAY,CAAA;IACnC,CAAC;IAED,UAAU,CAAC,OAAwC;QACjD,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;IACzB,CAAC;IAED,uBAAuB,CAAC,oBAAkE;QACxF,KAAK,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;IACnD,CAAC;IAED,UAAU,CAAC,OAAwC;QACjD,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;IACzB,CAAC;IAED,SAAS,CAAC,MAAsC;QAC9C,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,cAAc,CAAC,WAAgD;QAC7D,KAAK,CAAC,WAAW,GAAG,WAAW,CAAA;IACjC,CAAC;IAED,QAAQ,CAAC,KAAoC;QAC3C,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;IACrB,CAAC;IAED,KAAK;QACH,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAA;QAC1B,KAAK,CAAC,OAAO,GAAG,SAAS,CAAA;QACzB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAA;QACzB,KAAK,CAAC,YAAY,GAAG,SAAS,CAAA;QAC9B,KAAK,CAAC,MAAM,GAAG,cAAc,CAAA;QAC7B,KAAK,CAAC,WAAW,GAAG,KAAK,CAAA;QACzB,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;QACvB,KAAK,CAAC,oBAAoB,GAAG,SAAS,CAAA;IACxC,CAAC;CACF,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EthersTypesUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EthersTypesUtil.js","sourceRoot":"","sources":["../../../../src/ethers/EthersTypesUtil.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { EthersProvider } from './EthersProvider.js';
2
+ export class InjectedProvider extends EthersProvider {
3
+ async initialize() {
4
+ if (typeof window === 'undefined') {
5
+ return undefined;
6
+ }
7
+ if (!window.ethereum) {
8
+ return undefined;
9
+ }
10
+ this.provider = window.ethereum;
11
+ this.initialized = true;
12
+ return Promise.resolve();
13
+ }
14
+ }
15
+ //# sourceMappingURL=InjectedProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InjectedProvider.js","sourceRoot":"","sources":["../../../../src/ethers/InjectedProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,OAAO,gBAAiB,SAAQ,cAAwB;IAC5D,KAAK,CAAC,UAAU;QACd,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF"}
@@ -0,0 +1,34 @@
1
+ /* eslint-disable max-classes-per-file */
2
+ import { SafeAppProvider } from '@safe-global/safe-apps-provider';
3
+ import { EthersProvider } from './EthersProvider.js';
4
+ class _SafeProvider extends SafeAppProvider {
5
+ // Safe Provider doesn't support eth_requestAccounts, so we need to override the request method
6
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
+ request(request) {
8
+ if (request.method === 'eth_requestAccounts') {
9
+ return this.request({
10
+ method: 'eth_accounts',
11
+ params: []
12
+ });
13
+ }
14
+ return super.request(request);
15
+ }
16
+ }
17
+ export class SafeProvider extends EthersProvider {
18
+ async initialize() {
19
+ const { default: SafeAppsSDK } = await import('@safe-global/safe-apps-sdk');
20
+ const appsSdk = new SafeAppsSDK();
21
+ const info = await appsSdk.safe.getInfo();
22
+ const provider = new _SafeProvider(info, appsSdk);
23
+ await provider.connect().catch(error => {
24
+ // eslint-disable-next-line no-console
25
+ console.info('Failed to auto-connect to Safe:', error);
26
+ });
27
+ this.provider = provider;
28
+ this.initialized = true;
29
+ }
30
+ async getProvider() {
31
+ return Promise.resolve(this.provider);
32
+ }
33
+ }
34
+ //# sourceMappingURL=SafeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SafeProvider.js","sourceRoot":"","sources":["../../../../src/ethers/SafeProvider.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,aAAc,SAAQ,eAAe;IACzC,+FAA+F;IAC/F,8DAA8D;IACrD,OAAO,CAAC,OAA2C;QAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,EAAE;aACX,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,cAA6B;IAC7D,KAAK,CAAC,UAAU;QACd,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAA;QAC3E,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QACjC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QAEzC,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACjD,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACrC,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;IAEQ,KAAK,CAAC,WAAW;QACxB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;CACF"}
@@ -0,0 +1,57 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ import { ConstantsUtil } from '@reown/appkit-common';
3
+ export const SolConstantsUtil = {
4
+ UNIVERSAL_PROVIDER_RELAY_URL: 'wss://relay.walletconnect.org',
5
+ HASH_PREFIX: 'SPL Name Service',
6
+ /**
7
+ * The `.sol` TLD
8
+ */
9
+ ROOT_DOMAIN_ACCOUNT: new PublicKey('58PwtjSDuFHuUkYjH9BYnnQKHfwo9reZhC2zMJv9JPkx'),
10
+ /**
11
+ * The Solana Name Service program ID
12
+ */
13
+ NAME_PROGRAM_ID: new PublicKey('namesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX'),
14
+ /**
15
+ * The reverse look up class
16
+ */
17
+ REVERSE_LOOKUP_CLASS: new PublicKey('33m47vH6Eav6jr5Ry86XjhRft2jRBLDnDgPSHoquXi2Z'),
18
+ /**
19
+ * Mainnet program ID
20
+ */
21
+ DEFAULT_CHAIN: {
22
+ id: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
23
+ caipNetworkId: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
24
+ name: 'Solana',
25
+ chainNamespace: ConstantsUtil.CHAIN.SOLANA,
26
+ nativeCurrency: {
27
+ name: 'Solana',
28
+ decimals: 9,
29
+ symbol: 'SOL'
30
+ },
31
+ blockExplorers: {
32
+ default: {
33
+ name: 'Solscan',
34
+ url: 'https://solscan.io'
35
+ }
36
+ },
37
+ rpcUrls: {
38
+ default: {
39
+ http: [`${ConstantsUtil.BLOCKCHAIN_API_RPC_URL}/v1`]
40
+ }
41
+ }
42
+ },
43
+ CHAIN_IDS: {
44
+ Mainnet: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
45
+ Devnet: 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',
46
+ Testnet: 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',
47
+ Deprecated_Mainnet: 'solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ',
48
+ Deprecated_Devnet: 'solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K'
49
+ },
50
+ LAMPORTS_PER_SOL: 1_000_000_000
51
+ };
52
+ export const SPL_COMPUTE_BUDGET_CONSTANTS = {
53
+ UNIT_PRICE_MICRO_LAMPORTS: 20000000,
54
+ UNIT_LIMIT_TRANSFER_ONLY: 300000,
55
+ UNIT_LIMIT_WITH_ATA_CREATION: 400000
56
+ };
57
+ //# sourceMappingURL=SolanaConstantsUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolanaConstantsUtil.js","sourceRoot":"","sources":["../../../../src/solana/SolanaConstantsUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAoB,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEtE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,4BAA4B,EAAE,+BAA+B;IAC7D,WAAW,EAAE,kBAAkB;IAC/B;;OAEG;IACH,mBAAmB,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;IAClF;;OAEG;IACH,eAAe,EAAE,IAAI,SAAS,CAAC,6CAA6C,CAAC;IAC7E;;OAEG;IACH,oBAAoB,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;IACnF;;OAEG;IACH,aAAa,EAAE;QACb,EAAE,EAAE,kCAAkC;QACtC,aAAa,EAAE,yCAAyC;QACxD,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM;QAC1C,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,KAAK;SACd;QACD,cAAc,EAAE;YACd,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,oBAAoB;aAC1B;SACF;QACD,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,sBAAsB,KAAK,CAAC;aACrD;SACF;KACa;IAChB,SAAS,EAAE;QACT,OAAO,EAAE,yCAAyC;QAClD,MAAM,EAAE,yCAAyC;QACjD,OAAO,EAAE,yCAAyC;QAClD,kBAAkB,EAAE,yCAAyC;QAC7D,iBAAiB,EAAE,yCAAyC;KAC7D;IACD,gBAAgB,EAAE,aAAa;CACvB,CAAA;AAEV,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,yBAAyB,EAAE,QAAQ;IACnC,wBAAwB,EAAE,MAAM;IAChC,4BAA4B,EAAE,MAAM;CAC5B,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { ConstantsUtil as CommonConstantsUtil } from '@reown/appkit-common';
2
+ import { SolConstantsUtil } from './SolanaConstantsUtil.js';
3
+ export const SolHelpersUtil = {
4
+ detectRpcUrl(chain, projectId) {
5
+ if (chain.rpcUrls.default.http[0]?.includes(new URL(CommonConstantsUtil.BLOCKCHAIN_API_RPC_URL).hostname)) {
6
+ return `${chain.rpcUrls.default.http[0]}?chainId=solana:${chain.id}&projectId=${projectId}`;
7
+ }
8
+ return chain.rpcUrls.default.http[0];
9
+ },
10
+ getChain(chains, chainId) {
11
+ const chain = chains.find(lChain => lChain.id === chainId);
12
+ if (chain) {
13
+ return chain;
14
+ }
15
+ return SolConstantsUtil.DEFAULT_CHAIN;
16
+ },
17
+ hexStringToNumber(value) {
18
+ const hexString = value.startsWith('0x') ? value.slice(2) : value;
19
+ const decimalValue = parseInt(hexString, 16);
20
+ return decimalValue;
21
+ },
22
+ getAddress(provider) {
23
+ const address = provider.publicKey?.toBase58();
24
+ return address;
25
+ }
26
+ };
27
+ //# sourceMappingURL=SolanaHelpersUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolanaHelpersUtils.js","sourceRoot":"","sources":["../../../../src/solana/SolanaHelpersUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAG3D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY,CAAC,KAAkB,EAAE,SAAiB;QAChD,IACE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CACrC,IAAI,GAAG,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAC7D,EACD,CAAC;YACD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,KAAK,CAAC,EAAE,cAAc,SAAS,EAAE,CAAA;QAC7F,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,QAAQ,CAAC,MAAqB,EAAE,OAAsB;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;QAE1D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,aAAa,CAAA;IACvC,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACjE,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAE5C,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,UAAU,CAAC,QAAkB;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAA;QAE9C,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAA"}
@@ -0,0 +1,2 @@
1
+ import UniversalProvider from '@walletconnect/universal-provider';
2
+ //# sourceMappingURL=SolanaTypesUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolanaTypesUtil.js","sourceRoot":"","sources":["../../../../src/solana/SolanaTypesUtil.ts"],"names":[],"mappings":"AASA,OAAO,iBAAiB,MAAM,mCAAmC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TonTypesUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TonTypesUtil.js","sourceRoot":"","sources":["../../../../src/ton/TonTypesUtil.ts"],"names":[],"mappings":""}