@layr-labs/ecloud-sdk 1.0.0-dev.3 → 1.0.0-dev.5

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,7 +1,7 @@
1
- import { A as AppId } from './index-Bac4HjC0.cjs';
2
- export { a as AlreadyActiveResponse, b as AppConfig, c as AppProfile, d as AppProfileResponse, e as AppRecord, B as BatchedDeployResult, f as BillingEnvironmentConfig, C as CalculateAppIDOptions, g as CancelResponse, h as CancelSuccessResponse, i as ChainID, j as CheckoutCreatedResponse, k as CreateSubscriptionOptions, l as CreateSubscriptionResponse, m as CreditPurchaseResponse, D as DeployAppOptions, n as DeployAppOpts, o as DeployOptions, p as DeployProgressCallback, q as DeployResult, r as DeployStep, s as DockerImageConfig, E as EnvironmentConfig, t as EstimateGasOptions, u as ExecuteDeployBatchedOptions, v as ExecuteDeployResult, w as ExecuteDeploySequentialOptions, x as ExecuteUpgradeResult, G as GasEstimate, y as GasOpts, z as GetSubscriptionOptions, I as ImageDigestResult, F as IsDelegatedOptions, L as LifecycleOpts, H as Logger, N as NoActiveSubscriptionResponse, P as ParsedEnvironment, J as PaymentIssueResponse, K as PaymentMethod, M as PaymentMethodsResponse, O as PrepareDeployBatchOptions, Q as PrepareDeployFromVerifiableBuildOpts, R as PrepareDeployOpts, S as PrepareUpgradeBatchOptions, T as PrepareUpgradeFromVerifiableBuildOpts, U as PrepareUpgradeOpts, V as PreparedDeploy, W as PreparedDeployBatch, X as PreparedDeployData, Y as PreparedUpgrade, Z as PreparedUpgradeBatch, _ as PreparedUpgradeData, $ as ProductID, a0 as ProductSubscriptionResponse, a1 as Release, a2 as SendTransactionOptions, a3 as SequentialDeployResult, a4 as SubscribeResponse, a5 as SubscriptionLineItem, a6 as SubscriptionOpts, a7 as SubscriptionStatus, a8 as SuspendOptions, a9 as UndelegateOptions, aa as UpgradeAppOptions, ab as UpgradeAppOpts, ac as calculateAppID, ad as deployApp, ae as estimateTransactionGas, af as executeDeployBatch, ag as executeDeployBatched, ah as executeDeploySequential, ai as executeUpgradeBatch, aj as formatETH, ak as getActiveAppCount, al as getAllAppsByDeveloper, am as getAppsByBillingAccount, an as getAppsByCreator, ao as getAppsByDeveloper, ap as getBillingType, aq as getMaxActiveAppsPerUser, ar as isDelegated, as as logVisibility, at as noopLogger, au as prepareDeployBatch, av as prepareUpgradeBatch, aw as sendAndWaitForTransaction, ax as supportsEIP5792, ay as supportsEIP7702, az as suspend, aA as undelegate, aB as upgradeApp } from './index-Bac4HjC0.cjs';
3
- import { C as ComputeApiConfig, S as SessionInfo, a as SessionError, b as SiweMessageParams } from './helpers-CnlJ5yPE.cjs';
4
- export { A as AppInfo, c as AppInfoResponse, d as AppMetrics, e as AppProfileInfo, B as BillingApiClient, f as BillingApiClientOptions, g as BillingApiConfig, h as BillingLoginRequest, i as BillingLoginResult, j as BillingSessionError, k as BillingSessionInfo, l as CreateAppParams, E as EstimateBatchGasOptions, m as ExecuteBatchOptions, n as Execution, G as GeneratedKey, L as LogVisibility, o as LoginRequest, p as LoginResult, q as LogsParams, r as SiweMessageResult, U as UserApiClient, s as UserApiClientOptions, t as addHexPrefix, u as assertValidImageReference, v as assertValidPrivateKey, w as checkERC7702Delegation, x as createSiweMessage, y as estimateBatchGas, z as executeBatch, D as extractAppNameFromImage, F as generateNewPrivateKey, H as generateNonce, I as getAvailableEnvironments, J as getBillingApiSession, K as getBillingEnvironmentConfig, M as getBuildType, N as getChainFromID, O as getComputeApiSession, P as getEnvironmentConfig, Q as isBillingSessionValid, R as isEnvironmentAvailable, T as isMainnet, V as isSessionValid, W as isSiweMessageExpired, X as isSiweMessageNotYetValid, Y as isSubscriptionActive, Z as loginToBillingApi, _ as loginToBothApis, $ as loginToComputeApi, a0 as logoutFromBillingApi, a1 as logoutFromBothApis, a2 as logoutFromComputeApi, a3 as parseSiweMessage, a4 as sanitizeString, a5 as sanitizeURL, a6 as sanitizeXURL, a7 as stripHexPrefix, a8 as validateAppID, a9 as validateAppName, aa as validateCreateAppParams, ab as validateDescription, ac as validateImageReference, ad as validateInstanceTypeSKU, ae as validateLogVisibility, af as validateLogsParams, ag as validatePrivateKeyFormat, ah as validateURL, ai as validateXURL } from './helpers-CnlJ5yPE.cjs';
1
+ import { A as AppId } from './index-CLhRJNai.cjs';
2
+ export { a as AddAdminResponse, b as AdminCoupon, c as AdminUser, d as AlreadyActiveResponse, e as AppConfig, f as AppProfile, g as AppProfileResponse, h as AppRecord, B as BatchedDeployResult, i as BillingEnvironmentConfig, C as CalculateAppIDOptions, j as CancelResponse, k as CancelSuccessResponse, l as ChainID, m as CheckoutCreatedResponse, n as CreateCouponResponse, o as CreateSubscriptionOptions, p as CreateSubscriptionResponse, q as CreditPurchaseResponse, D as DeployAppOptions, r as DeployAppOpts, s as DeployOptions, t as DeployProgressCallback, u as DeployResult, v as DeployStep, w as DockerImageConfig, E as EnvironmentConfig, x as EstimateGasOptions, y as ExecuteDeployBatchedOptions, z as ExecuteDeployResult, F as ExecuteDeploySequentialOptions, G as ExecuteUpgradeResult, H as GasEstimate, I as GasOpts, J as GetCouponResponse, K as GetSubscriptionOptions, L as ImageDigestResult, M as IsDelegatedOptions, N as LifecycleOpts, O as ListAdminsResponse, P as ListCouponsResponse, Q as Logger, R as NoActiveSubscriptionResponse, S as ParsedEnvironment, T as PaymentIssueResponse, U as PaymentMethod, V as PaymentMethodsResponse, W as PrepareDeployBatchOptions, X as PrepareDeployFromVerifiableBuildOpts, Y as PrepareDeployOpts, Z as PrepareUpgradeBatchOptions, _ as PrepareUpgradeFromVerifiableBuildOpts, $ as PrepareUpgradeOpts, a0 as PreparedDeploy, a1 as PreparedDeployBatch, a2 as PreparedDeployData, a3 as PreparedUpgrade, a4 as PreparedUpgradeBatch, a5 as PreparedUpgradeData, a6 as ProductID, a7 as ProductSubscriptionResponse, a8 as RedeemCouponResponse, a9 as Release, aa as SendTransactionOptions, ab as SequentialDeployResult, ac as SubscribeResponse, ad as SubscriptionLineItem, ae as SubscriptionOpts, af as SubscriptionStatus, ag as SuspendOptions, ah as UndelegateOptions, ai as UpgradeAppOptions, aj as UpgradeAppOpts, ak as calculateAppID, al as deployApp, am as estimateTransactionGas, an as executeDeployBatch, ao as executeDeployBatched, ap as executeDeploySequential, aq as executeUpgradeBatch, ar as formatETH, as as getActiveAppCount, at as getAllAppsByDeveloper, au as getAppsByBillingAccount, av as getAppsByCreator, aw as getAppsByDeveloper, ax as getBillingType, ay as getMaxActiveAppsPerUser, az as isDelegated, aA as logVisibility, aB as noopLogger, aC as prepareDeployBatch, aD as prepareUpgradeBatch, aE as sendAndWaitForTransaction, aF as supportsEIP5792, aG as supportsEIP7702, aH as suspend, aI as undelegate, aJ as upgradeApp } from './index-CLhRJNai.cjs';
3
+ import { C as ComputeApiConfig, S as SessionInfo, a as SessionError, b as SiweMessageParams } from './helpers-CqrBJ39N.cjs';
4
+ export { A as AppInfo, c as AppInfoResponse, d as AppMetrics, e as AppProfileInfo, B as BillingApiClient, f as BillingApiClientOptions, g as BillingApiConfig, h as BillingLoginRequest, i as BillingLoginResult, j as BillingSessionError, k as BillingSessionInfo, l as CreateAppParams, E as EstimateBatchGasOptions, m as ExecuteBatchOptions, n as Execution, G as GeneratedKey, L as LogVisibility, o as LoginRequest, p as LoginResult, q as LogsParams, r as SiweMessageResult, U as UserApiClient, s as UserApiClientOptions, t as addHexPrefix, u as assertValidImageReference, v as assertValidPrivateKey, w as checkERC7702Delegation, x as createSiweMessage, y as estimateBatchGas, z as executeBatch, D as extractAppNameFromImage, F as generateNewPrivateKey, H as generateNonce, I as getAvailableEnvironments, J as getBillingApiSession, K as getBillingEnvironmentConfig, M as getBuildType, N as getChainFromID, O as getComputeApiSession, P as getEnvironmentConfig, Q as isBillingSessionValid, R as isEnvironmentAvailable, T as isMainnet, V as isSessionValid, W as isSiweMessageExpired, X as isSiweMessageNotYetValid, Y as isSubscriptionActive, Z as loginToBillingApi, _ as loginToBothApis, $ as loginToComputeApi, a0 as logoutFromBillingApi, a1 as logoutFromBothApis, a2 as logoutFromComputeApi, a3 as parseSiweMessage, a4 as sanitizeString, a5 as sanitizeURL, a6 as sanitizeXURL, a7 as stripHexPrefix, a8 as validateAppID, a9 as validateAppName, aa as validateCreateAppParams, ab as validateDescription, ac as validateImageReference, ad as validateInstanceTypeSKU, ae as validateLogVisibility, af as validateLogsParams, ag as validatePrivateKeyFormat, ah as validateURL, ai as validateXURL } from './helpers-CqrBJ39N.cjs';
5
5
  import { WalletClient, Address, Hex } from 'viem';
6
6
  import { Buffer as Buffer$1 } from 'buffer';
7
7
 
package/dist/browser.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { A as AppId } from './index-Bac4HjC0.js';
2
- export { a as AlreadyActiveResponse, b as AppConfig, c as AppProfile, d as AppProfileResponse, e as AppRecord, B as BatchedDeployResult, f as BillingEnvironmentConfig, C as CalculateAppIDOptions, g as CancelResponse, h as CancelSuccessResponse, i as ChainID, j as CheckoutCreatedResponse, k as CreateSubscriptionOptions, l as CreateSubscriptionResponse, m as CreditPurchaseResponse, D as DeployAppOptions, n as DeployAppOpts, o as DeployOptions, p as DeployProgressCallback, q as DeployResult, r as DeployStep, s as DockerImageConfig, E as EnvironmentConfig, t as EstimateGasOptions, u as ExecuteDeployBatchedOptions, v as ExecuteDeployResult, w as ExecuteDeploySequentialOptions, x as ExecuteUpgradeResult, G as GasEstimate, y as GasOpts, z as GetSubscriptionOptions, I as ImageDigestResult, F as IsDelegatedOptions, L as LifecycleOpts, H as Logger, N as NoActiveSubscriptionResponse, P as ParsedEnvironment, J as PaymentIssueResponse, K as PaymentMethod, M as PaymentMethodsResponse, O as PrepareDeployBatchOptions, Q as PrepareDeployFromVerifiableBuildOpts, R as PrepareDeployOpts, S as PrepareUpgradeBatchOptions, T as PrepareUpgradeFromVerifiableBuildOpts, U as PrepareUpgradeOpts, V as PreparedDeploy, W as PreparedDeployBatch, X as PreparedDeployData, Y as PreparedUpgrade, Z as PreparedUpgradeBatch, _ as PreparedUpgradeData, $ as ProductID, a0 as ProductSubscriptionResponse, a1 as Release, a2 as SendTransactionOptions, a3 as SequentialDeployResult, a4 as SubscribeResponse, a5 as SubscriptionLineItem, a6 as SubscriptionOpts, a7 as SubscriptionStatus, a8 as SuspendOptions, a9 as UndelegateOptions, aa as UpgradeAppOptions, ab as UpgradeAppOpts, ac as calculateAppID, ad as deployApp, ae as estimateTransactionGas, af as executeDeployBatch, ag as executeDeployBatched, ah as executeDeploySequential, ai as executeUpgradeBatch, aj as formatETH, ak as getActiveAppCount, al as getAllAppsByDeveloper, am as getAppsByBillingAccount, an as getAppsByCreator, ao as getAppsByDeveloper, ap as getBillingType, aq as getMaxActiveAppsPerUser, ar as isDelegated, as as logVisibility, at as noopLogger, au as prepareDeployBatch, av as prepareUpgradeBatch, aw as sendAndWaitForTransaction, ax as supportsEIP5792, ay as supportsEIP7702, az as suspend, aA as undelegate, aB as upgradeApp } from './index-Bac4HjC0.js';
3
- import { C as ComputeApiConfig, S as SessionInfo, a as SessionError, b as SiweMessageParams } from './helpers-GWlLS3gz.js';
4
- export { A as AppInfo, c as AppInfoResponse, d as AppMetrics, e as AppProfileInfo, B as BillingApiClient, f as BillingApiClientOptions, g as BillingApiConfig, h as BillingLoginRequest, i as BillingLoginResult, j as BillingSessionError, k as BillingSessionInfo, l as CreateAppParams, E as EstimateBatchGasOptions, m as ExecuteBatchOptions, n as Execution, G as GeneratedKey, L as LogVisibility, o as LoginRequest, p as LoginResult, q as LogsParams, r as SiweMessageResult, U as UserApiClient, s as UserApiClientOptions, t as addHexPrefix, u as assertValidImageReference, v as assertValidPrivateKey, w as checkERC7702Delegation, x as createSiweMessage, y as estimateBatchGas, z as executeBatch, D as extractAppNameFromImage, F as generateNewPrivateKey, H as generateNonce, I as getAvailableEnvironments, J as getBillingApiSession, K as getBillingEnvironmentConfig, M as getBuildType, N as getChainFromID, O as getComputeApiSession, P as getEnvironmentConfig, Q as isBillingSessionValid, R as isEnvironmentAvailable, T as isMainnet, V as isSessionValid, W as isSiweMessageExpired, X as isSiweMessageNotYetValid, Y as isSubscriptionActive, Z as loginToBillingApi, _ as loginToBothApis, $ as loginToComputeApi, a0 as logoutFromBillingApi, a1 as logoutFromBothApis, a2 as logoutFromComputeApi, a3 as parseSiweMessage, a4 as sanitizeString, a5 as sanitizeURL, a6 as sanitizeXURL, a7 as stripHexPrefix, a8 as validateAppID, a9 as validateAppName, aa as validateCreateAppParams, ab as validateDescription, ac as validateImageReference, ad as validateInstanceTypeSKU, ae as validateLogVisibility, af as validateLogsParams, ag as validatePrivateKeyFormat, ah as validateURL, ai as validateXURL } from './helpers-GWlLS3gz.js';
1
+ import { A as AppId } from './index-CLhRJNai.js';
2
+ export { a as AddAdminResponse, b as AdminCoupon, c as AdminUser, d as AlreadyActiveResponse, e as AppConfig, f as AppProfile, g as AppProfileResponse, h as AppRecord, B as BatchedDeployResult, i as BillingEnvironmentConfig, C as CalculateAppIDOptions, j as CancelResponse, k as CancelSuccessResponse, l as ChainID, m as CheckoutCreatedResponse, n as CreateCouponResponse, o as CreateSubscriptionOptions, p as CreateSubscriptionResponse, q as CreditPurchaseResponse, D as DeployAppOptions, r as DeployAppOpts, s as DeployOptions, t as DeployProgressCallback, u as DeployResult, v as DeployStep, w as DockerImageConfig, E as EnvironmentConfig, x as EstimateGasOptions, y as ExecuteDeployBatchedOptions, z as ExecuteDeployResult, F as ExecuteDeploySequentialOptions, G as ExecuteUpgradeResult, H as GasEstimate, I as GasOpts, J as GetCouponResponse, K as GetSubscriptionOptions, L as ImageDigestResult, M as IsDelegatedOptions, N as LifecycleOpts, O as ListAdminsResponse, P as ListCouponsResponse, Q as Logger, R as NoActiveSubscriptionResponse, S as ParsedEnvironment, T as PaymentIssueResponse, U as PaymentMethod, V as PaymentMethodsResponse, W as PrepareDeployBatchOptions, X as PrepareDeployFromVerifiableBuildOpts, Y as PrepareDeployOpts, Z as PrepareUpgradeBatchOptions, _ as PrepareUpgradeFromVerifiableBuildOpts, $ as PrepareUpgradeOpts, a0 as PreparedDeploy, a1 as PreparedDeployBatch, a2 as PreparedDeployData, a3 as PreparedUpgrade, a4 as PreparedUpgradeBatch, a5 as PreparedUpgradeData, a6 as ProductID, a7 as ProductSubscriptionResponse, a8 as RedeemCouponResponse, a9 as Release, aa as SendTransactionOptions, ab as SequentialDeployResult, ac as SubscribeResponse, ad as SubscriptionLineItem, ae as SubscriptionOpts, af as SubscriptionStatus, ag as SuspendOptions, ah as UndelegateOptions, ai as UpgradeAppOptions, aj as UpgradeAppOpts, ak as calculateAppID, al as deployApp, am as estimateTransactionGas, an as executeDeployBatch, ao as executeDeployBatched, ap as executeDeploySequential, aq as executeUpgradeBatch, ar as formatETH, as as getActiveAppCount, at as getAllAppsByDeveloper, au as getAppsByBillingAccount, av as getAppsByCreator, aw as getAppsByDeveloper, ax as getBillingType, ay as getMaxActiveAppsPerUser, az as isDelegated, aA as logVisibility, aB as noopLogger, aC as prepareDeployBatch, aD as prepareUpgradeBatch, aE as sendAndWaitForTransaction, aF as supportsEIP5792, aG as supportsEIP7702, aH as suspend, aI as undelegate, aJ as upgradeApp } from './index-CLhRJNai.js';
3
+ import { C as ComputeApiConfig, S as SessionInfo, a as SessionError, b as SiweMessageParams } from './helpers-DEGFGA-T.js';
4
+ export { A as AppInfo, c as AppInfoResponse, d as AppMetrics, e as AppProfileInfo, B as BillingApiClient, f as BillingApiClientOptions, g as BillingApiConfig, h as BillingLoginRequest, i as BillingLoginResult, j as BillingSessionError, k as BillingSessionInfo, l as CreateAppParams, E as EstimateBatchGasOptions, m as ExecuteBatchOptions, n as Execution, G as GeneratedKey, L as LogVisibility, o as LoginRequest, p as LoginResult, q as LogsParams, r as SiweMessageResult, U as UserApiClient, s as UserApiClientOptions, t as addHexPrefix, u as assertValidImageReference, v as assertValidPrivateKey, w as checkERC7702Delegation, x as createSiweMessage, y as estimateBatchGas, z as executeBatch, D as extractAppNameFromImage, F as generateNewPrivateKey, H as generateNonce, I as getAvailableEnvironments, J as getBillingApiSession, K as getBillingEnvironmentConfig, M as getBuildType, N as getChainFromID, O as getComputeApiSession, P as getEnvironmentConfig, Q as isBillingSessionValid, R as isEnvironmentAvailable, T as isMainnet, V as isSessionValid, W as isSiweMessageExpired, X as isSiweMessageNotYetValid, Y as isSubscriptionActive, Z as loginToBillingApi, _ as loginToBothApis, $ as loginToComputeApi, a0 as logoutFromBillingApi, a1 as logoutFromBothApis, a2 as logoutFromComputeApi, a3 as parseSiweMessage, a4 as sanitizeString, a5 as sanitizeURL, a6 as sanitizeXURL, a7 as stripHexPrefix, a8 as validateAppID, a9 as validateAppName, aa as validateCreateAppParams, ab as validateDescription, ac as validateImageReference, ad as validateInstanceTypeSKU, ae as validateLogVisibility, af as validateLogsParams, ag as validatePrivateKeyFormat, ah as validateURL, ai as validateXURL } from './helpers-DEGFGA-T.js';
5
5
  import { WalletClient, Address, Hex } from 'viem';
6
6
  import { Buffer as Buffer$1 } from 'buffer';
7
7
 
package/dist/browser.js CHANGED
@@ -189,7 +189,9 @@ var ENVIRONMENTS = {
189
189
  kmsServerURL: "http://10.128.0.57:8080",
190
190
  userApiServerURL: "https://userapi-compute-sepolia-dev.eigencloud.xyz",
191
191
  defaultRPCURL: "https://ethereum-sepolia-rpc.publicnode.com",
192
- usdcCreditsAddress: "0xbdA3897c3A428763B59015C64AB766c288C97376"
192
+ usdcCreditsAddress: "0xbdA3897c3A428763B59015C64AB766c288C97376",
193
+ baseUsdcCreditsAddress: "0x7673a47463F80c6a3553Db9E54c8cDcd5313d0ac",
194
+ baseRPCURL: "https://base-sepolia-rpc.publicnode.com"
193
195
  },
194
196
  sepolia: {
195
197
  name: "sepolia",
@@ -201,7 +203,9 @@ var ENVIRONMENTS = {
201
203
  userApiServerURL: "https://userapi-compute-sepolia-prod.eigencloud.xyz",
202
204
  defaultRPCURL: "https://ethereum-sepolia-rpc.publicnode.com",
203
205
  billingRPCURL: "https://ethereum-rpc.publicnode.com",
204
- usdcCreditsAddress: "0xed9c88640ca9149Bd9f7ee6620074af10F2E145d"
206
+ usdcCreditsAddress: "0xed9c88640ca9149Bd9f7ee6620074af10F2E145d",
207
+ baseUsdcCreditsAddress: "0x7673a47463F80c6a3553Db9E54c8cDcd5313d0ac",
208
+ baseRPCURL: "https://base-sepolia-rpc.publicnode.com"
205
209
  },
206
210
  "mainnet-alpha": {
207
211
  name: "mainnet-alpha",
@@ -303,8 +307,8 @@ import { sepolia as sepolia2 } from "viem/chains";
303
307
  import { privateKeyToAccount } from "viem/accounts";
304
308
 
305
309
  // src/client/common/constants.ts
306
- import { sepolia, mainnet } from "viem/chains";
307
- var SUPPORTED_CHAINS = [mainnet, sepolia];
310
+ import { sepolia, mainnet, baseSepolia } from "viem/chains";
311
+ var SUPPORTED_CHAINS = [mainnet, sepolia, baseSepolia];
308
312
 
309
313
  // src/client/common/utils/helpers.ts
310
314
  function getChainFromID(chainID, fallback2 = sepolia2) {
@@ -629,7 +633,7 @@ var CanViewAppLogsPermission = "0x2fd3f2fe";
629
633
  var CanViewSensitiveAppInfoPermission = "0x0e67b22f";
630
634
  var CanUpdateAppProfilePermission = "0x036fef61";
631
635
  function getDefaultClientId() {
632
- const version = true ? "1.0.0-dev.3" : "0.0.0";
636
+ const version = true ? "1.0.0-dev.5" : "0.0.0";
633
637
  return `ecloud-sdk/v${version}`;
634
638
  }
635
639
  var UserApiClient = class {
@@ -1232,6 +1236,63 @@ var BillingApiClient = class {
1232
1236
  return resp.json();
1233
1237
  }
1234
1238
  // ==========================================================================
1239
+ // Admin - Coupon Methods
1240
+ // ==========================================================================
1241
+ async createCoupon(amountCents) {
1242
+ const endpoint = `${this.config.billingApiServerURL}/admin/coupons`;
1243
+ const resp = await this.makeAuthenticatedRequest(endpoint, "POST", "compute", { amountCents });
1244
+ return resp.json();
1245
+ }
1246
+ async listCoupons(opts) {
1247
+ const params = new URLSearchParams();
1248
+ if (opts?.offset !== void 0) params.set("offset", opts.offset.toString());
1249
+ if (opts?.limit !== void 0) params.set("limit", opts.limit.toString());
1250
+ if (opts?.active !== void 0) params.set("active", opts.active.toString());
1251
+ if (opts?.redeemed !== void 0) params.set("redeemed", opts.redeemed.toString());
1252
+ const qs = params.toString();
1253
+ const endpoint = `${this.config.billingApiServerURL}/admin/coupons${qs ? `?${qs}` : ""}`;
1254
+ const resp = await this.makeAuthenticatedRequest(endpoint, "GET", "compute");
1255
+ return resp.json();
1256
+ }
1257
+ async getCoupon(id) {
1258
+ const endpoint = `${this.config.billingApiServerURL}/admin/coupons/${id}`;
1259
+ const resp = await this.makeAuthenticatedRequest(endpoint, "GET", "compute");
1260
+ return resp.json();
1261
+ }
1262
+ async deactivateCoupon(id) {
1263
+ const endpoint = `${this.config.billingApiServerURL}/admin/coupons/${id}/deactivate`;
1264
+ await this.makeAuthenticatedRequest(endpoint, "POST", "compute");
1265
+ }
1266
+ async redeemCouponForUser(id, address) {
1267
+ const endpoint = `${this.config.billingApiServerURL}/admin/coupons/${id}/redeem`;
1268
+ await this.makeAuthenticatedRequest(endpoint, "POST", "compute", { address });
1269
+ }
1270
+ // ==========================================================================
1271
+ // Admin - Admin Management Methods
1272
+ // ==========================================================================
1273
+ async addAdmin(address) {
1274
+ const endpoint = `${this.config.billingApiServerURL}/admin/admins`;
1275
+ const resp = await this.makeAuthenticatedRequest(endpoint, "POST", "compute", { address });
1276
+ return resp.json();
1277
+ }
1278
+ async removeAdmin(address) {
1279
+ const endpoint = `${this.config.billingApiServerURL}/admin/admins/${address}`;
1280
+ await this.makeAuthenticatedRequest(endpoint, "DELETE", "compute");
1281
+ }
1282
+ async listAdmins() {
1283
+ const endpoint = `${this.config.billingApiServerURL}/admin/admins`;
1284
+ const resp = await this.makeAuthenticatedRequest(endpoint, "GET", "compute");
1285
+ return resp.json();
1286
+ }
1287
+ // ==========================================================================
1288
+ // User - Coupon Redemption
1289
+ // ==========================================================================
1290
+ async redeemCoupon(code) {
1291
+ const endpoint = `${this.config.billingApiServerURL}/v1/coupons/redeem`;
1292
+ const resp = await this.makeAuthenticatedRequest(endpoint, "POST", "compute", { code });
1293
+ return resp.json();
1294
+ }
1295
+ // ==========================================================================
1235
1296
  // Internal Methods
1236
1297
  // ==========================================================================
1237
1298
  /**