@flashnet/sdk 0.3.5 → 0.3.7

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 (58) hide show
  1. package/dist/cjs/index.d.ts +2 -1
  2. package/dist/cjs/index.d.ts.map +1 -1
  3. package/dist/cjs/index.js +17 -0
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/src/api/client.d.ts +11 -0
  6. package/dist/cjs/src/api/client.d.ts.map +1 -1
  7. package/dist/cjs/src/api/client.js.map +1 -1
  8. package/dist/cjs/src/client/FlashnetClient.d.ts +2 -1
  9. package/dist/cjs/src/client/FlashnetClient.d.ts.map +1 -1
  10. package/dist/cjs/src/client/FlashnetClient.js +8 -6
  11. package/dist/cjs/src/client/FlashnetClient.js.map +1 -1
  12. package/dist/cjs/src/config/index.d.ts +60 -2
  13. package/dist/cjs/src/config/index.d.ts.map +1 -1
  14. package/dist/cjs/src/config/index.js +184 -6
  15. package/dist/cjs/src/config/index.js.map +1 -1
  16. package/dist/cjs/src/types/index.d.ts +106 -3
  17. package/dist/cjs/src/types/index.d.ts.map +1 -1
  18. package/dist/cjs/src/types/index.js +5 -0
  19. package/dist/cjs/src/types/index.js.map +1 -1
  20. package/dist/cjs/src/utils/index.js +5 -0
  21. package/dist/cjs/src/utils/index.js.map +1 -1
  22. package/dist/cjs/src/utils/spark-address.d.ts +61 -13
  23. package/dist/cjs/src/utils/spark-address.d.ts.map +1 -1
  24. package/dist/cjs/src/utils/spark-address.js +192 -30
  25. package/dist/cjs/src/utils/spark-address.js.map +1 -1
  26. package/dist/cjs/src/utils/tokenAddress.d.ts +28 -1
  27. package/dist/cjs/src/utils/tokenAddress.d.ts.map +1 -1
  28. package/dist/cjs/src/utils/tokenAddress.js +63 -0
  29. package/dist/cjs/src/utils/tokenAddress.js.map +1 -1
  30. package/dist/esm/index.d.ts +2 -1
  31. package/dist/esm/index.d.ts.map +1 -1
  32. package/dist/esm/index.js +3 -2
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/src/api/client.d.ts +11 -0
  35. package/dist/esm/src/api/client.d.ts.map +1 -1
  36. package/dist/esm/src/api/client.js.map +1 -1
  37. package/dist/esm/src/client/FlashnetClient.d.ts +2 -1
  38. package/dist/esm/src/client/FlashnetClient.d.ts.map +1 -1
  39. package/dist/esm/src/client/FlashnetClient.js +8 -6
  40. package/dist/esm/src/client/FlashnetClient.js.map +1 -1
  41. package/dist/esm/src/config/index.d.ts +60 -2
  42. package/dist/esm/src/config/index.d.ts.map +1 -1
  43. package/dist/esm/src/config/index.js +178 -7
  44. package/dist/esm/src/config/index.js.map +1 -1
  45. package/dist/esm/src/types/index.d.ts +106 -3
  46. package/dist/esm/src/types/index.d.ts.map +1 -1
  47. package/dist/esm/src/types/index.js +5 -0
  48. package/dist/esm/src/types/index.js.map +1 -1
  49. package/dist/esm/src/utils/index.js +1 -1
  50. package/dist/esm/src/utils/spark-address.d.ts +61 -13
  51. package/dist/esm/src/utils/spark-address.d.ts.map +1 -1
  52. package/dist/esm/src/utils/spark-address.js +188 -31
  53. package/dist/esm/src/utils/spark-address.js.map +1 -1
  54. package/dist/esm/src/utils/tokenAddress.d.ts +28 -1
  55. package/dist/esm/src/utils/tokenAddress.d.ts.map +1 -1
  56. package/dist/esm/src/utils/tokenAddress.js +62 -1
  57. package/dist/esm/src/utils/tokenAddress.js.map +1 -1
  58. package/package.json +1 -1
@@ -1,6 +1,61 @@
1
1
  import { bech32m } from '@scure/base';
2
2
  import { hexToBytes, bytesToHex } from '@noble/hashes/utils';
3
3
 
4
+ const SparkHumanReadableTokenIdentifierNetworkPrefix = {
5
+ MAINNET: "btkn",
6
+ REGTEST: "btknrt",
7
+ TESTNET: "btknt",
8
+ SIGNET: "btkns",
9
+ LOCAL: "btknl",
10
+ };
11
+ /**
12
+ * Encode token identifier using Spark network type
13
+ * @param tokenIdentifier Token identifier as hex string or Uint8Array
14
+ * @param network Spark network type
15
+ * @returns Human-readable token identifier
16
+ */
17
+ function encodeSparkHumanReadableTokenIdentifier(tokenIdentifier, network) {
18
+ try {
19
+ // Convert hex string to bytes if needed
20
+ const tokenIdentifierBytes = typeof tokenIdentifier === "string"
21
+ ? hexToBytes(tokenIdentifier)
22
+ : tokenIdentifier;
23
+ const words = bech32m.toWords(tokenIdentifierBytes);
24
+ return bech32m.encode(SparkHumanReadableTokenIdentifierNetworkPrefix[network], words, 500);
25
+ }
26
+ catch {
27
+ throw new Error("Failed to encode Spark human readable token identifier");
28
+ }
29
+ }
30
+ /**
31
+ * Decode human-readable token identifier using Spark network type
32
+ * @param humanReadableTokenIdentifier Human-readable token identifier
33
+ * @param network Expected Spark network type
34
+ * @returns Object containing token identifier and network
35
+ */
36
+ function decodeSparkHumanReadableTokenIdentifier(humanReadableTokenIdentifier, network) {
37
+ try {
38
+ const decoded = bech32m.decode(humanReadableTokenIdentifier, 500);
39
+ if (decoded.prefix !== SparkHumanReadableTokenIdentifierNetworkPrefix[network]) {
40
+ throw new Error(`Invalid Spark human readable token identifier prefix, expected '${SparkHumanReadableTokenIdentifierNetworkPrefix[network]}' but got '${decoded.prefix}'`);
41
+ }
42
+ const tokenIdentifier = bech32m.fromWords(decoded.words);
43
+ return {
44
+ tokenIdentifier: bytesToHex(tokenIdentifier),
45
+ network,
46
+ };
47
+ }
48
+ catch (error) {
49
+ if (error instanceof Error) {
50
+ throw error;
51
+ }
52
+ throw new Error("Failed to decode Spark human readable token identifier");
53
+ }
54
+ }
55
+ // ===== BACKWARD COMPATIBILITY LAYER =====
56
+ /**
57
+ * @deprecated Use SparkHumanReadableTokenIdentifierNetworkPrefix instead
58
+ */
4
59
  const HumanReadableTokenIdentifierNetworkPrefix = {
5
60
  MAINNET: "btkn",
6
61
  REGTEST: "btknrt",
@@ -8,6 +63,9 @@ const HumanReadableTokenIdentifierNetworkPrefix = {
8
63
  SIGNET: "btkns",
9
64
  LOCAL: "btknl",
10
65
  };
66
+ /**
67
+ * @deprecated Use encodeSparkHumanReadableTokenIdentifier with SparkNetworkType instead
68
+ */
11
69
  function encodeHumanReadableTokenIdentifier(tokenIdentifier, network) {
12
70
  try {
13
71
  // Convert hex string to bytes if needed
@@ -21,6 +79,9 @@ function encodeHumanReadableTokenIdentifier(tokenIdentifier, network) {
21
79
  throw new Error("Failed to encode human readable token identifier");
22
80
  }
23
81
  }
82
+ /**
83
+ * @deprecated Use decodeSparkHumanReadableTokenIdentifier with SparkNetworkType instead
84
+ */
24
85
  function decodeHumanReadableTokenIdentifier(humanReadableTokenIdentifier, network) {
25
86
  try {
26
87
  const decoded = bech32m.decode(humanReadableTokenIdentifier, 500);
@@ -41,5 +102,5 @@ function decodeHumanReadableTokenIdentifier(humanReadableTokenIdentifier, networ
41
102
  }
42
103
  }
43
104
 
44
- export { decodeHumanReadableTokenIdentifier, encodeHumanReadableTokenIdentifier };
105
+ export { decodeHumanReadableTokenIdentifier, decodeSparkHumanReadableTokenIdentifier, encodeHumanReadableTokenIdentifier, encodeSparkHumanReadableTokenIdentifier };
45
106
  //# sourceMappingURL=tokenAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenAddress.js","sources":["../../../../../../src/utils/tokenAddress.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA,MAAM,yCAAyC,GAAgC;AAC7E,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,KAAK,EAAE,OAAO;CACf;AASK,SAAU,kCAAkC,CAChD,eAAoC,EACpC,OAAoB,EAAA;AAEpB,IAAA,IAAI;;AAEF,QAAA,MAAM,oBAAoB,GACxB,OAAO,eAAe,KAAK;AACzB,cAAE,UAAU,CAAC,eAAe;cAC1B,eAAe;QAErB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC;AACnD,QAAA,OAAO,OAAO,CAAC,MAAM,CACnB,yCAAyC,CAAC,OAAO,CAAC,EAClD,KAAK,EACL,GAAG,CAC4B;IACnC;AAAE,IAAA,MAAM;AACN,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC;IACrE;AACF;AAEM,SAAU,kCAAkC,CAChD,4BAA0D,EAC1D,OAAoB,EAAA;AAEpB,IAAA,IAAI;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,4BAA4D,EAC5D,GAAG,CACJ;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,yCAAyC,CAAC,OAAO,CAAC,EAAE;AACzE,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,0DAAA,EAA6D,yCAAyC,CAAC,OAAO,CAAC,CAAA,WAAA,EAAc,OAAO,CAAC,MAAM,CAAA,CAAA,CAAG,CAC/I;QACH;QAEA,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QAExD,OAAO;AACL,YAAA,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC;YAC5C,OAAO;SACR;IACH;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,IAAI,KAAK,YAAY,KAAK,EAAE;AAC1B,YAAA,MAAM,KAAK;QACb;AACA,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC;IACrE;AACF;;;;"}
1
+ {"version":3,"file":"tokenAddress.js","sources":["../../../../../../src/utils/tokenAddress.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA,MAAM,8CAA8C,GAAqC;AACvF,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,KAAK,EAAE,OAAO;CACf;AASD;;;;;AAKG;AACG,SAAU,uCAAuC,CACrD,eAAoC,EACpC,OAAyB,EAAA;AAEzB,IAAA,IAAI;;AAEF,QAAA,MAAM,oBAAoB,GACxB,OAAO,eAAe,KAAK;AACzB,cAAE,UAAU,CAAC,eAAe;cAC1B,eAAe;QAErB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC;AACnD,QAAA,OAAO,OAAO,CAAC,MAAM,CACnB,8CAA8C,CAAC,OAAO,CAAC,EACvD,KAAK,EACL,GAAG,CACiC;IACxC;AAAE,IAAA,MAAM;AACN,QAAA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC;IAC3E;AACF;AAEA;;;;;AAKG;AACG,SAAU,uCAAuC,CACrD,4BAA+D,EAC/D,OAAyB,EAAA;AAEzB,IAAA,IAAI;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,4BAAiE,EACjE,GAAG,CACJ;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,8CAA8C,CAAC,OAAO,CAAC,EAAE;AAC9E,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,gEAAA,EAAmE,8CAA8C,CAAC,OAAO,CAAC,CAAA,WAAA,EAAc,OAAO,CAAC,MAAM,CAAA,CAAA,CAAG,CAC1J;QACH;QAEA,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QAExD,OAAO;AACL,YAAA,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC;YAC5C,OAAO;SACR;IACH;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,IAAI,KAAK,YAAY,KAAK,EAAE;AAC1B,YAAA,MAAM,KAAK;QACb;AACA,QAAA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC;IAC3E;AACF;AAEA;AAEA;;AAEG;AACH,MAAM,yCAAyC,GAAgC;AAC7E,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,KAAK,EAAE,OAAO;CACf;AAYD;;AAEG;AACG,SAAU,kCAAkC,CAChD,eAAoC,EACpC,OAAoB,EAAA;AAEpB,IAAA,IAAI;;AAEF,QAAA,MAAM,oBAAoB,GACxB,OAAO,eAAe,KAAK;AACzB,cAAE,UAAU,CAAC,eAAe;cAC1B,eAAe;QAErB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC;AACnD,QAAA,OAAO,OAAO,CAAC,MAAM,CACnB,yCAAyC,CAAC,OAAO,CAAC,EAClD,KAAK,EACL,GAAG,CAC4B;IACnC;AAAE,IAAA,MAAM;AACN,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC;IACrE;AACF;AAEA;;AAEG;AACG,SAAU,kCAAkC,CAChD,4BAA0D,EAC1D,OAAoB,EAAA;AAEpB,IAAA,IAAI;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,4BAA4D,EAC5D,GAAG,CACJ;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,yCAAyC,CAAC,OAAO,CAAC,EAAE;AACzE,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,0DAAA,EAA6D,yCAAyC,CAAC,OAAO,CAAC,CAAA,WAAA,EAAc,OAAO,CAAC,MAAM,CAAA,CAAA,CAAG,CAC/I;QACH;QAEA,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QAExD,OAAO;AACL,YAAA,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC;YAC5C,OAAO;SACR;IACH;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,IAAI,KAAK,YAAY,KAAK,EAAE;AAC1B,YAAA,MAAM,KAAK;QACb;AACA,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC;IACrE;AACF;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flashnet/sdk",
3
- "version": "0.3.5",
3
+ "version": "0.3.7",
4
4
  "main": "./dist/cjs/index.js",
5
5
  "module": "./dist/esm/index.js",
6
6
  "types": "./dist/esm/index.d.ts",