@bsv/wallet-toolbox 1.1.12 → 1.1.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 (157) hide show
  1. package/.github/workflows/push.yaml +2 -2
  2. package/README.md +3 -22
  3. package/docs/README.md +16 -10
  4. package/docs/client.md +490 -382
  5. package/docs/open-rpc/index.html +46 -0
  6. package/docs/services.md +236 -211
  7. package/docs/setup.md +51 -34
  8. package/docs/storage.md +30 -5
  9. package/docs/wallet.md +490 -382
  10. package/out/src/SetupClient.d.ts +9 -0
  11. package/out/src/SetupClient.d.ts.map +1 -1
  12. package/out/src/SetupClient.js +34 -18
  13. package/out/src/SetupClient.js.map +1 -1
  14. package/out/src/Wallet.d.ts +6 -0
  15. package/out/src/Wallet.d.ts.map +1 -1
  16. package/out/src/Wallet.js +57 -0
  17. package/out/src/Wallet.js.map +1 -1
  18. package/out/src/sdk/WalletServices.interfaces.d.ts +18 -13
  19. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  20. package/out/src/services/Services.d.ts +4 -11
  21. package/out/src/services/Services.d.ts.map +1 -1
  22. package/out/src/services/Services.js +19 -37
  23. package/out/src/services/Services.js.map +1 -1
  24. package/out/src/services/__tests/ARC.test.d.ts +2 -0
  25. package/out/src/services/__tests/ARC.test.d.ts.map +1 -0
  26. package/out/src/services/__tests/ARC.test.js +98 -0
  27. package/out/src/services/__tests/ARC.test.js.map +1 -0
  28. package/out/src/services/__tests/arcServices.test.d.ts +2 -0
  29. package/out/src/services/__tests/arcServices.test.d.ts.map +1 -0
  30. package/out/src/services/__tests/arcServices.test.js +7 -0
  31. package/out/src/services/__tests/arcServices.test.js.map +1 -0
  32. package/out/src/services/__tests/postBeef.test.js +45 -7
  33. package/out/src/services/__tests/postBeef.test.js.map +1 -1
  34. package/out/src/services/createDefaultWalletServicesOptions.d.ts +1 -0
  35. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  36. package/out/src/services/createDefaultWalletServicesOptions.js +16 -4
  37. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  38. package/out/src/services/providers/ARC.d.ts +91 -0
  39. package/out/src/services/providers/ARC.d.ts.map +1 -0
  40. package/out/src/services/providers/ARC.js +192 -0
  41. package/out/src/services/providers/ARC.js.map +1 -0
  42. package/out/src/services/providers/SdkWhatsOnChain.d.ts +21 -0
  43. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -0
  44. package/out/src/services/providers/SdkWhatsOnChain.js +67 -0
  45. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -0
  46. package/out/src/services/providers/WhatsOnChain.d.ts +35 -0
  47. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -0
  48. package/out/src/services/providers/WhatsOnChain.js +266 -0
  49. package/out/src/services/providers/WhatsOnChain.js.map +1 -0
  50. package/out/src/services/providers/__tests/WhatsOnChain.test.d.ts +2 -0
  51. package/out/src/services/providers/__tests/WhatsOnChain.test.d.ts.map +1 -0
  52. package/out/src/services/providers/__tests/WhatsOnChain.test.js +176 -0
  53. package/out/src/services/providers/__tests/WhatsOnChain.test.js.map +1 -0
  54. package/out/src/signer/methods/createAction.js +3 -3
  55. package/out/src/signer/methods/createAction.js.map +1 -1
  56. package/out/src/signer/methods/signAction.js +1 -1
  57. package/out/src/signer/methods/signAction.js.map +1 -1
  58. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  59. package/out/src/storage/methods/createAction.js +9 -2
  60. package/out/src/storage/methods/createAction.js.map +1 -1
  61. package/out/src/storage/methods/generateChange.d.ts +12 -1
  62. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  63. package/out/src/storage/methods/generateChange.js +24 -1
  64. package/out/src/storage/methods/generateChange.js.map +1 -1
  65. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  66. package/out/src/storage/methods/processAction.js +1 -1
  67. package/out/src/storage/methods/processAction.js.map +1 -1
  68. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +0 -1
  69. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -1
  70. package/out/src/storage/sync/StorageMySQLDojoReader.js +1 -1
  71. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  72. package/out/src/utility/{ScriptTemplateSABPPP.d.ts → ScriptTemplateBRC29.d.ts} +6 -6
  73. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -0
  74. package/out/src/utility/{ScriptTemplateSABPPP.js → ScriptTemplateBRC29.js} +4 -4
  75. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -0
  76. package/out/src/utility/index.all.d.ts +1 -1
  77. package/out/src/utility/index.all.d.ts.map +1 -1
  78. package/out/src/utility/index.all.js +1 -1
  79. package/out/src/utility/index.all.js.map +1 -1
  80. package/out/src/utility/index.client.d.ts +1 -1
  81. package/out/src/utility/index.client.d.ts.map +1 -1
  82. package/out/src/utility/index.client.js +1 -1
  83. package/out/src/utility/index.client.js.map +1 -1
  84. package/out/src/utility/utilityHelpers.js +1 -1
  85. package/out/src/utility/utilityHelpers.js.map +1 -1
  86. package/out/test/Wallet/StorageClient/storageClient.man.test.js +22 -3
  87. package/out/test/Wallet/StorageClient/storageClient.man.test.js.map +1 -1
  88. package/out/test/Wallet/live/walletLive.man.test.js +2 -2
  89. package/out/test/Wallet/live/walletLive.man.test.js.map +1 -1
  90. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js +40 -0
  91. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js.map +1 -1
  92. package/out/test/services/Services.test.js +0 -31
  93. package/out/test/services/Services.test.js.map +1 -1
  94. package/out/test/utils/TestUtilsWalletStorage.d.ts +26 -18
  95. package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -1
  96. package/out/test/utils/TestUtilsWalletStorage.js +135 -27
  97. package/out/test/utils/TestUtilsWalletStorage.js.map +1 -1
  98. package/out/test/wallet/list/listActions2.test.js +36 -2
  99. package/out/test/wallet/list/listActions2.test.js.map +1 -1
  100. package/out/tsconfig.all.tsbuildinfo +1 -1
  101. package/package.json +5 -7
  102. package/src/SetupClient.ts +41 -21
  103. package/src/Wallet.ts +66 -2
  104. package/src/sdk/WalletServices.interfaces.ts +19 -14
  105. package/src/services/Services.ts +23 -62
  106. package/src/services/__tests/ARC.test.ts +110 -0
  107. package/src/services/__tests/arcServices.test.ts +8 -0
  108. package/src/services/__tests/postBeef.test.ts +47 -9
  109. package/src/services/createDefaultWalletServicesOptions.ts +19 -6
  110. package/src/services/providers/ARC.ts +289 -0
  111. package/src/services/providers/SdkWhatsOnChain.ts +96 -0
  112. package/src/services/providers/WhatsOnChain.ts +369 -0
  113. package/src/services/providers/__tests/WhatsOnChain.test.ts +227 -0
  114. package/src/signer/methods/createAction.ts +4 -4
  115. package/src/signer/methods/signAction.ts +2 -2
  116. package/src/storage/methods/createAction.ts +26 -4
  117. package/src/storage/methods/generateChange.ts +42 -2
  118. package/src/storage/methods/processAction.ts +2 -1
  119. package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +0 -1
  120. package/src/storage/sync/StorageMySQLDojoReader.ts +1 -1
  121. package/src/utility/{ScriptTemplateSABPPP.ts → ScriptTemplateBRC29.ts} +6 -8
  122. package/src/utility/index.all.ts +1 -1
  123. package/src/utility/index.client.ts +1 -1
  124. package/src/utility/utilityHelpers.ts +1 -1
  125. package/test/Wallet/StorageClient/storageClient.man.test.ts +30 -4
  126. package/test/Wallet/live/walletLive.man.test.ts +3 -3
  127. package/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.ts +54 -0
  128. package/test/services/Services.test.ts +0 -30
  129. package/test/utils/TestUtilsWalletStorage.ts +175 -45
  130. package/test/wallet/list/listActions2.test.ts +4 -7
  131. package/out/src/services/__tests/postBeefToArcTaal.test.d.ts +0 -2
  132. package/out/src/services/__tests/postBeefToArcTaal.test.d.ts.map +0 -1
  133. package/out/src/services/__tests/postBeefToArcTaal.test.js +0 -479
  134. package/out/src/services/__tests/postBeefToArcTaal.test.js.map +0 -1
  135. package/out/src/services/__tests/postTxs.test.d.ts +0 -2
  136. package/out/src/services/__tests/postTxs.test.d.ts.map +0 -1
  137. package/out/src/services/__tests/postTxs.test.js +0 -28
  138. package/out/src/services/__tests/postTxs.test.js.map +0 -1
  139. package/out/src/services/providers/arcServices.d.ts +0 -62
  140. package/out/src/services/providers/arcServices.d.ts.map +0 -1
  141. package/out/src/services/providers/arcServices.js +0 -375
  142. package/out/src/services/providers/arcServices.js.map +0 -1
  143. package/out/src/services/providers/whatsonchain.d.ts +0 -17
  144. package/out/src/services/providers/whatsonchain.d.ts.map +0 -1
  145. package/out/src/services/providers/whatsonchain.js +0 -130
  146. package/out/src/services/providers/whatsonchain.js.map +0 -1
  147. package/out/src/utility/ScriptTemplateSABPPP.d.ts.map +0 -1
  148. package/out/src/utility/ScriptTemplateSABPPP.js.map +0 -1
  149. package/out/test/examples/README.man.test.d.ts +0 -2
  150. package/out/test/examples/README.man.test.d.ts.map +0 -1
  151. package/out/test/examples/README.man.test.js +0 -47
  152. package/out/test/examples/README.man.test.js.map +0 -1
  153. package/src/services/__tests/postBeefToArcTaal.test.ts +0 -487
  154. package/src/services/__tests/postTxs.test.ts +0 -28
  155. package/src/services/providers/arcServices.ts +0 -578
  156. package/src/services/providers/whatsonchain.ts +0 -170
  157. package/test/examples/README.man.test.ts +0 -53
@@ -1 +1 @@
1
- {"version":3,"file":"Services.js","sourceRoot":"","sources":["../../../src/services/Services.ts"],"names":[],"mappings":";;;AA+ZA,gDAyBC;AAUD,0DAUC;AA5cD,kCAKiB;AACjB,kDAOwB;AACxB,2DAAuD;AAEvD,6FAAyF;AACzF,iDAAwD;AACxD,yDAIgC;AAChC,2DAKiC;AACjC,2DAGiC;AAEjC,MAAa,QAAQ;IACnB,MAAM,CAAC,oBAAoB,CAAC,KAAgB;QAC1C,OAAO,IAAA,uEAAkC,EAAC,KAAK,CAAC,CAAA;IAClD,CAAC;IAaD,YAAY,cAAqD;QA0RjE,qBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAzRtC,IAAI,CAAC,KAAK;YACR,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAA;QAE5E,IAAI,CAAC,OAAO;YACV,OAAO,cAAc,KAAK,QAAQ;gBAChC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC3C,CAAC,CAAC,cAAc,CAAA;QAEpB,IAAI,CAAC,qBAAqB;YACxB,IAAI,qCAAiB,EAA4B,CAAC,GAAG,CAAC;gBACpD,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,+CAAgC;aAC1C,CAAC,CAAA;QACJ,8HAA8H;QAE9H,IAAI,CAAC,gBAAgB,GAAG,IAAI,qCAAiB,EAAuB,CAAC,GAAG,CAAC;YACvE,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,uCAAwB;SAClC,CAAC,CAAA;QAEF,IAAI,CAAC,eAAe,GAAG,IAAI,qCAAiB,EAAsB,CAAC,GAAG,CAAC;YACrE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAA,kCAAoB,EAC3B,IAAA,qCAAuB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAW,CAAC,CAC9D;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,gBAAgB,GAAG,IAAI,qCAAiB,EAAuB,CAAC,GAAG,CAAC;YACvE,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,IAAA,mCAAqB,EAC5B,IAAA,qCAAuB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAW,CAAC,CAC9D;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,qBAAqB;YACxB,IAAI,qCAAiB,EAA4B,CAAC,GAAG,CAAC;gBACpD,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,4CAA6B;aACvC,CAAC,CAAA;QAEJ,IAAI,CAAC,8BAA8B;YACjC,IAAI,qCAAiB,EAAqC;iBACvD,GAAG,CAAC;gBACH,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,iDAAkC;aAC5C,CAAC;iBACD,GAAG,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,qCAAsB,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YAC3B,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAClC,qBAAqB,EACrB,4CAA4C,CAC7C,CAAA;QACH,OAAO,IAAI,sCAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,MAAM,IAAA,oCAAqB,EACxD,IAAI,CAAC,OAAO,CAAC,eAAe,EAC5B,IAAI,CAAC,OAAO,CAAC,cAAc,CAC5B,CAAA;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAA+B,EAC/B,IAA4B;QAE5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC9C,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAC9B,IAAI,CAAC,OAAO,CAAC,eAAe,CAC7B,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAA;QAEtC,IAAI,KAAJ,IAAI,GAAK,KAAK,EAAA;QACd,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAA;IACzC,CAAC;IACD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAA;IACpC,CAAC;IACD,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAA;IACnC,CAAC;IACD,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAA;IACpC,CAAC;IACD,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,YAA4C,EAC5C,OAAiB;QAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAA;QAC3C,IAAI,OAAO;YAAE,QAAQ,CAAC,IAAI,EAAE,CAAA;QAE5B,IAAI,EAAE,GAA4B;YAChC,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,IAAI,kBAAG,CAAC,aAAa,CAAC,wBAAwB,CAAC;YACtD,OAAO,EAAE,EAAE;SACZ,CAAA;QAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;gBAChC,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;gBACzD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC3B,EAAE,GAAG,CAAC,CAAA;oBACN,MAAK;gBACP,CAAC;gBACD,QAAQ,CAAC,IAAI,EAAE,CAAA;YACjB,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAK;YAClC,MAAM,IAAA,mBAAI,EAAC,IAAI,CAAC,CAAA;QAClB,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,IAAU,EAAE,KAAe;QACvC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1B,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACnD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YAC1C,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CACH,CAAA;QAED,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAU,EAAE,KAAe;QACxC,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,CACxB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACpD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YAC1C,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CACH,CAAA;QAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;YAC1C,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACtC,CAAC;QAED,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAiB;QAC5C,IAAI,OAAO;YAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAA;QAEzC,MAAM,EAAE,GAAuB,EAAE,IAAI,EAAE,CAAA;QAEvC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAA;YAC7C,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YACzC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,IAAA,uBAAQ,EAAC,IAAA,6BAAc,EAAC,CAAC,CAAC,KAAM,CAAC,CAAC,CAAA;gBAC/C,wCAAwC;gBACxC,IAAI,IAAI,KAAK,IAAA,uBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,oCAAoC;oBACpC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;oBAClB,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;oBAChB,EAAE,CAAC,KAAK,GAAG,SAAS,CAAA;oBACpB,MAAK;gBACP,CAAC;gBACD,CAAC,CAAC,KAAK,GAAG,IAAI,kBAAG,CAAC,aAAa,CAC7B,iBAAiB,IAAI,kCAAkC,IAAI,EAAE,CAC9D,CAAA;gBACD,CAAC,CAAC,KAAK,GAAG,SAAS,CAAA;YACrB,CAAC;YACD,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK;gBACnC,2CAA2C;gBAC3C,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;YAEpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAA;QAC9B,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAI,MAAwB;QAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YAC3B,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAClC,qBAAqB,EACrB,mCAAmC,CACpC,CAAA;QACH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,CAAC,GAAM,MAAM,MAAM,EAAE,CAAA;gBAC3B,OAAO,CAAC,CAAA;YACV,CAAC;YAAC,OAAO,EAAW,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,kBAAG,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;gBACzC,IAAI,CAAC,CAAC,IAAI,IAAI,YAAY;oBAAE,MAAM,EAAE,CAAA;YACtC,CAAC;QACH,CAAC;QACD,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAAC,kCAAkC,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACrC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;YAC1E,IAAI,CAAC,MAAM;gBACT,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAClC,MAAM,EACN,iBAAiB,MAAM,oBAAoB,IAAI,CAAC,KAAK,EAAE,CACxD,CAAA;YACH,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAA;QACxC,CAAC,CAAA;QACD,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;YACxB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,aAAa,EAAE,CAAA;QACxD,CAAC,CAAA;QACD,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;YACxB,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;YAC9D,IAAI,CAAC,MAAM;gBACT,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAClC,MAAM,EACN,oBAAoB,IAAI,oBAAoB,IAAI,CAAC,KAAK,EAAE,CACzD,CAAA;YACH,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QACD,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,IAAY,EACZ,OAAiB;QAEjB,IAAI,OAAO;YAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAA;QAE9C,MAAM,EAAE,GAA4B,EAAE,CAAA;QAEtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAA;YAClD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAC/C,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBACjB,oCAAoC;gBACpC,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAA;gBAC5B,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAA;gBACpB,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;gBAChB,EAAE,CAAC,KAAK,GAAG,SAAS,CAAA;gBACpB,MAAK;YACP,CAAC;iBAAM,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK;gBAC7B,2CAA2C;gBAC3C,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;YAEpB,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAA;QACnC,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAID,KAAK,CAAC,uBAAuB,CAC3B,KAA6B,EAC7B,WAAoB;QAEpB,WAAW,KAAX,WAAW,GAAK,IAAI,GAAG,EAAE,GAAG,EAAE,EAAA;QAC9B,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CAAA;QACxD,IAAI,KAAK,EAAE,CAAC;YACV,uDAAuD;YACvD,WAAW,KAAX,WAAW,GAAK,IAAI,GAAG,EAAE,GAAG,EAAE,EAAA;YAC9B,IAAI,KAAK,CAAC,SAAS,GAAG,aAAa;gBAAE,OAAO,KAAK,CAAA;QACnD,CAAC;QAED,mFAAmF;QACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAA;QAE5D,IAAI,EAAqC,CAAA;QAEzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;YAChC,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC5D,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;oBACrE,EAAE,GAAG,CAAC,CAAA;oBACN,MAAK;gBACP,CAAC;YACH,CAAC;YAAC,OAAO,EAAW,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,kBAAG,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;gBACzC,OAAO,CAAC,KAAK,CACX,yCAAyC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,OAAO,EAAE,CAC3E,CAAA;YACH,CAAC;YACD,QAAQ,CAAC,IAAI,EAAE,CAAA;QACjB,CAAC;QAED,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAA;YACtD,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,kBAAG,CAAC,aAAa,EAAE,CAAA;YACzC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,EAA+C;QAE/C,MAAM,MAAM,GAAG,UAAU,CAAA;QACzB,MAAM,WAAW,GAAG,SAAS,CAAA;QAE7B,IAAI,SAAiB,CAAA;QAErB,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,SAAS,GAAG,EAAE,CAAA;aACrC,CAAC;YACJ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC3B,EAAE,GAAG,iBAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACjC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7B,EAAE,GAAG,iBAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YACpC,CAAC;YAED,IAAI,EAAE,YAAY,iBAAc,EAAE,CAAC;gBACjC,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,CAAC;oBAChD,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,kBAAG,CAAC,aAAa,CACzB,kEAAkE,CACnE,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;YAC3C,OAAO,SAAS,GAAG,KAAK,CAAA;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACrC,OAAO,SAAS,GAAG,MAAM,CAAA;IAC3B,CAAC;CACF;AA3XD,4BA2XC;AAED,SAAgB,kBAAkB,CAChC,MAAc,EACd,YAA4C;IAE5C,IAAI,CAAC,GAAG,IAAA,sBAAO,EAAC,MAAM,CAAC,CAAA;IACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE;YAAE,YAAY,GAAG,QAAQ,CAAA;;YACvC,YAAY,GAAG,QAAQ,CAAA;IAC9B,CAAC;IACD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,MAAK;QACP,KAAK,QAAQ;YACX,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;YACf,MAAK;QACP,KAAK,QAAQ;YACX,CAAC,GAAG,IAAA,yBAAU,EAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;YAC3B,MAAK;QACP;YACE,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAClC,cAAc,EACd,UAAU,YAAY,EAAE,CACzB,CAAA;IACL,CAAC;IACD,OAAO,IAAA,uBAAQ,EAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,MAA2B;IACjE,MAAM,MAAM,GAAG,IAAI,WAAK,CAAC,MAAM,EAAE,CAAA;IACjC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,CAAC,YAAY,CAAC,IAAA,sBAAO,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IACjD,MAAM,CAAC,YAAY,CAAC,IAAA,sBAAO,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IAC/C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;IAC1B,OAAO,CAAC,CAAA;AACV,CAAC"}
1
+ {"version":3,"file":"Services.js","sourceRoot":"","sources":["../../../src/services/Services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ARC.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ARC.test.d.ts","sourceRoot":"","sources":["../../../../src/services/__tests/ARC.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const TestUtilsWalletStorage_1 = require("../../../test/utils/TestUtilsWalletStorage");
7
+ const index_client_1 = require("../../index.client");
8
+ const ARC_1 = __importDefault(require("../providers/ARC"));
9
+ const sdk_1 = require("@bsv/sdk");
10
+ const createDefaultWalletServicesOptions_1 = require("../createDefaultWalletServicesOptions");
11
+ const index_all_1 = require("../../index.all");
12
+ describe('ARC tests', () => {
13
+ jest.setTimeout(99999999);
14
+ const envTest = TestUtilsWalletStorage_1._tu.getEnv('test');
15
+ const arcTest = new ARC_1.default((0, createDefaultWalletServicesOptions_1.arcDefaultUrl)(envTest.chain), {
16
+ apiKey: envTest.taalApiKey
17
+ });
18
+ const envMain = TestUtilsWalletStorage_1._tu.getEnv('main');
19
+ const arcMain = new ARC_1.default((0, createDefaultWalletServicesOptions_1.arcDefaultUrl)(envMain.chain), {
20
+ apiKey: envMain.taalApiKey
21
+ });
22
+ test.skip('7 postRawTx testnet', async () => {
23
+ await postRawTxTest('test', arcTest);
24
+ });
25
+ test.skip('8 postRawTx mainnet', async () => {
26
+ await postRawTxTest('main', arcMain);
27
+ });
28
+ test.skip('9 postBeef testnet', async () => {
29
+ const r = await postBeefTest('test', arcTest);
30
+ console.log(`9 postBeef testnet done ${r}`);
31
+ });
32
+ test.skip('10 postBeef mainnet', async () => {
33
+ const r = await postBeefTest('main', arcMain);
34
+ console.log(`10 postBeef mainnet done ${r}`);
35
+ });
36
+ });
37
+ async function postBeefTest(chain, arc) {
38
+ if (index_all_1.Setup.noEnv(chain))
39
+ return 'skipped';
40
+ const c = await TestUtilsWalletStorage_1._tu.createNoSendTxPair(chain);
41
+ const txids = [c.txidDo, c.txidUndo];
42
+ const r = await arc.postBeef(c.beef, txids);
43
+ expect(r.status).toBe('success');
44
+ for (const txid of txids) {
45
+ const tr = r.txidResults.find(tx => tx.txid === txid);
46
+ expect(tr).not.toBeUndefined();
47
+ expect(tr.status).toBe('success');
48
+ }
49
+ // replace Undo transaction with double spend transaction and send again.
50
+ const beef2 = c.beef.clone();
51
+ beef2.txs[beef2.txs.length - 1] = sdk_1.BeefTx.fromTx(c.doubleSpendTx);
52
+ const txids2 = [c.txidDo, c.doubleSpendTx.id('hex')];
53
+ const r2 = await arc.postBeef(beef2, txids2);
54
+ expect(r2.status).toBe('error');
55
+ for (const txid of txids2) {
56
+ const tr = r2.txidResults.find(tx => tx.txid === txid);
57
+ expect(tr).not.toBeUndefined();
58
+ if (txid === c.txidDo) {
59
+ expect(tr.status).toBe('success');
60
+ }
61
+ else {
62
+ expect(tr.status).toBe('error');
63
+ expect(tr.doubleSpend).toBe(true);
64
+ expect(tr.competingTxs).toEqual([c.txidUndo]);
65
+ }
66
+ }
67
+ return 'passed';
68
+ }
69
+ async function postRawTxTest(chain, arc) {
70
+ if (index_all_1.Setup.noEnv(chain))
71
+ return;
72
+ const c = await TestUtilsWalletStorage_1._tu.createNoSendTxPair(chain);
73
+ const rawTxDo = c.beef.findTxid(c.txidDo).tx.toHex();
74
+ const rawTxUndo = c.beef.findTxid(c.txidUndo).tx.toHex();
75
+ const rDo = await arc.postRawTx(rawTxDo);
76
+ expect(rDo.status).toBe('success');
77
+ expect(rDo.txid).toBe(c.txidDo);
78
+ await (0, index_client_1.wait)(1000);
79
+ const rUndo = await arc.postRawTx(rawTxUndo);
80
+ expect(rUndo.status).toBe('success');
81
+ expect(rUndo.txid).toBe(c.txidUndo);
82
+ expect(rUndo.doubleSpend).not.toBe(true);
83
+ await (0, index_client_1.wait)(1000);
84
+ {
85
+ // Send same transaction again...
86
+ const rUndo = await arc.postRawTx(rawTxUndo);
87
+ expect(rUndo.status).toBe('success');
88
+ expect(rUndo.txid).toBe(c.txidUndo);
89
+ expect(rUndo.doubleSpend).not.toBe(true);
90
+ }
91
+ await (0, index_client_1.wait)(1000);
92
+ // Confirm double spend detection.
93
+ const rDouble = await arc.postRawTx(c.doubleSpendTx.toHex());
94
+ expect(rDouble.status).toBe('error');
95
+ expect(rDouble.doubleSpend).toBe(true);
96
+ expect(rDouble.competingTxs[0]).toBe(c.txidUndo);
97
+ }
98
+ //# sourceMappingURL=ARC.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ARC.test.js","sourceRoot":"","sources":["../../../../src/services/__tests/ARC.test.ts"],"names":[],"mappings":";;;;;AAAA,uFAAgE;AAChE,qDAA8C;AAC9C,2DAAkC;AAClC,kCAAiC;AACjC,8FAAqE;AACrE,+CAAuC;AAEvC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEzB,MAAM,OAAO,GAAG,4BAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,IAAI,aAAG,CAAC,IAAA,kDAAa,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACpD,MAAM,EAAE,OAAO,CAAC,UAAU;KAC3B,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,4BAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,IAAI,aAAG,CAAC,IAAA,kDAAa,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACpD,MAAM,EAAE,OAAO,CAAC,UAAU;KAC3B,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC7C,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC7C,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,KAAK,UAAU,YAAY,CAAC,KAAgB,EAAE,GAAQ;IACpD,IAAI,iBAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACxC,MAAM,CAAC,GAAG,MAAM,4BAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAE7C,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;IAEpC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC3C,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACrD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;QAC9B,MAAM,CAAC,EAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC;IAED,yEAAyE;IACzE,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAC5B,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,YAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IAChE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEpD,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC5C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACtD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;QAC9B,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,EAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,EAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAChC,MAAM,CAAC,EAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClC,MAAM,CAAC,EAAG,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAgB,EAAE,GAAQ;IACrD,IAAI,iBAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAM;IAC9B,MAAM,CAAC,GAAG,MAAM,4BAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAE7C,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,EAAG,CAAC,KAAK,EAAE,CAAA;IACtD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,EAAG,CAAC,KAAK,EAAE,CAAA;IAE1D,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE/B,MAAM,IAAA,mBAAI,EAAC,IAAI,CAAC,CAAA;IAEhB,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAExC,MAAM,IAAA,mBAAI,EAAC,IAAI,CAAC,CAAA;IAEhB,CAAC;QACC,iCAAiC;QACjC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAC5C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QACnC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,IAAA,mBAAI,EAAC,IAAI,CAAC,CAAA;IAEhB,kCAAkC;IAClC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAA;IAC5D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,CAAC,OAAO,CAAC,YAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;AACnD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=arcServices.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arcServices.test.d.ts","sourceRoot":"","sources":["../../../../src/services/__tests/arcServices.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ describe.skip('arcServices tests', () => {
4
+ jest.setTimeout(99999999);
5
+ test('0 ', async () => { });
6
+ });
7
+ //# sourceMappingURL=arcServices.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arcServices.test.js","sourceRoot":"","sources":["../../../../src/services/__tests/arcServices.test.ts"],"names":[],"mappings":";;AAGA,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEzB,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA"}
@@ -2,17 +2,55 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const sdk_1 = require("@bsv/sdk");
4
4
  const index_client_1 = require("../../index.client");
5
+ const TestUtilsWalletStorage_1 = require("../../../test/utils/TestUtilsWalletStorage");
6
+ const index_all_1 = require("../../index.all");
5
7
  describe('postBeef service tests', () => {
6
8
  jest.setTimeout(99999999);
7
- test('0', async () => {
9
+ test('0 postBeef mainnet', async () => {
10
+ if (index_all_1.Setup.noEnv('main'))
11
+ return;
8
12
  const options = index_client_1.Services.createDefaultOptions('main');
9
13
  const services = new index_client_1.Services(options);
10
- const txid = '9cce99686bc8621db439b7150dd5b3b269e4b0628fd75160222c417d6f2b95e4';
11
- const rawTx = await services.getRawTx(txid);
12
- const beef = new sdk_1.Beef();
13
- beef.mergeRawTx(rawTx.rawTx);
14
- const r = await services.postTxs(beef, [txid]);
15
- expect(r).toBeTruthy();
14
+ await postBeefTest(services);
15
+ });
16
+ test('1 postBeef testnet', async () => {
17
+ if (index_all_1.Setup.noEnv('test'))
18
+ return;
19
+ const options = index_client_1.Services.createDefaultOptions('test');
20
+ const services = new index_client_1.Services(options);
21
+ await postBeefTest(services);
16
22
  });
17
23
  });
24
+ async function postBeefTest(services) {
25
+ const chain = services.chain;
26
+ if (index_all_1.Setup.noEnv(chain))
27
+ return;
28
+ const c = await TestUtilsWalletStorage_1._tu.createNoSendTxPair(chain);
29
+ const txids = [c.txidDo, c.txidUndo];
30
+ const [r] = await services.postBeef(c.beef, txids);
31
+ expect(r.status).toBe('success');
32
+ for (const txid of txids) {
33
+ const tr = r.txidResults.find(tx => tx.txid === txid);
34
+ expect(tr).not.toBeUndefined();
35
+ expect(tr.status).toBe('success');
36
+ }
37
+ // replace Undo transaction with double spend transaction and send again.
38
+ const beef2 = c.beef.clone();
39
+ beef2.txs[beef2.txs.length - 1] = sdk_1.BeefTx.fromTx(c.doubleSpendTx);
40
+ const txids2 = [c.txidDo, c.doubleSpendTx.id('hex')];
41
+ const [r2] = await services.postBeef(beef2, txids2);
42
+ expect(r2.status).toBe('error');
43
+ for (const txid of txids2) {
44
+ const tr = r2.txidResults.find(tx => tx.txid === txid);
45
+ expect(tr).not.toBeUndefined();
46
+ if (txid === c.txidDo) {
47
+ expect(tr.status).toBe('success');
48
+ }
49
+ else {
50
+ expect(tr.status).toBe('error');
51
+ expect(tr.doubleSpend).toBe(true);
52
+ expect(tr.competingTxs).toEqual([c.txidUndo]);
53
+ }
54
+ }
55
+ }
18
56
  //# sourceMappingURL=postBeef.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postBeef.test.js","sourceRoot":"","sources":["../../../../src/services/__tests/postBeef.test.ts"],"names":[],"mappings":";;AAAA,kCAA+B;AAC/B,qDAA6C;AAE7C,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEzB,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;QACnB,MAAM,OAAO,GAAG,uBAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACrD,MAAM,QAAQ,GAAG,IAAI,uBAAQ,CAAC,OAAO,CAAC,CAAA;QAEtC,MAAM,IAAI,GACR,kEAAkE,CAAA;QACpE,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,IAAI,UAAI,EAAE,CAAA;QACvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAM,CAAC,CAAA;QAC7B,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;IACxB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"postBeef.test.js","sourceRoot":"","sources":["../../../../src/services/__tests/postBeef.test.ts"],"names":[],"mappings":";;AAAA,kCAAiC;AACjC,qDAA6C;AAC7C,uFAAgE;AAChE,+CAAuC;AAEvC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEzB,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACpC,IAAI,iBAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,OAAM;QAC/B,MAAM,OAAO,GAAG,uBAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACrD,MAAM,QAAQ,GAAG,IAAI,uBAAQ,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACpC,IAAI,iBAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,OAAM;QAC/B,MAAM,OAAO,GAAG,uBAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACrD,MAAM,QAAQ,GAAG,IAAI,uBAAQ,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,KAAK,UAAU,YAAY,CAAC,QAAkB;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAC5B,IAAI,iBAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAM;IAC9B,MAAM,CAAC,GAAG,MAAM,4BAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAE7C,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;IAEpC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAClD,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACrD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;QAC9B,MAAM,CAAC,EAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC;IAED,yEAAyE;IACzE,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAC5B,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,YAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IAChE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEpD,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACnD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACtD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;QAC9B,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,EAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,EAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAChC,MAAM,CAAC,EAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClC,MAAM,CAAC,EAAG,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import { sdk } from '../index.client';
2
2
  export declare function createDefaultWalletServicesOptions(chain: sdk.Chain): sdk.WalletServicesOptions;
3
+ export declare function arcDefaultUrl(chain: sdk.Chain): string;
3
4
  //# sourceMappingURL=createDefaultWalletServicesOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createDefaultWalletServicesOptions.d.ts","sourceRoot":"","sources":["../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAGrC,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,GAAG,CAAC,KAAK,GACf,GAAG,CAAC,qBAAqB,CAgC3B"}
1
+ {"version":3,"file":"createDefaultWalletServicesOptions.d.ts","sourceRoot":"","sources":["../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAGrD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,GAAG,CAAC,KAAK,GACf,GAAG,CAAC,qBAAqB,CAuC3B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAItD"}
@@ -1,13 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createDefaultWalletServicesOptions = createDefaultWalletServicesOptions;
4
+ exports.arcDefaultUrl = arcDefaultUrl;
5
+ const index_client_1 = require("../index.client");
4
6
  const chaintracker_1 = require("./chaintracker");
5
7
  function createDefaultWalletServicesOptions(chain) {
8
+ const taalApiKey = chain === 'main'
9
+ ? 'mainnet_9596de07e92300c6287e4393594ae39c' // no plan
10
+ : 'testnet_0e6cf72133b43ea2d7861da2a38684e3'; // personal "starter" key
6
11
  const o = {
7
12
  chain,
8
- taalApiKey: chain === 'main'
9
- ? 'mainnet_9596de07e92300c6287e4393594ae39c' // Tone's key, no plan
10
- : 'testnet_0e6cf72133b43ea2d7861da2a38684e3', // Tone's personal "starter" key
13
+ taalApiKey,
11
14
  bsvExchangeRate: {
12
15
  timestamp: new Date('2023-12-13'),
13
16
  base: 'USD',
@@ -27,8 +30,17 @@ function createDefaultWalletServicesOptions(chain) {
27
30
  disableMapiCallback: true, // Rely on WalletMonitor by default.
28
31
  exchangeratesapiKey: 'bd539d2ff492bcb5619d5f27726a766f',
29
32
  chaintracksFiatExchangeRatesUrl: `https://npm-registry.babbage.systems:${chain === 'main' ? 8084 : 8083}/getFiatExchangeRates`,
30
- chaintracks: new chaintracker_1.ChaintracksServiceClient(chain, `https://npm-registry.babbage.systems:${chain === 'main' ? 8084 : 8083}`)
33
+ chaintracks: new chaintracker_1.ChaintracksServiceClient(chain, `https://npm-registry.babbage.systems:${chain === 'main' ? 8084 : 8083}`),
34
+ arcUrl: arcDefaultUrl(chain),
35
+ arcConfig: {
36
+ apiKey: taalApiKey,
37
+ deploymentId: `wallet-toolbox-${(0, index_client_1.randomBytesHex)(16)}`
38
+ }
31
39
  };
32
40
  return o;
33
41
  }
42
+ function arcDefaultUrl(chain) {
43
+ const url = chain === 'main' ? 'https://api.taal.com/arc' : 'https://arc-test.taal.com';
44
+ return url;
45
+ }
34
46
  //# sourceMappingURL=createDefaultWalletServicesOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createDefaultWalletServicesOptions.js","sourceRoot":"","sources":["../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":";;AAGA,gFAkCC;AApCD,iDAAyD;AAEzD,SAAgB,kCAAkC,CAChD,KAAgB;IAEhB,MAAM,CAAC,GAA8B;QACnC,KAAK;QACL,UAAU,EACR,KAAK,KAAK,MAAM;YACd,CAAC,CAAC,0CAA0C,CAAC,sBAAsB;YACnE,CAAC,CAAC,0CAA0C,EAAE,gCAAgC;QAClF,eAAe,EAAE;YACf,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;SACZ;QACD,cAAc,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,aAAa;QAC7C,iBAAiB,EAAE;YACjB,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,EAAE,KAAK;YACX,KAAK,EAAE;gBACL,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,IAAI;aACV;SACF;QACD,eAAe,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,WAAW;QACjD,mBAAmB,EAAE,IAAI,EAAE,oCAAoC;QAC/D,mBAAmB,EAAE,kCAAkC;QACvD,+BAA+B,EAAE,wCAAwC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,uBAAuB;QAC9H,WAAW,EAAE,IAAI,uCAAwB,CACvC,KAAK,EACL,wCAAwC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CACzE;KACF,CAAA;IACD,OAAO,CAAC,CAAA;AACV,CAAC"}
1
+ {"version":3,"file":"createDefaultWalletServicesOptions.js","sourceRoot":"","sources":["../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":";;AAGA,gFAyCC;AAED,sCAIC;AAlDD,kDAAqD;AACrD,iDAAyD;AAEzD,SAAgB,kCAAkC,CAChD,KAAgB;IAEhB,MAAM,UAAU,GACd,KAAK,KAAK,MAAM;QACd,CAAC,CAAC,0CAA0C,CAAC,UAAU;QACvD,CAAC,CAAC,0CAA0C,CAAA,CAAC,yBAAyB;IAE1E,MAAM,CAAC,GAA8B;QACnC,KAAK;QACL,UAAU;QACV,eAAe,EAAE;YACf,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;SACZ;QACD,cAAc,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,aAAa;QAC7C,iBAAiB,EAAE;YACjB,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,EAAE,KAAK;YACX,KAAK,EAAE;gBACL,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,IAAI;aACV;SACF;QACD,eAAe,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,WAAW;QACjD,mBAAmB,EAAE,IAAI,EAAE,oCAAoC;QAC/D,mBAAmB,EAAE,kCAAkC;QACvD,+BAA+B,EAAE,wCAAwC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,uBAAuB;QAC9H,WAAW,EAAE,IAAI,uCAAwB,CACvC,KAAK,EACL,wCAAwC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CACzE;QACD,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC;QAC5B,SAAS,EAAE;YACT,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,kBAAkB,IAAA,6BAAc,EAAC,EAAE,CAAC,EAAE;SACrD;KACF,CAAA;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAgB,aAAa,CAAC,KAAgB;IAC5C,MAAM,GAAG,GACP,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,2BAA2B,CAAA;IAC7E,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,91 @@
1
+ import { Beef, HexString, HttpClient } from '@bsv/sdk';
2
+ import { sdk } from '../../index.client';
3
+ /** Configuration options for the ARC broadcaster. */
4
+ export interface ArcConfig {
5
+ /** Authentication token for the ARC API */
6
+ apiKey?: string;
7
+ /** The HTTP client used to make requests to the ARC API. */
8
+ httpClient?: HttpClient;
9
+ /** Deployment id used annotating api calls in XDeployment-ID header - this value will be randomly generated if not set */
10
+ deploymentId?: string;
11
+ /** notification callback endpoint for proofs and double spend notification */
12
+ callbackUrl?: string;
13
+ /** default access token for notification callback endpoint. It will be used as a Authorization header for the http callback */
14
+ callbackToken?: string;
15
+ /** additional headers to be attached to all tx submissions. */
16
+ headers?: Record<string, string>;
17
+ }
18
+ /**
19
+ * Represents an ARC transaction broadcaster.
20
+ */
21
+ export default class ARC {
22
+ readonly URL: string;
23
+ readonly apiKey: string | undefined;
24
+ readonly deploymentId: string;
25
+ readonly callbackUrl: string | undefined;
26
+ readonly callbackToken: string | undefined;
27
+ readonly headers: Record<string, string> | undefined;
28
+ private readonly httpClient;
29
+ /**
30
+ * Constructs an instance of the ARC broadcaster.
31
+ *
32
+ * @param {string} URL - The URL endpoint for the ARC API.
33
+ * @param {ArcConfig} config - Configuration options for the ARC broadcaster.
34
+ */
35
+ constructor(URL: string, config?: ArcConfig);
36
+ /**
37
+ * Constructs an instance of the ARC broadcaster.
38
+ *
39
+ * @param {string} URL - The URL endpoint for the ARC API.
40
+ * @param {string} apiKey - The API key used for authorization with the ARC API.
41
+ */
42
+ constructor(URL: string, apiKey?: string);
43
+ /**
44
+ * Constructs a dictionary of the default & supplied request headers.
45
+ */
46
+ private requestHeaders;
47
+ /**
48
+ * The ARC '/v1/tx' endpoint, as of 2025-02-17 supports all of the following hex string formats:
49
+ * 1. Single serialized raw transaction.
50
+ * 2. Single EF serialized raw transaction (untested).
51
+ * 3. V1 serialized Beef (results returned reflect only the last transaction in the beef)
52
+ *
53
+ * The ARC '/v1/tx' endpoint, as of 2025-02-17 DOES NOT support the following hex string formats:
54
+ * 1. V2 serialized Beef
55
+ *
56
+ * @param rawTx
57
+ * @param txids
58
+ * @returns
59
+ */
60
+ postRawTx(rawTx: HexString, txids?: string[]): Promise<sdk.PostTxResultForTxid>;
61
+ /**
62
+ * ARC does not natively support a postBeef end-point aware of multiple txids of interest in the Beef.
63
+ *
64
+ * It does process multiple new transactions, however, which allows results for all txids of interest
65
+ * to be collected by the `/v1/tx/${txid}` endpoint.
66
+ *
67
+ * @param beef
68
+ * @param txids
69
+ * @returns
70
+ */
71
+ postBeef(beef: Beef, txids: string[]): Promise<sdk.PostBeefResult>;
72
+ /**
73
+ * This seems to only work for recently submitted txids...but that's all we need to complete postBeef!
74
+ * @param txid
75
+ * @returns
76
+ */
77
+ getTxData(txid: string): Promise<ArcMinerGetTxData>;
78
+ }
79
+ export interface ArcMinerGetTxData {
80
+ status: number;
81
+ title: string;
82
+ blockHash: string;
83
+ blockHeight: number;
84
+ competingTxs: null | string[];
85
+ extraInfo: string;
86
+ merklePath: string;
87
+ timestamp: string;
88
+ txid: string;
89
+ txStatus: string;
90
+ }
91
+ //# sourceMappingURL=ARC.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ARC.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/ARC.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAIJ,SAAS,EACT,UAAU,EAIX,MAAM,UAAU,CAAA;AACjB,OAAO,EAAkB,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAExD,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,0HAA0H;IAC1H,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+HAA+H;IAC/H,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAMD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IAEvC;;;;;OAKG;gBACS,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS;IAC3C;;;;;OAKG;gBACS,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IA6BxC;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;;;;;;;;;;;OAYG;IACG,SAAS,CACb,KAAK,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAkEnC;;;;;;;;;OASG;IACG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAyCxE;;;;OAIG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAa1D;AASD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,IAAI,GAAG,MAAM,EAAE,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB"}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sdk_1 = require("@bsv/sdk");
4
+ const index_client_1 = require("../../index.client");
5
+ function defaultDeploymentId() {
6
+ return `ts-sdk-${sdk_1.Utils.toHex((0, sdk_1.Random)(16))}`;
7
+ }
8
+ /**
9
+ * Represents an ARC transaction broadcaster.
10
+ */
11
+ class ARC {
12
+ constructor(URL, config) {
13
+ this.URL = URL;
14
+ if (typeof config === 'string') {
15
+ this.apiKey = config;
16
+ this.httpClient = (0, sdk_1.defaultHttpClient)();
17
+ this.deploymentId = defaultDeploymentId();
18
+ this.callbackToken = undefined;
19
+ this.callbackUrl = undefined;
20
+ }
21
+ else {
22
+ const configObj = config !== null && config !== void 0 ? config : {};
23
+ const { apiKey, deploymentId, httpClient, callbackToken, callbackUrl, headers } = configObj;
24
+ this.apiKey = apiKey;
25
+ this.httpClient = httpClient !== null && httpClient !== void 0 ? httpClient : (0, sdk_1.defaultHttpClient)();
26
+ this.deploymentId = deploymentId !== null && deploymentId !== void 0 ? deploymentId : defaultDeploymentId();
27
+ this.callbackToken = callbackToken;
28
+ this.callbackUrl = callbackUrl;
29
+ this.headers = headers;
30
+ }
31
+ }
32
+ /**
33
+ * Constructs a dictionary of the default & supplied request headers.
34
+ */
35
+ requestHeaders() {
36
+ const headers = {
37
+ 'Content-Type': 'application/json',
38
+ 'XDeployment-ID': this.deploymentId
39
+ };
40
+ if (this.apiKey != null && this.apiKey !== '') {
41
+ headers.Authorization = `Bearer ${this.apiKey}`;
42
+ }
43
+ if (this.callbackUrl != null && this.callbackUrl !== '') {
44
+ headers['X-CallbackUrl'] = this.callbackUrl;
45
+ }
46
+ if (this.callbackToken != null && this.callbackToken !== '') {
47
+ headers['X-CallbackToken'] = this.callbackToken;
48
+ }
49
+ if (this.headers != null) {
50
+ for (const key in this.headers) {
51
+ headers[key] = this.headers[key];
52
+ }
53
+ }
54
+ return headers;
55
+ }
56
+ /**
57
+ * The ARC '/v1/tx' endpoint, as of 2025-02-17 supports all of the following hex string formats:
58
+ * 1. Single serialized raw transaction.
59
+ * 2. Single EF serialized raw transaction (untested).
60
+ * 3. V1 serialized Beef (results returned reflect only the last transaction in the beef)
61
+ *
62
+ * The ARC '/v1/tx' endpoint, as of 2025-02-17 DOES NOT support the following hex string formats:
63
+ * 1. V2 serialized Beef
64
+ *
65
+ * @param rawTx
66
+ * @param txids
67
+ * @returns
68
+ */
69
+ async postRawTx(rawTx, txids) {
70
+ let txid = sdk_1.Utils.toHex((0, index_client_1.doubleSha256BE)(sdk_1.Utils.toArray(rawTx, 'hex')));
71
+ if (txids) {
72
+ txid = txids.slice(-1)[0];
73
+ }
74
+ const requestOptions = {
75
+ method: 'POST',
76
+ headers: this.requestHeaders(),
77
+ data: { rawTx }
78
+ };
79
+ const r = {
80
+ txid,
81
+ status: 'success'
82
+ };
83
+ try {
84
+ const response = await this.httpClient.request(`${this.URL}/v1/tx`, requestOptions);
85
+ if (response.ok) {
86
+ const { txid, extraInfo, txStatus, competingTxs } = response.data;
87
+ r.data = `${txStatus} ${extraInfo}`;
88
+ if (r.txid !== txid)
89
+ r.data += ` txid altered from ${r.txid} to ${txid}`;
90
+ r.txid = txid;
91
+ if (txStatus === 'DOUBLE_SPEND_ATTEMPTED') {
92
+ r.status = 'error';
93
+ r.doubleSpend = true;
94
+ r.competingTxs = competingTxs;
95
+ }
96
+ }
97
+ else {
98
+ r.status = 'error';
99
+ const ed = {};
100
+ r.data = ed;
101
+ const st = typeof response.status;
102
+ ed.status =
103
+ st === 'number' || st === 'string'
104
+ ? response.status.toString()
105
+ : 'ERR_UNKNOWN';
106
+ let d = response.data;
107
+ if (d && typeof d === 'string') {
108
+ try {
109
+ d = JSON.parse(d);
110
+ }
111
+ catch (_a) {
112
+ // Intentionally left empty
113
+ }
114
+ }
115
+ if (d && typeof d === 'object') {
116
+ ed.more = d;
117
+ ed.detail = d['detail'];
118
+ if (typeof ed.detail !== 'string')
119
+ ed.detail = undefined;
120
+ }
121
+ }
122
+ }
123
+ catch (eu) {
124
+ const e = index_client_1.sdk.WalletError.fromUnknown(eu);
125
+ r.status = 'error';
126
+ r.data = `${e.code} ${e.message}`;
127
+ }
128
+ return r;
129
+ }
130
+ /**
131
+ * ARC does not natively support a postBeef end-point aware of multiple txids of interest in the Beef.
132
+ *
133
+ * It does process multiple new transactions, however, which allows results for all txids of interest
134
+ * to be collected by the `/v1/tx/${txid}` endpoint.
135
+ *
136
+ * @param beef
137
+ * @param txids
138
+ * @returns
139
+ */
140
+ async postBeef(beef, txids) {
141
+ if (beef.version === sdk_1.BEEF_V2 && beef.txs.every(btx => !btx.isTxidOnly)) {
142
+ beef.version = sdk_1.BEEF_V1;
143
+ }
144
+ const beefHex = beef.toHex();
145
+ const prtr = await this.postRawTx(beefHex, txids);
146
+ const r = {
147
+ name: 'ARC',
148
+ status: prtr.status,
149
+ txidResults: [prtr]
150
+ };
151
+ for (const txid of txids) {
152
+ if (prtr.txid === txid)
153
+ continue;
154
+ const tr = {
155
+ txid,
156
+ status: 'success'
157
+ };
158
+ const dr = await this.getTxData(txid);
159
+ if (dr.txid !== txid) {
160
+ tr.status = 'error';
161
+ tr.data = 'internal error';
162
+ }
163
+ else if (dr.txStatus === 'SEEN_ON_NETWORK' ||
164
+ dr.txStatus === 'STORED') {
165
+ tr.data = dr.txStatus;
166
+ }
167
+ else {
168
+ tr.status = 'error';
169
+ tr.data = dr;
170
+ }
171
+ r.txidResults.push(tr);
172
+ if (r.status === 'success' && tr.status === 'error')
173
+ r.status = 'error';
174
+ }
175
+ return r;
176
+ }
177
+ /**
178
+ * This seems to only work for recently submitted txids...but that's all we need to complete postBeef!
179
+ * @param txid
180
+ * @returns
181
+ */
182
+ async getTxData(txid) {
183
+ const requestOptions = {
184
+ method: 'GET',
185
+ headers: this.requestHeaders()
186
+ };
187
+ const response = await this.httpClient.request(`${this.URL}/v1/tx/${txid}`, requestOptions);
188
+ return response.data;
189
+ }
190
+ }
191
+ exports.default = ARC;
192
+ //# sourceMappingURL=ARC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ARC.js","sourceRoot":"","sources":["../../../../src/services/providers/ARC.ts"],"names":[],"mappings":";;AAAA,kCAUiB;AACjB,qDAAwD;AAkBxD,SAAS,mBAAmB;IAC1B,OAAO,UAAU,WAAK,CAAC,KAAK,CAAC,IAAA,YAAM,EAAC,EAAE,CAAC,CAAC,EAAE,CAAA;AAC5C,CAAC;AAED;;GAEG;AACH,MAAqB,GAAG;IAwBtB,YAAY,GAAW,EAAE,MAA2B;QAClD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,UAAU,GAAG,IAAA,uBAAiB,GAAE,CAAA;YACrC,IAAI,CAAC,YAAY,GAAG,mBAAmB,EAAE,CAAA;YACzC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;YAC9B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAc,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;YACzC,MAAM,EACJ,MAAM,EACN,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,OAAO,EACR,GAAG,SAAS,CAAA;YACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAA,uBAAiB,GAAE,CAAA;YACnD,IAAI,CAAC,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,mBAAmB,EAAE,CAAA;YACzD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;YAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;YAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,gBAAgB,EAAE,IAAI,CAAC,YAAY;SACpC,CAAA;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC9C,OAAO,CAAC,aAAa,GAAG,UAAU,IAAI,CAAC,MAAM,EAAE,CAAA;QACjD,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;YACxD,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,WAAW,CAAA;QAC7C,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,EAAE,EAAE,CAAC;YAC5D,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,aAAa,CAAA;QACjD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,SAAS,CACb,KAAgB,EAChB,KAAgB;QAEhB,IAAI,IAAI,GAAG,WAAK,CAAC,KAAK,CAAC,IAAA,6BAAc,EAAC,WAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QACnE,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3B,CAAC;QAED,MAAM,cAAc,GAA6B;YAC/C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE;YAC9B,IAAI,EAAE,EAAE,KAAK,EAAE;SAChB,CAAA;QAED,MAAM,CAAC,GAA4B;YACjC,IAAI;YACJ,MAAM,EAAE,SAAS;SAClB,CAAA;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC5C,GAAG,IAAI,CAAC,GAAG,QAAQ,EACnB,cAAc,CACf,CAAA;YAED,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAA;gBACjE,CAAC,CAAC,IAAI,GAAG,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAA;gBACnC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;oBAAE,CAAC,CAAC,IAAI,IAAI,sBAAsB,CAAC,CAAC,IAAI,OAAO,IAAI,EAAE,CAAA;gBACxE,CAAC,CAAC,IAAI,GAAG,IAAI,CAAA;gBACb,IAAI,QAAQ,KAAK,wBAAwB,EAAE,CAAC;oBAC1C,CAAC,CAAC,MAAM,GAAG,OAAO,CAAA;oBAClB,CAAC,CAAC,WAAW,GAAG,IAAI,CAAA;oBACpB,CAAC,CAAC,YAAY,GAAG,YAAY,CAAA;gBAC/B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,MAAM,GAAG,OAAO,CAAA;gBAClB,MAAM,EAAE,GAAiC,EAAE,CAAA;gBAC3C,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;gBACX,MAAM,EAAE,GAAG,OAAO,QAAQ,CAAC,MAAM,CAAA;gBACjC,EAAE,CAAC,MAAM;oBACP,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,QAAQ;wBAChC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;wBAC5B,CAAC,CAAC,aAAa,CAAA;gBAEnB,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAA;gBACrB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBACnB,CAAC;oBAAC,WAAM,CAAC;wBACP,2BAA2B;oBAC7B,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC/B,EAAE,CAAC,IAAI,GAAG,CAAC,CAAA;oBACX,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;oBACvB,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ;wBAAE,EAAE,CAAC,MAAM,GAAG,SAAS,CAAA;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,EAAW,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,kBAAG,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YACzC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAA;YAClB,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;QACnC,CAAC;QAED,OAAO,CAAC,CAAA;IACV,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAU,EAAE,KAAe;QACxC,IAAI,IAAI,CAAC,OAAO,KAAK,aAAO,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,OAAO,GAAG,aAAO,CAAA;QACxB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAE5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAEjD,MAAM,CAAC,GAAuB;YAC5B,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,CAAC,IAAI,CAAC;SACpB,CAAA;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,SAAQ;YAChC,MAAM,EAAE,GAA4B;gBAClC,IAAI;gBACJ,MAAM,EAAE,SAAS;aAClB,CAAA;YACD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACrB,EAAE,CAAC,MAAM,GAAG,OAAO,CAAA;gBACnB,EAAE,CAAC,IAAI,GAAG,gBAAgB,CAAA;YAC5B,CAAC;iBAAM,IACL,EAAE,CAAC,QAAQ,KAAK,iBAAiB;gBACjC,EAAE,CAAC,QAAQ,KAAK,QAAQ,EACxB,CAAC;gBACD,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAA;YACvB,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,MAAM,GAAG,OAAO,CAAA;gBACnB,EAAE,CAAC,IAAI,GAAG,EAAE,CAAA;YACd,CAAC;YACD,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACtB,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,KAAK,OAAO;gBAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAA;QACzE,CAAC;QAED,OAAO,CAAC,CAAA;IACV,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,cAAc,GAA6B;YAC/C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE;SAC/B,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC5C,GAAG,IAAI,CAAC,GAAG,UAAU,IAAI,EAAE,EAC3B,cAAc,CACf,CAAA;QAED,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AAxOD,sBAwOC"}