Complete Pezkuwi rebrand for Play Store release

User-visible changes:
- All strings.xml: Nova → Pezkuwi (12 languages, 721 references)
- App name: Pezkuwi Wallet
- Deep links: pezkuwiwallet://
- WalletConnect: Pezkuwi Wallet metadata
- Backup files: pezkuwiwallet_backup.json
- Push notifications: Pezkuwi Wallet branding

Technical changes:
- Gradle namespaces: io.pezkuwichain.wallet.*
- JS interface prefix: Pezkuwi_*
- User-Agent: Pezkuwi Wallet (Android)
- Firebase: pezkuwi-wallet project config

Assets:
- Nevroz fire logo (Kurdish colors theme)
- 6 density PNG files

Documentation:
- PACKAGE_STRUCTURE_REBRAND.md for future refactoring
This commit is contained in:
Kurdistan Tech Ministry committed 2026-01-23 02:15:34 +03:00
1 parent 31c8c5995f
commit bc76590b34
100 files changed
+781 -426

No files matched your search

@@ -29,7 +29,7 @@ class MetamaskInjector(
}
override fun injectForPage(into: WebView, extensionStore: ExtensionsStore) {
webViewScriptInjector.injectScript(R.raw.metamask_min, into, scriptId = "novawallet-metamask-bundle")
webViewScriptInjector.injectScript(R.raw.metamask_min, into, scriptId = "pezkuwi-metamask-bundle")
injectProvider(extensionStore, into)
}
@@ -42,13 +42,13 @@ class MetamaskInjector(
val providerConfigJson = gson.toJson(providerConfig)
val content = """
window.ethereum = new novawallet.Provider($providerConfigJson);
window.web3 = new novawallet.Web3(window.ethereum);
novawallet.postMessage = (jsonString) => {
Nova_Metamask.onNewMessage(JSON.stringify(jsonString))
window.ethereum = new pezkuwi.Provider($providerConfigJson);
window.web3 = new pezkuwi.Web3(window.ethereum);
pezkuwi.postMessage = (jsonString) => {
Pezkuwi_Metamask.onNewMessage(JSON.stringify(jsonString))
};
""".trimIndent()
webViewScriptInjector.injectScript(content, into, scriptId = "novawallet-metamask-provider")
webViewScriptInjector.injectScript(content, into, scriptId = "pezkuwi-metamask-provider")
}
}
@@ -20,7 +20,7 @@ class PolkadotJsInjector(
}
override fun injectForPage(into: WebView, extensionStore: ExtensionsStore) {
webViewScriptInjector.injectScript(R.raw.polkadotjs_min, into, scriptId = "novawallet-polkadotjs-bundle")
webViewScriptInjector.injectScript(R.raw.javascript_interface_bridge, into, scriptId = "novawallet-polkadotjs-provider")
webViewScriptInjector.injectScript(R.raw.polkadotjs_min, into, scriptId = "pezkuwi-polkadotjs-bundle")
webViewScriptInjector.injectScript(R.raw.javascript_interface_bridge, into, scriptId = "pezkuwi-polkadotjs-provider")
}
}
@@ -4,7 +4,7 @@ import android.webkit.WebView
import androidx.annotation.RawRes
import io.novafoundation.nova.common.resources.ResourceManager
private const val JAVASCRIPT_INTERFACE_PREFIX = "Nova"
private const val JAVASCRIPT_INTERFACE_PREFIX = "Pezkuwi"
class WebViewScriptInjector(
private val resourceManager: ResourceManager
@@ -865,5 +865,5 @@ var e=require("buffer").Buffer;!function(e,n){"use strict";"undefined"!=typeof m
var Buffer = require("buffer").Buffer;
var e=require("buffer").Buffer,t=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&t(n,e,o);return r(n,e),n};Object.defineProperty(exports,"__esModule",{value:!0}),exports.recoverTypedSignature_v4=exports.recoverTypedSignature=exports.signTypedData_v4=exports.signTypedData=exports.recoverTypedMessage=exports.signTypedMessage=exports.getEncryptionPublicKey=exports.decryptSafely=exports.decrypt=exports.encryptSafely=exports.encrypt=exports.recoverTypedSignatureLegacy=exports.signTypedDataLegacy=exports.typedSignatureHash=exports.extractPublicKey=exports.recoverPersonalSignature=exports.personalSign=exports.normalize=exports.concatSig=exports.TypedDataUtils=exports.TYPED_MESSAGE_SCHEMA=void 0;const o=n(require("ethereumjs-util")),s=n(require("ethereumjs-abi")),i=n(require("tweetnacl")),a=n(require("tweetnacl-util")),c={type:"object",properties:{types:{type:"object",additionalProperties:{type:"array",items:{type:"object",properties:{name:{type:"string"},type:{type:"string"}},required:["name","type"]}}},primaryType:{type:"string"},domain:{type:"object"},message:{type:"object"}},required:["types","primaryType","domain","message"]};exports.TYPED_MESSAGE_SCHEMA=c;const p={encodeData(t,r,n,i=!0){const a=["bytes32"],c=[this.hashType(t,n)];if(i){const p=(t,r,a)=>{if(void 0!==n[r])return["bytes32",null==a?"0x0000000000000000000000000000000000000000000000000000000000000000":o.keccak(this.encodeData(r,a,n,i))];if(void 0===a)throw new Error(`missing value for field ${t} of type ${r}`);if("bytes"===r)return["bytes32",o.keccak(a)];if("string"===r)return"string"==typeof a&&(a=e.from(a,"utf8")),["bytes32",o.keccak(a)];if(r.lastIndexOf("]")===r.length-1){const e=r.slice(0,r.lastIndexOf("[")),n=a.map(r=>p(t,e,r));return["bytes32",o.keccak(s.rawEncode(n.map(([e])=>e),n.map(([,e])=>e)))]}return[r,a]};for(const e of n[t]){const[t,n]=p(e.name,e.type,r[e.name]);a.push(t),c.push(n)}}else for(const s of n[t]){let t=r[s.name];if(void 0!==t)if("bytes"===s.type)a.push("bytes32"),t=o.keccak(t),c.push(t);else if("string"===s.type)a.push("bytes32"),"string"==typeof t&&(t=e.from(t,"utf8")),t=o.keccak(t),c.push(t);else if(void 0!==n[s.type])a.push("bytes32"),t=o.keccak(this.encodeData(s.type,t,n,i)),c.push(t);else{if(s.type.lastIndexOf("]")===s.type.length-1)throw new Error("Arrays are unimplemented in encodeData; use V4 extension");a.push(s.type),c.push(t)}}return s.rawEncode(a,c)},encodeType(e,t){let r="",n=this.findTypeDependencies(e,t).filter(t=>t!==e);n=[e].concat(n.sort());for(const o of n){if(!t[o])throw new Error(`No type definition specified: ${o}`);r+=`${o}(${t[o].map(({name:e,type:t})=>`${t} ${e}`).join(",")})`}return r},findTypeDependencies(e,t,r=[]){if([e]=e.match(/^\w*/u),r.includes(e)||void 0===t[e])return r;r.push(e);for(const n of t[e])for(const e of this.findTypeDependencies(n.type,t,r))!r.includes(e)&&r.push(e);return r},hashStruct(e,t,r,n=!0){return o.keccak(this.encodeData(e,t,r,n))},hashType(e,t){return o.keccak(this.encodeType(e,t))},sanitizeData(e){const t={};for(const r in c.properties)e[r]&&(t[r]=e[r]);return"types"in t&&(t.types=Object.assign({EIP712Domain:[]},t.types)),t},sign(t,r=!0){const n=this.sanitizeData(t),s=[e.from("1901","hex")];return s.push(this.hashStruct("EIP712Domain",n.domain,n.types,r)),"EIP712Domain"!==n.primaryType&&s.push(this.hashStruct(n.primaryType,n.message,n.types,r)),o.keccak(e.concat(s))}};function u(e,t,r){const n=o.fromSigned(t),s=o.fromSigned(r),i=o.bufferToInt(e),a=O(o.toUnsigned(n).toString("hex"),64),c=O(o.toUnsigned(s).toString("hex"),64),p=o.stripHexPrefix(o.intToHex(i));return o.addHexPrefix(a.concat(c,p)).toString("hex")}function f(e){if(e){if("number"==typeof e){const t=o.toBuffer(e);e=o.bufferToHex(t)}if("string"!=typeof e){let t="eth-sig-util.normalize() requires hex string or integer input.";throw new Error(t+=` received ${typeof e}: ${e}`)}return o.addHexPrefix(e.toLowerCase())}}function y(e,t){const r=o.toBuffer(t.data),n=o.hashPersonalMessage(r),s=o.ecsign(n,e);return o.bufferToHex(u(s.v,s.r,s.s))}function d(e){const t=j(e),r=o.publicToAddress(t);return o.bufferToHex(r)}function l(e){return`0x${j(e).toString("hex")}`}function g(e){const t=B(e);return o.bufferToHex(t)}function h(e,t){const r=B(t.data),n=o.ecsign(r,e);return o.bufferToHex(u(n.v,n.r,n.s))}function x(e){const t=_(B(e.data),e.sig),r=o.publicToAddress(t);return o.bufferToHex(r)}function b(e,t,r){switch(r){case"x25519-xsalsa20-poly1305":{if("string"!=typeof t.data)throw new Error('Cannot detect secret message, message params should be of the form {data: "secret Line truncated
},{"ethereumjs-util":"qR15","ethereumjs-abi":"DsS3","tweetnacl":"lUvA","tweetnacl-util":"lHLA","buffer":"z1tx"}],"Focm":[function(require,module,exports) {
"use strict";var e=c(require("web3")),t=c(require("./rpc")),n=c(require("./error")),s=c(require("./utils")),r=c(require("./id_mapping")),a=require("events"),o=c(require("isutf8")),i=require("eth-sig-util");function c(e){return e&&e.__esModule?e:{default:e}}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var n=0;n<t.length;n++){var s=t[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function h(e,t,n){return t&&d(e.prototype,t),n&&d(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function f(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e){var t=v();return function(){var n,s=b(e);if(t){var r=b(this).constructor;n=Reflect.construct(s,arguments,r)}else n=s.apply(this,arguments);return g(this,n)}}function g(e,t){if(t&&("object"===u(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return w(e)}function w(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var m=function(e){f(d,a.EventEmitter);var c=y(d);function d(e){var t;return l(this,d),(t=c.call(this)).setConfig(e),t.idMapping=new r.default,t.callbacks=new Map,t.wrapResults=new Map,t.isNovaWallet=!0,t.isMetaMask=!0,t.isDebug=!!e.isDebug,t}return h(d,[{key:"setAddress",value:function(e){var t=(e||"").toLowerCase();if(this.address!=t){this.address=t,this.ready=!!e;for(var n=0;n<window.frames.length;n++){var s=window.frames[n];s.ethereum&&s.ethereum.isNovaWallet&&(s.ethereum.address=t,s.ethereum.ready=!!e)}}}},{key:"setChainId",value:function(e){this.chainId=e}},{key:"setRpcUrl",value:function(e){this.rpc=new t.default(e)}},{key:"setConfig",value:function(e){this.setAddress(e.address),this.chainId=e.chainId,this.chainId||(this.chainId=null),e.rpcUrl?this.rpc=new t.default(e.rpcUrl):this.rpc=null,this.isDebug=!!e.isDebug}},{key:"isConnected",value:function(){return null!=this.rpc}},{key:"request",value:function(e){var t=this;return this instanceof d||(t=window.ethereum),t._request(e,!1)}},{key:"enable",value:function(){return console.log('enable() is deprecated, please use window.ethereum.request({method: "eth_requestAccounts"}) instead.'),this.request({method:"eth_requestAccounts",params:[]})}},{key:"send",value:function(e){var t={jsonrpc:"2.0",id:e.id};switch(e.method){case"eth_accounts":t.result=this.eth_accounts();break;case"eth_coinbase":t.result=this.eth_coinbase();break;case"net_version":t.result=this.net_version();break;case"eth_chainId":t.result=this.eth_chainId();break;default:throw new n.default(4200,"Nova does not support calling ".concat(e.method," synchronously without a callback. Please provide a callback parameter to call ").concat(e.method," asynchronously."))}return t}},{key:"sendAsync",value:function(e,t){console.log("sendAsync(data, callback) is deprecated, please use window.ethereum.request(data) instead.");var n=this;this instanceof d||(n=window.ethereum),Array.isArray(e)?Promise.all(e.map(n._request.bind(n))).then(function(e){return t(null,e)}).catch(function(e){return t(e,null)}):n._request(e).then(function(e){return t(null,e)}).catch(function(e){return t(e,null)})}},{key:"_request",value:function(e){var t=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.idMapping.tryIntifyId(e),this.isDebug&&console.log("==> _request payload ".concat(JSON.stringify(e))),new Promise(function(a,o){switch(e.id||(e.id=s.default.genId()),t.callbacks.set(e.id,function(e,t){e?o(e):a(t)}),t.wrapResults.set(e.id,r),e.method){case"eth_accounts":return t.eth_requestAccounts(e);case"eth_coinbase":return t.sendResponse(e.id,t.eth_coinbase());case"net_version":return t.sendResponse(e.id,t.net_version());case"eth_chainId":return t.sendResponse(e.id,t.chainId);case"eth_sign":return t.eth_sign(e);case"personal_sign":return t.personal_sign(e);case"personal_ecRecover":return t.personal_ecRecover(e);case"eth_signTypedData_v3":return t.eth_signTypedData(Line truncated
"use strict";var e=c(require("web3")),t=c(require("./rpc")),n=c(require("./error")),s=c(require("./utils")),r=c(require("./id_mapping")),a=require("events"),o=c(require("isutf8")),i=require("eth-sig-util");function c(e){return e&&e.__esModule?e:{default:e}}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var n=0;n<t.length;n++){var s=t[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function h(e,t,n){return t&&d(e.prototype,t),n&&d(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function f(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e){var t=v();return function(){var n,s=b(e);if(t){var r=b(this).constructor;n=Reflect.construct(s,arguments,r)}else n=s.apply(this,arguments);return g(this,n)}}function g(e,t){if(t&&("object"===u(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return w(e)}function w(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var m=function(e){f(d,a.EventEmitter);var c=y(d);function d(e){var t;return l(this,d),(t=c.call(this)).setConfig(e),t.idMapping=new r.default,t.callbacks=new Map,t.wrapResults=new Map,t.isNovaWallet=!0,t.isMetaMask=!0,t.isDebug=!!e.isDebug,t}return h(d,[{key:"setAddress",value:function(e){var t=(e||"").toLowerCase();if(this.address!=t){this.address=t,this.ready=!!e;for(var n=0;n<window.frames.length;n++){var s=window.frames[n];s.ethereum&&s.ethereum.isNovaWallet&&(s.ethereum.address=t,s.ethereum.ready=!!e)}}}},{key:"setChainId",value:function(e){this.chainId=e}},{key:"setRpcUrl",value:function(e){this.rpc=new t.default(e)}},{key:"setConfig",value:function(e){this.setAddress(e.address),this.chainId=e.chainId,this.chainId||(this.chainId=null),e.rpcUrl?this.rpc=new t.default(e.rpcUrl):this.rpc=null,this.isDebug=!!e.isDebug}},{key:"isConnected",value:function(){return null!=this.rpc}},{key:"request",value:function(e){var t=this;return this instanceof d||(t=window.ethereum),t._request(e,!1)}},{key:"enable",value:function(){return console.log('enable() is deprecated, please use window.ethereum.request({method: "eth_requestAccounts"}) instead.'),this.request({method:"eth_requestAccounts",params:[]})}},{key:"send",value:function(e){var t={jsonrpc:"2.0",id:e.id};switch(e.method){case"eth_accounts":t.result=this.eth_accounts();break;case"eth_coinbase":t.result=this.eth_coinbase();break;case"net_version":t.result=this.net_version();break;case"eth_chainId":t.result=this.eth_chainId();break;default:throw new n.default(4200,"Nova does not support calling ".concat(e.method," synchronously without a callback. Please provide a callback parameter to call ").concat(e.method," asynchronously."))}return t}},{key:"sendAsync",value:function(e,t){console.log("sendAsync(data, callback) is deprecated, please use window.ethereum.request(data) instead.");var n=this;this instanceof d||(n=window.ethereum),Array.isArray(e)?Promise.all(e.map(n._request.bind(n))).then(function(e){return t(null,e)}).catch(function(e){return t(e,null)}):n._request(e).then(function(e){return t(null,e)}).catch(function(e){return t(e,null)})}},{key:"_request",value:function(e){var t=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.idMapping.tryIntifyId(e),this.isDebug&&console.log("==> _request payload ".concat(JSON.stringify(e))),new Promise(function(a,o){switch(e.id||(e.id=s.default.genId()),t.callbacks.set(e.id,function(e,t){e?o(e):a(t)}),t.wrapResults.set(e.id,r),e.method){case"eth_accounts":return t.eth_requestAccounts(e);case"eth_coinbase":return t.sendResponse(e.id,t.eth_coinbase());case"net_version":return t.sendResponse(e.id,t.net_version());case"eth_chainId":return t.sendResponse(e.id,t.chainId);case"eth_sign":return t.eth_sign(e);case"personal_sign":return t.personal_sign(e);case"personal_ecRecover":return t.personal_ecRecover(e);case"eth_signTypedData_v3":return t.eth_signTypedData(Line truncated
},{"web3":"kdoM","./rpc":"afne","./error":"MNFS","./utils":"FOZT","./id_mapping":"sD6q","events":"wIHY","isutf8":"ZwKf","eth-sig-util":"wMmw"}]},{},["Focm"], null)
@@ -256,7 +256,7 @@ var r=require("process");Object.defineProperty(exports,"__esModule",{value:!0}),
},{}],"GzV5":[function(require,module,exports) {
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=function(){return function(){var e=this;this.addHandler=function(t,s,r){e._messageHandlers.set(t,{resolve:s,reject:r})},this.getHandler=function(t){return e._messageHandlers.get(t)},this._messageHandlers=new Map}}();exports.default=e;
},{}],"EHrm":[function(require,module,exports) {
module.exports={name:"@novawallet/extension",description:"A Novawallet signer for the @polkadot/api",version:"0.1.0",author:"Ruslan Rezin <ruslan@novawallet.io>",license:"Apache-2",scripts:{clean:"rm -rf dist .cache",build:"rm -rf dist && parcel build src/index.ts --no-source-maps -o nova_min.js -d dist",lint:"prettier --write 'src/**/*.ts'",test:"env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register -r jsdom-global/register 'src/test/**/*.ts' --timeout 20000","jest-init":"jest --init"},dependencies:{"@babel/plugin-transform-modules-commonjs":"^7.16.5","@babel/preset-typescript":"^7.16.5","@babel/runtime":"^7.11.2","@polkadot/extension-base":"^0.38.4","@polkadot/extension-dapp":"^0.38.4","@polkadot/extension-inject":"^0.38.4","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","babel-jest":"^27.4.5",chai:"^4.3.4","jest-cli":"^27.4.5","jsdom-global":"^3.0.2",mocha:"^9.1.3",parcel:"^2.14.4","ts-jest":"^27.1.2","ts-node":"^10.4.0"},devDependencies:{"@babel/core":"^7.8.3","@babel/preset-env":"^7.8.3","babel-loader":"^8.0.6",jest:"^27.4.5","parcel-bundler":"^1.12.4","parcel-plugin-static-files-copy":"^2.6.0",prettier:"^1.19.1",typescript:"^4.5.4"},staticFiles:{staticPath:["extension"]},jest:{transform:{"^.+\\.(t|j)s?$":"ts-jest"}}};
module.exports={name:"@pezkuwi/extension",description:"A Novawallet signer for the @polkadot/api",version:"0.1.0",author:"Ruslan Rezin <ruslan@pezkuwi.io>",license:"Apache-2",scripts:{clean:"rm -rf dist .cache",build:"rm -rf dist && parcel build src/index.ts --no-source-maps -o nova_min.js -d dist",lint:"prettier --write 'src/**/*.ts'",test:"env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register -r jsdom-global/register 'src/test/**/*.ts' --timeout 20000","jest-init":"jest --init"},dependencies:{"@babel/plugin-transform-modules-commonjs":"^7.16.5","@babel/preset-typescript":"^7.16.5","@babel/runtime":"^7.11.2","@polkadot/extension-base":"^0.38.4","@polkadot/extension-dapp":"^0.38.4","@polkadot/extension-inject":"^0.38.4","@types/chai":"^4.3.0","@types/mocha":"^9.0.0","babel-jest":"^27.4.5",chai:"^4.3.4","jest-cli":"^27.4.5","jsdom-global":"^3.0.2",mocha:"^9.1.3",parcel:"^2.14.4","ts-jest":"^27.1.2","ts-node":"^10.4.0"},devDependencies:{"@babel/core":"^7.8.3","@babel/preset-env":"^7.8.3","babel-loader":"^8.0.6",jest:"^27.4.5","parcel-bundler":"^1.12.4","parcel-plugin-static-files-copy":"^2.6.0",prettier:"^1.19.1",typescript:"^4.5.4"},staticFiles:{staticPath:["extension"]},jest:{transform:{"^.+\\.(t|j)s?$":"ts-jest"}}};
},{}],"QCba":[function(require,module,exports) {
"use strict";var e=this&&this.__assign||function(){return(e=Object.assign||function(e){for(var t,n=1,s=arguments.length;n<s;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},t=this&&this.__awaiter||function(e,t,n,s){return new(n||(n=Promise))(function(o,r){function i(e){try{u(s.next(e))}catch(t){r(t)}}function a(e){try{u(s.throw(e))}catch(t){r(t)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,a)}u((s=s.apply(e,t||[])).next())})},n=this&&this.__generator||function(e,t){var n,s,o,r,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,s&&(o=2&r[0]?s.return:r[0]?s.throw||((o=s.return)&&o.call(s),0):s.next)&&!(o=o.call(s,r[1])).done)return o;switch(s=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return i.label++,{value:r[1],done:!1};case 5:i.label++,s=r[1],r=[0];continue;case 7:r=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){i=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]<o[3])){i.label=r[1];break}if(6===r[0]&&i.label<o[1]){i.label=o[1],o=r;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(r);break}o[2]&&i.ops.pop(),i.trys.pop();continue}r=t.call(e,i)}catch(a){r=[6,a],s=0}finally{n=o=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});var o=require("@polkadot/extension-base/page"),r=require("@polkadot/extension-inject"),i=s(require("./handlers")),a=s(require("../package.json"));function u(){(0,r.injectExtension)(o.enable,{name:"polkadot-js",version:a.default.version}),window.injectedWeb3["nova-wallet"]=window.injectedWeb3["polkadot-js"]}var c=function(){function s(){var e=this;this.handlers=new i.default,window.send=this.sendRequest,window.addEventListener("message",function(t){var n=t.data;t.source===window&&("content"===n.origin?n.id?(0,o.handleResponse)(n):console.error("Missing id for response."):"page"===n.origin&&e.handleMessage(n))}),u(),window.walletExtension={onAppResponse:this.onAppResponse.bind(this),onAppSubscription:this.onAppSubscription.bind(this),isNovaWallet:!0}}return s.prototype.postResponse=function(e){this._postMessage("content",e)},s.prototype.sendRequest=function(e){this._postMessage("dapp-request",e)},s.prototype._postMessage=function(t,n){window.postMessage(e(e({},n),{origin:t}),"*")},s.prototype.sendAppRequest=function(e){var s=e.id,o=e.message,r=e.request;return t(this,void 0,void 0,function(){var e=this;return n(this,function(t){return[2,new Promise(function(t,n){e.handlers.addHandler(s,t,n),console.log("Saved handler for id: {id}"),e.sendRequest({id:s,msgType:o,request:r,url:window.location.href})})]})})},s.prototype.onAppResponse=function(e,t,n){var s=this.handlers.getHandler(e);console.log("Got handler for id: {id}"),s&&(n?s.reject(n):s.resolve(t))},s.prototype.onAppSubscription=function(e,t){this.postResponse({id:e,subscription:t})},s.prototype.handleMessage=function(e){return t(this,void 0,void 0,function(){var t,s;return n(this,function(n){switch(n.label){case 0:switch(e.message){case"pub(authorize.tab)":case"pub(metadata.list)":case"pub(metadata.provide)":case"pub(accounts.list)":case"pub(accounts.subscribe)":case"pub(bytes.sign)":case"pub(extrinsic.sign)":return[3,1]}return[3,4];case 1:return n.trys.push([1,3,,4]),[4,this.sendAppRequest(e)];case 2:return t=n.sent(),[2,this.postResponse({id:e.id,response:t})];case 3:return s=n.sent(),[2,this.postResponse({id:e.id,error:s.message})];case 4:throw new Error("Unable to handle message: ".concat(e.message))}})})},s}(),p=new c;exports.default=p;
},{"@polkadot/extension-base/page":"q70l","@polkadot/extension-inject":"ZSaT","./handlers":"GzV5","../package.json":"EHrm"}]},{},["QCba"], null)