@ghostgate/sdk 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
@@ -8,7 +8,7 @@ Node.js SDK for Ghost Protocol gate access, fulfillment, telemetry, and canary h
8
8
  npm install @ghostgate/sdk
9
9
  ```
10
10
 
11
- Until the package is published to npm, you can also test locally from this repo:
11
+ If you need to test unreleased SDK changes from this repo locally:
12
12
 
13
13
  ```bash
14
14
  npm run build:sdk
@@ -31,7 +31,7 @@ npm install ../GHOST_PROTOCOL/packages/sdk
31
31
  ## Example
32
32
 
33
33
  ```ts
34
- import { GhostAgent, GhostMerchant } from "@ghostgate/sdk";
34
+ import { GhostAgent } from "@ghostgate/sdk";
35
35
 
36
36
  const sdk = new GhostAgent({
37
37
  apiKey: process.env.GHOST_API_KEY,
@@ -43,3 +43,12 @@ const sdk = new GhostAgent({
43
43
  await sdk.connect();
44
44
  await sdk.pulse();
45
45
  ```
46
+
47
+ ## Fulfillment Merchant Default Signer
48
+
49
+ `GhostFulfillmentMerchant` and `GhostMerchant` default `protocolSignerAddresses` to the current Ghost production fulfillment signer set:
50
+
51
+ - `0xf879f5e26aa52663887f97a51d3444afef8df3fc`
52
+
53
+ For normal Ghost-hosted production merchants, leave that allowlist unset.
54
+ Only override it for self-hosted/custom ticket issuers or when Ghost explicitly instructs you during signer rotation.
@@ -1,5 +1,6 @@
1
1
  import { parseWireFulfillmentTicketMessage } from "./fulfillment-eip712.js";
2
2
  import { type FulfillmentDeliveryProofEnvelope, type FulfillmentTicketEnvelope, type FulfillmentTicketHeaderRecord, type Hex32 } from "./fulfillment-types.js";
3
+ export declare const DEFAULT_FULFILLMENT_PROTOCOL_SIGNER_ADDRESSES: readonly ["0xf879f5e26aa52663887f97a51d3444afef8df3fc"];
3
4
  type QueryInput = string | URLSearchParams | Record<string, string | number | boolean | null | undefined>;
4
5
  export type GhostFulfillmentConsumerConfig = {
5
6
  baseUrl?: string;
@@ -10,7 +11,7 @@ export type GhostFulfillmentConsumerConfig = {
10
11
  export type GhostFulfillmentMerchantConfig = {
11
12
  baseUrl?: string;
12
13
  delegatedPrivateKey?: `0x${string}`;
13
- protocolSignerAddresses: Array<`0x${string}` | string>;
14
+ protocolSignerAddresses?: Array<`0x${string}` | string>;
14
15
  chainId?: number;
15
16
  };
16
17
  export type FulfillmentExecuteInput = {
@@ -1 +1 @@
1
- {"version":3,"file":"fulfillment.d.ts","sourceRoot":"","sources":["../src/fulfillment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fulfillment.d.ts","sourceRoot":"","sources":["../src/fulfillment.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ import { FULFILLMENT_DEFAULT_CHAIN_ID, } from "./fulfillment-types.js";
6
6
  import { FULFILLMENT_ZERO_HASH_32, hashCanonicalFulfillmentBodyJson, hashCanonicalFulfillmentQuery, sha256HexUtf8, } from "./fulfillment-hash.js";
7
7
  const DEFAULT_BASE_URL = "https://ghostprotocol.cc";
8
8
  const DEFAULT_TICKET_COST = 1;
9
+ export const DEFAULT_FULFILLMENT_PROTOCOL_SIGNER_ADDRESSES = [
10
+ "0xf879f5e26aa52663887f97a51d3444afef8df3fc",
11
+ ];
9
12
  const normalizeBaseUrl = (value) => value.replace(/\/+$/, "");
10
13
  const parseJsonSafe = async (response) => {
11
14
  try {
@@ -264,8 +267,9 @@ export class GhostFulfillmentConsumer {
264
267
  }
265
268
  }
266
269
  const normalizeProtocolSignerAddressSet = (addresses) => {
270
+ const source = addresses ?? DEFAULT_FULFILLMENT_PROTOCOL_SIGNER_ADDRESSES;
267
271
  const normalized = new Set();
268
- for (const raw of addresses) {
272
+ for (const raw of source) {
269
273
  const trimmed = raw.trim().toLowerCase();
270
274
  if (/^0x[a-f0-9]{40}$/.test(trimmed)) {
271
275
  normalized.add(trimmed);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ghostgate/sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Ghost Protocol Node.js SDK for gate access, fulfillment, telemetry, and canary helpers.",
5
5
  "author": "Ghost Protocol",
6
6
  "license": "MIT",