@ardrive/turbo-sdk 1.12.0 → 1.13.0-alpha.2

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 CHANGED
@@ -66,6 +66,8 @@ Welcome to the `@ardrive/turbo-sdk`! This SDK provides functionality for interac
66
66
  - [CLI Usage](#cli-usage)
67
67
  - [Options](#options)
68
68
  - [Commands](#commands)
69
+ - [`balance`](#balance)
70
+ - [`top-up`](#top-up)
69
71
  - [`crypto-fund`](#crypto-fund)
70
72
  - [Developers](#developers)
71
73
  - [Requirements](#requirements)
@@ -455,7 +457,7 @@ const { winc: balance } = await turbo.getBalance();
455
457
 
456
458
  #### `signer.getNativeAddress()`
457
459
 
458
- Returns the native address of the connected signer.
460
+ Returns the [native address][docs/native-address] of the connected signer.
459
461
 
460
462
  ```typescript
461
463
  const address = await turbo.signer.getNativeAddress();
@@ -686,13 +688,48 @@ npx turbo --help
686
688
 
687
689
  #### Commands
688
690
 
691
+ ##### `balance`
692
+
693
+ Get the balance of a connected wallet or native address in Turbo Credits.
694
+
695
+ Command Options:
696
+
697
+ - `-a, --address <nativeAddress>` - Native address to get the balance of
698
+
699
+ e.g:
700
+
701
+ ```shell
702
+ turbo balance --address 'crypto-wallet-public-native-address' --token solana
703
+ ```
704
+
705
+ ```shell
706
+ turbo balance --wallet-file '../path/to/my/wallet.json' --token arweave
707
+ ```
708
+
709
+ ##### `top-up`
710
+
711
+ Top up a connected wallet or native address with Turbo Credits using a supported fiat currency. This command will create a Stripe checkout session for the top-up amount and open the URL in the default browser.
712
+
713
+ Command Options:
714
+
715
+ - `-a, --address <nativeAddress>` - Native address to top up
716
+ - `-c, --currency <currency>` - Currency to top up with
717
+ - `-v, --value <value>` - Value of fiat currency for top up. e.g: 10.50 for $10.50 USD
718
+
719
+ e.g:
720
+
721
+ ```shell
722
+ # Open Stripe hosted checkout session in browser to top up for 10.00 USD worth of Turbo Credits
723
+ turbo top-up --address 'crypto-wallet-public-native-address' --token ethereum --currency USD --value 10
724
+ ```
725
+
689
726
  ##### `crypto-fund`
690
727
 
691
728
  Fund a wallet with Turbo Credits by submitting a payment transaction for the crypto amount to the Turbo wallet and then submitting that transaction id to Turbo Payment Service for top up processing.
692
729
 
693
730
  Command Options:
694
731
 
695
- - `-v, --value <value>` - Amount of tokens in the token type's smallest unit value to fund the wallet with
732
+ - `-v, --value <value>` - Value of crypto token for fund. e.g: 0.0001 for 0.0001 KYVE
696
733
 
697
734
  e.g:
698
735
 
@@ -744,3 +781,4 @@ For more information on how to contribute, please see [CONTRIBUTING.md].
744
781
  [TurboAuthenticatedClient]: #turboauthenticatedclient
745
782
  [AbortSignal]: https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
746
783
  [CONTRIBUTING.md]: ./CONTRIBUTING.md
784
+ [docs/native-address]: https://docs.ar.io/glossary.html#native-address
@@ -312251,7 +312251,7 @@ var import_winston = __toESM(require_winston(), 1);
312251
312251
  init_dirname();
312252
312252
  init_buffer2();
312253
312253
  init_process2();
312254
- var version16 = "1.12.0-alpha.1";
312254
+ var version16 = "1.13.0-alpha.1";
312255
312255
 
312256
312256
  // src/common/logger.ts
312257
312257
  var TurboWinstonLogger = class _TurboWinstonLogger {
@@ -316343,10 +316343,15 @@ var createAxiosInstance = ({
316343
316343
  init_dirname();
316344
316344
  init_buffer2();
316345
316345
  init_process2();
316346
- var FailedRequestError = class extends Error {
316346
+ var BaseError = class extends Error {
316347
+ constructor(message) {
316348
+ super(message);
316349
+ this.name = this.constructor.name;
316350
+ }
316351
+ };
316352
+ var FailedRequestError = class extends BaseError {
316347
316353
  constructor(status, message) {
316348
316354
  super(`Failed request: ${status}: ${message}`);
316349
- this.name = "FailedRequestError";
316350
316355
  }
316351
316356
  };
316352
316357
 
@@ -317178,6 +317183,18 @@ var SGD = (sgd) => new TwoDecimalCurrency(sgd, "sgd");
317178
317183
  var HKD = (hkd) => new TwoDecimalCurrency(hkd, "hkd");
317179
317184
  var BRL = (brl) => new TwoDecimalCurrency(brl, "brl");
317180
317185
  var JPY = (jpy) => new ZeroDecimalCurrency(jpy, "jpy");
317186
+ var currencyMap = {
317187
+ usd: USD,
317188
+ eur: EUR,
317189
+ gbp: GBP,
317190
+ cad: CAD,
317191
+ aud: AUD,
317192
+ inr: INR,
317193
+ sgd: SGD,
317194
+ hkd: HKD,
317195
+ brl: BRL,
317196
+ jpy: JPY
317197
+ };
317181
317198
 
317182
317199
  // src/common/token/index.ts
317183
317200
  init_dirname();
@@ -317188,6 +317205,21 @@ init_process2();
317188
317205
  init_dirname();
317189
317206
  init_buffer2();
317190
317207
  init_process2();
317208
+ var fiatCurrencyTypes = [
317209
+ "usd",
317210
+ "eur",
317211
+ "gbp",
317212
+ "cad",
317213
+ "aud",
317214
+ "jpy",
317215
+ "inr",
317216
+ "sgd",
317217
+ "hkd",
317218
+ "brl"
317219
+ ];
317220
+ function isCurrency(currency) {
317221
+ return fiatCurrencyTypes.includes(currency);
317222
+ }
317191
317223
  var tokenTypes = ["arweave", "solana", "ethereum", "kyve"];
317192
317224
  var isNodeUploadFolderParams = (p8) => p8.folderPath !== void 0;
317193
317225
  var isWebUploadFolderParams = (p8) => p8.files !== void 0;
@@ -356066,6 +356098,7 @@ export {
356066
356098
  USD,
356067
356099
  WinstonToTokenAmount,
356068
356100
  ZeroDecimalCurrency,
356101
+ currencyMap,
356069
356102
  defaultPaymentServiceURL,
356070
356103
  defaultTokenMap,
356071
356104
  defaultTurboConfiguration,
@@ -356073,6 +356106,8 @@ export {
356073
356106
  developmentPaymentServiceURL,
356074
356107
  developmentTurboConfiguration,
356075
356108
  developmentUploadServiceURL,
356109
+ fiatCurrencyTypes,
356110
+ isCurrency,
356076
356111
  isEthPrivateKey,
356077
356112
  isJWK,
356078
356113
  isKyvePrivateKey,
@@ -27,20 +27,45 @@ const utils_js_1 = require("./utils.js");
27
27
  .version(version_js_1.version)
28
28
  .description('Turbo CLI')
29
29
  .helpCommand(true), utils_js_1.globalOptions);
30
- (0, utils_js_1.applyOptions)(commander_1.program.command('get-balance').description('Get balance of a Turbo address'), [utils_js_1.optionMap.address, utils_js_1.optionMap.token]).action((address, options) => {
31
- (0, commands_js_1.getBalance)(address, options.token);
30
+ function exitWithErrorLog(error) {
31
+ console.error(error instanceof Error ? error.message : error);
32
+ process.exit(1);
33
+ }
34
+ (0, utils_js_1.applyOptions)(commander_1.program.command('balance').description('Get balance of a Turbo address'), [utils_js_1.optionMap.address, ...utils_js_1.walletOptions]).action(async (_commandOptions, command) => {
35
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
+ const options = command.optsWithGlobals();
37
+ try {
38
+ await (0, commands_js_1.getBalance)(options);
39
+ process.exit(0);
40
+ }
41
+ catch (error) {
42
+ exitWithErrorLog(error);
43
+ }
32
44
  });
33
- (0, utils_js_1.applyOptions)(commander_1.program.command('top-up').description('Top up a Turbo address with Fiat'), [utils_js_1.optionMap.address, utils_js_1.optionMap.value, utils_js_1.optionMap.token]).action((options) => {
34
- console.log('TODO: fiat top-up', options.address, options.token, options.value);
45
+ (0, utils_js_1.applyOptions)(commander_1.program.command('top-up').description('Top up a Turbo address with Fiat'), [...utils_js_1.walletOptions, utils_js_1.optionMap.address, utils_js_1.optionMap.value, utils_js_1.optionMap.currency]).action(async (_commandOptions, command) => {
46
+ const options = command.optsWithGlobals();
47
+ try {
48
+ await (0, commands_js_1.topUp)(options);
49
+ process.exit(0);
50
+ }
51
+ catch (error) {
52
+ exitWithErrorLog(error);
53
+ }
35
54
  });
36
55
  (0, utils_js_1.applyOptions)(commander_1.program.command('crypto-fund').description('Top up a wallet with crypto'), [...utils_js_1.walletOptions, utils_js_1.optionMap.value]).action(async (_commandOptions, command) => {
37
56
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
57
  const options = command.optsWithGlobals();
39
58
  const token = (0, utils_js_1.tokenFromOptions)(options);
40
59
  const value = (0, utils_js_1.valueFromOptions)(options);
41
- const privateKey = await (0, utils_js_1.privateKeyFromOptions)(options, token);
60
+ const privateKey = await (0, utils_js_1.privateKeyFromOptions)(options);
42
61
  const config = (0, utils_js_1.configFromOptions)(options);
43
- (0, commands_js_1.cryptoFund)({ privateKey, value, token, config });
62
+ try {
63
+ await (0, commands_js_1.cryptoFund)({ privateKey, value, token, config });
64
+ process.exit(0);
65
+ }
66
+ catch (error) {
67
+ exitWithErrorLog(error);
68
+ }
44
69
  });
45
70
  (0, utils_js_1.applyOptions)(commander_1.program
46
71
  .command('upload-folder')
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addressOrPrivateKeyFromOptions = addressOrPrivateKeyFromOptions;
3
4
  exports.getBalance = getBalance;
4
5
  exports.cryptoFund = cryptoFund;
6
+ exports.topUp = topUp;
7
+ exports.openUrl = openUrl;
5
8
  /**
6
9
  * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved.
7
10
  *
@@ -18,20 +21,37 @@ exports.cryptoFund = cryptoFund;
18
21
  * You should have received a copy of the GNU Affero General Public License
19
22
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
23
  */
24
+ const node_child_process_1 = require("node:child_process");
21
25
  const index_js_1 = require("../node/index.js");
22
- async function getBalance(address, token) {
23
- if (!(0, index_js_1.isTokenType)(token)) {
24
- throw new Error('Invalid token type!');
26
+ const common_js_1 = require("../utils/common.js");
27
+ const utils_js_1 = require("./utils.js");
28
+ async function addressOrPrivateKeyFromOptions(options) {
29
+ if (options.address !== undefined) {
30
+ return { address: options.address, privateKey: undefined };
25
31
  }
26
- const unauthenticatedTurbo = index_js_1.TurboFactory.unauthenticated({
27
- paymentServiceConfig: { token },
32
+ return {
33
+ address: undefined,
34
+ privateKey: await (0, utils_js_1.optionalPrivateKeyFromOptions)(options),
35
+ };
36
+ }
37
+ async function getBalance(options) {
38
+ const config = (0, utils_js_1.configFromOptions)(options);
39
+ const { address, privateKey } = await addressOrPrivateKeyFromOptions(options);
40
+ if (address !== undefined) {
41
+ const turbo = index_js_1.TurboFactory.unauthenticated(config);
42
+ const { winc } = await turbo.getBalance(address);
43
+ console.log(`Turbo Balance for Native Address "${address}"\nCredits: ${+winc / 1_000_000_000_000}`);
44
+ return;
45
+ }
46
+ if (privateKey === undefined) {
47
+ throw new Error('Must provide an (--address) or use a valid wallet');
48
+ }
49
+ const turbo = index_js_1.TurboFactory.authenticated({
50
+ ...config,
51
+ privateKey,
28
52
  });
29
- console.log('unauthenticatedTurbo', unauthenticatedTurbo);
30
- // const balance = await unauthenticatedTurbo.getBalance({
31
- // owner: address,
32
- // });
33
- // TODO: Implement unauthenticated getBalance
34
- console.log('TODO: Get balance for', address);
53
+ const { winc } = await turbo.getBalance();
54
+ console.log(`Turbo Balance for Wallet Address "${await turbo.signer.getNativeAddress()}"\nCredits: ${+winc / 1_000_000_000_000}`);
35
55
  }
36
56
  /** Fund the connected signer with crypto */
37
57
  async function cryptoFund({ value, privateKey, token, config, }) {
@@ -45,3 +65,58 @@ async function cryptoFund({ value, privateKey, token, config, }) {
45
65
  });
46
66
  console.log('Sent crypto fund transaction: \n', JSON.stringify(result, null, 2));
47
67
  }
68
+ async function topUp(options) {
69
+ const config = (0, utils_js_1.configFromOptions)(options);
70
+ const { address, privateKey } = await addressOrPrivateKeyFromOptions(options);
71
+ const value = options.value;
72
+ if (value === undefined) {
73
+ throw new Error('Must provide a --value to top up');
74
+ }
75
+ const currency = (options.currency ?? 'usd').toLowerCase();
76
+ if (!(0, index_js_1.isCurrency)(currency)) {
77
+ throw new Error(`Invalid fiat currency type ${currency}!\nPlease use one of these:\n${JSON.stringify(index_js_1.fiatCurrencyTypes, null, 2)}`);
78
+ }
79
+ // TODO: Pay in CLI prompts via --cli options
80
+ const { url, paymentAmount, winc } = await (async () => {
81
+ const amount = index_js_1.currencyMap[currency](+value);
82
+ if (address !== undefined) {
83
+ const turbo = index_js_1.TurboFactory.unauthenticated(config);
84
+ return turbo.createCheckoutSession({
85
+ amount,
86
+ owner: address,
87
+ });
88
+ }
89
+ if (privateKey === undefined) {
90
+ throw new Error('Must provide a wallet to top up');
91
+ }
92
+ const turbo = index_js_1.TurboFactory.authenticated({
93
+ ...config,
94
+ privateKey,
95
+ });
96
+ return turbo.createCheckoutSession({
97
+ amount,
98
+ owner: await turbo.signer.getNativeAddress(),
99
+ });
100
+ })();
101
+ if (url === undefined) {
102
+ throw new Error('Failed to create checkout session');
103
+ }
104
+ console.log('Got Checkout Session\n' + JSON.stringify({ url, paymentAmount, winc }));
105
+ console.log('Opening checkout session in browser...');
106
+ await (0, common_js_1.sleep)(2000);
107
+ openUrl(url);
108
+ }
109
+ function openUrl(url) {
110
+ if (process.platform === 'darwin') {
111
+ // macOS
112
+ (0, node_child_process_1.exec)(`open ${url}`);
113
+ }
114
+ else if (process.platform === 'win32') {
115
+ // Windows
116
+ (0, node_child_process_1.exec)(`start "" "${url}"`, { windowsHide: true });
117
+ }
118
+ else {
119
+ // Linux/Unix
120
+ open(url);
121
+ }
122
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NoWalletProvidedError = void 0;
4
+ /**
5
+ * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU Affero General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Affero General Public License
18
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
19
+ */
20
+ const errors_js_1 = require("../utils/errors.js");
21
+ class NoWalletProvidedError extends errors_js_1.BaseError {
22
+ constructor() {
23
+ super('mnemonic or wallet file or private key is required');
24
+ }
25
+ }
26
+ exports.NoWalletProvidedError = NoWalletProvidedError;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -7,6 +7,7 @@ exports.globalOptions = exports.walletOptions = exports.optionMap = void 0;
7
7
  exports.applyOptions = applyOptions;
8
8
  exports.tokenFromOptions = tokenFromOptions;
9
9
  exports.valueFromOptions = valueFromOptions;
10
+ exports.optionalPrivateKeyFromOptions = optionalPrivateKeyFromOptions;
10
11
  exports.privateKeyFromOptions = privateKeyFromOptions;
11
12
  exports.configFromOptions = configFromOptions;
12
13
  /**
@@ -28,24 +29,25 @@ exports.configFromOptions = configFromOptions;
28
29
  const bs58_1 = __importDefault(require("bs58"));
29
30
  const fs_1 = require("fs");
30
31
  const index_js_1 = require("../node/index.js");
32
+ const errors_js_1 = require("./errors.js");
31
33
  exports.optionMap = {
32
34
  token: {
33
35
  alias: '-t, --token <type>',
34
- description: 'Token type for wallet or action',
36
+ description: 'Crypto token type for wallet or action',
35
37
  default: 'arweave',
36
38
  },
37
39
  currency: {
38
40
  alias: '-c, --currency <currency>',
39
- description: 'Currency type to top up with',
41
+ description: 'Fiat currency type to use for the action',
40
42
  default: 'usd',
41
43
  },
42
44
  address: {
43
- alias: '-a, --address <walletAddress>',
44
- description: 'Wallet address to use for action',
45
+ alias: '-a, --address <nativeAddress>',
46
+ description: 'Native address to use for action',
45
47
  },
46
48
  value: {
47
49
  alias: '-v, --value <value>',
48
- description: 'Value of fiat currency or crypto token for action',
50
+ description: 'Value of fiat currency or crypto token for action. e.g: 10.50 for $10.50 USD or 0.0001 for 0.0001 AR',
49
51
  },
50
52
  walletFile: {
51
53
  alias: '-w, --wallet-file <filePath>',
@@ -117,7 +119,19 @@ function valueFromOptions(options) {
117
119
  }
118
120
  return value;
119
121
  }
120
- async function privateKeyFromOptions({ mnemonic, privateKey, walletFile, }, token) {
122
+ async function optionalPrivateKeyFromOptions(options) {
123
+ try {
124
+ const key = await privateKeyFromOptions(options);
125
+ return key;
126
+ }
127
+ catch (error) {
128
+ if (error instanceof errors_js_1.NoWalletProvidedError) {
129
+ return undefined;
130
+ }
131
+ throw error;
132
+ }
133
+ }
134
+ async function privateKeyFromOptions({ mnemonic, privateKey, walletFile, token, }) {
121
135
  if (mnemonic !== undefined) {
122
136
  if (token === 'kyve') {
123
137
  return (0, index_js_1.privateKeyFromKyveMnemonic)(mnemonic);
@@ -136,7 +150,7 @@ async function privateKeyFromOptions({ mnemonic, privateKey, walletFile, }, toke
136
150
  }
137
151
  // TODO: Get TURBO_WALLET_FILE, TURBO_MNEMONIC, TURBO_PRIVATE_KEY or similar from ENV variables
138
152
  // TODO: Add prompts for selecting wallet type and secure input
139
- throw new Error('mnemonic or wallet file or private key is required');
153
+ throw new errors_js_1.NoWalletProvidedError();
140
154
  }
141
155
  const tokenToDevGatewayMap = {
142
156
  arweave: 'https://arweave.net', // No arweave test net
@@ -157,5 +171,6 @@ function configFromOptions({ gateway, dev, token, }) {
157
171
  if (gateway !== undefined) {
158
172
  config.gatewayUrl = gateway;
159
173
  }
174
+ config.token = token;
160
175
  return config;
161
176
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JPY = exports.BRL = exports.HKD = exports.SGD = exports.INR = exports.AUD = exports.CAD = exports.GBP = exports.EUR = exports.USD = exports.TwoDecimalCurrency = exports.ZeroDecimalCurrency = void 0;
3
+ exports.currencyMap = exports.JPY = exports.BRL = exports.HKD = exports.SGD = exports.INR = exports.AUD = exports.CAD = exports.GBP = exports.EUR = exports.USD = exports.TwoDecimalCurrency = exports.ZeroDecimalCurrency = void 0;
4
4
  class ZeroDecimalCurrency {
5
5
  constructor(amount, type) {
6
6
  this.amount = amount;
@@ -40,3 +40,15 @@ exports.BRL = BRL;
40
40
  // Zero decimal currencies that are supported by the Turbo API
41
41
  const JPY = (jpy) => new ZeroDecimalCurrency(jpy, 'jpy');
42
42
  exports.JPY = JPY;
43
+ exports.currencyMap = {
44
+ usd: exports.USD,
45
+ eur: exports.EUR,
46
+ gbp: exports.GBP,
47
+ cad: exports.CAD,
48
+ aud: exports.AUD,
49
+ inr: exports.INR,
50
+ sgd: exports.SGD,
51
+ hkd: exports.HKD,
52
+ brl: exports.BRL,
53
+ jpy: exports.JPY,
54
+ };
package/lib/cjs/types.js CHANGED
@@ -1,8 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isJWK = exports.isWebUploadFolderParams = exports.isNodeUploadFolderParams = exports.tokenTypes = void 0;
3
+ exports.isJWK = exports.isWebUploadFolderParams = exports.isNodeUploadFolderParams = exports.tokenTypes = exports.fiatCurrencyTypes = void 0;
4
+ exports.isCurrency = isCurrency;
4
5
  exports.isKyvePrivateKey = isKyvePrivateKey;
5
6
  exports.isEthPrivateKey = isEthPrivateKey;
7
+ exports.fiatCurrencyTypes = [
8
+ 'usd',
9
+ 'eur',
10
+ 'gbp',
11
+ 'cad',
12
+ 'aud',
13
+ 'jpy',
14
+ 'inr',
15
+ 'sgd',
16
+ 'hkd',
17
+ 'brl',
18
+ ];
19
+ function isCurrency(currency) {
20
+ return exports.fiatCurrencyTypes.includes(currency);
21
+ }
6
22
  exports.tokenTypes = ['arweave', 'solana', 'ethereum', 'kyve'];
7
23
  const isNodeUploadFolderParams = (p) => p.folderPath !== undefined;
8
24
  exports.isNodeUploadFolderParams = isNodeUploadFolderParams;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FailedRequestError = exports.UnauthenticatedRequestError = void 0;
3
+ exports.FailedRequestError = exports.UnauthenticatedRequestError = exports.BaseError = void 0;
4
4
  /**
5
5
  * Copyright (C) 2022-2024 Permanent Data Solutions, Inc. All Rights Reserved.
6
6
  *
@@ -17,17 +17,22 @@ exports.FailedRequestError = exports.UnauthenticatedRequestError = 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
- class UnauthenticatedRequestError extends Error {
20
+ class BaseError extends Error {
21
+ constructor(message) {
22
+ super(message);
23
+ this.name = this.constructor.name;
24
+ }
25
+ }
26
+ exports.BaseError = BaseError;
27
+ class UnauthenticatedRequestError extends BaseError {
21
28
  constructor() {
22
29
  super('Failed authentication. JWK is required.');
23
- this.name = 'UnauthenticatedRequestError';
24
30
  }
25
31
  }
26
32
  exports.UnauthenticatedRequestError = UnauthenticatedRequestError;
27
- class FailedRequestError extends Error {
33
+ class FailedRequestError extends BaseError {
28
34
  constructor(status, message) {
29
35
  super(`Failed request: ${status}: ${message}`);
30
- this.name = 'FailedRequestError';
31
36
  }
32
37
  }
33
38
  exports.FailedRequestError = FailedRequestError;
@@ -18,4 +18,4 @@
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.version = void 0;
20
20
  // AUTOMATICALLY GENERATED FILE - DO NOT TOUCH
21
- exports.version = '1.12.0';
21
+ exports.version = '1.13.0-alpha.2';
@@ -18,27 +18,52 @@
18
18
  // eslint-disable-next-line header/header -- This is a CLI file
19
19
  import { program } from 'commander';
20
20
  import { version } from '../version.js';
21
- import { cryptoFund, getBalance } from './commands.js';
21
+ import { cryptoFund, getBalance, topUp } from './commands.js';
22
22
  import { applyOptions, configFromOptions, globalOptions, optionMap, privateKeyFromOptions, tokenFromOptions, valueFromOptions, walletOptions, } from './utils.js';
23
23
  applyOptions(program
24
24
  .name('turbo')
25
25
  .version(version)
26
26
  .description('Turbo CLI')
27
27
  .helpCommand(true), globalOptions);
28
- applyOptions(program.command('get-balance').description('Get balance of a Turbo address'), [optionMap.address, optionMap.token]).action((address, options) => {
29
- getBalance(address, options.token);
28
+ function exitWithErrorLog(error) {
29
+ console.error(error instanceof Error ? error.message : error);
30
+ process.exit(1);
31
+ }
32
+ applyOptions(program.command('balance').description('Get balance of a Turbo address'), [optionMap.address, ...walletOptions]).action(async (_commandOptions, command) => {
33
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
+ const options = command.optsWithGlobals();
35
+ try {
36
+ await getBalance(options);
37
+ process.exit(0);
38
+ }
39
+ catch (error) {
40
+ exitWithErrorLog(error);
41
+ }
30
42
  });
31
- applyOptions(program.command('top-up').description('Top up a Turbo address with Fiat'), [optionMap.address, optionMap.value, optionMap.token]).action((options) => {
32
- console.log('TODO: fiat top-up', options.address, options.token, options.value);
43
+ applyOptions(program.command('top-up').description('Top up a Turbo address with Fiat'), [...walletOptions, optionMap.address, optionMap.value, optionMap.currency]).action(async (_commandOptions, command) => {
44
+ const options = command.optsWithGlobals();
45
+ try {
46
+ await topUp(options);
47
+ process.exit(0);
48
+ }
49
+ catch (error) {
50
+ exitWithErrorLog(error);
51
+ }
33
52
  });
34
53
  applyOptions(program.command('crypto-fund').description('Top up a wallet with crypto'), [...walletOptions, optionMap.value]).action(async (_commandOptions, command) => {
35
54
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
55
  const options = command.optsWithGlobals();
37
56
  const token = tokenFromOptions(options);
38
57
  const value = valueFromOptions(options);
39
- const privateKey = await privateKeyFromOptions(options, token);
58
+ const privateKey = await privateKeyFromOptions(options);
40
59
  const config = configFromOptions(options);
41
- cryptoFund({ privateKey, value, token, config });
60
+ try {
61
+ await cryptoFund({ privateKey, value, token, config });
62
+ process.exit(0);
63
+ }
64
+ catch (error) {
65
+ exitWithErrorLog(error);
66
+ }
42
67
  });
43
68
  applyOptions(program
44
69
  .command('upload-folder')
@@ -14,20 +14,37 @@
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 { TurboFactory, isTokenType, tokenToBaseMap, } from '../node/index.js';
18
- export async function getBalance(address, token) {
19
- if (!isTokenType(token)) {
20
- throw new Error('Invalid token type!');
17
+ import { exec } from 'node:child_process';
18
+ import { TurboFactory, currencyMap, fiatCurrencyTypes, isCurrency, tokenToBaseMap, } from '../node/index.js';
19
+ import { sleep } from '../utils/common.js';
20
+ import { configFromOptions, optionalPrivateKeyFromOptions } from './utils.js';
21
+ export async function addressOrPrivateKeyFromOptions(options) {
22
+ if (options.address !== undefined) {
23
+ return { address: options.address, privateKey: undefined };
21
24
  }
22
- const unauthenticatedTurbo = TurboFactory.unauthenticated({
23
- paymentServiceConfig: { token },
25
+ return {
26
+ address: undefined,
27
+ privateKey: await optionalPrivateKeyFromOptions(options),
28
+ };
29
+ }
30
+ export async function getBalance(options) {
31
+ const config = configFromOptions(options);
32
+ const { address, privateKey } = await addressOrPrivateKeyFromOptions(options);
33
+ if (address !== undefined) {
34
+ const turbo = TurboFactory.unauthenticated(config);
35
+ const { winc } = await turbo.getBalance(address);
36
+ console.log(`Turbo Balance for Native Address "${address}"\nCredits: ${+winc / 1_000_000_000_000}`);
37
+ return;
38
+ }
39
+ if (privateKey === undefined) {
40
+ throw new Error('Must provide an (--address) or use a valid wallet');
41
+ }
42
+ const turbo = TurboFactory.authenticated({
43
+ ...config,
44
+ privateKey,
24
45
  });
25
- console.log('unauthenticatedTurbo', unauthenticatedTurbo);
26
- // const balance = await unauthenticatedTurbo.getBalance({
27
- // owner: address,
28
- // });
29
- // TODO: Implement unauthenticated getBalance
30
- console.log('TODO: Get balance for', address);
46
+ const { winc } = await turbo.getBalance();
47
+ console.log(`Turbo Balance for Wallet Address "${await turbo.signer.getNativeAddress()}"\nCredits: ${+winc / 1_000_000_000_000}`);
31
48
  }
32
49
  /** Fund the connected signer with crypto */
33
50
  export async function cryptoFund({ value, privateKey, token, config, }) {
@@ -41,3 +58,58 @@ export async function cryptoFund({ value, privateKey, token, config, }) {
41
58
  });
42
59
  console.log('Sent crypto fund transaction: \n', JSON.stringify(result, null, 2));
43
60
  }
61
+ export async function topUp(options) {
62
+ const config = configFromOptions(options);
63
+ const { address, privateKey } = await addressOrPrivateKeyFromOptions(options);
64
+ const value = options.value;
65
+ if (value === undefined) {
66
+ throw new Error('Must provide a --value to top up');
67
+ }
68
+ const currency = (options.currency ?? 'usd').toLowerCase();
69
+ if (!isCurrency(currency)) {
70
+ throw new Error(`Invalid fiat currency type ${currency}!\nPlease use one of these:\n${JSON.stringify(fiatCurrencyTypes, null, 2)}`);
71
+ }
72
+ // TODO: Pay in CLI prompts via --cli options
73
+ const { url, paymentAmount, winc } = await (async () => {
74
+ const amount = currencyMap[currency](+value);
75
+ if (address !== undefined) {
76
+ const turbo = TurboFactory.unauthenticated(config);
77
+ return turbo.createCheckoutSession({
78
+ amount,
79
+ owner: address,
80
+ });
81
+ }
82
+ if (privateKey === undefined) {
83
+ throw new Error('Must provide a wallet to top up');
84
+ }
85
+ const turbo = TurboFactory.authenticated({
86
+ ...config,
87
+ privateKey,
88
+ });
89
+ return turbo.createCheckoutSession({
90
+ amount,
91
+ owner: await turbo.signer.getNativeAddress(),
92
+ });
93
+ })();
94
+ if (url === undefined) {
95
+ throw new Error('Failed to create checkout session');
96
+ }
97
+ console.log('Got Checkout Session\n' + JSON.stringify({ url, paymentAmount, winc }));
98
+ console.log('Opening checkout session in browser...');
99
+ await sleep(2000);
100
+ openUrl(url);
101
+ }
102
+ export function openUrl(url) {
103
+ if (process.platform === 'darwin') {
104
+ // macOS
105
+ exec(`open ${url}`);
106
+ }
107
+ else if (process.platform === 'win32') {
108
+ // Windows
109
+ exec(`start "" "${url}"`, { windowsHide: true });
110
+ }
111
+ else {
112
+ // Linux/Unix
113
+ open(url);
114
+ }
115
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright (C) 2022-2024 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 { BaseError } from '../utils/errors.js';
18
+ export class NoWalletProvidedError extends BaseError {
19
+ constructor() {
20
+ super('mnemonic or wallet file or private key is required');
21
+ }
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -17,24 +17,25 @@
17
17
  import bs58 from 'bs58';
18
18
  import { readFileSync } from 'fs';
19
19
  import { defaultTurboConfiguration, developmentTurboConfiguration, isTokenType, privateKeyFromKyveMnemonic, } from '../node/index.js';
20
+ import { NoWalletProvidedError } from './errors.js';
20
21
  export const optionMap = {
21
22
  token: {
22
23
  alias: '-t, --token <type>',
23
- description: 'Token type for wallet or action',
24
+ description: 'Crypto token type for wallet or action',
24
25
  default: 'arweave',
25
26
  },
26
27
  currency: {
27
28
  alias: '-c, --currency <currency>',
28
- description: 'Currency type to top up with',
29
+ description: 'Fiat currency type to use for the action',
29
30
  default: 'usd',
30
31
  },
31
32
  address: {
32
- alias: '-a, --address <walletAddress>',
33
- description: 'Wallet address to use for action',
33
+ alias: '-a, --address <nativeAddress>',
34
+ description: 'Native address to use for action',
34
35
  },
35
36
  value: {
36
37
  alias: '-v, --value <value>',
37
- description: 'Value of fiat currency or crypto token for action',
38
+ description: 'Value of fiat currency or crypto token for action. e.g: 10.50 for $10.50 USD or 0.0001 for 0.0001 AR',
38
39
  },
39
40
  walletFile: {
40
41
  alias: '-w, --wallet-file <filePath>',
@@ -106,7 +107,19 @@ export function valueFromOptions(options) {
106
107
  }
107
108
  return value;
108
109
  }
109
- export async function privateKeyFromOptions({ mnemonic, privateKey, walletFile, }, token) {
110
+ export async function optionalPrivateKeyFromOptions(options) {
111
+ try {
112
+ const key = await privateKeyFromOptions(options);
113
+ return key;
114
+ }
115
+ catch (error) {
116
+ if (error instanceof NoWalletProvidedError) {
117
+ return undefined;
118
+ }
119
+ throw error;
120
+ }
121
+ }
122
+ export async function privateKeyFromOptions({ mnemonic, privateKey, walletFile, token, }) {
110
123
  if (mnemonic !== undefined) {
111
124
  if (token === 'kyve') {
112
125
  return privateKeyFromKyveMnemonic(mnemonic);
@@ -125,7 +138,7 @@ export async function privateKeyFromOptions({ mnemonic, privateKey, walletFile,
125
138
  }
126
139
  // TODO: Get TURBO_WALLET_FILE, TURBO_MNEMONIC, TURBO_PRIVATE_KEY or similar from ENV variables
127
140
  // TODO: Add prompts for selecting wallet type and secure input
128
- throw new Error('mnemonic or wallet file or private key is required');
141
+ throw new NoWalletProvidedError();
129
142
  }
130
143
  const tokenToDevGatewayMap = {
131
144
  arweave: 'https://arweave.net', // No arweave test net
@@ -146,5 +159,6 @@ export function configFromOptions({ gateway, dev, token, }) {
146
159
  if (gateway !== undefined) {
147
160
  config.gatewayUrl = gateway;
148
161
  }
162
+ config.token = token;
149
163
  return config;
150
164
  }
@@ -25,3 +25,15 @@ export const HKD = (hkd) => new TwoDecimalCurrency(hkd, 'hkd');
25
25
  export const BRL = (brl) => new TwoDecimalCurrency(brl, 'brl');
26
26
  // Zero decimal currencies that are supported by the Turbo API
27
27
  export const JPY = (jpy) => new ZeroDecimalCurrency(jpy, 'jpy');
28
+ export const currencyMap = {
29
+ usd: USD,
30
+ eur: EUR,
31
+ gbp: GBP,
32
+ cad: CAD,
33
+ aud: AUD,
34
+ inr: INR,
35
+ sgd: SGD,
36
+ hkd: HKD,
37
+ brl: BRL,
38
+ jpy: JPY,
39
+ };
package/lib/esm/types.js CHANGED
@@ -1,3 +1,18 @@
1
+ export const fiatCurrencyTypes = [
2
+ 'usd',
3
+ 'eur',
4
+ 'gbp',
5
+ 'cad',
6
+ 'aud',
7
+ 'jpy',
8
+ 'inr',
9
+ 'sgd',
10
+ 'hkd',
11
+ 'brl',
12
+ ];
13
+ export function isCurrency(currency) {
14
+ return fiatCurrencyTypes.includes(currency);
15
+ }
1
16
  export const tokenTypes = ['arweave', 'solana', 'ethereum', 'kyve'];
2
17
  export const isNodeUploadFolderParams = (p) => p.folderPath !== undefined;
3
18
  export const isWebUploadFolderParams = (p) => p.files !== undefined;
@@ -14,15 +14,19 @@
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
- export class UnauthenticatedRequestError extends Error {
17
+ export class BaseError extends Error {
18
+ constructor(message) {
19
+ super(message);
20
+ this.name = this.constructor.name;
21
+ }
22
+ }
23
+ export class UnauthenticatedRequestError extends BaseError {
18
24
  constructor() {
19
25
  super('Failed authentication. JWK is required.');
20
- this.name = 'UnauthenticatedRequestError';
21
26
  }
22
27
  }
23
- export class FailedRequestError extends Error {
28
+ export class FailedRequestError extends BaseError {
24
29
  constructor(status, message) {
25
30
  super(`Failed request: ${status}: ${message}`);
26
- this.name = 'FailedRequestError';
27
31
  }
28
32
  }
@@ -15,4 +15,4 @@
15
15
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
17
  // AUTOMATICALLY GENERATED FILE - DO NOT TOUCH
18
- export const version = '1.12.0';
18
+ export const version = '1.13.0-alpha.2';
@@ -1,21 +1,10 @@
1
- /**
2
- * Copyright (C) 2022-2024 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
1
  import { TokenType, TurboUnauthenticatedConfiguration, TurboWallet } from '../node/index.js';
18
- export declare function getBalance(address: string, token: string): Promise<void>;
2
+ import { AddressOptions, TopUpOptions } from './types.js';
3
+ export declare function addressOrPrivateKeyFromOptions(options: AddressOptions): Promise<{
4
+ address: string | undefined;
5
+ privateKey: string | undefined;
6
+ }>;
7
+ export declare function getBalance(options: AddressOptions): Promise<void>;
19
8
  export interface CryptoFundParams {
20
9
  token: TokenType;
21
10
  value: string;
@@ -24,4 +13,6 @@ export interface CryptoFundParams {
24
13
  }
25
14
  /** Fund the connected signer with crypto */
26
15
  export declare function cryptoFund({ value, privateKey, token, config, }: CryptoFundParams): Promise<void>;
16
+ export declare function topUp(options: TopUpOptions): Promise<void>;
17
+ export declare function openUrl(url: string): void;
27
18
  //# sourceMappingURL=commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,SAAS,EAET,iCAAiC,EACjC,WAAW,EAGZ,MAAM,kBAAkB,CAAC;AAE1B,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAc9D;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,iCAAiC,CAAC;CAC3C;AACD,4CAA4C;AAC5C,wBAAsB,UAAU,CAAC,EAC/B,KAAK,EACL,UAAU,EACV,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,iBAelB"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,SAAS,EAET,iCAAiC,EACjC,WAAW,EAKZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1D,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC;IACT,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC,CASD;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,cAAc,iBAgCvD;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,iCAAiC,CAAC;CAC3C;AACD,4CAA4C;AAC5C,wBAAsB,UAAU,CAAC,EAC/B,KAAK,EACL,UAAU,EACV,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,iBAelB;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,iBA4DhD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,QAWlC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Copyright (C) 2022-2024 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 { BaseError } from '../utils/errors.js';
18
+ export declare class NoWalletProvidedError extends BaseError {
19
+ constructor();
20
+ }
21
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/cli/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,qBAAa,qBAAsB,SAAQ,SAAS;;CAInD"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright (C) 2022-2024 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 { TokenType } from '../types.js';
18
+ export type GlobalOptions = {
19
+ dev: boolean;
20
+ gateway: string | undefined;
21
+ debug: boolean;
22
+ quiet: boolean;
23
+ token: TokenType;
24
+ };
25
+ export type WalletOptions = GlobalOptions & {
26
+ walletFile: string | undefined;
27
+ mnemonic: string | undefined;
28
+ privateKey: string | undefined;
29
+ };
30
+ export type AddressOptions = WalletOptions & {
31
+ address: string | undefined;
32
+ };
33
+ export type TopUpOptions = AddressOptions & {
34
+ value: string | undefined;
35
+ currency: string | undefined;
36
+ };
37
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG;IAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Command } from 'commander';
2
2
  import { TokenType, TurboUnauthenticatedConfiguration } from '../node/index.js';
3
+ import { GlobalOptions, WalletOptions } from './types.js';
3
4
  interface CommanderOption {
4
5
  alias: string;
5
6
  description: string;
@@ -8,21 +9,21 @@ interface CommanderOption {
8
9
  export declare const optionMap: {
9
10
  readonly token: {
10
11
  readonly alias: "-t, --token <type>";
11
- readonly description: "Token type for wallet or action";
12
+ readonly description: "Crypto token type for wallet or action";
12
13
  readonly default: "arweave";
13
14
  };
14
15
  readonly currency: {
15
16
  readonly alias: "-c, --currency <currency>";
16
- readonly description: "Currency type to top up with";
17
+ readonly description: "Fiat currency type to use for the action";
17
18
  readonly default: "usd";
18
19
  };
19
20
  readonly address: {
20
- readonly alias: "-a, --address <walletAddress>";
21
- readonly description: "Wallet address to use for action";
21
+ readonly alias: "-a, --address <nativeAddress>";
22
+ readonly description: "Native address to use for action";
22
23
  };
23
24
  readonly value: {
24
25
  readonly alias: "-v, --value <value>";
25
- readonly description: "Value of fiat currency or crypto token for action";
26
+ readonly description: "Value of fiat currency or crypto token for action. e.g: 10.50 for $10.50 USD or 0.0001 for 0.0001 AR";
26
27
  };
27
28
  readonly walletFile: {
28
29
  readonly alias: "-w, --wallet-file <filePath>";
@@ -69,7 +70,7 @@ export declare const walletOptions: ({
69
70
  })[];
70
71
  export declare const globalOptions: ({
71
72
  readonly alias: "-t, --token <type>";
72
- readonly description: "Token type for wallet or action";
73
+ readonly description: "Crypto token type for wallet or action";
73
74
  readonly default: "arweave";
74
75
  } | {
75
76
  readonly alias: "-g, --gateway <url>";
@@ -91,15 +92,8 @@ export declare const globalOptions: ({
91
92
  export declare function applyOptions(command: Command, options: CommanderOption[]): Command;
92
93
  export declare function tokenFromOptions(options: unknown): TokenType;
93
94
  export declare function valueFromOptions(options: unknown): string;
94
- export declare function privateKeyFromOptions({ mnemonic, privateKey, walletFile, }: {
95
- walletFile: string | undefined;
96
- mnemonic: string | undefined;
97
- privateKey: string | undefined;
98
- }, token: TokenType): Promise<string>;
99
- export declare function configFromOptions({ gateway, dev, token, }: {
100
- gateway: string | undefined;
101
- dev: boolean | undefined;
102
- token: TokenType;
103
- }): TurboUnauthenticatedConfiguration;
95
+ export declare function optionalPrivateKeyFromOptions(options: WalletOptions): Promise<string | undefined>;
96
+ export declare function privateKeyFromOptions({ mnemonic, privateKey, walletFile, token, }: WalletOptions): Promise<string>;
97
+ export declare function configFromOptions({ gateway, dev, token, }: GlobalOptions): TurboUnauthenticatedConfiguration;
104
98
  export {};
105
99
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/cli/utils.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EACL,SAAS,EACT,iCAAiC,EAKlC,MAAM,kBAAkB,CAAC;AAE1B,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDZ,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;IAIzB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;IAMzB,CAAC;AAEF,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAKT;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAU5D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMzD;AAED,wBAAsB,qBAAqB,CACzC,EACE,QAAQ,EACR,UAAU,EACV,UAAU,GACX,EAAE;IACD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,EACD,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC,CAqBjB;AASD,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,GAAG,EACH,KAAK,GACN,EAAE;IACD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,SAAS,CAAC;CAClB,GAAG,iCAAiC,CAgBpC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/cli/utils.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EACL,SAAS,EACT,iCAAiC,EAKlC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE1D,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDZ,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;IAIzB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;IAMzB,CAAC;AAEF,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAKT;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAU5D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMzD;AAED,wBAAsB,6BAA6B,CAAC,OAAO,EAAE,aAAa,+BAUzE;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,QAAQ,EACR,UAAU,EACV,UAAU,EACV,KAAK,GACN,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBjC;AASD,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,GAAG,EACH,KAAK,GACN,EAAE,aAAa,GAAG,iCAAiC,CAkBnD"}
@@ -40,4 +40,5 @@ export declare const SGD: (sgd: number) => TwoDecimalCurrency;
40
40
  export declare const HKD: (hkd: number) => TwoDecimalCurrency;
41
41
  export declare const BRL: (brl: number) => TwoDecimalCurrency;
42
42
  export declare const JPY: (jpy: number) => ZeroDecimalCurrency;
43
+ export declare const currencyMap: Record<Currency, (amount: number) => CurrencyMap>;
43
44
  //# sourceMappingURL=currency.d.ts.map
@@ -1 +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"}
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;AAExE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,WAAW,CAWzE,CAAC"}
@@ -26,7 +26,9 @@ export type NativeAddress = string;
26
26
  export type PublicArweaveAddress = Base64String;
27
27
  export type TransactionId = Base64String;
28
28
  export type UserAddress = string | PublicArweaveAddress;
29
- export type Currency = 'usd' | 'eur' | 'gbp' | 'cad' | 'aud' | 'jpy' | 'inr' | 'sgd' | 'hkd' | 'brl';
29
+ export declare const fiatCurrencyTypes: readonly ["usd", "eur", "gbp", "cad", "aud", "jpy", "inr", "sgd", "hkd", "brl"];
30
+ export type Currency = (typeof fiatCurrencyTypes)[number];
31
+ export declare function isCurrency(currency: string): currency is Currency;
30
32
  export type Country = 'United States' | 'United Kingdom' | 'Canada';
31
33
  export declare const tokenTypes: readonly ["arweave", "solana", "ethereum", "kyve"];
32
34
  export type TokenType = (typeof tokenTypes)[number];
@@ -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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"}
@@ -14,10 +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
- export declare class UnauthenticatedRequestError extends Error {
17
+ export declare class BaseError extends Error {
18
+ constructor(message: string);
19
+ }
20
+ export declare class UnauthenticatedRequestError extends BaseError {
18
21
  constructor();
19
22
  }
20
- export declare class FailedRequestError extends Error {
23
+ export declare class FailedRequestError extends BaseError {
21
24
  constructor(status: number, message: string);
22
25
  }
23
26
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;;CAKrD;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI5C"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,2BAA4B,SAAQ,SAAS;;CAIzD;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAG5C"}
@@ -14,5 +14,5 @@
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
- export declare const version = "1.12.0-alpha.1";
17
+ export declare const version = "1.13.0-alpha.1";
18
18
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ardrive/turbo-sdk",
3
- "version": "1.12.0",
3
+ "version": "1.13.0-alpha.2",
4
4
  "main": "./lib/cjs/node/index.js",
5
5
  "types": "./lib/types/node/index.d.ts",
6
6
  "module": "./lib/esm/node/index.js",