Skip to content

Instantly share code, notes, and snippets.

@ismyhc
Created October 29, 2018 20:40
Show Gist options
  • Save ismyhc/f27ea5799fd366285e8b7e598e797289 to your computer and use it in GitHub Desktop.
Save ismyhc/f27ea5799fd366285e8b7e598e797289 to your computer and use it in GitHub Desktop.
lynx-scatter-wrapper.js
class LynxScatterWrapper {
getIdentity(requiredFields) {
//.. open your authentication popup, return:
return new Promise((resolve, reject) => {
this.identity = { accounts: [{ blockchain: 'eos', name: 'jakejakejake', authority: 'active' }] };
resolve(this.identity);
});
}
getIdentityFromPermissions() {
// if linked, return the same as above, otherwise return null. No popup.
return new Promise((resolve) => {
this.identity = { accounts: [{ blockchain: 'eos', name: 'jakejakejake', authority: 'active' }] };
resolve(this.identity);
});
}
forgetIdentity() {
//.. nuke permissions for linking that app, or however you guys do it
return new Promise((resolve) => {
resolve(true);
})
}
// Since you guys only support mainnet right now(?)
suggestNetwork() {
return new Promise((resolve) => {
resolve(false);
})
}
// Since you don't have whitelisting, this is moot.
authenticate() {
return new Promise((resolve) => {
resolve(true);
})
}
// Not sure how you'd deal with this. It just signs anything, not through eosjs.
getArbitrarySignature() {
return new Promise((resolve) => {
resolve(true);
})
}
eos(network, Eos) {
return new Proxy(Eos, {}); // just trying to do a passive forwardin proxy for now. :(
}
}
let wrapper = new LynxScatterWrapper();
if (typeof window !== 'undefined') {
if (typeof document !== 'undefined') {
if (window.scatter) {
window.scatter.getIdentity = wrapper.getIdentity;
window.scatter.getIdentityFromPermissions = wrapper.getIdentityFromPermissions;
window.scatter.forgetIdentity = wrapper.forgetIdentity;
window.scatter.suggestNetwork = wrapper.suggestNetwork;
window.scatter.authenticate = wrapper.authenticate;
window.scatter.isExtension = false;
window.scatter.eos = wrapper.eos;
window.scatter.connect = () => new Promise(resolve => resolve(true));
}
}
window.ScatterJS = window.scatter;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment