@ardrive/turbo-sdk 1.23.3-alpha.test.0 → 1.23.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.
- package/bundles/web.bundle.min.js +37481 -21198
- package/lib/cjs/common/factory.js +3 -3
- package/lib/cjs/common/logger.js +73 -41
- package/lib/cjs/common/payment.js +2 -2
- package/lib/cjs/common/signer.js +1 -1
- package/lib/cjs/common/token/arweave.js +1 -1
- package/lib/cjs/common/token/ethereum.js +1 -1
- package/lib/cjs/common/token/kyve.js +1 -1
- package/lib/cjs/common/token/polygon.js +1 -1
- package/lib/cjs/common/token/solana.js +1 -1
- package/lib/cjs/common/upload.js +1 -1
- package/lib/cjs/utils/axiosClient.js +2 -2
- package/lib/esm/common/factory.js +4 -4
- package/lib/esm/common/logger.js +71 -39
- package/lib/esm/common/payment.js +3 -3
- package/lib/esm/common/signer.js +2 -2
- package/lib/esm/common/token/arweave.js +2 -2
- package/lib/esm/common/token/ethereum.js +2 -2
- package/lib/esm/common/token/kyve.js +2 -2
- package/lib/esm/common/token/polygon.js +2 -2
- package/lib/esm/common/token/solana.js +2 -2
- package/lib/esm/common/upload.js +2 -2
- package/lib/esm/utils/axiosClient.js +3 -3
- package/lib/types/common/factory.d.ts +5 -5
- package/lib/types/common/factory.d.ts.map +1 -1
- package/lib/types/common/logger.d.ts +8 -12
- package/lib/types/common/logger.d.ts.map +1 -1
- package/lib/types/types.d.ts +4 -4
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/version.d.ts +1 -1
- package/package.json +3 -2
- package/lib/cjs/common/signing/signing.js +0 -205
- package/lib/esm/common/signing/signing.js +0 -205
- package/lib/types/common/signing/signing.d.ts +0 -16
- package/lib/types/common/signing/signing.d.ts.map +0 -1
@@ -24,11 +24,11 @@ const index_js_1 = require("./token/index.js");
|
|
24
24
|
const turbo_js_1 = require("./turbo.js");
|
25
25
|
const upload_js_1 = require("./upload.js");
|
26
26
|
class TurboBaseFactory {
|
27
|
-
/* @deprecated - use
|
27
|
+
/* @deprecated - use TurboWinstonLogger directly */
|
28
28
|
static setLogLevel(level) {
|
29
29
|
this.logger.setLogLevel(level);
|
30
30
|
}
|
31
|
-
/* @deprecated - use
|
31
|
+
/* @deprecated - use TurboWinstonLogger directly */
|
32
32
|
static setLogFormat(format) {
|
33
33
|
this.logger.setLogFormat(format);
|
34
34
|
}
|
@@ -125,4 +125,4 @@ class TurboBaseFactory {
|
|
125
125
|
}
|
126
126
|
}
|
127
127
|
exports.TurboBaseFactory = TurboBaseFactory;
|
128
|
-
TurboBaseFactory.logger = logger_js_1.
|
128
|
+
TurboBaseFactory.logger = logger_js_1.TurboWinstonLogger.default;
|
package/lib/cjs/common/logger.js
CHANGED
@@ -1,60 +1,92 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.TurboWinstonLogger = void 0;
|
4
|
+
/**
|
5
|
+
* Copyright (C) 2022-2024 Permanent Data Solutions, Inc.
|
6
|
+
*
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
* you may not use this file except in compliance with the License.
|
9
|
+
* You may obtain a copy of the License at
|
10
|
+
*
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
*
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
* See the License for the specific language governing permissions and
|
17
|
+
* limitations under the License.
|
18
|
+
*/
|
19
|
+
const winston_1 = require("winston");
|
4
20
|
const version_js_1 = require("../version.js");
|
5
|
-
class
|
21
|
+
class TurboWinstonLogger {
|
6
22
|
constructor({ level = 'info', logFormat = 'simple', } = {}) {
|
7
|
-
this.
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
23
|
+
this.silent = false;
|
24
|
+
if (level === 'none') {
|
25
|
+
this.silent = true;
|
26
|
+
}
|
27
|
+
if (typeof window !== 'undefined') {
|
28
|
+
this.logger = console;
|
29
|
+
}
|
30
|
+
else {
|
31
|
+
this.logger = (0, winston_1.createLogger)({
|
32
|
+
level,
|
33
|
+
silent: this.silent,
|
34
|
+
defaultMeta: {
|
35
|
+
name: 'turbo-sdk',
|
36
|
+
version: version_js_1.version,
|
37
|
+
},
|
38
|
+
format: winston_1.format.combine(winston_1.format.timestamp(), winston_1.format.json()),
|
39
|
+
transports: [
|
40
|
+
new winston_1.transports.Console({
|
41
|
+
format: getLogFormat(logFormat),
|
42
|
+
}),
|
43
|
+
],
|
44
|
+
});
|
45
|
+
}
|
30
46
|
}
|
31
47
|
info(message, ...args) {
|
32
|
-
if (this.
|
33
|
-
|
34
|
-
|
48
|
+
if (this.silent)
|
49
|
+
return;
|
50
|
+
this.logger.info(message, ...args);
|
35
51
|
}
|
36
52
|
warn(message, ...args) {
|
37
|
-
if (this.
|
38
|
-
|
39
|
-
|
53
|
+
if (this.silent)
|
54
|
+
return;
|
55
|
+
this.logger.warn(message, ...args);
|
40
56
|
}
|
41
57
|
error(message, ...args) {
|
42
|
-
if (this.
|
43
|
-
|
44
|
-
|
58
|
+
if (this.silent)
|
59
|
+
return;
|
60
|
+
this.logger.error(message, ...args);
|
45
61
|
}
|
46
62
|
debug(message, ...args) {
|
47
|
-
if (this.
|
48
|
-
|
49
|
-
|
63
|
+
if (this.silent)
|
64
|
+
return;
|
65
|
+
this.logger.debug(message, ...args);
|
50
66
|
}
|
51
67
|
setLogLevel(level) {
|
52
|
-
this.level = level;
|
53
68
|
this.silent = level === 'none';
|
69
|
+
if ('silent' in this.logger) {
|
70
|
+
this.logger.silent = level === 'none';
|
71
|
+
}
|
72
|
+
if ('level' in this.logger) {
|
73
|
+
this.logger.level = level;
|
74
|
+
}
|
54
75
|
}
|
55
76
|
setLogFormat(logFormat) {
|
56
|
-
this.
|
77
|
+
if ('format' in this.logger) {
|
78
|
+
this.logger.format = getLogFormat(logFormat);
|
79
|
+
}
|
57
80
|
}
|
58
81
|
}
|
59
|
-
exports.
|
60
|
-
|
82
|
+
exports.TurboWinstonLogger = TurboWinstonLogger;
|
83
|
+
TurboWinstonLogger.default = new TurboWinstonLogger();
|
84
|
+
function getLogFormat(logFormat) {
|
85
|
+
return winston_1.format.combine((0, winston_1.format)((info) => {
|
86
|
+
if (info.stack && info.level !== 'error') {
|
87
|
+
delete info.stack;
|
88
|
+
}
|
89
|
+
return info;
|
90
|
+
})(), winston_1.format.errors({ stack: true }), // Ensure errors show a stack trace
|
91
|
+
winston_1.format.timestamp(), logFormat === 'json' ? winston_1.format.json() : winston_1.format.simple());
|
92
|
+
}
|
@@ -24,7 +24,7 @@ const index_js_1 = require("./token/index.js");
|
|
24
24
|
exports.developmentPaymentServiceURL = 'https://payment.ardrive.dev';
|
25
25
|
exports.defaultPaymentServiceURL = 'https://payment.ardrive.io';
|
26
26
|
class TurboUnauthenticatedPaymentService {
|
27
|
-
constructor({ url = exports.defaultPaymentServiceURL, retryConfig, logger = logger_js_1.
|
27
|
+
constructor({ url = exports.defaultPaymentServiceURL, retryConfig, logger = logger_js_1.TurboWinstonLogger.default, token = 'arweave', }) {
|
28
28
|
this.logger = logger;
|
29
29
|
this.httpService = new http_js_1.TurboHTTPService({
|
30
30
|
url: `${url}/v1`,
|
@@ -197,7 +197,7 @@ class TurboUnauthenticatedPaymentService {
|
|
197
197
|
exports.TurboUnauthenticatedPaymentService = TurboUnauthenticatedPaymentService;
|
198
198
|
// NOTE: to avoid redundancy, we use inheritance here - but generally prefer composition over inheritance
|
199
199
|
class TurboAuthenticatedPaymentService extends TurboUnauthenticatedPaymentService {
|
200
|
-
constructor({ url = exports.defaultPaymentServiceURL, retryConfig, signer, logger = logger_js_1.
|
200
|
+
constructor({ url = exports.defaultPaymentServiceURL, retryConfig, signer, logger = logger_js_1.TurboWinstonLogger.default, token = 'arweave', tokenTools, }) {
|
201
201
|
super({ url, retryConfig, logger, token });
|
202
202
|
this.signer = signer;
|
203
203
|
this.tokenTools = tokenTools;
|
package/lib/cjs/common/signer.js
CHANGED
@@ -38,7 +38,7 @@ const logger_js_1 = require("./logger.js");
|
|
38
38
|
* Abstract class for signing TurboDataItems.
|
39
39
|
*/
|
40
40
|
class TurboDataItemAbstractSigner {
|
41
|
-
constructor({ signer, logger = logger_js_1.
|
41
|
+
constructor({ signer, logger = logger_js_1.TurboWinstonLogger.default, token, walletAdapter, }) {
|
42
42
|
this.logger = logger;
|
43
43
|
this.signer = signer;
|
44
44
|
this.token = token;
|
@@ -30,7 +30,7 @@ const ArweaveClass =
|
|
30
30
|
// @ts-ignore -- Access the correct class constructor for Arweave
|
31
31
|
arweave_1.default.default?.default || arweave_1.default.default || arweave_1.default;
|
32
32
|
class ArweaveToken {
|
33
|
-
constructor({ gatewayUrl = 'https://arweave.net', arweave, logger = logger_js_1.
|
33
|
+
constructor({ gatewayUrl = 'https://arweave.net', arweave, logger = logger_js_1.TurboWinstonLogger.default, mintU = true, pollingOptions = {
|
34
34
|
maxAttempts: 10,
|
35
35
|
pollingIntervalMs: 3_000,
|
36
36
|
initialBackoffMs: 7_000,
|
@@ -25,7 +25,7 @@ exports.weiToTokenAmount = weiToTokenAmount;
|
|
25
25
|
const ETHToTokenAmount = (eth) => new bignumber_js_1.BigNumber(eth).times(1e18).valueOf();
|
26
26
|
exports.ETHToTokenAmount = ETHToTokenAmount;
|
27
27
|
class EthereumToken {
|
28
|
-
constructor({ logger = logger_js_1.
|
28
|
+
constructor({ logger = logger_js_1.TurboWinstonLogger.default, gatewayUrl = constants_js_1.defaultProdGatewayUrls.ethereum, pollingOptions = {
|
29
29
|
maxAttempts: 10,
|
30
30
|
pollingIntervalMs: 4_000,
|
31
31
|
initialBackoffMs: 10_000,
|
@@ -36,7 +36,7 @@ exports.ukyveToTokenAmount = ukyveToTokenAmount;
|
|
36
36
|
const KYVEToTokenAmount = (sol) => new bignumber_js_1.BigNumber(sol).times(1e6).valueOf();
|
37
37
|
exports.KYVEToTokenAmount = KYVEToTokenAmount;
|
38
38
|
class KyveToken {
|
39
|
-
constructor({ logger = logger_js_1.
|
39
|
+
constructor({ logger = logger_js_1.TurboWinstonLogger.default, gatewayUrl = constants_js_1.defaultProdGatewayUrls.kyve, pollingOptions = {
|
40
40
|
maxAttempts: 5,
|
41
41
|
pollingIntervalMs: 1_000,
|
42
42
|
initialBackoffMs: 500,
|
@@ -21,7 +21,7 @@ const logger_js_1 = require("../logger.js");
|
|
21
21
|
const ethereum_js_1 = require("./ethereum.js");
|
22
22
|
exports.POLToTokenAmount = ethereum_js_1.ETHToTokenAmount;
|
23
23
|
class PolygonToken extends ethereum_js_1.EthereumToken {
|
24
|
-
constructor({ logger = logger_js_1.
|
24
|
+
constructor({ logger = logger_js_1.TurboWinstonLogger.default, gatewayUrl = constants_js_1.defaultProdGatewayUrls.pol, pollingOptions = {
|
25
25
|
maxAttempts: 10,
|
26
26
|
pollingIntervalMs: 4_000,
|
27
27
|
initialBackoffMs: 5_000,
|
@@ -31,7 +31,7 @@ exports.lamportToTokenAmount = lamportToTokenAmount;
|
|
31
31
|
const SOLToTokenAmount = (sol) => new bignumber_js_1.BigNumber(sol).times(1e9).valueOf();
|
32
32
|
exports.SOLToTokenAmount = SOLToTokenAmount;
|
33
33
|
class SolanaToken {
|
34
|
-
constructor({ logger = logger_js_1.
|
34
|
+
constructor({ logger = logger_js_1.TurboWinstonLogger.default, gatewayUrl = constants_js_1.defaultProdGatewayUrls.solana, pollingOptions = {
|
35
35
|
maxAttempts: 10,
|
36
36
|
pollingIntervalMs: 2_500,
|
37
37
|
initialBackoffMs: 500,
|
package/lib/cjs/common/upload.js
CHANGED
@@ -33,7 +33,7 @@ exports.creditSharingTagNames = {
|
|
33
33
|
exports.developmentUploadServiceURL = 'https://upload.ardrive.dev';
|
34
34
|
exports.defaultUploadServiceURL = 'https://upload.ardrive.io';
|
35
35
|
class TurboUnauthenticatedUploadService {
|
36
|
-
constructor({ url = exports.defaultUploadServiceURL, logger = logger_js_1.
|
36
|
+
constructor({ url = exports.defaultUploadServiceURL, logger = logger_js_1.TurboWinstonLogger.default, retryConfig = (0, axiosClient_js_1.defaultRetryConfig)(logger), token = 'arweave', }) {
|
37
37
|
this.token = token;
|
38
38
|
this.logger = logger;
|
39
39
|
this.httpService = new http_js_1.TurboHTTPService({
|
@@ -50,7 +50,7 @@ exports.defaultRequestHeaders = {
|
|
50
50
|
'x-turbo-source-version': version_js_1.version,
|
51
51
|
'x-turbo-source-identifier': 'turbo-sdk',
|
52
52
|
};
|
53
|
-
const defaultRetryConfig = (logger = logger_js_1.
|
53
|
+
const defaultRetryConfig = (logger = logger_js_1.TurboWinstonLogger.default) => ({
|
54
54
|
retryDelay: axios_retry_1.default.exponentialDelay,
|
55
55
|
retries: 5,
|
56
56
|
retryCondition: (error) => {
|
@@ -63,7 +63,7 @@ const defaultRetryConfig = (logger = logger_js_1.ConsoleTurboLogger.default) =>
|
|
63
63
|
},
|
64
64
|
});
|
65
65
|
exports.defaultRetryConfig = defaultRetryConfig;
|
66
|
-
const createAxiosInstance = ({ logger = logger_js_1.
|
66
|
+
const createAxiosInstance = ({ logger = logger_js_1.TurboWinstonLogger.default, axiosConfig = {}, retryConfig = (0, exports.defaultRetryConfig)(logger), } = {}) => {
|
67
67
|
const axiosInstance = axios_1.default.create({
|
68
68
|
...axiosConfig,
|
69
69
|
headers: {
|
@@ -15,17 +15,17 @@
|
|
15
15
|
*/
|
16
16
|
import { EthereumSigner, HexInjectedSolanaSigner, HexSolanaSigner, InjectedEthereumSigner, } from '@dha-team/arbundles';
|
17
17
|
import { isEthereumWalletAdapter, isSolanaWalletAdapter, } from '../types.js';
|
18
|
-
import {
|
18
|
+
import { TurboWinstonLogger } from './logger.js';
|
19
19
|
import { TurboAuthenticatedPaymentService, TurboUnauthenticatedPaymentService, } from './payment.js';
|
20
20
|
import { defaultTokenMap } from './token/index.js';
|
21
21
|
import { TurboAuthenticatedClient, TurboUnauthenticatedClient, } from './turbo.js';
|
22
22
|
import { TurboUnauthenticatedUploadService } from './upload.js';
|
23
23
|
export class TurboBaseFactory {
|
24
|
-
/* @deprecated - use
|
24
|
+
/* @deprecated - use TurboWinstonLogger directly */
|
25
25
|
static setLogLevel(level) {
|
26
26
|
this.logger.setLogLevel(level);
|
27
27
|
}
|
28
|
-
/* @deprecated - use
|
28
|
+
/* @deprecated - use TurboWinstonLogger directly */
|
29
29
|
static setLogFormat(format) {
|
30
30
|
this.logger.setLogFormat(format);
|
31
31
|
}
|
@@ -121,4 +121,4 @@ export class TurboBaseFactory {
|
|
121
121
|
throw new Error('Unsupported wallet adapter -- wallet adapter is currently only supported for Solana and Ethereum');
|
122
122
|
}
|
123
123
|
}
|
124
|
-
TurboBaseFactory.logger =
|
124
|
+
TurboBaseFactory.logger = TurboWinstonLogger.default;
|
package/lib/esm/common/logger.js
CHANGED
@@ -1,56 +1,88 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (C) 2022-2024 Permanent Data Solutions, Inc.
|
3
|
+
*
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
* you may not use this file except in compliance with the License.
|
6
|
+
* You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
import { createLogger, format, transports, } from 'winston';
|
1
17
|
import { version } from '../version.js';
|
2
|
-
export class
|
18
|
+
export class TurboWinstonLogger {
|
3
19
|
constructor({ level = 'info', logFormat = 'simple', } = {}) {
|
4
|
-
this.
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
20
|
+
this.silent = false;
|
21
|
+
if (level === 'none') {
|
22
|
+
this.silent = true;
|
23
|
+
}
|
24
|
+
if (typeof window !== 'undefined') {
|
25
|
+
this.logger = console;
|
26
|
+
}
|
27
|
+
else {
|
28
|
+
this.logger = createLogger({
|
29
|
+
level,
|
30
|
+
silent: this.silent,
|
31
|
+
defaultMeta: {
|
32
|
+
name: 'turbo-sdk',
|
33
|
+
version,
|
34
|
+
},
|
35
|
+
format: format.combine(format.timestamp(), format.json()),
|
36
|
+
transports: [
|
37
|
+
new transports.Console({
|
38
|
+
format: getLogFormat(logFormat),
|
39
|
+
}),
|
40
|
+
],
|
41
|
+
});
|
42
|
+
}
|
27
43
|
}
|
28
44
|
info(message, ...args) {
|
29
|
-
if (this.
|
30
|
-
|
31
|
-
|
45
|
+
if (this.silent)
|
46
|
+
return;
|
47
|
+
this.logger.info(message, ...args);
|
32
48
|
}
|
33
49
|
warn(message, ...args) {
|
34
|
-
if (this.
|
35
|
-
|
36
|
-
|
50
|
+
if (this.silent)
|
51
|
+
return;
|
52
|
+
this.logger.warn(message, ...args);
|
37
53
|
}
|
38
54
|
error(message, ...args) {
|
39
|
-
if (this.
|
40
|
-
|
41
|
-
|
55
|
+
if (this.silent)
|
56
|
+
return;
|
57
|
+
this.logger.error(message, ...args);
|
42
58
|
}
|
43
59
|
debug(message, ...args) {
|
44
|
-
if (this.
|
45
|
-
|
46
|
-
|
60
|
+
if (this.silent)
|
61
|
+
return;
|
62
|
+
this.logger.debug(message, ...args);
|
47
63
|
}
|
48
64
|
setLogLevel(level) {
|
49
|
-
this.level = level;
|
50
65
|
this.silent = level === 'none';
|
66
|
+
if ('silent' in this.logger) {
|
67
|
+
this.logger.silent = level === 'none';
|
68
|
+
}
|
69
|
+
if ('level' in this.logger) {
|
70
|
+
this.logger.level = level;
|
71
|
+
}
|
51
72
|
}
|
52
73
|
setLogFormat(logFormat) {
|
53
|
-
this.
|
74
|
+
if ('format' in this.logger) {
|
75
|
+
this.logger.format = getLogFormat(logFormat);
|
76
|
+
}
|
54
77
|
}
|
55
78
|
}
|
56
|
-
|
79
|
+
TurboWinstonLogger.default = new TurboWinstonLogger();
|
80
|
+
function getLogFormat(logFormat) {
|
81
|
+
return format.combine(format((info) => {
|
82
|
+
if (info.stack && info.level !== 'error') {
|
83
|
+
delete info.stack;
|
84
|
+
}
|
85
|
+
return info;
|
86
|
+
})(), format.errors({ stack: true }), // Ensure errors show a stack trace
|
87
|
+
format.timestamp(), logFormat === 'json' ? format.json() : format.simple());
|
88
|
+
}
|
@@ -16,12 +16,12 @@
|
|
16
16
|
import { BigNumber } from 'bignumber.js';
|
17
17
|
import { Buffer } from 'node:buffer';
|
18
18
|
import { TurboHTTPService } from './http.js';
|
19
|
-
import {
|
19
|
+
import { TurboWinstonLogger } from './logger.js';
|
20
20
|
import { exponentMap, tokenToBaseMap } from './token/index.js';
|
21
21
|
export const developmentPaymentServiceURL = 'https://payment.ardrive.dev';
|
22
22
|
export const defaultPaymentServiceURL = 'https://payment.ardrive.io';
|
23
23
|
export class TurboUnauthenticatedPaymentService {
|
24
|
-
constructor({ url = defaultPaymentServiceURL, retryConfig, logger =
|
24
|
+
constructor({ url = defaultPaymentServiceURL, retryConfig, logger = TurboWinstonLogger.default, token = 'arweave', }) {
|
25
25
|
this.logger = logger;
|
26
26
|
this.httpService = new TurboHTTPService({
|
27
27
|
url: `${url}/v1`,
|
@@ -193,7 +193,7 @@ export class TurboUnauthenticatedPaymentService {
|
|
193
193
|
}
|
194
194
|
// NOTE: to avoid redundancy, we use inheritance here - but generally prefer composition over inheritance
|
195
195
|
export class TurboAuthenticatedPaymentService extends TurboUnauthenticatedPaymentService {
|
196
|
-
constructor({ url = defaultPaymentServiceURL, retryConfig, signer, logger =
|
196
|
+
constructor({ url = defaultPaymentServiceURL, retryConfig, signer, logger = TurboWinstonLogger.default, token = 'arweave', tokenTools, }) {
|
197
197
|
super({ url, retryConfig, logger, token });
|
198
198
|
this.signer = signer;
|
199
199
|
this.tokenTools = tokenTools;
|
package/lib/esm/common/signer.js
CHANGED
@@ -27,12 +27,12 @@ import { Buffer } from 'node:buffer';
|
|
27
27
|
import nacl from 'tweetnacl';
|
28
28
|
import { isEthereumWalletAdapter, } from '../types.js';
|
29
29
|
import { fromB64Url, ownerToAddress as ownerToB64Address, toB64Url, } from '../utils/base64.js';
|
30
|
-
import {
|
30
|
+
import { TurboWinstonLogger } from './logger.js';
|
31
31
|
/**
|
32
32
|
* Abstract class for signing TurboDataItems.
|
33
33
|
*/
|
34
34
|
export class TurboDataItemAbstractSigner {
|
35
|
-
constructor({ signer, logger =
|
35
|
+
constructor({ signer, logger = TurboWinstonLogger.default, token, walletAdapter, }) {
|
36
36
|
this.logger = logger;
|
37
37
|
this.signer = signer;
|
38
38
|
this.token = token;
|
@@ -18,13 +18,13 @@ import { BigNumber } from 'bignumber.js';
|
|
18
18
|
import { Buffer } from 'node:buffer';
|
19
19
|
import { sha256B64Url, toB64Url } from '../../utils/base64.js';
|
20
20
|
import { sleep } from '../../utils/common.js';
|
21
|
-
import {
|
21
|
+
import { TurboWinstonLogger } from '../logger.js';
|
22
22
|
const ArweaveClass =
|
23
23
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
24
24
|
// @ts-ignore -- Access the correct class constructor for Arweave
|
25
25
|
ArweaveModule.default?.default || ArweaveModule.default || ArweaveModule;
|
26
26
|
export class ArweaveToken {
|
27
|
-
constructor({ gatewayUrl = 'https://arweave.net', arweave, logger =
|
27
|
+
constructor({ gatewayUrl = 'https://arweave.net', arweave, logger = TurboWinstonLogger.default, mintU = true, pollingOptions = {
|
28
28
|
maxAttempts: 10,
|
29
29
|
pollingIntervalMs: 3_000,
|
30
30
|
initialBackoffMs: 7_000,
|
@@ -16,11 +16,11 @@
|
|
16
16
|
import { BigNumber } from 'bignumber.js';
|
17
17
|
import { ethers } from 'ethers';
|
18
18
|
import { defaultProdGatewayUrls } from '../../cli/constants.js';
|
19
|
-
import {
|
19
|
+
import { TurboWinstonLogger } from '../logger.js';
|
20
20
|
export const weiToTokenAmount = (wei) => wei;
|
21
21
|
export const ETHToTokenAmount = (eth) => new BigNumber(eth).times(1e18).valueOf();
|
22
22
|
export class EthereumToken {
|
23
|
-
constructor({ logger =
|
23
|
+
constructor({ logger = TurboWinstonLogger.default, gatewayUrl = defaultProdGatewayUrls.ethereum, pollingOptions = {
|
24
24
|
maxAttempts: 10,
|
25
25
|
pollingIntervalMs: 4_000,
|
26
26
|
initialBackoffMs: 10_000,
|
@@ -21,14 +21,14 @@ import { BigNumber } from 'bignumber.js';
|
|
21
21
|
import { defaultProdGatewayUrls } from '../../cli/constants.js';
|
22
22
|
import { createAxiosInstance } from '../../utils/axiosClient.js';
|
23
23
|
import { sleep } from '../../utils/common.js';
|
24
|
-
import {
|
24
|
+
import { TurboWinstonLogger } from '../logger.js';
|
25
25
|
function hasKyveTxResponse(response) {
|
26
26
|
return response.tx_response !== undefined;
|
27
27
|
}
|
28
28
|
export const ukyveToTokenAmount = (winston) => winston;
|
29
29
|
export const KYVEToTokenAmount = (sol) => new BigNumber(sol).times(1e6).valueOf();
|
30
30
|
export class KyveToken {
|
31
|
-
constructor({ logger =
|
31
|
+
constructor({ logger = TurboWinstonLogger.default, gatewayUrl = defaultProdGatewayUrls.kyve, pollingOptions = {
|
32
32
|
maxAttempts: 5,
|
33
33
|
pollingIntervalMs: 1_000,
|
34
34
|
initialBackoffMs: 500,
|
@@ -14,11 +14,11 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
import { defaultProdGatewayUrls } from '../../cli/constants.js';
|
17
|
-
import {
|
17
|
+
import { TurboWinstonLogger } from '../logger.js';
|
18
18
|
import { ETHToTokenAmount, EthereumToken } from './ethereum.js';
|
19
19
|
export const POLToTokenAmount = ETHToTokenAmount;
|
20
20
|
export class PolygonToken extends EthereumToken {
|
21
|
-
constructor({ logger =
|
21
|
+
constructor({ logger = TurboWinstonLogger.default, gatewayUrl = defaultProdGatewayUrls.pol, pollingOptions = {
|
22
22
|
maxAttempts: 10,
|
23
23
|
pollingIntervalMs: 4_000,
|
24
24
|
initialBackoffMs: 5_000,
|
@@ -19,11 +19,11 @@ import bs58 from 'bs58';
|
|
19
19
|
import { Buffer } from 'node:buffer';
|
20
20
|
import { defaultProdGatewayUrls } from '../../cli/constants.js';
|
21
21
|
import { sleep } from '../../utils/common.js';
|
22
|
-
import {
|
22
|
+
import { TurboWinstonLogger } from '../logger.js';
|
23
23
|
export const lamportToTokenAmount = (winston) => winston;
|
24
24
|
export const SOLToTokenAmount = (sol) => new BigNumber(sol).times(1e9).valueOf();
|
25
25
|
export class SolanaToken {
|
26
|
-
constructor({ logger =
|
26
|
+
constructor({ logger = TurboWinstonLogger.default, gatewayUrl = defaultProdGatewayUrls.solana, pollingOptions = {
|
27
27
|
maxAttempts: 10,
|
28
28
|
pollingIntervalMs: 2_500,
|
29
29
|
initialBackoffMs: 500,
|
package/lib/esm/common/upload.js
CHANGED
@@ -20,7 +20,7 @@ import { defaultRetryConfig } from '../utils/axiosClient.js';
|
|
20
20
|
import { sleep } from '../utils/common.js';
|
21
21
|
import { FailedRequestError } from '../utils/errors.js';
|
22
22
|
import { TurboHTTPService } from './http.js';
|
23
|
-
import {
|
23
|
+
import { TurboWinstonLogger } from './logger.js';
|
24
24
|
export const creditSharingTagNames = {
|
25
25
|
shareCredits: 'x-approve-payment',
|
26
26
|
sharedWincAmount: 'x-amount',
|
@@ -30,7 +30,7 @@ export const creditSharingTagNames = {
|
|
30
30
|
export const developmentUploadServiceURL = 'https://upload.ardrive.dev';
|
31
31
|
export const defaultUploadServiceURL = 'https://upload.ardrive.io';
|
32
32
|
export class TurboUnauthenticatedUploadService {
|
33
|
-
constructor({ url = defaultUploadServiceURL, logger =
|
33
|
+
constructor({ url = defaultUploadServiceURL, logger = TurboWinstonLogger.default, retryConfig = defaultRetryConfig(logger), token = 'arweave', }) {
|
34
34
|
this.token = token;
|
35
35
|
this.logger = logger;
|
36
36
|
this.httpService = new TurboHTTPService({
|
@@ -15,13 +15,13 @@
|
|
15
15
|
*/
|
16
16
|
import axios, { CanceledError } from 'axios';
|
17
17
|
import axiosRetry from 'axios-retry';
|
18
|
-
import {
|
18
|
+
import { TurboWinstonLogger } from '../common/logger.js';
|
19
19
|
import { version } from '../version.js';
|
20
20
|
export const defaultRequestHeaders = {
|
21
21
|
'x-turbo-source-version': version,
|
22
22
|
'x-turbo-source-identifier': 'turbo-sdk',
|
23
23
|
};
|
24
|
-
export const defaultRetryConfig = (logger =
|
24
|
+
export const defaultRetryConfig = (logger = TurboWinstonLogger.default) => ({
|
25
25
|
retryDelay: axiosRetry.exponentialDelay,
|
26
26
|
retries: 5,
|
27
27
|
retryCondition: (error) => {
|
@@ -33,7 +33,7 @@ export const defaultRetryConfig = (logger = ConsoleTurboLogger.default) => ({
|
|
33
33
|
logger.debug(`Request failed, ${error}. Retry attempt #${retryCount}...`);
|
34
34
|
},
|
35
35
|
});
|
36
|
-
export const createAxiosInstance = ({ logger =
|
36
|
+
export const createAxiosInstance = ({ logger = TurboWinstonLogger.default, axiosConfig = {}, retryConfig = defaultRetryConfig(logger), } = {}) => {
|
37
37
|
const axiosInstance = axios.create({
|
38
38
|
...axiosConfig,
|
39
39
|
headers: {
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import { GetTurboSignerParams, TurboAuthenticatedConfiguration, TurboAuthenticatedUploadServiceConfiguration, TurboAuthenticatedUploadServiceInterface, TurboUnauthenticatedConfiguration } from '../types.js';
|
2
|
-
import {
|
2
|
+
import { TurboWinstonLogger } from './logger.js';
|
3
3
|
import { TurboDataItemAbstractSigner } from './signer.js';
|
4
4
|
import { TurboAuthenticatedClient, TurboUnauthenticatedClient } from './turbo.js';
|
5
5
|
export declare abstract class TurboBaseFactory {
|
6
|
-
protected static logger:
|
7
|
-
static setLogLevel(level:
|
8
|
-
static setLogFormat(format:
|
6
|
+
protected static logger: TurboWinstonLogger;
|
7
|
+
static setLogLevel(level: string): void;
|
8
|
+
static setLogFormat(format: string): void;
|
9
9
|
static unauthenticated({ paymentServiceConfig, uploadServiceConfig, token, }?: TurboUnauthenticatedConfiguration): TurboUnauthenticatedClient;
|
10
10
|
protected abstract getSigner({ providedPrivateKey, providedSigner, providedWalletAdapter, logger, token, }: GetTurboSignerParams): TurboDataItemAbstractSigner;
|
11
11
|
protected abstract getAuthenticatedUploadService(config: TurboAuthenticatedUploadServiceConfiguration): TurboAuthenticatedUploadServiceInterface;
|
12
12
|
protected getAuthenticatedTurbo({ privateKey, signer: providedSigner, paymentServiceConfig, uploadServiceConfig, token, gatewayUrl, tokenMap, tokenTools, logger, walletAdapter, }: TurboAuthenticatedConfiguration & {
|
13
|
-
logger:
|
13
|
+
logger: TurboWinstonLogger;
|
14
14
|
}): TurboAuthenticatedClient;
|
15
15
|
private signerFromAdapter;
|
16
16
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/common/factory.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,oBAAoB,EAEpB,+BAA+B,EAC/B,4CAA4C,EAC5C,wCAAwC,EACxC,iCAAiC,EAIlC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/common/factory.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,oBAAoB,EAEpB,+BAA+B,EAC/B,4CAA4C,EAC5C,wCAAwC,EACxC,iCAAiC,EAIlC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAGpB,8BAAsB,gBAAgB;IACpC,SAAS,CAAC,MAAM,CAAC,MAAM,qBAA8B;IAGrD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM;IAKhC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM;IAIlC,MAAM,CAAC,eAAe,CAAC,EACrB,oBAAyB,EACzB,mBAAwB,EACxB,KAAK,GACN,GAAE,iCAAsC;IAqBzC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC3B,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,MAAM,EACN,KAAK,GACN,EAAE,oBAAoB,GAAG,2BAA2B;IAErD,SAAS,CAAC,QAAQ,CAAC,6BAA6B,CAC9C,MAAM,EAAE,4CAA4C,GACnD,wCAAwC;IAE3C,SAAS,CAAC,qBAAqB,CAAC,EAC9B,UAAU,EACV,MAAM,EAAE,cAAc,EACtB,oBAAyB,EACzB,mBAAwB,EACxB,KAAK,EACL,UAAU,EACV,QAAQ,EACR,UAAU,EACV,MAAM,EACN,aAAa,GACd,EAAE,+BAA+B,GAAG;QAAE,MAAM,EAAE,kBAAkB,CAAA;KAAE;IA6DnE,OAAO,CAAC,iBAAiB;CAuB1B"}
|