@tempoxyz/patron 0.0.27 → 0.0.29
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/bin.js +3 -3
- package/dist/chunks/{-PBBSDRMM.js → -OLVAZG3H.js} +236 -101
- package/dist/chunks/{chunk-TV5VLFTD.js → chunk-3CYJJJR3.js} +3 -2
- package/dist/chunks/{chunk-WZRGCKEK.js → chunk-EISHX7Q3.js} +54 -32
- package/dist/chunks/{chunk-HVTTV2A5.js → chunk-HQ2ZLUTT.js} +1 -1
- package/dist/chunks/chunk-OQXACACU.js +37 -0
- package/dist/chunks/chunk-SAEZ54SS.js +15496 -0
- package/dist/chunks/{chunk-F5CY5O7O.js → chunk-ZOQJ4CZE.js} +19132 -34415
- package/dist/chunks/{hook-3CYJEB2M.js → hook-HYV4BSCN.js} +16 -13
- package/dist/chunks/{hook-process-QQPBFRY6.js → hook-process-6WSLYXC7.js} +7 -7
- package/dist/chunks/{wallet-OJP2JREM.js → wallet-LOLL66ID.js} +5 -3
- package/package.json +1 -1
- package/dist/chunks/chunk-MZJEM2SE.js +0 -163
- package/dist/chunks/chunk-O64T22EK.js +0 -54
|
@@ -797,6 +797,10 @@ var TOKEN_PRICE_UNITS = 1000n;
|
|
|
797
797
|
var PACK_SIZE = 1e3;
|
|
798
798
|
var MAX_TOKENS_PER_PURCHASE = 5e3;
|
|
799
799
|
var DEFAULT_MONTHLY_BUDGET_USD = 5;
|
|
800
|
+
function accessKeyLimitUnits(budgetUnits) {
|
|
801
|
+
if (budgetUnits <= 0n) return 0n;
|
|
802
|
+
return budgetUnits + 50000n + budgetUnits / 100n;
|
|
803
|
+
}
|
|
800
804
|
var MIN_TOKENS_PER_PAGE = 1;
|
|
801
805
|
var MAX_TOKENS_PER_PAGE = 10;
|
|
802
806
|
var DEFAULT_TOKENS_PER_PAGE = 1;
|
|
@@ -956,36 +960,6 @@ function normalizePayee(input) {
|
|
|
956
960
|
return normalizeDomain(trimmed);
|
|
957
961
|
}
|
|
958
962
|
|
|
959
|
-
// src/settings.ts
|
|
960
|
-
import { homedir } from "node:os";
|
|
961
|
-
import { join } from "node:path";
|
|
962
|
-
var DEFAULT_GATEWAY_URL = "https://patron-gateway.tempo-dev.workers.dev";
|
|
963
|
-
var DEFAULT_RELAY_URL = "https://patron-relay.tempo-dev.workers.dev";
|
|
964
|
-
function resolveSettings(env = process.env) {
|
|
965
|
-
const key = env.PATRON_PRIVATE_KEY?.trim();
|
|
966
|
-
const privateKey = key && /^0x[0-9a-fA-F]{64}$/.test(key) ? key : void 0;
|
|
967
|
-
return {
|
|
968
|
-
gatewayUrl: env.PATRON_GATEWAY_URL || DEFAULT_GATEWAY_URL,
|
|
969
|
-
home: env.PATRON_HOME || join(homedir(), ".patron"),
|
|
970
|
-
network: env.PATRON_NETWORK === "testnet" ? "testnet" : "mainnet",
|
|
971
|
-
overridden: {
|
|
972
|
-
gatewayUrl: Boolean(env.PATRON_GATEWAY_URL),
|
|
973
|
-
network: Boolean(env.PATRON_NETWORK),
|
|
974
|
-
relayUrl: Boolean(env.PATRON_RELAY_URL)
|
|
975
|
-
},
|
|
976
|
-
relayUrl: env.PATRON_RELAY_URL || DEFAULT_RELAY_URL,
|
|
977
|
-
...privateKey ? { privateKey } : {}
|
|
978
|
-
};
|
|
979
|
-
}
|
|
980
|
-
function settingsFor(settings, saved) {
|
|
981
|
-
return {
|
|
982
|
-
...settings,
|
|
983
|
-
gatewayUrl: settings.overridden.gatewayUrl || !saved.gatewayUrl ? settings.gatewayUrl : saved.gatewayUrl,
|
|
984
|
-
network: settings.overridden.network ? settings.network : saved.network,
|
|
985
|
-
relayUrl: settings.overridden.relayUrl || !saved.relayUrl ? settings.relayUrl : saved.relayUrl
|
|
986
|
-
};
|
|
987
|
-
}
|
|
988
|
-
|
|
989
963
|
// ../protocol/src/encoding.ts
|
|
990
964
|
function toBase64Url(bytes) {
|
|
991
965
|
let binary = "";
|
|
@@ -1190,11 +1164,59 @@ function tokensToUnits(tokens) {
|
|
|
1190
1164
|
return BigInt(tokens) * TOKEN_PRICE_UNITS;
|
|
1191
1165
|
}
|
|
1192
1166
|
|
|
1167
|
+
// src/lock.ts
|
|
1168
|
+
import { open, rm, stat } from "node:fs/promises";
|
|
1169
|
+
async function withLock(path, fn, options = {}) {
|
|
1170
|
+
const deadline = Date.now() + (options.timeoutMs ?? 3e3);
|
|
1171
|
+
const staleMs = options.staleMs ?? 1e4;
|
|
1172
|
+
for (; ; ) {
|
|
1173
|
+
try {
|
|
1174
|
+
const handle = await open(path, "wx", 384);
|
|
1175
|
+
await handle.close();
|
|
1176
|
+
break;
|
|
1177
|
+
} catch (error) {
|
|
1178
|
+
if (error.code !== "EEXIST") throw error;
|
|
1179
|
+
const age = await stat(path).then(
|
|
1180
|
+
(stats) => Date.now() - stats.mtimeMs,
|
|
1181
|
+
() => 0
|
|
1182
|
+
);
|
|
1183
|
+
if (age > staleMs) {
|
|
1184
|
+
await rm(path, { force: true });
|
|
1185
|
+
continue;
|
|
1186
|
+
}
|
|
1187
|
+
if (Date.now() > deadline) throw new Error(`Patron state is busy: ${path}`);
|
|
1188
|
+
await new Promise((resolve) => setTimeout(resolve, 10 + Math.random() * 20));
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
try {
|
|
1192
|
+
return await fn();
|
|
1193
|
+
} finally {
|
|
1194
|
+
await rm(path, { force: true });
|
|
1195
|
+
}
|
|
1196
|
+
}
|
|
1197
|
+
async function tryLock(path, staleMs) {
|
|
1198
|
+
try {
|
|
1199
|
+
const handle = await open(path, "wx", 384);
|
|
1200
|
+
await handle.close();
|
|
1201
|
+
} catch (error) {
|
|
1202
|
+
if (error.code !== "EEXIST") throw error;
|
|
1203
|
+
const age = await stat(path).then(
|
|
1204
|
+
(stats) => Date.now() - stats.mtimeMs,
|
|
1205
|
+
() => 0
|
|
1206
|
+
);
|
|
1207
|
+
if (age <= staleMs) return void 0;
|
|
1208
|
+
await rm(path, { force: true });
|
|
1209
|
+
return tryLock(path, staleMs);
|
|
1210
|
+
}
|
|
1211
|
+
return () => rm(path, { force: true });
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1193
1214
|
export {
|
|
1194
1215
|
TOKEN_PRICE_UNITS,
|
|
1195
1216
|
PACK_SIZE,
|
|
1196
1217
|
MAX_TOKENS_PER_PURCHASE,
|
|
1197
1218
|
DEFAULT_MONTHLY_BUDGET_USD,
|
|
1219
|
+
accessKeyLimitUnits,
|
|
1198
1220
|
MIN_TOKENS_PER_PAGE,
|
|
1199
1221
|
MAX_TOKENS_PER_PAGE,
|
|
1200
1222
|
clampTokensPerPage,
|
|
@@ -1206,6 +1228,6 @@ export {
|
|
|
1206
1228
|
isExcludedByDefault,
|
|
1207
1229
|
formatUsd,
|
|
1208
1230
|
tokensToUnits,
|
|
1209
|
-
|
|
1210
|
-
|
|
1231
|
+
withLock,
|
|
1232
|
+
tryLock
|
|
1211
1233
|
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createRequire as __patronCreateRequire } from 'node:module'
|
|
2
|
+
const require = __patronCreateRequire(import.meta.url)
|
|
3
|
+
|
|
4
|
+
// src/settings.ts
|
|
5
|
+
import { homedir } from "node:os";
|
|
6
|
+
import { join } from "node:path";
|
|
7
|
+
var DEFAULT_GATEWAY_URL = "https://patron-gateway.tempo-dev.workers.dev";
|
|
8
|
+
var DEFAULT_RELAY_URL = "https://patron-relay.tempo-dev.workers.dev";
|
|
9
|
+
function resolveSettings(env = process.env) {
|
|
10
|
+
const key = env.PATRON_PRIVATE_KEY?.trim();
|
|
11
|
+
const privateKey = key && /^0x[0-9a-fA-F]{64}$/.test(key) ? key : void 0;
|
|
12
|
+
return {
|
|
13
|
+
gatewayUrl: env.PATRON_GATEWAY_URL || DEFAULT_GATEWAY_URL,
|
|
14
|
+
home: env.PATRON_HOME || join(homedir(), ".patron"),
|
|
15
|
+
network: env.PATRON_NETWORK === "testnet" ? "testnet" : "mainnet",
|
|
16
|
+
overridden: {
|
|
17
|
+
gatewayUrl: Boolean(env.PATRON_GATEWAY_URL),
|
|
18
|
+
network: Boolean(env.PATRON_NETWORK),
|
|
19
|
+
relayUrl: Boolean(env.PATRON_RELAY_URL)
|
|
20
|
+
},
|
|
21
|
+
relayUrl: env.PATRON_RELAY_URL || DEFAULT_RELAY_URL,
|
|
22
|
+
...privateKey ? { privateKey } : {}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function settingsFor(settings, saved) {
|
|
26
|
+
return {
|
|
27
|
+
...settings,
|
|
28
|
+
gatewayUrl: settings.overridden.gatewayUrl || !saved.gatewayUrl ? settings.gatewayUrl : saved.gatewayUrl,
|
|
29
|
+
network: settings.overridden.network ? settings.network : saved.network,
|
|
30
|
+
relayUrl: settings.overridden.relayUrl || !saved.relayUrl ? settings.relayUrl : saved.relayUrl
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
resolveSettings,
|
|
36
|
+
settingsFor
|
|
37
|
+
};
|