@ghostgate/sdk 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 +9 -0
- package/dist/fulfillment.d.ts +2 -1
- package/dist/fulfillment.d.ts.map +1 -1
- package/dist/fulfillment.js +5 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -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.
|
package/dist/fulfillment.d.ts
CHANGED
|
@@ -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
|
|
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":"AAGA,OAAO,EAQL,iCAAiC,EAMlC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,gCAAgC,EACrC,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,KAAK,EACX,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"fulfillment.d.ts","sourceRoot":"","sources":["../src/fulfillment.ts"],"names":[],"mappings":"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"}
|
package/dist/fulfillment.js
CHANGED
|
@@ -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
|
|
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);
|