@saviours/check 0.1.1 → 0.1.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.
package/README.md CHANGED
@@ -22,14 +22,18 @@ await guard(addr); // throws SavioursBlockedError on BLOCK
22
22
  | Mode | Path | Cost | Our server? |
23
23
  |---|---|---|---|
24
24
  | `ens` (default) | PermissionedResolver.text | $0 | No |
25
- | `shield` | `POST /api/shield/check` | $0 | Gateway |
26
- | `full` | `POST /api/investigate` | USDC on miss | Gateway |
25
+ | `shield` | `POST …/api/shield/check` | $0 | Bazantic gateway |
26
+ | `full` | `POST …/api/investigate` | ~$0.01 on miss (x402) | Bazantic gateway |
27
27
 
28
28
  ```ts
29
29
  await check(addr, { mode: "shield" });
30
+ // unpaid miss → throws with HTTP 402 guidance; or pass apiKey / BAZANTIC_API_KEY
30
31
  await check(addr, { mode: "full" });
31
32
  ```
32
33
 
34
+ Gateway defaults to **`https://saviours.bazgateway.com`** (override with `baseUrl` / `BAZANTIC_GATEWAY_URL`).
35
+ Also exported: `BAZANTIC_GATEWAY`, `BAZANTIC_MCP`, `SAVIOURS_APP_URL`.
36
+
33
37
  Also: `castCommand(address)`, React helper `@saviours/check/react`.
34
38
 
35
39
  ## Product law
@@ -38,11 +42,26 @@ Also: `castCommand(address)`, React helper `@saviours/check/react`.
38
42
  - **UNKNOWN / no name ≠ SAFE.**
39
43
  - Only WATCH / TAINTED are named.
40
44
 
45
+ ## Bazantic (agents)
46
+
47
+ | | |
48
+ |---|---|
49
+ | Gateway | `https://saviours.bazgateway.com` |
50
+ | MCP | `https://saviours.bazgateway.com/mcp` (POST) |
51
+ | Tiers | Free `$0` · Standard `~$0.01` · Complex `~$0.05` |
52
+ | Recipes | `safe-swap-with-memory` · `saviours-check-before-sign` · `investigate-once-explain` · `dossier-deep-dive` · `fleet-triage` |
53
+
54
+ ```bash
55
+ claude mcp add --transport http saviours https://saviours.bazgateway.com/mcp
56
+ ```
57
+
58
+ Never bind in agent recipes: `dispute` · `revoke` · `eacProbe`.
59
+
41
60
  ## Links
42
61
 
43
- - App: [www.saviours.xyz](https://www.saviours.xyz) · Build · Wallet gate
44
- - Integrate guide: [docs/INTEGRATE.md](https://github.com/devhb1/Saviour/blob/main/docs/INTEGRATE.md)
45
- - MCP: `https://saviour.bazgateway.com/mcp`
62
+ - App: [www.saviours.xyz](https://www.saviours.xyz) · Build · Wallet gate · [/gateway](https://www.saviours.xyz/gateway)
63
+ - Integrate: [docs/INTEGRATE.md](https://github.com/devhb1/Saviour/blob/main/docs/INTEGRATE.md)
64
+ - Recipes: [docs/recipes/PUBLISH_KIT.md](https://github.com/devhb1/Saviour/blob/main/docs/recipes/PUBLISH_KIT.md)
46
65
  - OpenAPI: [openapi-saviours.json](https://www.saviours.xyz/openapi-saviours.json)
47
66
 
48
67
  ## Support
package/dist/gateway.d.ts CHANGED
@@ -1,4 +1,10 @@
1
1
  import type { CheckOptions, CheckResult } from "./types.js";
2
+ /** Canonical Bazantic x402 / MCP gateway (preferred for shield + full). */
3
+ export declare const BAZANTIC_GATEWAY: "https://saviours.bazgateway.com";
4
+ /** Public Vercel upstream (fail-closed writes). */
5
+ export declare const SAVIOURS_APP_URL: "https://www.saviours.xyz";
6
+ /** MCP endpoint (POST only). */
7
+ export declare const BAZANTIC_MCP: "https://saviours.bazgateway.com/mcp";
2
8
  export declare function checkShield(address: string, opts?: CheckOptions): Promise<CheckResult>;
3
9
  export declare function checkFull(address: string, opts?: CheckOptions): Promise<CheckResult>;
4
10
  //# sourceMappingURL=gateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAY,MAAM,YAAY,CAAC;AAqBtE,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,WAAW,CAAC,CA4DtB;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,WAAW,CAAC,CA0DtB"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAY,MAAM,YAAY,CAAC;AAEtE,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,EAAG,iCAA0C,CAAC;AAE3E,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,EAAG,0BAAmC,CAAC;AAEpE,gCAAgC;AAChC,eAAO,MAAM,YAAY,uCAAqC,CAAC;AA8B/D,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,WAAW,CAAC,CAkEtB;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,WAAW,CAAC,CAmEtB"}
package/dist/gateway.js CHANGED
@@ -1,4 +1,10 @@
1
- const DEFAULT_BASE = "https://www.saviours.xyz";
1
+ /** Canonical Bazantic x402 / MCP gateway (preferred for shield + full). */
2
+ export const BAZANTIC_GATEWAY = "https://saviours.bazgateway.com";
3
+ /** Public Vercel upstream (fail-closed writes). */
4
+ export const SAVIOURS_APP_URL = "https://www.saviours.xyz";
5
+ /** MCP endpoint (POST only). */
6
+ export const BAZANTIC_MCP = `${BAZANTIC_GATEWAY}/mcp`;
7
+ const DEFAULT_BASE = BAZANTIC_GATEWAY;
2
8
  function requireAddress(address) {
3
9
  const a = address.trim().toLowerCase();
4
10
  if (!/^0x[a-f0-9]{40}$/.test(a)) {
@@ -7,17 +13,28 @@ function requireAddress(address) {
7
13
  return a;
8
14
  }
9
15
  function baseUrl(opts) {
10
- return (opts.baseUrl ??
11
- process.env.SAVIOURS_BASE_URL ??
12
- process.env.PUBLIC_APP_URL ??
13
- DEFAULT_BASE).replace(/\/$/, "");
16
+ const raw = opts.baseUrl?.trim() ||
17
+ process.env.BAZANTIC_GATEWAY_URL?.trim() ||
18
+ process.env.SAVIOURS_BASE_URL?.trim() ||
19
+ process.env.PUBLIC_APP_URL?.trim() ||
20
+ DEFAULT_BASE;
21
+ return raw.replace(/\/$/, "");
22
+ }
23
+ function authHeaders(opts) {
24
+ const key = opts.apiKey?.trim() ||
25
+ process.env.BAZANTIC_API_KEY?.trim() ||
26
+ process.env.BAZENTI_API_KEY?.trim();
27
+ return key ? { Authorization: `Bearer ${key}` } : {};
14
28
  }
15
29
  export async function checkShield(address, opts = {}) {
16
30
  const addr = requireAddress(address);
17
31
  const t0 = Date.now();
18
32
  const res = await fetch(`${baseUrl(opts)}/api/shield/check`, {
19
33
  method: "POST",
20
- headers: { "content-type": "application/json" },
34
+ headers: {
35
+ "content-type": "application/json",
36
+ ...authHeaders(opts),
37
+ },
21
38
  body: JSON.stringify({
22
39
  chainId: opts.chainId ?? 1,
23
40
  address: addr,
@@ -43,9 +60,12 @@ export async function checkShield(address, opts = {}) {
43
60
  : json.check.decision === "ALLOW"
44
61
  ? "SAFE"
45
62
  : "UNKNOWN",
46
- ensName: json.check.ensName ??
47
- `${addr}.saviours.eth`,
48
- source: source === "none" && json.check.decision === "ESCALATE" ? "none" : source === "ens" ? "ens" : "shield",
63
+ ensName: json.check.ensName ?? `${addr}.saviours.eth`,
64
+ source: source === "none" && json.check.decision === "ESCALATE"
65
+ ? "none"
66
+ : source === "ens"
67
+ ? "ens"
68
+ : "shield",
49
69
  reason: json.check.reason,
50
70
  latencyMs: typeof json.check.latencyMs === "number"
51
71
  ? json.check.latencyMs
@@ -63,7 +83,10 @@ export async function checkFull(address, opts = {}) {
63
83
  const t0 = Date.now();
64
84
  const res = await fetch(`${baseUrl(opts)}/api/investigate`, {
65
85
  method: "POST",
66
- headers: { "content-type": "application/json" },
86
+ headers: {
87
+ "content-type": "application/json",
88
+ ...authHeaders(opts),
89
+ },
67
90
  body: JSON.stringify({
68
91
  chainId: opts.chainId ?? 1,
69
92
  address: addr,
@@ -72,7 +95,10 @@ export async function checkFull(address, opts = {}) {
72
95
  registryNetwork: opts.registryNetwork ?? "sepolia",
73
96
  }),
74
97
  });
75
- const json = (await res.json());
98
+ const json = (await res.json().catch(() => ({})));
99
+ if (res.status === 402) {
100
+ throw new Error("investigate unpaid (HTTP 402 x402). Settle USDC on Base via Bazantic grant, or pass apiKey / BAZANTIC_API_KEY. Gateway: https://saviours.bazgateway.com");
101
+ }
76
102
  if (!res.ok) {
77
103
  throw new Error(json.error || `investigate HTTP ${res.status}`);
78
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,OAAO,CAAC,IAAkB;IACjC,OAAO,CACL,IAAI,CAAC,OAAO;QACZ,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7B,OAAO,CAAC,GAAG,CAAC,cAAc;QAC1B,YAAY,CACb,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,OAAqB,EAAE;IAEvB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE;QAC3D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC;YAC1B,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;SACnD,CAAC;KACH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAU7B,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,qBAAqB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,MAAM,MAAM,GACV,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,UAAU;QAC7C,CAAC,CAAC,SAAS,KAAK,KAAK;YACnB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,QAAQ;QACZ,CAAC,CAAC,MAAM,CAAC;IAEb,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;QAC7B,MAAM,EACJ,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO;YAC7B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM;gBAC9B,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO;oBAC/B,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,SAAS;QACnB,OAAO,EACL,IAAI,CAAC,KAAK,CAAC,OAAO;YAClB,GAAG,IAAI,eAAe;QACxB,MAAM,EAAE,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;QAC9G,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;QACzB,SAAS,EACP,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ;YACtC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;YACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;QACrB,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,IAAI,CAAC;YACxC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC;YAChC,GAAG,EAAE,CAAC;SACP;QACD,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAe,EACf,OAAqB,EAAE;IAEvB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE;QAC1D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC;YAC1B,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;YAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;YACpC,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;SACnD,CAAC;KACH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAW7B,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,oBAAoB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,IAAI,QAAQ,GAAa,UAAU,CAAC;IACpC,IAAI,MAAM,KAAK,SAAS;QAAE,QAAQ,GAAG,OAAO,CAAC;SACxC,IAAI,MAAM,KAAK,OAAO;QAAE,QAAQ,GAAG,MAAM,CAAC;SAC1C,IAAI,MAAM,KAAK,MAAM;QAAE,QAAQ,GAAG,OAAO,CAAC;SAC1C,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ;QAAE,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAEhE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE5D,OAAO;QACL,QAAQ;QACR,MAAM;QACN,OAAO,EAAE,GAAG,IAAI,eAAe;QAC/B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa;QACtC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC;QACjD,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;QAClD,IAAI,EAAE;YACJ,KAAK;YACL,EAAE;YACF,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;SACpB;QACD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,GAAG;YACT,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,mDAAmD;KACxD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,6 @@ export { check } from "./check.js";
2
2
  export { guard, SavioursBlockedError } from "./guard.js";
3
3
  export { castCommand } from "./castCommand.js";
4
4
  export { checkEns } from "./ens.js";
5
- export { checkShield, checkFull } from "./gateway.js";
5
+ export { checkShield, checkFull, BAZANTIC_GATEWAY, BAZANTIC_MCP, SAVIOURS_APP_URL, } from "./gateway.js";
6
6
  export type { CheckCost, CheckMode, CheckOptions, CheckResult, Decision, } from "./types.js";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EACL,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -2,5 +2,5 @@ export { check } from "./check.js";
2
2
  export { guard, SavioursBlockedError } from "./guard.js";
3
3
  export { castCommand } from "./castCommand.js";
4
4
  export { checkEns } from "./ens.js";
5
- export { checkShield, checkFull } from "./gateway.js";
5
+ export { checkShield, checkFull, BAZANTIC_GATEWAY, BAZANTIC_MCP, SAVIOURS_APP_URL, } from "./gateway.js";
6
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EACL,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GACjB,MAAM,cAAc,CAAC"}
package/dist/types.d.ts CHANGED
@@ -27,8 +27,10 @@ export type CheckOptions = {
27
27
  resolver?: `0x${string}`;
28
28
  /** Parent name, default saviours.eth */
29
29
  parent?: string;
30
- /** Gateway / app origin for shield + full. */
30
+ /** Gateway / app origin for shield + full. Default: Bazantic `saviours.bazgateway.com`. */
31
31
  baseUrl?: string;
32
+ /** Bazantic JWT for paid investigate bypass (or set BAZANTIC_API_KEY). */
33
+ apiKey?: string;
32
34
  chainId?: number;
33
35
  registryNetwork?: "sepolia" | "anvil";
34
36
  /** full mode only — force Graph path */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,oCAAoC;IACpC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACtC,wCAAwC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,oCAAoC;IACpC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACtC,wCAAwC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@saviours/check",
3
- "version": "0.1.1",
4
- "description": "Two-line counterparty check — ENS first, optional Shield/investigate gateway",
3
+ "version": "0.1.2",
4
+ "description": "Two-line counterparty check — ENS first, Bazantic Shield/investigate gateway",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "author": {
@@ -63,6 +63,7 @@
63
63
  "viem": "^2.56.3"
64
64
  },
65
65
  "devDependencies": {
66
+ "@types/node": "^20.19.43",
66
67
  "typescript": "^5.7.2"
67
68
  },
68
69
  "engines": {