Created
October 29, 2018 20:40
-
-
Save ismyhc/f27ea5799fd366285e8b7e598e797289 to your computer and use it in GitHub Desktop.
lynx-scatter-wrapper.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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