ghost-keychain/packages/extension/src/page.ts
Jaco Greeff cb4912286c
Bump dev (#535)
* Bump dev

* Bumps
2020-11-11 14:15:34 +01:00

45 lines
1.3 KiB
TypeScript

// Copyright 2019-2020 @polkadot/extension authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { Message } from '@polkadot/extension-base/types';
import { enable, handleResponse, redirectPhishing } from '@polkadot/extension-base/page';
import { injectExtension } from '@polkadot/extension-inject';
import { checkIfDenied } from '@polkadot/phishing';
// setup a response listener (events created by the loader for extension responses)
window.addEventListener('message', ({ data, source }: Message): void => {
// only allow messages from our window, by the loader
if (source !== window || data.origin !== 'content') {
return;
}
if (data.id) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
handleResponse(data as any);
} else {
console.error('Missing id for response.');
}
});
const currentUrl = window.location.host;
checkIfDenied(currentUrl)
.then((isOnDeny) => {
if (isOnDeny) {
console.log('Phishing detected, redirecting to phishing info landing page');
redirectPhishing().catch(console.error);
} else {
inject();
}
}).catch((e) => {
console.error(e);
});
function inject () {
injectExtension(enable, {
name: 'polkadot-js',
version: process.env.PKG_VERSION as string
});
}