@wagmi/core 0.4.8 → 0.5.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/README.md +5 -5
- package/chains/dist/wagmi-core-chains.cjs.dev.js +2 -2
- package/chains/dist/wagmi-core-chains.cjs.prod.js +2 -2
- package/chains/dist/wagmi-core-chains.esm.js +2 -2
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +28 -26
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +28 -26
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +5 -3
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +22 -23
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +22 -23
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +7 -8
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +33 -31
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +33 -31
- package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +6 -4
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +24 -25
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +24 -25
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +5 -6
- package/dist/{chains-7e6dc59c.cjs.dev.js → chains-13baf029.cjs.prod.js} +4 -4
- package/dist/{chains-fd2c546c.esm.js → chains-4b1a6cf8.esm.js} +4 -4
- package/dist/{chains-f7bb3211.cjs.prod.js → chains-a1aae67e.cjs.dev.js} +4 -4
- package/dist/declarations/src/actions/accounts/fetchBalance.d.ts +0 -1
- package/dist/declarations/src/actions/accounts/fetchSigner.d.ts +3 -3
- package/dist/declarations/src/actions/contracts/deprecatedWriteContract.d.ts +16 -0
- package/dist/declarations/src/actions/{tokens → contracts}/fetchToken.d.ts +1 -0
- package/dist/declarations/src/actions/contracts/index.d.ts +4 -1
- package/dist/declarations/src/actions/contracts/prepareWriteContract.d.ts +37 -0
- package/dist/declarations/src/actions/contracts/writeContract.d.ts +44 -8
- package/dist/declarations/src/actions/ens/fetchEnsAddress.d.ts +2 -1
- package/dist/declarations/src/actions/index.d.ts +2 -3
- package/dist/declarations/src/actions/transactions/deprecatedSendTransaction.d.ts +12 -0
- package/dist/declarations/src/actions/transactions/fetchTransaction.d.ts +21 -0
- package/dist/declarations/src/actions/transactions/index.d.ts +4 -1
- package/dist/declarations/src/actions/transactions/prepareSendTransaction.d.ts +36 -0
- package/dist/declarations/src/actions/transactions/sendTransaction.d.ts +43 -8
- package/dist/declarations/src/client.d.ts +3 -3
- package/dist/declarations/src/connectors/base.d.ts +1 -2
- package/dist/declarations/src/connectors/coinbaseWallet.d.ts +2 -2
- package/dist/declarations/src/connectors/index.d.ts +1 -1
- package/dist/declarations/src/connectors/injected.d.ts +4 -4
- package/dist/declarations/src/connectors/metaMask.d.ts +1 -1
- package/dist/declarations/src/connectors/mock/provider.d.ts +3 -2
- package/dist/declarations/src/connectors/walletConnect.d.ts +3 -2
- package/dist/declarations/src/constants/index.d.ts +1 -1
- package/dist/declarations/src/constants/rpcs.d.ts +2 -2
- package/dist/declarations/src/errors.d.ts +10 -3
- package/dist/declarations/src/index.d.ts +5 -5
- package/dist/declarations/src/providers/alchemy.d.ts +2 -3
- package/dist/declarations/src/providers/infura.d.ts +2 -3
- package/dist/declarations/src/providers/jsonRpc.d.ts +1 -2
- package/dist/declarations/src/providers/public.d.ts +2 -4
- package/dist/declarations/src/types/index.d.ts +133 -129
- package/dist/declarations/src/utils/configureChains.d.ts +3 -1
- package/dist/declarations/src/utils/getInjectedName.d.ts +2 -1
- package/dist/{client-a6e61429.cjs.prod.js → getProvider-5b369460.cjs.prod.js} +449 -56
- package/dist/{client-a05fd511.esm.js → getProvider-dda5b21b.esm.js} +383 -14
- package/dist/{client-71ece661.cjs.dev.js → getProvider-e4848469.cjs.dev.js} +449 -56
- package/dist/{rpcs-1fd0a12f.cjs.prod.js → rpcs-3d4e8104.cjs.dev.js} +9 -9
- package/dist/{rpcs-f1d24f0e.cjs.dev.js → rpcs-4b3a7778.cjs.prod.js} +9 -9
- package/dist/{rpcs-b73a8f60.esm.js → rpcs-5dc0ea1f.esm.js} +8 -8
- package/dist/wagmi-core.cjs.dev.js +591 -298
- package/dist/wagmi-core.cjs.prod.js +591 -298
- package/dist/wagmi-core.esm.js +499 -213
- package/package.json +8 -4
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.dev.js +5 -7
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.cjs.prod.js +5 -7
- package/providers/alchemy/dist/wagmi-core-providers-alchemy.esm.js +5 -7
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.dev.js +5 -7
- package/providers/infura/dist/wagmi-core-providers-infura.cjs.prod.js +5 -7
- package/providers/infura/dist/wagmi-core-providers-infura.esm.js +5 -7
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +0 -2
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +0 -2
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +0 -2
- package/providers/public/dist/wagmi-core-providers-public.cjs.dev.js +0 -2
- package/providers/public/dist/wagmi-core-providers-public.cjs.prod.js +0 -2
- package/providers/public/dist/wagmi-core-providers-public.esm.js +0 -2
- package/dist/base-797ad073.cjs.prod.js +0 -343
- package/dist/base-90b7f3e4.cjs.dev.js +0 -343
- package/dist/base-b565d5d4.esm.js +0 -316
- package/dist/declarations/src/actions/tokens/index.d.ts +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Chain } from '../types';
|
|
1
|
+
import { Chain, Ethereum } from '../types';
|
|
2
2
|
import { InjectedConnector, InjectedConnectorOptions } from './injected';
|
|
3
3
|
export declare type MetaMaskConnectorOptions = Pick<InjectedConnectorOptions, 'shimChainChangedDisconnect' | 'shimDisconnect'> & {
|
|
4
4
|
/**
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { providers } from 'ethers';
|
|
1
2
|
import { default as EventEmitter } from 'eventemitter3';
|
|
2
|
-
import { Signer
|
|
3
|
+
import { Signer } from '../../types';
|
|
3
4
|
export declare type MockProviderOptions = {
|
|
4
5
|
chainId?: number;
|
|
5
6
|
flags?: {
|
|
@@ -23,7 +24,7 @@ export declare class MockProvider extends providers.BaseProvider {
|
|
|
23
24
|
enable(): Promise<string[]>;
|
|
24
25
|
disconnect(): Promise<void>;
|
|
25
26
|
getAccounts(): Promise<string[]>;
|
|
26
|
-
getSigner(): Signer;
|
|
27
|
+
getSigner(): import("ethers").Signer;
|
|
27
28
|
switchChain(chainId: number): Promise<void>;
|
|
28
29
|
watchAsset(_asset: {
|
|
29
30
|
address: string;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { providers } from 'ethers';
|
|
2
1
|
import type WalletConnectProvider from '@walletconnect/ethereum-provider';
|
|
2
|
+
import { providers } from 'ethers';
|
|
3
3
|
import { Chain } from '../types';
|
|
4
4
|
import { Connector } from './base';
|
|
5
5
|
declare type WalletConnectOptions = ConstructorParameters<typeof WalletConnectProvider>[0];
|
|
6
|
-
|
|
6
|
+
declare type WalletConnectSigner = providers.JsonRpcSigner;
|
|
7
|
+
export declare class WalletConnectConnector extends Connector<WalletConnectProvider, WalletConnectOptions, WalletConnectSigner> {
|
|
7
8
|
#private;
|
|
8
9
|
readonly id = "walletConnect";
|
|
9
10
|
readonly name = "WalletConnect";
|
|
@@ -3,6 +3,6 @@ export { etherscanBlockExplorers } from './blockExplorers';
|
|
|
3
3
|
export type { BlockExplorer, BlockExplorerName } from './blockExplorers';
|
|
4
4
|
export { chain, chainId, allChains, defaultChains, defaultL2Chains, } from './chains';
|
|
5
5
|
export { multicallInterface } from './multicall';
|
|
6
|
-
export { alchemyRpcUrls,
|
|
6
|
+
export { alchemyRpcUrls, defaultAlchemyApiKey, defaultInfuraApiKey, infuraRpcUrls, publicRpcUrls, } from './rpcs';
|
|
7
7
|
export type { RpcProviderName } from './rpcs';
|
|
8
8
|
export { units } from './units';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChainName } from './chains';
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
2
|
+
export declare const defaultAlchemyApiKey = "_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";
|
|
3
|
+
export declare const defaultInfuraApiKey = "84842078b09946638c03157f83405213";
|
|
4
4
|
export declare type RpcProviderName = 'alchemy' | 'infura' | 'public';
|
|
5
5
|
declare type AlchemyChains = Extract<ChainName, 'mainnet' | 'ropsten' | 'rinkeby' | 'goerli' | 'kovan' | 'optimism' | 'optimismKovan' | 'polygon' | 'polygonMumbai' | 'arbitrum' | 'arbitrumRinkeby'>;
|
|
6
6
|
export declare const alchemyRpcUrls: Record<AlchemyChains, string>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Connector } from './connectors';
|
|
2
|
-
import { BlockExplorer } from './constants';
|
|
3
2
|
import { Chain } from './types';
|
|
4
3
|
/**
|
|
5
4
|
* Error subclass implementing JSON RPC 2.0 errors and Ethereum RPC errors per EIP-1474.
|
|
@@ -71,11 +70,19 @@ export declare class ConnectorNotFoundError extends Error {
|
|
|
71
70
|
name: string;
|
|
72
71
|
message: string;
|
|
73
72
|
}
|
|
73
|
+
export declare class ContractMethodDoesNotExistError extends Error {
|
|
74
|
+
name: string;
|
|
75
|
+
constructor({ addressOrName, chainId, functionName, }: {
|
|
76
|
+
addressOrName: string;
|
|
77
|
+
chainId?: number;
|
|
78
|
+
functionName: string;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
74
81
|
export declare class ContractMethodNoResultError extends Error {
|
|
75
82
|
name: string;
|
|
76
|
-
constructor({ addressOrName,
|
|
83
|
+
constructor({ addressOrName, chainId, functionName, }: {
|
|
77
84
|
addressOrName: string;
|
|
78
|
-
|
|
85
|
+
chainId?: number;
|
|
79
86
|
functionName: string;
|
|
80
87
|
});
|
|
81
88
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { connect, disconnect, fetchBalance, fetchBlockNumber, fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, fetchFeeData, fetchSigner, fetchToken, getAccount, getContract, getNetwork, getProvider, getWebSocketProvider, readContract, readContracts, sendTransaction, signMessage, signTypedData, switchNetwork, waitForTransaction, watchAccount, watchBlockNumber, watchContractEvent, watchNetwork, watchProvider, watchReadContract, watchReadContracts, watchSigner, watchWebSocketProvider, writeContract, } from './actions';
|
|
2
|
-
export type { ConnectArgs, ConnectResult, FetchBalanceArgs, FetchBalanceResult, FetchBlockNumberArgs, FetchBlockNumberResult, FetchEnsAddressArgs, FetchEnsAddressResult, FetchEnsAvatarArgs, FetchEnsAvatarResult, FetchEnsNameArgs, FetchEnsNameResult, FetchEnsResolverArgs, FetchEnsResolverResult, FetchFeeDataArgs, FetchFeeDataResult, FetchSignerResult, FetchTokenArgs, FetchTokenResult, GetAccountResult, GetContractArgs, GetNetworkResult, GetProviderArgs, GetProviderResult, GetWebSocketProviderArgs, GetWebSocketProviderResult, ReadContractConfig, ReadContractResult, ReadContractsConfig, ReadContractsResult, SendTransactionArgs, SendTransactionResult, SignMessageArgs, SignMessageResult, SignTypedDataArgs, SignTypedDataResult, SwitchNetworkArgs, SwitchNetworkResult, WaitForTransactionArgs, WaitForTransactionResult, WatchAccountCallback, WatchBlockNumberArgs, WatchBlockNumberCallback, WatchNetworkCallback, WatchReadContractConfig, WatchReadContractResult, WatchProviderCallback, WatchSignerCallback, WatchWebSocketProviderCallback,
|
|
1
|
+
export { connect, deprecatedSendTransaction, deprecatedWriteContract, disconnect, fetchBalance, fetchBlockNumber, fetchEnsAddress, fetchEnsAvatar, fetchEnsName, fetchEnsResolver, fetchFeeData, fetchSigner, fetchToken, fetchTransaction, getAccount, getContract, getNetwork, getProvider, getWebSocketProvider, prepareWriteContract, prepareSendTransaction, readContract, readContracts, sendTransaction, signMessage, signTypedData, switchNetwork, waitForTransaction, watchAccount, watchBlockNumber, watchContractEvent, watchNetwork, watchProvider, watchReadContract, watchReadContracts, watchSigner, watchWebSocketProvider, writeContract, } from './actions';
|
|
2
|
+
export type { ConnectArgs, ConnectResult, DeprecatedSendTransactionArgs, DeprecatedSendTransactionResult, DeprecatedWriteContractConfig, DeprecatedWriteContractResult, FetchBalanceArgs, FetchBalanceResult, FetchBlockNumberArgs, FetchBlockNumberResult, FetchEnsAddressArgs, FetchEnsAddressResult, FetchEnsAvatarArgs, FetchEnsAvatarResult, FetchEnsNameArgs, FetchEnsNameResult, FetchEnsResolverArgs, FetchEnsResolverResult, FetchFeeDataArgs, FetchFeeDataResult, FetchSignerResult, FetchTokenArgs, FetchTokenResult, FetchTransactionArgs, FetchTransactionResult, GetAccountResult, GetContractArgs, GetNetworkResult, GetProviderArgs, GetProviderResult, GetWebSocketProviderArgs, GetWebSocketProviderResult, PrepareWriteContractConfig, PrepareWriteContractResult, PrepareSendTransactionArgs, PrepareSendTransactionResult, ReadContractConfig, ReadContractResult, ReadContractsConfig, ReadContractsResult, SendTransactionArgs, SendTransactionPreparedRequest, SendTransactionResult, SendTransactionUnpreparedRequest, SignMessageArgs, SignMessageResult, SignTypedDataArgs, SignTypedDataResult, SwitchNetworkArgs, SwitchNetworkResult, WaitForTransactionArgs, WaitForTransactionResult, WatchAccountCallback, WatchBlockNumberArgs, WatchBlockNumberCallback, WatchNetworkCallback, WatchReadContractConfig, WatchReadContractResult, WatchProviderCallback, WatchSignerCallback, WatchWebSocketProviderCallback, WriteContractArgs, WriteContractPreparedArgs, WriteContractResult, WriteContractUnpreparedArgs, } from './actions';
|
|
3
3
|
export { createClient, Client } from './client';
|
|
4
4
|
export type { ClientConfig } from './client';
|
|
5
5
|
export { Connector, InjectedConnector } from './connectors';
|
|
6
|
-
export type { ConnectorData, ConnectorEvents } from './connectors';
|
|
6
|
+
export type { ConnectorData, ConnectorEvents, InjectedConnectorOptions, } from './connectors';
|
|
7
7
|
export { alchemyRpcUrls, allChains, chain, chainId, defaultChains, defaultL2Chains, erc20ABI, erc721ABI, etherscanBlockExplorers, infuraRpcUrls, publicRpcUrls, units, } from './constants';
|
|
8
|
-
export { AddChainError, ChainDoesNotSupportMulticallError, ChainMismatchError, ChainNotConfiguredError, ConnectorAlreadyConnectedError, ConnectorNotFoundError, ContractMethodNoResultError, ProviderChainsNotFound, ProviderRpcError, ResourceUnavailableError, RpcError, SwitchChainError, SwitchChainNotSupportedError, UserRejectedRequestError, } from './errors';
|
|
8
|
+
export { AddChainError, ChainDoesNotSupportMulticallError, ChainMismatchError, ChainNotConfiguredError, ConnectorAlreadyConnectedError, ConnectorNotFoundError, ContractMethodDoesNotExistError, ContractMethodNoResultError, ProviderChainsNotFound, ProviderRpcError, ResourceUnavailableError, RpcError, SwitchChainError, SwitchChainNotSupportedError, UserRejectedRequestError, } from './errors';
|
|
9
9
|
export { createStorage, noopStorage } from './storage';
|
|
10
10
|
export type { ClientStorage as Storage } from './storage';
|
|
11
|
-
export type { Chain, ChainProviderFn, FallbackProviderConfig, ProviderWithFallbackConfig, Provider, Unit, WebSocketProvider, } from './types';
|
|
11
|
+
export type { Chain, ChainProviderFn, Ethereum, FallbackProviderConfig, ProviderWithFallbackConfig, Provider, Signer, Unit, WebSocketProvider, } from './types';
|
|
12
12
|
export { configureChains, deepEqual, normalizeChainId, parseContractResult, } from './utils';
|
|
13
13
|
export type { ConfigureChainsConfig } from './utils';
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
2
|
import { ChainProviderFn, FallbackProviderConfig } from '../types';
|
|
3
3
|
export declare type AlchemyProviderConfig = FallbackProviderConfig & {
|
|
4
|
-
|
|
5
|
-
pollingInterval?: number;
|
|
4
|
+
apiKey?: string;
|
|
6
5
|
};
|
|
7
|
-
export declare function alchemyProvider({
|
|
6
|
+
export declare function alchemyProvider({ apiKey, priority, stallTimeout, weight, }?: AlchemyProviderConfig): ChainProviderFn<providers.AlchemyProvider, providers.AlchemyWebSocketProvider>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
2
|
import { ChainProviderFn, FallbackProviderConfig } from '../types';
|
|
3
3
|
export declare type InfuraProviderConfig = FallbackProviderConfig & {
|
|
4
|
-
|
|
5
|
-
pollingInterval?: number;
|
|
4
|
+
apiKey?: string;
|
|
6
5
|
};
|
|
7
|
-
export declare function infuraProvider({
|
|
6
|
+
export declare function infuraProvider({ apiKey, priority, stallTimeout, weight, }?: InfuraProviderConfig): ChainProviderFn<providers.InfuraProvider, providers.InfuraWebSocketProvider>;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
2
|
import { Chain, ChainProviderFn, FallbackProviderConfig } from '../types';
|
|
3
3
|
export declare type JsonRpcProviderConfig = FallbackProviderConfig & {
|
|
4
|
-
pollingInterval?: number;
|
|
5
4
|
rpc: (chain: Chain) => {
|
|
6
5
|
http: string;
|
|
7
6
|
webSocket?: string;
|
|
8
7
|
} | null;
|
|
9
8
|
static?: boolean;
|
|
10
9
|
};
|
|
11
|
-
export declare function jsonRpcProvider({
|
|
10
|
+
export declare function jsonRpcProvider({ priority, rpc, stallTimeout, static: static_, weight, }: JsonRpcProviderConfig): ChainProviderFn<providers.JsonRpcProvider, providers.WebSocketProvider>;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
2
|
import { ChainProviderFn, FallbackProviderConfig } from '../types';
|
|
3
|
-
export declare type PublicProviderConfig = FallbackProviderConfig
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
export declare function publicProvider({ pollingInterval, priority, stallTimeout, weight, }?: PublicProviderConfig): ChainProviderFn<providers.StaticJsonRpcProvider>;
|
|
3
|
+
export declare type PublicProviderConfig = FallbackProviderConfig;
|
|
4
|
+
export declare function publicProvider({ priority, stallTimeout, weight, }?: PublicProviderConfig): ChainProviderFn<providers.StaticJsonRpcProvider>;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { providers } from 'ethers';
|
|
1
|
+
import { Signer as BaseSigner, providers } from 'ethers';
|
|
2
2
|
import { BlockExplorer, BlockExplorerName, RpcProviderName, units } from '../constants';
|
|
3
|
+
export declare type Address = `0x${string}`;
|
|
4
|
+
export declare type Hash = `0x${string}`;
|
|
3
5
|
export declare type Chain = {
|
|
4
6
|
/** ID in number form */
|
|
5
7
|
id: number;
|
|
@@ -48,140 +50,142 @@ export declare type Provider = providers.BaseProvider & {
|
|
|
48
50
|
export declare type WebSocketProvider = providers.WebSocketProvider & {
|
|
49
51
|
chains?: Chain[];
|
|
50
52
|
};
|
|
53
|
+
export declare type Signer = BaseSigner;
|
|
51
54
|
export declare type Unit = typeof units[number];
|
|
52
|
-
declare
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
decimals: number;
|
|
62
|
-
};
|
|
63
|
-
rpcUrls: string[];
|
|
64
|
-
blockExplorerUrls?: string[];
|
|
65
|
-
/** Currently ignored. */
|
|
66
|
-
iconUrls?: string[];
|
|
67
|
-
};
|
|
68
|
-
type WalletPermissionCaveat = {
|
|
69
|
-
type: string;
|
|
70
|
-
value: any;
|
|
55
|
+
declare type AddEthereumChainParameter = {
|
|
56
|
+
/** A 0x-prefixed hexadecimal string */
|
|
57
|
+
chainId: string;
|
|
58
|
+
chainName: string;
|
|
59
|
+
nativeCurrency?: {
|
|
60
|
+
name: string;
|
|
61
|
+
/** 2-6 characters long */
|
|
62
|
+
symbol: string;
|
|
63
|
+
decimals: number;
|
|
71
64
|
};
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
65
|
+
rpcUrls: string[];
|
|
66
|
+
blockExplorerUrls?: string[];
|
|
67
|
+
/** Currently ignored. */
|
|
68
|
+
iconUrls?: string[];
|
|
69
|
+
};
|
|
70
|
+
declare type WalletPermissionCaveat = {
|
|
71
|
+
type: string;
|
|
72
|
+
value: any;
|
|
73
|
+
};
|
|
74
|
+
declare type WalletPermission = {
|
|
75
|
+
caveats: WalletPermissionCaveat[];
|
|
76
|
+
date: number;
|
|
77
|
+
id: string;
|
|
78
|
+
invoker: `http://${string}` | `https://${string}`;
|
|
79
|
+
parentCapability: 'eth_accounts' | string;
|
|
80
|
+
};
|
|
81
|
+
declare type WatchAssetParams = {
|
|
82
|
+
/** In the future, other standards will be supported */
|
|
83
|
+
type: 'ERC20';
|
|
84
|
+
options: {
|
|
85
|
+
/** Address of token contract */
|
|
86
|
+
address: string;
|
|
87
|
+
/** Number of token decimals */
|
|
88
|
+
decimals: number;
|
|
89
|
+
/** String url of token logo */
|
|
90
|
+
image?: string;
|
|
91
|
+
/** A ticker symbol or shorthand, up to 5 characters */
|
|
92
|
+
symbol: string;
|
|
92
93
|
};
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
94
|
+
};
|
|
95
|
+
declare type InjectedProviderFlags = {
|
|
96
|
+
isBraveWallet?: true;
|
|
97
|
+
isCoinbaseWallet?: true;
|
|
98
|
+
isExodus?: true;
|
|
99
|
+
isFrame?: true;
|
|
100
|
+
isMetaMask?: true;
|
|
101
|
+
isOpera?: true;
|
|
102
|
+
isTally?: true;
|
|
103
|
+
isTokenPocket?: true;
|
|
104
|
+
isTokenary?: true;
|
|
105
|
+
isTrust?: true;
|
|
106
|
+
};
|
|
107
|
+
declare type InjectedProviders = InjectedProviderFlags & {
|
|
108
|
+
isMetaMask: true;
|
|
109
|
+
/** Only exists in MetaMask as of 2022/04/03 */
|
|
110
|
+
_events: {
|
|
111
|
+
connect?: () => void;
|
|
104
112
|
};
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
_state?: {
|
|
113
|
-
accounts?: string[];
|
|
114
|
-
initialized?: boolean;
|
|
115
|
-
isConnected?: boolean;
|
|
116
|
-
isPermanentlyDisconnected?: boolean;
|
|
117
|
-
isUnlocked?: boolean;
|
|
118
|
-
};
|
|
113
|
+
/** Only exists in MetaMask as of 2022/04/03 */
|
|
114
|
+
_state?: {
|
|
115
|
+
accounts?: string[];
|
|
116
|
+
initialized?: boolean;
|
|
117
|
+
isConnected?: boolean;
|
|
118
|
+
isPermanentlyDisconnected?: boolean;
|
|
119
|
+
isUnlocked?: boolean;
|
|
119
120
|
};
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}
|
|
183
|
-
}
|
|
121
|
+
};
|
|
122
|
+
export interface Ethereum extends InjectedProviders {
|
|
123
|
+
on?: (...args: any[]) => void;
|
|
124
|
+
removeListener?: (...args: any[]) => void;
|
|
125
|
+
providers?: Ethereum[];
|
|
126
|
+
/**
|
|
127
|
+
* EIP-747: Add wallet_watchAsset to Provider
|
|
128
|
+
* https://eips.ethereum.org/EIPS/eip-747
|
|
129
|
+
*/
|
|
130
|
+
request(args: {
|
|
131
|
+
method: 'wallet_watchAsset';
|
|
132
|
+
params: WatchAssetParams;
|
|
133
|
+
}): Promise<boolean>;
|
|
134
|
+
/**
|
|
135
|
+
* EIP-1193: Ethereum Provider JavaScript API
|
|
136
|
+
* https://eips.ethereum.org/EIPS/eip-1193
|
|
137
|
+
*/
|
|
138
|
+
request(args: {
|
|
139
|
+
method: 'eth_accounts';
|
|
140
|
+
}): Promise<string[]>;
|
|
141
|
+
request(args: {
|
|
142
|
+
method: 'eth_chainId';
|
|
143
|
+
}): Promise<string>;
|
|
144
|
+
request(args: {
|
|
145
|
+
method: 'eth_requestAccounts';
|
|
146
|
+
}): Promise<string[]>;
|
|
147
|
+
/**
|
|
148
|
+
* EIP-1474: Remote procedure call specification
|
|
149
|
+
* https://eips.ethereum.org/EIPS/eip-1474
|
|
150
|
+
*/
|
|
151
|
+
request(args: {
|
|
152
|
+
method: 'web3_clientVersion';
|
|
153
|
+
}): Promise<string>;
|
|
154
|
+
/**
|
|
155
|
+
* EIP-2255: Wallet Permissions System
|
|
156
|
+
* https://eips.ethereum.org/EIPS/eip-2255
|
|
157
|
+
*/
|
|
158
|
+
request(args: {
|
|
159
|
+
method: 'wallet_requestPermissions';
|
|
160
|
+
params: [{
|
|
161
|
+
eth_accounts: Record<string, any>;
|
|
162
|
+
}];
|
|
163
|
+
}): Promise<WalletPermission[]>;
|
|
164
|
+
request(args: {
|
|
165
|
+
method: 'wallet_getPermissions';
|
|
166
|
+
}): Promise<WalletPermission[]>;
|
|
167
|
+
/**
|
|
168
|
+
* EIP-3085: Wallet Add Ethereum Chain RPC Method
|
|
169
|
+
* https://eips.ethereum.org/EIPS/eip-3085
|
|
170
|
+
*/
|
|
171
|
+
request(args: {
|
|
172
|
+
method: 'wallet_addEthereumChain';
|
|
173
|
+
params: AddEthereumChainParameter[];
|
|
174
|
+
}): Promise<null>;
|
|
175
|
+
/**
|
|
176
|
+
* EIP-3326: Wallet Switch Ethereum Chain RPC Method
|
|
177
|
+
* https://eips.ethereum.org/EIPS/eip-3326
|
|
178
|
+
*/
|
|
179
|
+
request(args: {
|
|
180
|
+
method: 'wallet_switchEthereumChain';
|
|
181
|
+
params: [{
|
|
182
|
+
chainId: string;
|
|
183
|
+
}];
|
|
184
|
+
}): Promise<null>;
|
|
185
|
+
}
|
|
186
|
+
declare global {
|
|
184
187
|
interface Window {
|
|
185
188
|
ethereum?: Ethereum;
|
|
186
189
|
}
|
|
187
190
|
}
|
|
191
|
+
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
2
|
import { Chain, ChainProviderFn, Provider, WebSocketProvider } from '../types';
|
|
3
3
|
export declare type ConfigureChainsConfig = {
|
|
4
|
+
pollingInterval?: number;
|
|
4
5
|
stallTimeout?: number;
|
|
5
6
|
} & ({
|
|
6
7
|
targetQuorum?: number;
|
|
@@ -9,7 +10,7 @@ export declare type ConfigureChainsConfig = {
|
|
|
9
10
|
targetQuorum: number;
|
|
10
11
|
minQuorum?: number;
|
|
11
12
|
});
|
|
12
|
-
export declare function configureChains<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider, TChain extends Chain = Chain>(defaultChains: TChain[], providers: ChainProviderFn<TProvider, TWebSocketProvider, TChain>[], { minQuorum, targetQuorum, stallTimeout }?: ConfigureChainsConfig): {
|
|
13
|
+
export declare function configureChains<TProvider extends Provider = Provider, TWebSocketProvider extends WebSocketProvider = WebSocketProvider, TChain extends Chain = Chain>(defaultChains: TChain[], providers: ChainProviderFn<TProvider, TWebSocketProvider, TChain>[], { minQuorum, pollingInterval, targetQuorum, stallTimeout, }?: ConfigureChainsConfig): {
|
|
13
14
|
readonly chains: TChain[];
|
|
14
15
|
readonly provider: ({ chainId }: {
|
|
15
16
|
chainId?: number | undefined;
|
|
@@ -17,6 +18,7 @@ export declare function configureChains<TProvider extends Provider = Provider, T
|
|
|
17
18
|
chains: TChain[];
|
|
18
19
|
}) | (providers.FallbackProvider & {
|
|
19
20
|
chains: TChain[];
|
|
21
|
+
pollingInterval: number;
|
|
20
22
|
});
|
|
21
23
|
readonly webSocketProvider: ({ chainId }: {
|
|
22
24
|
chainId?: number | undefined;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Ethereum } from '../types';
|
|
2
|
+
export declare function getInjectedName(ethereum?: Ethereum): string | string[];
|