@ardrive/turbo-sdk 1.5.0 → 1.7.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +242 -179
- package/bundles/web.bundle.min.js +48 -13
- package/lib/cjs/common/payment.js +4 -1
- package/lib/cjs/common/signer.js +20 -0
- package/lib/cjs/common/upload.js +6 -5
- package/lib/cjs/node/factory.js +10 -2
- package/lib/cjs/node/signer.js +6 -6
- package/lib/cjs/types.js +3 -1
- package/lib/cjs/version.js +1 -1
- package/lib/cjs/web/factory.js +8 -0
- package/lib/cjs/web/signer.js +3 -1
- package/lib/esm/common/payment.js +4 -1
- package/lib/esm/common/signer.js +20 -0
- package/lib/esm/common/upload.js +6 -5
- package/lib/esm/node/factory.js +12 -4
- package/lib/esm/node/signer.js +4 -6
- package/lib/esm/types.js +2 -0
- package/lib/esm/version.js +1 -1
- package/lib/esm/web/factory.js +9 -1
- package/lib/esm/web/signer.js +2 -2
- package/lib/types/common/payment.d.ts +2 -2
- package/lib/types/common/payment.d.ts.map +1 -1
- package/lib/types/common/signer.d.ts +4 -0
- package/lib/types/common/signer.d.ts.map +1 -1
- package/lib/types/common/upload.d.ts +4 -3
- package/lib/types/common/upload.d.ts.map +1 -1
- package/lib/types/node/factory.d.ts +1 -1
- package/lib/types/node/factory.d.ts.map +1 -1
- package/lib/types/node/signer.d.ts +3 -3
- package/lib/types/node/signer.d.ts.map +1 -1
- package/lib/types/types.d.ts +6 -4
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/version.d.ts +1 -1
- package/lib/types/version.d.ts.map +1 -1
- package/lib/types/web/factory.d.ts.map +1 -1
- package/lib/types/web/signer.d.ts +2 -2
- package/lib/types/web/signer.d.ts.map +1 -1
- package/package.json +2 -1
package/lib/cjs/common/signer.js
CHANGED
@@ -17,6 +17,7 @@ exports.TurboDataItemAbstractSigner = void 0;
|
|
17
17
|
* You should have received a copy of the GNU Affero General Public License
|
18
18
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
19
|
*/
|
20
|
+
const arbundles_1 = require("arbundles");
|
20
21
|
const crypto_1 = require("crypto");
|
21
22
|
const base64_js_1 = require("../utils/base64.js");
|
22
23
|
/**
|
@@ -27,6 +28,25 @@ class TurboDataItemAbstractSigner {
|
|
27
28
|
this.logger = logger;
|
28
29
|
this.signer = signer;
|
29
30
|
}
|
31
|
+
get sigConfig() {
|
32
|
+
if (this.signer instanceof arbundles_1.EthereumSigner) {
|
33
|
+
return {
|
34
|
+
signatureLength: 65,
|
35
|
+
ownerLength: 65,
|
36
|
+
};
|
37
|
+
}
|
38
|
+
if (this.signer instanceof arbundles_1.HexSolanaSigner) {
|
39
|
+
return {
|
40
|
+
signatureLength: 64,
|
41
|
+
ownerLength: 32,
|
42
|
+
};
|
43
|
+
}
|
44
|
+
// base case, arweave/arconnect signer
|
45
|
+
return {
|
46
|
+
ownerLength: 512,
|
47
|
+
signatureLength: 512,
|
48
|
+
};
|
49
|
+
}
|
30
50
|
async generateSignedRequestHeaders() {
|
31
51
|
const nonce = (0, crypto_1.randomBytes)(16).toString('hex');
|
32
52
|
const buffer = Buffer.from(nonce);
|
package/lib/cjs/common/upload.js
CHANGED
@@ -6,7 +6,8 @@ const logger_js_1 = require("./logger.js");
|
|
6
6
|
exports.developmentUploadServiceURL = 'https://upload.ardrive.dev';
|
7
7
|
exports.defaultUploadServiceURL = 'https://upload.ardrive.io';
|
8
8
|
class TurboUnauthenticatedUploadService {
|
9
|
-
constructor({ url = exports.defaultUploadServiceURL, retryConfig, logger = new logger_js_1.TurboWinstonLogger(), }) {
|
9
|
+
constructor({ url = exports.defaultUploadServiceURL, retryConfig, logger = new logger_js_1.TurboWinstonLogger(), token = 'arweave', }) {
|
10
|
+
this.token = token;
|
10
11
|
this.logger = logger;
|
11
12
|
this.httpService = new http_js_1.TurboHTTPService({
|
12
13
|
url: `${url}/v1`,
|
@@ -19,7 +20,7 @@ class TurboUnauthenticatedUploadService {
|
|
19
20
|
this.logger.debug('Uploading signed data item...');
|
20
21
|
// TODO: add p-limit constraint or replace with separate upload class
|
21
22
|
return this.httpService.post({
|
22
|
-
endpoint: `/tx`,
|
23
|
+
endpoint: `/tx/${this.token}`,
|
23
24
|
signal,
|
24
25
|
data: dataItemStreamFactory(),
|
25
26
|
headers: {
|
@@ -32,8 +33,8 @@ class TurboUnauthenticatedUploadService {
|
|
32
33
|
exports.TurboUnauthenticatedUploadService = TurboUnauthenticatedUploadService;
|
33
34
|
// NOTE: to avoid redundancy, we use inheritance here - but generally prefer composition over inheritance
|
34
35
|
class TurboAuthenticatedUploadService extends TurboUnauthenticatedUploadService {
|
35
|
-
constructor({ url = exports.defaultUploadServiceURL, retryConfig, signer, logger, }) {
|
36
|
-
super({ url, retryConfig, logger });
|
36
|
+
constructor({ url = exports.defaultUploadServiceURL, retryConfig, signer, logger, token, }) {
|
37
|
+
super({ url, retryConfig, logger, token });
|
37
38
|
this.signer = signer;
|
38
39
|
}
|
39
40
|
async uploadFile({ fileStreamFactory, fileSizeFactory, signal, dataItemOpts, }) {
|
@@ -47,7 +48,7 @@ class TurboAuthenticatedUploadService extends TurboUnauthenticatedUploadService
|
|
47
48
|
this.logger.debug('Uploading signed data item...');
|
48
49
|
// TODO: add p-limit constraint or replace with separate upload class
|
49
50
|
return this.httpService.post({
|
50
|
-
endpoint: `/tx`,
|
51
|
+
endpoint: `/tx/${this.token}`,
|
51
52
|
signal,
|
52
53
|
data: signedDataItem,
|
53
54
|
headers: {
|
package/lib/cjs/node/factory.js
CHANGED
@@ -22,10 +22,18 @@ const factory_js_1 = require("../common/factory.js");
|
|
22
22
|
const index_js_1 = require("../common/index.js");
|
23
23
|
const signer_js_1 = require("./signer.js");
|
24
24
|
class TurboFactory extends factory_js_1.TurboBaseFactory {
|
25
|
-
static authenticated({ privateKey, signer: providedSigner, paymentServiceConfig = {}, uploadServiceConfig = {}, tokenMap, }) {
|
25
|
+
static authenticated({ privateKey, signer: providedSigner, paymentServiceConfig = {}, uploadServiceConfig = {}, tokenMap, token, }) {
|
26
26
|
let signer;
|
27
27
|
if (providedSigner) {
|
28
28
|
signer = providedSigner;
|
29
|
+
if (!token) {
|
30
|
+
if (signer instanceof arbundles_1.EthereumSigner) {
|
31
|
+
token = 'ethereum';
|
32
|
+
}
|
33
|
+
else if (signer instanceof arbundles_1.HexSolanaSigner) {
|
34
|
+
token = 'solana';
|
35
|
+
}
|
36
|
+
}
|
29
37
|
}
|
30
38
|
else if (privateKey) {
|
31
39
|
signer = new arbundles_1.ArweaveSigner(privateKey);
|
@@ -33,7 +41,7 @@ class TurboFactory extends factory_js_1.TurboBaseFactory {
|
|
33
41
|
else {
|
34
42
|
throw new Error('A privateKey or signer must be provided.');
|
35
43
|
}
|
36
|
-
const turboSigner = new signer_js_1.
|
44
|
+
const turboSigner = new signer_js_1.TurboNodeSigner({
|
37
45
|
signer,
|
38
46
|
logger: this.logger,
|
39
47
|
});
|
package/lib/cjs/node/signer.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.TurboNodeSigner = exports.HexSolanaSigner = exports.EthereumSigner = exports.ArweaveSigner = exports.ArconnectSigner = void 0;
|
4
4
|
/**
|
5
5
|
* Copyright (C) 2022-2023 Permanent Data Solutions, Inc. All Rights Reserved.
|
6
6
|
*
|
@@ -20,12 +20,14 @@ exports.TurboNodeArweaveSigner = exports.ArweaveSigner = exports.ArconnectSigner
|
|
20
20
|
const arbundles_1 = require("arbundles");
|
21
21
|
Object.defineProperty(exports, "ArconnectSigner", { enumerable: true, get: function () { return arbundles_1.ArconnectSigner; } });
|
22
22
|
Object.defineProperty(exports, "ArweaveSigner", { enumerable: true, get: function () { return arbundles_1.ArweaveSigner; } });
|
23
|
+
Object.defineProperty(exports, "EthereumSigner", { enumerable: true, get: function () { return arbundles_1.EthereumSigner; } });
|
24
|
+
Object.defineProperty(exports, "HexSolanaSigner", { enumerable: true, get: function () { return arbundles_1.HexSolanaSigner; } });
|
23
25
|
const signer_js_1 = require("../common/signer.js");
|
24
26
|
const base64_js_1 = require("../utils/base64.js");
|
25
27
|
/**
|
26
28
|
* Node implementation of TurboDataItemSigner.
|
27
29
|
*/
|
28
|
-
class
|
30
|
+
class TurboNodeSigner extends signer_js_1.TurboDataItemAbstractSigner {
|
29
31
|
constructor(p) {
|
30
32
|
super(p);
|
31
33
|
}
|
@@ -56,9 +58,7 @@ class TurboNodeArweaveSigner extends signer_js_1.TurboDataItemAbstractSigner {
|
|
56
58
|
const anchorLength = 1 + (_anchor ? _anchor.byteLength : 0);
|
57
59
|
const serializedTags = tags && tags.length > 0 ? (0, arbundles_1.serializeTags)(tags) : null;
|
58
60
|
const tagsLength = 16 + (serializedTags ? serializedTags.byteLength : 0);
|
59
|
-
|
60
|
-
const signatureLength = 512;
|
61
|
-
const ownerLength = 512;
|
61
|
+
const { ownerLength, signatureLength } = this.sigConfig;
|
62
62
|
const signatureTypeLength = 2;
|
63
63
|
return [
|
64
64
|
anchorLength,
|
@@ -71,4 +71,4 @@ class TurboNodeArweaveSigner extends signer_js_1.TurboDataItemAbstractSigner {
|
|
71
71
|
].reduce((totalSize, currentSize) => (totalSize += currentSize));
|
72
72
|
}
|
73
73
|
}
|
74
|
-
exports.
|
74
|
+
exports.TurboNodeSigner = TurboNodeSigner;
|
package/lib/cjs/types.js
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.tokenTypes = void 0;
|
3
|
+
exports.tokenTypes = exports.allowedFiatTokens = void 0;
|
4
|
+
// TODO: Remove this var and Allow all tokens when crypto fund implemented for each PE-5993, PE-5992
|
5
|
+
exports.allowedFiatTokens = ['arweave', 'solana', 'ethereum'];
|
4
6
|
exports.tokenTypes = ['arweave' /*'solana', 'ethereum'*/];
|
package/lib/cjs/version.js
CHANGED
package/lib/cjs/web/factory.js
CHANGED
@@ -26,6 +26,14 @@ class TurboFactory extends factory_js_1.TurboBaseFactory {
|
|
26
26
|
let signer;
|
27
27
|
if (providedSigner) {
|
28
28
|
signer = providedSigner;
|
29
|
+
if (!token) {
|
30
|
+
if (signer instanceof arbundles_1.EthereumSigner) {
|
31
|
+
token = 'ethereum';
|
32
|
+
}
|
33
|
+
else if (signer instanceof arbundles_1.HexSolanaSigner) {
|
34
|
+
token = 'solana';
|
35
|
+
}
|
36
|
+
}
|
29
37
|
}
|
30
38
|
else if (privateKey) {
|
31
39
|
signer = new arbundles_1.ArweaveSigner(privateKey);
|
package/lib/cjs/web/signer.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.TurboWebArweaveSigner = exports.ArweaveSigner = exports.ArconnectSigner = void 0;
|
3
|
+
exports.TurboWebArweaveSigner = exports.HexSolanaSigner = exports.EthereumSigner = exports.ArweaveSigner = exports.ArconnectSigner = void 0;
|
4
4
|
/**
|
5
5
|
* Copyright (C) 2022-2023 Permanent Data Solutions, Inc. All Rights Reserved.
|
6
6
|
*
|
@@ -20,6 +20,8 @@ exports.TurboWebArweaveSigner = exports.ArweaveSigner = exports.ArconnectSigner
|
|
20
20
|
const arbundles_1 = require("arbundles");
|
21
21
|
Object.defineProperty(exports, "ArconnectSigner", { enumerable: true, get: function () { return arbundles_1.ArconnectSigner; } });
|
22
22
|
Object.defineProperty(exports, "ArweaveSigner", { enumerable: true, get: function () { return arbundles_1.ArweaveSigner; } });
|
23
|
+
Object.defineProperty(exports, "EthereumSigner", { enumerable: true, get: function () { return arbundles_1.EthereumSigner; } });
|
24
|
+
Object.defineProperty(exports, "HexSolanaSigner", { enumerable: true, get: function () { return arbundles_1.HexSolanaSigner; } });
|
23
25
|
const signer_js_1 = require("../common/signer.js");
|
24
26
|
const readableStream_js_1 = require("../utils/readableStream.js");
|
25
27
|
/**
|
@@ -71,7 +71,7 @@ export class TurboUnauthenticatedPaymentService {
|
|
71
71
|
const { amount: paymentAmount, type: currencyType } = amount;
|
72
72
|
const endpoint = `/top-up/checkout-session/${owner}/${currencyType}/${paymentAmount}?uiMode=${uiMode}${promoCodes.length > 0
|
73
73
|
? `&${this.appendPromoCodesToQuery(promoCodes)}`
|
74
|
-
: ''}`;
|
74
|
+
: ''}&token=${this.token}`;
|
75
75
|
const { adjustments, paymentSession, topUpQuote } = await this.httpService.get({
|
76
76
|
endpoint,
|
77
77
|
headers,
|
@@ -169,6 +169,9 @@ export class TurboAuthenticatedPaymentService extends TurboUnauthenticatedPaymen
|
|
169
169
|
return walletAddress;
|
170
170
|
}
|
171
171
|
async topUpWithTokens({ feeMultiplier = 1, tokenAmount: tokenAmountV, }) {
|
172
|
+
if (!this.tokenMap[this.token]) {
|
173
|
+
throw new Error(`Token type not supported for crypto fund ${this.token}`);
|
174
|
+
}
|
172
175
|
const tokenAmount = new BigNumber(tokenAmountV);
|
173
176
|
const target = await this.getTargetWalletForFund();
|
174
177
|
this.logger.debug('Funding account...', {
|
package/lib/esm/common/signer.js
CHANGED
@@ -14,6 +14,7 @@
|
|
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 { EthereumSigner, HexSolanaSigner } from 'arbundles';
|
17
18
|
import { randomBytes } from 'crypto';
|
18
19
|
import { toB64Url } from '../utils/base64.js';
|
19
20
|
/**
|
@@ -24,6 +25,25 @@ export class TurboDataItemAbstractSigner {
|
|
24
25
|
this.logger = logger;
|
25
26
|
this.signer = signer;
|
26
27
|
}
|
28
|
+
get sigConfig() {
|
29
|
+
if (this.signer instanceof EthereumSigner) {
|
30
|
+
return {
|
31
|
+
signatureLength: 65,
|
32
|
+
ownerLength: 65,
|
33
|
+
};
|
34
|
+
}
|
35
|
+
if (this.signer instanceof HexSolanaSigner) {
|
36
|
+
return {
|
37
|
+
signatureLength: 64,
|
38
|
+
ownerLength: 32,
|
39
|
+
};
|
40
|
+
}
|
41
|
+
// base case, arweave/arconnect signer
|
42
|
+
return {
|
43
|
+
ownerLength: 512,
|
44
|
+
signatureLength: 512,
|
45
|
+
};
|
46
|
+
}
|
27
47
|
async generateSignedRequestHeaders() {
|
28
48
|
const nonce = randomBytes(16).toString('hex');
|
29
49
|
const buffer = Buffer.from(nonce);
|
package/lib/esm/common/upload.js
CHANGED
@@ -3,7 +3,8 @@ import { TurboWinstonLogger } from './logger.js';
|
|
3
3
|
export const developmentUploadServiceURL = 'https://upload.ardrive.dev';
|
4
4
|
export const defaultUploadServiceURL = 'https://upload.ardrive.io';
|
5
5
|
export class TurboUnauthenticatedUploadService {
|
6
|
-
constructor({ url = defaultUploadServiceURL, retryConfig, logger = new TurboWinstonLogger(), }) {
|
6
|
+
constructor({ url = defaultUploadServiceURL, retryConfig, logger = new TurboWinstonLogger(), token = 'arweave', }) {
|
7
|
+
this.token = token;
|
7
8
|
this.logger = logger;
|
8
9
|
this.httpService = new TurboHTTPService({
|
9
10
|
url: `${url}/v1`,
|
@@ -16,7 +17,7 @@ export class TurboUnauthenticatedUploadService {
|
|
16
17
|
this.logger.debug('Uploading signed data item...');
|
17
18
|
// TODO: add p-limit constraint or replace with separate upload class
|
18
19
|
return this.httpService.post({
|
19
|
-
endpoint: `/tx`,
|
20
|
+
endpoint: `/tx/${this.token}`,
|
20
21
|
signal,
|
21
22
|
data: dataItemStreamFactory(),
|
22
23
|
headers: {
|
@@ -28,8 +29,8 @@ export class TurboUnauthenticatedUploadService {
|
|
28
29
|
}
|
29
30
|
// NOTE: to avoid redundancy, we use inheritance here - but generally prefer composition over inheritance
|
30
31
|
export class TurboAuthenticatedUploadService extends TurboUnauthenticatedUploadService {
|
31
|
-
constructor({ url = defaultUploadServiceURL, retryConfig, signer, logger, }) {
|
32
|
-
super({ url, retryConfig, logger });
|
32
|
+
constructor({ url = defaultUploadServiceURL, retryConfig, signer, logger, token, }) {
|
33
|
+
super({ url, retryConfig, logger, token });
|
33
34
|
this.signer = signer;
|
34
35
|
}
|
35
36
|
async uploadFile({ fileStreamFactory, fileSizeFactory, signal, dataItemOpts, }) {
|
@@ -43,7 +44,7 @@ export class TurboAuthenticatedUploadService extends TurboUnauthenticatedUploadS
|
|
43
44
|
this.logger.debug('Uploading signed data item...');
|
44
45
|
// TODO: add p-limit constraint or replace with separate upload class
|
45
46
|
return this.httpService.post({
|
46
|
-
endpoint: `/tx`,
|
47
|
+
endpoint: `/tx/${this.token}`,
|
47
48
|
signal,
|
48
49
|
data: signedDataItem,
|
49
50
|
headers: {
|
package/lib/esm/node/factory.js
CHANGED
@@ -14,15 +14,23 @@
|
|
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 { ArweaveSigner } from 'arbundles';
|
17
|
+
import { ArweaveSigner, EthereumSigner, HexSolanaSigner } from 'arbundles';
|
18
18
|
import { TurboBaseFactory } from '../common/factory.js';
|
19
19
|
import { TurboAuthenticatedClient, TurboAuthenticatedPaymentService, TurboAuthenticatedUploadService, } from '../common/index.js';
|
20
|
-
import {
|
20
|
+
import { TurboNodeSigner } from './signer.js';
|
21
21
|
export class TurboFactory extends TurboBaseFactory {
|
22
|
-
static authenticated({ privateKey, signer: providedSigner, paymentServiceConfig = {}, uploadServiceConfig = {}, tokenMap, }) {
|
22
|
+
static authenticated({ privateKey, signer: providedSigner, paymentServiceConfig = {}, uploadServiceConfig = {}, tokenMap, token, }) {
|
23
23
|
let signer;
|
24
24
|
if (providedSigner) {
|
25
25
|
signer = providedSigner;
|
26
|
+
if (!token) {
|
27
|
+
if (signer instanceof EthereumSigner) {
|
28
|
+
token = 'ethereum';
|
29
|
+
}
|
30
|
+
else if (signer instanceof HexSolanaSigner) {
|
31
|
+
token = 'solana';
|
32
|
+
}
|
33
|
+
}
|
26
34
|
}
|
27
35
|
else if (privateKey) {
|
28
36
|
signer = new ArweaveSigner(privateKey);
|
@@ -30,7 +38,7 @@ export class TurboFactory extends TurboBaseFactory {
|
|
30
38
|
else {
|
31
39
|
throw new Error('A privateKey or signer must be provided.');
|
32
40
|
}
|
33
|
-
const turboSigner = new
|
41
|
+
const turboSigner = new TurboNodeSigner({
|
34
42
|
signer,
|
35
43
|
logger: this.logger,
|
36
44
|
});
|
package/lib/esm/node/signer.js
CHANGED
@@ -14,17 +14,17 @@
|
|
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 { ArconnectSigner, ArweaveSigner, serializeTags, streamSigner, } from 'arbundles';
|
17
|
+
import { ArconnectSigner, ArweaveSigner, EthereumSigner, HexSolanaSigner, serializeTags, streamSigner, } from 'arbundles';
|
18
18
|
import { TurboDataItemAbstractSigner } from '../common/signer.js';
|
19
19
|
import { fromB64Url } from '../utils/base64.js';
|
20
20
|
/**
|
21
21
|
* Utility exports to avoid clients having to install arbundles
|
22
22
|
*/
|
23
|
-
export { ArconnectSigner, ArweaveSigner };
|
23
|
+
export { ArconnectSigner, ArweaveSigner, EthereumSigner, HexSolanaSigner };
|
24
24
|
/**
|
25
25
|
* Node implementation of TurboDataItemSigner.
|
26
26
|
*/
|
27
|
-
export class
|
27
|
+
export class TurboNodeSigner extends TurboDataItemAbstractSigner {
|
28
28
|
constructor(p) {
|
29
29
|
super(p);
|
30
30
|
}
|
@@ -55,9 +55,7 @@ export class TurboNodeArweaveSigner extends TurboDataItemAbstractSigner {
|
|
55
55
|
const anchorLength = 1 + (_anchor ? _anchor.byteLength : 0);
|
56
56
|
const serializedTags = tags && tags.length > 0 ? serializeTags(tags) : null;
|
57
57
|
const tagsLength = 16 + (serializedTags ? serializedTags.byteLength : 0);
|
58
|
-
|
59
|
-
const signatureLength = 512;
|
60
|
-
const ownerLength = 512;
|
58
|
+
const { ownerLength, signatureLength } = this.sigConfig;
|
61
59
|
const signatureTypeLength = 2;
|
62
60
|
return [
|
63
61
|
anchorLength,
|
package/lib/esm/types.js
CHANGED
package/lib/esm/version.js
CHANGED
package/lib/esm/web/factory.js
CHANGED
@@ -14,7 +14,7 @@
|
|
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 { ArweaveSigner } from 'arbundles';
|
17
|
+
import { ArweaveSigner, EthereumSigner, HexSolanaSigner } from 'arbundles';
|
18
18
|
import { TurboBaseFactory } from '../common/factory.js';
|
19
19
|
import { TurboAuthenticatedClient, TurboAuthenticatedPaymentService, TurboAuthenticatedUploadService, } from '../common/index.js';
|
20
20
|
import { TurboWebArweaveSigner } from './signer.js';
|
@@ -23,6 +23,14 @@ export class TurboFactory extends TurboBaseFactory {
|
|
23
23
|
let signer;
|
24
24
|
if (providedSigner) {
|
25
25
|
signer = providedSigner;
|
26
|
+
if (!token) {
|
27
|
+
if (signer instanceof EthereumSigner) {
|
28
|
+
token = 'ethereum';
|
29
|
+
}
|
30
|
+
else if (signer instanceof HexSolanaSigner) {
|
31
|
+
token = 'solana';
|
32
|
+
}
|
33
|
+
}
|
26
34
|
}
|
27
35
|
else if (privateKey) {
|
28
36
|
signer = new ArweaveSigner(privateKey);
|
package/lib/esm/web/signer.js
CHANGED
@@ -14,13 +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 { ArconnectSigner, ArweaveSigner, createData } from 'arbundles';
|
17
|
+
import { ArconnectSigner, ArweaveSigner, EthereumSigner, HexSolanaSigner, createData, } from 'arbundles';
|
18
18
|
import { TurboDataItemAbstractSigner } from '../common/signer.js';
|
19
19
|
import { readableStreamToBuffer } from '../utils/readableStream.js';
|
20
20
|
/**
|
21
21
|
* Utility exports to avoid clients having to install arbundles
|
22
22
|
*/
|
23
|
-
export { ArconnectSigner, ArweaveSigner };
|
23
|
+
export { ArconnectSigner, ArweaveSigner, EthereumSigner, HexSolanaSigner };
|
24
24
|
/**
|
25
25
|
* Web implementation of TurboDataItemSigner.
|
26
26
|
*/
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import { Currency, TokenMap,
|
1
|
+
import { CreditableTokenType, Currency, TokenMap, TurboAuthenticatedPaymentServiceConfiguration, TurboAuthenticatedPaymentServiceInterface, TurboBalanceResponse, TurboCheckoutSessionParams, TurboCheckoutSessionResponse, TurboCountriesResponse, TurboCryptoFundResponse, TurboCurrenciesResponse, TurboDataItemSigner, TurboFiatToArResponse, TurboFundWithTokensParams, TurboLogger, TurboPriceResponse, TurboRatesResponse, TurboSignedRequestHeaders, TurboSubmitFundTxResponse, TurboUnauthenticatedPaymentServiceConfiguration, TurboUnauthenticatedPaymentServiceInterface, TurboWincForFiatParams, TurboWincForFiatResponse } 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";
|
5
5
|
export declare class TurboUnauthenticatedPaymentService implements TurboUnauthenticatedPaymentServiceInterface {
|
6
6
|
protected readonly httpService: TurboHTTPService;
|
7
7
|
protected logger: TurboLogger;
|
8
|
-
protected readonly token:
|
8
|
+
protected readonly token: CreditableTokenType;
|
9
9
|
constructor({ url, retryConfig, logger, token, }: TurboUnauthenticatedPaymentServiceConfiguration);
|
10
10
|
getFiatRates(): Promise<TurboRatesResponse>;
|
11
11
|
getFiatToAR({ currency, }: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/common/payment.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/common/payment.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EAER,6CAA6C,EAC7C,yCAAyC,EACzC,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EAEzB,WAAW,EAEX,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,+CAA+C,EAC/C,2CAA2C,EAC3C,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAI7C,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;IACjD,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;gBAElC,EACV,GAA8B,EAC9B,WAAW,EACX,MAAiC,EACjC,KAAiB,GAClB,EAAE,+CAA+C;IAU3C,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,EACE,MAAM,EACN,KAAK,EACL,UAAe,EACf,MAAiB,GAClB,EAAE,0BAA0B,EAC7B,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,4BAA4B,CAAC;IA0BjC,qBAAqB,CAC1B,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,4BAA4B,CAAC;IAI3B,qBAAqB,CAAC,EACjC,IAAI,GACL,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAqCvC;AAED,qBAAa,gCACX,SAAQ,kCACR,YAAW,yCAAyC;IAEpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAE1B,EACV,GAA8B,EAC9B,WAAW,EACX,MAAM,EACN,MAAiC,EACjC,KAAiB,EACjB,QAIC,GACF,EAAE,6CAA6C;IAMnC,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;YAO1B,sBAAsB;IAYvB,eAAe,CAAC,EAC3B,aAAiB,EACjB,WAAW,EAAE,YAAY,GAC1B,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CA2ChE"}
|
@@ -8,6 +8,10 @@ export declare abstract class TurboDataItemAbstractSigner implements TurboDataIt
|
|
8
8
|
protected logger: TurboLogger;
|
9
9
|
protected signer: TurboSigner;
|
10
10
|
constructor({ signer, logger }: TurboDataItemSignerParams);
|
11
|
+
protected get sigConfig(): {
|
12
|
+
ownerLength: number;
|
13
|
+
signatureLength: number;
|
14
|
+
};
|
11
15
|
generateSignedRequestHeaders(): Promise<{
|
12
16
|
'x-public-key': string;
|
13
17
|
'x-nonce': string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/common/signer.ts"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/common/signer.ts"],"names":[],"mappings":";AAmBA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAC1B,WAAW,EACZ,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,8BAAsB,2BACpB,YAAW,mBAAmB;IAE9B,QAAQ,CAAC,YAAY,CAAC,EACpB,iBAAiB,EACjB,eAAe,EACf,YAAY,GACb,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAE5E,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;gBAElB,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,yBAAyB;IAKzD,SAAS,KAAK,SAAS,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAmB1E;IAEY,4BAA4B;;;;;IAY5B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAGnE"}
|
@@ -14,19 +14,20 @@
|
|
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, TurboDataItemSigner, TurboFileFactory, TurboLogger, TurboSignedDataItemFactory, TurboUnauthenticatedUploadServiceConfiguration, TurboUnauthenticatedUploadServiceInterface, TurboUploadDataItemResponse } from '../types.js';
|
17
|
+
import { CreditableTokenType, TurboAbortSignal, TurboAuthenticatedUploadServiceConfiguration, TurboAuthenticatedUploadServiceInterface, TurboDataItemSigner, TurboFileFactory, TurboLogger, TurboSignedDataItemFactory, TurboUnauthenticatedUploadServiceConfiguration, TurboUnauthenticatedUploadServiceInterface, TurboUploadDataItemResponse } from '../types.js';
|
18
18
|
import { TurboHTTPService } from './http.js';
|
19
19
|
export declare const developmentUploadServiceURL = "https://upload.ardrive.dev";
|
20
20
|
export declare const defaultUploadServiceURL = "https://upload.ardrive.io";
|
21
21
|
export declare class TurboUnauthenticatedUploadService implements TurboUnauthenticatedUploadServiceInterface {
|
22
22
|
protected httpService: TurboHTTPService;
|
23
23
|
protected logger: TurboLogger;
|
24
|
-
|
24
|
+
protected token: CreditableTokenType;
|
25
|
+
constructor({ url, retryConfig, logger, token, }: TurboUnauthenticatedUploadServiceConfiguration);
|
25
26
|
uploadSignedDataItem({ dataItemStreamFactory, dataItemSizeFactory, signal, }: TurboSignedDataItemFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
|
26
27
|
}
|
27
28
|
export declare class TurboAuthenticatedUploadService extends TurboUnauthenticatedUploadService implements TurboAuthenticatedUploadServiceInterface {
|
28
29
|
protected signer: TurboDataItemSigner;
|
29
|
-
constructor({ url, retryConfig, signer, logger, }: TurboAuthenticatedUploadServiceConfiguration);
|
30
|
+
constructor({ url, retryConfig, signer, logger, token, }: TurboAuthenticatedUploadServiceConfiguration);
|
30
31
|
uploadFile({ fileStreamFactory, fileSizeFactory, signal, dataItemOpts, }: TurboFileFactory & TurboAbortSignal): Promise<TurboUploadDataItemResponse>;
|
31
32
|
}
|
32
33
|
//# 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,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAC1B,8CAA8C,EAC9C,0CAA0C,EAC1C,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG7C,eAAO,MAAM,2BAA2B,+BAA+B,CAAC;AACxE,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AAEnE,qBAAa,iCACX,YAAW,0CAA0C;IAErD,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACxC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/common/upload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,4CAA4C,EAC5C,wCAAwC,EACxC,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAC1B,8CAA8C,EAC9C,0CAA0C,EAC1C,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG7C,eAAO,MAAM,2BAA2B,+BAA+B,CAAC;AACxE,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AAEnE,qBAAa,iCACX,YAAW,0CAA0C;IAErD,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACxC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,KAAK,EAAE,mBAAmB,CAAC;gBAEzB,EACV,GAA6B,EAC7B,WAAW,EACX,MAAiC,EACjC,KAAiB,GAClB,EAAE,8CAA8C;IAU3C,oBAAoB,CAAC,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,GACP,EAAE,0BAA0B,GAC3B,gBAAgB,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAc1D;AAGD,qBAAa,+BACX,SAAQ,iCACR,YAAW,wCAAwC;IAEnD,SAAS,CAAC,MAAM,EAAE,mBAAmB,CAAC;gBAE1B,EACV,GAA6B,EAC7B,WAAW,EACX,MAAM,EACN,MAAM,EACN,KAAK,GACN,EAAE,4CAA4C;IAKzC,UAAU,CAAC,EACf,iBAAiB,EACjB,eAAe,EACf,MAAM,EACN,YAAY,GACb,EAAE,gBAAgB,GACjB,gBAAgB,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAqB1D"}
|
@@ -2,6 +2,6 @@ import { TurboBaseFactory } from '../common/factory.js';
|
|
2
2
|
import { TurboAuthenticatedClient } from '../common/index.js';
|
3
3
|
import { TurboAuthenticatedConfiguration } from '../types.js';
|
4
4
|
export declare class TurboFactory extends TurboBaseFactory {
|
5
|
-
static authenticated({ privateKey, signer: providedSigner, paymentServiceConfig, uploadServiceConfig, tokenMap, }: TurboAuthenticatedConfiguration): TurboAuthenticatedClient;
|
5
|
+
static authenticated({ privateKey, signer: providedSigner, paymentServiceConfig, uploadServiceConfig, tokenMap, token, }: TurboAuthenticatedConfiguration): TurboAuthenticatedClient;
|
6
6
|
}
|
7
7
|
//# sourceMappingURL=factory.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/node/factory.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,wBAAwB,EAGzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,+BAA+B,EAAe,MAAM,aAAa,CAAC;AAG3E,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,MAAM,CAAC,aAAa,CAAC,EACnB,UAAU,EACV,MAAM,EAAE,cAAc,EACtB,oBAAyB,EACzB,mBAAwB,EACxB,QAAQ,
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/node/factory.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,wBAAwB,EAGzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,+BAA+B,EAAe,MAAM,aAAa,CAAC;AAG3E,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,MAAM,CAAC,aAAa,CAAC,EACnB,UAAU,EACV,MAAM,EAAE,cAAc,EACtB,oBAAyB,EACzB,mBAAwB,EACxB,QAAQ,EACR,KAAK,GACN,EAAE,+BAA+B;CAsCnC"}
|
@@ -15,18 +15,18 @@
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
17
17
|
*/
|
18
|
-
import { ArconnectSigner, ArweaveSigner } from 'arbundles';
|
18
|
+
import { ArconnectSigner, ArweaveSigner, EthereumSigner, HexSolanaSigner } from 'arbundles';
|
19
19
|
import { Readable } from 'node:stream';
|
20
20
|
import { TurboDataItemAbstractSigner } from '../common/signer.js';
|
21
21
|
import { DataItemOptions, StreamSizeFactory, TurboDataItemSignerParams } from '../types.js';
|
22
22
|
/**
|
23
23
|
* Utility exports to avoid clients having to install arbundles
|
24
24
|
*/
|
25
|
-
export { ArconnectSigner, ArweaveSigner };
|
25
|
+
export { ArconnectSigner, ArweaveSigner, EthereumSigner, HexSolanaSigner };
|
26
26
|
/**
|
27
27
|
* Node implementation of TurboDataItemSigner.
|
28
28
|
*/
|
29
|
-
export declare class
|
29
|
+
export declare class TurboNodeSigner extends TurboDataItemAbstractSigner {
|
30
30
|
constructor(p: TurboDataItemSignerParams);
|
31
31
|
signDataItem({ fileStreamFactory, fileSizeFactory, dataItemOpts, }: {
|
32
32
|
fileStreamFactory: () => Readable;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/node/signer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,eAAe,EACf,aAAa,
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/node/signer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,EAGhB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;AAE3E;;GAEG;AACH,qBAAa,eAAgB,SAAQ,2BAA2B;gBAClD,CAAC,EAAE,yBAAyB;IAIlC,YAAY,CAAC,EACjB,iBAAiB,EACjB,eAAe,EACf,YAAY,GACb,EAAE;QACD,iBAAiB,EAAE,MAAM,QAAQ,CAAC;QAClC,eAAe,EAAE,iBAAiB,CAAC;QACnC,YAAY,CAAC,EAAE,eAAe,CAAC;KAChC,GAAG,OAAO,CAAC;QACV,qBAAqB,EAAE,MAAM,QAAQ,CAAC;QACtC,mBAAmB,EAAE,iBAAiB,CAAC;KACxC,CAAC;IAyBF,OAAO,CAAC,8BAA8B;CAiCvC"}
|
package/lib/types/types.d.ts
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
* You should have received a copy of the GNU Affero General Public License
|
18
18
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
19
|
*/
|
20
|
-
import { ArconnectSigner, ArweaveSigner, DataItemCreateOptions } from 'arbundles';
|
20
|
+
import { ArconnectSigner, ArweaveSigner, DataItemCreateOptions, EthereumSigner, HexSolanaSigner } from 'arbundles';
|
21
21
|
import { IAxiosRetryConfig } from 'axios-retry';
|
22
22
|
import { BigNumber } from 'bignumber.js';
|
23
23
|
import { Readable } from 'node:stream';
|
@@ -30,6 +30,8 @@ export type TransactionId = Base64String;
|
|
30
30
|
export type UserAddress = string | PublicArweaveAddress;
|
31
31
|
export type Currency = 'usd' | 'eur' | 'gbp' | 'cad' | 'aud' | 'jpy' | 'inr' | 'sgd' | 'hkd' | 'brl';
|
32
32
|
export type Country = 'United States' | 'United Kingdom' | 'Canada';
|
33
|
+
export declare const allowedFiatTokens: readonly ["arweave", "solana", "ethereum"];
|
34
|
+
export type CreditableTokenType = (typeof allowedFiatTokens)[number];
|
33
35
|
export declare const tokenTypes: readonly ["arweave"];
|
34
36
|
export type TokenType = (typeof tokenTypes)[number];
|
35
37
|
export type TokenMap = {
|
@@ -162,7 +164,7 @@ type TurboServiceConfiguration = {
|
|
162
164
|
url?: string;
|
163
165
|
retryConfig?: IAxiosRetryConfig;
|
164
166
|
logger?: TurboLogger;
|
165
|
-
token?:
|
167
|
+
token?: CreditableTokenType;
|
166
168
|
};
|
167
169
|
export type TurboUnauthenticatedUploadServiceConfiguration = TurboServiceConfiguration;
|
168
170
|
export type TurboAuthenticatedUploadServiceConfiguration = TurboUnauthenticatedUploadServiceConfiguration & TurboAuthConfiguration;
|
@@ -183,12 +185,12 @@ export interface TurboLogger {
|
|
183
185
|
debug: (message: string, ...args: unknown[]) => void;
|
184
186
|
}
|
185
187
|
export type DataItemOptions = DataItemCreateOptions;
|
186
|
-
export type TurboSigner = ArconnectSigner | ArweaveSigner;
|
188
|
+
export type TurboSigner = ArconnectSigner | ArweaveSigner | EthereumSigner | HexSolanaSigner;
|
187
189
|
export type TurboAuthenticatedConfiguration = TurboUnauthenticatedConfiguration & {
|
188
190
|
privateKey?: TurboWallet;
|
189
191
|
signer?: TurboSigner;
|
190
192
|
tokenMap?: TokenMap;
|
191
|
-
token?:
|
193
|
+
token?: CreditableTokenType;
|
192
194
|
};
|
193
195
|
export type TurboUnauthenticatedClientConfiguration = {
|
194
196
|
paymentService: TurboUnauthenticatedPaymentServiceInterface;
|
package/lib/types/types.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,eAAe,EACf,aAAa,EACb,qBAAqB,
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|