@subwallet/extension-base 0.3.6-0

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 (166) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +10 -0
  3. package/build/LICENSE +201 -0
  4. package/build/README.md +10 -0
  5. package/build/background/KoniTypes.d.ts +462 -0
  6. package/build/background/KoniTypes.js +57 -0
  7. package/build/background/RequestBytesSign.d.ts +12 -0
  8. package/build/background/RequestBytesSign.js +16 -0
  9. package/build/background/RequestExtrinsicSign.d.ts +12 -0
  10. package/build/background/RequestExtrinsicSign.js +14 -0
  11. package/build/background/handlers/Extension.d.ts +49 -0
  12. package/build/background/handlers/Extension.js +676 -0
  13. package/build/background/handlers/State.d.ts +87 -0
  14. package/build/background/handlers/State.js +434 -0
  15. package/build/background/handlers/Tabs.d.ts +24 -0
  16. package/build/background/handlers/Tabs.js +230 -0
  17. package/build/background/handlers/helpers.d.ts +1 -0
  18. package/build/background/handlers/helpers.js +13 -0
  19. package/build/background/handlers/index.d.ts +3 -0
  20. package/build/background/handlers/index.js +43 -0
  21. package/build/background/handlers/subscriptions.d.ts +4 -0
  22. package/build/background/handlers/subscriptions.js +24 -0
  23. package/build/background/types.d.ts +345 -0
  24. package/build/background/types.js +1 -0
  25. package/build/bundle.d.ts +1 -0
  26. package/build/bundle.js +3 -0
  27. package/build/cjs/background/KoniTypes.js +69 -0
  28. package/build/cjs/background/RequestBytesSign.js +27 -0
  29. package/build/cjs/background/RequestExtrinsicSign.js +23 -0
  30. package/build/cjs/background/handlers/Extension.js +764 -0
  31. package/build/cjs/background/handlers/State.js +472 -0
  32. package/build/cjs/background/handlers/Tabs.js +273 -0
  33. package/build/cjs/background/handlers/helpers.js +20 -0
  34. package/build/cjs/background/handlers/index.js +60 -0
  35. package/build/cjs/background/handlers/subscriptions.js +32 -0
  36. package/build/cjs/background/types.js +1 -0
  37. package/build/cjs/bundle.js +13 -0
  38. package/build/cjs/defaults.js +26 -0
  39. package/build/cjs/detectOther.js +17 -0
  40. package/build/cjs/detectPackage.js +14 -0
  41. package/build/cjs/index.js +18 -0
  42. package/build/cjs/package.json +3 -0
  43. package/build/cjs/packageInfo.js +16 -0
  44. package/build/cjs/page/Accounts.js +31 -0
  45. package/build/cjs/page/Injected.js +30 -0
  46. package/build/cjs/page/Metadata.js +27 -0
  47. package/build/cjs/page/PostMessageProvider.js +184 -0
  48. package/build/cjs/page/Signer.js +44 -0
  49. package/build/cjs/page/index.js +76 -0
  50. package/build/cjs/page/types.js +1 -0
  51. package/build/cjs/stores/Accounts.js +33 -0
  52. package/build/cjs/stores/Base.js +84 -0
  53. package/build/cjs/stores/Metadata.js +23 -0
  54. package/build/cjs/stores/index.js +23 -0
  55. package/build/cjs/types.js +1 -0
  56. package/build/cjs/utils/canDerive.js +12 -0
  57. package/build/cjs/utils/getId.js +16 -0
  58. package/build/cjs/utils/index.js +13 -0
  59. package/build/defaults.d.ts +10 -0
  60. package/build/defaults.js +12 -0
  61. package/build/detectOther.d.ts +7 -0
  62. package/build/detectOther.js +6 -0
  63. package/build/detectPackage.d.ts +1 -0
  64. package/build/detectPackage.js +7 -0
  65. package/build/index.d.ts +1 -0
  66. package/build/index.js +5 -0
  67. package/build/package.json +210 -0
  68. package/build/packageInfo.d.ts +6 -0
  69. package/build/packageInfo.js +9 -0
  70. package/build/page/Accounts.d.ts +7 -0
  71. package/build/page/Accounts.js +22 -0
  72. package/build/page/Injected.d.ts +13 -0
  73. package/build/page/Injected.js +15 -0
  74. package/build/page/Metadata.d.ts +7 -0
  75. package/build/page/Metadata.js +18 -0
  76. package/build/page/PostMessageProvider.d.ts +62 -0
  77. package/build/page/PostMessageProvider.js +171 -0
  78. package/build/page/Signer.d.ts +8 -0
  79. package/build/page/Signer.js +35 -0
  80. package/build/page/index.d.ts +16 -0
  81. package/build/page/index.js +64 -0
  82. package/build/page/types.d.ts +6 -0
  83. package/build/page/types.js +1 -0
  84. package/build/stores/Accounts.d.ts +6 -0
  85. package/build/stores/Accounts.js +20 -0
  86. package/build/stores/Base.d.ts +10 -0
  87. package/build/stores/Base.js +74 -0
  88. package/build/stores/Metadata.d.ts +5 -0
  89. package/build/stores/Metadata.js +10 -0
  90. package/build/stores/index.d.ts +2 -0
  91. package/build/stores/index.js +4 -0
  92. package/build/types.d.ts +9 -0
  93. package/build/types.js +1 -0
  94. package/build/utils/canDerive.d.ts +2 -0
  95. package/build/utils/canDerive.js +5 -0
  96. package/build/utils/getId.d.ts +1 -0
  97. package/build/utils/getId.js +7 -0
  98. package/build/utils/index.d.ts +1 -0
  99. package/build/utils/index.js +3 -0
  100. package/build-cjs/background/KoniTypes.js +69 -0
  101. package/build-cjs/background/RequestBytesSign.js +27 -0
  102. package/build-cjs/background/RequestExtrinsicSign.js +23 -0
  103. package/build-cjs/background/handlers/Extension.js +764 -0
  104. package/build-cjs/background/handlers/State.js +472 -0
  105. package/build-cjs/background/handlers/Tabs.js +273 -0
  106. package/build-cjs/background/handlers/helpers.js +20 -0
  107. package/build-cjs/background/handlers/index.js +60 -0
  108. package/build-cjs/background/handlers/subscriptions.js +32 -0
  109. package/build-cjs/background/types.js +1 -0
  110. package/build-cjs/bundle.js +13 -0
  111. package/build-cjs/defaults.js +26 -0
  112. package/build-cjs/detectOther.js +17 -0
  113. package/build-cjs/detectPackage.js +14 -0
  114. package/build-cjs/index.js +18 -0
  115. package/build-cjs/packageInfo.js +16 -0
  116. package/build-cjs/page/Accounts.js +31 -0
  117. package/build-cjs/page/Injected.js +30 -0
  118. package/build-cjs/page/Metadata.js +27 -0
  119. package/build-cjs/page/PostMessageProvider.js +184 -0
  120. package/build-cjs/page/Signer.js +44 -0
  121. package/build-cjs/page/index.js +76 -0
  122. package/build-cjs/page/types.js +1 -0
  123. package/build-cjs/stores/Accounts.js +33 -0
  124. package/build-cjs/stores/Base.js +84 -0
  125. package/build-cjs/stores/Metadata.js +23 -0
  126. package/build-cjs/stores/index.js +23 -0
  127. package/build-cjs/types.js +1 -0
  128. package/build-cjs/utils/canDerive.js +12 -0
  129. package/build-cjs/utils/getId.js +16 -0
  130. package/build-cjs/utils/index.js +13 -0
  131. package/package.json +46 -0
  132. package/src/background/KoniTypes.ts +537 -0
  133. package/src/background/RequestBytesSign.ts +30 -0
  134. package/src/background/RequestExtrinsicSign.ts +23 -0
  135. package/src/background/handlers/Extension.spec.ts +456 -0
  136. package/src/background/handlers/Extension.ts +627 -0
  137. package/src/background/handlers/State.ts +513 -0
  138. package/src/background/handlers/Tabs.ts +223 -0
  139. package/src/background/handlers/helpers.ts +14 -0
  140. package/src/background/handlers/index.ts +49 -0
  141. package/src/background/handlers/subscriptions.ts +30 -0
  142. package/src/background/types.ts +437 -0
  143. package/src/bundle.ts +4 -0
  144. package/src/defaults.ts +24 -0
  145. package/src/detectOther.ts +8 -0
  146. package/src/detectPackage.ts +11 -0
  147. package/src/index.ts +7 -0
  148. package/src/packageInfo.ts +6 -0
  149. package/src/page/Accounts.ts +27 -0
  150. package/src/page/Injected.ts +27 -0
  151. package/src/page/Metadata.ts +22 -0
  152. package/src/page/PostMessageProvider.ts +178 -0
  153. package/src/page/Signer.ts +45 -0
  154. package/src/page/index.ts +87 -0
  155. package/src/page/types.ts +10 -0
  156. package/src/stores/Accounts.ts +24 -0
  157. package/src/stores/Base.ts +81 -0
  158. package/src/stores/Metadata.ts +13 -0
  159. package/src/stores/index.ts +5 -0
  160. package/src/types.ts +12 -0
  161. package/src/utils/canDerive.ts +8 -0
  162. package/src/utils/getId.ts +10 -0
  163. package/src/utils/index.ts +4 -0
  164. package/tsconfig.build.json +18 -0
  165. package/tsconfig.build.tsbuildinfo +1 -0
  166. package/tsconfig.json +14 -0
@@ -0,0 +1,64 @@
1
+ // Copyright 2019-2022 @subwallet/extension authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { MESSAGE_ORIGIN_PAGE } from "../defaults.js";
4
+ import { getId } from "../utils/getId.js";
5
+ import Injected from "./Injected.js"; // when sending a message from the injector to the extension, we
6
+ // - create an event - this we send to the loader
7
+ // - the loader takes this event and uses port.postMessage to background
8
+ // - on response, the loader creates a reponse event
9
+ // - this injector, listens on the events, maps it to the original
10
+ // - resolves/rejects the promise with the result (or sub data)
11
+
12
+ const handlers = {}; // a generic message sender that creates an event, returning a promise that will
13
+ // resolve once the event is resolved (by the response listener just below this)
14
+
15
+ export function sendMessage(message, request, subscriber) {
16
+ return new Promise((resolve, reject) => {
17
+ const id = getId();
18
+ handlers[id] = {
19
+ reject,
20
+ resolve,
21
+ subscriber
22
+ };
23
+ const transportRequestMessage = {
24
+ id,
25
+ message,
26
+ origin: MESSAGE_ORIGIN_PAGE,
27
+ request: request || null
28
+ };
29
+ window.postMessage(transportRequestMessage, '*');
30
+ });
31
+ } // the enable function, called by the dapp to allow access
32
+
33
+ export async function enable(origin) {
34
+ await sendMessage('pub(authorize.tabV2)', {
35
+ origin
36
+ });
37
+ return new Injected(sendMessage);
38
+ } // redirect users if this page is considered as phishing, otherwise return false
39
+
40
+ export async function redirectIfPhishing() {
41
+ const res = await sendMessage('pub(phishing.redirectIfDenied)');
42
+ return res;
43
+ }
44
+ export function handleResponse(data) {
45
+ const handler = handlers[data.id];
46
+
47
+ if (!handler) {
48
+ console.error(`Unknown response: ${JSON.stringify(data)}`);
49
+ return;
50
+ }
51
+
52
+ if (!handler.subscriber) {
53
+ delete handlers[data.id];
54
+ }
55
+
56
+ if (data.subscription) {
57
+ // eslint-disable-next-line @typescript-eslint/ban-types
58
+ handler.subscriber(data.subscription);
59
+ } else if (data.error) {
60
+ handler.reject(new Error(data.error));
61
+ } else {
62
+ handler.resolve(data.response);
63
+ }
64
+ }
@@ -0,0 +1,6 @@
1
+ import type { MessageTypesWithNoSubscriptions, MessageTypesWithNullRequest, MessageTypesWithSubscriptions, RequestTypes, ResponseTypes, SubscriptionMessageTypes } from '../background/types';
2
+ export interface SendRequest {
3
+ <TMessageType extends MessageTypesWithNullRequest>(message: TMessageType): Promise<ResponseTypes[TMessageType]>;
4
+ <TMessageType extends MessageTypesWithNoSubscriptions>(message: TMessageType, request: RequestTypes[TMessageType]): Promise<ResponseTypes[TMessageType]>;
5
+ <TMessageType extends MessageTypesWithSubscriptions>(message: TMessageType, request: RequestTypes[TMessageType], subscriber: (data: SubscriptionMessageTypes[TMessageType]) => void): Promise<ResponseTypes[TMessageType]>;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { KeyringJson, KeyringStore } from '@polkadot/ui-keyring/types';
2
+ import BaseStore from './Base';
3
+ export default class AccountsStore extends BaseStore<KeyringJson> implements KeyringStore {
4
+ constructor();
5
+ set(key: string, value: KeyringJson, update?: () => void): void;
6
+ }
@@ -0,0 +1,20 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { EXTENSION_PREFIX } from "../defaults.js";
4
+ import BaseStore from "./Base.js";
5
+ export default class AccountsStore extends BaseStore {
6
+ constructor() {
7
+ super(EXTENSION_PREFIX ? `${EXTENSION_PREFIX}accounts` : null);
8
+ }
9
+
10
+ set(key, value, update) {
11
+ // shortcut, don't save testing accounts in extension storage
12
+ if (key.startsWith('account:') && value.meta && value.meta.isTesting) {
13
+ update && update();
14
+ return;
15
+ }
16
+
17
+ super.set(key, value, update);
18
+ }
19
+
20
+ }
@@ -0,0 +1,10 @@
1
+ export default abstract class BaseStore<T> {
2
+ #private;
3
+ constructor(prefix: string | null);
4
+ getPrefix(): string;
5
+ all(update: (key: string, value: T) => void): void;
6
+ allMap(update: (value: Record<string, T>) => void): void;
7
+ get(_key: string, update: (value: T) => void): void;
8
+ remove(_key: string, update?: () => void): void;
9
+ set(_key: string, value: T, update?: () => void): void;
10
+ }
@@ -0,0 +1,74 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ const lastError = type => {
4
+ const error = chrome.runtime.lastError;
5
+
6
+ if (error) {
7
+ console.error(`BaseStore.${type}:: runtime.lastError:`, error);
8
+ }
9
+ };
10
+
11
+ export default class BaseStore {
12
+ #prefix;
13
+
14
+ constructor(prefix) {
15
+ this.#prefix = prefix ? `${prefix}:` : '';
16
+ }
17
+
18
+ getPrefix() {
19
+ return this.#prefix;
20
+ }
21
+
22
+ all(update) {
23
+ this.allMap(map => {
24
+ Object.entries(map).forEach(([key, value]) => {
25
+ update(key, value);
26
+ });
27
+ });
28
+ }
29
+
30
+ allMap(update) {
31
+ chrome.storage.local.get(null, result => {
32
+ lastError('all');
33
+ const entries = Object.entries(result);
34
+ const map = {};
35
+
36
+ for (let i = 0; i < entries.length; i++) {
37
+ const [key, value] = entries[i];
38
+
39
+ if (key.startsWith(this.#prefix)) {
40
+ map[key.replace(this.#prefix, '')] = value;
41
+ }
42
+ }
43
+
44
+ update(map);
45
+ });
46
+ }
47
+
48
+ get(_key, update) {
49
+ const key = `${this.#prefix}${_key}`;
50
+ chrome.storage.local.get([key], result => {
51
+ lastError('get');
52
+ update(result[key]);
53
+ });
54
+ }
55
+
56
+ remove(_key, update) {
57
+ const key = `${this.#prefix}${_key}`;
58
+ chrome.storage.local.remove(key, () => {
59
+ lastError('remove');
60
+ update && update();
61
+ });
62
+ }
63
+
64
+ set(_key, value, update) {
65
+ const key = `${this.#prefix}${_key}`;
66
+ chrome.storage.local.set({
67
+ [key]: value
68
+ }, () => {
69
+ lastError('set');
70
+ update && update();
71
+ });
72
+ }
73
+
74
+ }
@@ -0,0 +1,5 @@
1
+ import type { MetadataDef } from '@subwallet/extension-inject/types';
2
+ import BaseStore from './Base';
3
+ export default class MetadataStore extends BaseStore<MetadataDef> {
4
+ constructor();
5
+ }
@@ -0,0 +1,10 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { EXTENSION_PREFIX } from "../defaults.js";
4
+ import BaseStore from "./Base.js";
5
+ export default class MetadataStore extends BaseStore {
6
+ constructor() {
7
+ super(`${EXTENSION_PREFIX}metadata`);
8
+ }
9
+
10
+ }
@@ -0,0 +1,2 @@
1
+ export { default as AccountsStore } from './Accounts';
2
+ export { default as MetadataStore } from './Metadata';
@@ -0,0 +1,4 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export { default as AccountsStore } from "./Accounts.js";
4
+ export { default as MetadataStore } from "./Metadata.js";
@@ -0,0 +1,9 @@
1
+ export interface Message extends MessageEvent {
2
+ data: {
3
+ error?: string;
4
+ id: string;
5
+ origin: string;
6
+ response?: string;
7
+ subscription?: string;
8
+ };
9
+ }
package/build/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { KeypairType } from '@polkadot/util-crypto/types';
2
+ export declare function canDerive(type?: KeypairType): boolean;
@@ -0,0 +1,5 @@
1
+ // Copyright 2019-2022 @subwallet/extension authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export function canDerive(type) {
4
+ return !!type && ['ed25519', 'sr25519', 'ecdsa', 'ethereum'].includes(type);
5
+ }
@@ -0,0 +1 @@
1
+ export declare function getId(): string;
@@ -0,0 +1,7 @@
1
+ // Copyright 2019-2022 @subwallet/extension authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { EXTENSION_PREFIX } from "../defaults.js";
4
+ let counter = 0;
5
+ export function getId() {
6
+ return `${EXTENSION_PREFIX}.${Date.now()}.${++counter}`;
7
+ }
@@ -0,0 +1 @@
1
+ export { canDerive } from './canDerive';
@@ -0,0 +1,3 @@
1
+ // Copyright 2019-2022 @subwallet/extension authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export { canDerive } from "./canDerive.js";
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TransferStep = exports.TransferErrorCode = exports.RMRK_VER = exports.CrowdloanParaState = exports.ApiInitStatus = exports.APIItemState = void 0;
7
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
8
+ // SPDX-License-Identifier: Apache-2.0
9
+ let ApiInitStatus;
10
+ exports.ApiInitStatus = ApiInitStatus;
11
+
12
+ (function (ApiInitStatus) {
13
+ ApiInitStatus[ApiInitStatus["SUCCESS"] = 0] = "SUCCESS";
14
+ ApiInitStatus[ApiInitStatus["ALREADY_EXIST"] = 1] = "ALREADY_EXIST";
15
+ ApiInitStatus[ApiInitStatus["NOT_SUPPORT"] = 2] = "NOT_SUPPORT";
16
+ })(ApiInitStatus || (exports.ApiInitStatus = ApiInitStatus = {}));
17
+
18
+ let APIItemState;
19
+ exports.APIItemState = APIItemState;
20
+
21
+ (function (APIItemState) {
22
+ APIItemState["PENDING"] = "pending";
23
+ APIItemState["READY"] = "ready";
24
+ APIItemState["CACHED"] = "cached";
25
+ APIItemState["ERROR"] = "error";
26
+ APIItemState["NOT_SUPPORT"] = "not_support";
27
+ })(APIItemState || (exports.APIItemState = APIItemState = {}));
28
+
29
+ let RMRK_VER;
30
+ exports.RMRK_VER = RMRK_VER;
31
+
32
+ (function (RMRK_VER) {
33
+ RMRK_VER["VER_1"] = "1.0.0";
34
+ RMRK_VER["VER_2"] = "2.0.0";
35
+ })(RMRK_VER || (exports.RMRK_VER = RMRK_VER = {}));
36
+
37
+ let CrowdloanParaState;
38
+ exports.CrowdloanParaState = CrowdloanParaState;
39
+
40
+ (function (CrowdloanParaState) {
41
+ CrowdloanParaState["ONGOING"] = "ongoing";
42
+ CrowdloanParaState["COMPLETED"] = "completed";
43
+ CrowdloanParaState["FAILED"] = "failed";
44
+ })(CrowdloanParaState || (exports.CrowdloanParaState = CrowdloanParaState = {}));
45
+
46
+ let TransferErrorCode;
47
+ exports.TransferErrorCode = TransferErrorCode;
48
+
49
+ (function (TransferErrorCode) {
50
+ TransferErrorCode["INVALID_FROM_ADDRESS"] = "invalidFromAccount";
51
+ TransferErrorCode["INVALID_TO_ADDRESS"] = "invalidToAccount";
52
+ TransferErrorCode["NOT_ENOUGH_VALUE"] = "notEnoughValue";
53
+ TransferErrorCode["INVALID_VALUE"] = "invalidValue";
54
+ TransferErrorCode["INVALID_TOKEN"] = "invalidToken";
55
+ TransferErrorCode["KEYRING_ERROR"] = "keyringError";
56
+ TransferErrorCode["TRANSFER_ERROR"] = "transferError";
57
+ TransferErrorCode["TIMEOUT"] = "timeout";
58
+ })(TransferErrorCode || (exports.TransferErrorCode = TransferErrorCode = {}));
59
+
60
+ let TransferStep;
61
+ exports.TransferStep = TransferStep;
62
+
63
+ (function (TransferStep) {
64
+ TransferStep["READY"] = "ready";
65
+ TransferStep["START"] = "start";
66
+ TransferStep["PROCESSING"] = "processing";
67
+ TransferStep["SUCCESS"] = "success";
68
+ TransferStep["ERROR"] = "error";
69
+ })(TransferStep || (exports.TransferStep = TransferStep = {}));
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _wrapBytes = require("@subwallet/extension-dapp/wrapBytes");
9
+
10
+ var _util = require("@polkadot/util");
11
+
12
+ // Copyright 2019-2022 @subwallet/extension authors & contributors
13
+ // SPDX-License-Identifier: Apache-2.0
14
+ class RequestBytesSign {
15
+ constructor(payload) {
16
+ this.payload = payload;
17
+ }
18
+
19
+ sign(_registry, pair) {
20
+ return {
21
+ signature: (0, _util.u8aToHex)(pair.sign((0, _wrapBytes.wrapBytes)(this.payload.data)))
22
+ };
23
+ }
24
+
25
+ }
26
+
27
+ exports.default = RequestBytesSign;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ // Copyright 2019-2022 @subwallet/extension authors & contributors
9
+ // SPDX-License-Identifier: Apache-2.0
10
+ class RequestExtrinsicSign {
11
+ constructor(payload) {
12
+ this.payload = payload;
13
+ }
14
+
15
+ sign(registry, pair) {
16
+ return registry.createType('ExtrinsicPayload', this.payload, {
17
+ version: this.payload.version
18
+ }).sign(pair);
19
+ }
20
+
21
+ }
22
+
23
+ exports.default = RequestExtrinsicSign;