@saviours/check 0.1.0 → 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
@@ -1,47 +1,74 @@
1
1
  # `@saviours/check`
2
2
 
3
- Two-line counterparty check. Default path talks to Sepolia ENS only — **zero** `@saviours/core`, **$0**, no our server.
3
+ [![npm](https://img.shields.io/npm/v/@saviours/check.svg)](https://www.npmjs.com/package/@saviours/check)
4
+
5
+ Two-line counterparty check for wallets and agents.
6
+ Default path reads Sepolia ENS only — **$0**, no Saviours server.
7
+
8
+ ```bash
9
+ pnpm add @saviours/check
10
+ # npm i @saviours/check
11
+ ```
4
12
 
5
13
  ```ts
6
- import { check } from "@saviours/check";
14
+ import { check, guard } from "@saviours/check";
7
15
 
8
16
  const r = await check("0x935bfb495e33f74d2e9735df1da66ace442ede48");
9
- if (r.decision === "BLOCK") throw new Error("counterparty is named TAINTED");
17
+ if (r.decision === "BLOCK") throw new Error("named TAINTED");
18
+
19
+ await guard(addr); // throws SavioursBlockedError on BLOCK
10
20
  ```
11
21
 
12
22
  | Mode | Path | Cost | Our server? |
13
23
  |---|---|---|---|
14
24
  | `ens` (default) | PermissionedResolver.text | $0 | No |
15
- | `shield` | `POST /api/shield/check` | $0 | Gateway |
16
- | `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 |
17
27
 
18
- Also: `guard(address)`, `castCommand(address)`.
28
+ ```ts
29
+ await check(addr, { mode: "shield" });
30
+ // unpaid miss → throws with HTTP 402 guidance; or pass apiKey / BAZANTIC_API_KEY
31
+ await check(addr, { mode: "full" });
32
+ ```
19
33
 
20
- ## Install
34
+ Gateway defaults to **`https://saviours.bazgateway.com`** (override with `baseUrl` / `BAZANTIC_GATEWAY_URL`).
35
+ Also exported: `BAZANTIC_GATEWAY`, `BAZANTIC_MCP`, `SAVIOURS_APP_URL`.
21
36
 
22
- ### From git (works today)
37
+ Also: `castCommand(address)`, React helper `@saviours/check/react`.
23
38
 
24
- ```bash
25
- pnpm add github:devhb1/Saviour#path:packages/check
26
- # or
27
- npm install github:devhb1/Saviour#path:packages/check
28
- ```
39
+ ## Product law
40
+
41
+ - Memory hit is always **$0**.
42
+ - **UNKNOWN / no name ≠ SAFE.**
43
+ - Only WATCH / TAINTED are named.
29
44
 
30
- `prepare` runs `tsc` on install so `dist/` is built (it is gitignored in the monorepo).
45
+ ## Bazantic (agents)
31
46
 
32
- ### From npm (after publish)
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` |
33
53
 
34
54
  ```bash
35
- pnpm add @saviours/check
55
+ claude mcp add --transport http saviours https://saviours.bazgateway.com/mcp
36
56
  ```
37
57
 
38
- Requires the npm org `@saviours` and:
58
+ Never bind in agent recipes: `dispute` · `revoke` · `eacProbe`.
39
59
 
40
- ```bash
41
- cd packages/check
42
- npm login
43
- npm publish --access public
44
- ```
60
+ ## Links
61
+
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)
65
+ - OpenAPI: [openapi-saviours.json](https://www.saviours.xyz/openapi-saviours.json)
66
+
67
+ ## Support
68
+
69
+ - Email: [b4harshit01@gmail.com](mailto:b4harshit01@gmail.com)
70
+ - Twitter: [@harshitb01](https://twitter.com/harshitb01)
71
+ - GitHub: [devhb1](https://github.com/devhb1) · [issues](https://github.com/devhb1/Saviour/issues)
45
72
 
46
73
  ## Smoke
47
74
 
@@ -50,4 +77,5 @@ node --input-type=module -e "
50
77
  import { check } from '@saviours/check';
51
78
  console.log(await check('0x935bfb495e33f74d2e9735df1da66ace442ede48'));
52
79
  "
80
+ # → decision BLOCK · status TAINTED
53
81
  ```
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,10 +1,14 @@
1
1
  {
2
2
  "name": "@saviours/check",
3
- "version": "0.1.0",
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
- "author": "SAVIOURS",
7
+ "author": {
8
+ "name": "Harshit Bainsla",
9
+ "email": "b4harshit01@gmail.com",
10
+ "url": "https://github.com/devhb1"
11
+ },
8
12
  "homepage": "https://www.saviours.xyz",
9
13
  "repository": {
10
14
  "type": "git",
@@ -12,7 +16,8 @@
12
16
  "directory": "packages/check"
13
17
  },
14
18
  "bugs": {
15
- "url": "https://github.com/devhb1/Saviour/issues"
19
+ "url": "https://github.com/devhb1/Saviour/issues",
20
+ "email": "b4harshit01@gmail.com"
16
21
  },
17
22
  "keywords": [
18
23
  "ethereum",
@@ -58,6 +63,7 @@
58
63
  "viem": "^2.56.3"
59
64
  },
60
65
  "devDependencies": {
66
+ "@types/node": "^20.19.43",
61
67
  "typescript": "^5.7.2"
62
68
  },
63
69
  "engines": {