@glowlabs-org/utils 0.2.131 → 0.2.133

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.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var farmsRouter = require('./farms-router-DXTR8f4V.js');
3
+ var farmsRouter = require('./farms-router-Dxx681nB.js');
4
4
  var viem = require('viem');
5
5
  require('ethers');
6
6
 
@@ -11991,6 +11991,13 @@ const commitKickstarterEIP712Types = {
11991
11991
  { name: "deadline", type: "uint256" },
11992
11992
  ],
11993
11993
  };
11994
+ const applyCertifiedInstallerEIP712Types = {
11995
+ ApplyCertifiedInstaller: [
11996
+ { name: "nonce", type: "uint256" },
11997
+ { name: "regionId", type: "uint256" },
11998
+ { name: "deadline", type: "uint256" },
11999
+ ],
12000
+ };
11994
12001
  const payProtocolDepositUsingStakedControlEIP712Types = {
11995
12002
  PayProtocolDepositUsingStakedControl: [
11996
12003
  { name: "amount", type: "uint256" },
@@ -11999,6 +12006,12 @@ const payProtocolDepositUsingStakedControlEIP712Types = {
11999
12006
  { name: "deadline", type: "uint256" },
12000
12007
  ],
12001
12008
  };
12009
+ const verifyUserEIP712Types = {
12010
+ VerifyUser: [
12011
+ { name: "nonce", type: "uint256" },
12012
+ { name: "deadline", type: "uint256" },
12013
+ ],
12014
+ };
12002
12015
  // Separate request schemas for clarity between stake and unstake
12003
12016
  const stakeSignatureRequestSchema = z.object({
12004
12017
  wallet: z.string().regex(/^0x[a-fA-F0-9]{40}$/),
@@ -12042,12 +12055,25 @@ const commitKickstarterSignatureRequestSchema = z.object({
12042
12055
  kickstarterId: z.string(),
12043
12056
  deadline: z.string(),
12044
12057
  });
12045
- const payProtocolDepositUsingStakedControlSignatureRequestSchema = z.object({
12058
+ const applyCertifiedInstallerSignatureRequestSchema = z.object({
12046
12059
  wallet: z.string().regex(/^0x[a-fA-F0-9]{40}$/),
12047
12060
  signature: z.string().regex(/^0x[a-fA-F0-9]{130}$/),
12048
12061
  nonce: z.string(),
12062
+ regionId: z.string(),
12063
+ deadline: z.string(),
12064
+ });
12065
+ const payProtocolDepositUsingStakedControlSignatureRequestSchema = z.object({
12066
+ wallet: z.string().regex(/^0x[a-fA-F0-9]{40}$/),
12067
+ signature: z.string().regex(/^0x[a-fA-F0-9]{130}$/),
12049
12068
  amount: z.string(),
12050
12069
  applicationId: z.string(),
12070
+ nonce: z.string(),
12071
+ deadline: z.string(),
12072
+ });
12073
+ const verifyUserSignatureRequestSchema = z.object({
12074
+ wallet: z.string().regex(/^0x[a-fA-F0-9]{40}$/),
12075
+ signature: z.string().regex(/^0x[a-fA-F0-9]{130}$/),
12076
+ nonce: z.string(),
12051
12077
  deadline: z.string(),
12052
12078
  });
12053
12079
  function isDeadlineExpired(deadline) {
@@ -12131,23 +12157,44 @@ function buildCommitKickstarterMessage(req) {
12131
12157
  throw new Error("kickstarterId must be non-empty");
12132
12158
  return { nonce, amount, kickstarterId, deadline };
12133
12159
  }
12160
+ function buildApplyCertifiedInstallerMessage(req) {
12161
+ const nonce = BigInt(req.nonce);
12162
+ const deadline = BigInt(req.deadline);
12163
+ const regionId = req.regionId;
12164
+ if (nonce < 0n)
12165
+ throw new Error("Nonce must be non-negative");
12166
+ if (deadline < 0n)
12167
+ throw new Error("Deadline must be non-negative");
12168
+ if (!regionId)
12169
+ throw new Error("regionId must be non-empty");
12170
+ return { nonce, regionId: BigInt(regionId), deadline };
12171
+ }
12134
12172
  function buildPayProtocolDepositUsingStakedControlMessage(req) {
12135
- const amount = BigInt(req.amount);
12136
12173
  const nonce = BigInt(req.nonce);
12174
+ const amount = BigInt(req.amount);
12137
12175
  const deadline = BigInt(req.deadline);
12138
12176
  const applicationId = req.applicationId;
12139
- if (amount < 0n)
12140
- throw new Error("Amount must be non-negative");
12141
12177
  if (nonce < 0n)
12142
12178
  throw new Error("Nonce must be non-negative");
12179
+ if (amount < 0n)
12180
+ throw new Error("Amount must be non-negative");
12143
12181
  if (deadline < 0n)
12144
12182
  throw new Error("Deadline must be non-negative");
12145
12183
  if (!applicationId)
12146
12184
  throw new Error("applicationId must be non-empty");
12147
12185
  return { amount, applicationId, nonce, deadline };
12148
12186
  }
12187
+ function buildVerifyUserMessage(req) {
12188
+ const nonce = BigInt(req.nonce);
12189
+ const deadline = BigInt(req.deadline);
12190
+ if (nonce < 0n)
12191
+ throw new Error("Nonce must be non-negative");
12192
+ if (deadline < 0n)
12193
+ throw new Error("Deadline must be non-negative");
12194
+ return { nonce, deadline };
12195
+ }
12149
12196
  // Helper to validate the signature using viem
12150
- async function validateStakeSignature(input, domain = stakeControlEIP712Domain(1)) {
12197
+ async function validateStakeSignature(input, domain = stakeControlEIP712Domain(Number(process.env.CHAIN_ID) || 1)) {
12151
12198
  const message = buildStakeMessage({
12152
12199
  nonce: input.nonce,
12153
12200
  amount: input.amount,
@@ -12159,7 +12206,7 @@ async function validateStakeSignature(input, domain = stakeControlEIP712Domain(1
12159
12206
  }
12160
12207
  try {
12161
12208
  const verified = await viem.verifyTypedData({
12162
- address: input.wallet,
12209
+ address: viem.checksumAddress(input.wallet),
12163
12210
  domain,
12164
12211
  types: stakeEIP712Types,
12165
12212
  primaryType: "Stake",
@@ -12174,7 +12221,7 @@ async function validateStakeSignature(input, domain = stakeControlEIP712Domain(1
12174
12221
  return { valid: false, recovered: null, reason: "signature_failed" };
12175
12222
  }
12176
12223
  }
12177
- async function validateUnstakeUnlockSignature(input, domain = stakeControlEIP712Domain(1)) {
12224
+ async function validateUnstakeUnlockSignature(input, domain = stakeControlEIP712Domain(Number(process.env.CHAIN_ID) || 1)) {
12178
12225
  const message = buildUnstakeUnlockMessage({
12179
12226
  nonce: input.nonce,
12180
12227
  amount: input.amount,
@@ -12186,7 +12233,7 @@ async function validateUnstakeUnlockSignature(input, domain = stakeControlEIP712
12186
12233
  }
12187
12234
  try {
12188
12235
  const verified = await viem.verifyTypedData({
12189
- address: input.wallet,
12236
+ address: viem.checksumAddress(input.wallet),
12190
12237
  domain,
12191
12238
  types: unstakeUnlockEIP712Types,
12192
12239
  primaryType: "Unstake",
@@ -12201,7 +12248,7 @@ async function validateUnstakeUnlockSignature(input, domain = stakeControlEIP712
12201
12248
  return { valid: false, recovered: null, reason: "signature_failed" };
12202
12249
  }
12203
12250
  }
12204
- async function validateUnstakeMoveSignature(input, domain = stakeControlEIP712Domain(1)) {
12251
+ async function validateUnstakeMoveSignature(input, domain = stakeControlEIP712Domain(Number(process.env.CHAIN_ID) || 1)) {
12205
12252
  const message = buildUnstakeMoveMessage({
12206
12253
  nonce: input.nonce,
12207
12254
  amount: input.amount,
@@ -12214,7 +12261,7 @@ async function validateUnstakeMoveSignature(input, domain = stakeControlEIP712Do
12214
12261
  }
12215
12262
  try {
12216
12263
  const verified = await viem.verifyTypedData({
12217
- address: input.wallet,
12264
+ address: viem.checksumAddress(input.wallet),
12218
12265
  domain,
12219
12266
  types: unstakeMoveEIP712Types,
12220
12267
  primaryType: "UnstakeMove",
@@ -12229,7 +12276,7 @@ async function validateUnstakeMoveSignature(input, domain = stakeControlEIP712Do
12229
12276
  return { valid: false, recovered: null, reason: "signature_failed" };
12230
12277
  }
12231
12278
  }
12232
- async function validateRestakeSignature(input, domain = stakeControlEIP712Domain(1)) {
12279
+ async function validateRestakeSignature(input, domain = stakeControlEIP712Domain(Number(process.env.CHAIN_ID) || 1)) {
12233
12280
  const message = buildRestakeMessage({
12234
12281
  nonce: input.nonce,
12235
12282
  amount: input.amount,
@@ -12242,7 +12289,7 @@ async function validateRestakeSignature(input, domain = stakeControlEIP712Domain
12242
12289
  }
12243
12290
  try {
12244
12291
  const verified = await viem.verifyTypedData({
12245
- address: input.wallet,
12292
+ address: viem.checksumAddress(input.wallet),
12246
12293
  domain,
12247
12294
  types: restakeEIP712Types,
12248
12295
  primaryType: "Restake",
@@ -12257,7 +12304,7 @@ async function validateRestakeSignature(input, domain = stakeControlEIP712Domain
12257
12304
  return { valid: false, recovered: null, reason: "signature_failed" };
12258
12305
  }
12259
12306
  }
12260
- async function validateCommitKickstarterSignature(input, domain = stakeControlEIP712Domain(1)) {
12307
+ async function validateCommitKickstarterSignature(input, domain = stakeControlEIP712Domain(Number(process.env.CHAIN_ID) || 1)) {
12261
12308
  const message = buildCommitKickstarterMessage({
12262
12309
  nonce: input.nonce,
12263
12310
  amount: input.amount,
@@ -12269,7 +12316,7 @@ async function validateCommitKickstarterSignature(input, domain = stakeControlEI
12269
12316
  }
12270
12317
  try {
12271
12318
  const verified = await viem.verifyTypedData({
12272
- address: input.wallet,
12319
+ address: viem.checksumAddress(input.wallet),
12273
12320
  domain,
12274
12321
  types: commitKickstarterEIP712Types,
12275
12322
  primaryType: "CommitKickstarter",
@@ -12284,7 +12331,33 @@ async function validateCommitKickstarterSignature(input, domain = stakeControlEI
12284
12331
  return { valid: false, recovered: null, reason: "signature_failed" };
12285
12332
  }
12286
12333
  }
12287
- async function validatePayProtocolDepositUsingStakedControlSignature(input, domain = stakeControlEIP712Domain(1)) {
12334
+ async function validateApplyCertifiedInstallerSignature(input, domain = stakeControlEIP712Domain(Number(process.env.CHAIN_ID) || 1)) {
12335
+ const message = buildApplyCertifiedInstallerMessage({
12336
+ nonce: input.nonce,
12337
+ regionId: input.regionId,
12338
+ deadline: input.deadline,
12339
+ });
12340
+ if (isDeadlineExpired(message.deadline)) {
12341
+ return { valid: false, recovered: null, reason: "deadline_expired" };
12342
+ }
12343
+ try {
12344
+ const verified = await viem.verifyTypedData({
12345
+ address: viem.checksumAddress(input.wallet),
12346
+ domain,
12347
+ types: applyCertifiedInstallerEIP712Types,
12348
+ primaryType: "ApplyCertifiedInstaller",
12349
+ message,
12350
+ signature: input.signature,
12351
+ });
12352
+ return verified
12353
+ ? { valid: true, recovered: input.wallet, reason: null }
12354
+ : { valid: false, recovered: null, reason: "signer_mismatch" };
12355
+ }
12356
+ catch (_) {
12357
+ return { valid: false, recovered: null, reason: "signature_failed" };
12358
+ }
12359
+ }
12360
+ async function validatePayProtocolDepositUsingStakedControlSignature(input, domain = stakeControlEIP712Domain(Number(process.env.CHAIN_ID) || 1)) {
12288
12361
  const message = buildPayProtocolDepositUsingStakedControlMessage({
12289
12362
  amount: input.amount,
12290
12363
  applicationId: input.applicationId,
@@ -12296,7 +12369,7 @@ async function validatePayProtocolDepositUsingStakedControlSignature(input, doma
12296
12369
  }
12297
12370
  try {
12298
12371
  const verified = await viem.verifyTypedData({
12299
- address: viem.getAddress(input.wallet),
12372
+ address: viem.checksumAddress(input.wallet),
12300
12373
  domain,
12301
12374
  types: payProtocolDepositUsingStakedControlEIP712Types,
12302
12375
  primaryType: farmsRouter.TRANSFER_TYPES.PayProtocolDepositUsingStakedControl,
@@ -12311,6 +12384,31 @@ async function validatePayProtocolDepositUsingStakedControlSignature(input, doma
12311
12384
  return { valid: false, recovered: null, reason: "signature_failed" };
12312
12385
  }
12313
12386
  }
12387
+ async function validateVerifyUserSignature(input, domain = stakeControlEIP712Domain(Number(process.env.CHAIN_ID) || 1)) {
12388
+ const message = buildVerifyUserMessage({
12389
+ nonce: input.nonce,
12390
+ deadline: input.deadline,
12391
+ });
12392
+ if (isDeadlineExpired(message.deadline)) {
12393
+ return { valid: false, recovered: null, reason: "deadline_expired" };
12394
+ }
12395
+ try {
12396
+ const verified = await viem.verifyTypedData({
12397
+ address: viem.checksumAddress(input.wallet),
12398
+ domain,
12399
+ types: verifyUserEIP712Types,
12400
+ primaryType: "VerifyUser",
12401
+ message,
12402
+ signature: input.signature,
12403
+ });
12404
+ return verified
12405
+ ? { valid: true, recovered: input.wallet, reason: null }
12406
+ : { valid: false, recovered: null, reason: "signer_mismatch" };
12407
+ }
12408
+ catch (_) {
12409
+ return { valid: false, recovered: null, reason: "signature_failed" };
12410
+ }
12411
+ }
12314
12412
 
12315
12413
  exports.ControlRouter = farmsRouter.ControlRouter;
12316
12414
  exports.DECIMALS_BY_TOKEN = farmsRouter.DECIMALS_BY_TOKEN;
@@ -12355,12 +12453,16 @@ exports.regionMetadata = farmsRouter.regionMetadata;
12355
12453
  exports.usStates = farmsRouter.usStates;
12356
12454
  exports.useForwarder = farmsRouter.useForwarder;
12357
12455
  exports.useOffchainFractions = farmsRouter.useOffchainFractions;
12456
+ exports.applyCertifiedInstallerEIP712Types = applyCertifiedInstallerEIP712Types;
12457
+ exports.applyCertifiedInstallerSignatureRequestSchema = applyCertifiedInstallerSignatureRequestSchema;
12458
+ exports.buildApplyCertifiedInstallerMessage = buildApplyCertifiedInstallerMessage;
12358
12459
  exports.buildCommitKickstarterMessage = buildCommitKickstarterMessage;
12359
12460
  exports.buildPayProtocolDepositUsingStakedControlMessage = buildPayProtocolDepositUsingStakedControlMessage;
12360
12461
  exports.buildRestakeMessage = buildRestakeMessage;
12361
12462
  exports.buildStakeMessage = buildStakeMessage;
12362
12463
  exports.buildUnstakeMoveMessage = buildUnstakeMoveMessage;
12363
12464
  exports.buildUnstakeUnlockMessage = buildUnstakeUnlockMessage;
12465
+ exports.buildVerifyUserMessage = buildVerifyUserMessage;
12364
12466
  exports.commitKickstarterEIP712Types = commitKickstarterEIP712Types;
12365
12467
  exports.commitKickstarterSignatureRequestSchema = commitKickstarterSignatureRequestSchema;
12366
12468
  exports.payProtocolDepositUsingStakedControlEIP712Types = payProtocolDepositUsingStakedControlEIP712Types;
@@ -12374,10 +12476,14 @@ exports.unstakeMoveEIP712Types = unstakeMoveEIP712Types;
12374
12476
  exports.unstakeMoveSignatureRequestSchema = unstakeMoveSignatureRequestSchema;
12375
12477
  exports.unstakeUnlockEIP712Types = unstakeUnlockEIP712Types;
12376
12478
  exports.unstakeUnlockSignatureRequestSchema = unstakeUnlockSignatureRequestSchema;
12479
+ exports.validateApplyCertifiedInstallerSignature = validateApplyCertifiedInstallerSignature;
12377
12480
  exports.validateCommitKickstarterSignature = validateCommitKickstarterSignature;
12378
12481
  exports.validatePayProtocolDepositUsingStakedControlSignature = validatePayProtocolDepositUsingStakedControlSignature;
12379
12482
  exports.validateRestakeSignature = validateRestakeSignature;
12380
12483
  exports.validateStakeSignature = validateStakeSignature;
12381
12484
  exports.validateUnstakeMoveSignature = validateUnstakeMoveSignature;
12382
12485
  exports.validateUnstakeUnlockSignature = validateUnstakeUnlockSignature;
12486
+ exports.validateVerifyUserSignature = validateVerifyUserSignature;
12487
+ exports.verifyUserEIP712Types = verifyUserEIP712Types;
12488
+ exports.verifyUserSignatureRequestSchema = verifyUserSignatureRequestSchema;
12383
12489
  //# sourceMappingURL=browser.js.map