@metamask/shield-controller 3.1.0 → 4.1.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.
- package/CHANGELOG.md +27 -1
- package/dist/ShieldController.cjs +10 -4
- package/dist/ShieldController.cjs.map +1 -1
- package/dist/ShieldController.d.cts +10 -3
- package/dist/ShieldController.d.cts.map +1 -1
- package/dist/ShieldController.d.mts +10 -3
- package/dist/ShieldController.d.mts.map +1 -1
- package/dist/ShieldController.mjs +10 -4
- package/dist/ShieldController.mjs.map +1 -1
- package/dist/backend.cjs +86 -41
- package/dist/backend.cjs.map +1 -1
- package/dist/backend.d.cts +3 -2
- package/dist/backend.d.cts.map +1 -1
- package/dist/backend.d.mts +3 -2
- package/dist/backend.d.mts.map +1 -1
- package/dist/backend.mjs +85 -40
- package/dist/backend.mjs.map +1 -1
- package/dist/polling-with-policy.cjs +2 -1
- package/dist/polling-with-policy.cjs.map +1 -1
- package/dist/polling-with-policy.d.cts +1 -1
- package/dist/polling-with-policy.d.cts.map +1 -1
- package/dist/polling-with-policy.d.mts +1 -1
- package/dist/polling-with-policy.d.mts.map +1 -1
- package/dist/polling-with-policy.mjs +2 -1
- package/dist/polling-with-policy.mjs.map +1 -1
- package/package.json +5 -5
|
@@ -20,7 +20,8 @@ class PollingWithCockatielPolicy {
|
|
|
20
20
|
_PollingWithCockatielPolicy_instances.add(this);
|
|
21
21
|
_PollingWithCockatielPolicy_policy.set(this, void 0);
|
|
22
22
|
_PollingWithCockatielPolicy_requestEntry.set(this, new Map());
|
|
23
|
-
const
|
|
23
|
+
const shouldRetryFunc = __classPrivateFieldGet(this, _PollingWithCockatielPolicy_instances, "m", _PollingWithCockatielPolicy_shouldRetry).bind(this);
|
|
24
|
+
const retryFilterPolicy = (0, cockatiel_1.handleWhen)(shouldRetryFunc);
|
|
24
25
|
__classPrivateFieldSet(this, _PollingWithCockatielPolicy_policy, (0, controller_utils_1.createServicePolicy)({
|
|
25
26
|
...policyOptions,
|
|
26
27
|
retryFilterPolicy,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling-with-policy.cjs","sourceRoot":"","sources":["../src/polling-with-policy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"polling-with-policy.cjs","sourceRoot":"","sources":["../src/polling-with-policy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iEAA4E;AAK5E,yCAAuC;AAMvC,MAAa,0BAA0B;IAKrC,YAAY,gBAA4C,EAAE;;QAJjD,qDAAuB;QAEvB,mDAAgB,IAAI,GAAG,EAA2B,EAAC;QAG1D,MAAM,eAAe,GAAG,uBAAA,IAAI,sFAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,IAAA,sBAAU,EAAC,eAAe,CAAC,CAAC;QACtD,uBAAA,IAAI,sCAAW,IAAA,sCAAmB,EAAC;YACjC,GAAG,aAAa;YAChB,iBAAiB;SAClB,CAAC,MAAA,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CACT,SAAiB,EACjB,SAAgC;QAEhC,MAAM,eAAe,GAAG,uBAAA,IAAI,6FAAoB,MAAxB,IAAI,EAAqB,SAAS,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,0CAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC7D,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,wFAAwF;YACxF,oGAAoG;YACpG,oFAAoF;YACpF,IAAI,eAAe,KAAK,uBAAA,IAAI,gDAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1D,uBAAA,IAAI,kFAAS,MAAb,IAAI,EAAU,SAAS,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,SAAiB;QACnC,MAAM,eAAe,GAAG,uBAAA,IAAI,gDAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1D,eAAe,EAAE,KAAK,EAAE,CAAC;QACzB,uBAAA,IAAI,kFAAS,MAAb,IAAI,EAAU,SAAS,CAAC,CAAC;IAC3B,CAAC;CAwBF;AApED,gEAoEC;8QAtBqB,SAAiB;IACnC,0CAA0C;IAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEpC,oDAAoD;IACpD,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,uBAAA,IAAI,gDAAc,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACnD,OAAO,eAAe,CAAC;AACzB,CAAC,qFAEQ,SAAiB;IACxB,uBAAA,IAAI,gDAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC,6FAEY,KAAY;IACvB,IAAI,KAAK,YAAY,4BAAS,EAAE,CAAC;QAC/B,0DAA0D;QAC1D,2EAA2E;QAC3E,OAAO,KAAK,CAAC,UAAU,GAAG,GAAG,IAAI,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { createServicePolicy, HttpError } from '@metamask/controller-utils';\nimport type {\n CreateServicePolicyOptions,\n ServicePolicy,\n} from '@metamask/controller-utils';\nimport { handleWhen } from 'cockatiel';\n\nexport type RequestFn<ReturnType> = (\n signal: AbortSignal,\n) => Promise<ReturnType>;\n\nexport class PollingWithCockatielPolicy {\n readonly #policy: ServicePolicy;\n\n readonly #requestEntry = new Map<string, AbortController>();\n\n constructor(policyOptions: CreateServicePolicyOptions = {}) {\n const shouldRetryFunc = this.#shouldRetry.bind(this);\n const retryFilterPolicy = handleWhen(shouldRetryFunc);\n this.#policy = createServicePolicy({\n ...policyOptions,\n retryFilterPolicy,\n });\n }\n\n async start<ReturnType>(\n requestId: string,\n requestFn: RequestFn<ReturnType>,\n ): Promise<ReturnType> {\n const abortController = this.#addNewRequestEntry(requestId);\n\n try {\n const result = await this.#policy.execute(async ({ signal }) => {\n return requestFn(signal);\n }, abortController.signal);\n return result;\n } catch (error) {\n if (abortController.signal.aborted) {\n throw new Error('Request cancelled');\n }\n throw error;\n } finally {\n // Only cleanup if this abort controller is still active. If a new request with the same\n // requestId started while this one was running, it would have replaced with a new abort controller.\n // We must not delete the new request's controller when this older request finishes.\n if (abortController === this.#requestEntry.get(requestId)) {\n this.#cleanup(requestId);\n }\n }\n }\n\n abortPendingRequest(requestId: string): void {\n const abortController = this.#requestEntry.get(requestId);\n abortController?.abort();\n this.#cleanup(requestId);\n }\n\n #addNewRequestEntry(requestId: string): AbortController {\n // abort the previous request if it exists\n this.abortPendingRequest(requestId);\n\n // create a new abort controller for the new request\n const abortController = new AbortController();\n this.#requestEntry.set(requestId, abortController);\n return abortController;\n }\n\n #cleanup(requestId: string): void {\n this.#requestEntry.delete(requestId);\n }\n\n #shouldRetry(error: Error): boolean {\n if (error instanceof HttpError) {\n // Note: we don't retry on 5xx errors, only on 4xx errors.\n // but we won't retry on 400 coz it means that the request body is invalid.\n return error.httpStatus > 400 && error.httpStatus < 500;\n }\n return false;\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { CreateServicePolicyOptions } from "@metamask/controller-utils";
|
|
2
2
|
export type RequestFn<ReturnType> = (signal: AbortSignal) => Promise<ReturnType>;
|
|
3
3
|
export declare class PollingWithCockatielPolicy {
|
|
4
4
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling-with-policy.d.cts","sourceRoot":"","sources":["../src/polling-with-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"polling-with-policy.d.cts","sourceRoot":"","sources":["../src/polling-with-policy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0BAA0B,EAE3B,mCAAmC;AAGpC,MAAM,MAAM,SAAS,CAAC,UAAU,IAAI,CAClC,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,qBAAa,0BAA0B;;gBAKzB,aAAa,GAAE,0BAA+B;IASpD,KAAK,CAAC,UAAU,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,GAC/B,OAAO,CAAC,UAAU,CAAC;IAuBtB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CA4B7C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { CreateServicePolicyOptions } from "@metamask/controller-utils";
|
|
2
2
|
export type RequestFn<ReturnType> = (signal: AbortSignal) => Promise<ReturnType>;
|
|
3
3
|
export declare class PollingWithCockatielPolicy {
|
|
4
4
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling-with-policy.d.mts","sourceRoot":"","sources":["../src/polling-with-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"polling-with-policy.d.mts","sourceRoot":"","sources":["../src/polling-with-policy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0BAA0B,EAE3B,mCAAmC;AAGpC,MAAM,MAAM,SAAS,CAAC,UAAU,IAAI,CAClC,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,qBAAa,0BAA0B;;gBAKzB,aAAa,GAAE,0BAA+B;IASpD,KAAK,CAAC,UAAU,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,GAC/B,OAAO,CAAC,UAAU,CAAC;IAuBtB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CA4B7C"}
|
|
@@ -17,7 +17,8 @@ export class PollingWithCockatielPolicy {
|
|
|
17
17
|
_PollingWithCockatielPolicy_instances.add(this);
|
|
18
18
|
_PollingWithCockatielPolicy_policy.set(this, void 0);
|
|
19
19
|
_PollingWithCockatielPolicy_requestEntry.set(this, new Map());
|
|
20
|
-
const
|
|
20
|
+
const shouldRetryFunc = __classPrivateFieldGet(this, _PollingWithCockatielPolicy_instances, "m", _PollingWithCockatielPolicy_shouldRetry).bind(this);
|
|
21
|
+
const retryFilterPolicy = handleWhen(shouldRetryFunc);
|
|
21
22
|
__classPrivateFieldSet(this, _PollingWithCockatielPolicy_policy, createServicePolicy({
|
|
22
23
|
...policyOptions,
|
|
23
24
|
retryFilterPolicy,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling-with-policy.mjs","sourceRoot":"","sources":["../src/polling-with-policy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"polling-with-policy.mjs","sourceRoot":"","sources":["../src/polling-with-policy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,mCAAmC;AAK5E,OAAO,EAAE,UAAU,EAAE,kBAAkB;AAMvC,MAAM,OAAO,0BAA0B;IAKrC,YAAY,gBAA4C,EAAE;;QAJjD,qDAAuB;QAEvB,mDAAgB,IAAI,GAAG,EAA2B,EAAC;QAG1D,MAAM,eAAe,GAAG,uBAAA,IAAI,sFAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;QACtD,uBAAA,IAAI,sCAAW,mBAAmB,CAAC;YACjC,GAAG,aAAa;YAChB,iBAAiB;SAClB,CAAC,MAAA,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CACT,SAAiB,EACjB,SAAgC;QAEhC,MAAM,eAAe,GAAG,uBAAA,IAAI,6FAAoB,MAAxB,IAAI,EAAqB,SAAS,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,0CAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC7D,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,wFAAwF;YACxF,oGAAoG;YACpG,oFAAoF;YACpF,IAAI,eAAe,KAAK,uBAAA,IAAI,gDAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1D,uBAAA,IAAI,kFAAS,MAAb,IAAI,EAAU,SAAS,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,SAAiB;QACnC,MAAM,eAAe,GAAG,uBAAA,IAAI,gDAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1D,eAAe,EAAE,KAAK,EAAE,CAAC;QACzB,uBAAA,IAAI,kFAAS,MAAb,IAAI,EAAU,SAAS,CAAC,CAAC;IAC3B,CAAC;CAwBF;8QAtBqB,SAAiB;IACnC,0CAA0C;IAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEpC,oDAAoD;IACpD,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,uBAAA,IAAI,gDAAc,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACnD,OAAO,eAAe,CAAC;AACzB,CAAC,qFAEQ,SAAiB;IACxB,uBAAA,IAAI,gDAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC,6FAEY,KAAY;IACvB,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;QAC/B,0DAA0D;QAC1D,2EAA2E;QAC3E,OAAO,KAAK,CAAC,UAAU,GAAG,GAAG,IAAI,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { createServicePolicy, HttpError } from '@metamask/controller-utils';\nimport type {\n CreateServicePolicyOptions,\n ServicePolicy,\n} from '@metamask/controller-utils';\nimport { handleWhen } from 'cockatiel';\n\nexport type RequestFn<ReturnType> = (\n signal: AbortSignal,\n) => Promise<ReturnType>;\n\nexport class PollingWithCockatielPolicy {\n readonly #policy: ServicePolicy;\n\n readonly #requestEntry = new Map<string, AbortController>();\n\n constructor(policyOptions: CreateServicePolicyOptions = {}) {\n const shouldRetryFunc = this.#shouldRetry.bind(this);\n const retryFilterPolicy = handleWhen(shouldRetryFunc);\n this.#policy = createServicePolicy({\n ...policyOptions,\n retryFilterPolicy,\n });\n }\n\n async start<ReturnType>(\n requestId: string,\n requestFn: RequestFn<ReturnType>,\n ): Promise<ReturnType> {\n const abortController = this.#addNewRequestEntry(requestId);\n\n try {\n const result = await this.#policy.execute(async ({ signal }) => {\n return requestFn(signal);\n }, abortController.signal);\n return result;\n } catch (error) {\n if (abortController.signal.aborted) {\n throw new Error('Request cancelled');\n }\n throw error;\n } finally {\n // Only cleanup if this abort controller is still active. If a new request with the same\n // requestId started while this one was running, it would have replaced with a new abort controller.\n // We must not delete the new request's controller when this older request finishes.\n if (abortController === this.#requestEntry.get(requestId)) {\n this.#cleanup(requestId);\n }\n }\n }\n\n abortPendingRequest(requestId: string): void {\n const abortController = this.#requestEntry.get(requestId);\n abortController?.abort();\n this.#cleanup(requestId);\n }\n\n #addNewRequestEntry(requestId: string): AbortController {\n // abort the previous request if it exists\n this.abortPendingRequest(requestId);\n\n // create a new abort controller for the new request\n const abortController = new AbortController();\n this.#requestEntry.set(requestId, abortController);\n return abortController;\n }\n\n #cleanup(requestId: string): void {\n this.#requestEntry.delete(requestId);\n }\n\n #shouldRetry(error: Error): boolean {\n if (error instanceof HttpError) {\n // Note: we don't retry on 5xx errors, only on 4xx errors.\n // but we won't retry on 400 coz it means that the request body is invalid.\n return error.httpStatus > 400 && error.httpStatus < 500;\n }\n return false;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask/shield-controller",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Controller handling shield transaction coverage logic",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"MetaMask",
|
|
@@ -49,11 +49,11 @@
|
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@metamask/base-controller": "^9.0.0",
|
|
52
|
-
"@metamask/controller-utils": "^11.
|
|
52
|
+
"@metamask/controller-utils": "^11.17.0",
|
|
53
53
|
"@metamask/messenger": "^0.3.0",
|
|
54
|
-
"@metamask/signature-controller": "^
|
|
55
|
-
"@metamask/transaction-controller": "^62.
|
|
56
|
-
"@metamask/utils": "^11.
|
|
54
|
+
"@metamask/signature-controller": "^38.0.0",
|
|
55
|
+
"@metamask/transaction-controller": "^62.7.0",
|
|
56
|
+
"@metamask/utils": "^11.9.0",
|
|
57
57
|
"cockatiel": "^3.1.2"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|