phygital-payment-sdk 0.2.0 → 0.3.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.
Files changed (56) hide show
  1. package/dist/arbiter/client.d.ts +1 -0
  2. package/dist/arbiter/client.d.ts.map +1 -1
  3. package/dist/arbiter/client.js +5 -5
  4. package/dist/arbiter/client.js.map +1 -1
  5. package/dist/generated/accounts/merchantOperator.d.ts +2 -0
  6. package/dist/generated/accounts/merchantOperator.d.ts.map +1 -1
  7. package/dist/generated/accounts/merchantOperator.js +3 -1
  8. package/dist/generated/accounts/merchantOperator.js.map +1 -1
  9. package/dist/generated/instructions/addMerchantOperator.d.ts +15 -11
  10. package/dist/generated/instructions/addMerchantOperator.d.ts.map +1 -1
  11. package/dist/generated/instructions/addMerchantOperator.js +9 -4
  12. package/dist/generated/instructions/addMerchantOperator.js.map +1 -1
  13. package/dist/generated/instructions/disputeAuthorization.d.ts +19 -15
  14. package/dist/generated/instructions/disputeAuthorization.d.ts.map +1 -1
  15. package/dist/generated/instructions/disputeAuthorization.js +9 -4
  16. package/dist/generated/instructions/disputeAuthorization.js.map +1 -1
  17. package/dist/generated/instructions/registerArbiter.d.ts +15 -11
  18. package/dist/generated/instructions/registerArbiter.d.ts.map +1 -1
  19. package/dist/generated/instructions/registerArbiter.js +9 -4
  20. package/dist/generated/instructions/registerArbiter.js.map +1 -1
  21. package/dist/generated/instructions/removeMerchantOperator.d.ts +14 -10
  22. package/dist/generated/instructions/removeMerchantOperator.d.ts.map +1 -1
  23. package/dist/generated/instructions/removeMerchantOperator.js +9 -4
  24. package/dist/generated/instructions/removeMerchantOperator.js.map +1 -1
  25. package/dist/generated/programs/phygitalPayment.d.ts +3 -3
  26. package/dist/generated/programs/phygitalPayment.d.ts.map +1 -1
  27. package/dist/generated/programs/phygitalPayment.js +12 -3
  28. package/dist/generated/programs/phygitalPayment.js.map +1 -1
  29. package/dist/merchant/client.d.ts.map +1 -1
  30. package/dist/merchant/client.js +12 -0
  31. package/dist/merchant/client.js.map +1 -1
  32. package/dist/wallet/client.d.ts +1 -0
  33. package/dist/wallet/client.d.ts.map +1 -1
  34. package/dist/wallet/client.js +17 -15
  35. package/dist/wallet/client.js.map +1 -1
  36. package/package.json +1 -1
  37. package/dist/core/provider-fee-payer.d.ts +0 -5
  38. package/dist/core/provider-fee-payer.d.ts.map +0 -1
  39. package/dist/core/provider-fee-payer.js +0 -17
  40. package/dist/core/provider-fee-payer.js.map +0 -1
  41. package/dist/server/deferred-flusher.d.ts +0 -19
  42. package/dist/server/deferred-flusher.d.ts.map +0 -1
  43. package/dist/server/deferred-flusher.js +0 -57
  44. package/dist/server/deferred-flusher.js.map +0 -1
  45. package/dist/server/fee-budget.d.ts +0 -22
  46. package/dist/server/fee-budget.d.ts.map +0 -1
  47. package/dist/server/fee-budget.js +0 -58
  48. package/dist/server/fee-budget.js.map +0 -1
  49. package/dist/server/fee-payer.d.ts +0 -27
  50. package/dist/server/fee-payer.d.ts.map +0 -1
  51. package/dist/server/fee-payer.js +0 -167
  52. package/dist/server/fee-payer.js.map +0 -1
  53. package/dist/server/queue.d.ts +0 -43
  54. package/dist/server/queue.d.ts.map +0 -1
  55. package/dist/server/queue.js +0 -105
  56. package/dist/server/queue.js.map +0 -1
@@ -21,6 +21,7 @@ export function createWalletClient(config) {
21
21
  const tokenProgram = config.tokenProgram ?? TOKEN_PROGRAM_ADDRESS;
22
22
  const runtime = createTransactionRuntime(config);
23
23
  const owner = config.owner;
24
+ const feePayer = config.feePayer ?? owner;
24
25
  function seeds(mint) {
25
26
  return { owner: owner.address, mint, tokenProgram };
26
27
  }
@@ -45,10 +46,10 @@ export function createWalletClient(config) {
45
46
  }
46
47
  const paymentAccount = await derivePaymentAccountAddress(seeds(mint));
47
48
  const escrow = await deriveEscrowAddress(seeds(mint));
48
- const createEscrow = await getCreateAssociatedTokenIdempotentInstructionAsync({ payer: owner, owner: paymentAccount, mint, tokenProgram });
49
+ const createEscrow = await getCreateAssociatedTokenIdempotentInstructionAsync({ payer: feePayer, owner: paymentAccount, mint, tokenProgram });
49
50
  const setEnabler = await getSetPaymentEnablerInstructionAsync({
50
51
  owner,
51
- payer: owner,
52
+ payer: feePayer,
52
53
  escrowTokenAccount: createNoopSigner(escrow),
53
54
  mint,
54
55
  tokenProgram,
@@ -60,7 +61,7 @@ export function createWalletClient(config) {
60
61
  const escrow = await deriveEscrowAddress(seeds(mint));
61
62
  const instruction = await getSetAuthorizedCredentialInstructionAsync({
62
63
  owner,
63
- payer: owner,
64
+ payer: feePayer,
64
65
  escrowTokenAccount: createNoopSigner(escrow),
65
66
  asset,
66
67
  mint,
@@ -127,7 +128,7 @@ export function createWalletClient(config) {
127
128
  amount: params.reserve,
128
129
  }));
129
130
  }
130
- const signature = await runtime.sendAndConfirm(owner, instructions);
131
+ const signature = await runtime.sendAndConfirm(feePayer, instructions);
131
132
  return { signature, paymentAccount, escrow };
132
133
  },
133
134
  async setTapLimit(params) {
@@ -142,7 +143,7 @@ export function createWalletClient(config) {
142
143
  tokenProgram,
143
144
  amount: params.maxTapAmount,
144
145
  });
145
- const signature = await runtime.sendAndConfirm(owner, [instruction]);
146
+ const signature = await runtime.sendAndConfirm(feePayer, [instruction]);
146
147
  return {
147
148
  signature,
148
149
  ...settingsResult(params.maxTapAmount >= live),
@@ -157,7 +158,7 @@ export function createWalletClient(config) {
157
158
  tokenProgram,
158
159
  arbiter: params.arbiter,
159
160
  });
160
- const signature = await runtime.sendAndConfirm(owner, [instruction]);
161
+ const signature = await runtime.sendAndConfirm(feePayer, [instruction]);
161
162
  return {
162
163
  signature,
163
164
  ...settingsResult(live === DEFAULT_PUBKEY || params.arbiter === live),
@@ -185,7 +186,7 @@ export function createWalletClient(config) {
185
186
  amount: params.amount,
186
187
  decimals: mint.data.decimals,
187
188
  }, { programAddress: tokenProgram });
188
- const signature = await runtime.sendAndConfirm(owner, [instruction]);
189
+ const signature = await runtime.sendAndConfirm(feePayer, [instruction]);
189
190
  return { signature };
190
191
  },
191
192
  async withdraw(params) {
@@ -202,7 +203,7 @@ export function createWalletClient(config) {
202
203
  tokenProgram,
203
204
  });
204
205
  instructions.push(await getCreateAssociatedTokenIdempotentInstructionAsync({
205
- payer: owner,
206
+ payer: feePayer,
206
207
  owner: owner.address,
207
208
  mint: params.mint,
208
209
  tokenProgram,
@@ -216,7 +217,7 @@ export function createWalletClient(config) {
216
217
  tokenProgram,
217
218
  amount: params.amount,
218
219
  }));
219
- const signature = await runtime.sendAndConfirm(owner, instructions);
220
+ const signature = await runtime.sendAndConfirm(feePayer, instructions);
220
221
  return { signature };
221
222
  },
222
223
  async setReserve(params) {
@@ -227,7 +228,7 @@ export function createWalletClient(config) {
227
228
  tokenProgram,
228
229
  amount: params.amount,
229
230
  });
230
- const signature = await runtime.sendAndConfirm(owner, [instruction]);
231
+ const signature = await runtime.sendAndConfirm(feePayer, [instruction]);
231
232
  return {
232
233
  signature,
233
234
  ...settingsResult(params.amount >= effectiveReserve(current)),
@@ -237,7 +238,7 @@ export function createWalletClient(config) {
237
238
  const current = await fetchPaymentAccountSummary(config.rpc, seeds(params.mint));
238
239
  const live = current ? effectiveEnablerPubkey(current) : new Uint8Array(33);
239
240
  const instructions = await buildSetEnablerInstructions(params.mint, params.enablerPubkey);
240
- const signature = await runtime.sendAndConfirm(owner, instructions);
241
+ const signature = await runtime.sendAndConfirm(feePayer, instructions);
241
242
  const zeros = live.every((b) => b === 0);
242
243
  const same = live.length === params.enablerPubkey.length &&
243
244
  live.every((b, i) => b === params.enablerPubkey[i]);
@@ -250,7 +251,7 @@ export function createWalletClient(config) {
250
251
  const current = await requirePaymentAccount(params.mint);
251
252
  const asset = await resolveAsset(params.credential);
252
253
  const instructions = [await buildSetCredentialInstruction(params.mint, asset)];
253
- const signature = await runtime.sendAndConfirm(owner, instructions);
254
+ const signature = await runtime.sendAndConfirm(feePayer, instructions);
254
255
  const live = current.credentialPubkey;
255
256
  const firstSet = !live || live.every((b) => b === 0);
256
257
  return {
@@ -299,7 +300,7 @@ export function createWalletClient(config) {
299
300
  tokenProgram: summary.tokenProgram,
300
301
  payerEvidenceHash: evidenceHash,
301
302
  });
302
- const signature = await runtime.sendAndConfirm(owner, [instruction]);
303
+ const signature = await runtime.sendAndConfirm(feePayer, [instruction]);
303
304
  return { signature, bond: computeDisputeBond(summary.amount) };
304
305
  },
305
306
  async disputeAuthorization(params) {
@@ -310,6 +311,7 @@ export function createWalletClient(config) {
310
311
  const escrow = await deriveEscrowAddress(seeds(params.mint));
311
312
  const instruction = await getDisputeAuthorizationInstructionAsync({
312
313
  owner,
314
+ payer: feePayer,
313
315
  escrowTokenAccount: escrow,
314
316
  mint: params.mint,
315
317
  tokenProgram,
@@ -317,7 +319,7 @@ export function createWalletClient(config) {
317
319
  disputedAmount: params.disputedAmount,
318
320
  payerEvidenceHash: params.evidenceHash,
319
321
  });
320
- const signature = await runtime.sendAndConfirm(owner, [instruction]);
322
+ const signature = await runtime.sendAndConfirm(feePayer, [instruction]);
321
323
  return { signature };
322
324
  },
323
325
  async withdrawDispute({ payment }) {
@@ -335,7 +337,7 @@ export function createWalletClient(config) {
335
337
  paymentAccount,
336
338
  payment,
337
339
  });
338
- const signature = await runtime.sendAndConfirm(owner, [instruction]);
340
+ const signature = await runtime.sendAndConfirm(feePayer, [instruction]);
339
341
  return { signature };
340
342
  },
341
343
  async history(params) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/wallet/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/wallet/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phygital-payment-sdk",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Early-preview TypeScript SDK for Phygital Payment (Solana NFC tap-to-pay). Not audited — APIs may break.",
5
5
  "license": "ISC",
6
6
  "author": "Phygital",
@@ -1,5 +0,0 @@
1
- import { type TransactionPartialSigner } from "@solana/kit";
2
- import type { ProviderTransport } from "./provider-transport.js";
3
- export type ProviderFeePayerSigner = TransactionPartialSigner;
4
- export declare function createProviderFeePayerSigner(transport: ProviderTransport): Promise<ProviderFeePayerSigner>;
5
- //# sourceMappingURL=provider-fee-payer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider-fee-payer.d.ts","sourceRoot":"","sources":["../../src/core/provider-fee-payer.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,KAAK,wBAAwB,EAG9B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAM9D,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CAoBjC"}
@@ -1,17 +0,0 @@
1
- import { getBase64EncodedWireTransaction, } from "@solana/kit";
2
- export async function createProviderFeePayerSigner(transport) {
3
- const address = await transport.getFeePayerAddress();
4
- return {
5
- address,
6
- async signTransactions(transactions) {
7
- return Promise.all(transactions.map(async (transaction) => {
8
- const wire = getBase64EncodedWireTransaction(transaction);
9
- const signature = await transport.signAsFeePayer(wire);
10
- return {
11
- [address]: signature,
12
- };
13
- }));
14
- },
15
- };
16
- }
17
- //# sourceMappingURL=provider-fee-payer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider-fee-payer.js","sourceRoot":"","sources":["../../src/core/provider-fee-payer.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,+BAA+B,GAOhC,MAAM,aAAa,CAAC;AASrB,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,SAA4B;IAE5B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;IACrD,OAAO;QACL,OAAO;QACP,KAAK,CAAC,gBAAgB,CACpB,YAE4B;YAE5B,OAAO,OAAO,CAAC,GAAG,CAChB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;gBACrC,MAAM,IAAI,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;gBAC1D,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACvD,OAAO;oBACL,CAAC,OAAO,CAAC,EAAE,SAA2B;iBACJ,CAAC;YACvC,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,19 +0,0 @@
1
- import type { Address, RpcSubscriptions, Signature, SolanaRpcSubscriptionsApi, TransactionSigner } from "@solana/kit";
2
- import type { SdkRpc } from "../core/payment.js";
3
- import type { PendingTapStore } from "./pending-taps.js";
4
- export interface DeferredBackupFlusherConfig {
5
- rpc: SdkRpc;
6
- rpcSubscriptions: RpcSubscriptions<SolanaRpcSubscriptionsApi>;
7
- store: PendingTapStore;
8
- feePayer: TransactionSigner;
9
- merchant?: Address;
10
- maxTapsPerTx?: number;
11
- pollIntervalMs?: number;
12
- }
13
- export interface DeferredBackupFlusher {
14
- tick(): Promise<Signature[]>;
15
- start(): void;
16
- stop(): void;
17
- }
18
- export declare function createDeferredBackupFlusher(config: DeferredBackupFlusherConfig): DeferredBackupFlusher;
19
- //# sourceMappingURL=deferred-flusher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deferred-flusher.d.ts","sourceRoot":"","sources":["../../src/server/deferred-flusher.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAYjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;IAC9D,KAAK,EAAE,eAAe,CAAC;IAEvB,QAAQ,EAAE,iBAAiB,CAAC;IAE5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7B,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;CACd;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,2BAA2B,GAClC,qBAAqB,CAuDvB"}
@@ -1,57 +0,0 @@
1
- import { nowSeconds } from "../core/time.js";
2
- import { createTransactionRuntime } from "../core/transactions.js";
3
- import { packTapsForBatch, rebuildBatchInstructions, } from "../merchant/deferred-queue.js";
4
- import { deserializePendingTap, MAX_TAPS_PER_TX, } from "../merchant/deferred-store.js";
5
- export function createDeferredBackupFlusher(config) {
6
- const runtime = createTransactionRuntime(config);
7
- const maxTaps = Math.min(config.maxTapsPerTx ?? MAX_TAPS_PER_TX, MAX_TAPS_PER_TX);
8
- let timer = null;
9
- async function loadLive() {
10
- const now = nowSeconds();
11
- const wires = config.merchant
12
- ? await config.store.listByMerchant(config.merchant)
13
- : await config.store.listAll();
14
- const live = [];
15
- for (const wire of wires) {
16
- if (wire.executeBy <= now) {
17
- await config.store.acknowledge(wire.reference);
18
- continue;
19
- }
20
- live.push(deserializePendingTap(wire));
21
- }
22
- return live.sort((a, b) => a.executeBy - b.executeBy);
23
- }
24
- async function tick() {
25
- const signatures = [];
26
- for (;;) {
27
- const live = await loadLive();
28
- if (live.length === 0)
29
- break;
30
- const batch = await packTapsForBatch(live, config.feePayer, maxTaps);
31
- if (batch.length === 0)
32
- break;
33
- const instructions = await rebuildBatchInstructions(batch, config.feePayer);
34
- const signature = await runtime.sendAndConfirm(config.feePayer, instructions);
35
- signatures.push(signature);
36
- for (const tap of batch) {
37
- await config.store.acknowledge(tap.reference);
38
- }
39
- }
40
- return signatures;
41
- }
42
- return {
43
- tick,
44
- start() {
45
- if (timer)
46
- return;
47
- timer = setInterval(() => void tick().catch(() => { }), config.pollIntervalMs ?? 60_000);
48
- },
49
- stop() {
50
- if (timer) {
51
- clearInterval(timer);
52
- timer = null;
53
- }
54
- },
55
- };
56
- }
57
- //# sourceMappingURL=deferred-flusher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deferred-flusher.js","sourceRoot":"","sources":["../../src/server/deferred-flusher.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,qBAAqB,EACrB,eAAe,GAEhB,MAAM,+BAA+B,CAAC;AAsBvC,MAAM,UAAU,2BAA2B,CACzC,MAAmC;IAEnC,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,eAAe,EAAE,eAAe,CAAC,CAAC;IAClF,IAAI,KAAK,GAA0C,IAAI,CAAC;IAExD,KAAK,UAAU,QAAQ;QACrB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ;YAC3B,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpD,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAiB,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC;gBAC1B,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/C,SAAS;YACX,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,UAAU,IAAI;QACjB,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAC7B,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAC9B,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5E,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC9E,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO;QACL,IAAI;QACJ,KAAK;YACH,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,GAAG,WAAW,CACjB,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EACjC,MAAM,CAAC,cAAc,IAAI,MAAM,CAChC,CAAC;QACJ,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"}
@@ -1,22 +0,0 @@
1
- import type { Address } from "@solana/kit";
2
- import { type SponsoredChargeSummary, type SponsorshipAuthorizer } from "./fee-payer.js";
3
- export declare const BASE_FEE_LAMPORTS_PER_SIGNATURE = 5000n;
4
- export interface SponsorshipCostOptions {
5
- baseFeeLamportsPerSignature?: bigint;
6
- rentPerPaymentLamports: bigint;
7
- }
8
- export interface SponsoredCost {
9
- total: bigint;
10
- byMerchant: Map<Address, bigint>;
11
- rentByMerchant: Map<Address, bigint>;
12
- }
13
- export declare function sponsoredCostByMerchant(summary: SponsoredChargeSummary, options: SponsorshipCostOptions): SponsoredCost;
14
- export interface FeeBudgetStore {
15
- getRemaining(merchant: Address): Promise<bigint> | bigint;
16
- tryDeduct(merchant: Address, lamports: bigint): Promise<boolean> | boolean;
17
- credit(merchant: Address, lamports: bigint): Promise<void> | void;
18
- }
19
- export declare function createInMemoryFeeBudgetStore(initial?: Iterable<readonly [Address, bigint]>): FeeBudgetStore;
20
- export declare function createSponsorshipBudgetAuthorizer(store: FeeBudgetStore, options: SponsorshipCostOptions): SponsorshipAuthorizer;
21
- export declare function creditReclaimedRent(store: FeeBudgetStore, merchant: Address, rentPerPaymentLamports: bigint): Promise<void>;
22
- //# sourceMappingURL=fee-budget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fee-budget.d.ts","sourceRoot":"","sources":["../../src/server/fee-budget.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAA2B,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGlH,eAAO,MAAM,+BAA+B,QAAS,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IAErC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAMrC,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAGD,MAAM,WAAW,aAAa;IAE5B,KAAK,EAAE,MAAM,CAAC;IAEd,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEjC,cAAc,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CACtC;AAOD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,sBAAsB,GAC9B,aAAa,CA2Bf;AAOD,MAAM,WAAW,cAAc;IAE7B,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAE1D,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAE3E,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACnE;AAGD,wBAAgB,4BAA4B,CAC1C,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAC7C,cAAc,CAchB;AAqBD,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,sBAAsB,GAC9B,qBAAqB,CAevB;AAOD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,OAAO,EACjB,sBAAsB,EAAE,MAAM,GAC7B,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -1,58 +0,0 @@
1
- import { FeePayerValidationError } from "./fee-payer.js";
2
- export const BASE_FEE_LAMPORTS_PER_SIGNATURE = 5000n;
3
- export function sponsoredCostByMerchant(summary, options) {
4
- const baseFeePerSig = options.baseFeeLamportsPerSignature ?? BASE_FEE_LAMPORTS_PER_SIGNATURE;
5
- const rentPerPayment = options.rentPerPaymentLamports;
6
- const transfers = summary.merchants.length;
7
- const baseFee = baseFeePerSig * BigInt(summary.signatureCount);
8
- const sharedFee = baseFee + summary.priorityFeeLamports;
9
- const total = sharedFee + rentPerPayment * BigInt(transfers);
10
- const byMerchant = new Map();
11
- const rentByMerchant = new Map();
12
- if (transfers === 0)
13
- return { total, byMerchant, rentByMerchant };
14
- const sharePerTransfer = sharedFee / BigInt(transfers);
15
- const remainder = sharedFee - sharePerTransfer * BigInt(transfers);
16
- summary.merchants.forEach((merchant, i) => {
17
- const feeShare = sharePerTransfer + (i === 0 ? remainder : 0n);
18
- const cost = feeShare + rentPerPayment;
19
- byMerchant.set(merchant, (byMerchant.get(merchant) ?? 0n) + cost);
20
- rentByMerchant.set(merchant, (rentByMerchant.get(merchant) ?? 0n) + rentPerPayment);
21
- });
22
- return { total, byMerchant, rentByMerchant };
23
- }
24
- export function createInMemoryFeeBudgetStore(initial) {
25
- const balances = new Map(initial);
26
- return {
27
- getRemaining: (merchant) => balances.get(merchant) ?? 0n,
28
- tryDeduct(merchant, lamports) {
29
- const remaining = balances.get(merchant) ?? 0n;
30
- if (remaining < lamports)
31
- return false;
32
- balances.set(merchant, remaining - lamports);
33
- return true;
34
- },
35
- credit(merchant, lamports) {
36
- balances.set(merchant, (balances.get(merchant) ?? 0n) + lamports);
37
- },
38
- };
39
- }
40
- export function createSponsorshipBudgetAuthorizer(store, options) {
41
- return async (summary) => {
42
- const { byMerchant } = sponsoredCostByMerchant(summary, options);
43
- const deducted = [];
44
- for (const [merchant, cost] of byMerchant) {
45
- const ok = await store.tryDeduct(merchant, cost);
46
- if (!ok) {
47
- for (const [m, c] of deducted)
48
- await store.credit(m, c);
49
- throw new FeePayerValidationError(`merchant ${merchant} has insufficient fee budget for ${cost} lamports`);
50
- }
51
- deducted.push([merchant, cost]);
52
- }
53
- };
54
- }
55
- export async function creditReclaimedRent(store, merchant, rentPerPaymentLamports) {
56
- await store.credit(merchant, rentPerPaymentLamports);
57
- }
58
- //# sourceMappingURL=fee-budget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fee-budget.js","sourceRoot":"","sources":["../../src/server/fee-budget.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import { type Address, type Transaction, type TransactionSigner } from "@solana/kit";
2
- export declare const SECP256R1_PROGRAM_ADDRESS: Address<"Secp256r1SigVerify1111111111111111111111111">;
3
- export declare const COMPUTE_BUDGET_PROGRAM_ADDRESS: Address<"ComputeBudget111111111111111111111111111111">;
4
- export declare const DEFAULT_MAX_PRIORITY_FEE_LAMPORTS = 100000n;
5
- export declare class FeePayerValidationError extends Error {
6
- readonly code = "fee_payer_validation";
7
- constructor(message: string);
8
- }
9
- export interface SponsoredChargeSummary {
10
- transferCount: number;
11
- merchants: Address[];
12
- signatureCount: number;
13
- priorityFeeLamports: bigint;
14
- }
15
- export type SponsorshipAuthorizer = (summary: SponsoredChargeSummary) => void | Promise<void>;
16
- export interface FeePayerServiceConfig {
17
- maxPriorityFeeLamports?: bigint;
18
- }
19
- export interface FeePayerService {
20
- address: Address;
21
- signChargeTransaction(transactionBase64: string, authorize?: SponsorshipAuthorizer): Promise<string>;
22
- }
23
- export declare function createFeePayerService(feePayer: TransactionSigner, config?: FeePayerServiceConfig): FeePayerService;
24
- export declare function validateChargeTransaction(transaction: Transaction, expectedFeePayer: Address, options?: {
25
- maxPriorityFeeLamports?: bigint;
26
- }): SponsoredChargeSummary;
27
- //# sourceMappingURL=fee-payer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fee-payer.d.ts","sourceRoot":"","sources":["../../src/server/fee-payer.ts"],"names":[],"mappings":"AAQA,OAAO,EAML,KAAK,OAAO,EAEZ,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAMrB,eAAO,MAAM,yBAAyB,wDAErC,CAAC;AAGF,eAAO,MAAM,8BAA8B,wDAE1C,CAAC;AAqBF,eAAO,MAAM,iCAAiC,UAAW,CAAC;AAE1D,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,0BAA0B;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAGD,MAAM,WAAW,sBAAsB;IAErC,aAAa,EAAE,MAAM,CAAC;IAMtB,SAAS,EAAE,OAAO,EAAE,CAAC;IAMrB,cAAc,EAAE,MAAM,CAAC;IAKvB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAQD,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,sBAAsB,KAC5B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,WAAW,qBAAqB;IAKpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAE9B,OAAO,EAAE,OAAO,CAAC;IAKjB,qBAAqB,CACnB,iBAAiB,EAAE,MAAM,EACzB,SAAS,CAAC,EAAE,qBAAqB,GAChC,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;AAMD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,GAAE,qBAA0B,GACjC,eAAe,CAwCjB;AA0ED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,OAAO,EACzB,OAAO,GAAE;IAAE,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAAO,GAChD,sBAAsB,CAoGxB"}
@@ -1,167 +0,0 @@
1
- import { address, assertIsTransactionPartialSigner, decompileTransactionMessage, getCompiledTransactionMessageDecoder, getTransactionDecoder, } from "@solana/kit";
2
- import { parseTransferInstruction } from "../generated/instructions/transfer.js";
3
- import { PHYGITAL_PAYMENT_PROGRAM_ADDRESS } from "../generated/programs/phygitalPayment.js";
4
- import { base64ToBytes, bytesToBase64 } from "../core/bytes.js";
5
- export const SECP256R1_PROGRAM_ADDRESS = address("Secp256r1SigVerify1111111111111111111111111");
6
- export const COMPUTE_BUDGET_PROGRAM_ADDRESS = address("ComputeBudget111111111111111111111111111111");
7
- const CB_REQUEST_UNITS_DEPRECATED = 0x00;
8
- const CB_REQUEST_HEAP_FRAME = 0x01;
9
- const CB_SET_COMPUTE_UNIT_LIMIT = 0x02;
10
- const CB_SET_COMPUTE_UNIT_PRICE = 0x03;
11
- const CB_SET_LOADED_ACCOUNTS_DATA_SIZE_LIMIT = 0x04;
12
- const MAX_COMPUTE_UNIT_LIMIT = 1400000n;
13
- const MICRO_LAMPORTS_PER_LAMPORT = 1000000n;
14
- export const DEFAULT_MAX_PRIORITY_FEE_LAMPORTS = 100000n;
15
- export class FeePayerValidationError extends Error {
16
- code = "fee_payer_validation";
17
- constructor(message) {
18
- super(message);
19
- this.name = "FeePayerValidationError";
20
- }
21
- }
22
- export function createFeePayerService(feePayer, config = {}) {
23
- assertIsTransactionPartialSigner(feePayer);
24
- const maxPriorityFeeLamports = config.maxPriorityFeeLamports ?? DEFAULT_MAX_PRIORITY_FEE_LAMPORTS;
25
- return {
26
- address: feePayer.address,
27
- async signChargeTransaction(transactionBase64, authorize) {
28
- let transaction;
29
- try {
30
- transaction = getTransactionDecoder().decode(base64ToBytes(transactionBase64));
31
- }
32
- catch (cause) {
33
- throw new FeePayerValidationError(`transaction is not a valid Solana wire encoding: ${cause.message}`);
34
- }
35
- const summary = validateChargeTransaction(transaction, feePayer.address, {
36
- maxPriorityFeeLamports,
37
- });
38
- if (authorize) {
39
- await authorize(summary);
40
- }
41
- const [dictionary] = await feePayer.signTransactions([
42
- transaction,
43
- ]);
44
- const signature = dictionary?.[feePayer.address];
45
- if (!signature || signature.length !== 64) {
46
- throw new FeePayerValidationError("fee payer signer did not return a 64-byte ed25519 signature");
47
- }
48
- return bytesToBase64(new Uint8Array(signature));
49
- },
50
- };
51
- }
52
- function computePriorityFeeLamports(computeBudgetData) {
53
- let unitPrice = null;
54
- let unitLimit = null;
55
- for (const data of computeBudgetData) {
56
- const discriminator = data[0];
57
- const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
58
- switch (discriminator) {
59
- case CB_SET_COMPUTE_UNIT_PRICE: {
60
- if (unitPrice !== null) {
61
- throw new FeePayerValidationError("duplicate SetComputeUnitPrice instruction");
62
- }
63
- if (data.length < 9) {
64
- throw new FeePayerValidationError("malformed SetComputeUnitPrice instruction");
65
- }
66
- unitPrice = view.getBigUint64(1, true);
67
- break;
68
- }
69
- case CB_SET_COMPUTE_UNIT_LIMIT: {
70
- if (unitLimit !== null) {
71
- throw new FeePayerValidationError("duplicate SetComputeUnitLimit instruction");
72
- }
73
- if (data.length < 5) {
74
- throw new FeePayerValidationError("malformed SetComputeUnitLimit instruction");
75
- }
76
- unitLimit = BigInt(view.getUint32(1, true));
77
- break;
78
- }
79
- case CB_REQUEST_HEAP_FRAME:
80
- case CB_SET_LOADED_ACCOUNTS_DATA_SIZE_LIMIT:
81
- case CB_REQUEST_UNITS_DEPRECATED:
82
- break;
83
- default:
84
- throw new FeePayerValidationError(`unrecognized ComputeBudget instruction (discriminator ${discriminator})`);
85
- }
86
- }
87
- if (unitPrice === null || unitPrice === 0n)
88
- return 0n;
89
- const limit = unitLimit ?? MAX_COMPUTE_UNIT_LIMIT;
90
- return ((limit * unitPrice + MICRO_LAMPORTS_PER_LAMPORT - 1n) /
91
- MICRO_LAMPORTS_PER_LAMPORT);
92
- }
93
- export function validateChargeTransaction(transaction, expectedFeePayer, options = {}) {
94
- const maxPriorityFeeLamports = options.maxPriorityFeeLamports ?? DEFAULT_MAX_PRIORITY_FEE_LAMPORTS;
95
- let compiled;
96
- try {
97
- compiled = getCompiledTransactionMessageDecoder().decode(transaction.messageBytes);
98
- }
99
- catch (cause) {
100
- throw new FeePayerValidationError(`cannot decode transaction message: ${cause.message}`);
101
- }
102
- let message;
103
- try {
104
- message = decompileTransactionMessage(compiled);
105
- }
106
- catch (cause) {
107
- throw new FeePayerValidationError(`cannot decompile transaction message: ${cause.message}`);
108
- }
109
- if (message.feePayer.address !== expectedFeePayer) {
110
- throw new FeePayerValidationError(`fee payer is ${message.feePayer.address}, expected ${expectedFeePayer}`);
111
- }
112
- const instructions = message.instructions ?? [];
113
- let transferCount = 0;
114
- let secpCount = 0;
115
- const merchants = [];
116
- const computeBudgetData = [];
117
- for (const instruction of instructions) {
118
- const program = instruction.programAddress;
119
- if (program === COMPUTE_BUDGET_PROGRAM_ADDRESS) {
120
- const data = instruction.data;
121
- if (!data || data.length === 0) {
122
- throw new FeePayerValidationError("ComputeBudget instruction has no data");
123
- }
124
- computeBudgetData.push(new Uint8Array(data));
125
- continue;
126
- }
127
- if (program === SECP256R1_PROGRAM_ADDRESS) {
128
- secpCount += 1;
129
- continue;
130
- }
131
- if (program === PHYGITAL_PAYMENT_PROGRAM_ADDRESS) {
132
- let parsed;
133
- try {
134
- parsed = parseTransferInstruction(instruction);
135
- }
136
- catch (cause) {
137
- throw new FeePayerValidationError(`payment-program instruction is not a transfer: ${cause.message}`);
138
- }
139
- if (parsed.accounts.rentPayer.address !== expectedFeePayer) {
140
- throw new FeePayerValidationError(`transfer rentPayer is ${parsed.accounts.rentPayer.address}, expected ${expectedFeePayer}`);
141
- }
142
- merchants.push(parsed.accounts.merchant.address);
143
- transferCount += 1;
144
- continue;
145
- }
146
- throw new FeePayerValidationError(`disallowed program in charge transaction: ${program}`);
147
- }
148
- if (secpCount !== 1) {
149
- throw new FeePayerValidationError(`expected exactly one secp256r1 verify instruction, found ${secpCount}`);
150
- }
151
- if (transferCount < 1 || transferCount > 4) {
152
- throw new FeePayerValidationError(`expected between 1 and 4 transfer instructions, found ${transferCount}`);
153
- }
154
- const priorityFeeLamports = computePriorityFeeLamports(computeBudgetData);
155
- if (priorityFeeLamports > maxPriorityFeeLamports) {
156
- throw new FeePayerValidationError(`priority fee ${priorityFeeLamports} lamports exceeds the sponsor cap ${maxPriorityFeeLamports}`);
157
- }
158
- const signatureCount = numRequiredSignatures(compiled);
159
- return { transferCount, merchants, signatureCount, priorityFeeLamports };
160
- }
161
- function numRequiredSignatures(compiled) {
162
- const header = compiled
163
- .header;
164
- const n = header?.numSignerAccounts;
165
- return typeof n === "number" && n > 0 ? n : 1;
166
- }
167
- //# sourceMappingURL=fee-payer.js.map