@open-captable-protocol/canton 0.2.152 → 0.2.153
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/OcpClient.d.ts +11 -0
- package/dist/OcpClient.d.ts.map +1 -1
- package/dist/OcpClient.js +3 -0
- package/dist/OcpClient.js.map +1 -1
- package/dist/functions/CouponMinter/index.d.ts +1 -0
- package/dist/functions/CouponMinter/index.d.ts.map +1 -1
- package/dist/functions/CouponMinter/index.js +7 -1
- package/dist/functions/CouponMinter/index.js.map +1 -1
- package/dist/functions/CouponMinter/waitUntilCanMint.d.ts +176 -0
- package/dist/functions/CouponMinter/waitUntilCanMint.d.ts.map +1 -0
- package/dist/functions/CouponMinter/waitUntilCanMint.js +233 -0
- package/dist/functions/CouponMinter/waitUntilCanMint.js.map +1 -0
- package/package.json +1 -1
package/dist/OcpClient.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { DisclosedContract } from '@fairmint/canton-node-sdk/build/src/clie
|
|
|
4
4
|
import { TransactionBatch } from '@fairmint/canton-node-sdk/build/src/utils/transactions';
|
|
5
5
|
import { type CantonPaymentsMethods, type PaymentStreamsMethods } from './extensions';
|
|
6
6
|
import { type AuthorizeIssuerParams, type AuthorizeIssuerResult, type CanMintResult, type CouponMinterPayload, type CreateCompanyValuationReportParams, type CreateCompanyValuationReportResult, type CreateIssuerParams, type GetConvertibleCancellationEventAsOcfParams, type GetConvertibleCancellationEventAsOcfResult, type GetConvertibleIssuanceAsOcfParams, type GetConvertibleIssuanceAsOcfResult, type GetDocumentAsOcfParams, type GetDocumentAsOcfResult, type GetEquityCompensationCancellationEventAsOcfParams, type GetEquityCompensationCancellationEventAsOcfResult, type GetEquityCompensationExerciseEventAsOcfParams, type GetEquityCompensationExerciseEventAsOcfResult, type GetEquityCompensationIssuanceEventAsOcfParams, type GetEquityCompensationIssuanceEventAsOcfResult, type GetIssuerAsOcfParams, type GetIssuerAsOcfResult, type GetIssuerAuthorizedSharesAdjustmentEventAsOcfParams, type GetIssuerAuthorizedSharesAdjustmentEventAsOcfResult, type GetStakeholderAsOcfParams, type GetStakeholderAsOcfResult, type GetStockCancellationEventAsOcfParams, type GetStockCancellationEventAsOcfResult, type GetStockClassAsOcfParams, type GetStockClassAsOcfResult, type GetStockClassAuthorizedSharesAdjustmentEventAsOcfParams, type GetStockClassAuthorizedSharesAdjustmentEventAsOcfResult, type GetStockIssuanceAsOcfParams, type GetStockIssuanceAsOcfResult, type GetStockLegendTemplateAsOcfParams, type GetStockLegendTemplateAsOcfResult, type GetStockPlanAsOcfParams, type GetStockPlanAsOcfResult, type GetStockPlanPoolAdjustmentEventAsOcfParams, type GetStockPlanPoolAdjustmentEventAsOcfResult, type GetStockRepurchaseAsOcfParams, type GetStockRepurchaseAsOcfResult, type GetStockTransferAsOcfParams, type GetStockTransferAsOcfResult, type GetVestingTermsAsOcfParams, type GetVestingTermsAsOcfResult, type GetWarrantCancellationEventAsOcfParams, type GetWarrantCancellationEventAsOcfResult, type GetWarrantIssuanceAsOcfParams, type GetWarrantIssuanceAsOcfResult, type UpdateCompanyValuationParams, type UpdateCompanyValuationResult, type WithdrawAuthorizationParams, type WithdrawAuthorizationResult } from './functions';
|
|
7
|
+
import { type MintWithRateLimitOptions, type MintWithRateLimitResult, type WaitUntilCanMintOptions } from './functions/CouponMinter';
|
|
7
8
|
import { CapTableBatch } from './functions/OpenCapTable/capTable';
|
|
8
9
|
import type { CommandWithDisclosedContracts } from './types';
|
|
9
10
|
/**
|
|
@@ -256,7 +257,17 @@ interface OpenCapTableReportsMethods {
|
|
|
256
257
|
};
|
|
257
258
|
}
|
|
258
259
|
interface CouponMinterMethods {
|
|
260
|
+
/** Check if minting is currently allowed based on rate limits */
|
|
259
261
|
canMintCouponsNow: (payload: CouponMinterPayload, now?: Date) => CanMintResult;
|
|
262
|
+
/** Get detailed rate limit status with additional context */
|
|
263
|
+
getRateLimitStatus: (payload: CouponMinterPayload, now?: Date) => CanMintResult & {
|
|
264
|
+
waitSeconds?: number;
|
|
265
|
+
isRateLimitEnabled: boolean;
|
|
266
|
+
};
|
|
267
|
+
/** Wait until minting is allowed, sleeping as needed */
|
|
268
|
+
waitUntilCanMint: (payload: CouponMinterPayload, options?: WaitUntilCanMintOptions) => Promise<void>;
|
|
269
|
+
/** Wait for rate limit then execute mint function (fire and forget style) */
|
|
270
|
+
mintWithRateLimit: <T>(payload: CouponMinterPayload, mintFn: () => Promise<T>, options?: MintWithRateLimitOptions) => Promise<MintWithRateLimitResult<T>>;
|
|
260
271
|
}
|
|
261
272
|
/** PaymentStreams methods with client already bound for utils */
|
|
262
273
|
interface PaymentStreamsMethodsWithClient extends Omit<PaymentStreamsMethods, 'utils'> {
|
package/dist/OcpClient.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OcpClient.d.ts","sourceRoot":"","sources":["../src/OcpClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kFAAkF,CAAC;AAC1H,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAC1F,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EA6BL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EACvC,KAAK,kBAAkB,EACvB,KAAK,0CAA0C,EAC/C,KAAK,0CAA0C,EAC/C,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,iDAAiD,EACtD,KAAK,iDAAiD,EACtD,KAAK,6CAA6C,EAClD,KAAK,6CAA6C,EAClD,KAAK,6CAA6C,EAClD,KAAK,6CAA6C,EAClD,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mDAAmD,EACxD,KAAK,mDAAmD,EACxD,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,oCAAoC,EACzC,KAAK,oCAAoC,EACzC,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,uDAAuD,EAC5D,KAAK,uDAAuD,EAC5D,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,0CAA0C,EAC/C,KAAK,0CAA0C,EAC/C,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,sCAAsC,EAC3C,KAAK,sCAAsC,EAC3C,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EACjC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"OcpClient.d.ts","sourceRoot":"","sources":["../src/OcpClient.ts"],"names":[],"mappings":"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"}
|
package/dist/OcpClient.js
CHANGED
|
@@ -168,6 +168,9 @@ class OcpClient {
|
|
|
168
168
|
// Initialize CouponMinter methods
|
|
169
169
|
this.CouponMinter = {
|
|
170
170
|
canMintCouponsNow: (payload, now) => (0, CouponMinter_1.canMintCouponsNow)(payload, now),
|
|
171
|
+
getRateLimitStatus: (payload, now) => (0, CouponMinter_1.getRateLimitStatus)(payload, now),
|
|
172
|
+
waitUntilCanMint: async (payload, options) => (0, CouponMinter_1.waitUntilCanMint)(payload, options),
|
|
173
|
+
mintWithRateLimit: async (payload, mintFn, options) => (0, CouponMinter_1.mintWithRateLimit)(payload, mintFn, options),
|
|
171
174
|
};
|
|
172
175
|
// Initialize extensions
|
|
173
176
|
this.CantonPayments = (0, extensions_1.createCantonPaymentsExtension)();
|
package/dist/OcpClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OcpClient.js","sourceRoot":"","sources":["../src/OcpClient.ts"],"names":[],"mappings":";;;AACA,iGAAkG;AAElG,yFAA0F;AAC1F,6CAKsB;AACtB,2CAkFqB;AACrB,
|
|
1
|
+
{"version":3,"file":"OcpClient.js","sourceRoot":"","sources":["../src/OcpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { canMintCouponsNow, type CanMintResult, type CouponMinterPayload, type LastMint } from './canMintCouponsNow';
|
|
2
|
+
export { WaitAbortedError, WaitTimeoutError, getRateLimitStatus, mintWithRateLimit, waitUntilCanMint, type MintWithRateLimitOptions, type MintWithRateLimitResult, type WaitUntilCanMintOptions, } from './waitUntilCanMint';
|
|
2
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/functions/CouponMinter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/functions/CouponMinter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACrH,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canMintCouponsNow = void 0;
|
|
3
|
+
exports.waitUntilCanMint = exports.mintWithRateLimit = exports.getRateLimitStatus = exports.WaitTimeoutError = exports.WaitAbortedError = exports.canMintCouponsNow = void 0;
|
|
4
4
|
var canMintCouponsNow_1 = require("./canMintCouponsNow");
|
|
5
5
|
Object.defineProperty(exports, "canMintCouponsNow", { enumerable: true, get: function () { return canMintCouponsNow_1.canMintCouponsNow; } });
|
|
6
|
+
var waitUntilCanMint_1 = require("./waitUntilCanMint");
|
|
7
|
+
Object.defineProperty(exports, "WaitAbortedError", { enumerable: true, get: function () { return waitUntilCanMint_1.WaitAbortedError; } });
|
|
8
|
+
Object.defineProperty(exports, "WaitTimeoutError", { enumerable: true, get: function () { return waitUntilCanMint_1.WaitTimeoutError; } });
|
|
9
|
+
Object.defineProperty(exports, "getRateLimitStatus", { enumerable: true, get: function () { return waitUntilCanMint_1.getRateLimitStatus; } });
|
|
10
|
+
Object.defineProperty(exports, "mintWithRateLimit", { enumerable: true, get: function () { return waitUntilCanMint_1.mintWithRateLimit; } });
|
|
11
|
+
Object.defineProperty(exports, "waitUntilCanMint", { enumerable: true, get: function () { return waitUntilCanMint_1.waitUntilCanMint; } });
|
|
6
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/CouponMinter/index.ts"],"names":[],"mappings":";;;AAAA,yDAAqH;AAA5G,sHAAA,iBAAiB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/CouponMinter/index.ts"],"names":[],"mappings":";;;AAAA,yDAAqH;AAA5G,sHAAA,iBAAiB,OAAA;AAC1B,uDAS4B;AAR1B,oHAAA,gBAAgB,OAAA;AAChB,oHAAA,gBAAgB,OAAA;AAChB,sHAAA,kBAAkB,OAAA;AAClB,qHAAA,iBAAiB,OAAA;AACjB,oHAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for waiting until coupon minting is allowed based on TPS rate limits.
|
|
3
|
+
*
|
|
4
|
+
* These utilities provide "fire and forget" style minting with automatic rate limit handling.
|
|
5
|
+
*/
|
|
6
|
+
import { type CanMintResult, type CouponMinterPayload } from './canMintCouponsNow';
|
|
7
|
+
/**
|
|
8
|
+
* Options for waiting until minting is allowed.
|
|
9
|
+
*/
|
|
10
|
+
export interface WaitUntilCanMintOptions {
|
|
11
|
+
/**
|
|
12
|
+
* Maximum time to wait in milliseconds before giving up.
|
|
13
|
+
* @default 300000 (5 minutes)
|
|
14
|
+
*/
|
|
15
|
+
maxWaitMs?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Minimum polling interval in milliseconds when rate limited.
|
|
18
|
+
* The actual wait will use the calculated waitMs from canMintCouponsNow,
|
|
19
|
+
* but this sets a minimum interval between checks.
|
|
20
|
+
* @default 100
|
|
21
|
+
*/
|
|
22
|
+
minPollIntervalMs?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Signal to abort the wait operation.
|
|
25
|
+
* If the signal is aborted, the promise will reject with an AbortError.
|
|
26
|
+
*/
|
|
27
|
+
signal?: AbortSignal;
|
|
28
|
+
/**
|
|
29
|
+
* Optional callback invoked when waiting starts, providing the estimated wait time.
|
|
30
|
+
* Useful for logging or updating UI.
|
|
31
|
+
*/
|
|
32
|
+
onWaitStart?: (waitMs: number) => void;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Error thrown when the wait operation is aborted.
|
|
36
|
+
*/
|
|
37
|
+
export declare class WaitAbortedError extends Error {
|
|
38
|
+
constructor(message?: string);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Error thrown when the maximum wait time is exceeded.
|
|
42
|
+
*/
|
|
43
|
+
export declare class WaitTimeoutError extends Error {
|
|
44
|
+
constructor(maxWaitMs: number);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Waits until coupon minting is allowed based on the current rate limit state.
|
|
48
|
+
*
|
|
49
|
+
* This function will sleep until the rate limit allows minting, checking periodically
|
|
50
|
+
* until either minting is allowed or the maximum wait time is exceeded.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* // Wait until we can mint, then proceed
|
|
55
|
+
* await waitUntilCanMint(couponMinterPayload);
|
|
56
|
+
* await mintCoupons(...);
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* // Wait with a timeout and abort support
|
|
62
|
+
* const controller = new AbortController();
|
|
63
|
+
* setTimeout(() => controller.abort(), 10000); // 10 second timeout
|
|
64
|
+
*
|
|
65
|
+
* try {
|
|
66
|
+
* await waitUntilCanMint(couponMinterPayload, {
|
|
67
|
+
* maxWaitMs: 30000,
|
|
68
|
+
* signal: controller.signal,
|
|
69
|
+
* onWaitStart: (ms) => console.log(`Waiting ${ms}ms for rate limit...`),
|
|
70
|
+
* });
|
|
71
|
+
* await mintCoupons(...);
|
|
72
|
+
* } catch (error) {
|
|
73
|
+
* if (error instanceof WaitAbortedError) {
|
|
74
|
+
* console.log('Wait was cancelled');
|
|
75
|
+
* }
|
|
76
|
+
* }
|
|
77
|
+
* ```
|
|
78
|
+
*
|
|
79
|
+
* @param payload - The CouponMinter contract payload with rate limit state
|
|
80
|
+
* @param options - Optional configuration for the wait operation
|
|
81
|
+
* @returns Promise that resolves when minting is allowed
|
|
82
|
+
* @throws WaitAbortedError if the operation is aborted via the signal
|
|
83
|
+
* @throws WaitTimeoutError if the maximum wait time is exceeded
|
|
84
|
+
*/
|
|
85
|
+
export declare function waitUntilCanMint(payload: CouponMinterPayload, options?: WaitUntilCanMintOptions): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Result of a mintWithRateLimit operation.
|
|
88
|
+
*/
|
|
89
|
+
export interface MintWithRateLimitResult<T> {
|
|
90
|
+
/** Whether we had to wait due to rate limiting */
|
|
91
|
+
wasRateLimited: boolean;
|
|
92
|
+
/** How long we waited in milliseconds (0 if not rate limited) */
|
|
93
|
+
waitedMs: number;
|
|
94
|
+
/** The result from the mint function */
|
|
95
|
+
result: T;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Options for mintWithRateLimit operation.
|
|
99
|
+
*/
|
|
100
|
+
export interface MintWithRateLimitOptions extends WaitUntilCanMintOptions {
|
|
101
|
+
/**
|
|
102
|
+
* Callback invoked just before the mint function is called.
|
|
103
|
+
* Useful for logging or updating UI.
|
|
104
|
+
*/
|
|
105
|
+
onBeforeMint?: () => void;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Waits until minting is allowed, then executes the provided mint function.
|
|
109
|
+
*
|
|
110
|
+
* This is a "fire and forget" style wrapper that handles rate limiting automatically.
|
|
111
|
+
* It waits for the rate limit to allow minting, then executes your mint function.
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* // Simple usage with async mint function
|
|
116
|
+
* const { result, wasRateLimited, waitedMs } = await mintWithRateLimit(
|
|
117
|
+
* couponMinterPayload,
|
|
118
|
+
* async () => {
|
|
119
|
+
* return await ledgerClient.exerciseChoice(
|
|
120
|
+
* couponMinterCid,
|
|
121
|
+
* 'MintCoupons',
|
|
122
|
+
* mintParams
|
|
123
|
+
* );
|
|
124
|
+
* }
|
|
125
|
+
* );
|
|
126
|
+
* console.log(`Minting complete. Rate limited: ${wasRateLimited}, waited: ${waitedMs}ms`);
|
|
127
|
+
* ```
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* // With callbacks for progress tracking
|
|
132
|
+
* const { result } = await mintWithRateLimit(
|
|
133
|
+
* couponMinterPayload,
|
|
134
|
+
* async () => mintCoupons(params),
|
|
135
|
+
* {
|
|
136
|
+
* onWaitStart: (ms) => console.log(`Rate limited, waiting ${ms}ms...`),
|
|
137
|
+
* onBeforeMint: () => console.log('Submitting mint transaction...'),
|
|
138
|
+
* maxWaitMs: 60000,
|
|
139
|
+
* }
|
|
140
|
+
* );
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* @param payload - The CouponMinter contract payload with rate limit state
|
|
144
|
+
* @param mintFn - The async function to execute once minting is allowed
|
|
145
|
+
* @param options - Optional configuration for the wait and mint operation
|
|
146
|
+
* @returns Promise resolving to the mint result along with rate limit metadata
|
|
147
|
+
* @throws WaitAbortedError if the operation is aborted via the signal
|
|
148
|
+
* @throws WaitTimeoutError if the maximum wait time is exceeded
|
|
149
|
+
* @throws Any error thrown by the mintFn
|
|
150
|
+
*/
|
|
151
|
+
export declare function mintWithRateLimit<T>(payload: CouponMinterPayload, mintFn: () => Promise<T>, options?: MintWithRateLimitOptions): Promise<MintWithRateLimitResult<T>>;
|
|
152
|
+
/**
|
|
153
|
+
* Checks the current rate limit status and returns detailed information.
|
|
154
|
+
*
|
|
155
|
+
* This is a convenience wrapper around canMintCouponsNow that provides
|
|
156
|
+
* additional context useful for UI display or logging.
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```typescript
|
|
160
|
+
* const status = getRateLimitStatus(couponMinterPayload);
|
|
161
|
+
* if (status.canMint) {
|
|
162
|
+
* console.log('Ready to mint!');
|
|
163
|
+
* } else {
|
|
164
|
+
* console.log(`Rate limited. Can mint in ${status.waitMs}ms (${status.waitSeconds.toFixed(1)}s)`);
|
|
165
|
+
* }
|
|
166
|
+
* ```
|
|
167
|
+
*
|
|
168
|
+
* @param payload - The CouponMinter contract payload
|
|
169
|
+
* @param now - Optional current time for testing
|
|
170
|
+
* @returns Detailed rate limit status information
|
|
171
|
+
*/
|
|
172
|
+
export declare function getRateLimitStatus(payload: CouponMinterPayload, now?: Date): CanMintResult & {
|
|
173
|
+
waitSeconds?: number;
|
|
174
|
+
isRateLimitEnabled: boolean;
|
|
175
|
+
};
|
|
176
|
+
//# sourceMappingURL=waitUntilCanMint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waitUntilCanMint.d.ts","sourceRoot":"","sources":["../../../src/functions/CouponMinter/waitUntilCanMint.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAQtG;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,SAA+B;CAInD;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,SAAS,EAAE,MAAM;CAI9B;AAqCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCrH;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACxC,kDAAkD;IAClD,cAAc,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,MAAM,EAAE,CAAC,CAAC;CACX;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAyBrC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,EAC5B,GAAG,CAAC,EAAE,IAAI,GACT,aAAa,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,OAAO,CAAA;CAAE,CAgBvE"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Utility functions for waiting until coupon minting is allowed based on TPS rate limits.
|
|
4
|
+
*
|
|
5
|
+
* These utilities provide "fire and forget" style minting with automatic rate limit handling.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.WaitTimeoutError = exports.WaitAbortedError = void 0;
|
|
9
|
+
exports.waitUntilCanMint = waitUntilCanMint;
|
|
10
|
+
exports.mintWithRateLimit = mintWithRateLimit;
|
|
11
|
+
exports.getRateLimitStatus = getRateLimitStatus;
|
|
12
|
+
const canMintCouponsNow_1 = require("./canMintCouponsNow");
|
|
13
|
+
/** Default polling interval when waiting for mint readiness (in milliseconds) */
|
|
14
|
+
const DEFAULT_POLL_INTERVAL_MS = 100;
|
|
15
|
+
/** Maximum wait time to prevent infinite waiting (5 minutes) */
|
|
16
|
+
const DEFAULT_MAX_WAIT_MS = 5 * 60 * 1000;
|
|
17
|
+
/**
|
|
18
|
+
* Error thrown when the wait operation is aborted.
|
|
19
|
+
*/
|
|
20
|
+
class WaitAbortedError extends Error {
|
|
21
|
+
constructor(message = 'Wait operation was aborted') {
|
|
22
|
+
super(message);
|
|
23
|
+
this.name = 'WaitAbortedError';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.WaitAbortedError = WaitAbortedError;
|
|
27
|
+
/**
|
|
28
|
+
* Error thrown when the maximum wait time is exceeded.
|
|
29
|
+
*/
|
|
30
|
+
class WaitTimeoutError extends Error {
|
|
31
|
+
constructor(maxWaitMs) {
|
|
32
|
+
super(`Maximum wait time of ${maxWaitMs}ms exceeded while waiting for rate limit`);
|
|
33
|
+
this.name = 'WaitTimeoutError';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.WaitTimeoutError = WaitTimeoutError;
|
|
37
|
+
/**
|
|
38
|
+
* Sleeps for the specified duration, respecting abort signals.
|
|
39
|
+
*
|
|
40
|
+
* @param ms - Duration to sleep in milliseconds
|
|
41
|
+
* @param signal - Optional abort signal
|
|
42
|
+
* @returns Promise that resolves after the sleep duration
|
|
43
|
+
* @throws WaitAbortedError if the signal is aborted during sleep
|
|
44
|
+
*/
|
|
45
|
+
async function sleep(ms, signal) {
|
|
46
|
+
if (signal?.aborted) {
|
|
47
|
+
throw new WaitAbortedError();
|
|
48
|
+
}
|
|
49
|
+
return new Promise((resolve, reject) => {
|
|
50
|
+
const timeout = setTimeout(resolve, ms);
|
|
51
|
+
if (signal) {
|
|
52
|
+
const abortHandler = () => {
|
|
53
|
+
clearTimeout(timeout);
|
|
54
|
+
reject(new WaitAbortedError());
|
|
55
|
+
};
|
|
56
|
+
signal.addEventListener('abort', abortHandler, { once: true });
|
|
57
|
+
// Clean up the abort handler when the sleep completes
|
|
58
|
+
const originalResolve = resolve;
|
|
59
|
+
const wrappedResolve = () => {
|
|
60
|
+
signal.removeEventListener('abort', abortHandler);
|
|
61
|
+
originalResolve();
|
|
62
|
+
};
|
|
63
|
+
clearTimeout(timeout);
|
|
64
|
+
setTimeout(wrappedResolve, ms);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Waits until coupon minting is allowed based on the current rate limit state.
|
|
70
|
+
*
|
|
71
|
+
* This function will sleep until the rate limit allows minting, checking periodically
|
|
72
|
+
* until either minting is allowed or the maximum wait time is exceeded.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* // Wait until we can mint, then proceed
|
|
77
|
+
* await waitUntilCanMint(couponMinterPayload);
|
|
78
|
+
* await mintCoupons(...);
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* // Wait with a timeout and abort support
|
|
84
|
+
* const controller = new AbortController();
|
|
85
|
+
* setTimeout(() => controller.abort(), 10000); // 10 second timeout
|
|
86
|
+
*
|
|
87
|
+
* try {
|
|
88
|
+
* await waitUntilCanMint(couponMinterPayload, {
|
|
89
|
+
* maxWaitMs: 30000,
|
|
90
|
+
* signal: controller.signal,
|
|
91
|
+
* onWaitStart: (ms) => console.log(`Waiting ${ms}ms for rate limit...`),
|
|
92
|
+
* });
|
|
93
|
+
* await mintCoupons(...);
|
|
94
|
+
* } catch (error) {
|
|
95
|
+
* if (error instanceof WaitAbortedError) {
|
|
96
|
+
* console.log('Wait was cancelled');
|
|
97
|
+
* }
|
|
98
|
+
* }
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* @param payload - The CouponMinter contract payload with rate limit state
|
|
102
|
+
* @param options - Optional configuration for the wait operation
|
|
103
|
+
* @returns Promise that resolves when minting is allowed
|
|
104
|
+
* @throws WaitAbortedError if the operation is aborted via the signal
|
|
105
|
+
* @throws WaitTimeoutError if the maximum wait time is exceeded
|
|
106
|
+
*/
|
|
107
|
+
async function waitUntilCanMint(payload, options) {
|
|
108
|
+
const { maxWaitMs = DEFAULT_MAX_WAIT_MS, minPollIntervalMs = DEFAULT_POLL_INTERVAL_MS, signal, onWaitStart, } = options ?? {};
|
|
109
|
+
if (signal?.aborted) {
|
|
110
|
+
throw new WaitAbortedError();
|
|
111
|
+
}
|
|
112
|
+
const startTime = Date.now();
|
|
113
|
+
// Initial check
|
|
114
|
+
let result = (0, canMintCouponsNow_1.canMintCouponsNow)(payload);
|
|
115
|
+
while (!result.canMint) {
|
|
116
|
+
const elapsed = Date.now() - startTime;
|
|
117
|
+
// Check if we've exceeded max wait time
|
|
118
|
+
if (elapsed >= maxWaitMs) {
|
|
119
|
+
throw new WaitTimeoutError(maxWaitMs);
|
|
120
|
+
}
|
|
121
|
+
// Calculate wait time (use the larger of waitMs and minPollIntervalMs)
|
|
122
|
+
const waitMs = Math.max(result.waitMs, minPollIntervalMs);
|
|
123
|
+
// Don't wait longer than remaining max wait time
|
|
124
|
+
const remainingTime = maxWaitMs - elapsed;
|
|
125
|
+
const actualWaitMs = Math.min(waitMs, remainingTime);
|
|
126
|
+
// Notify callback if provided
|
|
127
|
+
onWaitStart?.(actualWaitMs);
|
|
128
|
+
// Sleep for the calculated duration
|
|
129
|
+
await sleep(actualWaitMs, signal);
|
|
130
|
+
// Re-check with current time
|
|
131
|
+
result = (0, canMintCouponsNow_1.canMintCouponsNow)(payload);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Waits until minting is allowed, then executes the provided mint function.
|
|
136
|
+
*
|
|
137
|
+
* This is a "fire and forget" style wrapper that handles rate limiting automatically.
|
|
138
|
+
* It waits for the rate limit to allow minting, then executes your mint function.
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* // Simple usage with async mint function
|
|
143
|
+
* const { result, wasRateLimited, waitedMs } = await mintWithRateLimit(
|
|
144
|
+
* couponMinterPayload,
|
|
145
|
+
* async () => {
|
|
146
|
+
* return await ledgerClient.exerciseChoice(
|
|
147
|
+
* couponMinterCid,
|
|
148
|
+
* 'MintCoupons',
|
|
149
|
+
* mintParams
|
|
150
|
+
* );
|
|
151
|
+
* }
|
|
152
|
+
* );
|
|
153
|
+
* console.log(`Minting complete. Rate limited: ${wasRateLimited}, waited: ${waitedMs}ms`);
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* // With callbacks for progress tracking
|
|
159
|
+
* const { result } = await mintWithRateLimit(
|
|
160
|
+
* couponMinterPayload,
|
|
161
|
+
* async () => mintCoupons(params),
|
|
162
|
+
* {
|
|
163
|
+
* onWaitStart: (ms) => console.log(`Rate limited, waiting ${ms}ms...`),
|
|
164
|
+
* onBeforeMint: () => console.log('Submitting mint transaction...'),
|
|
165
|
+
* maxWaitMs: 60000,
|
|
166
|
+
* }
|
|
167
|
+
* );
|
|
168
|
+
* ```
|
|
169
|
+
*
|
|
170
|
+
* @param payload - The CouponMinter contract payload with rate limit state
|
|
171
|
+
* @param mintFn - The async function to execute once minting is allowed
|
|
172
|
+
* @param options - Optional configuration for the wait and mint operation
|
|
173
|
+
* @returns Promise resolving to the mint result along with rate limit metadata
|
|
174
|
+
* @throws WaitAbortedError if the operation is aborted via the signal
|
|
175
|
+
* @throws WaitTimeoutError if the maximum wait time is exceeded
|
|
176
|
+
* @throws Any error thrown by the mintFn
|
|
177
|
+
*/
|
|
178
|
+
async function mintWithRateLimit(payload, mintFn, options) {
|
|
179
|
+
const startTime = Date.now();
|
|
180
|
+
// Check initial rate limit status
|
|
181
|
+
const initialCheck = (0, canMintCouponsNow_1.canMintCouponsNow)(payload);
|
|
182
|
+
const wasRateLimited = !initialCheck.canMint;
|
|
183
|
+
// Wait if necessary
|
|
184
|
+
if (wasRateLimited) {
|
|
185
|
+
await waitUntilCanMint(payload, options);
|
|
186
|
+
}
|
|
187
|
+
const waitedMs = Date.now() - startTime;
|
|
188
|
+
// Notify before mint callback
|
|
189
|
+
options?.onBeforeMint?.();
|
|
190
|
+
// Execute the mint function
|
|
191
|
+
const result = await mintFn();
|
|
192
|
+
return {
|
|
193
|
+
wasRateLimited,
|
|
194
|
+
waitedMs,
|
|
195
|
+
result,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Checks the current rate limit status and returns detailed information.
|
|
200
|
+
*
|
|
201
|
+
* This is a convenience wrapper around canMintCouponsNow that provides
|
|
202
|
+
* additional context useful for UI display or logging.
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```typescript
|
|
206
|
+
* const status = getRateLimitStatus(couponMinterPayload);
|
|
207
|
+
* if (status.canMint) {
|
|
208
|
+
* console.log('Ready to mint!');
|
|
209
|
+
* } else {
|
|
210
|
+
* console.log(`Rate limited. Can mint in ${status.waitMs}ms (${status.waitSeconds.toFixed(1)}s)`);
|
|
211
|
+
* }
|
|
212
|
+
* ```
|
|
213
|
+
*
|
|
214
|
+
* @param payload - The CouponMinter contract payload
|
|
215
|
+
* @param now - Optional current time for testing
|
|
216
|
+
* @returns Detailed rate limit status information
|
|
217
|
+
*/
|
|
218
|
+
function getRateLimitStatus(payload, now) {
|
|
219
|
+
const result = (0, canMintCouponsNow_1.canMintCouponsNow)(payload, now);
|
|
220
|
+
const isRateLimitEnabled = payload.maxTps !== null;
|
|
221
|
+
if (result.canMint) {
|
|
222
|
+
return {
|
|
223
|
+
...result,
|
|
224
|
+
isRateLimitEnabled,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
return {
|
|
228
|
+
...result,
|
|
229
|
+
waitSeconds: result.waitMs / 1000,
|
|
230
|
+
isRateLimitEnabled,
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=waitUntilCanMint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waitUntilCanMint.js","sourceRoot":"","sources":["../../../src/functions/CouponMinter/waitUntilCanMint.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-captable-protocol/canton",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.153",
|
|
4
4
|
"description": "A TypeScript SDK for interacting with the Open CapTable Protocol (OCP) Factory contract on Canton blockchain",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|