Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | 1x 1x 1x | /* @flow */ import queryString from 'query-string' // TODO: Putting in here so it executes ASAP. There is probably a better place to put this. // Note: This prototype is designed to work as a drop-in-replacement (non-breaking upgrade) // for apps using blockstack.js. That requires doing this hacky global & immediate detection. // A more proper approach would require developers to call an additional blockstack.js method // for invoking this detection method. (function protocolEchoReplyDetection() { // Check that the `window` APIs exist Eif (typeof window !== 'object' || !window.location || !window.localStorage) { // Exit detection function - we are not running in a browser environment. return } // Check if the location query string contains a protocol-echo reply. // If so, this page was only re-opened to signal back the originating // tab that the protocol handler is installed. const queryDict = queryString.parse(window.location.search) if (queryDict.echoReply) { // Use localStorage to notify originated tab that protocol handler is available and working. const echoReplyKey = `echo-reply-${queryDict.echoReply}` // Set the echo-reply result in localStorage for the other window to see. window.localStorage.setItem(echoReplyKey, 'success') // Redirect back to the localhost auth url, as opposed to another protocol launch. // This will re-use the same tab rather than creating another useless one. window.setTimeout(() => { window.location = decodeURIComponent(queryDict.authContinuation) }, 10) } }()) export * from './auth' export * from './profiles' export * from './storage' export { makeDIDFromAddress, makeDIDFromPublicKey, getDIDType, getAddressFromDID } from './dids' export { getEntropy, makeECPrivateKey, publicKeyToAddress, getPublicKeyFromPrivate } from './keys' export { nextYear, nextMonth, nextHour, makeUUID4, updateQueryStringParameter, isLaterVersion, isSameOriginAbsoluteUrl, hexStringToECPair, ecPairToHexString, ecPairToAddress } from './utils' export { transactions, safety, TransactionSigner, PubkeyHashSigner, addUTXOsToFund, estimateTXBytes } from './operations' export { BlockstackWallet, IdentityKeyPair } from './wallet' export { network } from './network' export { decodeToken } from 'jsontokens' export { config } from './config' export { encryptMnemonic, decryptMnemonic } from './encryption' export { UserSession } from './auth/userSession' |