@ardrive/turbo-sdk 1.36.0 → 1.37.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.
Files changed (72) hide show
  1. package/README.md +15 -0
  2. package/bundles/web.bundle.min.js +172510 -144495
  3. package/lib/cjs/cli/options.js +6 -0
  4. package/lib/cjs/cli/utils.js +9 -1
  5. package/lib/cjs/common/chunked.js +1 -1
  6. package/lib/cjs/common/factory.js +2 -6
  7. package/lib/cjs/common/http.js +118 -1
  8. package/lib/cjs/common/logger.js +50 -59
  9. package/lib/cjs/common/payment.js +2 -2
  10. package/lib/cjs/common/signer.js +36 -1
  11. package/lib/cjs/common/token/ario.js +1 -1
  12. package/lib/cjs/common/token/arweave.js +1 -1
  13. package/lib/cjs/common/token/erc20.js +1 -1
  14. package/lib/cjs/common/token/ethereum.js +1 -1
  15. package/lib/cjs/common/token/kyve.js +1 -1
  16. package/lib/cjs/common/token/polygon.js +1 -1
  17. package/lib/cjs/common/token/solana.js +1 -1
  18. package/lib/cjs/common/upload.js +25 -3
  19. package/lib/cjs/common/winstonLogger.js +66 -0
  20. package/lib/cjs/types.js +9 -1
  21. package/lib/cjs/utils/axiosClient.js +1 -1
  22. package/lib/cjs/version.js +1 -1
  23. package/lib/esm/cli/options.js +6 -0
  24. package/lib/esm/cli/utils.js +10 -2
  25. package/lib/esm/common/chunked.js +2 -2
  26. package/lib/esm/common/factory.js +3 -7
  27. package/lib/esm/common/http.js +117 -1
  28. package/lib/esm/common/logger.js +48 -57
  29. package/lib/esm/common/payment.js +3 -3
  30. package/lib/esm/common/signer.js +36 -2
  31. package/lib/esm/common/token/ario.js +2 -2
  32. package/lib/esm/common/token/arweave.js +2 -2
  33. package/lib/esm/common/token/erc20.js +2 -2
  34. package/lib/esm/common/token/ethereum.js +2 -2
  35. package/lib/esm/common/token/kyve.js +2 -2
  36. package/lib/esm/common/token/polygon.js +2 -2
  37. package/lib/esm/common/token/solana.js +2 -2
  38. package/lib/esm/common/upload.js +27 -5
  39. package/lib/esm/common/winstonLogger.js +62 -0
  40. package/lib/esm/types.js +7 -0
  41. package/lib/esm/utils/axiosClient.js +2 -2
  42. package/lib/esm/version.js +1 -1
  43. package/lib/types/cli/options.d.ts +17 -0
  44. package/lib/types/cli/options.d.ts.map +1 -1
  45. package/lib/types/cli/types.d.ts +1 -0
  46. package/lib/types/cli/types.d.ts.map +1 -1
  47. package/lib/types/cli/utils.d.ts.map +1 -1
  48. package/lib/types/common/chunked.d.ts.map +1 -1
  49. package/lib/types/common/factory.d.ts +4 -5
  50. package/lib/types/common/factory.d.ts.map +1 -1
  51. package/lib/types/common/http.d.ts +10 -2
  52. package/lib/types/common/http.d.ts.map +1 -1
  53. package/lib/types/common/logger.d.ts +17 -26
  54. package/lib/types/common/logger.d.ts.map +1 -1
  55. package/lib/types/common/payment.d.ts.map +1 -1
  56. package/lib/types/common/signer.d.ts +3 -0
  57. package/lib/types/common/signer.d.ts.map +1 -1
  58. package/lib/types/common/token/ario.d.ts.map +1 -1
  59. package/lib/types/common/token/arweave.d.ts.map +1 -1
  60. package/lib/types/common/token/erc20.d.ts.map +1 -1
  61. package/lib/types/common/token/ethereum.d.ts.map +1 -1
  62. package/lib/types/common/token/kyve.d.ts.map +1 -1
  63. package/lib/types/common/token/polygon.d.ts.map +1 -1
  64. package/lib/types/common/token/solana.d.ts.map +1 -1
  65. package/lib/types/common/upload.d.ts +2 -1
  66. package/lib/types/common/upload.d.ts.map +1 -1
  67. package/lib/types/common/winstonLogger.d.ts +14 -0
  68. package/lib/types/common/winstonLogger.d.ts.map +1 -0
  69. package/lib/types/types.d.ts +24 -12
  70. package/lib/types/types.d.ts.map +1 -1
  71. package/lib/types/version.d.ts +1 -1
  72. package/package.json +9 -1
package/README.md CHANGED
@@ -746,6 +746,21 @@ await turbo.upload({
746
746
  });
747
747
  ```
748
748
 
749
+ #### x402 Uploads
750
+
751
+ Another method of uploading files is via the x402 protocol. This method is optimized for agent workflows and allows for direct uploads to Arweave gateways that support the x402 protocol using an EVM wallet and base-usdc token type.
752
+
753
+ ```typescript
754
+ const turbo = TurboFactory.authenticated({
755
+ signer: ethereumSignerWithBaseUSDC,
756
+ token: 'base-usdc',
757
+ });
758
+ await turbo.uploadFile({
759
+ ...params,
760
+ fundingMode: new X402Funding({ maxMUSDCAmount: 1_000_000 }), // Max 1 USDC. Opt out if too expensive
761
+ });
762
+ ```
763
+
749
764
  #### `uploadFolder({ folderPath, files, dataItemOpts, signal, maxConcurrentUploads, throwOnFailure, manifestOptions })`
750
765
 
751
766
  Signs and uploads a folder of files. For NodeJS, the `folderPath` of the folder to upload is required. For the browser, an array of `files` is required. The `dataItemOpts` is an optional object that can be used to configure tags, target, and anchor for the data item upload. The `signal` is an optional [AbortSignal] that can be used to cancel the upload or timeout the request. The `maxConcurrentUploads` is an optional number that can be used to limit the number of concurrent uploads. The `throwOnFailure` is an optional boolean that can be used to throw an error if any upload fails. The `manifestOptions` is an optional object that can be used to configure the manifest file, including a custom index file, fallback file, or whether to disable manifests altogether. Manifests are enabled by default.