@0xsequence/connect 5.0.1 → 5.0.2-ecosystem-beta.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/cjs/components/Connect/Connect.js +3 -3
- package/dist/cjs/components/Connect/Connect.js.map +1 -1
- package/dist/cjs/components/ConnectButton/ConnectButton.js +1 -1
- package/dist/cjs/components/ConnectButton/ConnectButton.js.map +1 -1
- package/dist/cjs/config/defaultConnectors.d.ts +3 -0
- package/dist/cjs/config/defaultConnectors.d.ts.map +1 -1
- package/dist/cjs/config/defaultConnectors.js +17 -0
- package/dist/cjs/config/defaultConnectors.js.map +1 -1
- package/dist/cjs/connectors/ecosystem/ecosystemWallet.d.ts +20 -0
- package/dist/cjs/connectors/ecosystem/ecosystemWallet.d.ts.map +1 -0
- package/dist/cjs/connectors/ecosystem/ecosystemWallet.js +99 -0
- package/dist/cjs/connectors/ecosystem/ecosystemWallet.js.map +1 -0
- package/dist/cjs/connectors/ecosystem/index.d.ts +7 -0
- package/dist/cjs/connectors/ecosystem/index.d.ts.map +1 -0
- package/dist/cjs/connectors/ecosystem/index.js +14 -0
- package/dist/cjs/connectors/ecosystem/index.js.map +1 -0
- package/dist/cjs/connectors/ecosystem/provider.d.ts +21 -0
- package/dist/cjs/connectors/ecosystem/provider.d.ts.map +1 -0
- package/dist/cjs/connectors/ecosystem/provider.js +114 -0
- package/dist/cjs/connectors/ecosystem/provider.js.map +1 -0
- package/dist/cjs/connectors/ecosystem/providerTransport.d.ts +27 -0
- package/dist/cjs/connectors/ecosystem/providerTransport.d.ts.map +1 -0
- package/dist/cjs/connectors/ecosystem/providerTransport.js +202 -0
- package/dist/cjs/connectors/ecosystem/providerTransport.js.map +1 -0
- package/dist/cjs/constants/version.d.ts +1 -1
- package/dist/cjs/constants/version.d.ts.map +1 -1
- package/dist/cjs/constants/version.js +1 -1
- package/dist/cjs/constants/version.js.map +1 -1
- package/dist/cjs/hooks/useDirectEcosystemConnect.d.ts +2 -0
- package/dist/cjs/hooks/useDirectEcosystemConnect.d.ts.map +1 -0
- package/dist/cjs/hooks/useDirectEcosystemConnect.js +20 -0
- package/dist/cjs/hooks/useDirectEcosystemConnect.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/Connect/Connect.js +3 -3
- package/dist/esm/components/Connect/Connect.js.map +1 -1
- package/dist/esm/components/ConnectButton/ConnectButton.js +1 -1
- package/dist/esm/components/ConnectButton/ConnectButton.js.map +1 -1
- package/dist/esm/config/defaultConnectors.d.ts +3 -0
- package/dist/esm/config/defaultConnectors.d.ts.map +1 -1
- package/dist/esm/config/defaultConnectors.js +17 -0
- package/dist/esm/config/defaultConnectors.js.map +1 -1
- package/dist/esm/connectors/ecosystem/ecosystemWallet.d.ts +20 -0
- package/dist/esm/connectors/ecosystem/ecosystemWallet.d.ts.map +1 -0
- package/dist/esm/connectors/ecosystem/ecosystemWallet.js +96 -0
- package/dist/esm/connectors/ecosystem/ecosystemWallet.js.map +1 -0
- package/dist/esm/connectors/ecosystem/index.d.ts +7 -0
- package/dist/esm/connectors/ecosystem/index.d.ts.map +1 -0
- package/dist/esm/connectors/ecosystem/index.js +10 -0
- package/dist/esm/connectors/ecosystem/index.js.map +1 -0
- package/dist/esm/connectors/ecosystem/provider.d.ts +21 -0
- package/dist/esm/connectors/ecosystem/provider.d.ts.map +1 -0
- package/dist/esm/connectors/ecosystem/provider.js +110 -0
- package/dist/esm/connectors/ecosystem/provider.js.map +1 -0
- package/dist/esm/connectors/ecosystem/providerTransport.d.ts +27 -0
- package/dist/esm/connectors/ecosystem/providerTransport.d.ts.map +1 -0
- package/dist/esm/connectors/ecosystem/providerTransport.js +198 -0
- package/dist/esm/connectors/ecosystem/providerTransport.js.map +1 -0
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.d.ts.map +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/constants/version.js.map +1 -1
- package/dist/esm/hooks/useDirectEcosystemConnect.d.ts +2 -0
- package/dist/esm/hooks/useDirectEcosystemConnect.d.ts.map +1 -0
- package/dist/esm/hooks/useDirectEcosystemConnect.js +16 -0
- package/dist/esm/hooks/useDirectEcosystemConnect.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecosystemWallet.d.ts","sourceRoot":"","sources":["../../../../src/connectors/ecosystem/ecosystemWallet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,SAAS,EAAE,MAAM,OAAO,CAAA;AAElD,OAAO,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAA;AAE7D,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,6BAA6B;IAC5C,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAID,wBAAgB,eAAe,CAAC,MAAM,EAAE,6BAA6B;uBAG9C,gCAAgC;cACzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;OA4GpC;yBAhHe,eAAe"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { getAddress } from 'viem';
|
|
3
|
+
import { createConnector } from 'wagmi';
|
|
4
|
+
import { EcosystemWalletTransportProvider } from './provider';
|
|
5
|
+
ecosystemWallet.type = 'ecosystem-wallet';
|
|
6
|
+
export function ecosystemWallet(params) {
|
|
7
|
+
const isDev = !!params?.isDev;
|
|
8
|
+
const nodesUrl = isDev ? 'https://dev-nodes.sequence.app' : 'https://nodes.sequence.app';
|
|
9
|
+
const ecosystemProvider = new EcosystemWalletTransportProvider(params.projectAccessKey, params.walletUrl, params.defaultNetwork, nodesUrl);
|
|
10
|
+
return createConnector(config => ({
|
|
11
|
+
id: `ecosystem-wallet`,
|
|
12
|
+
name: 'Ecosystem Wallet',
|
|
13
|
+
type: ecosystemWallet.type,
|
|
14
|
+
ecosystemProvider,
|
|
15
|
+
params,
|
|
16
|
+
auxData: undefined,
|
|
17
|
+
async setup() {
|
|
18
|
+
if (typeof window !== 'object') {
|
|
19
|
+
// (for SSR) only run in browser client
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
async connect(_connectInfo) {
|
|
24
|
+
const provider = await this.getProvider();
|
|
25
|
+
let walletAddress = provider.transport.getWalletAddress();
|
|
26
|
+
if (!walletAddress) {
|
|
27
|
+
try {
|
|
28
|
+
const res = await provider.transport.connect(this.auxData);
|
|
29
|
+
walletAddress = res.walletAddress;
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
console.log(e);
|
|
33
|
+
await this.disconnect();
|
|
34
|
+
throw e;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
accounts: [getAddress(walletAddress)],
|
|
39
|
+
chainId: await this.getChainId()
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
async disconnect() {
|
|
43
|
+
const provider = await this.getProvider();
|
|
44
|
+
provider.transport.disconnect();
|
|
45
|
+
},
|
|
46
|
+
async getAccounts() {
|
|
47
|
+
const provider = await this.getProvider();
|
|
48
|
+
const address = provider.transport.getWalletAddress();
|
|
49
|
+
if (address) {
|
|
50
|
+
return [getAddress(address)];
|
|
51
|
+
}
|
|
52
|
+
return [];
|
|
53
|
+
},
|
|
54
|
+
async getProvider() {
|
|
55
|
+
return ecosystemProvider;
|
|
56
|
+
},
|
|
57
|
+
async isAuthorized() {
|
|
58
|
+
const provider = await this.getProvider();
|
|
59
|
+
return provider.transport.getWalletAddress() !== undefined;
|
|
60
|
+
},
|
|
61
|
+
async switchChain({ chainId }) {
|
|
62
|
+
const provider = await this.getProvider();
|
|
63
|
+
const chain = config.chains.find(c => c.id === chainId) || config.chains[0];
|
|
64
|
+
await provider.request({
|
|
65
|
+
method: 'wallet_switchEthereumChain',
|
|
66
|
+
params: [{ chainId: ethers.toQuantity(chainId) }]
|
|
67
|
+
});
|
|
68
|
+
config.emitter.emit('change', { chainId });
|
|
69
|
+
return chain;
|
|
70
|
+
},
|
|
71
|
+
async getChainId() {
|
|
72
|
+
const provider = await this.getProvider();
|
|
73
|
+
return Number(provider.getChainId());
|
|
74
|
+
},
|
|
75
|
+
async onAccountsChanged(accounts) {
|
|
76
|
+
return { account: accounts[0] };
|
|
77
|
+
},
|
|
78
|
+
async onChainChanged(chain) {
|
|
79
|
+
config.emitter.emit('change', { chainId: normalizeChainId(chain) });
|
|
80
|
+
},
|
|
81
|
+
async onConnect(_connectInfo) { },
|
|
82
|
+
async onDisconnect() {
|
|
83
|
+
await this.disconnect();
|
|
84
|
+
}
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
function normalizeChainId(chainId) {
|
|
88
|
+
if (typeof chainId === 'object')
|
|
89
|
+
return normalizeChainId(chainId.chainId);
|
|
90
|
+
if (typeof chainId === 'string')
|
|
91
|
+
return Number.parseInt(chainId, chainId.trim().substring(0, 2) === '0x' ? 16 : 10);
|
|
92
|
+
if (typeof chainId === 'bigint')
|
|
93
|
+
return Number(chainId);
|
|
94
|
+
return chainId;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=ecosystemWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecosystemWallet.js","sourceRoot":"","sources":["../../../../src/connectors/ecosystem/ecosystemWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Wallet, WalletProperties } from '../../types';
|
|
2
|
+
import { BaseEcosystemConnectorOptions } from './ecosystemWallet';
|
|
3
|
+
export type EcosystemWalletOptions = BaseEcosystemConnectorOptions & Pick<WalletProperties, 'logoDark' | 'logoLight'> & {
|
|
4
|
+
name?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const ecosystemWallet: (options: EcosystemWalletOptions) => Wallet;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connectors/ecosystem/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEtD,OAAO,EAA0C,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAEzG,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,GAChE,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IACjD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAEH,eAAO,MAAM,eAAe,GAAI,SAAS,sBAAsB,KAAG,MAOhE,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ecosystemWallet as baseEcosystemWallet } from './ecosystemWallet';
|
|
2
|
+
export const ecosystemWallet = (options) => ({
|
|
3
|
+
id: 'ecosystem-wallet',
|
|
4
|
+
logoDark: options.logoDark,
|
|
5
|
+
logoLight: options.logoLight,
|
|
6
|
+
name: options.name || 'Ecosystem Wallet',
|
|
7
|
+
type: 'social',
|
|
8
|
+
createConnector: () => baseEcosystemWallet(options)
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/ecosystem/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAiC,MAAM,mBAAmB,CAAA;AAOzG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAA+B,EAAU,EAAE,CAAC,CAAC;IAC3E,EAAE,EAAE,kBAAkB;IACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;IAC5B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,kBAAkB;IACxC,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC;CACpD,CAAC,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EIP1193Provider } from '@0xsequence/network';
|
|
2
|
+
import { ethers } from 'ethers';
|
|
3
|
+
import { ProviderTransport } from './providerTransport';
|
|
4
|
+
export declare class EcosystemWalletTransportProvider extends ethers.AbstractProvider implements EIP1193Provider {
|
|
5
|
+
projectAccessKey: string;
|
|
6
|
+
walletUrl: string;
|
|
7
|
+
initialChainId: number;
|
|
8
|
+
nodesUrl: string;
|
|
9
|
+
jsonRpcProvider: ethers.JsonRpcProvider;
|
|
10
|
+
currentNetwork: ethers.Network;
|
|
11
|
+
transport: ProviderTransport;
|
|
12
|
+
constructor(projectAccessKey: string, walletUrl: string, initialChainId: number, nodesUrl: string);
|
|
13
|
+
request({ method, params }: {
|
|
14
|
+
method: string;
|
|
15
|
+
params?: any[];
|
|
16
|
+
}): Promise<any>;
|
|
17
|
+
getTransaction(txHash: string): Promise<ethers.TransactionResponse | null>;
|
|
18
|
+
detectNetwork(): Promise<ethers.Network>;
|
|
19
|
+
getChainId(): number;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/connectors/ecosystem/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAe,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,qBAAa,gCAAiC,SAAQ,MAAM,CAAC,gBAAiB,YAAW,eAAe;IAM7F,gBAAgB,EAAE,MAAM;IACxB,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,MAAM;IACtB,QAAQ,EAAE,MAAM;IARzB,eAAe,EAAE,MAAM,CAAC,eAAe,CAAA;IACvC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAA;IAC9B,SAAS,EAAE,iBAAiB,CAAA;gBAGnB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM;IAanB,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE;IAgF9D,cAAc,CAAC,MAAM,EAAE,MAAM;IAInC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IAIxC,UAAU;CAGX"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { allNetworks } from '@0xsequence/network';
|
|
2
|
+
import { ethers } from 'ethers';
|
|
3
|
+
import { getAddress, TransactionRejectedRpcError } from 'viem';
|
|
4
|
+
import { ProviderTransport } from './providerTransport';
|
|
5
|
+
export class EcosystemWalletTransportProvider extends ethers.AbstractProvider {
|
|
6
|
+
projectAccessKey;
|
|
7
|
+
walletUrl;
|
|
8
|
+
initialChainId;
|
|
9
|
+
nodesUrl;
|
|
10
|
+
jsonRpcProvider;
|
|
11
|
+
currentNetwork;
|
|
12
|
+
transport;
|
|
13
|
+
constructor(projectAccessKey, walletUrl, initialChainId, nodesUrl) {
|
|
14
|
+
super(initialChainId);
|
|
15
|
+
this.projectAccessKey = projectAccessKey;
|
|
16
|
+
this.walletUrl = walletUrl;
|
|
17
|
+
this.initialChainId = initialChainId;
|
|
18
|
+
this.nodesUrl = nodesUrl;
|
|
19
|
+
const initialChainName = allNetworks.find(n => n.chainId === initialChainId)?.name;
|
|
20
|
+
const initialJsonRpcProvider = new ethers.JsonRpcProvider(`${nodesUrl}/${initialChainName}/${projectAccessKey}`);
|
|
21
|
+
this.transport = new ProviderTransport(walletUrl);
|
|
22
|
+
this.jsonRpcProvider = initialJsonRpcProvider;
|
|
23
|
+
this.currentNetwork = ethers.Network.from(initialChainId);
|
|
24
|
+
}
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
|
+
async request({ method, params }) {
|
|
27
|
+
if (method === 'wallet_switchEthereumChain') {
|
|
28
|
+
const chainId = normalizeChainId(params?.[0].chainId);
|
|
29
|
+
const networkName = allNetworks.find(n => n.chainId === chainId)?.name;
|
|
30
|
+
const jsonRpcProvider = new ethers.JsonRpcProvider(`${this.nodesUrl}/${networkName}/${this.projectAccessKey}`);
|
|
31
|
+
this.jsonRpcProvider = jsonRpcProvider;
|
|
32
|
+
this.currentNetwork = ethers.Network.from(chainId);
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
if (method === 'eth_chainId') {
|
|
36
|
+
return ethers.toQuantity(this.currentNetwork.chainId);
|
|
37
|
+
}
|
|
38
|
+
if (method === 'eth_accounts') {
|
|
39
|
+
const address = this.transport.getWalletAddress();
|
|
40
|
+
if (!address) {
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
const account = getAddress(address);
|
|
44
|
+
return [account];
|
|
45
|
+
}
|
|
46
|
+
if (method === 'eth_sendTransaction') {
|
|
47
|
+
if (!params) {
|
|
48
|
+
throw new Error('No params');
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
const response = await this.transport.sendRequest(method, params, this.getChainId());
|
|
52
|
+
if (response.walletAddress && response.walletAddress !== this.transport.getWalletAddress()) {
|
|
53
|
+
this.transport.disconnect();
|
|
54
|
+
throw new TransactionRejectedRpcError(new Error('Wallet address mismatch, please reconnect.'));
|
|
55
|
+
}
|
|
56
|
+
if (response.code === 'transactionFailed') {
|
|
57
|
+
throw new TransactionRejectedRpcError(new Error(`Unable to send transaction: ${response.data.error}`));
|
|
58
|
+
}
|
|
59
|
+
if (response.code === 'transactionReceipt') {
|
|
60
|
+
const { txHash } = response.data;
|
|
61
|
+
return txHash;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
console.log('error in sendTransaction', e);
|
|
66
|
+
throw new TransactionRejectedRpcError(new Error(`Unable to send transaction: ${e}`));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (method === 'eth_sign' ||
|
|
70
|
+
method === 'eth_signTypedData' ||
|
|
71
|
+
method === 'eth_signTypedData_v4' ||
|
|
72
|
+
method === 'personal_sign') {
|
|
73
|
+
if (!params) {
|
|
74
|
+
throw new Error('No params');
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
const response = await this.transport.sendRequest(method, params, this.getChainId());
|
|
78
|
+
if (response.walletAddress && response.walletAddress !== this.transport.getWalletAddress()) {
|
|
79
|
+
this.transport.disconnect();
|
|
80
|
+
throw new TransactionRejectedRpcError(new Error('Wallet address mismatch, please reconnect.'));
|
|
81
|
+
}
|
|
82
|
+
return response.data.signature;
|
|
83
|
+
}
|
|
84
|
+
catch (e) {
|
|
85
|
+
console.log('error in sign', e);
|
|
86
|
+
throw new TransactionRejectedRpcError(new Error(`Unable to sign: ${e}`));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return await this.jsonRpcProvider.send(method, params ?? []);
|
|
90
|
+
}
|
|
91
|
+
async getTransaction(txHash) {
|
|
92
|
+
return await this.jsonRpcProvider.getTransaction(txHash);
|
|
93
|
+
}
|
|
94
|
+
detectNetwork() {
|
|
95
|
+
return Promise.resolve(this.currentNetwork);
|
|
96
|
+
}
|
|
97
|
+
getChainId() {
|
|
98
|
+
return Number(this.currentNetwork.chainId);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function normalizeChainId(chainId) {
|
|
102
|
+
if (typeof chainId === 'object')
|
|
103
|
+
return normalizeChainId(chainId.chainId);
|
|
104
|
+
if (typeof chainId === 'string')
|
|
105
|
+
return Number.parseInt(chainId, chainId.trim().substring(0, 2) === '0x' ? 16 : 10);
|
|
106
|
+
if (typeof chainId === 'bigint')
|
|
107
|
+
return Number(chainId);
|
|
108
|
+
return chainId;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/connectors/ecosystem/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare class ProviderTransport {
|
|
2
|
+
private walletOrigin;
|
|
3
|
+
private walletWindow;
|
|
4
|
+
private callbacks;
|
|
5
|
+
private connectionState;
|
|
6
|
+
private session;
|
|
7
|
+
private walletCheckInterval;
|
|
8
|
+
constructor(walletUrl: string);
|
|
9
|
+
private observeCallbacks;
|
|
10
|
+
private updateWalletCheck;
|
|
11
|
+
private ensureWalletCheckActive;
|
|
12
|
+
private ensureWalletCheckInactive;
|
|
13
|
+
private loadSession;
|
|
14
|
+
private saveSession;
|
|
15
|
+
connect(auxData?: Record<string, unknown>): Promise<{
|
|
16
|
+
walletAddress: string;
|
|
17
|
+
}>;
|
|
18
|
+
sendRequest(method: string, params: any[], chainId: number): Promise<any>;
|
|
19
|
+
private openWalletAndPostMessage;
|
|
20
|
+
private postMessageToWallet;
|
|
21
|
+
private isWalletOpen;
|
|
22
|
+
private handleWalletClosed;
|
|
23
|
+
private handleMessage;
|
|
24
|
+
disconnect(): void;
|
|
25
|
+
getWalletAddress(): string | undefined;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=providerTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerTransport.d.ts","sourceRoot":"","sources":["../../../../src/connectors/ecosystem/providerTransport.ts"],"names":[],"mappings":"AAOA,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,SAAS,CAAkD;IACnE,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,mBAAmB,CAAoB;gBAEnC,SAAS,EAAE,MAAM;IAQ7B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;IAKb,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAgC9E,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA0C/E,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,aAAa,CASpB;IAED,UAAU;IAWV,gBAAgB,IAAI,MAAM,GAAG,SAAS;CAGvC"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
export class ProviderTransport {
|
|
2
|
+
walletOrigin;
|
|
3
|
+
walletWindow = null;
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
|
+
callbacks = new Map();
|
|
6
|
+
connectionState = 'disconnected';
|
|
7
|
+
session;
|
|
8
|
+
walletCheckInterval;
|
|
9
|
+
constructor(walletUrl) {
|
|
10
|
+
const url = new URL(walletUrl);
|
|
11
|
+
this.walletOrigin = url.origin;
|
|
12
|
+
window.addEventListener('message', this.handleMessage);
|
|
13
|
+
this.loadSession();
|
|
14
|
+
this.observeCallbacks();
|
|
15
|
+
}
|
|
16
|
+
observeCallbacks() {
|
|
17
|
+
const originalSet = this.callbacks.set.bind(this.callbacks);
|
|
18
|
+
const originalDelete = this.callbacks.delete.bind(this.callbacks);
|
|
19
|
+
this.callbacks.set = (key, value) => {
|
|
20
|
+
const result = originalSet(key, value);
|
|
21
|
+
this.updateWalletCheck();
|
|
22
|
+
return result;
|
|
23
|
+
};
|
|
24
|
+
this.callbacks.delete = key => {
|
|
25
|
+
const result = originalDelete(key);
|
|
26
|
+
this.updateWalletCheck();
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
updateWalletCheck() {
|
|
31
|
+
if (this.callbacks.size > 0) {
|
|
32
|
+
this.ensureWalletCheckActive();
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.ensureWalletCheckInactive();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
ensureWalletCheckActive() {
|
|
39
|
+
if (this.walletCheckInterval === undefined) {
|
|
40
|
+
this.walletCheckInterval = window.setInterval(() => {
|
|
41
|
+
if (!this.isWalletOpen()) {
|
|
42
|
+
this.handleWalletClosed();
|
|
43
|
+
}
|
|
44
|
+
}, 500); // Check every half second
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
ensureWalletCheckInactive() {
|
|
48
|
+
if (this.walletCheckInterval !== undefined) {
|
|
49
|
+
clearInterval(this.walletCheckInterval);
|
|
50
|
+
this.walletCheckInterval = undefined;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
loadSession() {
|
|
54
|
+
const sessionData = localStorage.getItem('walletSession');
|
|
55
|
+
if (sessionData) {
|
|
56
|
+
this.session = JSON.parse(sessionData);
|
|
57
|
+
this.connectionState = 'connected';
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
saveSession(walletAddress) {
|
|
61
|
+
this.session = { walletAddress, lastConnected: Date.now() };
|
|
62
|
+
localStorage.setItem('walletSession', JSON.stringify(this.session));
|
|
63
|
+
}
|
|
64
|
+
async connect(auxData) {
|
|
65
|
+
if (this.connectionState === 'connected' && this.session) {
|
|
66
|
+
return { walletAddress: this.session.walletAddress };
|
|
67
|
+
}
|
|
68
|
+
this.connectionState = 'connecting';
|
|
69
|
+
const connectionId = crypto.randomUUID();
|
|
70
|
+
const connectionRequest = {
|
|
71
|
+
type: 'connection',
|
|
72
|
+
id: connectionId,
|
|
73
|
+
...(auxData ? { auxData } : {})
|
|
74
|
+
};
|
|
75
|
+
return new Promise((resolve, reject) => {
|
|
76
|
+
this.callbacks.set(connectionId, response => {
|
|
77
|
+
if (response.type === 'connection' && response.status === 'accepted') {
|
|
78
|
+
this.connectionState = 'connected';
|
|
79
|
+
this.saveSession(response.walletAddress);
|
|
80
|
+
resolve({ walletAddress: response.walletAddress });
|
|
81
|
+
this.walletWindow?.close();
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
this.connectionState = 'disconnected';
|
|
85
|
+
reject(new Error('Connection rejected'));
|
|
86
|
+
this.walletWindow?.close();
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
this.openWalletAndPostMessage(connectionRequest);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
93
|
+
async sendRequest(method, params, chainId) {
|
|
94
|
+
if (this.connectionState !== 'connected') {
|
|
95
|
+
throw new Error('Not connected to wallet. Call connect() first.');
|
|
96
|
+
}
|
|
97
|
+
const id = crypto.randomUUID();
|
|
98
|
+
const request = { type: 'request', id, method, params, chainId };
|
|
99
|
+
return new Promise((resolve, reject) => {
|
|
100
|
+
const sendMessage = async () => {
|
|
101
|
+
if (!this.isWalletOpen()) {
|
|
102
|
+
try {
|
|
103
|
+
await this.openWalletAndPostMessage(request);
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
this.callbacks.delete(id);
|
|
107
|
+
reject(error);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
this.postMessageToWallet(request);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
this.callbacks.set(id, response => {
|
|
116
|
+
if (response.error) {
|
|
117
|
+
reject(new Error(response.error.message));
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
resolve(response.result);
|
|
121
|
+
}
|
|
122
|
+
// Close the wallet window after receiving the response
|
|
123
|
+
if (this.isWalletOpen()) {
|
|
124
|
+
this.walletWindow.close();
|
|
125
|
+
this.walletWindow = null;
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
sendMessage().catch(reject);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
132
|
+
openWalletAndPostMessage(message) {
|
|
133
|
+
return new Promise((resolve, reject) => {
|
|
134
|
+
console.log('Opening wallet and posting message:', message);
|
|
135
|
+
if (!this.isWalletOpen()) {
|
|
136
|
+
this.walletWindow = window.open(this.walletOrigin, 'Wallet', 'width=375,height=667');
|
|
137
|
+
if (!this.walletWindow) {
|
|
138
|
+
reject(new Error('Failed to open wallet window. Please check your pop-up blocker settings.'));
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const waitForReady = (event) => {
|
|
142
|
+
if (event.origin === this.walletOrigin && event.data === 'ready') {
|
|
143
|
+
console.log('Received ready message from wallet');
|
|
144
|
+
window.removeEventListener('message', waitForReady);
|
|
145
|
+
this.postMessageToWallet(message);
|
|
146
|
+
resolve();
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
window.addEventListener('message', waitForReady);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
this.postMessageToWallet(message);
|
|
153
|
+
resolve();
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
158
|
+
postMessageToWallet(message) {
|
|
159
|
+
console.log('Posting message to wallet:', message);
|
|
160
|
+
this.walletWindow.postMessage(message, {
|
|
161
|
+
targetOrigin: this.walletOrigin
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
isWalletOpen() {
|
|
165
|
+
return this.walletWindow !== null && !this.walletWindow?.closed;
|
|
166
|
+
}
|
|
167
|
+
handleWalletClosed() {
|
|
168
|
+
this.walletWindow = null;
|
|
169
|
+
this.callbacks.forEach(callback => {
|
|
170
|
+
callback({ error: { message: 'Wallet window was closed' } });
|
|
171
|
+
});
|
|
172
|
+
this.callbacks.clear();
|
|
173
|
+
}
|
|
174
|
+
handleMessage = (event) => {
|
|
175
|
+
if (event.origin !== this.walletOrigin)
|
|
176
|
+
return;
|
|
177
|
+
const response = event.data;
|
|
178
|
+
const callback = this.callbacks.get(response.id);
|
|
179
|
+
if (callback) {
|
|
180
|
+
callback(response);
|
|
181
|
+
this.callbacks.delete(response.id);
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
disconnect() {
|
|
185
|
+
this.connectionState = 'disconnected';
|
|
186
|
+
this.session = undefined;
|
|
187
|
+
localStorage.removeItem('walletSession');
|
|
188
|
+
if (this.isWalletOpen()) {
|
|
189
|
+
this.walletWindow.close();
|
|
190
|
+
}
|
|
191
|
+
this.walletWindow = null;
|
|
192
|
+
this.handleWalletClosed();
|
|
193
|
+
}
|
|
194
|
+
getWalletAddress() {
|
|
195
|
+
return this.session?.walletAddress;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=providerTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerTransport.js","sourceRoot":"","sources":["../../../../src/connectors/ecosystem/providerTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const WEB_SDK_VERSION = "5.0.
|
|
1
|
+
export declare const WEB_SDK_VERSION = "5.0.2-ecosystem-beta.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/constants/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/constants/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,2BAA2B,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const WEB_SDK_VERSION = '5.0.
|
|
1
|
+
export const WEB_SDK_VERSION = '5.0.2-ecosystem-beta.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/constants/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/constants/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDirectEcosystemConnect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDirectEcosystemConnect.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,yBAAyB,mBAGI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAiBhE,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useConnect } from 'wagmi';
|
|
2
|
+
export const useDirectEcosystemConnect = () => {
|
|
3
|
+
const { connectors, connect } = useConnect();
|
|
4
|
+
const triggerConnect = async (auxData) => {
|
|
5
|
+
const ecosystemConnector = connectors.find((connector) => connector.type === 'ecosystem-wallet');
|
|
6
|
+
if (!ecosystemConnector) {
|
|
7
|
+
throw new Error('Ecosystem wallet connector not found');
|
|
8
|
+
}
|
|
9
|
+
if (auxData) {
|
|
10
|
+
ecosystemConnector.auxData = auxData;
|
|
11
|
+
}
|
|
12
|
+
return connect({ connector: ecosystemConnector });
|
|
13
|
+
};
|
|
14
|
+
return triggerConnect;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=useDirectEcosystemConnect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDirectEcosystemConnect.js","sourceRoot":"","sources":["../../../src/hooks/useDirectEcosystemConnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAIlC,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAE5C,MAAM,cAAc,GAAG,KAAK,EAAE,OAAiC,EAAE,EAAE;QACjE,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CACxC,CAAC,SAAS,EAAmC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,kBAAkB,CACtF,CAAA;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAA;QACtC,CAAC;QAED,OAAO,OAAO,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAA;IACnD,CAAC,CAAA;IAED,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export { mock } from './connectors/mock';
|
|
|
33
33
|
export { sequence, type SequenceOptions } from './connectors/sequence';
|
|
34
34
|
export { twitch, type TwitchOptions } from './connectors/twitch';
|
|
35
35
|
export { walletConnect } from './connectors/walletConnect';
|
|
36
|
+
export { ecosystemWallet, type EcosystemWalletOptions } from './connectors/ecosystem';
|
|
36
37
|
export { sequenceWallet, sequenceWaasWallet, type BaseSequenceConnectorOptions, type BaseSequenceWaasConnectorOptions } from './connectors/wagmiConnectors';
|
|
37
38
|
export { useOpenConnectModal } from './hooks/useOpenConnectModal';
|
|
38
39
|
export { useTheme } from './hooks/useTheme';
|
|
@@ -47,6 +48,7 @@ export { useChain } from './hooks/useChain';
|
|
|
47
48
|
export { useWallets } from './hooks/useWallets';
|
|
48
49
|
export type { ConnectedWallet } from './hooks/useWallets';
|
|
49
50
|
export type { LinkedWallet } from '@0xsequence/api';
|
|
51
|
+
export { useDirectEcosystemConnect } from './hooks/useDirectEcosystemConnect';
|
|
50
52
|
export { NetworkBadge } from './components/NetworkBadge';
|
|
51
53
|
export { CollectibleTileImage } from './components/CollectibleTileImage';
|
|
52
54
|
export { CryptoOption } from './components/CryptoOption';
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAG9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAA;AAG5F,YAAY,EACV,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,aAAa,EACb,WAAW,EACZ,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACtC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAGjE,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,iCAAiC,EACjC,uBAAuB,EACvB,UAAU,EACV,eAAe,EAChB,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1H,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AACzF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAGlF,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AAChG,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAC7F,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAG7F,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACnF,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACrF,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,KAAK,4BAA4B,EACjC,KAAK,gCAAgC,EACtC,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAG7E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAGpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA"}
|
package/dist/esm/index.js
CHANGED
|
@@ -38,6 +38,7 @@ export { mock } from './connectors/mock';
|
|
|
38
38
|
export { sequence } from './connectors/sequence';
|
|
39
39
|
export { twitch } from './connectors/twitch';
|
|
40
40
|
export { walletConnect } from './connectors/walletConnect';
|
|
41
|
+
export { ecosystemWallet } from './connectors/ecosystem';
|
|
41
42
|
export { sequenceWallet, sequenceWaasWallet } from './connectors/wagmiConnectors';
|
|
42
43
|
// Hooks
|
|
43
44
|
export { useOpenConnectModal } from './hooks/useOpenConnectModal';
|
|
@@ -51,6 +52,7 @@ export { useProjectAccessKey } from './hooks/useProjectAccessKey';
|
|
|
51
52
|
export { useStorage, useStorageItem } from './hooks/useStorage';
|
|
52
53
|
export { useChain } from './hooks/useChain';
|
|
53
54
|
export { useWallets } from './hooks/useWallets';
|
|
55
|
+
export { useDirectEcosystemConnect } from './hooks/useDirectEcosystemConnect';
|
|
54
56
|
// Components
|
|
55
57
|
export { NetworkBadge } from './components/NetworkBadge';
|
|
56
58
|
export { CollectibleTileImage } from './components/CollectibleTileImage';
|