@bsv/wallet-toolbox 1.1.13 → 1.1.15

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 (132) hide show
  1. package/docs/README.md +8 -2
  2. package/docs/client.md +465 -346
  3. package/docs/open-rpc/index.html +46 -0
  4. package/docs/services.md +236 -211
  5. package/docs/setup.md +32 -4
  6. package/docs/storage.md +30 -5
  7. package/docs/wallet.md +465 -346
  8. package/out/src/Setup.d.ts.map +1 -1
  9. package/out/src/Setup.js.map +1 -1
  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 +19 -3
  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/storage/methods/createAction.d.ts.map +1 -1
  55. package/out/src/storage/methods/createAction.js +9 -2
  56. package/out/src/storage/methods/createAction.js.map +1 -1
  57. package/out/src/storage/methods/generateChange.d.ts +12 -1
  58. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  59. package/out/src/storage/methods/generateChange.js +24 -1
  60. package/out/src/storage/methods/generateChange.js.map +1 -1
  61. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  62. package/out/src/storage/methods/processAction.js +1 -1
  63. package/out/src/storage/methods/processAction.js.map +1 -1
  64. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +0 -1
  65. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -1
  66. package/out/src/storage/sync/StorageMySQLDojoReader.js +1 -1
  67. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  68. package/out/src/utility/utilityHelpers.js +1 -1
  69. package/out/src/utility/utilityHelpers.js.map +1 -1
  70. package/out/test/Wallet/StorageClient/storageClient.man.test.js +22 -3
  71. package/out/test/Wallet/StorageClient/storageClient.man.test.js.map +1 -1
  72. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js +40 -0
  73. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js.map +1 -1
  74. package/out/test/services/Services.test.js +0 -31
  75. package/out/test/services/Services.test.js.map +1 -1
  76. package/out/test/utils/TestUtilsWalletStorage.d.ts +26 -18
  77. package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -1
  78. package/out/test/utils/TestUtilsWalletStorage.js +135 -27
  79. package/out/test/utils/TestUtilsWalletStorage.js.map +1 -1
  80. package/out/test/wallet/list/listActions2.test.js +36 -2
  81. package/out/test/wallet/list/listActions2.test.js.map +1 -1
  82. package/out/tsconfig.all.tsbuildinfo +1 -1
  83. package/package.json +4 -6
  84. package/src/Setup.ts +0 -1
  85. package/src/SetupClient.ts +25 -6
  86. package/src/Wallet.ts +66 -2
  87. package/src/sdk/WalletServices.interfaces.ts +19 -14
  88. package/src/services/Services.ts +23 -62
  89. package/src/services/__tests/ARC.test.ts +110 -0
  90. package/src/services/__tests/arcServices.test.ts +8 -0
  91. package/src/services/__tests/postBeef.test.ts +47 -9
  92. package/src/services/createDefaultWalletServicesOptions.ts +19 -6
  93. package/src/services/providers/ARC.ts +289 -0
  94. package/src/services/providers/SdkWhatsOnChain.ts +96 -0
  95. package/src/services/providers/WhatsOnChain.ts +369 -0
  96. package/src/services/providers/__tests/WhatsOnChain.test.ts +227 -0
  97. package/src/storage/methods/createAction.ts +26 -4
  98. package/src/storage/methods/generateChange.ts +42 -2
  99. package/src/storage/methods/processAction.ts +2 -1
  100. package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +0 -1
  101. package/src/storage/sync/StorageMySQLDojoReader.ts +1 -1
  102. package/src/utility/utilityHelpers.ts +1 -1
  103. package/test/Wallet/StorageClient/storageClient.man.test.ts +30 -4
  104. package/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.ts +54 -0
  105. package/test/services/Services.test.ts +0 -30
  106. package/test/utils/TestUtilsWalletStorage.ts +174 -45
  107. package/test/wallet/list/listActions2.test.ts +4 -7
  108. package/out/src/services/__tests/postBeefToArcTaal.test.d.ts +0 -2
  109. package/out/src/services/__tests/postBeefToArcTaal.test.d.ts.map +0 -1
  110. package/out/src/services/__tests/postBeefToArcTaal.test.js +0 -479
  111. package/out/src/services/__tests/postBeefToArcTaal.test.js.map +0 -1
  112. package/out/src/services/__tests/postTxs.test.d.ts +0 -2
  113. package/out/src/services/__tests/postTxs.test.d.ts.map +0 -1
  114. package/out/src/services/__tests/postTxs.test.js +0 -28
  115. package/out/src/services/__tests/postTxs.test.js.map +0 -1
  116. package/out/src/services/providers/arcServices.d.ts +0 -62
  117. package/out/src/services/providers/arcServices.d.ts.map +0 -1
  118. package/out/src/services/providers/arcServices.js +0 -375
  119. package/out/src/services/providers/arcServices.js.map +0 -1
  120. package/out/src/services/providers/whatsonchain.d.ts +0 -17
  121. package/out/src/services/providers/whatsonchain.d.ts.map +0 -1
  122. package/out/src/services/providers/whatsonchain.js +0 -130
  123. package/out/src/services/providers/whatsonchain.js.map +0 -1
  124. package/out/test/examples/README.man.test.d.ts +0 -2
  125. package/out/test/examples/README.man.test.d.ts.map +0 -1
  126. package/out/test/examples/README.man.test.js +0 -47
  127. package/out/test/examples/README.man.test.js.map +0 -1
  128. package/src/services/__tests/postBeefToArcTaal.test.ts +0 -487
  129. package/src/services/__tests/postTxs.test.ts +0 -28
  130. package/src/services/providers/arcServices.ts +0 -578
  131. package/src/services/providers/whatsonchain.ts +0 -170
  132. package/test/examples/README.man.test.ts +0 -53
package/docs/setup.md CHANGED
@@ -60,6 +60,7 @@ export interface SetupEnv {
60
60
  chain: sdk.Chain;
61
61
  identityKey: string;
62
62
  identityKey2: string;
63
+ filePath: string | undefined;
63
64
  taalApiKey: string;
64
65
  devKeys: Record<string, string>;
65
66
  mySQLConnection: string;
@@ -85,6 +86,14 @@ A map of public keys (identity keys, hex strings) to private keys (hex strings).
85
86
  devKeys: Record<string, string>
86
87
  ```
87
88
 
89
+ ###### Property filePath
90
+
91
+ Filepath to sqlite file to be used for identityKey wallet.
92
+
93
+ ```ts
94
+ filePath: string | undefined
95
+ ```
96
+
88
97
  ###### Property identityKey
89
98
 
90
99
  The user's primary identity key (public key).
@@ -549,6 +558,7 @@ It serves as a starting point for experimentation and customization.
549
558
 
550
559
  ```ts
551
560
  export abstract class SetupClient {
561
+ static noEnv(chain: sdk.Chain): boolean
552
562
  static makeEnv(): string {
553
563
  const testPrivKey1 = PrivateKey.fromRandom();
554
564
  const testIdentityKey1 = testPrivKey1.toPublicKey().toString();
@@ -584,6 +594,9 @@ DEV_KEYS = '{
584
594
  const identityKey2 = chain === "main"
585
595
  ? process.env.MY_MAIN_IDENTITY2
586
596
  : process.env.MY_TEST_IDENTITY2;
597
+ const filePath = chain === "main"
598
+ ? process.env.MY_MAIN_FILEPATH
599
+ : process.env.MY_TEST_FILEPATH;
587
600
  const DEV_KEYS = process.env.DEV_KEYS || "{}";
588
601
  const mySQLConnection = process.env.MYSQL_CONNECTION || "{}";
589
602
  const taalApiKey = verifyTruthy(chain === "main"
@@ -595,6 +608,7 @@ DEV_KEYS = '{
595
608
  chain,
596
609
  identityKey,
597
610
  identityKey2,
611
+ filePath,
598
612
  taalApiKey,
599
613
  devKeys: JSON.parse(DEV_KEYS) as Record<string, string>,
600
614
  mySQLConnection
@@ -642,9 +656,8 @@ DEV_KEYS = '{
642
656
  }
643
657
  static async createWalletClient(args: SetupWalletClientArgs): Promise<SetupWalletClient> {
644
658
  const wo = await SetupClient.createWallet(args);
645
- if (wo.chain === "main")
646
- throw new sdk.WERR_INVALID_PARAMETER("chain", `'test' for now, 'main' is not yet supported.`);
647
- const endpointUrl = args.endpointUrl || "https://staging-dojo.babbage.systems";
659
+ const endpointUrl = args.endpointUrl ||
660
+ `https://${args.env.chain !== "main" ? "staging-" : ""}storage.babbage.systems`;
648
661
  const client = new StorageClient(wo.wallet, endpointUrl);
649
662
  await wo.storage.addWalletStorageProvider(client);
650
663
  await wo.storage.makeAvailable();
@@ -725,7 +738,7 @@ DEV_KEYS = '{
725
738
  }
726
739
  ```
727
740
 
728
- See also: [Chain](./client.md#type-chain), [KeyPairAddress](./setup.md#interface-keypairaddress), [Monitor](./monitor.md#class-monitor), [PrivilegedKeyManager](./client.md#class-privilegedkeymanager), [ScriptTemplateUnlock](./client.md#interface-scripttemplateunlock), [Services](./services.md#class-services), [Setup](./setup.md#class-setup), [SetupEnv](./setup.md#interface-setupenv), [SetupWallet](./setup.md#interface-setupwallet), [SetupWalletArgs](./setup.md#interface-setupwalletargs), [SetupWalletClient](./setup.md#interface-setupwalletclient), [SetupWalletClientArgs](./setup.md#interface-setupwalletclientargs), [StorageClient](./storage.md#class-storageclient), [WERR_INVALID_OPERATION](./client.md#class-werr_invalid_operation), [WERR_INVALID_PARAMETER](./client.md#class-werr_invalid_parameter), [Wallet](./client.md#class-wallet), [WalletStorageManager](./storage.md#class-walletstoragemanager), [createAction](./storage.md#function-createaction), [verifyTruthy](./client.md#function-verifytruthy)
741
+ See also: [Chain](./client.md#type-chain), [KeyPairAddress](./setup.md#interface-keypairaddress), [Monitor](./monitor.md#class-monitor), [PrivilegedKeyManager](./client.md#class-privilegedkeymanager), [ScriptTemplateUnlock](./client.md#interface-scripttemplateunlock), [Services](./services.md#class-services), [Setup](./setup.md#class-setup), [SetupEnv](./setup.md#interface-setupenv), [SetupWallet](./setup.md#interface-setupwallet), [SetupWalletArgs](./setup.md#interface-setupwalletargs), [SetupWalletClient](./setup.md#interface-setupwalletclient), [SetupWalletClientArgs](./setup.md#interface-setupwalletclientargs), [StorageClient](./storage.md#class-storageclient), [WERR_INVALID_OPERATION](./client.md#class-werr_invalid_operation), [Wallet](./client.md#class-wallet), [WalletStorageManager](./storage.md#class-walletstoragemanager), [createAction](./storage.md#function-createaction), [verifyTruthy](./client.md#function-verifytruthy)
729
742
 
730
743
  ###### Method createWallet
731
744
 
@@ -794,6 +807,9 @@ static getEnv(chain: sdk.Chain): SetupEnv {
794
807
  const identityKey2 = chain === "main"
795
808
  ? process.env.MY_MAIN_IDENTITY2
796
809
  : process.env.MY_TEST_IDENTITY2;
810
+ const filePath = chain === "main"
811
+ ? process.env.MY_MAIN_FILEPATH
812
+ : process.env.MY_TEST_FILEPATH;
797
813
  const DEV_KEYS = process.env.DEV_KEYS || "{}";
798
814
  const mySQLConnection = process.env.MYSQL_CONNECTION || "{}";
799
815
  const taalApiKey = verifyTruthy(chain === "main"
@@ -805,6 +821,7 @@ static getEnv(chain: sdk.Chain): SetupEnv {
805
821
  chain,
806
822
  identityKey,
807
823
  identityKey2,
824
+ filePath,
808
825
  taalApiKey,
809
826
  devKeys: JSON.parse(DEV_KEYS) as Record<string, string>,
810
827
  mySQLConnection
@@ -863,6 +880,17 @@ DEV_KEYS = '{
863
880
  ```
864
881
  See also: [Setup](./setup.md#class-setup)
865
882
 
883
+ ###### Method noEnv
884
+
885
+ ```ts
886
+ static noEnv(chain: sdk.Chain): boolean
887
+ ```
888
+ See also: [Chain](./client.md#type-chain)
889
+
890
+ Returns
891
+
892
+ true if .env is not valid for chain
893
+
866
894
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
867
895
 
868
896
  ---
package/docs/storage.md CHANGED
@@ -34,9 +34,9 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
34
34
  | [GetReqsAndBeefDetail](#interface-getreqsandbeefdetail) | [TableCertificate](#interface-tablecertificate) | [TableTxLabel](#interface-tabletxlabel) |
35
35
  | [GetReqsAndBeefResult](#interface-getreqsandbeefresult) | [TableCertificateField](#interface-tablecertificatefield) | [TableTxLabelMap](#interface-tabletxlabelmap) |
36
36
  | [PostBeefResultForTxidApi](#interface-postbeefresultfortxidapi) | [TableCertificateX](#interface-tablecertificatex) | [TableUser](#interface-tableuser) |
37
- | [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails) | [TableCommission](#interface-tablecommission) | [WalletStorageServerOptions](#interface-walletstorageserveroptions) |
38
- | [PostReqsToNetworkResult](#interface-postreqstonetworkresult) | [TableMonitorEvent](#interface-tablemonitorevent) | [XValidCreateActionOutput](#interface-xvalidcreateactionoutput) |
39
- | [ProvenTxFromTxidResult](#interface-proventxfromtxidresult) | [TableOutput](#interface-tableoutput) | |
37
+ | [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails) | [TableCommission](#interface-tablecommission) | [ValidateGenerateChangeSdkParamsResult](#interface-validategeneratechangesdkparamsresult) |
38
+ | [PostReqsToNetworkResult](#interface-postreqstonetworkresult) | [TableMonitorEvent](#interface-tablemonitorevent) | [WalletStorageServerOptions](#interface-walletstorageserveroptions) |
39
+ | [ProvenTxFromTxidResult](#interface-proventxfromtxidresult) | [TableOutput](#interface-tableoutput) | [XValidCreateActionOutput](#interface-xvalidcreateactionoutput) |
40
40
  | [ProvenTxReqHistory](#interface-proventxreqhistory) | [TableOutputBasket](#interface-tableoutputbasket) | |
41
41
 
42
42
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
@@ -227,6 +227,10 @@ export interface GenerateChangeSdkResult {
227
227
  size: number;
228
228
  fee: number;
229
229
  satsPerKb: number;
230
+ maxPossibleSatoshisAdjustment?: {
231
+ fixedOutputIndex: number;
232
+ satoshis: number;
233
+ };
230
234
  }
231
235
  ```
232
236
 
@@ -1109,6 +1113,17 @@ identityKey: string
1109
1113
 
1110
1114
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1111
1115
 
1116
+ ---
1117
+ ##### Interface: ValidateGenerateChangeSdkParamsResult
1118
+
1119
+ ```ts
1120
+ export interface ValidateGenerateChangeSdkParamsResult {
1121
+ hasMaxPossibleOutput?: number;
1122
+ }
1123
+ ```
1124
+
1125
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1126
+
1112
1127
  ---
1113
1128
  ##### Interface: WalletStorageServerOptions
1114
1129
 
@@ -3956,10 +3971,10 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
3956
3971
  ##### Function: validateGenerateChangeSdkParams
3957
3972
 
3958
3973
  ```ts
3959
- export function validateGenerateChangeSdkParams(params: GenerateChangeSdkParams)
3974
+ export function validateGenerateChangeSdkParams(params: GenerateChangeSdkParams): ValidateGenerateChangeSdkParamsResult
3960
3975
  ```
3961
3976
 
3962
- See also: [GenerateChangeSdkParams](./storage.md#interface-generatechangesdkparams)
3977
+ See also: [GenerateChangeSdkParams](./storage.md#interface-generatechangesdkparams), [ValidateGenerateChangeSdkParamsResult](./storage.md#interface-validategeneratechangesdkparamsresult)
3963
3978
 
3964
3979
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
3965
3980
 
@@ -4051,6 +4066,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
4051
4066
 
4052
4067
  | |
4053
4068
  | --- |
4069
+ | [maxPossibleSatoshis](#variable-maxpossiblesatoshis) |
4054
4070
  | [outputColumnsWithoutLockingScript](#variable-outputcolumnswithoutlockingscript) |
4055
4071
  | [transactionColumnsWithoutRawTx](#variable-transactioncolumnswithoutrawtx) |
4056
4072
 
@@ -4058,6 +4074,15 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
4058
4074
 
4059
4075
  ---
4060
4076
 
4077
+ ##### Variable: maxPossibleSatoshis
4078
+
4079
+ ```ts
4080
+ maxPossibleSatoshis = 2099999999999999
4081
+ ```
4082
+
4083
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
4084
+
4085
+ ---
4061
4086
  ##### Variable: outputColumnsWithoutLockingScript
4062
4087
 
4063
4088
  ```ts