@bsv/sdk 2.0.12 → 2.0.14

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 (112) hide show
  1. package/README.md +2 -0
  2. package/dist/cjs/package.json +1 -1
  3. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js +827 -0
  4. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +1 -0
  5. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +654 -0
  6. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +1 -0
  7. package/dist/cjs/src/identity/IdentityClient.js +3 -3
  8. package/dist/cjs/src/identity/IdentityClient.js.map +1 -1
  9. package/dist/cjs/src/identity/types/index.js +1 -1
  10. package/dist/cjs/src/identity/types/index.js.map +1 -1
  11. package/dist/cjs/src/storage/StorageUploader.js +315 -96
  12. package/dist/cjs/src/storage/StorageUploader.js.map +1 -1
  13. package/dist/cjs/src/storage/index.js +3 -1
  14. package/dist/cjs/src/storage/index.js.map +1 -1
  15. package/dist/cjs/src/transaction/MerklePath.js +132 -0
  16. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  17. package/dist/cjs/src/wallet/WERR_REVIEW_ACTIONS.js +2 -2
  18. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  19. package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js +825 -0
  20. package/dist/esm/src/auth/clients/__tests__/AuthFetch.additional.test.js.map +1 -0
  21. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js +619 -0
  22. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.js.map +1 -0
  23. package/dist/esm/src/identity/IdentityClient.js +3 -3
  24. package/dist/esm/src/identity/IdentityClient.js.map +1 -1
  25. package/dist/esm/src/identity/types/index.js +1 -1
  26. package/dist/esm/src/identity/types/index.js.map +1 -1
  27. package/dist/esm/src/storage/StorageUploader.js +319 -95
  28. package/dist/esm/src/storage/StorageUploader.js.map +1 -1
  29. package/dist/esm/src/storage/index.js +1 -1
  30. package/dist/esm/src/storage/index.js.map +1 -1
  31. package/dist/esm/src/transaction/MerklePath.js +132 -0
  32. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  33. package/dist/esm/src/wallet/WERR_REVIEW_ACTIONS.js +2 -2
  34. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  35. package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts +21 -0
  36. package/dist/types/src/auth/clients/__tests__/AuthFetch.additional.test.d.ts.map +1 -0
  37. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts +2 -0
  38. package/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.d.ts.map +1 -0
  39. package/dist/types/src/storage/StorageUploader.d.ts +94 -55
  40. package/dist/types/src/storage/StorageUploader.d.ts.map +1 -1
  41. package/dist/types/src/storage/index.d.ts +1 -1
  42. package/dist/types/src/storage/index.d.ts.map +1 -1
  43. package/dist/types/src/transaction/MerklePath.d.ts +27 -0
  44. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  45. package/dist/types/src/wallet/WERR_REVIEW_ACTIONS.d.ts +2 -2
  46. package/dist/types/src/wallet/Wallet.interfaces.d.ts +2 -2
  47. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  48. package/dist/umd/bundle.js +4 -4
  49. package/dist/umd/bundle.js.map +1 -1
  50. package/docs/index.md +3 -1
  51. package/docs/reference/identity.md +1 -1
  52. package/docs/reference/storage.md +215 -86
  53. package/docs/reference/transaction.md +40 -0
  54. package/docs/reference/wallet.md +4 -4
  55. package/package.json +1 -1
  56. package/src/auth/clients/__tests__/AuthFetch.additional.test.ts +1131 -0
  57. package/src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.ts +770 -0
  58. package/src/compat/__tests/Mnemonic.additional.test.ts +64 -0
  59. package/src/identity/IdentityClient.ts +3 -3
  60. package/src/identity/__tests/IdentityClient.additional.test.ts +767 -0
  61. package/src/identity/types/index.ts +1 -1
  62. package/src/kvstore/__tests/LocalKVStore.additional.test.ts +611 -0
  63. package/src/kvstore/__tests/kvStoreInterpreter.test.ts +327 -0
  64. package/src/overlay-tools/__tests/HostReputationTracker.additional.test.ts +561 -0
  65. package/src/overlay-tools/__tests/LookupResolver.additional.test.ts +612 -0
  66. package/src/overlay-tools/__tests/withDoubleSpendRetry.test.ts +278 -0
  67. package/src/primitives/__tests/BigNumber.additional.test.ts +79 -0
  68. package/src/primitives/__tests/Curve.additional.test.ts +208 -0
  69. package/src/primitives/__tests/ECDSA.additional.test.ts +122 -0
  70. package/src/primitives/__tests/Hash.additional.test.ts +59 -0
  71. package/src/primitives/__tests/JacobianPoint.test.ts +308 -0
  72. package/src/primitives/__tests/Point.additional.test.ts +503 -0
  73. package/src/primitives/__tests/PublicKey.additional.test.ts +383 -0
  74. package/src/primitives/__tests/Random.additional.test.ts +262 -0
  75. package/src/primitives/__tests/Signature.test.ts +333 -0
  76. package/src/primitives/__tests/TransactionSignature.additional.test.ts +241 -0
  77. package/src/registry/__tests/RegistryClient.additional.test.ts +750 -0
  78. package/src/remittance/__tests/BasicBRC29.additional.test.ts +657 -0
  79. package/src/remittance/__tests/RemittanceManager.additional.test.ts +1272 -0
  80. package/src/script/__tests/LockingUnlockingScript.test.ts +79 -0
  81. package/src/script/__tests/Script.additional.test.ts +100 -0
  82. package/src/script/__tests/ScriptEvaluationError.test.ts +98 -0
  83. package/src/script/__tests/Spend.additional.test.ts +837 -0
  84. package/src/script/templates/__tests/RPuzzle.test.ts +134 -0
  85. package/src/storage/StorageUploader.ts +427 -105
  86. package/src/storage/__tests/StorageUploader.test.ts +881 -64
  87. package/src/storage/index.ts +1 -1
  88. package/src/transaction/MerklePath.ts +155 -0
  89. package/src/transaction/__tests/BeefParty.additional.test.ts +22 -0
  90. package/src/transaction/__tests/Broadcaster.test.ts +159 -0
  91. package/src/transaction/__tests/MerklePath.bench.test.ts +105 -0
  92. package/src/transaction/__tests/MerklePath.test.ts +80 -0
  93. package/src/transaction/__tests/Transaction.additional.test.ts +225 -0
  94. package/src/transaction/broadcasters/__tests/ARC.additional.test.ts +585 -0
  95. package/src/transaction/broadcasters/__tests/Teranode.test.ts +349 -0
  96. package/src/transaction/chaintrackers/__tests/BlockHeadersService.test.ts +253 -0
  97. package/src/transaction/chaintrackers/__tests/DefaultChainTracker.test.ts +44 -0
  98. package/src/transaction/chaintrackers/__tests/WhatsOnChain.additional.test.ts +193 -0
  99. package/src/transaction/fee-models/__tests/SatoshisPerKilobyte.test.ts +262 -0
  100. package/src/transaction/http/__tests/BinaryFetchClient.test.ts +212 -0
  101. package/src/transaction/http/__tests/DefaultHttpClient.additional.test.ts +192 -0
  102. package/src/transaction/http/__tests/DefaultHttpClient.test.ts +71 -0
  103. package/src/wallet/WERR_REVIEW_ACTIONS.ts +2 -2
  104. package/src/wallet/Wallet.interfaces.ts +2 -2
  105. package/src/wallet/__tests/ProtoWallet.additional.test.ts +134 -0
  106. package/src/wallet/__tests/WERR.test.ts +212 -0
  107. package/src/wallet/__tests/WalletClient.additional.test.ts +699 -0
  108. package/src/wallet/__tests/WalletClient.substrate.test.ts +759 -0
  109. package/src/wallet/__tests/WalletError.test.ts +290 -0
  110. package/src/wallet/__tests/validationHelpers.test.ts +1218 -0
  111. package/src/wallet/substrates/__tests/HTTPWalletJSON.test.ts +496 -0
  112. package/src/wallet/substrates/__tests/HTTPWalletWire.test.ts +273 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimplifiedFetchTransport.additional.test.js","sourceRoot":"","sources":["../../../../../../src/auth/transports/__tests__/SimplifiedFetchTransport.additional.test.ts"],"names":[],"mappings":"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"}
@@ -275,7 +275,7 @@ class IdentityClient {
275
275
  avatarURL = decryptedFields.icon;
276
276
  badgeLabel = `Entity certified by ${certifierInfo.name}`;
277
277
  badgeIconURL = certifierInfo.iconUrl;
278
- badgeClickURL = 'https://projectbabbage.com/docs/registrant'; // TODO: Make this doc page exist
278
+ badgeClickURL = 'https://bsv-blockchain.github.io/ts-sdk/reference/identity/'; // TODO: Make this doc page exist
279
279
  break;
280
280
  case index_js_1.KNOWN_IDENTITY_TYPES.coolCert:
281
281
  name = decryptedFields.cool === 'true' ? 'Cool Person!' : 'Not cool!';
@@ -286,14 +286,14 @@ class IdentityClient {
286
286
  badgeLabel =
287
287
  'Represents the ability for anyone to access this information.';
288
288
  badgeIconURL = 'XUUV39HVPkpmMzYNTx7rpKzJvXfeiVyQWg2vfSpjBAuhunTCA9uG';
289
- badgeClickURL = 'https://projectbabbage.com/docs/anyone-identity'; // TODO: Make this doc page exist
289
+ badgeClickURL = 'https://bsv-blockchain.github.io/ts-sdk/reference/identity/'; // TODO: Make this doc page exist
290
290
  break;
291
291
  case index_js_1.KNOWN_IDENTITY_TYPES.self:
292
292
  name = 'You';
293
293
  avatarURL = 'XUT9jHGk2qace148jeCX5rDsMftkSGYKmigLwU2PLLBc7Hm63VYR';
294
294
  badgeLabel = 'Represents your ability to access this information.';
295
295
  badgeIconURL = 'XUUV39HVPkpmMzYNTx7rpKzJvXfeiVyQWg2vfSpjBAuhunTCA9uG';
296
- badgeClickURL = 'https://projectbabbage.com/docs/self-identity'; // TODO: Make this doc page exist
296
+ badgeClickURL = 'https://bsv-blockchain.github.io/ts-sdk/reference/identity/'; // TODO: Make this doc page exist
297
297
  break;
298
298
  default: {
299
299
  const parsed = IdentityClient.tryToParseGenericIdentity(type, decryptedFields, certifierInfo);
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityClient.js","sourceRoot":"","sources":["../../../../src/identity/IdentityClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IdentityClient.js","sourceRoot":"","sources":["../../../../src/identity/IdentityClient.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA8H;AAC9H,iDAW2B;AAC3B,sDAA0F;AAC1F,yFAA6D;AAC7D,iDAA6C;AAC7C,qDAA0D;AAC1D,wDAAmH;AACnH,6DAA+D;AAE/D;;GAEG;AACH,MAAa,cAAc;IAGzB,YACE,MAAwB,EACP,UAAU,0CAA+B,EACzC,UAAoD;QADpD,YAAO,GAAP,OAAO,CAAkC;QACzC,eAAU,GAAV,UAAU,CAA0C;QAErE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,uBAAY,EAAE,CAAA;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,oCAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAC1E,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,wBAAwB,CAC5B,WAA8B,EAC9B,cAAkD;QAElD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAA;QACH,CAAC;QACD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,wBAAW,CAChC,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,YAAY,EACxB,WAAW,CAAC,OAAO,EACnB,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,kBAAkB,EAC9B,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,SAAS,CACtB,CAAA;YACD,MAAM,UAAU,CAAC,MAAM,EAAE,CAAA;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;QAC3E,CAAC;QAED,+DAA+D;QAC/D,2EAA2E;QAC3E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC/D;YACE,WAAW;YACX,cAAc;YACd,QAAQ,EAAE,IAAI,qBAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;SACrD,EACD,IAAI,CAAC,UAAU,CAChB,CAAA;QAED,yFAAyF;QACzF,MAAM,aAAa,GAAG,MAAM,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CACzE;YACE,gBAAK,CAAC,OAAO,CACX,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAChE;SACF,EACD,IAAI,CAAC,OAAO,CAAC,UAAU,EACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAClB,QAAQ,EACR,IAAI,EACJ,IAAI,CACL,CAAA;QACD,uDAAuD;QACvD,yCAAyC;QAEzC,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3C;YACE,WAAW,EAAE,6BAA6B;YAC1C,OAAO,EAAE;gBACP;oBACE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;oBAClC,aAAa,EAAE,aAAa,CAAC,KAAK,EAAE;oBACpC,iBAAiB,EAAE,gBAAgB;iBACpC;aACF;YACD,OAAO,EAAE;gBACP,gBAAgB,EAAE,KAAK;aACxB;SACF,EACD,IAAI,CAAC,UAAU,CAChB,CAAA;QAED,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,uCAAuC;YACvC,MAAM,WAAW,GAAG,IAAI,2BAAgB,CAAC,CAAC,aAAa,CAAC,EAAE;gBACxD,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;aAC1D,CAAC,CAAA;YACF,OAAO,MAAM,WAAW,CAAC,SAAS,CAAC,sBAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;QACpE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CACxB,IAA+B,EAC/B,oBAAoB,GAAG,IAAI;QAE3B,sDAAsD;QACtD,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvD,oBAAoB;gBAClB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;gBACpD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;SACzD,CAAC,CAAA;QAEF,uDAAuD;QACvD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,MAAM,KAAK,GAAG,kBAAkB,EAAE,YAAY,IAAI,EAAE,CAAA;QACpD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CACvB,IAA8B,EAC9B,oBAAoB,GAAG,IAAI;QAE3B,sDAAsD;QACtD,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvD,oBAAoB;gBAClB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;gBACpC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;SACxD,CAAC,CAAA;QAEF,6BAA6B;QAC7B,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAU,CAAC,CACnE,CAAA;QAED,wCAAwC;QACxC,MAAM,KAAK,GAAG,kBAAkB,EAAE,YAAY,IAAI,EAAE,CAAA;QAEpD,kEAAkE;QAClE,OAAO,KAAK,CAAC,GAAG,CACd,CAAC,IAAI,EAAE,EAAE,CACP,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CACvE,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,2BAA2B,CAC/B,YAA0B;QAE1B,wBAAwB;QACxB,MAAM,cAAc,GAAG,IAAI,yBAAc,CAAC;YACxC,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;SAC1D,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC;YACxC,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE;gBACL,YAAY;aACb;SACF,CAAC,CAAA;QAEF,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAAC,CAAC;QAErF,MAAM,gBAAgB,GAAG,IAAI,0BAAe,CAAC,CAAC,aAAa,CAAC,EAAE;YAC5D,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;YACzD,0CAA0C,EAAE,EAAE;YAC9C,yCAAyC,EAAE,EAAE;YAC7C,+CAA+C,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;SACrE,CAAC,CAAA;QAEF,MAAM,IAAA,+BAAoB,EAAC,KAAK,IAAI,EAAE;YACpC,MAAM,EAAE,GAAG,sBAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACvD,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;YAC9D,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,aAAa,CAAA;YAExE,IAAI,aAAa,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;YACxE,CAAC;YAED,mBAAmB;YACnB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAC5D;gBACE,WAAW,EAAE,oCAAoC;gBACjD,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjC,MAAM,EAAE;oBACN;wBACE,gBAAgB,EAAE,kBAAkB;wBACpC,QAAQ;wBACR,qBAAqB,EAAE,EAAE;qBAC1B;iBACF;gBACD,OAAO,EAAE;oBACP,gBAAgB,EAAE,KAAK;oBACvB,sBAAsB,EAAE,KAAK;oBAC7B,MAAM,EAAE,IAAI;iBACb;aACF,EACD,IAAI,CAAC,UAAU,CAChB,CAAA;YAED,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;YAC1D,CAAC;YAED,MAAM,SAAS,GAAG,sBAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAA;YAE9D,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAChE,IAAI,CAAC,OAAO,CAAC,UAAU,EACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAClB,QAAQ,CACT,CAAA;YAED,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,IAAI,CACzC,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,WAAW,CACzB,CAAA;YAED,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CACnD;gBACE,SAAS,EAAE,mBAAmB,CAAC,SAAS;gBACxC,MAAM,EAAE;oBACN,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;wBAC1B,eAAe,EAAE,eAAe,CAAC,KAAK,EAAE;qBACzC;iBACF;gBACD,OAAO,EAAE;oBACP,sBAAsB,EAAE,KAAK;oBAC7B,MAAM,EAAE,IAAI;iBACb;aACF,EACD,IAAI,CAAC,UAAU,CAChB,CAAA;YAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAC/C,CAAC;YAED,MAAM,gBAAgB,CAAC,SAAS,CAAC,sBAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAA;QACxE,CAAC,EAAE,gBAAgB,CAAC,CAAA;IACtB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,WAAW,CACtB,WAAuB,EACvB,YAAY,GAAG,KAAK,EACpB,KAAK,GAAG,IAAI;QAEZ,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAC3C,WAAW,EACX,YAAY,EACZ,KAAK,CACN,CAAA;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CACtB,OAA4B,EAC5B,QAA8B;QAE9B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAClE,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa,CAAE,WAAsB;QAChD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;IAC9D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAClB,eAAoC;QAEpC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,eAAe,CAAA;QAChE,IAAI,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,CAAA;QAE5D,yGAAyG;QACzG,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,+BAAoB,CAAC,KAAK;gBAC7B,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAA;gBAC/B,SAAS,GAAG,eAAe,CAAC,YAAY,CAAA;gBACxC,UAAU,GAAG,0BAA0B,aAAa,CAAC,IAAI,EAAE,CAAA;gBAC3D,YAAY,GAAG,aAAa,CAAC,OAAO,CAAA;gBACpC,aAAa,GAAG,wBAAwB,CAAA,CAAC,sCAAsC;gBAC/E,MAAK;YACP,KAAK,+BAAoB,CAAC,WAAW;gBACnC,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAA;gBAC/B,SAAS,GAAG,eAAe,CAAC,YAAY,CAAA;gBACxC,UAAU,GAAG,gCAAgC,aAAa,CAAC,IAAI,EAAE,CAAA;gBACjE,YAAY,GAAG,aAAa,CAAC,OAAO,CAAA;gBACpC,aAAa,GAAG,wBAAwB,CAAA,CAAC,sCAAsC;gBAC/E,MAAK;YACP,KAAK,+BAAoB,CAAC,SAAS;gBACjC,IAAI,GAAG,eAAe,CAAC,KAAK,CAAA;gBAC5B,SAAS,GAAG,sDAAsD,CAAA;gBAClE,UAAU,GAAG,sBAAsB,aAAa,CAAC,IAAI,EAAE,CAAA;gBACvD,YAAY,GAAG,aAAa,CAAC,OAAO,CAAA;gBACpC,aAAa,GAAG,wBAAwB,CAAA,CAAC,sCAAsC;gBAC/E,MAAK;YACP,KAAK,+BAAoB,CAAC,SAAS;gBACjC,IAAI,GAAG,eAAe,CAAC,WAAW,CAAA;gBAClC,SAAS,GAAG,sDAAsD,CAAA;gBAClE,UAAU,GAAG,sBAAsB,aAAa,CAAC,IAAI,EAAE,CAAA;gBACvD,YAAY,GAAG,aAAa,CAAC,OAAO,CAAA;gBACpC,aAAa,GAAG,wBAAwB,CAAA,CAAC,sCAAsC;gBAC/E,MAAK;YACP,KAAK,+BAAoB,CAAC,UAAU;gBAClC,IAAI,GAAG,GAAG,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAA;gBACjE,SAAS,GAAG,eAAe,CAAC,YAAY,CAAA;gBACxC,UAAU,GAAG,8BAA8B,aAAa,CAAC,IAAI,EAAE,CAAA;gBAC/D,YAAY,GAAG,aAAa,CAAC,OAAO,CAAA;gBACpC,aAAa,GAAG,uBAAuB,CAAA,CAAC,sCAAsC;gBAC9E,MAAK;YACP,KAAK,+BAAoB,CAAC,UAAU;gBAClC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAA;gBAC3B,SAAS,GAAG,eAAe,CAAC,IAAI,CAAA;gBAChC,UAAU,GAAG,uBAAuB,aAAa,CAAC,IAAI,EAAE,CAAA;gBACxD,YAAY,GAAG,aAAa,CAAC,OAAO,CAAA;gBACpC,aAAa,GAAG,6DAA6D,CAAA,CAAC,iCAAiC;gBAC/G,MAAK;YACP,KAAK,+BAAoB,CAAC,QAAQ;gBAChC,IAAI,GAAG,eAAe,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAA;gBACrE,MAAK;YACP,KAAK,+BAAoB,CAAC,MAAM;gBAC9B,IAAI,GAAG,QAAQ,CAAA;gBACf,SAAS,GAAG,sDAAsD,CAAA;gBAClE,UAAU;oBACR,+DAA+D,CAAA;gBACjE,YAAY,GAAG,sDAAsD,CAAA;gBACrE,aAAa,GAAG,6DAA6D,CAAA,CAAC,iCAAiC;gBAC/G,MAAK;YACP,KAAK,+BAAoB,CAAC,IAAI;gBAC5B,IAAI,GAAG,KAAK,CAAA;gBACZ,SAAS,GAAG,sDAAsD,CAAA;gBAClE,UAAU,GAAG,qDAAqD,CAAA;gBAClE,YAAY,GAAG,sDAAsD,CAAA;gBACrE,aAAa,GAAG,6DAA6D,CAAA,CAAC,iCAAiC;gBAC/G,MAAK;YACP,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,MAAM,GAAG,cAAc,CAAC,yBAAyB,CACrD,IAAI,EACJ,eAAe,EACf,aAAa,CACd,CAAA;gBACD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;gBAClB,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;gBAC5B,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;gBAC9B,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;gBAClC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;gBACpC,MAAK;YACP,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI;YACJ,SAAS;YACT,cAAc,EACZ,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAChC,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK;gBAClD,CAAC,CAAC,EAAE;YACR,WAAW,EAAE,eAAe,CAAC,OAAO;YACpC,YAAY;YACZ,UAAU;YACV,aAAa;SACd,CAAA;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,QAAQ,CAAE,KAAU;QACjC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAA;IAC9D,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,yBAAyB,CACtC,IAAY,EACZ,eAAoC,EACpC,aAAkB;QAQlB,qDAAqD;QACrD,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAA;QAC3C,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAA;QACzC,MAAM,QAAQ,GACZ,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrE,CAAC,CAAC,GAAG,SAAS,IAAI,QAAQ,EAAE;YAC5B,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAClC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACjC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,SAAS,CAAA;QAEnB,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;YACxD,CAAC,CAAC,eAAe,CAAC,IAAI;YACtB,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC;gBACjD,CAAC,CAAC,eAAe,CAAC,QAAQ;gBAC1B,CAAC,CAAC,CAAC,QAAQ;oBACT,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;wBAC7C,CAAC,CAAC,eAAe,CAAC,KAAK;wBACvB,CAAC,CAAC,0BAAe,CAAC,IAAI,CAAC,CAAC,CAAA;QAEhC,sDAAsD;QACtD,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;YACrE,CAAC,CAAC,eAAe,CAAC,YAAY;YAC9B,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC;gBAC/C,CAAC,CAAC,eAAe,CAAC,MAAM;gBACxB,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;oBAC7C,CAAC,CAAC,eAAe,CAAC,IAAI;oBACtB,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;wBAC9C,CAAC,CAAC,eAAe,CAAC,KAAK;wBACvB,CAAC,CAAC,0BAAe,CAAC,SAAS,CAAA;QAEnC,6BAA6B;QAC7B,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;YAC7D,CAAC,CAAC,GAAG,IAAI,iBAAiB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YACtD,CAAC,CAAC,0BAAe,CAAC,UAAU,CAAA;QAE9B,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;YAClE,CAAC,CAAC,aAAa,CAAC,OAAO;YACvB,CAAC,CAAC,0BAAe,CAAC,YAAY,CAAA;QAChC,MAAM,aAAa,GAAG,0BAAe,CAAC,aAAa,CAAA;QAEnD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,CAAA;IACrE,CAAC;CACF;AA3dD,wCA2dC"}
@@ -8,7 +8,7 @@ exports.defaultIdentity = {
8
8
  abbreviatedKey: '',
9
9
  badgeIconURL: 'XUUV39HVPkpmMzYNTx7rpKzJvXfeiVyQWg2vfSpjBAuhunTCA9uG',
10
10
  badgeLabel: 'Not verified by anyone you trust.',
11
- badgeClickURL: 'https://projectbabbage.com/docs/unknown-identity'
11
+ badgeClickURL: 'https://bsv-blockchain.github.io/ts-sdk/reference/identity/'
12
12
  };
13
13
  exports.DEFAULT_IDENTITY_CLIENT_OPTIONS = {
14
14
  protocolID: [1, 'identity'],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/identity/types/index.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAwB;IAClD,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,sDAAsD;IACjE,WAAW,EAAE,EAAE;IACf,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,sDAAsD;IACpE,UAAU,EAAE,mCAAmC;IAC/C,aAAa,EAAE,kDAAkD;CAClE,CAAA;AAQY,QAAA,+BAA+B,GAA0B;IACpE,UAAU,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC;IAC3B,KAAK,EAAE,GAAG;IACV,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;CACf,CAAA;AAYY,QAAA,oBAAoB,GAAG;IAClC,UAAU,EAAE,8CAA8C;IAC1D,WAAW,EAAE,8CAA8C;IAC3D,SAAS,EAAE,8CAA8C;IACzD,KAAK,EAAE,8CAA8C;IACrD,UAAU,EAAE,8CAA8C;IAC1D,SAAS,EAAE,8CAA8C;IACzD,MAAM,EAAE,8CAA8C;IACtD,IAAI,EAAE,8CAA8C;IACpD,QAAQ,EAAE,8CAA8C;CACzD,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/identity/types/index.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAwB;IAClD,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,sDAAsD;IACjE,WAAW,EAAE,EAAE;IACf,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,sDAAsD;IACpE,UAAU,EAAE,mCAAmC;IAC/C,aAAa,EAAE,6DAA6D;CAC7E,CAAA;AAQY,QAAA,+BAA+B,GAA0B;IACpE,UAAU,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC;IAC3B,KAAK,EAAE,GAAG;IACV,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;CACf,CAAA;AAYY,QAAA,oBAAoB,GAAG;IAClC,UAAU,EAAE,8CAA8C;IAC1D,WAAW,EAAE,8CAA8C;IAC3D,SAAS,EAAE,8CAA8C;IACzD,KAAK,EAAE,8CAA8C;IACrD,UAAU,EAAE,8CAA8C;IAC1D,SAAS,EAAE,8CAA8C;IACzD,MAAM,EAAE,8CAA8C;IACtD,IAAI,EAAE,8CAA8C;IACpD,QAAQ,EAAE,8CAA8C;CACzD,CAAA"}
@@ -33,40 +33,84 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.StorageUploader = void 0;
36
+ exports.StorageUploader = exports.RenewResiliencyError = exports.DEFAULT_UHRP_SERVERS = void 0;
37
37
  const AuthFetch_js_1 = require("../auth/clients/AuthFetch.js");
38
38
  const StorageUtils = __importStar(require("./StorageUtils.js"));
39
+ /** Default UHRP storage providers used when the caller passes no host list. */
40
+ exports.DEFAULT_UHRP_SERVERS = [
41
+ 'https://nanostore.babbage.systems',
42
+ 'https://bsv-storage-cloudflare.dev-a3e.workers.dev'
43
+ ];
39
44
  /**
40
- * The StorageUploader class provides client-side methods for:
41
- * - Uploading files with a specified retention period
42
- * - Finding file metadata by UHRP URL
43
- * - Listing all user uploads
44
- * - Renewing an existing advertisement's expiry time
45
+ * Thrown by `renewFile` when successful renewals fall below the resilience
46
+ * threshold. Per-host outcomes are attached so callers can reconcile which
47
+ * providers were billed.
48
+ */
49
+ class RenewResiliencyError extends Error {
50
+ constructor(message, results, requiredSuccesses, successCount) {
51
+ super(message);
52
+ this.name = 'RenewResiliencyError';
53
+ this.results = results;
54
+ this.requiredSuccesses = requiredSuccesses;
55
+ this.successCount = successCount;
56
+ }
57
+ }
58
+ exports.RenewResiliencyError = RenewResiliencyError;
59
+ /**
60
+ * Client for publishing, finding, listing, and renewing UHRP-hosted files
61
+ * across one or more storage providers.
45
62
  */
46
63
  class StorageUploader {
47
- /**
48
- * Creates a new StorageUploader instance.
49
- * @param {UploaderConfig} config - An object containing the storage server's URL and a wallet interface
50
- */
51
64
  constructor(config) {
52
- this.baseURL = config.storageURL;
65
+ const legacySingleHost = config.storageURLs === undefined && typeof config.storageURL === 'string';
66
+ let hosts;
67
+ if (config.storageURLs !== undefined) {
68
+ if (config.storageURLs.length === 0) {
69
+ throw new Error('StorageUploader requires at least one storage provider.');
70
+ }
71
+ hosts = [...config.storageURLs];
72
+ }
73
+ else if (typeof config.storageURL === 'string') {
74
+ hosts = [config.storageURL];
75
+ }
76
+ else {
77
+ hosts = [...exports.DEFAULT_UHRP_SERVERS];
78
+ }
79
+ const requestedLevel = config.resilienceLevel ?? 1;
80
+ if (!Number.isInteger(requestedLevel) || requestedLevel < 1) {
81
+ throw new Error('resilienceLevel must be a positive integer.');
82
+ }
83
+ // Legacy `storageURL` callers must not start demanding extra replicas.
84
+ this.resilienceLevel = legacySingleHost ? 1 : requestedLevel;
85
+ this.hosts = hosts;
86
+ this.baseURL = hosts[0];
53
87
  this.authFetch = new AuthFetch_js_1.AuthFetch(config.wallet);
54
88
  }
55
- /**
56
- * Requests information from the server to upload a file (including presigned URL and headers).
57
- * @private
58
- * @param {number} fileSize - The size of the file, in bytes
59
- * @param {number} retentionPeriod - The desired hosting time, in minutes
60
- * @returns {Promise<{ uploadURL: string; requiredHeaders: Record<string, string>; amount?: number }>}
61
- * @throws {Error} If the server returns a non-OK response or an error status
62
- */
63
- async getUploadInfo(fileSize, retentionPeriod) {
64
- const url = `${this.baseURL}/upload`;
65
- const body = { fileSize, retentionPeriod };
66
- const response = await this.authFetch.fetch(url, {
89
+ /** Returns `null` when the provider is unreachable or errors out. */
90
+ async getQuote(host, fileSize, retentionPeriod) {
91
+ try {
92
+ const response = await fetch(`${host}/quote`, {
93
+ method: 'POST',
94
+ headers: { 'Content-Type': 'application/json' },
95
+ body: JSON.stringify({ fileSize, retentionPeriod })
96
+ });
97
+ if (!response.ok)
98
+ return null;
99
+ const data = await response.json();
100
+ if (data.status === 'error' || typeof data.quote !== 'number')
101
+ return null;
102
+ return { host, amount: data.quote };
103
+ }
104
+ catch {
105
+ return null;
106
+ }
107
+ }
108
+ /** Drives the authenticated `/upload` route; `AuthFetch` handles the 402 payment flow. */
109
+ async getUploadURL(host, fileSize, retentionPeriod) {
110
+ const response = await this.authFetch.fetch(`${host}/upload`, {
67
111
  method: 'POST',
68
112
  headers: { 'Content-Type': 'application/json' },
69
- body: JSON.stringify(body)
113
+ body: JSON.stringify({ fileSize, retentionPeriod })
70
114
  });
71
115
  if (!response.ok) {
72
116
  throw new Error(`Upload info request failed: HTTP ${response.status}`);
@@ -81,63 +125,101 @@ class StorageUploader {
81
125
  amount: data.amount
82
126
  };
83
127
  }
84
- /**
85
- * Performs the actual file upload (HTTP PUT) to the presigned URL returned by the server.
86
- * @private
87
- * @param {string} uploadURL - The presigned URL where the file is to be uploaded
88
- * @param {UploadableFile} file - The file to upload, including its raw data and MIME type
89
- * @param {Record<string, string>} requiredHeaders - Additional headers required by the server (e.g. content-length)
90
- * @returns {Promise<UploadFileResult>} An object indicating whether publishing was successful and the resulting UHRP URL
91
- * @throws {Error} If the server returns a non-OK response
92
- */
93
- async uploadFile(uploadURL, file, requiredHeaders) {
94
- const body = file.data instanceof Uint8Array ? file.data : Uint8Array.from(file.data);
128
+ async putFile(uploadURL, data, contentType, requiredHeaders) {
95
129
  const response = await fetch(uploadURL, {
96
130
  method: 'PUT',
97
- body: body,
131
+ body: data,
98
132
  headers: {
99
- 'Content-Type': file.type,
133
+ 'Content-Type': contentType,
100
134
  ...requiredHeaders
101
135
  }
102
136
  });
103
137
  if (!response.ok) {
104
138
  throw new Error(`File upload failed: HTTP ${response.status}`);
105
139
  }
106
- const uhrpURL = StorageUtils.getURLForFile(body);
140
+ }
141
+ /**
142
+ * Collects quotes in parallel batches, shrinking each batch to only the
143
+ * remaining quotes still needed so we never over-query once the quote
144
+ * budget is satisfied.
145
+ */
146
+ async collectQuotes(fileSize, retentionPeriod, maxNeeded) {
147
+ const quotes = [];
148
+ let index = 0;
149
+ while (index < this.hosts.length && quotes.length < maxNeeded) {
150
+ const remaining = maxNeeded - quotes.length;
151
+ const batch = this.hosts.slice(index, index + remaining);
152
+ index += batch.length;
153
+ const results = await Promise.all(batch.map(async (host) => await this.getQuote(host, fileSize, retentionPeriod)));
154
+ for (const quote of results) {
155
+ if (quote !== null && quotes.length < maxNeeded) {
156
+ quotes.push(quote);
157
+ }
158
+ }
159
+ }
160
+ return quotes;
161
+ }
162
+ /**
163
+ * Queries the unauthenticated `/quote` endpoint on up to `2 * resilienceLevel`
164
+ * providers and returns the cheapest-first quote list plus the aggregate
165
+ * cost `publishFile` would pay. No provider is billed.
166
+ */
167
+ async estimateCost(params) {
168
+ const { fileSize, retentionPeriod } = params;
169
+ const quotes = await this.collectQuotes(fileSize, retentionPeriod, this.resilienceLevel * 2);
170
+ quotes.sort((a, b) => a.amount - b.amount);
171
+ const meetsResilienceThreshold = quotes.length >= this.resilienceLevel;
172
+ const budget = meetsResilienceThreshold ? quotes.slice(0, this.resilienceLevel) : quotes;
173
+ const totalForResilience = budget.reduce((sum, q) => sum + q.amount, 0);
107
174
  return {
108
- published: true,
109
- uhrpURL
175
+ quotes: quotes.map(q => ({ host: q.host, amount: q.amount })),
176
+ resilienceLevel: this.resilienceLevel,
177
+ totalForResilience,
178
+ meetsResilienceThreshold
110
179
  };
111
180
  }
112
181
  /**
113
- * Publishes a file to the storage server with the specified retention period.
114
- *
115
- * This will:
116
- * 1. Request an upload URL from the server.
117
- * 2. Perform an HTTP PUT to upload the file’s raw bytes.
118
- * 3. Return a UHRP URL referencing the file once published.
119
- *
120
- * @param {Object} params
121
- * @param {UploadableFile} params.file - The file data + type
122
- * @param {number} params.retentionPeriod - Number of minutes to host the file
123
- * @returns {Promise<UploadFileResult>} An object with the file's UHRP URL
124
- * @throws {Error} If the server or upload step returns a non-OK response
182
+ * Publishes a file across the cheapest configured providers, falling
183
+ * through to the next-cheapest quote if a paid upload fails. Throws when
184
+ * the resilience threshold cannot be met.
125
185
  */
126
186
  async publishFile(params) {
127
187
  const { file, retentionPeriod } = params;
128
188
  const data = file.data instanceof Uint8Array ? file.data : Uint8Array.from(file.data);
129
189
  const fileSize = data.byteLength;
130
- const { uploadURL, requiredHeaders } = await this.getUploadInfo(fileSize, retentionPeriod);
131
- return await this.uploadFile(uploadURL, { data, type: file.type }, requiredHeaders);
190
+ const estimate = await this.estimateCost({ fileSize, retentionPeriod });
191
+ if (!estimate.meetsResilienceThreshold) {
192
+ throw new Error(`Resiliency threshold of ${this.resilienceLevel} could not be met: ` +
193
+ `only ${estimate.quotes.length} of ${this.hosts.length} provider(s) responded with quotes.`);
194
+ }
195
+ const uhrpURL = StorageUtils.getURLForFile(data);
196
+ const hostedBy = [];
197
+ const failures = [];
198
+ for (const quote of estimate.quotes) {
199
+ if (hostedBy.length >= this.resilienceLevel)
200
+ break;
201
+ try {
202
+ const { uploadURL, requiredHeaders } = await this.getUploadURL(quote.host, fileSize, retentionPeriod);
203
+ await this.putFile(uploadURL, data, file.type, requiredHeaders);
204
+ hostedBy.push(quote.host);
205
+ }
206
+ catch (e) {
207
+ failures.push({ host: quote.host, error: e.message });
208
+ }
209
+ }
210
+ if (hostedBy.length < this.resilienceLevel) {
211
+ const detail = failures.map(f => `${f.host}: ${f.error}`).join('; ');
212
+ throw new Error(`Resiliency threshold of ${this.resilienceLevel} could not be met: ` +
213
+ `only ${hostedBy.length} upload(s) succeeded. Failures — ${detail}`);
214
+ }
215
+ return {
216
+ published: true,
217
+ uhrpURL,
218
+ hostedBy
219
+ };
132
220
  }
133
- /**
134
- * Retrieves metadata for a file matching the given UHRP URL from the `/find` route.
135
- * @param {string} uhrpUrl - The UHRP URL, e.g. "uhrp://abcd..."
136
- * @returns {Promise<FindFileData>} An object with file name, size, MIME type, and expiry time
137
- * @throws {Error} If the server or the route returns an error
138
- */
139
- async findFile(uhrpUrl) {
140
- const url = new URL(`${this.baseURL}/find`);
221
+ async findFileAtHost(host, uhrpUrl) {
222
+ const url = new URL(`${host}/find`);
141
223
  url.searchParams.set('uhrpUrl', uhrpUrl);
142
224
  const response = await this.authFetch.fetch(url.toString(), {
143
225
  method: 'GET'
@@ -153,59 +235,196 @@ class StorageUploader {
153
235
  }
154
236
  return data.data;
155
237
  }
156
- /**
157
- * Lists all advertisements belonging to the user from the `/list` route.
158
- * @returns {Promise<any>} The array of uploads returned by the server
159
- * @throws {Error} If the server or the route returns an error
160
- */
161
- async listUploads() {
162
- const url = `${this.baseURL}/list`;
163
- const response = await this.authFetch.fetch(url, {
164
- method: 'GET'
238
+ async renewFileAtHost(host, uhrpUrl, additionalMinutes) {
239
+ const response = await this.authFetch.fetch(`${host}/renew`, {
240
+ method: 'POST',
241
+ headers: { 'Content-Type': 'application/json' },
242
+ body: JSON.stringify({ uhrpUrl, additionalMinutes })
165
243
  });
166
244
  if (!response.ok) {
167
- throw new Error(`listUploads request failed: HTTP ${response.status}`);
245
+ throw new Error(`renewFile request failed: HTTP ${response.status}`);
168
246
  }
169
247
  const data = await response.json();
170
248
  if (data.status === 'error') {
171
249
  const errCode = data.code ?? 'unknown-code';
172
250
  const errDesc = data.description ?? 'no-description';
173
- throw new Error(`listUploads returned an error: ${errCode} - ${errDesc}`);
251
+ throw new Error(`renewFile returned an error: ${errCode} - ${errDesc}`);
174
252
  }
175
- return data.uploads;
253
+ return {
254
+ status: data.status,
255
+ prevExpiryTime: data.prevExpiryTime,
256
+ newExpiryTime: data.newExpiryTime,
257
+ amount: data.amount
258
+ };
259
+ }
260
+ /** Intersects `hostedBy` with the configured host set; throws when empty. */
261
+ resolveTargets(hostedBy) {
262
+ if (hostedBy === undefined)
263
+ return this.hosts;
264
+ const configured = new Set(this.hosts);
265
+ const intersection = hostedBy.filter(h => configured.has(h));
266
+ if (intersection.length === 0) {
267
+ throw new Error('hostedBy did not intersect any configured provider. ' +
268
+ 'Provide hosts that were also passed to the StorageUploader constructor.');
269
+ }
270
+ return intersection;
176
271
  }
177
272
  /**
178
- * Renews the hosting time for an existing file advertisement identified by uhrpUrl.
179
- * Calls the `/renew` route to add `additionalMinutes` to the GCS customTime
180
- * and re-mint the advertisement token on-chain.
181
- *
182
- * @param {string} uhrpUrl - The UHRP URL of the file (e.g., "uhrp://abcd1234...")
183
- * @param {number} additionalMinutes - The number of minutes to extend
184
- * @returns {Promise<RenewFileResult>} An object with the new and previous expiry times, plus any cost
185
- * @throws {Error} If the request fails or the server returns an error
273
+ * Fans `/find` out across configured hosts (UHRP storage is host-local,
274
+ * so any one host may not know the file) and returns the record with the
275
+ * longest remaining expiry. Single-host configurations preserve the
276
+ * legacy error-message contract verbatim.
186
277
  */
187
- async renewFile(uhrpUrl, additionalMinutes) {
188
- const url = `${this.baseURL}/renew`;
189
- const body = { uhrpUrl, additionalMinutes };
190
- const response = await this.authFetch.fetch(url, {
191
- method: 'POST',
192
- headers: { 'Content-Type': 'application/json' },
193
- body: JSON.stringify(body)
194
- });
278
+ async findFile(uhrpUrl, options = {}) {
279
+ const targets = this.resolveTargets(options.hostedBy);
280
+ const outcomes = await Promise.all(targets.map(async (host) => {
281
+ try {
282
+ return { ok: true, host, data: await this.findFileAtHost(host, uhrpUrl) };
283
+ }
284
+ catch (e) {
285
+ return { ok: false, host, error: e };
286
+ }
287
+ }));
288
+ const successes = outcomes.flatMap(o => o.ok ? [o] : []);
289
+ if (successes.length === 0) {
290
+ const failures = outcomes.flatMap(o => o.ok ? [] : [o]);
291
+ if (targets.length === 1)
292
+ throw failures[0].error;
293
+ const detail = failures.map(f => `${f.host}: ${f.error.message}`).join('; ');
294
+ throw new Error(`findFile: no configured host reported this UHRP URL — ${detail}`);
295
+ }
296
+ successes.sort((a, b) => b.data.expiryTime - a.data.expiryTime);
297
+ const best = successes[0];
298
+ if (targets.length === 1) {
299
+ return best.data;
300
+ }
301
+ return {
302
+ ...best.data,
303
+ hostedBy: successes.map(s => s.host)
304
+ };
305
+ }
306
+ /**
307
+ * Unions `/list` output across configured hosts, merging duplicate UHRP
308
+ * URLs by the longest expiry observed. One failing host does not hide
309
+ * the rest. Single-host configurations preserve the legacy error contract.
310
+ */
311
+ async listUploads(options = {}) {
312
+ const targets = this.resolveTargets(options.hostedBy);
313
+ const outcomes = await Promise.all(targets.map(async (host) => {
314
+ try {
315
+ return { ok: true, host, data: await this.listUploadsAtHost(host) };
316
+ }
317
+ catch (e) {
318
+ return { ok: false, host, error: e };
319
+ }
320
+ }));
321
+ const successes = outcomes.flatMap(o => o.ok ? [o] : []);
322
+ if (successes.length === 0) {
323
+ const failures = outcomes.flatMap(o => o.ok ? [] : [o]);
324
+ if (targets.length === 1)
325
+ throw failures[0].error;
326
+ const detail = failures.map(f => `${f.host}: ${f.error.message}`).join('; ');
327
+ throw new Error(`listUploads: no configured host returned a listing — ${detail}`);
328
+ }
329
+ if (targets.length === 1) {
330
+ return successes[0].data;
331
+ }
332
+ const merged = new Map();
333
+ for (const { host, data } of successes) {
334
+ if (!Array.isArray(data))
335
+ continue;
336
+ for (const entry of data) {
337
+ const key = entry?.uhrpUrl;
338
+ if (typeof key !== 'string')
339
+ continue;
340
+ const rawExpiry = Number(entry.expiryTime);
341
+ const expiry = Number.isFinite(rawExpiry) ? rawExpiry : 0;
342
+ const existing = merged.get(key);
343
+ if (existing === undefined) {
344
+ merged.set(key, { uhrpUrl: key, expiryTime: expiry, hostedBy: [host] });
345
+ }
346
+ else {
347
+ existing.expiryTime = Math.max(existing.expiryTime, expiry);
348
+ if (!existing.hostedBy.includes(host))
349
+ existing.hostedBy.push(host);
350
+ }
351
+ }
352
+ }
353
+ return Array.from(merged.values());
354
+ }
355
+ async listUploadsAtHost(host) {
356
+ const response = await this.authFetch.fetch(`${host}/list`, { method: 'GET' });
195
357
  if (!response.ok) {
196
- throw new Error(`renewFile request failed: HTTP ${response.status}`);
358
+ throw new Error(`listUploads request failed: HTTP ${response.status}`);
197
359
  }
198
360
  const data = await response.json();
199
361
  if (data.status === 'error') {
200
362
  const errCode = data.code ?? 'unknown-code';
201
363
  const errDesc = data.description ?? 'no-description';
202
- throw new Error(`renewFile returned an error: ${errCode} - ${errDesc}`);
364
+ throw new Error(`listUploads returned an error: ${errCode} - ${errDesc}`);
365
+ }
366
+ return data.uploads;
367
+ }
368
+ /**
369
+ * Fans `/renew` out across every configured host (each provider owns its
370
+ * own advertisement, so a single-host renewal would degrade resilience
371
+ * over time). Hosts that do not carry the file are not billed. Throws
372
+ * {@link RenewResiliencyError} when successful renewals fall below the
373
+ * resilience threshold.
374
+ */
375
+ async renewFile(uhrpUrl, additionalMinutes, options = {}) {
376
+ const targets = this.resolveTargets(options.hostedBy);
377
+ // Single-host: pass the server's error through unchanged for legacy callers.
378
+ if (targets.length === 1) {
379
+ const data = await this.renewFileAtHost(targets[0], uhrpUrl, additionalMinutes);
380
+ return {
381
+ status: data.status,
382
+ prevExpiryTime: data.prevExpiryTime,
383
+ newExpiryTime: data.newExpiryTime,
384
+ amount: data.amount
385
+ };
203
386
  }
387
+ const perHost = await Promise.all(targets.map(async (host) => {
388
+ try {
389
+ const data = await this.renewFileAtHost(host, uhrpUrl, additionalMinutes);
390
+ return {
391
+ result: {
392
+ host,
393
+ status: 'success',
394
+ prevExpiryTime: data.prevExpiryTime,
395
+ newExpiryTime: data.newExpiryTime,
396
+ amount: data.amount
397
+ }
398
+ };
399
+ }
400
+ catch (e) {
401
+ const err = e;
402
+ return {
403
+ result: { host, status: 'error', error: err.message },
404
+ raw: err
405
+ };
406
+ }
407
+ }));
408
+ const outcomes = perHost.map(p => p.result);
409
+ const successes = outcomes.filter(o => o.status === 'success');
410
+ // Clamp to targets.length so an explicit `hostedBy` smaller than the
411
+ // configured resilience level doesn't trigger an impossible threshold.
412
+ const requiredSuccesses = Math.min(targets.length, this.resilienceLevel);
413
+ if (successes.length < requiredSuccesses) {
414
+ const detail = outcomes
415
+ .map(o => `${o.host}: ${o.status === 'success' ? 'renewed' : (o.error ?? 'unknown')}`)
416
+ .join('; ');
417
+ throw new RenewResiliencyError(`renewFile: only ${successes.length} of ${requiredSuccesses} required hosts renewed — ${detail}`, outcomes, requiredSuccesses, successes.length);
418
+ }
419
+ successes.sort((a, b) => (b.newExpiryTime ?? 0) - (a.newExpiryTime ?? 0));
420
+ const primary = successes[0];
421
+ const totalAmount = successes.reduce((sum, s) => sum + (s.amount ?? 0), 0);
204
422
  return {
205
- status: data.status,
206
- prevExpiryTime: data.prevExpiryTime,
207
- newExpiryTime: data.newExpiryTime,
208
- amount: data.amount
423
+ status: 'success',
424
+ prevExpiryTime: primary.prevExpiryTime,
425
+ newExpiryTime: primary.newExpiryTime,
426
+ amount: totalAmount,
427
+ results: outcomes
209
428
  };
210
429
  }
211
430
  }