phygital-payment-sdk 0.2.0 → 0.4.0
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/dist/arbiter/client.d.ts +1 -0
- package/dist/arbiter/client.d.ts.map +1 -1
- package/dist/arbiter/client.js +5 -5
- package/dist/arbiter/client.js.map +1 -1
- package/dist/core/transactions.d.ts +0 -2
- package/dist/core/transactions.d.ts.map +1 -1
- package/dist/core/transactions.js +0 -17
- package/dist/core/transactions.js.map +1 -1
- package/dist/generated/accounts/merchantOperator.d.ts +2 -0
- package/dist/generated/accounts/merchantOperator.d.ts.map +1 -1
- package/dist/generated/accounts/merchantOperator.js +3 -1
- package/dist/generated/accounts/merchantOperator.js.map +1 -1
- package/dist/generated/instructions/addMerchantOperator.d.ts +15 -11
- package/dist/generated/instructions/addMerchantOperator.d.ts.map +1 -1
- package/dist/generated/instructions/addMerchantOperator.js +9 -4
- package/dist/generated/instructions/addMerchantOperator.js.map +1 -1
- package/dist/generated/instructions/disputeAuthorization.d.ts +19 -15
- package/dist/generated/instructions/disputeAuthorization.d.ts.map +1 -1
- package/dist/generated/instructions/disputeAuthorization.js +9 -4
- package/dist/generated/instructions/disputeAuthorization.js.map +1 -1
- package/dist/generated/instructions/registerArbiter.d.ts +15 -11
- package/dist/generated/instructions/registerArbiter.d.ts.map +1 -1
- package/dist/generated/instructions/registerArbiter.js +9 -4
- package/dist/generated/instructions/registerArbiter.js.map +1 -1
- package/dist/generated/instructions/removeMerchantOperator.d.ts +14 -10
- package/dist/generated/instructions/removeMerchantOperator.d.ts.map +1 -1
- package/dist/generated/instructions/removeMerchantOperator.js +9 -4
- package/dist/generated/instructions/removeMerchantOperator.js.map +1 -1
- package/dist/generated/instructions/setAuthorizedCredential.d.ts +11 -15
- package/dist/generated/instructions/setAuthorizedCredential.d.ts.map +1 -1
- package/dist/generated/instructions/setAuthorizedCredential.js +2 -13
- package/dist/generated/instructions/setAuthorizedCredential.js.map +1 -1
- package/dist/generated/instructions/setPaymentEnabler.d.ts +10 -14
- package/dist/generated/instructions/setPaymentEnabler.d.ts.map +1 -1
- package/dist/generated/instructions/setPaymentEnabler.js +2 -13
- package/dist/generated/instructions/setPaymentEnabler.js.map +1 -1
- package/dist/generated/programs/phygitalPayment.d.ts +3 -3
- package/dist/generated/programs/phygitalPayment.d.ts.map +1 -1
- package/dist/generated/programs/phygitalPayment.js +12 -3
- package/dist/generated/programs/phygitalPayment.js.map +1 -1
- package/dist/merchant/client.d.ts.map +1 -1
- package/dist/merchant/client.js +12 -0
- package/dist/merchant/client.js.map +1 -1
- package/dist/wallet/client.d.ts +1 -0
- package/dist/wallet/client.d.ts.map +1 -1
- package/dist/wallet/client.js +48 -25
- package/dist/wallet/client.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/provider-fee-payer.d.ts +0 -5
- package/dist/core/provider-fee-payer.d.ts.map +0 -1
- package/dist/core/provider-fee-payer.js +0 -17
- package/dist/core/provider-fee-payer.js.map +0 -1
- package/dist/server/deferred-flusher.d.ts +0 -19
- package/dist/server/deferred-flusher.d.ts.map +0 -1
- package/dist/server/deferred-flusher.js +0 -57
- package/dist/server/deferred-flusher.js.map +0 -1
- package/dist/server/fee-budget.d.ts +0 -22
- package/dist/server/fee-budget.d.ts.map +0 -1
- package/dist/server/fee-budget.js +0 -58
- package/dist/server/fee-budget.js.map +0 -1
- package/dist/server/fee-payer.d.ts +0 -27
- package/dist/server/fee-payer.d.ts.map +0 -1
- package/dist/server/fee-payer.js +0 -167
- package/dist/server/fee-payer.js.map +0 -1
- package/dist/server/queue.d.ts +0 -43
- package/dist/server/queue.d.ts.map +0 -1
- package/dist/server/queue.js +0 -105
- package/dist/server/queue.js.map +0 -1
package/dist/server/queue.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { ProgramExecutionError, toSdkError } from "../core/errors.js";
|
|
2
|
-
import { deserializeInstructions, } from "../core/instruction-codec.js";
|
|
3
|
-
import { nowSeconds } from "../core/time.js";
|
|
4
|
-
import { createTransactionRuntime } from "../core/transactions.js";
|
|
5
|
-
export function createInMemoryQueueStore() {
|
|
6
|
-
const rows = new Map();
|
|
7
|
-
const byReference = new Map();
|
|
8
|
-
let nextId = 1;
|
|
9
|
-
return {
|
|
10
|
-
enqueue(item) {
|
|
11
|
-
if (item.reference) {
|
|
12
|
-
const existing = byReference.get(item.reference);
|
|
13
|
-
if (existing)
|
|
14
|
-
return Promise.resolve(existing);
|
|
15
|
-
}
|
|
16
|
-
const id = `q_${nextId++}`;
|
|
17
|
-
rows.set(id, { ...item, id, attempts: 0, status: "pending" });
|
|
18
|
-
if (item.reference)
|
|
19
|
-
byReference.set(item.reference, id);
|
|
20
|
-
return Promise.resolve(id);
|
|
21
|
-
},
|
|
22
|
-
due(nowSecs, leadTimeSecs, limit) {
|
|
23
|
-
const ready = [...rows.values()]
|
|
24
|
-
.filter((row) => row.status === "pending" && row.executeBy <= nowSecs + leadTimeSecs)
|
|
25
|
-
.sort((a, b) => a.executeBy - b.executeBy)
|
|
26
|
-
.slice(0, limit);
|
|
27
|
-
return Promise.resolve(ready.map((row) => ({ ...row })));
|
|
28
|
-
},
|
|
29
|
-
markDone(id, signature) {
|
|
30
|
-
const row = rows.get(id);
|
|
31
|
-
if (row)
|
|
32
|
-
Object.assign(row, { status: "done", signature });
|
|
33
|
-
return Promise.resolve();
|
|
34
|
-
},
|
|
35
|
-
markFailed(id, error, retryable) {
|
|
36
|
-
const row = rows.get(id);
|
|
37
|
-
if (row) {
|
|
38
|
-
row.attempts += 1;
|
|
39
|
-
row.error = error;
|
|
40
|
-
if (!retryable)
|
|
41
|
-
row.status = "failed";
|
|
42
|
-
}
|
|
43
|
-
return Promise.resolve();
|
|
44
|
-
},
|
|
45
|
-
items: () => [...rows.values()].map((row) => ({ ...row })),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
export function createQueueRunner(config) {
|
|
49
|
-
const runtime = createTransactionRuntime(config);
|
|
50
|
-
const leadTime = config.leadTimeSecs ?? 300;
|
|
51
|
-
const batchSize = config.batchSize ?? 25;
|
|
52
|
-
const maxAttempts = config.maxAttempts ?? 5;
|
|
53
|
-
let timer = null;
|
|
54
|
-
let ticking = false;
|
|
55
|
-
async function executeItem(item) {
|
|
56
|
-
const now = nowSeconds();
|
|
57
|
-
if (now > item.executeBy) {
|
|
58
|
-
await config.store.markFailed(item.id, `deadline ${item.executeBy} passed at ${now}`, false);
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
try {
|
|
62
|
-
const instructions = deserializeInstructions(item.instructions);
|
|
63
|
-
const signature = await runtime.sendAndConfirm(config.feePayer, instructions);
|
|
64
|
-
await config.store.markDone(item.id, signature);
|
|
65
|
-
config.onResult?.({ item, signature });
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
const sdkError = toSdkError(error);
|
|
69
|
-
const retryable = !(sdkError instanceof ProgramExecutionError) &&
|
|
70
|
-
item.attempts + 1 < maxAttempts;
|
|
71
|
-
await config.store.markFailed(item.id, sdkError.message, retryable);
|
|
72
|
-
config.onResult?.({ item, error: sdkError });
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
async function tick() {
|
|
76
|
-
if (ticking)
|
|
77
|
-
return 0;
|
|
78
|
-
ticking = true;
|
|
79
|
-
try {
|
|
80
|
-
const due = await config.store.due(nowSeconds(), leadTime, batchSize);
|
|
81
|
-
for (const item of due) {
|
|
82
|
-
await executeItem(item);
|
|
83
|
-
}
|
|
84
|
-
return due.length;
|
|
85
|
-
}
|
|
86
|
-
finally {
|
|
87
|
-
ticking = false;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
tick,
|
|
92
|
-
start() {
|
|
93
|
-
if (timer)
|
|
94
|
-
return;
|
|
95
|
-
timer = setInterval(() => void tick(), config.pollIntervalMs ?? 15_000);
|
|
96
|
-
},
|
|
97
|
-
stop() {
|
|
98
|
-
if (timer) {
|
|
99
|
-
clearInterval(timer);
|
|
100
|
-
timer = null;
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=queue.js.map
|
package/dist/server/queue.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/server/queue.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAgC,MAAM,mBAAmB,CAAC;AACpG,OAAO,EACL,uBAAuB,GAExB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAyBnE,MAAM,UAAU,wBAAwB;IAQtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAC;IACpC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO;QACL,OAAO,CAAC,IAAI;YACV,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjD,IAAI,QAAQ;oBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,SAAS;gBAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACxD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK;YAC9B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;iBAC7B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,OAAO,GAAG,YAAY,CAAC;iBACpF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;iBACzC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,QAAQ,CAAC,EAAE,EAAE,SAAS;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,GAAG;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,GAAG,EAAE,CAAC;gBACR,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;gBAClB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,SAAS;oBAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC;YACxC,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AA6BD,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACzD,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IAC5C,IAAI,KAAK,GAA0C,IAAI,CAAC;IACxD,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,UAAU,WAAW,CAAC,IAAgB;QACzC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACzB,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAC3B,IAAI,CAAC,EAAE,EACP,YAAY,IAAI,CAAC,SAAS,cAAc,GAAG,EAAE,EAC7C,KAAK,CACN,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAGhE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC9E,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,SAAmB,CAAC,CAAC;YAC1D,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAGnC,MAAM,SAAS,GACb,CAAC,CAAC,QAAQ,YAAY,qBAAqB,CAAC;gBAC5C,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,WAAW,CAAC;YAClC,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,KAAK,UAAU,IAAI;QACjB,IAAI,OAAO;YAAE,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACtE,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBACvB,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,KAAK;YACH,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|