@0xsequence/provider 2.3.17 → 2.3.19

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 (36) hide show
  1. package/dist/0xsequence-provider.cjs.d.ts +2 -2
  2. package/dist/0xsequence-provider.cjs.js +15 -6
  3. package/package.json +10 -10
  4. package/dist/0xsequence-provider.cjs.dev.js +0 -4347
  5. package/dist/0xsequence-provider.cjs.prod.js +0 -4347
  6. package/dist/0xsequence-provider.esm.js +0 -4290
  7. package/dist/declarations/src/analytics.d.ts +0 -13
  8. package/dist/declarations/src/client.d.ts +0 -92
  9. package/dist/declarations/src/index.d.ts +0 -9
  10. package/dist/declarations/src/init.d.ts +0 -36
  11. package/dist/declarations/src/provider.d.ts +0 -141
  12. package/dist/declarations/src/signer.d.ts +0 -88
  13. package/dist/declarations/src/transactions.d.ts +0 -2
  14. package/dist/declarations/src/transports/base-provider-transport.d.ts +0 -49
  15. package/dist/declarations/src/transports/base-wallet-transport.d.ts +0 -43
  16. package/dist/declarations/src/transports/extension-transport/base-injected-transport.d.ts +0 -17
  17. package/dist/declarations/src/transports/extension-transport/extension-message-handler.d.ts +0 -12
  18. package/dist/declarations/src/transports/extension-transport/extension-message-provider.d.ts +0 -11
  19. package/dist/declarations/src/transports/extension-transport/index.d.ts +0 -3
  20. package/dist/declarations/src/transports/index.d.ts +0 -8
  21. package/dist/declarations/src/transports/mux-transport/index.d.ts +0 -1
  22. package/dist/declarations/src/transports/mux-transport/mux-message-provider.d.ts +0 -47
  23. package/dist/declarations/src/transports/proxy-transport/index.d.ts +0 -3
  24. package/dist/declarations/src/transports/proxy-transport/proxy-message-channel.d.ts +0 -15
  25. package/dist/declarations/src/transports/proxy-transport/proxy-message-handler.d.ts +0 -12
  26. package/dist/declarations/src/transports/proxy-transport/proxy-message-provider.d.ts +0 -12
  27. package/dist/declarations/src/transports/unreal-transport/index.d.ts +0 -2
  28. package/dist/declarations/src/transports/unreal-transport/unreal-message-handler.d.ts +0 -14
  29. package/dist/declarations/src/transports/unreal-transport/unreal-message-provider.d.ts +0 -15
  30. package/dist/declarations/src/transports/wallet-request-handler.d.ts +0 -64
  31. package/dist/declarations/src/transports/window-transport/index.d.ts +0 -2
  32. package/dist/declarations/src/transports/window-transport/window-message-handler.d.ts +0 -15
  33. package/dist/declarations/src/transports/window-transport/window-message-provider.d.ts +0 -13
  34. package/dist/declarations/src/types.d.ts +0 -262
  35. package/dist/declarations/src/utils/index.d.ts +0 -18
  36. package/dist/declarations/src/utils.d.ts +0 -37
@@ -1,13 +0,0 @@
1
- import { Databeat, Event as DatabeatEvent } from '@databeat/tracker';
2
- export declare enum AnalyticsEventType {
3
- INIT = 0,
4
- VIEW = 1,
5
- SIGN_MESSAGE_REQUEST = 2,
6
- SIGN_TYPED_DATA_REQUEST = 3,
7
- SEND_TRANSACTION_REQUEST = 4
8
- }
9
- export type AnalyticsEventTypes = keyof typeof AnalyticsEventType;
10
- export type AnalyticsEvent = DatabeatEvent<AnalyticsEventTypes>;
11
- export declare class Analytics extends Databeat<AnalyticsEventTypes> {
12
- }
13
- export declare const setupAnalytics: (projectAccessKey: string, server?: string) => Analytics;
@@ -1,92 +0,0 @@
1
- import { NetworkConfig } from '@0xsequence/network';
2
- import { ConnectDetails, ConnectOptions, ItemStore, MuxTransportTemplate, OpenWalletIntent, OptionalChainId, OptionalEIP6492, ProviderTransport, WalletEventTypes, WalletSession } from "./index.js";
3
- import { commons } from '@0xsequence/core';
4
- import { TypedData } from '@0xsequence/utils';
5
- import { Analytics } from "./analytics.js";
6
- import { ethers } from 'ethers';
7
- /**
8
- * This session class is meant to persist the state of the wallet connection
9
- * whitin the dapp. This enables the client to retain the wallet address (and some more)
10
- * even if the user refreshes the page. Otherwise we would have to open the popup again.
11
- */
12
- export declare class SequenceClientSession {
13
- private store;
14
- static readonly SESSION_LOCALSTORE_KEY = "@sequence.session";
15
- constructor(store: ItemStore);
16
- connectedSession(): Required<WalletSession>;
17
- hasSession(): boolean;
18
- setSession(session: WalletSession): void;
19
- getSession(): WalletSession | undefined;
20
- clearSession(): Promise<void>;
21
- }
22
- /**
23
- * The wallet webapp doesn't really care what's the "default chain" for the user.
24
- * so we don't even bother to send this information to the wallet. Instead, we
25
- * track it locally using storage, that way the data stays always in sync.
26
- */
27
- export declare class DefaultChainIdTracker {
28
- private store;
29
- private startingChainId;
30
- static readonly SESSION_CHAIN_ID_KEY = "@sequence.session.defaultChainId";
31
- callbacks: ((chainId: number) => void)[];
32
- constructor(store: ItemStore, startingChainId?: number);
33
- onDefaultChainIdChanged(callback: (chainId: number) => void): () => void;
34
- setDefaultChainId(chainId: number): void;
35
- getDefaultChainId(): number;
36
- }
37
- export type SequenceClientOptions = {
38
- defaultChainId?: number;
39
- defaultEIP6492?: boolean;
40
- projectAccessKey?: string;
41
- analytics?: boolean;
42
- };
43
- /**
44
- * This is a wallet client for sequence wallet-webapp. It connects using *some* transport
45
- * and it allows to perform all sequence specific (or write) operations related to the wallet.
46
- *s
47
- * It doesn't implement a full ethereum Provider, it doesn't include read-only methods.
48
- */
49
- export declare class SequenceClient {
50
- private readonly session;
51
- private readonly defaultChainId;
52
- private readonly callbacks;
53
- readonly transport: ProviderTransport;
54
- readonly defaultEIP6492: boolean;
55
- readonly projectAccessKey?: string;
56
- readonly analytics?: Analytics;
57
- constructor(transport: ProviderTransport | MuxTransportTemplate, store: ItemStore, options?: SequenceClientOptions);
58
- registerCallback<K extends keyof WalletEventTypes>(eventName: K, callback: WalletEventTypes[K]): () => void;
59
- onOpen(callback: WalletEventTypes['open']): () => void;
60
- onClose(callback: WalletEventTypes['close']): () => void;
61
- onConnect(callback: WalletEventTypes['connect']): () => void;
62
- onDisconnect(callback: WalletEventTypes['disconnect']): () => void;
63
- onNetworks(callback: WalletEventTypes['networks']): () => void;
64
- onAccountsChanged(callback: WalletEventTypes['accountsChanged']): () => void;
65
- onWalletContext(callback: WalletEventTypes['walletContext']): () => void;
66
- onChainChanged(callback: WalletEventTypes['chainChanged']): () => void;
67
- onDefaultChainIdChanged(callback: WalletEventTypes['chainChanged']): () => void;
68
- getChainId(): number;
69
- setDefaultChainId(chainId: number): void;
70
- openWallet(path?: string, intent?: OpenWalletIntent): Promise<boolean>;
71
- closeWallet(): void;
72
- isOpened(): boolean;
73
- isConnected(): boolean;
74
- getSession(): WalletSession | undefined;
75
- getAddress(): string;
76
- connect(options: ConnectOptions): Promise<ConnectDetails>;
77
- disconnect(): Promise<void>;
78
- request(request: {
79
- method: string;
80
- params?: any[];
81
- chainId?: number;
82
- }): Promise<any>;
83
- getNetworks(pull?: boolean): Promise<NetworkConfig[]>;
84
- private signMethod;
85
- private signTypedDataMethod;
86
- private mapSignMethod;
87
- signMessage(message: ethers.BytesLike, options?: OptionalEIP6492 & OptionalChainId): Promise<string>;
88
- signTypedData(typedData: TypedData, options?: OptionalEIP6492 & OptionalChainId): Promise<string>;
89
- sendTransaction(tx: ethers.TransactionRequest[] | ethers.TransactionRequest, options?: OptionalChainId): Promise<string>;
90
- getWalletContext(): Promise<commons.context.VersionedContext>;
91
- getOnchainWalletConfig(options?: OptionalChainId): Promise<commons.config.Config>;
92
- }
@@ -1,9 +0,0 @@
1
- export * from "./transactions.js";
2
- export * from "./transports/index.js";
3
- export * from "./types.js";
4
- export * from "./provider.js";
5
- export * from "./utils.js";
6
- export * from "./client.js";
7
- export * from "./signer.js";
8
- export * from "./init.js";
9
- export * from "./analytics.js";
@@ -1,36 +0,0 @@
1
- import { ChainIdLike, NetworkConfig } from '@0xsequence/network';
2
- import { MuxTransportTemplate } from "./transports/index.js";
3
- import { ItemStore } from "./utils.js";
4
- import { SequenceProvider } from "./provider.js";
5
- export interface ProviderConfig {
6
- localStorage?: ItemStore;
7
- defaultNetwork?: ChainIdLike;
8
- defaultEIP6492?: boolean;
9
- networks?: Partial<NetworkConfig>[];
10
- transports?: MuxTransportTemplate;
11
- analytics?: boolean;
12
- }
13
- export declare const DefaultProviderConfig: {
14
- transports: {
15
- walletAppURL: string;
16
- windowTransport: {
17
- enabled: boolean;
18
- };
19
- proxyTransport: {
20
- enabled: boolean;
21
- };
22
- };
23
- defaultNetwork: number;
24
- analytics: boolean;
25
- };
26
- /**
27
- * Initializes a wallet with the provided project access key and optional configuration.
28
- *
29
- * @param projectAccessKey - Access key for the project that can be obtained from Sequence Builder on sequence.build
30
- * @param partialConfig - Optional partial configuration for the wallet.
31
- * @returns The initialized wallet provider.
32
- * @throws Error if projectAccessKey is not provided, empty string or is not string.
33
- */
34
- export declare const initWallet: (projectAccessKey: string, partialConfig?: Partial<ProviderConfig>) => SequenceProvider;
35
- export declare const unregisterWallet: () => void;
36
- export declare const getWallet: () => SequenceProvider;
@@ -1,141 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { SequenceClient } from "./client.js";
3
- import { EIP1193Provider, ChainIdLike, NetworkConfig } from '@0xsequence/network';
4
- import { ConnectDetails, ConnectOptions, OpenWalletIntent, OptionalChainIdLike, WalletSession } from "./types.js";
5
- import { commons } from '@0xsequence/core';
6
- import { WalletUtils } from "./utils/index.js";
7
- import { SequenceSigner, SingleNetworkSequenceSigner } from "./signer.js";
8
- export interface ISequenceProvider {
9
- readonly _isSequenceProvider: true;
10
- connect(options?: ConnectOptions): Promise<ConnectDetails>;
11
- disconnect(): void;
12
- isConnected(): boolean;
13
- getSession(): WalletSession | undefined;
14
- listAccounts(): string[];
15
- getAddress(): string;
16
- getNetworks(): Promise<NetworkConfig[]>;
17
- getChainId(): number;
18
- setDefaultChainId(chainId: ChainIdLike): void;
19
- isOpened(): boolean;
20
- openWallet(path?: string, intent?: OpenWalletIntent): Promise<boolean>;
21
- closeWallet(): void;
22
- getProvider(): SequenceProvider;
23
- getProvider(chainId: ChainIdLike): SingleNetworkSequenceProvider;
24
- getProvider(chainId?: ChainIdLike): SequenceProvider | SingleNetworkSequenceProvider;
25
- getSigner(): SequenceSigner;
26
- getSigner(chainId: ChainIdLike): SingleNetworkSequenceSigner;
27
- getSigner(chainId?: ChainIdLike): SequenceSigner | SingleNetworkSequenceSigner;
28
- getWalletContext(): Promise<commons.context.VersionedContext>;
29
- getWalletConfig(chainId?: ChainIdLike): Promise<commons.config.Config>;
30
- utils: WalletUtils;
31
- }
32
- declare const EIP1193EventTypes: readonly ["connect", "disconnect", "chainChanged", "accountsChanged"];
33
- type EIP1193EventType = (typeof EIP1193EventTypes)[number];
34
- export declare class SequenceProvider extends ethers.AbstractProvider implements ISequenceProvider, EIP1193Provider {
35
- readonly client: SequenceClient;
36
- private readonly providerFor;
37
- readonly networks: NetworkConfig[];
38
- readonly options?: ethers.AbstractProviderOptions | undefined;
39
- private readonly singleNetworkProviders;
40
- readonly _isSequenceProvider = true;
41
- readonly utils: WalletUtils;
42
- readonly signer: SequenceSigner;
43
- readonly eip1193EventListeners: Map<"connect" | "disconnect" | "accountsChanged" | "chainChanged", Set<ethers.Listener>>;
44
- constructor(client: SequenceClient, providerFor: (networkId: number) => ethers.JsonRpcProvider, networks?: NetworkConfig[], options?: ethers.AbstractProviderOptions | undefined);
45
- on(event: ethers.ProviderEvent | EIP1193EventType, listener: ethers.Listener): Promise<this>;
46
- off(event: ethers.ProviderEvent | EIP1193EventType, listener?: ethers.Listener | undefined): Promise<this>;
47
- getSigner(): SequenceSigner;
48
- getSigner(chainId: ChainIdLike): SingleNetworkSequenceSigner;
49
- getSigner(chainId?: ChainIdLike): SequenceSigner | SingleNetworkSequenceSigner;
50
- connect(options: ConnectOptions): Promise<ConnectDetails>;
51
- disconnect(): Promise<void>;
52
- isConnected(): boolean;
53
- getSession(): WalletSession | undefined;
54
- listAccounts(): string[];
55
- getAddress(): string;
56
- getNetworks(): Promise<NetworkConfig[]>;
57
- getChainId(): number;
58
- setDefaultChainId(chainId: ChainIdLike): void;
59
- isOpened(): boolean;
60
- closeWallet(): void;
61
- getWalletContext(): Promise<commons.context.VersionedContext>;
62
- getWalletConfig(chainId?: ChainIdLike): Promise<commons.config.Config>;
63
- authorize(options: ConnectOptions): Promise<ConnectDetails>;
64
- openWallet(path?: string, intent?: OpenWalletIntent): Promise<boolean>;
65
- toChainId(chainId: ChainIdLike): number;
66
- toChainId(chainId?: ChainIdLike): number | undefined;
67
- /**
68
- * Resolves the chainId to use for the given request. If no chainId is provided,
69
- * it uses the chainId defined by the client (default chainId). This can be
70
- * overriden to build a single-network SequenceProvider.
71
- */
72
- protected useChainId(chainId?: ChainIdLike): Promise<number>;
73
- /**
74
- * This generates a provider that ONLY works for the given chainId.
75
- * the generated provider can't switch networks, and can't handle requests
76
- * for other networks.
77
- */
78
- getProvider(): SequenceProvider;
79
- getProvider(chainId: ChainIdLike): SingleNetworkSequenceProvider;
80
- getProvider(chainId?: ChainIdLike): SequenceProvider | SingleNetworkSequenceProvider;
81
- /**
82
- * This returns a subprovider, this is a regular non-sequence provider that
83
- * can be used to fulfill read only requests on a given network.
84
- */
85
- _getSubprovider(chainId?: ChainIdLike): Promise<ethers.JsonRpcProvider>;
86
- _perform(req: ethers.PerformActionRequest): Promise<any>;
87
- perform(method: string, params: any): Promise<any>;
88
- send(method: string, params: any): Promise<any>;
89
- request(request: {
90
- method: string;
91
- params?: any[] | undefined;
92
- }): Promise<any>;
93
- _detectNetwork(): Promise<ethers.Network>;
94
- detectNetwork(): Promise<ethers.Network>;
95
- waitForTransaction(transactionHash: string, confirmations?: number, timeout?: number, optionals?: OptionalChainIdLike): Promise<ethers.TransactionReceipt | null>;
96
- getBlockNumber(optionals?: OptionalChainIdLike): Promise<number>;
97
- getFeeData(optionals?: OptionalChainIdLike): Promise<ethers.FeeData>;
98
- getBalance(addressOrName: string | Promise<string>, blockTag?: ethers.BlockTag, optionals?: OptionalChainIdLike): Promise<bigint>;
99
- getTransactionCount(addressOrName: string | Promise<string>, blockTag?: ethers.BlockTag, optionals?: OptionalChainIdLike): Promise<number>;
100
- getCode(addressOrName: string | Promise<string>, blockTag?: ethers.BlockTag, optionals?: OptionalChainIdLike): Promise<string>;
101
- getStorage(addressOrName: string | Promise<string>, position: ethers.BigNumberish, blockTag?: ethers.BlockTag, optionals?: OptionalChainIdLike): Promise<string>;
102
- call(transaction: ethers.TransactionRequest, optionals?: OptionalChainIdLike): Promise<string>;
103
- estimateGas(transaction: ethers.TransactionRequest, optionals?: OptionalChainIdLike): Promise<bigint>;
104
- getBlock(blockHashOrBlockTag: ethers.BlockTag | string, prefetchTxs?: boolean, optionals?: OptionalChainIdLike): Promise<ethers.Block | null>;
105
- getTransaction(transactionHash: string, optionals?: OptionalChainIdLike): Promise<ethers.TransactionResponse | null>;
106
- getLogs(filter: ethers.Filter, optionals?: OptionalChainIdLike): Promise<ethers.Log[]>;
107
- supportsENS(): Promise<boolean>;
108
- getResolver(name: string): Promise<ethers.EnsResolver | null>;
109
- resolveName(name: string): Promise<string | null>;
110
- lookupAddress(address: string): Promise<string | null>;
111
- getAvatar(nameOrAddress: string): Promise<string | null>;
112
- static is: (provider: any) => provider is SequenceProvider;
113
- }
114
- /**
115
- * This is the same provider, but it only allows a single network at a time.
116
- * the network defined by the constructor is the only one that can be used.
117
- *
118
- * Attempting to call any method with a different network will throw an error.
119
- * Attempting to change the network of this provider will throw an error.
120
- *
121
- * NOTICE: These networks won't support ENS unless they are the mainnet.
122
- */
123
- export declare class SingleNetworkSequenceProvider extends SequenceProvider {
124
- readonly chainId: ChainIdLike;
125
- readonly _isSingleNetworkSequenceProvider = true;
126
- constructor(client: SequenceClient, providerFor: (networkId: number) => ethers.JsonRpcProvider, chainId: ChainIdLike, options?: ethers.AbstractProviderOptions);
127
- private _useChainId;
128
- protected useChainId(chainId?: ChainIdLike): Promise<number>;
129
- getChainId(): number;
130
- getNetwork(): Promise<ethers.Network>;
131
- /**
132
- * Override getProvider and getSigner so they always use `useChainId`
133
- * this way they can't return providers and signers that can switch networks,
134
- * or that don't match the chainId of this signer.
135
- */
136
- getProvider(chainId?: ChainIdLike): SingleNetworkSequenceProvider;
137
- getSigner(chainId?: ChainIdLike): SingleNetworkSequenceSigner;
138
- setDefaultChainId(_chainId: ChainIdLike): void;
139
- static is(cand: any): cand is SingleNetworkSequenceProvider;
140
- }
141
- export {};
@@ -1,88 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { SequenceProvider, SingleNetworkSequenceProvider } from "./provider.js";
3
- import { SequenceClient } from "./client.js";
4
- import { commons } from '@0xsequence/core';
5
- import { ChainIdLike, NetworkConfig } from '@0xsequence/network';
6
- import { WalletUtils } from "./utils/index.js";
7
- import { OptionalChainIdLike, OptionalEIP6492 } from "./types.js";
8
- export interface ISequenceSigner extends Omit<ethers.Signer, 'connect'> {
9
- getProvider(): SequenceProvider;
10
- getProvider(chainId: ChainIdLike): SingleNetworkSequenceProvider;
11
- getProvider(chainId?: ChainIdLike): SequenceProvider | SingleNetworkSequenceProvider;
12
- getSigner(): SequenceSigner;
13
- getSigner(chainId: ChainIdLike): SingleNetworkSequenceSigner;
14
- getSigner(chainId?: ChainIdLike): SequenceSigner | SingleNetworkSequenceSigner;
15
- getWalletConfig(chainId?: ChainIdLike): Promise<commons.config.Config>;
16
- getNetworks(): Promise<NetworkConfig[]>;
17
- connect: (provider: SequenceProvider) => SequenceSigner;
18
- signMessage(message: ethers.BytesLike, options?: OptionalChainIdLike & OptionalEIP6492): Promise<string>;
19
- signTypedData(domain: ethers.TypedDataDomain, types: Record<string, Array<ethers.TypedDataField>>, message: Record<string, any>, options?: OptionalChainIdLike & OptionalEIP6492): Promise<string>;
20
- sendTransaction(transaction: ethers.TransactionRequest[] | ethers.TransactionRequest, options?: OptionalChainIdLike): Promise<commons.transaction.TransactionResponse>;
21
- utils: WalletUtils;
22
- }
23
- export declare class SequenceSigner implements ISequenceSigner {
24
- client: SequenceClient;
25
- provider: SequenceProvider;
26
- private readonly singleNetworkSigners;
27
- readonly _isSequenceSigner: boolean;
28
- get utils(): WalletUtils;
29
- constructor(client: SequenceClient, provider: SequenceProvider);
30
- getAddress(): Promise<string>;
31
- connect(provider: ethers.Provider): SequenceSigner;
32
- getSigner(): SequenceSigner;
33
- getSigner(chainId: ChainIdLike): SingleNetworkSequenceSigner;
34
- getSigner(chainId?: ChainIdLike): SingleNetworkSequenceSigner | SequenceSigner;
35
- /**
36
- * Resolves the chainId to use for the given request. If no chainId is provided,
37
- * it uses the chainId defined by the client (default chainId). This can be
38
- * overriden to build a single-network SequenceProvider.
39
- */
40
- protected useChainId(chainId?: ChainIdLike): number;
41
- signMessage(message: ethers.BytesLike, options?: OptionalChainIdLike & OptionalEIP6492): Promise<string>;
42
- signTypedData(domain: ethers.TypedDataDomain, types: Record<string, Array<ethers.TypedDataField>>, message: Record<string, any>, options?: OptionalChainIdLike & OptionalEIP6492): Promise<string>;
43
- getProvider(): SequenceProvider;
44
- getProvider(chainId: ChainIdLike): SingleNetworkSequenceProvider;
45
- getProvider(chainId?: ChainIdLike): SingleNetworkSequenceProvider | SequenceProvider;
46
- sendTransaction(transaction: ethers.TransactionRequest[] | ethers.TransactionRequest, options?: OptionalChainIdLike): Promise<ethers.TransactionResponse>;
47
- getWalletConfig(chainId?: ChainIdLike | undefined): Promise<commons.config.Config>;
48
- getNetworks(): Promise<NetworkConfig[]>;
49
- getBalance(blockTag?: ethers.BlockTag | undefined, optionals?: OptionalChainIdLike): Promise<bigint>;
50
- estimateGas(transaction: ethers.TransactionRequest, optionals?: OptionalChainIdLike): Promise<bigint>;
51
- call(transaction: ethers.TransactionRequest, optionals?: OptionalChainIdLike): Promise<string>;
52
- getChainId(): Promise<number>;
53
- getFeeData(optionals?: OptionalChainIdLike): Promise<ethers.FeeData>;
54
- resolveName(name: string): Promise<string>;
55
- _checkProvider(_operation?: string | undefined): void;
56
- getNonce(_blockTag?: ethers.BlockTag): Promise<number>;
57
- populateCall(_transaction: ethers.TransactionRequest): Promise<ethers.TransactionLike<string>>;
58
- populateTransaction(_transaction: ethers.TransactionRequest): Promise<ethers.TransactionLike<string>>;
59
- checkTransaction(_transaction: ethers.TransactionRequest): ethers.TransactionRequest;
60
- getTransactionCount(_blockTag?: ethers.BlockTag): Promise<number>;
61
- signTransaction(_transaction: commons.transaction.Transactionish): Promise<string>;
62
- static is(cand: any): cand is SequenceSigner;
63
- }
64
- /**
65
- * This is the same provider, but it only allows a single network at a time.
66
- * the network defined by the constructor is the only one that can be used.
67
- *
68
- * Attempting to call any method with a different network will throw an error.
69
- * Attempting to change the network of this provider will throw an error.
70
- *
71
- * NOTICE: These networks won't support ENS unless they are the mainnet.
72
- */
73
- export declare class SingleNetworkSequenceSigner extends SequenceSigner {
74
- readonly chainId: ChainIdLike;
75
- readonly _isSingleNetworkSequenceSigner = true;
76
- constructor(client: SequenceClient, provider: SequenceProvider, chainId: ChainIdLike);
77
- private _useChainId;
78
- protected useChainId(chainId?: ChainIdLike): number;
79
- getChainId(): Promise<number>;
80
- /**
81
- * Override getProvider and getSigner so they always use `useChainId`
82
- * this way they can't return providers and signers that can switch networks,
83
- * or that don't match the chainId of this signer.
84
- */
85
- getProvider(chainId?: ChainIdLike): SingleNetworkSequenceProvider;
86
- getSigner(chainId?: ChainIdLike | undefined): SingleNetworkSequenceSigner;
87
- static is(cand: any): cand is SingleNetworkSequenceSigner;
88
- }
@@ -1,2 +0,0 @@
1
- import { commons } from '@0xsequence/core';
2
- export declare function validateTransactionRequest(wallet: string, transaction: commons.transaction.Transactionish): void;
@@ -1,49 +0,0 @@
1
- import { ProviderTransport, ProviderMessage, ProviderMessageRequest, ProviderEventTypes, ProviderMessageResponse, ProviderMessageResponseCallback, OpenState, OpenWalletIntent, ConnectDetails, WalletSession, ProviderRpcError, InitState, TypedEventEmitter } from "../types.js";
2
- import { NetworkConfig } from '@0xsequence/network';
3
- import { commons } from '@0xsequence/core';
4
- export declare const PROVIDER_OPEN_TIMEOUT = 30000;
5
- export declare const nextMessageIdx: () => number;
6
- export declare abstract class BaseProviderTransport implements ProviderTransport {
7
- protected pendingMessageRequests: ProviderMessageRequest[];
8
- protected responseCallbacks: Map<number, ProviderMessageResponseCallback>;
9
- protected state: OpenState;
10
- protected confirmationOnly: boolean;
11
- protected events: TypedEventEmitter<ProviderEventTypes>;
12
- protected openPayload: {
13
- sessionId?: string;
14
- session?: WalletSession;
15
- } | undefined;
16
- protected connectPayload: ConnectDetails | undefined;
17
- protected accountsChangedPayload: {
18
- accounts: string[];
19
- origin?: string;
20
- } | undefined;
21
- protected networksPayload: NetworkConfig[] | undefined;
22
- protected walletContextPayload: commons.context.VersionedContext | undefined;
23
- protected _sessionId?: string;
24
- protected _init: InitState;
25
- protected _registered: boolean;
26
- readonly projectAccessKey?: string;
27
- constructor(projectAccessKey?: string);
28
- get registered(): boolean;
29
- register(): void;
30
- unregister(): void;
31
- openWallet(path?: string, intent?: OpenWalletIntent, networkId?: string | number): void;
32
- closeWallet(): void;
33
- isOpened(): boolean;
34
- isConnected(): boolean;
35
- request(request: {
36
- method: string;
37
- params?: any[];
38
- chainId?: number;
39
- }): Promise<any>;
40
- handleMessage(message: ProviderMessage<any>): void;
41
- sendMessageRequest: (message: ProviderMessageRequest) => Promise<ProviderMessageResponse>;
42
- sendMessage(message: ProviderMessage<any>): void;
43
- on<K extends keyof ProviderEventTypes>(event: K, fn: ProviderEventTypes[K]): void;
44
- once<K extends keyof ProviderEventTypes>(event: K, fn: ProviderEventTypes[K]): void;
45
- emit<K extends keyof ProviderEventTypes>(event: K, ...args: Parameters<ProviderEventTypes[K]>): boolean;
46
- waitUntilOpened: (openTimeout?: number) => Promise<WalletSession | undefined>;
47
- waitUntilConnected: () => Promise<ConnectDetails>;
48
- protected close(error?: ProviderRpcError): void;
49
- }
@@ -1,43 +0,0 @@
1
- import { WalletTransport, ProviderMessage, ProviderMessageRequest, ProviderMessageResponse, ProviderRpcError, InitState, ConnectDetails, WalletSession, TransportSession } from "../types.js";
2
- import { WalletRequestHandler } from "./wallet-request-handler.js";
3
- import { NetworkConfig } from '@0xsequence/network';
4
- import { commons } from '@0xsequence/core';
5
- export declare abstract class BaseWalletTransport implements WalletTransport {
6
- protected walletRequestHandler: WalletRequestHandler;
7
- protected _sessionId: string;
8
- protected _registered: boolean;
9
- protected _init: InitState;
10
- protected _initNonce: string;
11
- protected _initCallback?: (error?: string) => void;
12
- protected appOrigin?: string;
13
- constructor(walletRequestHandler: WalletRequestHandler);
14
- get registered(): boolean;
15
- register(): void;
16
- unregister(): void;
17
- request(request: {
18
- method: string;
19
- params?: any[];
20
- chainId?: number;
21
- }): Promise<any>;
22
- handleMessage: (message: ProviderMessage<any>) => Promise<void>;
23
- sendMessageRequest: (message: ProviderMessageRequest) => Promise<ProviderMessageResponse>;
24
- sendMessage(message: ProviderMessage<any>): void;
25
- notifyOpen(openInfo: {
26
- chainId?: string;
27
- sessionId?: string;
28
- session?: WalletSession;
29
- error?: string;
30
- }): void;
31
- notifyClose(error?: ProviderRpcError): void;
32
- notifyConnect(connectDetails: ConnectDetails): void;
33
- notifyDisconnect(error?: ProviderRpcError, origin?: string): void;
34
- notifyAccountsChanged(accounts: string[], origin?: string): void;
35
- notifyChainChanged(chainIdHex: string, origin?: string): void;
36
- notifyNetworks(networks: NetworkConfig[]): void;
37
- notifyWalletContext(walletContext: commons.context.VersionedContext): void;
38
- protected isValidInitAck(message: ProviderMessage<any>): boolean;
39
- private init;
40
- protected open: ({ sessionId, intent, networkId }: TransportSession) => Promise<boolean>;
41
- private saveTransportSession;
42
- protected getCachedTransportSession: () => Promise<TransportSession | null>;
43
- }
@@ -1,17 +0,0 @@
1
- import { EventEmitter2 as EventEmitter } from 'eventemitter2';
2
- import { ProviderMessageResponseCallback, ProviderMessageRequest, ProviderMessageResponse } from "../../types.js";
3
- export interface Stream {
4
- on(ev: string | symbol, fn: (...args: any[]) => void): void;
5
- writable: boolean;
6
- write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean;
7
- }
8
- export declare abstract class BaseInjectedTransport extends EventEmitter {
9
- private stream;
10
- protected responseCallbacks: Map<number, ProviderMessageResponseCallback>;
11
- private _messageIdx;
12
- protected nextMessageIdx: () => number;
13
- constructor(stream: Stream);
14
- private handleMessage;
15
- protected sendMessageRequest: (message: ProviderMessageRequest) => Promise<ProviderMessageResponse>;
16
- private sendMessage;
17
- }
@@ -1,12 +0,0 @@
1
- import { WalletRequestHandler } from "../wallet-request-handler.js";
2
- import { BaseWalletTransport } from "../base-wallet-transport.js";
3
- import { ProviderMessage } from "../../types.js";
4
- import { Runtime } from 'webextension-polyfill';
5
- export declare const CHANNEL_ID = "sequence-extension-message-handler";
6
- export declare class ExtensionMessageHandler extends BaseWalletTransport {
7
- runtime: Runtime.Static;
8
- private port;
9
- constructor(walletRequestHandler: WalletRequestHandler, runtime: Runtime.Static);
10
- register(): void;
11
- sendMessage(message: ProviderMessage<any>): void;
12
- }
@@ -1,11 +0,0 @@
1
- import { OpenWalletIntent, ProviderMessage } from "../../types.js";
2
- import { BaseProviderTransport } from "../base-provider-transport.js";
3
- import { Runtime } from 'webextension-polyfill';
4
- export declare class ExtensionMessageProvider extends BaseProviderTransport {
5
- constructor(runtime: Runtime.Static);
6
- register: () => void;
7
- sendMessage(message: ProviderMessage<any>): void;
8
- unregister(): void;
9
- openWallet(path?: string, intent?: OpenWalletIntent, networkId?: string | number): void;
10
- closeWallet(): void;
11
- }
@@ -1,3 +0,0 @@
1
- export * from "./extension-message-handler.js";
2
- export * from "./extension-message-provider.js";
3
- export * from "./base-injected-transport.js";
@@ -1,8 +0,0 @@
1
- export * from "./base-provider-transport.js";
2
- export * from "./base-wallet-transport.js";
3
- export * from "./proxy-transport/index.js";
4
- export * from "./mux-transport/index.js";
5
- export * from "./window-transport/index.js";
6
- export * from "./wallet-request-handler.js";
7
- export * from "./extension-transport/index.js";
8
- export * from "./unreal-transport/index.js";
@@ -1 +0,0 @@
1
- export * from "./mux-message-provider.js";
@@ -1,47 +0,0 @@
1
- import { ProviderMessage, ProviderTransport, ProviderEventTypes, ProviderMessageRequest, ProviderMessageResponse, WalletSession, OpenWalletIntent, ConnectDetails } from "../../types.js";
2
- import { ProxyMessageChannelPort } from "../proxy-transport/index.js";
3
- import { Runtime } from 'webextension-polyfill';
4
- export type MuxTransportTemplate = {
5
- walletAppURL?: string;
6
- windowTransport?: {
7
- enabled: boolean;
8
- };
9
- proxyTransport?: {
10
- enabled: boolean;
11
- appPort?: ProxyMessageChannelPort;
12
- };
13
- extensionTransport?: {
14
- enabled: boolean;
15
- runtime: Runtime.Static;
16
- };
17
- unrealTransport?: {
18
- enabled: boolean;
19
- };
20
- };
21
- export declare function isMuxTransportTemplate(obj: any): obj is MuxTransportTemplate;
22
- export declare class MuxMessageProvider implements ProviderTransport {
23
- private messageProviders;
24
- private provider;
25
- constructor(messageProviders?: ProviderTransport[]);
26
- static new(template: MuxTransportTemplate, projectAccessKey?: string): MuxMessageProvider;
27
- add(...messageProviders: ProviderTransport[]): void;
28
- register: () => void;
29
- unregister: () => void;
30
- openWallet: (path?: string, intent?: OpenWalletIntent, networkId?: string | number) => void;
31
- closeWallet(): void;
32
- isOpened(): boolean;
33
- isConnected(): boolean;
34
- on<K extends keyof ProviderEventTypes>(event: K, fn: ProviderEventTypes[K]): void;
35
- once<K extends keyof ProviderEventTypes>(event: K, fn: ProviderEventTypes[K]): void;
36
- emit<K extends keyof ProviderEventTypes>(event: K, ...args: Parameters<ProviderEventTypes[K]>): boolean;
37
- request(request: {
38
- method: string;
39
- params?: any[];
40
- chainId?: number;
41
- }): Promise<any>;
42
- sendMessage(message: ProviderMessage<any>): void;
43
- sendMessageRequest: (message: ProviderMessageRequest) => Promise<ProviderMessageResponse>;
44
- handleMessage(message: ProviderMessage<any>): void;
45
- waitUntilOpened: () => Promise<WalletSession | undefined>;
46
- waitUntilConnected: () => Promise<ConnectDetails>;
47
- }
@@ -1,3 +0,0 @@
1
- export * from "./proxy-message-channel.js";
2
- export * from "./proxy-message-provider.js";
3
- export * from "./proxy-message-handler.js";
@@ -1,15 +0,0 @@
1
- import { ProviderMessage, ProviderMessageTransport, ProviderEventTypes, TypedEventEmitter } from "../../types.js";
2
- export declare class ProxyMessageChannel {
3
- app: ProxyMessageChannelPort;
4
- wallet: ProxyMessageChannelPort;
5
- constructor();
6
- }
7
- export declare class ProxyMessageChannelPort implements ProviderMessageTransport {
8
- conn: ProviderMessageTransport;
9
- events: TypedEventEmitter<ProxyEventTypes>;
10
- handleMessage: (message: ProviderMessage<any>) => void;
11
- sendMessage: (message: ProviderMessage<any>) => void;
12
- on<K extends keyof ProxyEventTypes>(event: K, fn: ProxyEventTypes[K]): void;
13
- once<K extends keyof ProxyEventTypes>(event: K, fn: ProxyEventTypes[K]): void;
14
- }
15
- export type ProxyEventTypes = Pick<ProviderEventTypes, 'open' | 'close' | 'connect' | 'disconnect'>;
@@ -1,12 +0,0 @@
1
- import { BaseWalletTransport } from "../base-wallet-transport.js";
2
- import { WalletRequestHandler } from "../wallet-request-handler.js";
3
- import { ProviderMessage } from "../../types.js";
4
- import { ProxyMessageChannelPort } from "./proxy-message-channel.js";
5
- export declare class ProxyMessageHandler extends BaseWalletTransport {
6
- private port;
7
- constructor(walletRequestHandler: WalletRequestHandler, port: ProxyMessageChannelPort);
8
- register(): void;
9
- restoreSession(): Promise<void>;
10
- unregister(): void;
11
- sendMessage(message: ProviderMessage<any>): void;
12
- }
@@ -1,12 +0,0 @@
1
- import { BaseProviderTransport } from "../base-provider-transport.js";
2
- import { ProviderMessage, OpenWalletIntent } from "../../types.js";
3
- import { ProxyMessageChannelPort } from "./proxy-message-channel.js";
4
- export declare class ProxyMessageProvider extends BaseProviderTransport {
5
- private port;
6
- constructor(port: ProxyMessageChannelPort);
7
- register: () => void;
8
- unregister: () => void;
9
- openWallet: (path?: string, intent?: OpenWalletIntent, networkId?: string | number) => void;
10
- closeWallet(): void;
11
- sendMessage(message: ProviderMessage<any>): void;
12
- }
@@ -1,2 +0,0 @@
1
- export * from "./unreal-message-provider.js";
2
- export * from "./unreal-message-handler.js";