@ledgerhq/coin-sui 0.9.0 → 0.10.0-nightly.1

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 (159) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.unimportedrc.json +1 -1
  3. package/CHANGELOG.md +26 -0
  4. package/lib/api/index.d.ts.map +1 -1
  5. package/lib/api/index.integration.test.js +21 -2
  6. package/lib/api/index.integration.test.js.map +1 -1
  7. package/lib/api/index.js +2 -0
  8. package/lib/api/index.js.map +1 -1
  9. package/lib/api/index.test.js +37 -0
  10. package/lib/api/index.test.js.map +1 -1
  11. package/lib/bridge/buildTransaction.d.ts +1 -3
  12. package/lib/bridge/buildTransaction.d.ts.map +1 -1
  13. package/lib/bridge/buildTransaction.integration.test.js +17 -35
  14. package/lib/bridge/buildTransaction.integration.test.js.map +1 -1
  15. package/lib/bridge/buildTransaction.js +10 -21
  16. package/lib/bridge/buildTransaction.js.map +1 -1
  17. package/lib/bridge/buildTransaction.test.js +33 -130
  18. package/lib/bridge/buildTransaction.test.js.map +1 -1
  19. package/lib/bridge/getFeesForTransaction.d.ts.map +1 -1
  20. package/lib/bridge/getFeesForTransaction.js +5 -1
  21. package/lib/bridge/getFeesForTransaction.js.map +1 -1
  22. package/lib/logic/craftTransaction.d.ts +2 -2
  23. package/lib/logic/craftTransaction.d.ts.map +1 -1
  24. package/lib/logic/craftTransaction.integration.test.d.ts +2 -0
  25. package/lib/logic/craftTransaction.integration.test.d.ts.map +1 -0
  26. package/lib/logic/craftTransaction.integration.test.js +56 -0
  27. package/lib/logic/craftTransaction.integration.test.js.map +1 -0
  28. package/lib/logic/craftTransaction.js +2 -2
  29. package/lib/logic/craftTransaction.js.map +1 -1
  30. package/lib/logic/estimateFees.d.ts +1 -1
  31. package/lib/logic/estimateFees.d.ts.map +1 -1
  32. package/lib/logic/estimateFees.integration.test.d.ts +2 -0
  33. package/lib/logic/estimateFees.integration.test.d.ts.map +1 -0
  34. package/lib/logic/estimateFees.integration.test.js +79 -0
  35. package/lib/logic/estimateFees.integration.test.js.map +1 -0
  36. package/lib/logic/estimateFees.js +7 -2
  37. package/lib/logic/estimateFees.js.map +1 -1
  38. package/lib/logic/getBalance.d.ts.map +1 -1
  39. package/lib/logic/getBalance.integration.test.d.ts +2 -0
  40. package/lib/logic/getBalance.integration.test.d.ts.map +1 -0
  41. package/lib/logic/getBalance.integration.test.js +56 -0
  42. package/lib/logic/getBalance.integration.test.js.map +1 -0
  43. package/lib/logic/getBalance.js +18 -7
  44. package/lib/logic/getBalance.js.map +1 -1
  45. package/lib/logic/getBalance.test.js +49 -7
  46. package/lib/logic/getBalance.test.js.map +1 -1
  47. package/lib/logic/index.d.ts +1 -0
  48. package/lib/logic/index.d.ts.map +1 -1
  49. package/lib/logic/index.js +4 -1
  50. package/lib/logic/index.js.map +1 -1
  51. package/lib/logic/staking.d.ts +4 -0
  52. package/lib/logic/staking.d.ts.map +1 -0
  53. package/lib/logic/staking.js +36 -0
  54. package/lib/logic/staking.js.map +1 -0
  55. package/lib/network/index.d.ts +6 -6
  56. package/lib/network/index.d.ts.map +1 -1
  57. package/lib/network/index.js +9 -3
  58. package/lib/network/index.js.map +1 -1
  59. package/lib/network/sdk.d.ts +27 -19
  60. package/lib/network/sdk.d.ts.map +1 -1
  61. package/lib/network/sdk.integration.test.js +21 -22
  62. package/lib/network/sdk.integration.test.js.map +1 -1
  63. package/lib/network/sdk.js +113 -68
  64. package/lib/network/sdk.js.map +1 -1
  65. package/lib/network/sdk.test.js +148 -65
  66. package/lib/network/sdk.test.js.map +1 -1
  67. package/lib/test/testUtils.d.ts +2 -0
  68. package/lib/test/testUtils.d.ts.map +1 -0
  69. package/lib/test/testUtils.js +35 -0
  70. package/lib/test/testUtils.js.map +1 -0
  71. package/lib-es/api/index.d.ts.map +1 -1
  72. package/lib-es/api/index.integration.test.js +21 -2
  73. package/lib-es/api/index.integration.test.js.map +1 -1
  74. package/lib-es/api/index.js +3 -1
  75. package/lib-es/api/index.js.map +1 -1
  76. package/lib-es/api/index.test.js +37 -0
  77. package/lib-es/api/index.test.js.map +1 -1
  78. package/lib-es/bridge/buildTransaction.d.ts +1 -3
  79. package/lib-es/bridge/buildTransaction.d.ts.map +1 -1
  80. package/lib-es/bridge/buildTransaction.integration.test.js +13 -31
  81. package/lib-es/bridge/buildTransaction.integration.test.js.map +1 -1
  82. package/lib-es/bridge/buildTransaction.js +9 -16
  83. package/lib-es/bridge/buildTransaction.js.map +1 -1
  84. package/lib-es/bridge/buildTransaction.test.js +34 -131
  85. package/lib-es/bridge/buildTransaction.test.js.map +1 -1
  86. package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -1
  87. package/lib-es/bridge/getFeesForTransaction.js +5 -1
  88. package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
  89. package/lib-es/logic/craftTransaction.d.ts +2 -2
  90. package/lib-es/logic/craftTransaction.d.ts.map +1 -1
  91. package/lib-es/logic/craftTransaction.integration.test.d.ts +2 -0
  92. package/lib-es/logic/craftTransaction.integration.test.d.ts.map +1 -0
  93. package/lib-es/logic/craftTransaction.integration.test.js +51 -0
  94. package/lib-es/logic/craftTransaction.integration.test.js.map +1 -0
  95. package/lib-es/logic/craftTransaction.js +2 -2
  96. package/lib-es/logic/craftTransaction.js.map +1 -1
  97. package/lib-es/logic/estimateFees.d.ts +1 -1
  98. package/lib-es/logic/estimateFees.d.ts.map +1 -1
  99. package/lib-es/logic/estimateFees.integration.test.d.ts +2 -0
  100. package/lib-es/logic/estimateFees.integration.test.d.ts.map +1 -0
  101. package/lib-es/logic/estimateFees.integration.test.js +74 -0
  102. package/lib-es/logic/estimateFees.integration.test.js.map +1 -0
  103. package/lib-es/logic/estimateFees.js +7 -2
  104. package/lib-es/logic/estimateFees.js.map +1 -1
  105. package/lib-es/logic/getBalance.d.ts.map +1 -1
  106. package/lib-es/logic/getBalance.integration.test.d.ts +2 -0
  107. package/lib-es/logic/getBalance.integration.test.d.ts.map +1 -0
  108. package/lib-es/logic/getBalance.integration.test.js +51 -0
  109. package/lib-es/logic/getBalance.integration.test.js.map +1 -0
  110. package/lib-es/logic/getBalance.js +19 -8
  111. package/lib-es/logic/getBalance.js.map +1 -1
  112. package/lib-es/logic/getBalance.test.js +50 -8
  113. package/lib-es/logic/getBalance.test.js.map +1 -1
  114. package/lib-es/logic/index.d.ts +1 -0
  115. package/lib-es/logic/index.d.ts.map +1 -1
  116. package/lib-es/logic/index.js +1 -0
  117. package/lib-es/logic/index.js.map +1 -1
  118. package/lib-es/logic/staking.d.ts +4 -0
  119. package/lib-es/logic/staking.d.ts.map +1 -0
  120. package/lib-es/logic/staking.js +8 -0
  121. package/lib-es/logic/staking.js.map +1 -0
  122. package/lib-es/network/index.d.ts +6 -6
  123. package/lib-es/network/index.d.ts.map +1 -1
  124. package/lib-es/network/index.js +6 -3
  125. package/lib-es/network/index.js.map +1 -1
  126. package/lib-es/network/sdk.d.ts +27 -19
  127. package/lib-es/network/sdk.d.ts.map +1 -1
  128. package/lib-es/network/sdk.integration.test.js +22 -23
  129. package/lib-es/network/sdk.integration.test.js.map +1 -1
  130. package/lib-es/network/sdk.js +106 -64
  131. package/lib-es/network/sdk.js.map +1 -1
  132. package/lib-es/network/sdk.test.js +148 -65
  133. package/lib-es/network/sdk.test.js.map +1 -1
  134. package/lib-es/test/testUtils.d.ts +2 -0
  135. package/lib-es/test/testUtils.d.ts.map +1 -0
  136. package/lib-es/test/testUtils.js +31 -0
  137. package/lib-es/test/testUtils.js.map +1 -0
  138. package/package.json +7 -7
  139. package/src/api/index.integration.test.ts +24 -2
  140. package/src/api/index.test.ts +40 -0
  141. package/src/api/index.ts +4 -0
  142. package/src/bridge/buildTransaction.integration.test.ts +14 -39
  143. package/src/bridge/buildTransaction.test.ts +37 -160
  144. package/src/bridge/buildTransaction.ts +12 -21
  145. package/src/bridge/getFeesForTransaction.ts +6 -1
  146. package/src/logic/craftTransaction.integration.test.ts +63 -0
  147. package/src/logic/craftTransaction.ts +4 -4
  148. package/src/logic/estimateFees.integration.test.ts +89 -0
  149. package/src/logic/estimateFees.ts +7 -1
  150. package/src/logic/getBalance.integration.test.ts +66 -0
  151. package/src/logic/getBalance.test.ts +58 -8
  152. package/src/logic/getBalance.ts +24 -8
  153. package/src/logic/index.ts +1 -0
  154. package/src/logic/staking.ts +10 -0
  155. package/src/network/index.ts +12 -3
  156. package/src/network/sdk.integration.test.ts +25 -22
  157. package/src/network/sdk.test.ts +186 -77
  158. package/src/network/sdk.ts +149 -93
  159. package/src/test/testUtils.ts +38 -0
@@ -0,0 +1,74 @@
1
+ import { getFullnodeUrl } from "@mysten/sui/client";
2
+ import coinConfig from "../config";
3
+ import { estimateFees } from "./estimateFees";
4
+ const SENDER = "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0";
5
+ const RECIPIENT = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
6
+ describe("estimateFees", () => {
7
+ beforeAll(() => {
8
+ coinConfig.setCoinConfig(() => ({
9
+ status: {
10
+ type: "active",
11
+ },
12
+ node: {
13
+ url: getFullnodeUrl("mainnet"),
14
+ },
15
+ }));
16
+ });
17
+ it("should estimate fees for native SUI transaction", async () => {
18
+ const transactionIntent = {
19
+ sender: SENDER,
20
+ recipient: RECIPIENT,
21
+ amount: BigInt(1000),
22
+ type: "send",
23
+ asset: { type: "native" },
24
+ };
25
+ const estimatedFees = await estimateFees(transactionIntent);
26
+ expect(typeof estimatedFees).toBe("bigint");
27
+ expect(estimatedFees).toBeGreaterThan(1000n);
28
+ expect(estimatedFees).toBeLessThan(10000000n);
29
+ }, 25000);
30
+ it("should estimate fees for token transaction", async () => {
31
+ const coinType = "0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT";
32
+ const transactionIntent = {
33
+ sender: SENDER,
34
+ recipient: RECIPIENT,
35
+ amount: BigInt(1000),
36
+ type: "send",
37
+ asset: {
38
+ type: "token",
39
+ assetReference: coinType,
40
+ },
41
+ };
42
+ const estimatedFees = await estimateFees(transactionIntent);
43
+ expect(typeof estimatedFees).toBe("bigint");
44
+ expect(estimatedFees).toBeGreaterThan(1000n);
45
+ expect(estimatedFees).toBeLessThan(10000000n);
46
+ }, 25000);
47
+ it("should handle concurrent fee estimations", async () => {
48
+ const transactionIntent = {
49
+ sender: SENDER,
50
+ recipient: RECIPIENT,
51
+ amount: BigInt(1000),
52
+ type: "send",
53
+ asset: { type: "native" },
54
+ };
55
+ // Run multiple concurrent estimations
56
+ const promises = Array(5)
57
+ .fill(0)
58
+ .map(() => estimateFees(transactionIntent));
59
+ const results = await Promise.all(promises);
60
+ // All results should be valid
61
+ results.forEach(fees => {
62
+ expect(typeof fees).toBe("bigint");
63
+ expect(fees).toBeGreaterThan(1000n);
64
+ expect(fees).toBeLessThan(10000000n);
65
+ });
66
+ // Results should be similar (may have slight variations)
67
+ const values = results.map(r => Number(r));
68
+ const minValue = Math.min(...values);
69
+ const maxValue = Math.max(...values);
70
+ // Should not vary by more than 50% under concurrent load
71
+ expect((maxValue - minValue) / minValue).toBeLessThan(0.5);
72
+ }, 25000);
73
+ });
74
+ //# sourceMappingURL=estimateFees.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimateFees.integration.test.js","sourceRoot":"","sources":["../../src/logic/estimateFees.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,18 @@
1
1
  import suiAPI from "../network";
2
2
  import { BigNumber } from "bignumber.js";
3
- export async function estimateFees({ recipient, amount, sender, }) {
3
+ import { DEFAULT_COIN_TYPE } from "../network/sdk";
4
+ export async function estimateFees({ recipient, amount, sender, asset, }) {
5
+ let coinType = DEFAULT_COIN_TYPE;
6
+ if (asset.type === "token" && asset.assetReference) {
7
+ coinType = asset.assetReference;
8
+ }
4
9
  const { gasBudget } = await suiAPI.paymentInfo(sender, {
5
10
  mode: "send",
6
11
  family: "sui",
7
12
  recipient,
8
13
  amount: BigNumber(amount.toString()),
9
14
  errors: {},
10
- coinType: "0x2::sui::SUI",
15
+ coinType,
11
16
  });
12
17
  return BigInt(gasBudget);
13
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../src/logic/estimateFees.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,SAAS,EACT,MAAM,EACN,MAAM,GACY;IAClB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;QACrD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,KAAK;QACb,SAAS;QACT,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../src/logic/estimateFees.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,SAAS,EACT,MAAM,EACN,MAAM,EACN,KAAK,GACa;IAClB,IAAI,QAAQ,GAAG,iBAAiB,CAAC;IACjC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACnD,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAClC,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;QACrD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,KAAK;QACb,SAAS;QACT,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,EAAE,EAAE;QACV,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.d.ts","sourceRoot":"","sources":["../../src/logic/getBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAE7D,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAQpE"}
1
+ {"version":3,"file":"getBalance.d.ts","sourceRoot":"","sources":["../../src/logic/getBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAG7D,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAMpE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getBalance.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBalance.integration.test.d.ts","sourceRoot":"","sources":["../../src/logic/getBalance.integration.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import { getFullnodeUrl } from "@mysten/sui/client";
2
+ import coinConfig from "../config";
3
+ import { getBalance } from "./getBalance";
4
+ const SENDER = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
5
+ describe("getBalance", () => {
6
+ beforeAll(() => {
7
+ coinConfig.setCoinConfig(() => ({
8
+ status: {
9
+ type: "active",
10
+ },
11
+ node: {
12
+ url: getFullnodeUrl("testnet"),
13
+ },
14
+ }));
15
+ });
16
+ it("should fetch native SUI balance", async () => {
17
+ const balances = await getBalance(SENDER);
18
+ expect(balances.length).toBeGreaterThanOrEqual(1);
19
+ expect(balances[0]).toMatchObject({
20
+ asset: { type: "native" },
21
+ });
22
+ expect(typeof balances[0].value).toBe("bigint");
23
+ expect(balances[0].value).toBeGreaterThanOrEqual(0n);
24
+ }, 10000);
25
+ it("should fetch token balances", async () => {
26
+ const balances = await getBalance(SENDER);
27
+ expect(balances.length).toBeGreaterThanOrEqual(1);
28
+ const tokenBalances = balances.filter(balance => balance.asset.type === "token");
29
+ tokenBalances.forEach(balance => {
30
+ expect(balance.asset.type).toBe("token");
31
+ if (balance.asset.type === "token") {
32
+ expect(balance.asset.assetReference).toMatch(/^0x[a-fA-F0-9]+::[a-zA-Z0-9_]+::[a-zA-Z0-9_]+$/);
33
+ }
34
+ expect(typeof balance.value).toBe("bigint");
35
+ expect(balance.value).toBeGreaterThanOrEqual(0n);
36
+ });
37
+ }, 15000);
38
+ it("should properly parse token asset reference", async () => {
39
+ const balances = await getBalance(SENDER);
40
+ const usdTokens = balances.filter(balance => balance.asset.type === "token" &&
41
+ balance.asset.assetReference?.toLowerCase().includes("usd"));
42
+ usdTokens.forEach(balance => {
43
+ expect(balance.asset.type).toBe("token");
44
+ if (balance.asset.type === "token") {
45
+ expect(balance.asset.assetReference).toBeTruthy();
46
+ }
47
+ expect(typeof balance.value).toBe("bigint");
48
+ });
49
+ }, 15000);
50
+ });
51
+ //# sourceMappingURL=getBalance.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBalance.integration.test.js","sourceRoot":"","sources":["../../src/logic/getBalance.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,22 @@
1
- import { getAccount } from "../network";
1
+ import { getStakes, getAllBalancesCached } from "../network";
2
+ import { toSuiAsset } from "../network/sdk";
2
3
  export async function getBalance(address) {
3
- const { balance } = await getAccount(address);
4
- return [
5
- {
6
- value: BigInt(balance.toString()),
7
- asset: { type: "native" },
8
- },
9
- ];
4
+ const [native, staking] = await Promise.all([
5
+ getNativeBalance(address),
6
+ getStakingBalances(address),
7
+ ]);
8
+ return [...native, ...staking];
10
9
  }
10
+ const getNativeBalance = async (address) => {
11
+ const balances = await getAllBalancesCached(address);
12
+ return balances.map(({ coinType, totalBalance }) => ({
13
+ value: BigInt(totalBalance),
14
+ asset: toSuiAsset(coinType),
15
+ }));
16
+ };
17
+ const getStakingBalances = (address) => getStakes(address).then(stakes => stakes.map(stake => ({
18
+ value: stake.amount,
19
+ asset: stake.asset,
20
+ stake: stake,
21
+ })));
11
22
  //# sourceMappingURL=getBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../src/logic/getBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO;QACL;YACE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../src/logic/getBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,gBAAgB,CAAC,OAAO,CAAC;QACzB,kBAAkB,CAAC,OAAO,CAAC;KAC5B,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAe,EAAsB,EAAE;IACrE,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;QAC3B,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;KAC5B,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAsB,EAAE,CACjE,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAC/B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC,MAAM;IACnB,KAAK,EAAE,KAAK,CAAC,KAAK;IAClB,KAAK,EAAE,KAAK;CACb,CAAC,CAAC,CACJ,CAAC"}
@@ -1,20 +1,62 @@
1
1
  import { getBalance } from "./getBalance";
2
- import { getAccount } from "../network";
3
- // Mock the getAccount function
2
+ import { getAllBalancesCached, getStakes } from "../network";
4
3
  jest.mock("../network", () => ({
5
- getAccount: jest.fn().mockResolvedValue({ balance: 1000000000 }),
4
+ getAllBalancesCached: jest.fn().mockResolvedValue([
5
+ { coinType: "0x2::sui::SUI", totalBalance: 1000000000 },
6
+ { coinType: "0x3::usdt::USDT", totalBalance: 500000000 },
7
+ ]),
8
+ getStakes: jest.fn().mockResolvedValue([]),
6
9
  }));
10
+ const mockedGetStakes = jest.mocked(getStakes);
7
11
  describe("getBalance", () => {
8
12
  beforeEach(() => {
9
13
  jest.clearAllMocks();
10
14
  });
11
- it("should return the correct balance as bigint", async () => {
12
- // Mock the getAccount response
13
- const mockBalance = { balance: 1000000000 };
15
+ it("should return the correct native SUI balance", async () => {
14
16
  const address = "0x123";
15
17
  const result = await getBalance(address);
16
- expect(getAccount).toHaveBeenCalledWith(address);
17
- expect(result[0].value).toBe(BigInt(mockBalance.balance.toString()));
18
+ expect(result[0]).toMatchObject({
19
+ value: BigInt(1000000000),
20
+ asset: { type: "native" },
21
+ });
22
+ });
23
+ it("should return the correct USDT token balance", async () => {
24
+ const address = "0x123";
25
+ const result = await getBalance(address);
26
+ expect(result[1]).toMatchObject({
27
+ value: BigInt(500000000),
28
+ asset: { type: "token", assetReference: "0x3::usdt::USDT" },
29
+ });
30
+ });
31
+ it("should return staking balances when stakes are available", async () => {
32
+ const mockStakes = [
33
+ {
34
+ uid: "stake_1",
35
+ address: "0x123",
36
+ delegate: "0xvalidator1",
37
+ state: "active",
38
+ asset: { type: "native" },
39
+ amount: BigInt(2000000000),
40
+ },
41
+ ];
42
+ mockedGetStakes.mockResolvedValueOnce(mockStakes);
43
+ const address = "0x123";
44
+ const result = await getBalance(address);
45
+ expect(getAllBalancesCached).toHaveBeenCalledWith(address);
46
+ expect(getStakes).toHaveBeenCalledWith(address);
47
+ expect(result).toHaveLength(3);
48
+ expect(result[2]).toMatchObject({
49
+ value: BigInt(2000000000),
50
+ asset: { type: "native" },
51
+ stake: {
52
+ uid: "stake_1",
53
+ address: "0x123",
54
+ delegate: "0xvalidator1",
55
+ state: "active",
56
+ asset: { type: "native" },
57
+ amount: BigInt(2000000000),
58
+ },
59
+ });
18
60
  });
19
61
  });
20
62
  //# sourceMappingURL=getBalance.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.test.js","sourceRoot":"","sources":["../../src/logic/getBalance.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,+BAA+B;AAC/B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;CACjE,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,+BAA+B;QAC/B,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAE5C,MAAM,OAAO,GAAG,OAAO,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;QAEzC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"getBalance.test.js","sourceRoot":"","sources":["../../src/logic/getBalance.test.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,5 @@ export { getBalance } from "./getBalance";
6
6
  export { lastBlock } from "./lastBlock";
7
7
  export { getBlock, getBlockInfo } from "./getBlock";
8
8
  export { listOperations } from "./listOperations";
9
+ export { getStakes, getRewards } from "./staking";
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
@@ -6,4 +6,5 @@ export { getBalance } from "./getBalance";
6
6
  export { lastBlock } from "./lastBlock";
7
7
  export { getBlock, getBlockInfo } from "./getBlock";
8
8
  export { listOperations } from "./listOperations";
9
+ export { getStakes, getRewards } from "./staking";
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA2B,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA2B,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Cursor, Page, Stake, Reward } from "@ledgerhq/coin-framework/api/types";
2
+ export declare const getStakes: (address: string, _cursor?: Cursor) => Promise<Page<Stake>>;
3
+ export declare const getRewards: (_address: string, _cursor?: Cursor) => Promise<Page<Reward>>;
4
+ //# sourceMappingURL=staking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../src/logic/staking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAGjF,eAAO,MAAM,SAAS,YAAa,MAAM,YAAY,MAAM,KAAG,QAAQ,KAAK,KAAK,CAAC,CAEhF,CAAC;AAEF,eAAO,MAAM,UAAU,aAAc,MAAM,YAAY,MAAM,KAAG,QAAQ,KAAK,MAAM,CAAC,CAEnF,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as sdk from "../network";
2
+ export const getStakes = (address, _cursor) => {
3
+ return sdk.getStakes(address).then(stakes => ({ items: stakes }));
4
+ };
5
+ export const getRewards = (_address, _cursor) => {
6
+ throw new Error("getRewards is not supported");
7
+ };
8
+ //# sourceMappingURL=staking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staking.js","sourceRoot":"","sources":["../../src/logic/staking.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,OAAgB,EAAwB,EAAE;IACnF,OAAO,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,OAAgB,EAAyB,EAAE;IACtF,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AACjD,CAAC,CAAC"}
@@ -1,16 +1,16 @@
1
- import { getAccount, getAccountBalances, getOperations, paymentInfo, createTransaction, executeTransactionBlock } from "./sdk";
2
- export { getAccount, getAccountBalances, getOperations, paymentInfo, createTransaction, executeTransactionBlock, };
1
+ import { getAccountBalances, getAllBalancesCached, getOperations, getBlock, getBlockInfo, getStakes, paymentInfo, createTransaction, executeTransactionBlock } from "./sdk";
2
+ export { getAccountBalances, getAllBalancesCached, getOperations, getBlock, getBlockInfo, getStakes, paymentInfo, createTransaction, executeTransactionBlock, };
3
3
  declare const _default: {
4
- getAccount: (addr: string) => Promise<{
5
- blockHeight: number;
6
- balance: import("bignumber.js").BigNumber;
7
- }>;
8
4
  getAccountBalances: (addr: string) => Promise<{
9
5
  coinType: string;
10
6
  blockHeight: number;
11
7
  balance: import("bignumber.js").BigNumber;
12
8
  }[]>;
9
+ getAllBalancesCached: import("@ledgerhq/live-network/lib-es/cache").CacheRes<[owner: string], import("@mysten/sui/client").CoinBalance[]>;
13
10
  getOperations: (accountId: string, addr: string, cursor?: string | null | undefined) => Promise<import("@ledgerhq/types-live").Operation[]>;
11
+ getBlock: (id: string) => Promise<import("@ledgerhq/coin-framework/lib-es/api/types").Block>;
12
+ getBlockInfo: (id: string) => Promise<import("@ledgerhq/coin-framework/lib-es/api/types").BlockInfo>;
13
+ getStakes: (address: string) => Promise<import("@ledgerhq/coin-framework/lib-es/api/types").Stake[]>;
14
14
  paymentInfo: (sender: string, fakeTransaction: import("..").Transaction) => Promise<{
15
15
  gasBudget: string;
16
16
  totalGasUsed: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,uBAAuB,GACxB,CAAC;;;;;;;;;;;;;;;;;;;;AAEF,wBAOE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,uBAAuB,GACxB,CAAC;;;;;;;;;;;;;;;;;;;;AAEF,wBAUE"}
@@ -1,9 +1,12 @@
1
- import { getAccount, getAccountBalances, getOperations, paymentInfo, createTransaction, executeTransactionBlock, } from "./sdk";
2
- export { getAccount, getAccountBalances, getOperations, paymentInfo, createTransaction, executeTransactionBlock, };
1
+ import { getAccountBalances, getAllBalancesCached, getOperations, getBlock, getBlockInfo, getStakes, paymentInfo, createTransaction, executeTransactionBlock, } from "./sdk";
2
+ export { getAccountBalances, getAllBalancesCached, getOperations, getBlock, getBlockInfo, getStakes, paymentInfo, createTransaction, executeTransactionBlock, };
3
3
  export default {
4
- getAccount,
5
4
  getAccountBalances,
5
+ getAllBalancesCached,
6
6
  getOperations,
7
+ getBlock,
8
+ getBlockInfo,
9
+ getStakes,
7
10
  paymentInfo,
8
11
  createTransaction,
9
12
  executeTransactionBlock,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,uBAAuB,GACxB,CAAC;AAEF,eAAe;IACb,UAAU;IACV,kBAAkB;IAClB,aAAa;IACb,WAAW;IACX,iBAAiB;IACjB,uBAAuB;CACxB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,uBAAuB,GACxB,CAAC;AAEF,eAAe;IACb,kBAAkB;IAClB,oBAAoB;IACpB,aAAa;IACb,QAAQ;IACR,YAAY;IACZ,SAAS;IACT,WAAW;IACX,iBAAiB;IACjB,uBAAuB;CACxB,CAAC"}
@@ -1,6 +1,6 @@
1
- import { Checkpoint, ExecuteTransactionBlockParams, PaginatedTransactionResponse, SuiClient, SuiTransactionBlockResponse, TransactionBlockData, QueryTransactionBlocksParams, BalanceChange } from "@mysten/sui/client";
1
+ import { BalanceChange, Checkpoint, ExecuteTransactionBlockParams, PaginatedTransactionResponse, QueryTransactionBlocksParams, SuiClient, SuiTransactionBlockResponse, DelegatedStake, StakeObject, TransactionBlockData } from "@mysten/sui/client";
2
2
  import { BigNumber } from "bignumber.js";
3
- import type { Block, BlockInfo, BlockTransaction, BlockOperation, Operation as Op, AssetInfo } from "@ledgerhq/coin-framework/api/index";
3
+ import type { Block, BlockInfo, BlockTransaction, BlockOperation, Operation as Op, Stake, StakeState, AssetInfo } from "@ledgerhq/coin-framework/api/index";
4
4
  import type { Operation, OperationType } from "@ledgerhq/types-live";
5
5
  import type { Transaction as TransactionType } from "../types";
6
6
  import type { CreateExtrinsicArg } from "../logic/craftTransaction";
@@ -12,21 +12,7 @@ export declare const DEFAULT_COIN_TYPE = "0x2::sui::SUI";
12
12
  * Connects to Sui Api
13
13
  */
14
14
  export declare function withApi<T>(execute: AsyncApiFunction<T>): Promise<T>;
15
- export declare const getBalanceCached: import("@ledgerhq/live-network/cache").CacheRes<[params: {
16
- api: SuiClient;
17
- owner: string;
18
- }], import("@mysten/sui/client").CoinBalance>;
19
- export declare const getAllBalancesCached: import("@ledgerhq/live-network/cache").CacheRes<[params: {
20
- api: SuiClient;
21
- owner: string;
22
- }], import("@mysten/sui/client").CoinBalance[]>;
23
- /**
24
- * Get account balance
25
- */
26
- export declare const getAccount: (addr: string) => Promise<{
27
- blockHeight: number;
28
- balance: BigNumber;
29
- }>;
15
+ export declare const getAllBalancesCached: import("@ledgerhq/live-network/cache").CacheRes<[owner: string], import("@mysten/sui/client").CoinBalance[]>;
30
16
  /**
31
17
  * Get account balance (native and tokens)
32
18
  */
@@ -135,13 +121,28 @@ export declare const getBlockInfo: (id: string) => Promise<BlockInfo>;
135
121
  * @see {@link getBlockInfo}
136
122
  */
137
123
  export declare const getBlock: (id: string) => Promise<Block>;
124
+ /**
125
+ * Get coins for a given address and coin type, stopping when we have enough to cover the amount.
126
+ * Returns the minimum coins needed to cover the required amount.
127
+ */
128
+ export declare const getCoinsForAmount: (api: SuiClient, address: string, coinType: string, requiredAmount: number) => Promise<import("@mysten/sui/client").CoinStruct[]>;
129
+ /**
130
+ * Creates a Sui transaction block for transferring coins.
131
+ *
132
+ * @param address - The sender's address
133
+ * @param transaction - The transaction details including recipient, amount, and coin type
134
+ * @returns Promise<TransactionBlock> - A built transaction block ready for execution
135
+ *
136
+ */
137
+ export declare const createTransaction: (address: string, transaction: CreateExtrinsicArg) => Promise<Uint8Array>;
138
+ /**
139
+ * Performs a dry run of a transaction to estimate gas costs and fees
140
+ */
138
141
  export declare const paymentInfo: (sender: string, fakeTransaction: TransactionType) => Promise<{
139
142
  gasBudget: string;
140
143
  totalGasUsed: bigint;
141
144
  fees: bigint;
142
145
  }>;
143
- export declare const getCoinObjectIds: (address: string, transaction: CreateExtrinsicArg | TransactionType) => Promise<string[] | null>;
144
- export declare const createTransaction: (address: string, transaction: CreateExtrinsicArg) => Promise<Uint8Array>;
145
146
  export declare const executeTransactionBlock: (params: ExecuteTransactionBlockParams) => Promise<SuiTransactionBlockResponse>;
146
147
  /**
147
148
  * Fetch operations for a specific address and type until the limit is reached
@@ -174,5 +175,12 @@ export declare const queryTransactionsByDigest: (params: {
174
175
  api: SuiClient;
175
176
  digests: string[];
176
177
  }) => Promise<SuiTransactionBlockResponse[]>;
178
+ export declare const getStakes: (address: string) => Promise<Stake[]>;
179
+ export declare const toStakes: (address: string, delegation: DelegatedStake) => Stake[];
180
+ export declare const toStakeState: (status: "Pending" | "Active" | "Unstaked") => StakeState;
181
+ export declare const toStakeAmounts: (stake: StakeObject) => {
182
+ deposited: bigint;
183
+ rewarded: bigint;
184
+ };
177
185
  export {};
178
186
  //# sourceMappingURL=sdk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import BigNumber from "bignumber.js";
2
2
  import coinConfig from "../config";
3
- import { createTransaction, DEFAULT_COIN_TYPE, getAccountBalances, getOperations, getCheckpoint, paymentInfo, getBlock, getBlockInfo, } from "./sdk";
3
+ import { createTransaction, DEFAULT_COIN_TYPE, getAccountBalances, getOperations, getCheckpoint, paymentInfo, getBlock, getBlockInfo, getStakes, } from "./sdk";
4
4
  import { getFullnodeUrl } from "@mysten/sui/client";
5
5
  describe("SUI SDK Integration tests", () => {
6
6
  beforeAll(() => {
@@ -161,26 +161,6 @@ describe("SUI SDK Integration tests", () => {
161
161
  expect(checkpointById.transactions.length).toEqual(19);
162
162
  expect(checkpointById.digest).toEqual(checkpointBySequenceNumber.digest);
163
163
  });
164
- /*
165
- test("getCheckpointWithTransactions", async () => {
166
- const { checkpoint: checkpointById, transactions: checkpointByIdTransactions } =
167
- await getCheckpointWithTransactions("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
168
- const {
169
- checkpoint: checkpointBySequenceNumber,
170
- transactions: checkpointBySequenceNumberTransactions,
171
- } = await getCheckpointWithTransactions("164167623");
172
- expect(checkpointById.epoch).toEqual("814");
173
- expect(checkpointById.sequenceNumber).toEqual("164167623");
174
- expect(checkpointById.timestampMs).toEqual("1751696298663");
175
- expect(checkpointById.digest).toEqual("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
176
- expect(checkpointById.previousDigest).toEqual("6VKtVnpxstb968SzSrgYJ7zy5LXgFB6PnNHSJsT8Wr4E");
177
- expect(checkpointById.transactions.length).toEqual(19);
178
- expect(checkpointById).toEqual(checkpointBySequenceNumber);
179
- expect(checkpointByIdTransactions.length).toEqual(19);
180
- expect(checkpointBySequenceNumberTransactions.length).toEqual(19);
181
- expect(checkpointByIdTransactions).toEqual(checkpointBySequenceNumberTransactions);
182
- });
183
- */
184
164
  });
185
165
  describe("getBlockInfo", () => {
186
166
  test("getBlockInfo should get block info by id or sequence number", async () => {
@@ -190,7 +170,7 @@ describe("SUI SDK Integration tests", () => {
190
170
  expect(blockById.hash).toEqual("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
191
171
  expect(blockById.time).toEqual(new Date(1751696298663));
192
172
  expect(blockById.parent?.height).toEqual(164167622);
193
- // expect(blockById.parent?.hash).toEqual("TODO");
173
+ expect(blockById.parent?.hash).toEqual("6VKtVnpxstb968SzSrgYJ7zy5LXgFB6PnNHSJsT8Wr4E");
194
174
  expect(blockById).toEqual(blockBySequenceNumber);
195
175
  });
196
176
  });
@@ -202,10 +182,29 @@ describe("SUI SDK Integration tests", () => {
202
182
  expect(blockById.info.hash).toEqual("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
203
183
  expect(blockById.info.time).toEqual(new Date(1751696298663));
204
184
  expect(blockById.info.parent?.height).toEqual(164167622);
205
- // expect(blockById.info.parent?.hash).toEqual("TODO");
185
+ expect(blockById.info.parent?.hash).toEqual("6VKtVnpxstb968SzSrgYJ7zy5LXgFB6PnNHSJsT8Wr4E");
206
186
  expect(blockById.transactions.length).toEqual(19);
207
187
  expect(blockById).toEqual(blockBySequenceNumber);
208
188
  });
209
189
  });
190
+ describe("getStakes", () => {
191
+ test("Account 0xea438b6ce07762ea61e04af4d405dfcf197d5f77d30765f365f75460380f3cce", async () => {
192
+ const stakes = await getStakes("0xea438b6ce07762ea61e04af4d405dfcf197d5f77d30765f365f75460380f3cce");
193
+ expect(stakes.length).toBeGreaterThan(0);
194
+ stakes.forEach(stake => {
195
+ expect(stake.uid).toMatch(/0x[0-9a-z]+/);
196
+ expect(stake.address).toMatch(/0x[0-9a-z]+/);
197
+ expect(stake.delegate).toMatch(/0x[0-9a-z]+/);
198
+ expect(stake.state).toMatch(/(activating|active|inactive)/);
199
+ expect(stake.asset).toEqual({ type: "native" });
200
+ expect(stake.amount).toBeGreaterThan(0);
201
+ expect(stake.amountDeposited).toBeGreaterThan(0);
202
+ expect(stake.amountRewarded).toBeGreaterThanOrEqual(0);
203
+ // @ts-expect-error properties are defined
204
+ expect(stake.amount).toEqual(stake.amountDeposited + stake.amountRewarded);
205
+ expect(stake.details).toBeDefined();
206
+ });
207
+ });
208
+ });
210
209
  });
211
210
  //# sourceMappingURL=sdk.integration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.integration.test.js","sourceRoot":"","sources":["../../src/network/sdk.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.integration.test.js","sourceRoot":"","sources":["../../src/network/sdk.integration.test.ts"],"names":[],"mappings":"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"}