@meshconnect/uwc-bridge-parent 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/BridgeParent.d.ts +11 -6
  2. package/dist/BridgeParent.d.ts.map +1 -1
  3. package/dist/BridgeParent.js +75 -12
  4. package/dist/BridgeParent.js.map +1 -1
  5. package/dist/BridgeParent.test.d.ts +2 -0
  6. package/dist/BridgeParent.test.d.ts.map +1 -0
  7. package/dist/BridgeParent.test.js +314 -0
  8. package/dist/BridgeParent.test.js.map +1 -0
  9. package/package.json +2 -2
  10. package/src/BridgeParent.test.ts +408 -0
  11. package/src/BridgeParent.ts +126 -19
  12. package/dist/bridge-parent.d.ts +0 -27
  13. package/dist/bridge-parent.d.ts.map +0 -1
  14. package/dist/bridge-parent.js +0 -148
  15. package/dist/bridge-parent.js.map +0 -1
  16. package/dist/comlink-bridge.d.ts +0 -26
  17. package/dist/comlink-bridge.d.ts.map +0 -1
  18. package/dist/comlink-bridge.js +0 -126
  19. package/dist/comlink-bridge.js.map +0 -1
  20. package/dist/postmate-bridge.d.ts +0 -37
  21. package/dist/postmate-bridge.d.ts.map +0 -1
  22. package/dist/postmate-bridge.js +0 -631
  23. package/dist/postmate-bridge.js.map +0 -1
  24. package/dist/standard-wallet-adapter.d.ts +0 -17
  25. package/dist/standard-wallet-adapter.d.ts.map +0 -1
  26. package/dist/standard-wallet-adapter.js +0 -53
  27. package/dist/standard-wallet-adapter.js.map +0 -1
  28. package/dist/types.d.ts +0 -30
  29. package/dist/types.d.ts.map +0 -1
  30. package/dist/types.js +0 -2
  31. package/dist/types.js.map +0 -1
  32. package/dist/wallet-bridge-parent.d.ts +0 -41
  33. package/dist/wallet-bridge-parent.d.ts.map +0 -1
  34. package/dist/wallet-bridge-parent.js +0 -224
  35. package/dist/wallet-bridge-parent.js.map +0 -1
  36. package/dist/wallet-bridge.d.ts +0 -38
  37. package/dist/wallet-bridge.d.ts.map +0 -1
  38. package/dist/wallet-bridge.js +0 -71
  39. package/dist/wallet-bridge.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"standard-wallet-adapter.d.ts","sourceRoot":"","sources":["../src/standard-wallet-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAGtB;IAED;;OAEG;IACH,gBAAgB,IAAI,GAAG;CAwCxB"}
@@ -1,53 +0,0 @@
1
- /**
2
- * Adapter for Wallet Standard wallets to provide Solana adapter interface
3
- */
4
- export class StandardWalletAdapter {
5
- wallet;
6
- constructor(wallet) {
7
- this.wallet = wallet;
8
- }
9
- /**
10
- * Check if this is a Solana wallet
11
- */
12
- get isSolana() {
13
- const chains = this.wallet.chains || [];
14
- return chains.some(chain => chain.startsWith('solana:'));
15
- }
16
- /**
17
- * Get Solana adapter if available
18
- */
19
- getSolanaAdapter() {
20
- if (!this.isSolana)
21
- return null;
22
- // Check for standard Solana features
23
- const features = this.wallet.features || {};
24
- // Create adapter-like interface from wallet features
25
- return {
26
- name: this.wallet.name,
27
- publicKey: null,
28
- connected: false,
29
- connecting: false,
30
- readyState: 'Installed',
31
- // Methods from wallet features
32
- connect: features['standard:connect'] ?
33
- features['standard:connect'].connect :
34
- async () => { console.warn('Connect not supported'); },
35
- disconnect: features['standard:disconnect'] ?
36
- features['standard:disconnect'].disconnect :
37
- async () => { console.warn('Disconnect not supported'); },
38
- signMessage: features['solana:signMessage'] ?
39
- features['solana:signMessage'].signMessage :
40
- undefined,
41
- signTransaction: features['solana:signTransaction'] ?
42
- features['solana:signTransaction'].signTransaction :
43
- undefined,
44
- signAllTransactions: features['solana:signAllTransactions'] ?
45
- features['solana:signAllTransactions'].signAllTransactions :
46
- undefined,
47
- sendTransaction: features['solana:sendTransaction'] ?
48
- features['solana:sendTransaction'].sendTransaction :
49
- undefined
50
- };
51
- }
52
- }
53
- //# sourceMappingURL=standard-wallet-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standard-wallet-adapter.js","sourceRoot":"","sources":["../src/standard-wallet-adapter.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACxB,MAAM,CAAQ;IAEtB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAE/B,qCAAqC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAA;QAE3C,qDAAqD;QACrD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,WAAW;YAEvB,+BAA+B;YAC/B,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACpC,QAAQ,CAAC,kBAAkB,CAAS,CAAC,OAAO,CAAC,CAAC;gBAC/C,KAAK,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA,CAAC,CAAC;YAEvD,UAAU,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC1C,QAAQ,CAAC,qBAAqB,CAAS,CAAC,UAAU,CAAC,CAAC;gBACrD,KAAK,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA,CAAC,CAAC;YAE1D,WAAW,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC1C,QAAQ,CAAC,oBAAoB,CAAS,CAAC,WAAW,CAAC,CAAC;gBACrD,SAAS;YAEX,eAAe,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAClD,QAAQ,CAAC,wBAAwB,CAAS,CAAC,eAAe,CAAC,CAAC;gBAC7D,SAAS;YAEX,mBAAmB,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBAC1D,QAAQ,CAAC,4BAA4B,CAAS,CAAC,mBAAmB,CAAC,CAAC;gBACrE,SAAS;YAEX,eAAe,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAClD,QAAQ,CAAC,wBAAwB,CAAS,CAAC,eAAe,CAAC,CAAC;gBAC7D,SAAS;SACZ,CAAA;IACH,CAAC;CACF"}
package/dist/types.d.ts DELETED
@@ -1,30 +0,0 @@
1
- export interface EIP6963ProviderInfo {
2
- uuid: string;
3
- name: string;
4
- icon: string;
5
- rdns: string;
6
- }
7
- export interface EIP6963ProviderDetail {
8
- info: EIP6963ProviderInfo;
9
- provider: unknown;
10
- }
11
- export interface EIP6963AnnounceProviderEvent extends CustomEvent {
12
- type: 'eip6963:announceProvider';
13
- detail: EIP6963ProviderDetail;
14
- }
15
- import type { Wallet } from '@wallet-standard/base';
16
- export type WalletStandardWallet = Wallet;
17
- export interface WalletStandardEventProperties {
18
- register: (wallet: WalletStandardWallet) => void;
19
- unregister: (wallet: WalletStandardWallet) => void;
20
- get(): WalletStandardWallet[];
21
- }
22
- export interface DetectedEip6963Wallet {
23
- info: EIP6963ProviderInfo;
24
- provider: unknown;
25
- }
26
- export interface DetectedWalletStandardWallet {
27
- wallet: WalletStandardWallet;
28
- adapter: any;
29
- }
30
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,4BAA6B,SAAQ,WAAW;IAC/D,IAAI,EAAE,0BAA0B,CAAA;IAChC,MAAM,EAAE,qBAAqB,CAAA;CAC9B;AAED,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAA;AAEzC,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAChD,UAAU,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAClD,GAAG,IAAI,oBAAoB,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,oBAAoB,CAAA;IAC5B,OAAO,EAAE,GAAG,CAAA;CACb"}
package/dist/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1,41 +0,0 @@
1
- interface EIP6963ProviderInfo {
2
- uuid: string;
3
- name: string;
4
- icon: string;
5
- rdns: string;
6
- }
7
- export interface EIP6963WalletProxy {
8
- uuid: string;
9
- info: EIP6963ProviderInfo;
10
- provider: Record<string, any>;
11
- }
12
- export interface WalletStandardProxy {
13
- name: string;
14
- icon: string;
15
- chains: string[];
16
- features: string[];
17
- wallet: Record<string, any>;
18
- adapter: Record<string, any>;
19
- }
20
- export interface BridgeAPI {
21
- getEIP6963Wallets(): Promise<EIP6963WalletProxy[]>;
22
- getWalletStandardWallets(): Promise<WalletStandardProxy[]>;
23
- refreshWallets(): Promise<void>;
24
- }
25
- /**
26
- * WalletBridgeParent - Manages wallet detection in parent window and exposes to iframe
27
- */
28
- export declare class WalletBridgeParent {
29
- private bridge;
30
- /**
31
- * Initialize bridge connection to iframe
32
- */
33
- initialize(iframe: HTMLIFrameElement): Promise<void>;
34
- private waitForIframe;
35
- /**
36
- * Refresh wallet detection
37
- */
38
- refreshWallets(): Promise<void>;
39
- }
40
- export {};
41
- //# sourceMappingURL=wallet-bridge-parent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet-bridge-parent.d.ts","sourceRoot":"","sources":["../src/wallet-bridge-parent.ts"],"names":[],"mappings":"AAMA,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAaD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,mBAAmB,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC7B;AAGD,MAAM,WAAW,SAAS;IACxB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAClD,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;IAC1D,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAoC;IAElD;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAc5C,aAAa;IAU3B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAKtC"}
@@ -1,224 +0,0 @@
1
- import * as Comlink from 'comlink';
2
- import { getWallets } from '@wallet-standard/app';
3
- import { StandardWalletAdapter } from './standard-wallet-adapter';
4
- /**
5
- * WalletBridgeParent - Manages wallet detection in parent window and exposes to iframe
6
- */
7
- export class WalletBridgeParent {
8
- bridge = null;
9
- /**
10
- * Initialize bridge connection to iframe
11
- */
12
- async initialize(iframe) {
13
- // Wait for iframe to be ready
14
- await this.waitForIframe(iframe);
15
- // Create bridge implementation
16
- this.bridge = new BridgeImplementation();
17
- await this.bridge.detectWallets();
18
- // Expose bridge to iframe via Comlink
19
- Comlink.expose(this.bridge, Comlink.windowEndpoint(iframe.contentWindow));
20
- console.log('[WalletBridgeParent] Bridge initialized and exposed to iframe');
21
- }
22
- async waitForIframe(iframe) {
23
- return new Promise(resolve => {
24
- if (iframe.contentWindow) {
25
- resolve();
26
- }
27
- else {
28
- iframe.addEventListener('load', () => resolve(), { once: true });
29
- }
30
- });
31
- }
32
- /**
33
- * Refresh wallet detection
34
- */
35
- async refreshWallets() {
36
- if (this.bridge) {
37
- await this.bridge.refreshWallets();
38
- }
39
- }
40
- }
41
- /**
42
- * Bridge implementation that gets exposed via Comlink
43
- */
44
- class BridgeImplementation {
45
- eip6963Wallets = [];
46
- walletStandardWallets = [];
47
- /**
48
- * Detect all wallets
49
- */
50
- async detectWallets() {
51
- console.log('[BridgeImplementation] Starting wallet detection...');
52
- await this.detectEIP6963Wallets();
53
- await this.detectWalletStandardWallets();
54
- console.log('[BridgeImplementation] Wallet detection complete:', {
55
- eip6963: this.eip6963Wallets.length,
56
- walletStandard: this.walletStandardWallets.length
57
- });
58
- }
59
- /**
60
- * Detect EIP-6963 wallets and create proxied versions
61
- */
62
- async detectEIP6963Wallets() {
63
- if (typeof window === 'undefined')
64
- return;
65
- return new Promise(resolve => {
66
- const detectedWallets = new Map();
67
- const handleAnnouncement = (event) => {
68
- const { info, provider } = event.detail;
69
- detectedWallets.set(info.uuid, { info, provider });
70
- console.log(`[BridgeImplementation] EIP-6963 wallet detected: ${info.name}`);
71
- };
72
- window.addEventListener('eip6963:announceProvider', handleAnnouncement);
73
- window.dispatchEvent(new Event('eip6963:requestProvider'));
74
- // Stop listening after 2 seconds and process wallets
75
- setTimeout(() => {
76
- window.removeEventListener('eip6963:announceProvider', handleAnnouncement);
77
- console.log(`[BridgeImplementation] Processing ${detectedWallets.size} detected EIP-6963 wallets`);
78
- // Create proxied wallets
79
- this.eip6963Wallets = [];
80
- detectedWallets.forEach((wallet, uuid) => {
81
- const provider = wallet.provider;
82
- // Create a provider object with wrapped methods
83
- const proxiedProvider = {
84
- // Wrap the request method
85
- request: provider.request ?
86
- Comlink.proxy(async (args) => provider.request(args)) :
87
- undefined,
88
- // Wrap event methods
89
- on: provider.on ?
90
- Comlink.proxy((event, handler) => provider.on(event, handler)) :
91
- undefined,
92
- removeListener: provider.removeListener ?
93
- Comlink.proxy((event, handler) => provider.removeListener(event, handler)) :
94
- undefined,
95
- // Include properties
96
- isMetaMask: provider.isMetaMask,
97
- isPhantom: provider.isPhantom,
98
- isCoinbaseWallet: provider.isCoinbaseWallet,
99
- isTrust: provider.isTrust
100
- };
101
- this.eip6963Wallets.push({
102
- uuid,
103
- info: wallet.info,
104
- provider: proxiedProvider
105
- });
106
- });
107
- console.log(`[BridgeImplementation] Processed ${this.eip6963Wallets.length} EIP-6963 wallets`);
108
- resolve();
109
- }, 2000);
110
- });
111
- }
112
- /**
113
- * Detect Wallet Standard wallets and create proxied versions
114
- */
115
- async detectWalletStandardWallets() {
116
- if (typeof window === 'undefined')
117
- return;
118
- try {
119
- const { get } = getWallets();
120
- const wallets = get();
121
- this.walletStandardWallets = [];
122
- for (const wallet of wallets) {
123
- // Check if it's a Solana wallet
124
- if (!this.isSolanaWallet(wallet))
125
- continue;
126
- // Create adapter
127
- const adapter = new StandardWalletAdapter(wallet);
128
- if (!adapter.isSolana)
129
- continue;
130
- const solanaAdapter = adapter.getSolanaAdapter();
131
- if (!solanaAdapter)
132
- continue;
133
- // Create Comlink proxies for wallet methods
134
- const proxiedWallet = {
135
- name: wallet.name,
136
- icon: wallet.icon,
137
- chains: wallet.chains,
138
- features: Object.keys(wallet.features)
139
- };
140
- // Proxy wallet features if they have methods
141
- for (const [featureName, feature] of Object.entries(wallet.features)) {
142
- if (typeof feature === 'object' && feature !== null) {
143
- const proxiedFeature = {};
144
- for (const [key, value] of Object.entries(feature)) {
145
- if (typeof value === 'function') {
146
- proxiedFeature[key] = Comlink.proxy(value.bind(feature));
147
- }
148
- else {
149
- proxiedFeature[key] = value;
150
- }
151
- }
152
- proxiedWallet[featureName] = proxiedFeature;
153
- }
154
- }
155
- // Create Comlink proxies for adapter methods
156
- const proxiedAdapter = {
157
- name: solanaAdapter.name,
158
- publicKey: solanaAdapter.publicKey,
159
- connected: solanaAdapter.connected,
160
- connecting: solanaAdapter.connecting,
161
- readyState: solanaAdapter.readyState
162
- };
163
- // Proxy adapter methods
164
- if (solanaAdapter['connect']) {
165
- proxiedAdapter['connect'] = Comlink.proxy(solanaAdapter['connect'].bind(solanaAdapter));
166
- }
167
- if (solanaAdapter['disconnect']) {
168
- proxiedAdapter['disconnect'] = Comlink.proxy(solanaAdapter['disconnect'].bind(solanaAdapter));
169
- }
170
- if (solanaAdapter['signMessage']) {
171
- proxiedAdapter['signMessage'] = Comlink.proxy(solanaAdapter['signMessage'].bind(solanaAdapter));
172
- }
173
- if (solanaAdapter['signTransaction']) {
174
- proxiedAdapter['signTransaction'] = Comlink.proxy(solanaAdapter['signTransaction'].bind(solanaAdapter));
175
- }
176
- if (solanaAdapter['signAllTransactions']) {
177
- proxiedAdapter['signAllTransactions'] = Comlink.proxy(solanaAdapter['signAllTransactions'].bind(solanaAdapter));
178
- }
179
- if (solanaAdapter['sendTransaction']) {
180
- proxiedAdapter['sendTransaction'] = Comlink.proxy(solanaAdapter['sendTransaction'].bind(solanaAdapter));
181
- }
182
- this.walletStandardWallets.push({
183
- name: wallet.name,
184
- icon: wallet.icon || '',
185
- chains: wallet.chains,
186
- features: Object.keys(wallet.features),
187
- wallet: proxiedWallet,
188
- adapter: proxiedAdapter
189
- });
190
- console.log(`[BridgeImplementation] Wallet Standard wallet processed: ${wallet.name}`);
191
- }
192
- console.log(`[BridgeImplementation] Processed ${this.walletStandardWallets.length} Wallet Standard wallets`);
193
- }
194
- catch (error) {
195
- console.error('[BridgeImplementation] Error detecting Wallet Standard wallets:', error);
196
- }
197
- }
198
- isSolanaWallet(wallet) {
199
- const chains = wallet.chains || [];
200
- return chains.some(chain => chain.startsWith('solana:'));
201
- }
202
- /**
203
- * Get all EIP-6963 wallets with Comlink proxied methods
204
- */
205
- async getEIP6963Wallets() {
206
- console.log(`[BridgeImplementation] Returning ${this.eip6963Wallets.length} EIP-6963 wallets`);
207
- return this.eip6963Wallets;
208
- }
209
- /**
210
- * Get all Wallet Standard wallets with Comlink proxied methods
211
- */
212
- async getWalletStandardWallets() {
213
- console.log(`[BridgeImplementation] Returning ${this.walletStandardWallets.length} Wallet Standard wallets`);
214
- return this.walletStandardWallets;
215
- }
216
- /**
217
- * Refresh wallet detection
218
- */
219
- async refreshWallets() {
220
- console.log('[BridgeImplementation] Refreshing wallet detection...');
221
- await this.detectWallets();
222
- }
223
- }
224
- //# sourceMappingURL=wallet-bridge-parent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet-bridge-parent.js","sourceRoot":"","sources":["../src/wallet-bridge-parent.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- import { BridgeParent } from './bridge-parent';
2
- import { PostmateBridge } from './postmate-bridge';
3
- /**
4
- * Unified class that automatically handles wallet detection and iframe communication
5
- * Simply initialize with an iframe element and everything is set up automatically
6
- */
7
- export declare class WalletBridge {
8
- private bridgeParent;
9
- private postmateBridge;
10
- private iframe;
11
- constructor();
12
- /**
13
- * Initialize the bridge with an iframe element
14
- * This will automatically set up communication with the child frame
15
- */
16
- connectToIframe(iframe: HTMLIFrameElement): Promise<void>;
17
- /**
18
- * Refresh wallet detection
19
- */
20
- refreshWallets(): void;
21
- /**
22
- * Get the bridge parent instance (for advanced usage)
23
- */
24
- getBridgeParent(): BridgeParent;
25
- /**
26
- * Get the postmate bridge instance (for advanced usage)
27
- */
28
- getPostmateBridge(): PostmateBridge;
29
- /**
30
- * Disconnect from the iframe and clean up
31
- */
32
- disconnect(): void;
33
- /**
34
- * Destroy the bridge and clean up all resources
35
- */
36
- destroy(): void;
37
- }
38
- //# sourceMappingURL=wallet-bridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet-bridge.d.ts","sourceRoot":"","sources":["../src/wallet-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,MAAM,CAAiC;;IAY/C;;;OAGG;IACU,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAatE;;OAEG;IACI,cAAc,IAAI,IAAI;IAK7B;;OAEG;IACI,eAAe,IAAI,YAAY;IAItC;;OAEG;IACI,iBAAiB,IAAI,cAAc;IAI1C;;OAEG;IACI,UAAU,IAAI,IAAI;IAQzB;;OAEG;IACI,OAAO,IAAI,IAAI;CAKvB"}
@@ -1,71 +0,0 @@
1
- import { BridgeParent } from './bridge-parent';
2
- import { PostmateBridge } from './postmate-bridge';
3
- /**
4
- * Unified class that automatically handles wallet detection and iframe communication
5
- * Simply initialize with an iframe element and everything is set up automatically
6
- */
7
- export class WalletBridge {
8
- bridgeParent;
9
- postmateBridge;
10
- iframe = null;
11
- constructor() {
12
- // Initialize wallet detection
13
- this.bridgeParent = new BridgeParent();
14
- console.log('WalletBridge: Wallet detection initialized');
15
- // Initialize postmate bridge
16
- this.postmateBridge = new PostmateBridge(this.bridgeParent);
17
- console.log('WalletBridge: Bridge initialized');
18
- }
19
- /**
20
- * Initialize the bridge with an iframe element
21
- * This will automatically set up communication with the child frame
22
- */
23
- async connectToIframe(iframe) {
24
- if (this.iframe) {
25
- console.warn('WalletBridge: Already connected to an iframe, disconnecting first');
26
- this.disconnect();
27
- }
28
- this.iframe = iframe;
29
- // Initialize the postmate bridge with the iframe
30
- await this.postmateBridge.initializeWithIframe(iframe);
31
- console.log('WalletBridge: Connected to iframe and ready for communication');
32
- }
33
- /**
34
- * Refresh wallet detection
35
- */
36
- refreshWallets() {
37
- this.bridgeParent.refreshDetection();
38
- console.log('WalletBridge: Wallet detection refreshed');
39
- }
40
- /**
41
- * Get the bridge parent instance (for advanced usage)
42
- */
43
- getBridgeParent() {
44
- return this.bridgeParent;
45
- }
46
- /**
47
- * Get the postmate bridge instance (for advanced usage)
48
- */
49
- getPostmateBridge() {
50
- return this.postmateBridge;
51
- }
52
- /**
53
- * Disconnect from the iframe and clean up
54
- */
55
- disconnect() {
56
- if (this.postmateBridge) {
57
- this.postmateBridge.destroy();
58
- }
59
- this.iframe = null;
60
- console.log('WalletBridge: Disconnected from iframe');
61
- }
62
- /**
63
- * Destroy the bridge and clean up all resources
64
- */
65
- destroy() {
66
- this.disconnect();
67
- // Additional cleanup if needed
68
- console.log('WalletBridge: Destroyed');
69
- }
70
- }
71
- //# sourceMappingURL=wallet-bridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet-bridge.js","sourceRoot":"","sources":["../src/wallet-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD;;;GAGG;AACH,MAAM,OAAO,YAAY;IACf,YAAY,CAAc;IAC1B,cAAc,CAAgB;IAC9B,MAAM,GAA6B,IAAI,CAAA;IAE/C;QACE,8BAA8B;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;QACtC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;QAEzD,6BAA6B;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC3D,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;IACjD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,eAAe,CAAC,MAAyB;QACpD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;YACjF,IAAI,CAAC,UAAU,EAAE,CAAA;QACnB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,iDAAiD;QACjD,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAA;IAC9E,CAAC;IAED;;OAEG;IACI,cAAc;QACnB,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAA;QACpC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;IACzD,CAAC;IAED;;OAEG;IACI,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED;;OAEG;IACI,iBAAiB;QACtB,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED;;OAEG;IACI,UAAU;QACf,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAA;QAC/B,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;IACvD,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,IAAI,CAAC,UAAU,EAAE,CAAA;QACjB,+BAA+B;QAC/B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;IACxC,CAAC;CACF"}