@ardrive/turbo-sdk 1.0.0-beta.1 → 1.0.0-beta.3

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 (43) hide show
  1. package/README.md +58 -15
  2. package/bundles/web.bundle.min.js +171 -37
  3. package/lib/cjs/common/currency.js +42 -0
  4. package/lib/cjs/common/index.js +1 -0
  5. package/lib/cjs/common/payment.js +43 -9
  6. package/lib/cjs/common/turbo.js +45 -12
  7. package/lib/cjs/common/upload.js +13 -5
  8. package/lib/cjs/node/signer.js +33 -2
  9. package/lib/cjs/utils/readableStream.js +6 -4
  10. package/lib/cjs/web/signer.js +9 -4
  11. package/lib/esm/common/currency.js +27 -0
  12. package/lib/esm/common/index.js +1 -0
  13. package/lib/esm/common/payment.js +42 -8
  14. package/lib/esm/common/turbo.js +46 -13
  15. package/lib/esm/common/upload.js +12 -4
  16. package/lib/esm/node/signer.js +33 -2
  17. package/lib/esm/utils/readableStream.js +6 -4
  18. package/lib/esm/web/signer.js +9 -4
  19. package/lib/types/common/currency.d.ts +43 -0
  20. package/lib/types/common/currency.d.ts.map +1 -0
  21. package/lib/types/common/factory.d.ts +2 -2
  22. package/lib/types/common/factory.d.ts.map +1 -1
  23. package/lib/types/common/index.d.ts +1 -0
  24. package/lib/types/common/index.d.ts.map +1 -1
  25. package/lib/types/common/payment.d.ts +17 -7
  26. package/lib/types/common/payment.d.ts.map +1 -1
  27. package/lib/types/common/turbo.d.ts +32 -9
  28. package/lib/types/common/turbo.d.ts.map +1 -1
  29. package/lib/types/common/upload.d.ts +6 -4
  30. package/lib/types/common/upload.d.ts.map +1 -1
  31. package/lib/types/node/factory.d.ts +2 -2
  32. package/lib/types/node/factory.d.ts.map +1 -1
  33. package/lib/types/node/signer.d.ts +8 -3
  34. package/lib/types/node/signer.d.ts.map +1 -1
  35. package/lib/types/types.d.ts +52 -18
  36. package/lib/types/types.d.ts.map +1 -1
  37. package/lib/types/utils/readableStream.d.ts +2 -1
  38. package/lib/types/utils/readableStream.d.ts.map +1 -1
  39. package/lib/types/web/factory.d.ts +2 -2
  40. package/lib/types/web/factory.d.ts.map +1 -1
  41. package/lib/types/web/signer.d.ts +7 -3
  42. package/lib/types/web/signer.d.ts.map +1 -1
  43. package/package.json +1 -1
@@ -24,10 +24,18 @@ export class TurboNodeArweaveSigner {
24
24
  this.privateKey = privateKey;
25
25
  this.signer = new ArweaveSigner(this.privateKey);
26
26
  }
27
- signDataItem({ fileStreamFactory, }) {
27
+ async signDataItem({ fileStreamFactory, fileSizeFactory, }) {
28
28
  // TODO: replace with our own signer implementation
29
29
  const [stream1, stream2] = [fileStreamFactory(), fileStreamFactory()];
30
- return streamSigner(stream1, stream2, this.signer);
30
+ const signedDataItem = await streamSigner(stream1, stream2, this.signer);
31
+ // TODO: support target, anchor, and tags
32
+ const signedDataItemSize = this.calculateSignedDataHeadersSize({
33
+ dataSize: fileSizeFactory(),
34
+ });
35
+ return {
36
+ dataItemStreamFactory: () => signedDataItem,
37
+ dataItemSizeFactory: () => signedDataItemSize,
38
+ };
31
39
  }
32
40
  // NOTE: this might be better in a parent class or elsewhere - easy enough to leave in here now and does require specific environment version of crypto
33
41
  async generateSignedRequestHeaders() {
@@ -40,4 +48,27 @@ export class TurboNodeArweaveSigner {
40
48
  'x-signature': toB64Url(Buffer.from(signature)),
41
49
  };
42
50
  }
51
+ // TODO: make dynamic that accepts anchor and target and tags to return the size of the headers + data
52
+ // reference https://github.com/ArweaveTeam/arweave-standards/blob/master/ans/ANS-104.md#13-dataitem-format
53
+ calculateSignedDataHeadersSize({ dataSize }) {
54
+ const anchor = 1; // + whatever they provide (max of 33)
55
+ const target = 1; // + whatever they provide (max of 33)
56
+ const tags = 0;
57
+ const signatureLength = 512;
58
+ const ownerLength = 512;
59
+ const signatureTypeLength = 2;
60
+ const numOfTagsLength = 8; // https://github.com/Bundlr-Network/arbundles/blob/master/src/tags.ts#L191-L198
61
+ const numOfTagsBytesLength = 8;
62
+ return [
63
+ anchor,
64
+ target,
65
+ tags,
66
+ signatureLength,
67
+ ownerLength,
68
+ signatureTypeLength,
69
+ numOfTagsLength,
70
+ numOfTagsBytesLength,
71
+ dataSize,
72
+ ].reduce((totalSize, currentSize) => (totalSize += currentSize));
73
+ }
43
74
  }
@@ -1,13 +1,15 @@
1
- export async function readableStreamToBuffer({ stream, }) {
1
+ export async function readableStreamToBuffer({ stream, size, }) {
2
2
  const reader = stream.getReader();
3
- const chunks = [];
3
+ const buffer = Buffer.alloc(size);
4
+ let offset = 0;
4
5
  let done = false;
5
6
  while (!done) {
6
7
  const { done: streamDone, value } = await reader.read();
7
8
  done = streamDone;
8
9
  if (!done) {
9
- chunks.push(value);
10
+ buffer.set(value, offset);
11
+ offset += value.byteLength;
10
12
  }
11
13
  }
12
- return Buffer.concat(chunks);
14
+ return buffer;
13
15
  }
@@ -24,15 +24,20 @@ export class TurboWebArweaveSigner {
24
24
  this.privateKey = privateKey;
25
25
  this.signer = new ArweaveSigner(this.privateKey);
26
26
  }
27
- async signDataItem({ fileStreamFactory, }) {
27
+ async signDataItem({ fileStreamFactory, fileSizeFactory, }) {
28
28
  // TODO: converts the readable stream to a buffer bc incrementally signing ReadableStreams is not trivial
29
29
  const buffer = await readableStreamToBuffer({
30
30
  stream: fileStreamFactory(),
31
- // TODO: add payload size to get performance improvements
31
+ size: fileSizeFactory(),
32
32
  });
33
- const signedDataItem = createData(buffer, this.signer);
33
+ // TODO: support target, anchor and tags for upload
34
+ const signedDataItem = createData(buffer, this.signer, {});
34
35
  await signedDataItem.sign(this.signer);
35
- return signedDataItem.getRaw();
36
+ return {
37
+ // while this returns a Buffer - it needs to match our return type for uploading
38
+ dataItemStreamFactory: () => signedDataItem.getRaw(),
39
+ dataItemSizeFactory: () => signedDataItem.getRaw().length,
40
+ };
36
41
  }
37
42
  // NOTE: this might be better in a parent class or elsewhere - easy enough to leave in here now and does require specific environment version of crypto
38
43
  async generateSignedRequestHeaders() {
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Copyright (C) 2022-2023 Permanent Data Solutions, Inc. All Rights Reserved.
3
+ *
4
+ * This program is free software: you can redistribute it and/or modify
5
+ * it under the terms of the GNU Affero General Public License as published by
6
+ * the Free Software Foundation, either version 3 of the License, or
7
+ * (at your option) any later version.
8
+ *
9
+ * This program is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ * GNU Affero General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU Affero General Public License
15
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+ */
17
+ import { Currency } from '../types.js';
18
+ export interface CurrencyMap {
19
+ amount: number;
20
+ type: Currency;
21
+ }
22
+ export declare class ZeroDecimalCurrency implements CurrencyMap {
23
+ readonly amount: number;
24
+ readonly type: Currency;
25
+ constructor(amount: number, type: Currency);
26
+ }
27
+ export declare class TwoDecimalCurrency implements CurrencyMap {
28
+ private a;
29
+ readonly type: Currency;
30
+ constructor(a: number, type: Currency);
31
+ get amount(): number;
32
+ }
33
+ export declare const USD: (usd: number) => TwoDecimalCurrency;
34
+ export declare const EUR: (eur: number) => TwoDecimalCurrency;
35
+ export declare const GBP: (gbp: number) => TwoDecimalCurrency;
36
+ export declare const CAD: (cad: number) => TwoDecimalCurrency;
37
+ export declare const AUD: (aud: number) => TwoDecimalCurrency;
38
+ export declare const INR: (inr: number) => TwoDecimalCurrency;
39
+ export declare const SGD: (sgd: number) => TwoDecimalCurrency;
40
+ export declare const HKD: (hkd: number) => TwoDecimalCurrency;
41
+ export declare const BRL: (brl: number) => TwoDecimalCurrency;
42
+ export declare const JPY: (jpy: number) => ZeroDecimalCurrency;
43
+ //# sourceMappingURL=currency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../../src/common/currency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,qBAAa,mBAAoB,YAAW,WAAW;aAEnC,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,QAAQ;gBADd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ;CAEjC;AAED,qBAAa,kBAAmB,YAAW,WAAW;IAElD,OAAO,CAAC,CAAC;aACO,IAAI,EAAE,QAAQ;gBADtB,CAAC,EAAE,MAAM,EACD,IAAI,EAAE,QAAQ;IAGhC,IAAI,MAAM,WAET;CACF;AAGD,eAAO,MAAM,GAAG,QAAS,MAAM,uBAAuC,CAAC;AACvE,eAAO,MAAM,GAAG,QAAS,MAAM,uBAAuC,CAAC;AACvE,eAAO,MAAM,GAAG,QAAS,MAAM,uBAAuC,CAAC;AACvE,eAAO,MAAM,GAAG,QAAS,MAAM,uBAAuC,CAAC;AACvE,eAAO,MAAM,GAAG,QAAS,MAAM,uBAAuC,CAAC;AACvE,eAAO,MAAM,GAAG,QAAS,MAAM,uBAAuC,CAAC;AACvE,eAAO,MAAM,GAAG,QAAS,MAAM,uBAAuC,CAAC;AACvE,eAAO,MAAM,GAAG,QAAS,MAAM,uBAAuC,CAAC;AACvE,eAAO,MAAM,GAAG,QAAS,MAAM,uBAAuC,CAAC;AAGvE,eAAO,MAAM,GAAG,QAAS,MAAM,wBAAwC,CAAC"}
@@ -14,9 +14,9 @@
14
14
  * You should have received a copy of the GNU Affero General Public License
15
15
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { TurboPublicConfiguration } from '../types.js';
17
+ import { TurboUnauthenticatedConfiguration } from '../types.js';
18
18
  import { TurboUnauthenticatedClient } from './turbo.js';
19
19
  export declare class TurboBaseFactory {
20
- static unauthenticated({ paymentServiceConfig, uploadServiceConfig, }?: TurboPublicConfiguration): TurboUnauthenticatedClient;
20
+ static unauthenticated({ paymentServiceConfig, uploadServiceConfig, }?: TurboUnauthenticatedConfiguration): TurboUnauthenticatedClient;
21
21
  }
22
22
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/common/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAGxD,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,eAAe,CAAC,EACrB,oBAAyB,EACzB,mBAAwB,GACzB,GAAE,wBAA6B;CAYjC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/common/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAGxD,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,eAAe,CAAC,EACrB,oBAAyB,EACzB,mBAAwB,GACzB,GAAE,iCAAsC;CAY1C"}
@@ -17,4 +17,5 @@
17
17
  export * from './upload.js';
18
18
  export * from './payment.js';
19
19
  export * from './turbo.js';
20
+ export * from './currency.js';
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -14,11 +14,13 @@
14
14
  * You should have received a copy of the GNU Affero General Public License
15
15
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { Currency, TurboAuthenticatedPaymentServiceInterface, TurboAuthenticatedPaymentServiceInterfaceConfiguration, TurboBalanceResponse, TurboCountriesResponse, TurboCurrenciesResponse, TurboFiatToArResponse, TurboPriceResponse, TurboRatesResponse, TurboUnauthenticatedPaymentServiceInterface, TurboUnauthenticatedPaymentServiceInterfaceConfiguration, TurboWalletSigner } from '../types.js';
17
+ import { Currency, TurboAuthenticatedPaymentServiceConfiguration, TurboAuthenticatedPaymentServiceInterface, TurboBalanceResponse, TurboCheckoutSessionParams, TurboCheckoutSessionResponse, TurboCountriesResponse, TurboCurrenciesResponse, TurboFiatToArResponse, TurboPriceResponse, TurboRatesResponse, TurboSignedRequestHeaders, TurboUnauthenticatedPaymentServiceConfiguration, TurboUnauthenticatedPaymentServiceInterface, TurboWalletSigner, TurboWincForFiatParams, TurboWincForFiatResponse } from '../types.js';
18
18
  import { TurboHTTPService } from './http.js';
19
+ export declare const developmentPaymentServiceURL = "https://payment.ardrive.dev";
20
+ export declare const defaultPaymentServiceURL = "https://payment.ardrive.io";
19
21
  export declare class TurboUnauthenticatedPaymentService implements TurboUnauthenticatedPaymentServiceInterface {
20
22
  protected readonly httpService: TurboHTTPService;
21
- constructor({ url, retryConfig, }: TurboUnauthenticatedPaymentServiceInterfaceConfiguration);
23
+ constructor({ url, retryConfig, }: TurboUnauthenticatedPaymentServiceConfiguration);
22
24
  getFiatRates(): Promise<TurboRatesResponse>;
23
25
  getFiatToAR({ currency, }: {
24
26
  currency: Currency;
@@ -28,14 +30,22 @@ export declare class TurboUnauthenticatedPaymentService implements TurboUnauthen
28
30
  getUploadCosts({ bytes, }: {
29
31
  bytes: number[];
30
32
  }): Promise<TurboPriceResponse[]>;
31
- getWincForFiat({ amount, currency }: {
32
- amount: any;
33
- currency: any;
34
- }): Promise<TurboPriceResponse>;
33
+ getWincForFiat({ amount, }: TurboWincForFiatParams): Promise<TurboWincForFiatResponse>;
34
+ protected appendPromoCodesToQuery(promoCodes: string[]): string;
35
+ protected getCheckout({ amount, owner, promoCodes }: TurboCheckoutSessionParams, headers?: TurboSignedRequestHeaders): Promise<{
36
+ winc: string;
37
+ adjustments: import("../types.js").Adjustment[];
38
+ url: string;
39
+ paymentAmount: number;
40
+ quotedPaymentAmount: number;
41
+ }>;
42
+ createCheckoutSession(params: TurboCheckoutSessionParams): Promise<TurboCheckoutSessionResponse>;
35
43
  }
36
44
  export declare class TurboAuthenticatedPaymentService extends TurboUnauthenticatedPaymentService implements TurboAuthenticatedPaymentServiceInterface {
37
45
  protected readonly signer: TurboWalletSigner;
38
- constructor({ url, retryConfig, signer, }: TurboAuthenticatedPaymentServiceInterfaceConfiguration);
46
+ constructor({ url, retryConfig, signer, }: TurboAuthenticatedPaymentServiceConfiguration);
39
47
  getBalance(): Promise<TurboBalanceResponse>;
48
+ getWincForFiat({ amount, promoCodes, }: TurboWincForFiatParams): Promise<TurboWincForFiatResponse>;
49
+ createCheckoutSession(params: TurboCheckoutSessionParams): Promise<TurboCheckoutSessionResponse>;
40
50
  }
41
51
  //# sourceMappingURL=payment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/common/payment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,QAAQ,EACR,yCAAyC,EACzC,sDAAsD,EACtD,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,2CAA2C,EAC3C,wDAAwD,EACxD,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,qBAAa,kCACX,YAAW,2CAA2C;IAEtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;gBAErC,EACV,GAAmC,EACnC,WAAW,GACZ,EAAE,wDAAwD;IAOrD,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAM3C,WAAW,CAAC,EAChB,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,QAAQ,CAAC;KACpB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAM5B,qBAAqB,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAMxD,sBAAsB,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAM1D,cAAc,CAAC,EACnB,KAAK,GACN,EAAE;QACD,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAW3B,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE;;;KAAA,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAKxE;AAGD,qBAAa,gCACX,SAAQ,kCACR,YAAW,yCAAyC;IAEpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAEjC,EACV,GAAmC,EACnC,WAAW,EACX,MAAM,GACP,EAAE,sDAAsD;IAKnD,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC;CAWlD"}
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/common/payment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,QAAQ,EAER,6CAA6C,EAC7C,yCAAyC,EACzC,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,+CAA+C,EAC/C,2CAA2C,EAC3C,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,eAAO,MAAM,4BAA4B,gCAAgC,CAAC;AAC1E,eAAO,MAAM,wBAAwB,+BAA+B,CAAC;AAErE,qBAAa,kCACX,YAAW,2CAA2C;IAEtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;gBAErC,EACV,GAA8B,EAC9B,WAAW,GACZ,EAAE,+CAA+C;IAO3C,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAM3C,WAAW,CAAC,EACjB,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,QAAQ,CAAC;KACpB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAM3B,qBAAqB,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAMxD,sBAAsB,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAMpD,cAAc,CAAC,EAC1B,KAAK,GACN,EAAE;QACD,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAW1B,cAAc,CAAC,EACpB,MAAM,GACP,EAAE,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAO7D,SAAS,CAAC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM;cAK/C,WAAW,CACzB,EAAE,MAAM,EAAE,KAAK,EAAE,UAAe,EAAE,EAAE,0BAA0B,EAC9D,OAAO,CAAC,EAAE,yBAAyB;;;;;;;IAuB9B,qBAAqB,CAC1B,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,4BAA4B,CAAC;CAGzC;AAGD,qBAAa,gCACX,SAAQ,kCACR,YAAW,yCAAyC;IAEpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAEjC,EACV,GAA8B,EAC9B,WAAW,EACX,MAAM,GACP,EAAE,6CAA6C;IAKnC,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAY3C,cAAc,CAAC,EAC1B,MAAM,EACN,UAAe,GAChB,EAAE,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAShD,qBAAqB,CAChC,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,4BAA4B,CAAC;CAMzC"}
@@ -14,11 +14,33 @@
14
14
  * You should have received a copy of the GNU Affero General Public License
15
15
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { Currency, TurboAbortSignal, TurboAuthenticatedClientInterface, TurboAuthenticatedPaymentServiceInterface, TurboAuthenticatedUploadServiceInterface, TurboBalanceResponse, TurboCountriesResponse, TurboCurrenciesResponse, TurboFiatToArResponse, TurboFileFactory, TurboPriceResponse, TurboPrivateClientConfiguration, TurboPublicClientConfiguration, TurboRatesResponse, TurboSignedDataItemFactory, TurboUnauthenticatedClientInterface, TurboUnauthenticatedPaymentServiceInterface, TurboUnauthenticatedUploadServiceInterface, TurboUploadDataItemResponse } from '../types.js';
17
+ import { Currency, TurboAbortSignal, TurboAuthenticatedClientConfiguration, TurboAuthenticatedClientInterface, TurboAuthenticatedPaymentServiceInterface, TurboAuthenticatedUploadServiceInterface, TurboBalanceResponse, TurboCheckoutSessionParams, TurboCheckoutSessionResponse, TurboCountriesResponse, TurboCurrenciesResponse, TurboFiatToArResponse, TurboFileFactory, TurboPriceResponse, TurboRatesResponse, TurboSignedDataItemFactory, TurboUnauthenticatedClientConfiguration, TurboUnauthenticatedClientInterface, TurboUnauthenticatedPaymentServiceInterface, TurboUnauthenticatedUploadServiceInterface, TurboUploadDataItemResponse, TurboWincForFiatParams, TurboWincForFiatResponse } from '../types.js';
18
+ /**
19
+ * Testing configuration.
20
+ */
21
+ export declare const developmentTurboConfiguration: {
22
+ paymentServiceConfig: {
23
+ url: string;
24
+ };
25
+ uploadServiceConfig: {
26
+ url: string;
27
+ };
28
+ };
29
+ /**
30
+ * Production configuration.
31
+ */
32
+ export declare const defaultTurboConfiguration: {
33
+ paymentServiceConfig: {
34
+ url: string;
35
+ };
36
+ uploadServiceConfig: {
37
+ url: string;
38
+ };
39
+ };
18
40
  export declare class TurboUnauthenticatedClient implements TurboUnauthenticatedClientInterface {
19
41
  protected paymentService: TurboUnauthenticatedPaymentServiceInterface;
20
42
  protected uploadService: TurboUnauthenticatedUploadServiceInterface;
21
- constructor({ uploadService, paymentService, }: TurboPublicClientConfiguration);
43
+ constructor({ uploadService, paymentService, }: TurboUnauthenticatedClientConfiguration);
22
44
  /**
23
45
  * Returns the supported fiat currency conversion rate for 1AR based on current market prices.
24
46
  */
@@ -49,19 +71,20 @@ export declare class TurboUnauthenticatedClient implements TurboUnauthenticatedC
49
71
  /**
50
72
  * Determines the amount of 'winc' that would be returned for a given currency and amount, including all Turbo cost adjustments and fees.
51
73
  */
52
- getWincForFiat({ amount, currency, }: {
53
- amount: number;
54
- currency: Currency;
55
- }): Promise<Omit<TurboPriceResponse, 'adjustments'>>;
74
+ getWincForFiat(params: TurboWincForFiatParams): Promise<TurboWincForFiatResponse>;
56
75
  /**
57
76
  * Uploads a signed data item to the Turbo Upload Service.
58
77
  */
59
- uploadSignedDataItem({ dataItemStreamFactory, signal, }: TurboSignedDataItemFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
78
+ uploadSignedDataItem({ dataItemStreamFactory, dataItemSizeFactory, signal, }: TurboSignedDataItemFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
79
+ /**
80
+ * Creates a Turbo Checkout Session for a given amount and currency.
81
+ */
82
+ createCheckoutSession(params: TurboCheckoutSessionParams): Promise<TurboCheckoutSessionResponse>;
60
83
  }
61
84
  export declare class TurboAuthenticatedClient extends TurboUnauthenticatedClient implements TurboAuthenticatedClientInterface {
62
85
  protected paymentService: TurboAuthenticatedPaymentServiceInterface;
63
86
  protected uploadService: TurboAuthenticatedUploadServiceInterface;
64
- constructor({ paymentService, uploadService, }: TurboPrivateClientConfiguration);
87
+ constructor({ paymentService, uploadService, }: TurboAuthenticatedClientConfiguration);
65
88
  /**
66
89
  * Returns the current balance of the user's wallet in 'winc'.
67
90
  */
@@ -69,6 +92,6 @@ export declare class TurboAuthenticatedClient extends TurboUnauthenticatedClient
69
92
  /**
70
93
  * Signs and uploads raw data to the Turbo Upload Service.
71
94
  */
72
- uploadFile({ fileStreamFactory, signal, }: TurboFileFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
95
+ uploadFile({ fileStreamFactory, fileSizeFactory, signal, }: TurboFileFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
73
96
  }
74
97
  //# sourceMappingURL=turbo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"turbo.d.ts","sourceRoot":"","sources":["../../../src/common/turbo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,iCAAiC,EACjC,yCAAyC,EACzC,wCAAwC,EACxC,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,+BAA+B,EAC/B,8BAA8B,EAC9B,kBAAkB,EAClB,0BAA0B,EAC1B,mCAAmC,EACnC,2CAA2C,EAC3C,0CAA0C,EAC1C,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AAIrB,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,8BAA8B;IAKjC;;OAEG;IACG,WAAW,CAAC,EAChB,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,QAAQ,CAAC;KACpB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIlC;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAIjD;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAI9D;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAIhE;;OAEG;IACG,cAAc,CAAC,EACnB,KAAK,GACN,EAAE;QACD,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAIjC;;OAEG;IACG,cAAc,CAAC,EACnB,MAAM,EACN,QAAQ,GACT,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,QAAQ,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAIpD;;OAEG;IACG,oBAAoB,CAAC,EACzB,qBAAqB,EACrB,MAAM,GACP,EAAE,0BAA0B,GAC3B,gBAAgB,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAM1D;AAED,qBAAa,wBACX,SAAQ,0BACR,YAAW,iCAAiC;IAG5C,SAAS,CAAC,cAAc,EAAE,yCAAyC,CAAC;IACpE,SAAS,CAAC,aAAa,EAAE,wCAAwC,CAAC;gBAEtD,EACV,cAAc,EACd,aAAa,GACd,EAAE,+BAA+B;IAIlC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAIjD;;OAEG;IACG,UAAU,CAAC,EACf,iBAAiB,EACjB,MAAM,GACP,EAAE,gBAAgB,GACjB,gBAAgB,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAG1D"}
1
+ {"version":3,"file":"turbo.d.ts","sourceRoot":"","sources":["../../../src/common/turbo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,qCAAqC,EACrC,iCAAiC,EACjC,yCAAyC,EACzC,wCAAwC,EACxC,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,uCAAuC,EACvC,mCAAmC,EACnC,2CAA2C,EAC3C,0CAA0C,EAC1C,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACzB,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;;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,oBAAoB,CAAC,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,GACP,EAAE,0BAA0B,GAC3B,gBAAgB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAQzD;;OAEG;IACH,qBAAqB,CACnB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,4BAA4B,CAAC;CAGzC;AAED,qBAAa,wBACX,SAAQ,0BACR,YAAW,iCAAiC;IAG5C,SAAS,CAAC,cAAc,EAAE,yCAAyC,CAAC;IACpE,SAAS,CAAC,aAAa,EAAE,wCAAwC,CAAC;gBAEtD,EACV,cAAc,EACd,aAAa,GACd,EAAE,qCAAqC;IAIxC;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAI3C;;OAEG;IACH,UAAU,CAAC,EACT,iBAAiB,EACjB,eAAe,EACf,MAAM,GACP,EAAE,gBAAgB,GACjB,gBAAgB,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAO1D"}
@@ -14,16 +14,18 @@
14
14
  * You should have received a copy of the GNU Affero General Public License
15
15
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { TurboAbortSignal, TurboAuthenticatedUploadServiceConfiguration, TurboAuthenticatedUploadServiceInterface, TurboFileFactory, TurboSignedDataItemFactory, TurboUnauthenticatedUploadServiceInterface, TurboUnauthenticatedUploadServiceInterfaceConfiguration, TurboUploadDataItemResponse, TurboWalletSigner } from '../types.js';
17
+ import { TurboAbortSignal, TurboAuthenticatedUploadServiceConfiguration, TurboAuthenticatedUploadServiceInterface, TurboFileFactory, TurboSignedDataItemFactory, TurboUnauthenticatedUploadServiceConfiguration, TurboUnauthenticatedUploadServiceInterface, TurboUploadDataItemResponse, TurboWalletSigner } from '../types.js';
18
18
  import { TurboHTTPService } from './http.js';
19
+ export declare const defaultUploadServiceURL = "https://upload.ardrive.io";
20
+ export declare const developmentUploadServiceURL = "https://upload.ardrive.dev";
19
21
  export declare class TurboUnauthenticatedUploadService implements TurboUnauthenticatedUploadServiceInterface {
20
22
  protected httpService: TurboHTTPService;
21
- constructor({ url, retryConfig, }: TurboUnauthenticatedUploadServiceInterfaceConfiguration);
22
- uploadSignedDataItem({ dataItemStreamFactory, signal, }: TurboSignedDataItemFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
23
+ constructor({ url, retryConfig, }: TurboUnauthenticatedUploadServiceConfiguration);
24
+ uploadSignedDataItem({ dataItemStreamFactory, dataItemSizeFactory, signal, }: TurboSignedDataItemFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
23
25
  }
24
26
  export declare class TurboAuthenticatedUploadService extends TurboUnauthenticatedUploadService implements TurboAuthenticatedUploadServiceInterface {
25
27
  protected signer: TurboWalletSigner;
26
28
  constructor({ url, retryConfig, signer, }: TurboAuthenticatedUploadServiceConfiguration);
27
- uploadFile({ fileStreamFactory, signal, }: TurboFileFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
29
+ uploadFile({ fileStreamFactory, fileSizeFactory, signal, }: TurboFileFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
28
30
  }
29
31
  //# sourceMappingURL=upload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/common/upload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,gBAAgB,EAChB,4CAA4C,EAC5C,wCAAwC,EACxC,gBAAgB,EAChB,0BAA0B,EAC1B,0CAA0C,EAC1C,uDAAuD,EACvD,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,qBAAa,iCACX,YAAW,0CAA0C;IAErD,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAAC;gBAE5B,EACV,GAAkC,EAClC,WAAW,GACZ,EAAE,uDAAuD;IAOpD,oBAAoB,CAAC,EACzB,qBAAqB,EACrB,MAAM,GACP,EAAE,0BAA0B,GAC3B,gBAAgB,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAW1D;AAGD,qBAAa,+BACX,SAAQ,iCACR,YAAW,wCAAwC;IAEnD,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAExB,EACV,GAAkC,EAClC,WAAW,EACX,MAAM,GACP,EAAE,4CAA4C;IAKzC,UAAU,CAAC,EACf,iBAAiB,EACjB,MAAM,GACP,EAAE,gBAAgB,GACjB,gBAAgB,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAc1D"}
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/common/upload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,gBAAgB,EAChB,4CAA4C,EAC5C,wCAAwC,EACxC,gBAAgB,EAChB,0BAA0B,EAC1B,8CAA8C,EAC9C,0CAA0C,EAC1C,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AACnE,eAAO,MAAM,2BAA2B,+BAA+B,CAAC;AAExE,qBAAa,iCACX,YAAW,0CAA0C;IAErD,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAAC;gBAE5B,EACV,GAA6B,EAC7B,WAAW,GACZ,EAAE,8CAA8C;IAO3C,oBAAoB,CAAC,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,GACP,EAAE,0BAA0B,GAC3B,gBAAgB,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAa1D;AAGD,qBAAa,+BACX,SAAQ,iCACR,YAAW,wCAAwC;IAEnD,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAExB,EACV,GAAkC,EAClC,WAAW,EACX,MAAM,GACP,EAAE,4CAA4C;IAKzC,UAAU,CAAC,EACf,iBAAiB,EACjB,eAAe,EACf,MAAM,GACP,EAAE,gBAAgB,GACjB,gBAAgB,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAmB1D"}
@@ -16,8 +16,8 @@
16
16
  */
17
17
  import { TurboBaseFactory } from '../common/factory.js';
18
18
  import { TurboAuthenticatedClient } from '../common/index.js';
19
- import { TurboPrivateConfiguration } from '../types.js';
19
+ import { TurboAuthenticatedConfiguration } from '../types.js';
20
20
  export declare class TurboFactory extends TurboBaseFactory {
21
- static authenticated({ privateKey, paymentServiceConfig, uploadServiceConfig, }: TurboPrivateConfiguration): TurboAuthenticatedClient;
21
+ static authenticated({ privateKey, paymentServiceConfig, uploadServiceConfig, }: TurboAuthenticatedConfiguration): TurboAuthenticatedClient;
22
22
  }
23
23
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/node/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,wBAAwB,EAGzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAGxD,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,MAAM,CAAC,aAAa,CAAC,EACnB,UAAU,EACV,oBAAyB,EACzB,mBAAwB,GACzB,EAAE,yBAAyB;CAe7B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/node/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,wBAAwB,EAGzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAG9D,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,MAAM,CAAC,aAAa,CAAC,EACnB,UAAU,EACV,oBAAyB,EACzB,mBAAwB,GACzB,EAAE,+BAA+B;CAenC"}
@@ -18,20 +18,25 @@
18
18
  import { ArweaveSigner } from 'arbundles';
19
19
  import { Readable } from 'node:stream';
20
20
  import { JWKInterface } from '../common/jwk.js';
21
- import { TurboWalletSigner } from '../types.js';
21
+ import { StreamSizeFactory, TurboWalletSigner } from '../types.js';
22
22
  export declare class TurboNodeArweaveSigner implements TurboWalletSigner {
23
23
  protected privateKey: JWKInterface;
24
24
  protected signer: ArweaveSigner;
25
25
  constructor({ privateKey }: {
26
26
  privateKey: JWKInterface;
27
27
  });
28
- signDataItem({ fileStreamFactory, }: {
28
+ signDataItem({ fileStreamFactory, fileSizeFactory, }: {
29
29
  fileStreamFactory: () => Readable;
30
- }): Promise<Readable>;
30
+ fileSizeFactory: StreamSizeFactory;
31
+ }): Promise<{
32
+ dataItemStreamFactory: () => Readable;
33
+ dataItemSizeFactory: StreamSizeFactory;
34
+ }>;
31
35
  generateSignedRequestHeaders(): Promise<{
32
36
  'x-public-key': string;
33
37
  'x-nonce': string;
34
38
  'x-signature': string;
35
39
  }>;
40
+ private calculateSignedDataHeadersSize;
36
41
  }
37
42
  //# sourceMappingURL=signer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/node/signer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,aAAa,EAAgB,MAAM,WAAW,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC;IACnC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;gBAGpB,EAAE,UAAU,EAAE,EAAE;QAAE,UAAU,EAAE,YAAY,CAAA;KAAE;IAKxD,YAAY,CAAC,EACX,iBAAiB,GAClB,EAAE;QACD,iBAAiB,EAAE,MAAM,QAAQ,CAAC;KACnC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOf,4BAA4B;;;;;CAWnC"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/node/signer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,aAAa,EAAgB,MAAM,WAAW,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGnE,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC;IACnC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;gBAGpB,EAAE,UAAU,EAAE,EAAE;QAAE,UAAU,EAAE,YAAY,CAAA;KAAE;IAKlD,YAAY,CAAC,EACjB,iBAAiB,EACjB,eAAe,GAChB,EAAE;QACD,iBAAiB,EAAE,MAAM,QAAQ,CAAC;QAClC,eAAe,EAAE,iBAAiB,CAAC;KACpC,GAAG,OAAO,CAAC;QACV,qBAAqB,EAAE,MAAM,QAAQ,CAAC;QACtC,mBAAmB,EAAE,iBAAiB,CAAC;KACxC,CAAC;IAeI,4BAA4B;;;;;IAclC,OAAO,CAAC,8BAA8B;CAqBvC"}
@@ -21,13 +21,21 @@ import { IAxiosRetryConfig } from 'axios-retry';
21
21
  import { Readable } from 'node:stream';
22
22
  import { ReadableStream } from 'node:stream/web';
23
23
  import winston from 'winston';
24
+ import { CurrencyMap } from './common/currency.js';
24
25
  import { JWKInterface } from './common/jwk.js';
25
26
  export type Base64String = string;
26
27
  export type PublicArweaveAddress = Base64String;
27
28
  export type TransactionId = Base64String;
28
29
  export type UserAddress = string | PublicArweaveAddress;
29
- export type Currency = 'usd' | 'eur' | 'gbp' | 'cad' | 'aud' | 'nzd' | 'jpy';
30
+ export type Currency = 'usd' | 'eur' | 'gbp' | 'cad' | 'aud' | 'jpy' | 'inr' | 'sgd' | 'hkd' | 'brl';
30
31
  export type Country = 'United States' | 'United Kingdom' | 'Canada';
32
+ export type Adjustment = {
33
+ name: string;
34
+ description: string;
35
+ operatorMagnitude: number;
36
+ operator: 'multiply' | 'add';
37
+ adjustmentAmount: string;
38
+ };
31
39
  export type CurrencyLimit = {
32
40
  minimumPaymentAmount: number;
33
41
  maximumPaymentAmount: number;
@@ -36,7 +44,32 @@ export type CurrencyLimit = {
36
44
  };
37
45
  export type TurboPriceResponse = {
38
46
  winc: string;
39
- adjustments: any;
47
+ adjustments: Adjustment[];
48
+ };
49
+ export type TurboWincForFiatResponse = TurboPriceResponse & {
50
+ paymentAmount: number;
51
+ quotedPaymentAmount: number;
52
+ };
53
+ export type TurboWincForFiatParams = {
54
+ amount: CurrencyMap;
55
+ promoCodes?: string[];
56
+ };
57
+ export type TurboCheckoutSessionParams = TurboWincForFiatParams & {
58
+ owner: PublicArweaveAddress;
59
+ };
60
+ export type TopUpRawResponse = {
61
+ topUpQuote: {
62
+ paymentAmount: number;
63
+ quotedPaymentAmount: number;
64
+ winstonCreditAmount: string;
65
+ };
66
+ paymentSession: {
67
+ url: string;
68
+ };
69
+ adjustments: Adjustment[];
70
+ };
71
+ export type TurboCheckoutSessionResponse = TurboWincForFiatResponse & {
72
+ url: string;
40
73
  };
41
74
  export type TurboBalanceResponse = Omit<TurboPriceResponse, 'adjustments'>;
42
75
  export type TurboFiatToArResponse = {
@@ -69,32 +102,35 @@ type TurboServiceConfiguration = {
69
102
  retryConfig?: IAxiosRetryConfig;
70
103
  logger?: winston.Logger;
71
104
  };
72
- export type TurboUnauthenticatedUploadServiceInterfaceConfiguration = TurboServiceConfiguration;
73
- export type TurboAuthenticatedUploadServiceConfiguration = TurboUnauthenticatedUploadServiceInterfaceConfiguration & TurboAuthConfiguration;
74
- export type TurboUnauthenticatedPaymentServiceInterfaceConfiguration = TurboServiceConfiguration;
75
- export type TurboAuthenticatedPaymentServiceInterfaceConfiguration = TurboServiceConfiguration & TurboAuthConfiguration;
76
- export type TurboPublicConfiguration = {
77
- paymentServiceConfig?: TurboUnauthenticatedPaymentServiceInterfaceConfiguration;
78
- uploadServiceConfig?: TurboUnauthenticatedUploadServiceInterfaceConfiguration;
105
+ export type TurboUnauthenticatedUploadServiceConfiguration = TurboServiceConfiguration;
106
+ export type TurboAuthenticatedUploadServiceConfiguration = TurboUnauthenticatedUploadServiceConfiguration & TurboAuthConfiguration;
107
+ export type TurboUnauthenticatedPaymentServiceConfiguration = TurboServiceConfiguration;
108
+ export type TurboAuthenticatedPaymentServiceConfiguration = TurboUnauthenticatedPaymentServiceConfiguration & TurboAuthConfiguration;
109
+ export type TurboUnauthenticatedConfiguration = {
110
+ paymentServiceConfig?: TurboUnauthenticatedPaymentServiceConfiguration;
111
+ uploadServiceConfig?: TurboUnauthenticatedUploadServiceConfiguration;
79
112
  };
80
- export type TurboPrivateConfiguration = TurboPublicConfiguration & {
113
+ export type TurboAuthenticatedConfiguration = TurboUnauthenticatedConfiguration & {
81
114
  privateKey: TurboWallet;
82
115
  };
83
- export type TurboPublicClientConfiguration = {
116
+ export type TurboUnauthenticatedClientConfiguration = {
84
117
  paymentService: TurboUnauthenticatedPaymentServiceInterface;
85
118
  uploadService: TurboUnauthenticatedUploadServiceInterface;
86
119
  };
87
- export type TurboPrivateClientConfiguration = {
120
+ export type TurboAuthenticatedClientConfiguration = {
88
121
  paymentService: TurboAuthenticatedPaymentServiceInterface;
89
122
  uploadService: TurboAuthenticatedUploadServiceInterface;
90
123
  };
91
124
  export type FileStreamFactory = (() => Readable) | (() => ReadableStream) | (() => Buffer);
92
125
  export type SignedDataStreamFactory = FileStreamFactory;
126
+ export type StreamSizeFactory = () => number;
93
127
  export type TurboFileFactory = {
94
128
  fileStreamFactory: FileStreamFactory;
129
+ fileSizeFactory: StreamSizeFactory;
95
130
  };
96
131
  export type TurboSignedDataItemFactory = {
97
132
  dataItemStreamFactory: SignedDataStreamFactory;
133
+ dataItemSizeFactory: StreamSizeFactory;
98
134
  };
99
135
  export type TurboAbortSignal = {
100
136
  signal?: AbortSignal;
@@ -115,7 +151,7 @@ export interface TurboHTTPServiceInterface {
115
151
  }): Promise<T>;
116
152
  }
117
153
  export interface TurboWalletSigner {
118
- signDataItem({ fileStreamFactory, }: TurboFileFactory): Promise<Readable> | Promise<Buffer>;
154
+ signDataItem({ fileStreamFactory, fileSizeFactory, }: TurboFileFactory): Promise<TurboSignedDataItemFactory>;
119
155
  generateSignedRequestHeaders(): Promise<TurboSignedRequestHeaders>;
120
156
  }
121
157
  export interface TurboUnauthenticatedPaymentServiceInterface {
@@ -125,13 +161,11 @@ export interface TurboUnauthenticatedPaymentServiceInterface {
125
161
  currency: Currency;
126
162
  }): Promise<TurboFiatToArResponse>;
127
163
  getFiatRates(): Promise<TurboRatesResponse>;
128
- getWincForFiat({ amount, currency, }: {
129
- amount: number;
130
- currency: Currency;
131
- }): Promise<Omit<TurboPriceResponse, 'adjustments'>>;
164
+ getWincForFiat(params: TurboWincForFiatParams): Promise<TurboWincForFiatResponse>;
132
165
  getUploadCosts({ bytes }: {
133
166
  bytes: number[];
134
167
  }): Promise<TurboPriceResponse[]>;
168
+ createCheckoutSession(params: TurboCheckoutSessionParams): Promise<TurboCheckoutSessionResponse>;
135
169
  }
136
170
  export interface TurboAuthenticatedPaymentServiceInterface extends TurboUnauthenticatedPaymentServiceInterface {
137
171
  getBalance: () => Promise<TurboBalanceResponse>;
@@ -140,7 +174,7 @@ export interface TurboUnauthenticatedUploadServiceInterface {
140
174
  uploadSignedDataItem({ dataItemStreamFactory, signal, }: TurboSignedDataItemFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
141
175
  }
142
176
  export interface TurboAuthenticatedUploadServiceInterface extends TurboUnauthenticatedUploadServiceInterface {
143
- uploadFile({ fileStreamFactory, }: TurboFileFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
177
+ uploadFile({ fileStreamFactory, fileSizeFactory, }: TurboFileFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
144
178
  }
145
179
  export interface TurboUnauthenticatedClientInterface extends TurboUnauthenticatedPaymentServiceInterface, TurboUnauthenticatedUploadServiceInterface {
146
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,8 @@
17
17
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18
18
  */
19
19
  import { ReadableStream } from 'node:stream/web';
20
- export declare function readableStreamToBuffer({ stream, }: {
20
+ export declare function readableStreamToBuffer({ stream, size, }: {
21
21
  stream: ReadableStream;
22
+ size: number;
22
23
  }): Promise<Buffer>;
23
24
  //# sourceMappingURL=readableStream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readableStream.d.ts","sourceRoot":"","sources":["../../../src/utils/readableStream.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,wBAAsB,sBAAsB,CAAC,EAC3C,MAAM,GACP,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;CACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAalB"}
1
+ {"version":3,"file":"readableStream.d.ts","sourceRoot":"","sources":["../../../src/utils/readableStream.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,wBAAsB,sBAAsB,CAAC,EAC3C,MAAM,EACN,IAAI,GACL,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,MAAM,CAAC,CAelB"}
@@ -16,8 +16,8 @@
16
16
  */
17
17
  import { TurboBaseFactory } from '../common/factory.js';
18
18
  import { TurboAuthenticatedClient } from '../common/index.js';
19
- import { TurboPrivateConfiguration } from '../types.js';
19
+ import { TurboAuthenticatedConfiguration } from '../types.js';
20
20
  export declare class TurboFactory extends TurboBaseFactory {
21
- static authenticated({ privateKey, paymentServiceConfig, uploadServiceConfig, }: TurboPrivateConfiguration): TurboAuthenticatedClient;
21
+ static authenticated({ privateKey, paymentServiceConfig, uploadServiceConfig, }: TurboAuthenticatedConfiguration): TurboAuthenticatedClient;
22
22
  }
23
23
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/web/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,wBAAwB,EAGzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAGxD,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,MAAM,CAAC,aAAa,CAAC,EACnB,UAAU,EACV,oBAAyB,EACzB,mBAAwB,GACzB,EAAE,yBAAyB;CAe7B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/web/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,wBAAwB,EAGzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAG9D,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,MAAM,CAAC,aAAa,CAAC,EACnB,UAAU,EACV,oBAAyB,EACzB,mBAAwB,GACzB,EAAE,+BAA+B;CAenC"}