@addon-pass/sdk 0.1.3 → 0.1.5
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/LICENSE +1 -1
- package/README.md +5 -2
- package/dist/access.d.ts +4 -0
- package/dist/access.d.ts.map +1 -0
- package/dist/access.js +17 -0
- package/dist/access.js.map +1 -0
- package/dist/contract.d.ts +1 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +5 -1
- package/dist/contract.js.map +1 -1
- package/dist/verifier.d.ts.map +1 -1
- package/dist/verifier.js +12 -15
- package/dist/verifier.js.map +1 -1
- package/package.json +4 -4
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ The SDK is currently a Base Sepolia `0.x` release. Install the reviewed public
|
|
|
6
6
|
package directly:
|
|
7
7
|
|
|
8
8
|
```sh
|
|
9
|
-
pnpm add @addon-pass/sdk@0.1.
|
|
9
|
+
pnpm add @addon-pass/sdk@0.1.5
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
The public SDK repository contains only middleware source. The AddonPass
|
|
@@ -127,13 +127,16 @@ Do not register an unprotected copy of either handler.
|
|
|
127
127
|
| Unknown or malformed token | Return a generic `404` without disclosing entitlement state. |
|
|
128
128
|
| API network error or `5xx` | Use the optional safe-block contract fallback when configured; otherwise return `503`. |
|
|
129
129
|
| Rejected credential, scope mismatch, or invalid API response | Fail closed. These errors never activate contract fallback. |
|
|
130
|
+
| Positive decision received after its access deadline | Return `503` without invoking the add-on; wait for a current decision. |
|
|
130
131
|
|
|
131
|
-
Successful API decisions use a bounded in-memory LRU cache. Its TTL is at most five seconds and is shortened so it can never extend access beyond paid-through or grace.
|
|
132
|
+
Successful API decisions use a bounded in-memory LRU cache. Its TTL is at most five seconds and is shortened so it can never extend access beyond paid-through or grace. Every returned positive decision is also checked against the server clock after verification finishes, including concurrent requests and disabled caching. Active access ends at `paidThrough`; reported grace ends at `graceEnds`. Exact equality remains allowed. An old active response is never converted into grace because cancellation, exhausted authorization, or disabled renewals may prevent it.
|
|
132
133
|
|
|
133
134
|
## Direct contract fallback
|
|
134
135
|
|
|
135
136
|
`createViemEntitlementFallback` reads the configured non-upgradeable contract at one safe block and cross-checks the stored subscription, hash, developer, chain, and plan scope. It is opt-in. Configure a bounded RPC transport and never treat a credential rejection as an API outage.
|
|
136
137
|
|
|
138
|
+
Direct fallback calls enforce the same access deadline against the server clock after their RPC reads. They can grant grace only when the safe snapshot reports it. Both the fallback and verifier accept an optional `now: () => Date` clock for deterministic tests; production defaults to the server's current time.
|
|
139
|
+
|
|
137
140
|
Use the same verifier instance for every protected route and keep its integration
|
|
138
141
|
credential in the add-on server environment.
|
|
139
142
|
|
package/dist/access.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { EntitlementResponse } from "./types.js";
|
|
2
|
+
export declare function accessDeadlineMs(response: EntitlementResponse): number | null;
|
|
3
|
+
export declare function assertAccessCurrent(response: EntitlementResponse, nowMs: number): void;
|
|
4
|
+
//# sourceMappingURL=access.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAM7E;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,EAAE,MAAM,GACZ,IAAI,CAMN"}
|
package/dist/access.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EntitlementVerificationError } from "./errors.js";
|
|
2
|
+
export function accessDeadlineMs(response) {
|
|
3
|
+
const deadline = response.status === "grace" ? response.graceEnds : response.paidThrough;
|
|
4
|
+
if (!response.entitled || deadline === null)
|
|
5
|
+
return null;
|
|
6
|
+
const parsed = Date.parse(deadline);
|
|
7
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
8
|
+
}
|
|
9
|
+
export function assertAccessCurrent(response, nowMs) {
|
|
10
|
+
if (!response.entitled)
|
|
11
|
+
return;
|
|
12
|
+
const deadlineMs = accessDeadlineMs(response);
|
|
13
|
+
if (!Number.isFinite(nowMs) || deadlineMs === null || nowMs > deadlineMs) {
|
|
14
|
+
throw new EntitlementVerificationError();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=access.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAG3D,MAAM,UAAU,gBAAgB,CAAC,QAA6B;IAC5D,MAAM,QAAQ,GACZ,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC1E,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAA6B,EAC7B,KAAa;IAEb,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAAE,OAAO;IAC/B,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,KAAK,IAAI,IAAI,KAAK,GAAG,UAAU,EAAE,CAAC;QACzE,MAAM,IAAI,4BAA4B,EAAE,CAAC;IAC3C,CAAC;AACH,CAAC"}
|
package/dist/contract.d.ts
CHANGED
|
@@ -5,5 +5,6 @@ export declare function createViemEntitlementFallback(input: {
|
|
|
5
5
|
readonly client: Pick<PublicClient, "getBlock" | "getChainId" | "readContract">;
|
|
6
6
|
readonly contractAddress: Address;
|
|
7
7
|
readonly expectedDeveloperAddress: Address;
|
|
8
|
+
readonly now?: () => Date;
|
|
8
9
|
}): EntitlementFallback;
|
|
9
10
|
//# sourceMappingURL=contract.d.ts.map
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AAQd,OAAO,KAAK,EAAE,mBAAmB,EAAuB,MAAM,YAAY,CAAC;AA6B3E,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,IAAI,CACnB,YAAY,EACZ,UAAU,GAAG,YAAY,GAAG,cAAc,CAC3C,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B,GAAG,mBAAmB,CAgGtB"}
|
package/dist/contract.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getAddress, isAddressEqual, parseAbi, zeroAddress, } from "viem";
|
|
2
|
+
import { assertAccessCurrent } from "./access.js";
|
|
2
3
|
import { AddonPassConfigurationError, EntitlementScopeMismatchError, EntitlementVerificationError, } from "./errors.js";
|
|
3
4
|
const ENTITLEMENT_ABI = parseAbi([
|
|
4
5
|
"function entitlementStatus(bytes32 entitlementHash) view returns (bool entitled, uint64 paidThrough, uint64 graceEnds, uint256 subscriptionId, address developer)",
|
|
@@ -40,6 +41,7 @@ export function createViemEntitlementFallback(input) {
|
|
|
40
41
|
if (isAddressEqual(expectedDeveloperAddress, zeroAddress)) {
|
|
41
42
|
throw new AddonPassConfigurationError();
|
|
42
43
|
}
|
|
44
|
+
const now = input.now ?? (() => new Date());
|
|
43
45
|
return {
|
|
44
46
|
async verify(tokenHash) {
|
|
45
47
|
try {
|
|
@@ -86,7 +88,7 @@ export function createViemEntitlementFallback(input) {
|
|
|
86
88
|
: remainingCharges === 0
|
|
87
89
|
? "authorization_ended"
|
|
88
90
|
: "expired";
|
|
89
|
-
|
|
91
|
+
const response = {
|
|
90
92
|
entitled,
|
|
91
93
|
finality: "safe",
|
|
92
94
|
graceEnds: isoFromSeconds(graceEnds),
|
|
@@ -97,6 +99,8 @@ export function createViemEntitlementFallback(input) {
|
|
|
97
99
|
status,
|
|
98
100
|
subscriptionId: subscriptionId.toString(10),
|
|
99
101
|
};
|
|
102
|
+
assertAccessCurrent(response, now().getTime());
|
|
103
|
+
return response;
|
|
100
104
|
}
|
|
101
105
|
catch (error) {
|
|
102
106
|
if (error instanceof EntitlementScopeMismatchError ||
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,QAAQ,EACR,WAAW,GAGZ,MAAM,MAAM,CAAC;AAEd,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AAGrB,MAAM,eAAe,GAAG,QAAQ,CAAC;IAC/B,mKAAmK;IACnK,mLAAmL;CACpL,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,YAAY,GAAG,KAAK,GAAG,KAAM,CAAC;IACpC,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,4BAA4B,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,QAAQ;IACf,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,IAAI;QACrB,MAAM,EAAE,WAAW;QACnB,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
|
package/dist/verifier.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../src/verifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../src/verifier.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAEzB,MAAM,YAAY,CAAC;AA8FpB,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACzC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,qBAAa,iBAAiB;;gBAahB,OAAO,EAAE,wBAAwB;IAuC7C,KAAK,IAAI,IAAI;IAIb,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI5B,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAqJlE"}
|
package/dist/verifier.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { accessDeadlineMs, assertAccessCurrent } from "./access.js";
|
|
1
2
|
import { AddonPassConfigurationError, AddonPassUnavailableError, EntitlementCredentialRejectedError, EntitlementScopeMismatchError, EntitlementVerificationError, } from "./errors.js";
|
|
2
3
|
import { hashEntitlementToken } from "./token.js";
|
|
3
4
|
import { entitlementResponseSchema, } from "./types.js";
|
|
@@ -73,13 +74,6 @@ async function readBoundedBody(response) {
|
|
|
73
74
|
}
|
|
74
75
|
return text + decoder.decode();
|
|
75
76
|
}
|
|
76
|
-
function accessDeadlineMs(response) {
|
|
77
|
-
const deadline = response.status === "grace" ? response.graceEnds : response.paidThrough;
|
|
78
|
-
if (!response.entitled || deadline === null)
|
|
79
|
-
return null;
|
|
80
|
-
const parsed = Date.parse(deadline);
|
|
81
|
-
return Number.isFinite(parsed) ? parsed : null;
|
|
82
|
-
}
|
|
83
77
|
export class AddonPassVerifier {
|
|
84
78
|
#allowedPlanIds;
|
|
85
79
|
#apiUrl;
|
|
@@ -123,20 +117,23 @@ export class AddonPassVerifier {
|
|
|
123
117
|
const cached = this.#cache.get(tokenHash);
|
|
124
118
|
if (cached !== undefined) {
|
|
125
119
|
if (cached.expiresAtMs > nowMs) {
|
|
120
|
+
assertAccessCurrent(cached.decision, this.#now().getTime());
|
|
126
121
|
this.#cache.delete(tokenHash);
|
|
127
122
|
this.#cache.set(tokenHash, cached);
|
|
128
123
|
return { ...cached.decision, cached: true };
|
|
129
124
|
}
|
|
130
125
|
this.#cache.delete(tokenHash);
|
|
131
126
|
}
|
|
132
|
-
|
|
133
|
-
if (
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
127
|
+
let verification = this.#inFlight.get(tokenHash);
|
|
128
|
+
if (verification === undefined) {
|
|
129
|
+
verification = this.#verify(tokenHash).finally(() => {
|
|
130
|
+
this.#inFlight.delete(tokenHash);
|
|
131
|
+
});
|
|
132
|
+
this.#inFlight.set(tokenHash, verification);
|
|
133
|
+
}
|
|
134
|
+
const decision = await verification;
|
|
135
|
+
assertAccessCurrent(decision, this.#now().getTime());
|
|
136
|
+
return decision;
|
|
140
137
|
}
|
|
141
138
|
async #verify(tokenHash) {
|
|
142
139
|
let verification;
|
package/dist/verifier.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.js","sourceRoot":"","sources":["../src/verifier.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"verifier.js","sourceRoot":"","sources":["../src/verifier.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@addon-pass/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Fail-closed entitlement middleware for private Stremio add-ons using AddonPass.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -19,15 +19,15 @@
|
|
|
19
19
|
"exports": {
|
|
20
20
|
".": {
|
|
21
21
|
"types": "./dist/index.d.ts",
|
|
22
|
-
"
|
|
22
|
+
"default": "./dist/index.js"
|
|
23
23
|
},
|
|
24
24
|
"./express": {
|
|
25
25
|
"types": "./dist/express.d.ts",
|
|
26
|
-
"
|
|
26
|
+
"default": "./dist/express.js"
|
|
27
27
|
},
|
|
28
28
|
"./fastify": {
|
|
29
29
|
"types": "./dist/fastify.d.ts",
|
|
30
|
-
"
|
|
30
|
+
"default": "./dist/fastify.js"
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"files": [
|