@etherplay/wallet-connector-ethereum 0.0.3 → 0.0.4
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/index.d.ts.map +1 -1
- package/dist/index.js +40 -16
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +45 -18
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EACf,SAAS,EACT,cAAc,EACd,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAiB,2BAA2B,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;AAGnF,OAAO,EAAuB,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAWnC,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AACD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,QAEhC;AAGD,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM;;;EAUpC;AAED,wBAAgB,WAAW,CAAC,qBAAqB,EAAE,MAAM,GAAG,MAAM,CAUjE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAK9D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAG/D;AAGD,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;AAE7D,UAAU,mBAAmB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,UAAU,qBAAqB;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,2BAA2B,CAAC;CACtC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -56,28 +56,52 @@ export function fromPrivateKey(key) {
|
|
|
56
56
|
key = strip0x(key);
|
|
57
57
|
return fromPublicKey(secp256k1.getPublicKey(key, false));
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
function createWalletFetcher() {
|
|
60
|
+
const walletHandles = [];
|
|
61
|
+
const walletAnnouncementFunctions = [];
|
|
62
|
+
let requesting = false;
|
|
63
|
+
function onWalletAnnounced(event) {
|
|
64
|
+
const { detail } = event;
|
|
65
|
+
// const { info, provider } = detail;
|
|
66
|
+
// const { uuid, name, icon, rdns } = info;
|
|
67
|
+
// console.log('provider', provider);
|
|
68
|
+
// console.log(`isDefault: ${provider === defaultProvider}`);
|
|
69
|
+
// console.log('info', info);
|
|
70
|
+
const walletHandle = {
|
|
71
|
+
walletProvider: new EthereumWalletProvider(detail.provider),
|
|
72
|
+
info: detail.info,
|
|
73
|
+
};
|
|
74
|
+
walletHandles.push(walletHandle);
|
|
75
|
+
for (const walletAnnounced of walletAnnouncementFunctions) {
|
|
76
|
+
walletAnnounced(walletHandle);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function fetchWallets(walletAnnounced) {
|
|
80
|
+
walletAnnouncementFunctions.push(walletAnnounced);
|
|
81
|
+
if (requesting) {
|
|
82
|
+
for (const walletHandle of walletHandles) {
|
|
83
|
+
walletAnnounced(walletHandle);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else if (typeof window !== 'undefined') {
|
|
87
|
+
requesting = true;
|
|
63
88
|
// const defaultProvider = (window as any).ethereum;
|
|
64
89
|
// console.log(defaultProvider);
|
|
65
90
|
// TODO ?
|
|
66
|
-
window.addEventListener('eip6963:announceProvider',
|
|
67
|
-
const { detail } = event;
|
|
68
|
-
// const { info, provider } = detail;
|
|
69
|
-
// const { uuid, name, icon, rdns } = info;
|
|
70
|
-
// console.log('provider', provider);
|
|
71
|
-
// console.log(`isDefault: ${provider === defaultProvider}`);
|
|
72
|
-
// console.log('info', info);
|
|
73
|
-
walletAnnounced({
|
|
74
|
-
walletProvider: new EthereumWalletProvider(detail.provider),
|
|
75
|
-
info: detail.info,
|
|
76
|
-
});
|
|
77
|
-
});
|
|
91
|
+
window.addEventListener('eip6963:announceProvider', onWalletAnnounced);
|
|
78
92
|
window.dispatchEvent(new Event('eip6963:requestProvider'));
|
|
79
93
|
}
|
|
80
94
|
}
|
|
95
|
+
return {
|
|
96
|
+
fetchWallets,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
const walletFetcher = createWalletFetcher();
|
|
100
|
+
export class EthereumWalletConnector {
|
|
101
|
+
accountGenerator = new EthereumAccountGenerator();
|
|
102
|
+
fetchWallets(walletAnnounced) {
|
|
103
|
+
walletFetcher.fetchWallets(walletAnnounced);
|
|
104
|
+
}
|
|
81
105
|
createAlwaysOnProvider(params) {
|
|
82
106
|
return createProvider(params);
|
|
83
107
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -85,6 +85,50 @@ interface EIP6963ProviderDetail {
|
|
|
85
85
|
provider: EIP1193WindowWalletProvider;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
+
type WalletAnnouncementFunction = (walletInfo: WalletHandle<CurriedRPC<Methods>>) => void;
|
|
89
|
+
function createWalletFetcher() {
|
|
90
|
+
const walletHandles: WalletHandle<CurriedRPC<Methods>>[] = [];
|
|
91
|
+
const walletAnnouncementFunctions: WalletAnnouncementFunction[] = [];
|
|
92
|
+
let requesting = false;
|
|
93
|
+
|
|
94
|
+
function onWalletAnnounced(event: EIP6963AnnounceProviderEvent) {
|
|
95
|
+
const {detail} = event;
|
|
96
|
+
// const { info, provider } = detail;
|
|
97
|
+
// const { uuid, name, icon, rdns } = info;
|
|
98
|
+
// console.log('provider', provider);
|
|
99
|
+
// console.log(`isDefault: ${provider === defaultProvider}`);
|
|
100
|
+
// console.log('info', info);
|
|
101
|
+
const walletHandle = {
|
|
102
|
+
walletProvider: new EthereumWalletProvider(detail.provider),
|
|
103
|
+
info: detail.info,
|
|
104
|
+
};
|
|
105
|
+
walletHandles.push(walletHandle);
|
|
106
|
+
for (const walletAnnounced of walletAnnouncementFunctions) {
|
|
107
|
+
walletAnnounced(walletHandle);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function fetchWallets(walletAnnounced: WalletAnnouncementFunction) {
|
|
111
|
+
walletAnnouncementFunctions.push(walletAnnounced);
|
|
112
|
+
if (requesting) {
|
|
113
|
+
for (const walletHandle of walletHandles) {
|
|
114
|
+
walletAnnounced(walletHandle);
|
|
115
|
+
}
|
|
116
|
+
} else if (typeof window !== 'undefined') {
|
|
117
|
+
requesting = true;
|
|
118
|
+
// const defaultProvider = (window as any).ethereum;
|
|
119
|
+
// console.log(defaultProvider);
|
|
120
|
+
// TODO ?
|
|
121
|
+
(window as any).addEventListener('eip6963:announceProvider', onWalletAnnounced);
|
|
122
|
+
window.dispatchEvent(new Event('eip6963:requestProvider'));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
fetchWallets,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const walletFetcher = createWalletFetcher();
|
|
131
|
+
|
|
88
132
|
export interface EIP6963AnnounceProviderEvent extends CustomEvent {
|
|
89
133
|
type: 'eip6963:announceProvider';
|
|
90
134
|
detail: EIP6963ProviderDetail;
|
|
@@ -93,24 +137,7 @@ export interface EIP6963AnnounceProviderEvent extends CustomEvent {
|
|
|
93
137
|
export class EthereumWalletConnector implements WalletConnector<CurriedRPC<Methods>> {
|
|
94
138
|
accountGenerator: AccountGenerator = new EthereumAccountGenerator();
|
|
95
139
|
fetchWallets(walletAnnounced: (walletInfo: WalletHandle<CurriedRPC<Methods>>) => void): void {
|
|
96
|
-
|
|
97
|
-
// const defaultProvider = (window as any).ethereum;
|
|
98
|
-
// console.log(defaultProvider);
|
|
99
|
-
// TODO ?
|
|
100
|
-
(window as any).addEventListener('eip6963:announceProvider', (event: EIP6963AnnounceProviderEvent) => {
|
|
101
|
-
const {detail} = event;
|
|
102
|
-
// const { info, provider } = detail;
|
|
103
|
-
// const { uuid, name, icon, rdns } = info;
|
|
104
|
-
// console.log('provider', provider);
|
|
105
|
-
// console.log(`isDefault: ${provider === defaultProvider}`);
|
|
106
|
-
// console.log('info', info);
|
|
107
|
-
walletAnnounced({
|
|
108
|
-
walletProvider: new EthereumWalletProvider(detail.provider),
|
|
109
|
-
info: detail.info,
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
window.dispatchEvent(new Event('eip6963:requestProvider'));
|
|
113
|
-
}
|
|
140
|
+
walletFetcher.fetchWallets(walletAnnounced);
|
|
114
141
|
}
|
|
115
142
|
|
|
116
143
|
createAlwaysOnProvider(params: {
|