@subwallet/extension-base 0.6.7-1 → 0.6.7-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/background/KoniTypes.d.ts +64 -22
  2. package/background/KoniTypes.js +13 -23
  3. package/background/RequestBytesSign.js +1 -2
  4. package/background/RequestExtrinsicSign.js +1 -2
  5. package/background/handlers/Extension.js +28 -122
  6. package/background/handlers/State.js +28 -71
  7. package/background/handlers/Tabs.js +9 -45
  8. package/background/handlers/helpers.js +1 -1
  9. package/background/handlers/index.js +4 -2
  10. package/background/handlers/subscriptions.js +5 -2
  11. package/bundle.js +1 -0
  12. package/cjs/background/KoniTypes.js +15 -24
  13. package/cjs/background/RequestBytesSign.js +1 -6
  14. package/cjs/background/RequestExtrinsicSign.js +1 -4
  15. package/cjs/background/handlers/Extension.js +27 -174
  16. package/cjs/background/handlers/State.js +28 -82
  17. package/cjs/background/handlers/Tabs.js +9 -60
  18. package/cjs/background/handlers/helpers.js +1 -2
  19. package/cjs/background/handlers/index.js +4 -10
  20. package/cjs/background/handlers/subscriptions.js +5 -4
  21. package/cjs/bundle.js +0 -1
  22. package/cjs/defaults.js +1 -0
  23. package/cjs/detectOther.js +0 -4
  24. package/cjs/detectPackage.js +2 -4
  25. package/cjs/errors/SubWalletProviderError.js +1 -3
  26. package/cjs/index.js +0 -2
  27. package/cjs/packageInfo.js +3 -1
  28. package/cjs/page/Accounts.js +3 -6
  29. package/cjs/page/Injected.js +1 -8
  30. package/cjs/page/Metadata.js +1 -5
  31. package/cjs/page/PostMessageProvider.js +22 -38
  32. package/cjs/page/Signer.js +11 -11
  33. package/cjs/page/index.js +6 -13
  34. package/cjs/signers/substrates/LedgerSigner.js +1 -7
  35. package/cjs/signers/substrates/QrSigner.js +1 -10
  36. package/cjs/signers/web3/QrSigner.js +1 -12
  37. package/cjs/stores/Accounts.js +1 -8
  38. package/cjs/stores/Base.js +1 -15
  39. package/cjs/stores/Metadata.js +1 -6
  40. package/cjs/stores/index.js +0 -3
  41. package/cjs/utils/canDerive.js +1 -1
  42. package/cjs/utils/getId.js +1 -3
  43. package/cjs/utils/index.js +0 -1
  44. package/defaults.js +1 -0
  45. package/detectOther.js +1 -0
  46. package/detectPackage.js +2 -0
  47. package/errors/SubWalletProviderError.js +1 -1
  48. package/index.js +2 -0
  49. package/package.json +4 -4
  50. package/packageInfo.js +3 -1
  51. package/page/Accounts.js +3 -4
  52. package/page/Injected.js +1 -1
  53. package/page/Metadata.js +1 -3
  54. package/page/PostMessageProvider.js +22 -33
  55. package/page/Signer.js +11 -9
  56. package/page/index.js +8 -6
  57. package/signers/substrates/LedgerSigner.js +1 -3
  58. package/signers/substrates/QrSigner.js +1 -5
  59. package/signers/web3/QrSigner.js +1 -5
  60. package/stores/Accounts.js +1 -3
  61. package/stores/Base.js +1 -13
  62. package/stores/Metadata.js +1 -1
  63. package/stores/index.js +1 -0
  64. package/utils/canDerive.js +1 -0
  65. package/utils/getId.js +1 -0
  66. package/utils/index.js +1 -0
@@ -1,5 +1,6 @@
1
1
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+
3
4
  import { ExternalRequestPromiseStatus } from '@subwallet/extension-base/background/KoniTypes';
4
5
  import { u8aToHex } from '@polkadot/util';
5
6
  export default class LedgerSigner {
@@ -7,14 +8,12 @@ export default class LedgerSigner {
7
8
  #callback;
8
9
  #setState;
9
10
  #id;
10
-
11
11
  constructor(registry, callback, id, setState) {
12
12
  this.#registry = registry;
13
13
  this.#callback = callback;
14
14
  this.#id = id;
15
15
  this.#setState = setState;
16
16
  }
17
-
18
17
  async signPayload(payload) {
19
18
  return new Promise((resolve, reject) => {
20
19
  const raw = this.#registry.createType('ExtrinsicPayload', payload, {
@@ -35,5 +34,4 @@ export default class LedgerSigner {
35
34
  });
36
35
  });
37
36
  }
38
-
39
37
  }
@@ -1,5 +1,6 @@
1
1
  // Copyright 2017-2022 @polkadot/react-signer authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+
3
4
  import { ExternalRequestPromiseStatus } from '@subwallet/extension-base/background/KoniTypes';
4
5
  import { u8aToHex } from '@polkadot/util';
5
6
  import { blake2AsU8a } from '@polkadot/util-crypto';
@@ -9,7 +10,6 @@ export default class QrSigner {
9
10
  #registry;
10
11
  #resolver;
11
12
  #setState;
12
-
13
13
  constructor({
14
14
  callback,
15
15
  id,
@@ -23,7 +23,6 @@ export default class QrSigner {
23
23
  this.#resolver = resolver;
24
24
  this.#setState = setState;
25
25
  }
26
-
27
26
  async signPayload(payload) {
28
27
  return new Promise((resolve, reject) => {
29
28
  // limit size of the transaction
@@ -32,12 +31,10 @@ export default class QrSigner {
32
31
  version: payload.version
33
32
  });
34
33
  const qrPayload = isQrHashed ? blake2AsU8a(wrapper.toU8a(true)) : wrapper.toU8a();
35
-
36
34
  const resolver = result => {
37
35
  this.#resolver();
38
36
  resolve(result);
39
37
  };
40
-
41
38
  this.#setState({
42
39
  reject: reject,
43
40
  resolve: resolver,
@@ -55,5 +52,4 @@ export default class QrSigner {
55
52
  });
56
53
  });
57
54
  }
58
-
59
55
  }
@@ -1,5 +1,6 @@
1
1
  // Copyright 2019-2022 @subwallet/extension-base authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+
3
4
  import { ExternalRequestPromiseStatus } from '@subwallet/extension-base/background/KoniTypes';
4
5
  import RLP from 'rlp';
5
6
  import { u8aToHex } from '@polkadot/util';
@@ -8,7 +9,6 @@ export default class QrSigner {
8
9
  #id;
9
10
  #resolver;
10
11
  #setState;
11
-
12
12
  constructor({
13
13
  callback,
14
14
  id,
@@ -20,17 +20,14 @@ export default class QrSigner {
20
20
  this.#resolver = resolver;
21
21
  this.#setState = setState;
22
22
  }
23
-
24
23
  async signTransaction(tx) {
25
24
  return new Promise((resolve, reject) => {
26
25
  const data = [tx.nonce, tx.gasPrice, tx.gasLimit, tx.to, tx.value, tx.data, tx.chainId, new Uint8Array([0x00]), new Uint8Array([0x00])];
27
26
  const qrPayload = RLP.encode(data);
28
-
29
27
  const resolver = result => {
30
28
  this.#resolver();
31
29
  resolve(result);
32
30
  };
33
-
34
31
  this.#setState({
35
32
  reject: reject,
36
33
  resolve: resolver,
@@ -48,5 +45,4 @@ export default class QrSigner {
48
45
  });
49
46
  });
50
47
  }
51
-
52
48
  }
@@ -1,20 +1,18 @@
1
1
  // Copyright 2019-2022 @polkadot/extension-base authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+
3
4
  import { EXTENSION_PREFIX } from "../defaults.js";
4
5
  import BaseStore from "./Base.js";
5
6
  export default class AccountsStore extends BaseStore {
6
7
  constructor() {
7
8
  super(EXTENSION_PREFIX ? `${EXTENSION_PREFIX}accounts` : null);
8
9
  }
9
-
10
10
  set(key, value, update) {
11
11
  // shortcut, don't save testing accounts in extension storage
12
12
  if (key.startsWith('account:') && value.meta && value.meta.isTesting) {
13
13
  update && update();
14
14
  return;
15
15
  }
16
-
17
16
  super.set(key, value, update);
18
17
  }
19
-
20
18
  }
package/stores/Base.js CHANGED
@@ -1,24 +1,20 @@
1
1
  // Copyright 2019-2022 @polkadot/extension-base authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+
3
4
  const lastError = type => {
4
5
  const error = chrome.runtime.lastError;
5
-
6
6
  if (error) {
7
7
  console.error(`BaseStore.${type}:: runtime.lastError:`, error);
8
8
  }
9
9
  };
10
-
11
10
  export default class BaseStore {
12
11
  #prefix;
13
-
14
12
  constructor(prefix) {
15
13
  this.#prefix = prefix ? `${prefix}:` : '';
16
14
  }
17
-
18
15
  getPrefix() {
19
16
  return this.#prefix;
20
17
  }
21
-
22
18
  all(update) {
23
19
  this.allMap(map => {
24
20
  Object.entries(map).forEach(([key, value]) => {
@@ -26,25 +22,20 @@ export default class BaseStore {
26
22
  });
27
23
  });
28
24
  }
29
-
30
25
  allMap(update) {
31
26
  chrome.storage.local.get(null, result => {
32
27
  lastError('all');
33
28
  const entries = Object.entries(result);
34
29
  const map = {};
35
-
36
30
  for (let i = 0; i < entries.length; i++) {
37
31
  const [key, value] = entries[i];
38
-
39
32
  if (key.startsWith(this.#prefix)) {
40
33
  map[key.replace(this.#prefix, '')] = value;
41
34
  }
42
35
  }
43
-
44
36
  update(map);
45
37
  });
46
38
  }
47
-
48
39
  get(_key, update) {
49
40
  const key = `${this.#prefix}${_key}`;
50
41
  chrome.storage.local.get([key], result => {
@@ -52,7 +43,6 @@ export default class BaseStore {
52
43
  update(result[key]);
53
44
  });
54
45
  }
55
-
56
46
  remove(_key, update) {
57
47
  const key = `${this.#prefix}${_key}`;
58
48
  chrome.storage.local.remove(key, () => {
@@ -60,7 +50,6 @@ export default class BaseStore {
60
50
  update && update();
61
51
  });
62
52
  }
63
-
64
53
  set(_key, value, update) {
65
54
  const key = `${this.#prefix}${_key}`;
66
55
  chrome.storage.local.set({
@@ -70,5 +59,4 @@ export default class BaseStore {
70
59
  update && update();
71
60
  });
72
61
  }
73
-
74
62
  }
@@ -1,10 +1,10 @@
1
1
  // Copyright 2019-2022 @polkadot/extension-base authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+
3
4
  import { EXTENSION_PREFIX } from "../defaults.js";
4
5
  import BaseStore from "./Base.js";
5
6
  export default class MetadataStore extends BaseStore {
6
7
  constructor() {
7
8
  super(`${EXTENSION_PREFIX}metadata`);
8
9
  }
9
-
10
10
  }
package/stores/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  // Copyright 2019-2022 @polkadot/extension-base authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+
3
4
  export { default as AccountsStore } from "./Accounts.js";
4
5
  export { default as MetadataStore } from "./Metadata.js";
@@ -1,5 +1,6 @@
1
1
  // Copyright 2019-2022 @polkadot/extension authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+
3
4
  export function canDerive(type) {
4
5
  return !!type && ['ed25519', 'sr25519', 'ecdsa', 'ethereum'].includes(type);
5
6
  }
package/utils/getId.js CHANGED
@@ -1,5 +1,6 @@
1
1
  // Copyright 2019-2022 @polkadot/extension authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+
3
4
  import { EXTENSION_PREFIX } from "../defaults.js";
4
5
  let counter = 0;
5
6
  export function getId() {
package/utils/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  // Copyright 2019-2022 @polkadot/extension authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+
3
4
  export { canDerive } from "./canDerive.js";