3Frame [aka iframe-provider-polyfill]
This is a drop in script that overrides web3 to point at the parent window when the page is embedded in an iframe. This makes the dapp instantly compatible with Abridged Web Wallet and EthVault if it works with MetaMask.
Browsers only
This polyfill is meant for browser contexts only. The import is no-op in node contexts.
Usage
Install the dependency
npm i @jadbox/iframe-provider-polyfill
or with yarn:
yarn add @jadbox/iframe-provider-polyfill
Then import it into your index.js
import '@jadbox/iframe-provider-polyfill';
Or use a CDN like unpkg. Use subresource integrity, to prevent security vulnerabilities.
(v0.1.5)
<script src="https://unpkg.com/@jadbox/iframe-provider-polyfill@0.1.5/dist/index.js" integrity="sha384-qx1eG3ocmrXxXBwEL+qnP7je980Depwy/J7keRHVnqfEFVXHJ0ruzYIsUX767NEH" crossorigin="anonymous"></script>