@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.
- package/dist/esm/exports/bitcoin.js +2 -0
- package/dist/esm/exports/bitcoin.js.map +1 -0
- package/dist/esm/exports/ethers.js +6 -0
- package/dist/esm/exports/ethers.js.map +1 -0
- package/dist/esm/exports/index.js +10 -0
- package/dist/esm/exports/index.js.map +1 -0
- package/dist/esm/exports/solana.js +3 -0
- package/dist/esm/exports/solana.js.map +1 -0
- package/dist/esm/exports/ton.js +2 -0
- package/dist/esm/exports/ton.js.map +1 -0
- package/dist/esm/exports/wallet-standard.js +2 -0
- package/dist/esm/exports/wallet-standard.js.map +1 -0
- package/dist/esm/package.json +121 -0
- package/dist/esm/src/CaipNetworkUtil.js +256 -0
- package/dist/esm/src/CaipNetworkUtil.js.map +1 -0
- package/dist/esm/src/ConstantsUtil.js +56 -0
- package/dist/esm/src/ConstantsUtil.js.map +1 -0
- package/dist/esm/src/ErrorUtil.js +92 -0
- package/dist/esm/src/ErrorUtil.js.map +1 -0
- package/dist/esm/src/HelpersUtil.js +93 -0
- package/dist/esm/src/HelpersUtil.js.map +1 -0
- package/dist/esm/src/LoggerUtil.js +22 -0
- package/dist/esm/src/LoggerUtil.js.map +1 -0
- package/dist/esm/src/PresetsUtil.js +176 -0
- package/dist/esm/src/PresetsUtil.js.map +1 -0
- package/dist/esm/src/SemVerUtils.js +77 -0
- package/dist/esm/src/SemVerUtils.js.map +1 -0
- package/dist/esm/src/TokenUtil.js +17 -0
- package/dist/esm/src/TokenUtil.js.map +1 -0
- package/dist/esm/src/TypeUtil.js +21 -0
- package/dist/esm/src/TypeUtil.js.map +1 -0
- package/dist/esm/src/WCNamespaceUtil.js +86 -0
- package/dist/esm/src/WCNamespaceUtil.js.map +1 -0
- package/dist/esm/src/bitcoin/BitcoinConstantsUtil.js +7 -0
- package/dist/esm/src/bitcoin/BitcoinConstantsUtil.js.map +1 -0
- package/dist/esm/src/bitcoin/BitcoinTypesUtil.js +8 -0
- package/dist/esm/src/bitcoin/BitcoinTypesUtil.js.map +1 -0
- package/dist/esm/src/ethers/BaseProvider.js +34 -0
- package/dist/esm/src/ethers/BaseProvider.js.map +1 -0
- package/dist/esm/src/ethers/EthersHelpersUtil.js +51 -0
- package/dist/esm/src/ethers/EthersHelpersUtil.js.map +1 -0
- package/dist/esm/src/ethers/EthersProvider.js +9 -0
- package/dist/esm/src/ethers/EthersProvider.js.map +1 -0
- package/dist/esm/src/ethers/EthersStoreUtil.js +58 -0
- package/dist/esm/src/ethers/EthersStoreUtil.js.map +1 -0
- package/dist/esm/src/ethers/EthersTypesUtil.js +2 -0
- package/dist/esm/src/ethers/EthersTypesUtil.js.map +1 -0
- package/dist/esm/src/ethers/InjectedProvider.js +15 -0
- package/dist/esm/src/ethers/InjectedProvider.js.map +1 -0
- package/dist/esm/src/ethers/SafeProvider.js +34 -0
- package/dist/esm/src/ethers/SafeProvider.js.map +1 -0
- package/dist/esm/src/solana/SolanaConstantsUtil.js +57 -0
- package/dist/esm/src/solana/SolanaConstantsUtil.js.map +1 -0
- package/dist/esm/src/solana/SolanaHelpersUtils.js +27 -0
- package/dist/esm/src/solana/SolanaHelpersUtils.js.map +1 -0
- package/dist/esm/src/solana/SolanaTypesUtil.js +2 -0
- package/dist/esm/src/solana/SolanaTypesUtil.js.map +1 -0
- package/dist/esm/src/ton/TonTypesUtil.js +2 -0
- package/dist/esm/src/ton/TonTypesUtil.js.map +1 -0
- package/dist/esm/src/wallet-standard/SolanaWalletConnectStandardWallet.js +334 -0
- package/dist/esm/src/wallet-standard/SolanaWalletConnectStandardWallet.js.map +1 -0
- package/dist/esm/src/wallet-standard/WalletConnectAccount.js +53 -0
- package/dist/esm/src/wallet-standard/WalletConnectAccount.js.map +1 -0
- package/dist/esm/src/wallet-standard/constants.js +8 -0
- package/dist/esm/src/wallet-standard/constants.js.map +1 -0
- package/dist/esm/src/wallet-standard/utils.js +11 -0
- package/dist/esm/src/wallet-standard/utils.js.map +1 -0
- package/dist/esm/tests/CaipNetworkUtil.test.js +333 -0
- package/dist/esm/tests/CaipNetworkUtil.test.js.map +1 -0
- package/dist/esm/tests/EthersHelpersUtil.test.js +61 -0
- package/dist/esm/tests/EthersHelpersUtil.test.js.map +1 -0
- package/dist/esm/tests/HelperUtil.test.js +84 -0
- package/dist/esm/tests/HelperUtil.test.js.map +1 -0
- package/dist/esm/tests/HelpersUtil.test.js +76 -0
- package/dist/esm/tests/HelpersUtil.test.js.map +1 -0
- package/dist/esm/tests/SemVerUtil.test.js +206 -0
- package/dist/esm/tests/SemVerUtil.test.js.map +1 -0
- package/dist/esm/tests/SolanaHelpersUtil.test.js +107 -0
- package/dist/esm/tests/SolanaHelpersUtil.test.js.map +1 -0
- package/dist/esm/tests/TokenUtil.test.js +27 -0
- package/dist/esm/tests/TokenUtil.test.js.map +1 -0
- package/dist/esm/tests/WalletConnectWalletStandard.test.js +322 -0
- package/dist/esm/tests/WalletConnectWalletStandard.test.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/types/exports/bitcoin.d.ts +2 -0
- package/dist/types/exports/ethers.d.ts +6 -0
- package/dist/types/exports/index.d.ts +35 -0
- package/dist/types/exports/solana.d.ts +3 -0
- package/dist/types/exports/ton.d.ts +1 -0
- package/dist/types/exports/wallet-standard.d.ts +1 -0
- package/dist/types/src/CaipNetworkUtil.d.ts +59 -0
- package/dist/types/src/ConstantsUtil.d.ts +28 -0
- package/dist/types/src/ErrorUtil.d.ts +88 -0
- package/dist/types/src/HelpersUtil.d.ts +46 -0
- package/dist/types/src/LoggerUtil.d.ts +3 -0
- package/dist/types/src/PresetsUtil.d.ts +9 -0
- package/dist/types/src/SemVerUtils.d.ts +7 -0
- package/dist/types/src/TokenUtil.d.ts +9 -0
- package/dist/types/src/TypeUtil.d.ts +25 -0
- package/dist/types/src/WCNamespaceUtil.d.ts +11 -0
- package/dist/types/src/bitcoin/BitcoinConstantsUtil.d.ts +6 -0
- package/dist/types/src/bitcoin/BitcoinTypesUtil.d.ts +121 -0
- package/dist/types/src/ethers/BaseProvider.d.ts +6 -0
- package/dist/types/src/ethers/EthersHelpersUtil.d.ts +14 -0
- package/dist/types/src/ethers/EthersProvider.d.ts +12 -0
- package/dist/types/src/ethers/EthersStoreUtil.d.ts +29 -0
- package/dist/types/src/ethers/EthersTypesUtil.d.ts +54 -0
- package/dist/types/src/ethers/InjectedProvider.d.ts +5 -0
- package/dist/types/src/ethers/SafeProvider.d.ts +13 -0
- package/dist/types/src/solana/SolanaConstantsUtil.d.ts +35 -0
- package/dist/types/src/solana/SolanaHelpersUtils.d.ts +8 -0
- package/dist/types/src/solana/SolanaTypesUtil.d.ts +82 -0
- package/dist/types/src/ton/TonTypesUtil.d.ts +93 -0
- package/dist/types/src/wallet-standard/SolanaWalletConnectStandardWallet.d.ts +22 -0
- package/dist/types/src/wallet-standard/WalletConnectAccount.d.ts +14 -0
- package/dist/types/src/wallet-standard/constants.d.ts +2 -0
- package/dist/types/src/wallet-standard/utils.d.ts +8 -0
- package/dist/types/tests/CaipNetworkUtil.test.d.ts +1 -0
- package/dist/types/tests/EthersHelpersUtil.test.d.ts +1 -0
- package/dist/types/tests/HelperUtil.test.d.ts +1 -0
- package/dist/types/tests/HelpersUtil.test.d.ts +1 -0
- package/dist/types/tests/SemVerUtil.test.d.ts +1 -0
- package/dist/types/tests/SolanaHelpersUtil.test.d.ts +1 -0
- package/dist/types/tests/TokenUtil.test.d.ts +1 -0
- package/dist/types/tests/WalletConnectWalletStandard.test.d.ts +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"SolanaTypesUtil.js","sourceRoot":"","sources":["../../../../src/solana/SolanaTypesUtil.ts"],"names":[],"mappings":"AASA,OAAO,iBAAiB,MAAM,mCAAmC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TonTypesUtil.js","sourceRoot":"","sources":["../../../../src/ton/TonTypesUtil.ts"],"names":[],"mappings":""}
|