@ardrive/turbo-sdk 1.27.0-alpha.2 → 1.27.0-alpha.4

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 (41) hide show
  1. package/README.md +45 -1
  2. package/bundles/web.bundle.min.js +83 -46
  3. package/lib/cjs/cli/cli.js +8 -2
  4. package/lib/cjs/cli/commands/fiatEstimate.js +34 -0
  5. package/lib/cjs/cli/commands/price.js +7 -0
  6. package/lib/cjs/cli/commands/tokenPrice.js +1 -7
  7. package/lib/cjs/cli/commands/topUp.js +1 -5
  8. package/lib/cjs/cli/utils.js +19 -0
  9. package/lib/cjs/common/payment.js +23 -0
  10. package/lib/cjs/common/turbo.js +11 -11
  11. package/lib/cjs/common/upload.js +37 -1
  12. package/lib/cjs/version.js +1 -1
  13. package/lib/esm/cli/cli.js +8 -2
  14. package/lib/esm/cli/commands/fiatEstimate.js +31 -0
  15. package/lib/esm/cli/commands/price.js +8 -1
  16. package/lib/esm/cli/commands/tokenPrice.js +2 -8
  17. package/lib/esm/cli/commands/topUp.js +2 -6
  18. package/lib/esm/cli/utils.js +18 -1
  19. package/lib/esm/common/payment.js +23 -0
  20. package/lib/esm/common/turbo.js +11 -11
  21. package/lib/esm/common/upload.js +37 -1
  22. package/lib/esm/version.js +1 -1
  23. package/lib/types/cli/commands/fiatEstimate.d.ts +3 -0
  24. package/lib/types/cli/commands/fiatEstimate.d.ts.map +1 -0
  25. package/lib/types/cli/commands/price.d.ts.map +1 -1
  26. package/lib/types/cli/commands/tokenPrice.d.ts.map +1 -1
  27. package/lib/types/cli/commands/topUp.d.ts.map +1 -1
  28. package/lib/types/cli/types.d.ts +4 -0
  29. package/lib/types/cli/types.d.ts.map +1 -1
  30. package/lib/types/cli/utils.d.ts +7 -3
  31. package/lib/types/cli/utils.d.ts.map +1 -1
  32. package/lib/types/common/payment.d.ts +5 -1
  33. package/lib/types/common/payment.d.ts.map +1 -1
  34. package/lib/types/common/turbo.d.ts +56 -3
  35. package/lib/types/common/turbo.d.ts.map +1 -1
  36. package/lib/types/common/upload.d.ts +5 -2
  37. package/lib/types/common/upload.d.ts.map +1 -1
  38. package/lib/types/types.d.ts +18 -2
  39. package/lib/types/types.d.ts.map +1 -1
  40. package/lib/types/version.d.ts +1 -1
  41. package/package.json +5 -5
@@ -18,13 +18,20 @@ import { isTokenType, tokenToBaseMap } from '../../common/index.js';
18
18
  import { TurboFactory } from '../../node/factory.js';
19
19
  import { fiatCurrencyTypes, isCurrency, tokenTypes } from '../../types.js';
20
20
  import { wincPerCredit } from '../constants.js';
21
- import { configFromOptions } from '../utils.js';
21
+ import { configFromOptions, currencyFromOptions } from '../utils.js';
22
+ import { fiatEstimate } from './fiatEstimate.js';
22
23
  export async function price(options) {
23
24
  const value = options.value;
24
25
  if (value === undefined || +value <= 0 || isNaN(+value)) {
25
26
  throw new Error('Must provide a positive number --value to get price');
26
27
  }
27
28
  const type = options.type ?? 'bytes';
29
+ const currency = currencyFromOptions(options);
30
+ if (currency !== undefined && type === 'bytes') {
31
+ // User supplied --type bytes --currency <currency> --value <bytes>
32
+ // This is a special case where we will provide a fiat estimate for the bytes value
33
+ return fiatEstimate({ ...options, byteCount: value });
34
+ }
28
35
  const winc = await (async () => {
29
36
  if (isTokenType(type)) {
30
37
  const turbo = TurboFactory.unauthenticated({
@@ -16,15 +16,9 @@
16
16
  import { isTokenType } from '../../common/index.js';
17
17
  import { TurboFactory } from '../../node/factory.js';
18
18
  import { tokenTypes } from '../../types.js';
19
- import { configFromOptions } from '../utils.js';
19
+ import { configFromOptions, requiredByteCountFromOptions } from '../utils.js';
20
20
  export async function tokenPrice(options) {
21
- const byteCount = options.byteCount !== undefined ? +options.byteCount : undefined;
22
- if (byteCount === undefined ||
23
- byteCount <= 0 ||
24
- isNaN(byteCount) ||
25
- !Number.isInteger(byteCount)) {
26
- throw new Error('Must provide a positive number for byte to get price.\nFor example, to get the SOL price for 100 MiB use the following:\nturbo token-price --token solana --byte-count 1048576000');
27
- }
21
+ const byteCount = requiredByteCountFromOptions(options);
28
22
  const token = options.token;
29
23
  if (!isTokenType(token)) {
30
24
  throw new Error(`Invalid token type ${token}. Must be one of ${tokenTypes.join(', ')}`);
@@ -16,9 +16,8 @@
16
16
  import { exec } from 'child_process';
17
17
  import { currencyMap } from '../../common/currency.js';
18
18
  import { TurboFactory } from '../../node/factory.js';
19
- import { fiatCurrencyTypes, isCurrency } from '../../types.js';
20
19
  import { sleep } from '../../utils/common.js';
21
- import { addressOrPrivateKeyFromOptions, configFromOptions } from '../utils.js';
20
+ import { addressOrPrivateKeyFromOptions, configFromOptions, currencyFromOptions, } from '../utils.js';
22
21
  function openUrl(url) {
23
22
  if (process.platform === 'darwin') {
24
23
  // macOS
@@ -40,10 +39,7 @@ export async function topUp(options) {
40
39
  if (value === undefined) {
41
40
  throw new Error('Must provide a --value to top up');
42
41
  }
43
- const currency = (options.currency ?? 'usd').toLowerCase();
44
- if (!isCurrency(currency)) {
45
- throw new Error(`Invalid fiat currency type ${currency}!\nPlease use one of these:\n${JSON.stringify(fiatCurrencyTypes, null, 2)}`);
46
- }
42
+ const currency = currencyFromOptions(options) ?? 'usd';
47
43
  // TODO: Pay in CLI prompts via --cli options
48
44
  const { url, paymentAmount, winc } = await (async () => {
49
45
  const amount = currencyMap[currency](+value);
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import bs58 from 'bs58';
17
17
  import { readFileSync, statSync } from 'fs';
18
- import { TurboFactory, defaultTurboConfiguration, developmentTurboConfiguration, isTokenType, privateKeyFromKyveMnemonic, } from '../node/index.js';
18
+ import { TurboFactory, defaultTurboConfiguration, developmentTurboConfiguration, fiatCurrencyTypes, isCurrency, isTokenType, privateKeyFromKyveMnemonic, } from '../node/index.js';
19
19
  import { defaultProdAoConfigs, tokenToDevAoConfigMap, tokenToDevGatewayMap, } from '../utils/common.js';
20
20
  import { NoWalletProvidedError } from './errors.js';
21
21
  export function exitWithErrorLog(error) {
@@ -238,3 +238,20 @@ export function parseTags(tagsArr) {
238
238
  export function getTagsFromOptions(options) {
239
239
  return parseTags(options.tags);
240
240
  }
241
+ export function currencyFromOptions(options) {
242
+ const currency = options.currency?.toLowerCase();
243
+ if (!isCurrency(currency)) {
244
+ throw new Error(`Invalid fiat currency type ${currency}!\nPlease use one of these:\n${JSON.stringify(fiatCurrencyTypes, null, 2)}`);
245
+ }
246
+ return currency;
247
+ }
248
+ export function requiredByteCountFromOptions({ byteCount, }) {
249
+ const byteCountValue = byteCount !== undefined ? +byteCount : undefined;
250
+ if (byteCountValue === undefined ||
251
+ isNaN(byteCountValue) ||
252
+ !Number.isInteger(byteCountValue) ||
253
+ byteCountValue <= 0) {
254
+ throw new Error('Must provide a positive number for byte count.');
255
+ }
256
+ return byteCountValue;
257
+ }
@@ -175,6 +175,29 @@ export class TurboUnauthenticatedPaymentService {
175
175
  }
176
176
  return response;
177
177
  }
178
+ async getFiatEstimateForBytes({ byteCount, currency, }) {
179
+ // Step 1: Get the estimated winc cost for the given byte count -- W
180
+ const wincPriceForGivenBytes = await this.getUploadCosts({
181
+ bytes: [byteCount],
182
+ });
183
+ // Step 2: Get the winc-to-fiat conversion rates for 1 GiB
184
+ const { winc: wincPriceForOneGiB, fiat: fiatPricesForOneGiB } = await this.getFiatRates();
185
+ // Step 3: Convert the WINC cost of the given bytes into fiat:
186
+ // (W / W1GiB) * Fiat1GiB = FiatCostForBytes
187
+ const fiatPriceForGivenBytes = new BigNumber(wincPriceForGivenBytes[0].winc)
188
+ .dividedBy(new BigNumber(wincPriceForOneGiB))
189
+ .times(fiatPricesForOneGiB[currency]);
190
+ // Step 4: Format and round up so the estimated cost is always enough to cover the upload
191
+ const formattedFiatPrice = currency === 'jpy'
192
+ ? +fiatPriceForGivenBytes.integerValue(BigNumber.ROUND_CEIL) // no decimals for JPY
193
+ : +fiatPriceForGivenBytes.decimalPlaces(2, BigNumber.ROUND_CEIL); // 2 decimal precision
194
+ return {
195
+ byteCount,
196
+ amount: formattedFiatPrice,
197
+ currency,
198
+ winc: wincPriceForGivenBytes[0].winc,
199
+ };
200
+ }
178
201
  async getTokenPriceForBytes({ byteCount, }) {
179
202
  const wincPriceForOneToken = (await this.getWincForToken({
180
203
  tokenAmount: tokenToBaseMap[this.token](1),
@@ -75,6 +75,15 @@ export class TurboUnauthenticatedClient {
75
75
  getWincForToken(params) {
76
76
  return this.paymentService.getWincForToken(params);
77
77
  }
78
+ /**
79
+ * Determines the fiat estimate for a given byte count in a specific currency, including all Turbo cost adjustments and fees.
80
+ */
81
+ getFiatEstimateForBytes({ byteCount, currency, }) {
82
+ return this.paymentService.getFiatEstimateForBytes({
83
+ byteCount,
84
+ currency,
85
+ });
86
+ }
78
87
  /**
79
88
  * Determines the price in the instantiated token to upload one data item of a specific size in bytes, including all Turbo cost adjustments and fees.
80
89
  */
@@ -142,17 +151,8 @@ export class TurboAuthenticatedClient extends TurboUnauthenticatedClient {
142
151
  upload({ data, dataItemOpts, signal, events, }) {
143
152
  return this.uploadService.upload({ data, dataItemOpts, signal, events });
144
153
  }
145
- /**
146
- * Signs and uploads raw file data to the Turbo Upload Service.
147
- */
148
- uploadFile({ fileStreamFactory, fileSizeFactory, signal, dataItemOpts, events, }) {
149
- return this.uploadService.uploadFile({
150
- fileStreamFactory,
151
- fileSizeFactory,
152
- signal,
153
- dataItemOpts,
154
- events,
155
- });
154
+ uploadFile(params) {
155
+ return this.uploadService.uploadFile(params);
156
156
  }
157
157
  uploadFolder(p) {
158
158
  return this.uploadService.uploadFolder(p);
@@ -21,6 +21,12 @@ import { FailedRequestError } from '../utils/errors.js';
21
21
  import { TurboEventEmitter, createStreamWithUploadEvents } from './events.js';
22
22
  import { TurboHTTPService } from './http.js';
23
23
  import { TurboWinstonLogger } from './logger.js';
24
+ function isTurboUploadFileWithStreamFactoryParams(params) {
25
+ return 'fileStreamFactory' in params;
26
+ }
27
+ function isTurboUploadFileWithFileOrPathParams(params) {
28
+ return 'file' in params;
29
+ }
24
30
  export const creditSharingTagNames = {
25
31
  shareCredits: 'x-approve-payment',
26
32
  sharedWincAmount: 'x-amount',
@@ -115,7 +121,36 @@ export class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUpl
115
121
  events,
116
122
  });
117
123
  }
118
- async uploadFile({ fileStreamFactory, fileSizeFactory, signal, dataItemOpts, events = {}, }) {
124
+ resolveUploadFileConfig(params) {
125
+ let fileStreamFactory;
126
+ let fileSizeFactory;
127
+ if (isTurboUploadFileWithStreamFactoryParams(params)) {
128
+ fileStreamFactory = params.fileStreamFactory;
129
+ fileSizeFactory = params.fileSizeFactory;
130
+ }
131
+ else if (isTurboUploadFileWithFileOrPathParams(params)) {
132
+ const file = params.file;
133
+ /**
134
+ * this is pretty gross, but it's the only way to get the type inference to work without overhauling
135
+ * the abstract method to accept a generic, which we would need to perform a check on anyways.
136
+ */
137
+ fileStreamFactory =
138
+ file instanceof File
139
+ ? () => this.getFileStreamForFile(file)
140
+ : () => this.getFileStreamForFile(file);
141
+ fileSizeFactory = () => this.getFileSize(params.file);
142
+ }
143
+ else {
144
+ throw new TypeError('Invalid upload file params. Must be either TurboUploadFileWithStreamFactoryParams or TurboUploadFileWithFileOrPathParams');
145
+ }
146
+ return {
147
+ fileStreamFactory,
148
+ fileSizeFactory,
149
+ ...params,
150
+ };
151
+ }
152
+ async uploadFile(params) {
153
+ const { signal, dataItemOpts, events, fileStreamFactory, fileSizeFactory } = this.resolveUploadFileConfig(params);
119
154
  let retries = 0;
120
155
  const maxRetries = this.retryConfig.retries ?? 3;
121
156
  const retryDelay = this.retryConfig.retryDelay ??
@@ -219,6 +254,7 @@ export class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUpl
219
254
  }
220
255
  /**
221
256
  * TODO: add events to the uploadFolder method
257
+ * TODO: create resolveUploadFolderConfig() function
222
258
  * could be a predicate with a resolveConfig() function, eg: events: ({...file ctx}) => ({
223
259
  * onProgress: (progress) => {
224
260
  * console.log('progress', progress);
@@ -14,4 +14,4 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  // AUTOMATICALLY GENERATED FILE - DO NOT TOUCH
17
- export const version = '1.27.0-alpha.2';
17
+ export const version = '1.27.0-alpha.4';
@@ -0,0 +1,3 @@
1
+ import { FiatEstimateOptions } from '../types.js';
2
+ export declare function fiatEstimate(options: FiatEstimateOptions): Promise<void>;
3
+ //# sourceMappingURL=fiatEstimate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiatEstimate.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/fiatEstimate.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAOlD,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,iBAc9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/price.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,iBA8ChD"}
1
+ {"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/price.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,iBAqDhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"tokenPrice.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/tokenPrice.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,iBAgC1D"}
1
+ {"version":3,"file":"tokenPrice.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/tokenPrice.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,iBAqB1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"topUp.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/topUp.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB3C,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,iBA4DhD"}
1
+ {"version":3,"file":"topUp.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/topUp.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAoB3C,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,iBAkDhD"}
@@ -58,8 +58,12 @@ export type UploadFileOptions = UploadOptions & {
58
58
  export type TokenPriceOptions = GlobalOptions & {
59
59
  byteCount: string | undefined;
60
60
  };
61
+ export type FiatEstimateOptions = TokenPriceOptions & {
62
+ currency: string | undefined;
63
+ };
61
64
  export type PriceOptions = TokenPriceOptions & {
62
65
  value: string | undefined;
66
+ currency: string | undefined;
63
67
  type: string | undefined;
64
68
  };
65
69
  export type CryptoFundOptions = WalletOptions & {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG;IAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG;IAC7C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG;IAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG;IAC7C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { Command, OptionValues } from 'commander';
2
- import { TokenType, TurboAuthenticatedClient, TurboUnauthenticatedConfiguration } from '../node/index.js';
3
- import { AddressOptions, GlobalOptions, UploadFolderOptions, UploadOptions, WalletOptions } from './types.js';
2
+ import { Currency, TokenType, TurboAuthenticatedClient, TurboUnauthenticatedConfiguration } from '../node/index.js';
3
+ import { AddressOptions, GlobalOptions, TokenPriceOptions, UploadFolderOptions, UploadOptions, WalletOptions } from './types.js';
4
4
  export declare function exitWithErrorLog(error: unknown): void;
5
- export declare function runCommand<O extends OptionValues>(command: Command, action: (options: O) => Promise<void>): Promise<void>;
5
+ export declare function runCommand<T extends OptionValues>(command: Command, action: (options: T) => Promise<void>): Promise<void>;
6
6
  interface CommanderOption {
7
7
  alias: string;
8
8
  description: string;
@@ -42,5 +42,9 @@ export declare function getTagsFromOptions(options: UploadOptions): {
42
42
  name: string;
43
43
  value: string;
44
44
  }[];
45
+ export declare function currencyFromOptions<T extends GlobalOptions & {
46
+ currency?: string;
47
+ }>(options: T): Currency | undefined;
48
+ export declare function requiredByteCountFromOptions({ byteCount, }: TokenPriceOptions): number;
45
49
  export {};
46
50
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/cli/utils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGlD,OAAO,EACL,SAAS,EACT,wBAAwB,EAExB,iCAAiC,EAKlC,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EACL,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,QAG9C;AAED,wBAAsB,UAAU,CAAC,CAAC,SAAS,YAAY,EACrD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,iBAUtC;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAKT;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAU5D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMzD;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAajE;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC;IACT,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC,CASD;AAED,wBAAsB,6BAA6B,CAAC,OAAO,EAAE,aAAa,+BAUzE;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,QAAQ,EACR,UAAU,EACV,UAAU,EACV,KAAK,GACN,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBjC;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,GACrB,iCAAiC,CAiEnC;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,wBAAwB,CAAC,CAOnC;AAED,wBAAsB,iBAAiB,CACrC,EACE,MAAM,EAAE,cAAc,EACtB,eAAe,EACf,qBAAqB,GACtB,EAAE,aAAa,EAChB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAwB/B;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAYA;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CA0BnC;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAEnC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/cli/utils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGlD,OAAO,EACL,QAAQ,EACR,SAAS,EACT,wBAAwB,EAExB,iCAAiC,EAOlC,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,QAG9C;AAED,wBAAsB,UAAU,CAAC,CAAC,SAAS,YAAY,EACrD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,iBAUtC;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAKT;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAU5D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMzD;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAajE;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC;IACT,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC,CASD;AAED,wBAAsB,6BAA6B,CAAC,OAAO,EAAE,aAAa,+BAUzE;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,QAAQ,EACR,UAAU,EACV,UAAU,EACV,KAAK,GACN,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBjC;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,GACrB,iCAAiC,CAiEnC;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,wBAAwB,CAAC,CAOnC;AAED,wBAAsB,iBAAiB,CACrC,EACE,MAAM,EAAE,cAAc,EACtB,eAAe,EACf,qBAAqB,GACtB,EAAE,aAAa,EAChB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAwB/B;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAYA;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CA0BnC;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAEnC;AAED,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,aAAa,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/C,OAAO,EAAE,CAAC,GAAG,QAAQ,GAAG,SAAS,CAclC;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,SAAS,GACV,EAAE,iBAAiB,GAAG,MAAM,CAW5B"}
@@ -1,4 +1,4 @@
1
- import { Currency, GetCreditShareApprovalsResponse, TokenTools, TokenType, TurboAuthenticatedPaymentServiceConfiguration, TurboAuthenticatedPaymentServiceInterface, TurboBalanceResponse, TurboCheckoutSessionParams, TurboCheckoutSessionResponse, TurboCountriesResponse, TurboCryptoFundResponse, TurboCurrenciesResponse, TurboDataItemSigner, TurboFiatToArResponse, TurboFundWithTokensParams, TurboLogger, TurboPriceResponse, TurboRatesResponse, TurboSignedRequestHeaders, TurboSubmitFundTxResponse, TurboTokenPriceForBytesResponse, TurboUnauthenticatedPaymentServiceConfiguration, TurboUnauthenticatedPaymentServiceInterface, TurboWincForFiatParams, TurboWincForFiatResponse, TurboWincForTokenParams, TurboWincForTokenResponse, UserAddress } from '../types.js';
1
+ import { Currency, GetCreditShareApprovalsResponse, TokenTools, TokenType, TurboAuthenticatedPaymentServiceConfiguration, TurboAuthenticatedPaymentServiceInterface, TurboBalanceResponse, TurboCheckoutSessionParams, TurboCheckoutSessionResponse, TurboCountriesResponse, TurboCryptoFundResponse, TurboCurrenciesResponse, TurboDataItemSigner, TurboFiatEstimateForBytesResponse, TurboFiatToArResponse, TurboFundWithTokensParams, TurboLogger, TurboPriceResponse, TurboRatesResponse, TurboSignedRequestHeaders, TurboSubmitFundTxResponse, TurboTokenPriceForBytesResponse, TurboUnauthenticatedPaymentServiceConfiguration, TurboUnauthenticatedPaymentServiceInterface, TurboWincForFiatParams, TurboWincForFiatResponse, TurboWincForTokenParams, TurboWincForTokenResponse, UserAddress } from '../types.js';
2
2
  import { TurboHTTPService } from './http.js';
3
3
  export declare const developmentPaymentServiceURL = "https://payment.ardrive.dev";
4
4
  export declare const defaultPaymentServiceURL = "https://payment.ardrive.io";
@@ -29,6 +29,10 @@ export declare class TurboUnauthenticatedPaymentService implements TurboUnauthen
29
29
  getCreditShareApprovals({ userAddress, }: {
30
30
  userAddress: UserAddress;
31
31
  }): Promise<GetCreditShareApprovalsResponse>;
32
+ getFiatEstimateForBytes({ byteCount, currency, }: {
33
+ byteCount: number;
34
+ currency: Currency;
35
+ }): Promise<TurboFiatEstimateForBytesResponse>;
32
36
  getTokenPriceForBytes({ byteCount, }: {
33
37
  byteCount: number;
34
38
  }): Promise<TurboTokenPriceForBytesResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/common/payment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/common/payment.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { CreditShareApproval, Currency, GetCreditShareApprovalsResponse, NativeAddress, TokenType, TurboAbortSignal, TurboAuthenticatedClientConfiguration, TurboAuthenticatedClientInterface, TurboAuthenticatedPaymentServiceInterface, TurboAuthenticatedUploadServiceInterface, TurboBalanceResponse, TurboCheckoutSessionParams, TurboCheckoutSessionResponse, TurboCountriesResponse, TurboCreateCreditShareApprovalParams, TurboCryptoFundResponse, TurboCurrenciesResponse, TurboDataItemSigner, TurboFiatToArResponse, TurboFileFactory, TurboFundWithTokensParams, TurboPriceResponse, TurboRatesResponse, TurboRevokeCreditsParams, TurboSignedDataItemFactory, TurboSubmitFundTxResponse, TurboTokenPriceForBytesResponse, TurboUnauthenticatedClientConfiguration, TurboUnauthenticatedClientInterface, TurboUnauthenticatedPaymentServiceInterface, TurboUnauthenticatedUploadServiceInterface, TurboUploadAndSigningEmitterEvents, TurboUploadDataItemResponse, TurboUploadEmitterEvents, TurboUploadFolderParams, TurboUploadFolderResponse, TurboWincForFiatParams, TurboWincForFiatResponse, TurboWincForTokenParams, TurboWincForTokenResponse, UploadDataInput } from '../types.js';
16
+ import { CreditShareApproval, Currency, GetCreditShareApprovalsResponse, NativeAddress, TokenType, TurboAbortSignal, TurboAuthenticatedClientConfiguration, TurboAuthenticatedClientInterface, TurboAuthenticatedPaymentServiceInterface, TurboAuthenticatedUploadServiceInterface, TurboBalanceResponse, TurboCheckoutSessionParams, TurboCheckoutSessionResponse, TurboCountriesResponse, TurboCreateCreditShareApprovalParams, TurboCryptoFundResponse, TurboCurrenciesResponse, TurboDataItemSigner, TurboFiatEstimateForBytesResponse, TurboFiatToArResponse, TurboFundWithTokensParams, TurboPriceResponse, TurboRatesResponse, TurboRevokeCreditsParams, TurboSignedDataItemFactory, TurboSubmitFundTxResponse, TurboTokenPriceForBytesResponse, TurboUnauthenticatedClientConfiguration, TurboUnauthenticatedClientInterface, TurboUnauthenticatedPaymentServiceInterface, TurboUnauthenticatedUploadServiceInterface, TurboUploadAndSigningEmitterEvents, TurboUploadDataItemResponse, TurboUploadEmitterEvents, TurboUploadFileWithFileOrPathParams, TurboUploadFileWithStreamFactoryParams, TurboUploadFolderParams, TurboUploadFolderResponse, TurboWincForFiatParams, TurboWincForFiatResponse, TurboWincForTokenParams, TurboWincForTokenResponse, UploadDataInput } from '../types.js';
17
17
  /**
18
18
  * Testing configuration.
19
19
  */
@@ -76,6 +76,13 @@ export declare class TurboUnauthenticatedClient implements TurboUnauthenticatedC
76
76
  * Determines the amount of 'winc' that would be returned for a given token and amount, including all Turbo cost adjustments and fees.
77
77
  */
78
78
  getWincForToken(params: TurboWincForTokenParams): Promise<TurboWincForTokenResponse>;
79
+ /**
80
+ * Determines the fiat estimate for a given byte count in a specific currency, including all Turbo cost adjustments and fees.
81
+ */
82
+ getFiatEstimateForBytes({ byteCount, currency, }: {
83
+ byteCount: number;
84
+ currency: Currency;
85
+ }): Promise<TurboFiatEstimateForBytesResponse>;
79
86
  /**
80
87
  * Determines the price in the instantiated token to upload one data item of a specific size in bytes, including all Turbo cost adjustments and fees.
81
88
  */
@@ -128,8 +135,54 @@ export declare class TurboAuthenticatedClient extends TurboUnauthenticatedClient
128
135
  upload({ data, dataItemOpts, signal, events, }: UploadDataInput & TurboAbortSignal & TurboUploadAndSigningEmitterEvents): Promise<TurboUploadDataItemResponse>;
129
136
  /**
130
137
  * Signs and uploads raw file data to the Turbo Upload Service.
131
- */
132
- uploadFile({ fileStreamFactory, fileSizeFactory, signal, dataItemOpts, events, }: TurboFileFactory & TurboAbortSignal & TurboUploadAndSigningEmitterEvents): Promise<TurboUploadDataItemResponse>;
138
+ *
139
+ * @example using a file or path
140
+ * ```ts
141
+ * // web
142
+ * // the file is the file object from the input event onChange for a file input
143
+ * const selectedFile = e.target.files[0];
144
+ * const response = await turbo.uploadFile({
145
+ * file: selectedFile,
146
+ * dataItemOpts: { tags: [{ name: 'Content-Type', value: 'text/plain' }] },
147
+ * events: {
148
+ * onUploadProgress: ({ totalBytes, processedBytes }) => {
149
+ * console.log(`Uploaded ${processedBytes} of ${totalBytes} bytes`);
150
+ * },
151
+ * },
152
+ * });
153
+ *
154
+ * // node
155
+ * const response = await turbo.uploadFile({
156
+ * file: 'test.txt',
157
+ * dataItemOpts: { tags: [{ name: 'Content-Type', value: 'text/plain' }] },
158
+ * });
159
+ * ```
160
+ *
161
+ * @example using a stream factory
162
+ * ```ts
163
+ * // web
164
+ * const selectedFile = e.target.files[0];
165
+ * const response = await turbo.uploadFile({
166
+ * fileStreamFactory: () => file.stream(),
167
+ * fileSizeFactory: () => file.size,
168
+ * dataItemOpts: { tags: [{ name: 'Content-Type', value: 'text/plain' }] },
169
+ * events: {
170
+ * onUploadProgress: ({ totalBytes, processedBytes }) => {
171
+ * console.log(`Uploaded ${processedBytes} of ${totalBytes} bytes`);
172
+ * },
173
+ * },
174
+ * });
175
+ *
176
+ * // node
177
+ * const response = await turbo.uploadFile({
178
+ * fileStreamFactory: () => fs.createReadStream('test.txt'),
179
+ * fileSizeFactory: () => fs.statSync('test.txt').size,
180
+ * dataItemOpts: { tags: [{ name: 'Content-Type', value: 'text/plain' }] },
181
+ * });
182
+ * ```
183
+ */
184
+ uploadFile({ file, events, dataItemOpts, signal, }: TurboUploadFileWithFileOrPathParams): Promise<TurboUploadDataItemResponse>;
185
+ uploadFile({ fileStreamFactory, fileSizeFactory, dataItemOpts, signal, events, }: TurboUploadFileWithStreamFactoryParams): Promise<TurboUploadDataItemResponse>;
133
186
  uploadFolder(p: TurboUploadFolderParams): Promise<TurboUploadFolderResponse>;
134
187
  /**
135
188
  * Submits fund transaction to the token's blockchain then sends
@@ -1 +1 @@
1
- {"version":3,"file":"turbo.d.ts","sourceRoot":"","sources":["../../../src/common/turbo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turbo.d.ts","sourceRoot":"","sources":["../../../src/common/turbo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,+BAA+B,EAC/B,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,qCAAqC,EACrC,iCAAiC,EACjC,yCAAyC,EACzC,wCAAwC,EACxC,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACtB,oCAAoC,EACpC,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,iCAAiC,EACjC,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,+BAA+B,EAC/B,uCAAuC,EACvC,mCAAmC,EACnC,2CAA2C,EAC3C,0CAA0C,EAC1C,kCAAkC,EAClC,2BAA2B,EAC3B,wBAAwB,EAExB,mCAAmC,EACnC,sCAAsC,EACtC,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EAChB,MAAM,aAAa,CAAC;AAYrB;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;CAOzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;CAOrC,CAAC;AAEF,qBAAa,0BACX,YAAW,mCAAmC;IAE9C,SAAS,CAAC,cAAc,EAAE,2CAA2C,CAAC;IACtE,SAAS,CAAC,aAAa,EAAE,0CAA0C,CAAC;gBAExD,EACV,aAAyD,EACzD,cAA2D,GAC5D,EAAE,uCAAuC;IAK1C;;OAEG;IACH,WAAW,CAAC,EACV,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,QAAQ,CAAC;KACpB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIlC;;;;;OAKG;IACH,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAI3C;;OAEG;IACH,qBAAqB,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAIxD,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIjE;;OAEG;IACH,sBAAsB,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAI1D;;OAEG;IACH,cAAc,CAAC,EACb,KAAK,GACN,EAAE;QACD,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAIjC;;OAEG;IACH,cAAc,CACZ,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAIpC;;OAEG;IACH,eAAe,CACb,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,yBAAyB,CAAC;IAIrC;;OAEG;IACH,uBAAuB,CAAC,EACtB,SAAS,EACT,QAAQ,GACT,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,QAAQ,CAAC;KACpB,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAO9C;;OAEG;IACH,qBAAqB,CAAC,EACpB,SAAS,GACV,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAI5C;;OAEG;IACH,oBAAoB,CAAC,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,EACN,MAAM,GACP,EAAE,0BAA0B,GAC3B,gBAAgB,GAChB,wBAAwB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IASjE;;OAEG;IACH,qBAAqB,CACnB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,4BAA4B,CAAC;IAIxC;;OAEG;IACH,qBAAqB,CAAC,CAAC,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAItC;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAMjE;;OAEG;IACH,uBAAuB,CAAC,CAAC,EAAE;QACzB,WAAW,EAAE,aAAa,CAAC;KAC5B,GAAG,OAAO,CAAC,+BAA+B,CAAC;CAG7C;AAED,qBAAa,wBACX,SAAQ,0BACR,YAAW,iCAAiC;IAG5C,SAAS,CAAC,cAAc,EAAE,yCAAyC,CAAC;IACpE,SAAS,CAAC,aAAa,EAAE,wCAAwC,CAAC;IAC3D,MAAM,EAAE,mBAAmB,CAAC;gBAEvB,EACV,cAAc,EACd,aAAa,EACb,MAAM,GACP,EAAE,qCAAqC;IAKxC;;OAEG;IACH,UAAU,CAAC,WAAW,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAItE;;OAEG;IACH,uBAAuB,CACrB,CAAC,GAAE;QACD,WAAW,CAAC,EAAE,aAAa,CAAC;KACxB,GACL,OAAO,CAAC,+BAA+B,CAAC;IAI3C;;OAEG;IACH,MAAM,CAAC,EACL,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,MAAM,GACP,EAAE,eAAe,GAChB,gBAAgB,GAChB,kCAAkC,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAI3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,UAAU,CAAC,EACT,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,MAAM,GACP,EAAE,mCAAmC,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAC7E,UAAU,CAAC,EACT,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,MAAM,GACP,EAAE,sCAAsC,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAOhF,YAAY,CAAC,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAI5E;;;OAGG;IACH,eAAe,CACb,CAAC,EAAE,yBAAyB,GAC3B,OAAO,CAAC,uBAAuB,CAAC;IAInC;;;;OAIG;IACH,YAAY,CACV,CAAC,EAAE,oCAAoC,GACtC,OAAO,CAAC,mBAAmB,CAAC;IAI/B;;;;;OAKG;IACH,aAAa,CAAC,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;CAG3E"}
@@ -1,7 +1,8 @@
1
1
  import { IAxiosRetryConfig } from 'axios-retry';
2
2
  import { Readable } from 'node:stream';
3
- import { ArweaveManifest, CreditShareApproval, TokenType, TurboAbortSignal, TurboAuthenticatedUploadServiceConfiguration, TurboAuthenticatedUploadServiceInterface, TurboCreateCreditShareApprovalParams, TurboDataItemSigner, TurboFileFactory, TurboLogger, TurboRevokeCreditsParams, TurboSignedDataItemFactory, TurboUnauthenticatedUploadServiceConfiguration, TurboUnauthenticatedUploadServiceInterface, TurboUploadAndSigningEmitterEvents, TurboUploadDataItemResponse, TurboUploadEmitterEvents, TurboUploadFolderParams, TurboUploadFolderResponse, UploadDataInput } from '../types.js';
3
+ import { ArweaveManifest, CreditShareApproval, TokenType, TurboAbortSignal, TurboAuthenticatedUploadServiceConfiguration, TurboAuthenticatedUploadServiceInterface, TurboCreateCreditShareApprovalParams, TurboDataItemSigner, TurboFileFactory, TurboLogger, TurboRevokeCreditsParams, TurboSignedDataItemFactory, TurboUnauthenticatedUploadServiceConfiguration, TurboUnauthenticatedUploadServiceInterface, TurboUploadAndSigningEmitterEvents, TurboUploadDataItemResponse, TurboUploadEmitterEvents, TurboUploadFileParams, TurboUploadFolderParams, TurboUploadFolderResponse, UploadDataInput } from '../types.js';
4
4
  import { TurboHTTPService } from './http.js';
5
+ export type TurboUploadConfig = TurboFileFactory & TurboAbortSignal & TurboUploadEmitterEvents;
5
6
  export declare const creditSharingTagNames: {
6
7
  shareCredits: string;
7
8
  sharedWincAmount: string;
@@ -25,7 +26,8 @@ export declare abstract class TurboAuthenticatedBaseUploadService extends TurboU
25
26
  * Signs and uploads raw data to the Turbo Upload Service.
26
27
  */
27
28
  upload({ data, dataItemOpts, signal, events, }: UploadDataInput & TurboAbortSignal & TurboUploadAndSigningEmitterEvents): Promise<TurboUploadDataItemResponse>;
28
- uploadFile({ fileStreamFactory, fileSizeFactory, signal, dataItemOpts, events, }: TurboFileFactory & TurboAbortSignal & TurboUploadAndSigningEmitterEvents): Promise<TurboUploadDataItemResponse>;
29
+ private resolveUploadFileConfig;
30
+ uploadFile(params: TurboUploadFileParams): Promise<TurboUploadDataItemResponse>;
29
31
  protected generateManifest({ paths, indexFile, fallbackFile, }: {
30
32
  paths: Record<string, {
31
33
  id: string;
@@ -42,6 +44,7 @@ export declare abstract class TurboAuthenticatedBaseUploadService extends TurboU
42
44
  private getContentType;
43
45
  /**
44
46
  * TODO: add events to the uploadFolder method
47
+ * TODO: create resolveUploadFolderConfig() function
45
48
  * could be a predicate with a resolveConfig() function, eg: events: ({...file ctx}) => ({
46
49
  * onProgress: (progress) => {
47
50
  * console.log('progress', progress);
@@ -1 +1 @@
1
- {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/common/upload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/common/upload.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export type TransactionId = Base64String;
29
29
  export type UserAddress = string | PublicArweaveAddress;
30
30
  export declare const fiatCurrencyTypes: readonly ["usd", "eur", "gbp", "cad", "aud", "jpy", "inr", "sgd", "hkd", "brl"];
31
31
  export type Currency = (typeof fiatCurrencyTypes)[number];
32
- export declare function isCurrency(currency: string): currency is Currency;
32
+ export declare function isCurrency(currency: unknown): currency is Currency;
33
33
  export type Country = 'United States' | 'United Kingdom' | 'Canada';
34
34
  export declare const tokenTypes: readonly ["arweave", "ario", "solana", "ethereum", "kyve", "matic", "pol", "base-eth"];
35
35
  export type TokenType = (typeof tokenTypes)[number];
@@ -67,6 +67,12 @@ export type TurboTokenPriceForBytesResponse = {
67
67
  byteCount: number;
68
68
  token: TokenType;
69
69
  };
70
+ export type TurboFiatEstimateForBytesResponse = {
71
+ byteCount: number;
72
+ amount: number;
73
+ winc: string;
74
+ currency: Currency;
75
+ };
70
76
  export type TurboWincForFiatParams = {
71
77
  amount: CurrencyMap;
72
78
  nativeAddress?: NativeAddress;
@@ -401,6 +407,12 @@ export type UploadDataInput = {
401
407
  dataItemOpts?: DataItemOptions;
402
408
  signal?: AbortSignal;
403
409
  };
410
+ export type TurboUploadFileWithStreamFactoryParams = TurboFileFactory & TurboAbortSignal & TurboUploadAndSigningEmitterEvents;
411
+ export type TurboUploadFileWithFileOrPathParams = {
412
+ file: File | string;
413
+ dataItemOpts?: DataItemOptions;
414
+ } & TurboAbortSignal & TurboUploadAndSigningEmitterEvents;
415
+ export type TurboUploadFileParams = TurboUploadFileWithStreamFactoryParams | TurboUploadFileWithFileOrPathParams;
404
416
  export type FileStreamFactory = WebFileStreamFactory | NodeFileStreamFactory;
405
417
  export type WebFileStreamFactory = (() => ReadableStream) | (() => Buffer);
406
418
  export type NodeFileStreamFactory = (() => Readable) | (() => Buffer);
@@ -474,6 +486,10 @@ export interface TurboUnauthenticatedPaymentServiceInterface {
474
486
  getFiatRates(): Promise<TurboRatesResponse>;
475
487
  getWincForFiat(params: TurboWincForFiatParams): Promise<TurboWincForFiatResponse>;
476
488
  getWincForToken(params: TurboWincForTokenParams): Promise<TurboWincForTokenResponse>;
489
+ getFiatEstimateForBytes({ byteCount, currency, }: {
490
+ byteCount: number;
491
+ currency: Currency;
492
+ }): Promise<TurboFiatEstimateForBytesResponse>;
477
493
  getTokenPriceForBytes({ byteCount, }: {
478
494
  byteCount: number;
479
495
  }): Promise<TurboTokenPriceForBytesResponse>;
@@ -505,7 +521,7 @@ export interface TurboUnauthenticatedUploadServiceInterface {
505
521
  }
506
522
  export interface TurboAuthenticatedUploadServiceInterface extends TurboUnauthenticatedUploadServiceInterface {
507
523
  upload({ data, events, }: UploadDataInput & TurboAbortSignal & TurboUploadEmitterEvents): Promise<TurboUploadDataItemResponse>;
508
- uploadFile({ fileStreamFactory, fileSizeFactory, events, }: TurboFileFactory & TurboAbortSignal & TurboUploadEmitterEvents): Promise<TurboUploadDataItemResponse>;
524
+ uploadFile(params: TurboUploadFileParams): Promise<TurboUploadDataItemResponse>;
509
525
  uploadFolder(p: TurboUploadFolderParams): Promise<TurboUploadFolderResponse>;
510
526
  shareCredits(p: TurboCreateCreditShareApprovalParams): Promise<CreditShareApproval>;
511
527
  revokeCredits(p: TurboRevokeCreditsParams): Promise<CreditShareApproval[]>;