@ledgerhq/coin-sui 0.8.1-nightly.1 → 0.9.0-nightly.3
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.
- package/.turbo/turbo-build.log +1 -1
- package/.unimportedrc.json +1 -1
- package/CHANGELOG.md +20 -0
- package/lib/api/index.d.ts.map +1 -1
- package/lib/api/index.integration.test.js +21 -2
- package/lib/api/index.integration.test.js.map +1 -1
- package/lib/api/index.js +2 -0
- package/lib/api/index.js.map +1 -1
- package/lib/api/index.test.js +37 -0
- package/lib/api/index.test.js.map +1 -1
- package/lib/bridge/buildTransaction.d.ts +1 -3
- package/lib/bridge/buildTransaction.d.ts.map +1 -1
- package/lib/bridge/buildTransaction.integration.test.js +5 -35
- package/lib/bridge/buildTransaction.integration.test.js.map +1 -1
- package/lib/bridge/buildTransaction.js +5 -20
- package/lib/bridge/buildTransaction.js.map +1 -1
- package/lib/bridge/buildTransaction.test.js +28 -129
- package/lib/bridge/buildTransaction.test.js.map +1 -1
- package/lib/bridge/getFeesForTransaction.d.ts.map +1 -1
- package/lib/bridge/getFeesForTransaction.js +6 -1
- package/lib/bridge/getFeesForTransaction.js.map +1 -1
- package/lib/logic/craftTransaction.d.ts +2 -2
- package/lib/logic/craftTransaction.d.ts.map +1 -1
- package/lib/logic/craftTransaction.integration.test.d.ts +2 -0
- package/lib/logic/craftTransaction.integration.test.d.ts.map +1 -0
- package/lib/logic/craftTransaction.integration.test.js +56 -0
- package/lib/logic/craftTransaction.integration.test.js.map +1 -0
- package/lib/logic/craftTransaction.js +1 -1
- package/lib/logic/craftTransaction.js.map +1 -1
- package/lib/logic/estimateFees.d.ts +1 -1
- package/lib/logic/estimateFees.d.ts.map +1 -1
- package/lib/logic/estimateFees.integration.test.d.ts +2 -0
- package/lib/logic/estimateFees.integration.test.d.ts.map +1 -0
- package/lib/logic/estimateFees.integration.test.js +79 -0
- package/lib/logic/estimateFees.integration.test.js.map +1 -0
- package/lib/logic/estimateFees.js +7 -2
- package/lib/logic/estimateFees.js.map +1 -1
- package/lib/logic/getBalance.d.ts.map +1 -1
- package/lib/logic/getBalance.integration.test.d.ts +2 -0
- package/lib/logic/getBalance.integration.test.d.ts.map +1 -0
- package/lib/logic/getBalance.integration.test.js +56 -0
- package/lib/logic/getBalance.integration.test.js.map +1 -0
- package/lib/logic/getBalance.js +18 -7
- package/lib/logic/getBalance.js.map +1 -1
- package/lib/logic/getBalance.test.js +49 -7
- package/lib/logic/getBalance.test.js.map +1 -1
- package/lib/logic/index.d.ts +1 -0
- package/lib/logic/index.d.ts.map +1 -1
- package/lib/logic/index.js +4 -1
- package/lib/logic/index.js.map +1 -1
- package/lib/logic/staking.d.ts +4 -0
- package/lib/logic/staking.d.ts.map +1 -0
- package/lib/logic/staking.js +36 -0
- package/lib/logic/staking.js.map +1 -0
- package/lib/network/index.d.ts +6 -6
- package/lib/network/index.d.ts.map +1 -1
- package/lib/network/index.js +9 -3
- package/lib/network/index.js.map +1 -1
- package/lib/network/sdk.d.ts +10 -17
- package/lib/network/sdk.d.ts.map +1 -1
- package/lib/network/sdk.integration.test.js +21 -22
- package/lib/network/sdk.integration.test.js.map +1 -1
- package/lib/network/sdk.js +50 -18
- package/lib/network/sdk.js.map +1 -1
- package/lib/test/testUtils.d.ts +2 -0
- package/lib/test/testUtils.d.ts.map +1 -0
- package/lib/test/testUtils.js +35 -0
- package/lib/test/testUtils.js.map +1 -0
- package/lib-es/api/index.d.ts.map +1 -1
- package/lib-es/api/index.integration.test.js +21 -2
- package/lib-es/api/index.integration.test.js.map +1 -1
- package/lib-es/api/index.js +3 -1
- package/lib-es/api/index.js.map +1 -1
- package/lib-es/api/index.test.js +37 -0
- package/lib-es/api/index.test.js.map +1 -1
- package/lib-es/bridge/buildTransaction.d.ts +1 -3
- package/lib-es/bridge/buildTransaction.d.ts.map +1 -1
- package/lib-es/bridge/buildTransaction.integration.test.js +1 -31
- package/lib-es/bridge/buildTransaction.integration.test.js.map +1 -1
- package/lib-es/bridge/buildTransaction.js +4 -15
- package/lib-es/bridge/buildTransaction.js.map +1 -1
- package/lib-es/bridge/buildTransaction.test.js +29 -130
- package/lib-es/bridge/buildTransaction.test.js.map +1 -1
- package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -1
- package/lib-es/bridge/getFeesForTransaction.js +6 -1
- package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
- package/lib-es/logic/craftTransaction.d.ts +2 -2
- package/lib-es/logic/craftTransaction.d.ts.map +1 -1
- package/lib-es/logic/craftTransaction.integration.test.d.ts +2 -0
- package/lib-es/logic/craftTransaction.integration.test.d.ts.map +1 -0
- package/lib-es/logic/craftTransaction.integration.test.js +51 -0
- package/lib-es/logic/craftTransaction.integration.test.js.map +1 -0
- package/lib-es/logic/craftTransaction.js +1 -1
- package/lib-es/logic/craftTransaction.js.map +1 -1
- package/lib-es/logic/estimateFees.d.ts +1 -1
- package/lib-es/logic/estimateFees.d.ts.map +1 -1
- package/lib-es/logic/estimateFees.integration.test.d.ts +2 -0
- package/lib-es/logic/estimateFees.integration.test.d.ts.map +1 -0
- package/lib-es/logic/estimateFees.integration.test.js +74 -0
- package/lib-es/logic/estimateFees.integration.test.js.map +1 -0
- package/lib-es/logic/estimateFees.js +7 -2
- package/lib-es/logic/estimateFees.js.map +1 -1
- package/lib-es/logic/getBalance.d.ts.map +1 -1
- package/lib-es/logic/getBalance.integration.test.d.ts +2 -0
- package/lib-es/logic/getBalance.integration.test.d.ts.map +1 -0
- package/lib-es/logic/getBalance.integration.test.js +51 -0
- package/lib-es/logic/getBalance.integration.test.js.map +1 -0
- package/lib-es/logic/getBalance.js +19 -8
- package/lib-es/logic/getBalance.js.map +1 -1
- package/lib-es/logic/getBalance.test.js +50 -8
- package/lib-es/logic/getBalance.test.js.map +1 -1
- package/lib-es/logic/index.d.ts +1 -0
- package/lib-es/logic/index.d.ts.map +1 -1
- package/lib-es/logic/index.js +1 -0
- package/lib-es/logic/index.js.map +1 -1
- package/lib-es/logic/staking.d.ts +4 -0
- package/lib-es/logic/staking.d.ts.map +1 -0
- package/lib-es/logic/staking.js +8 -0
- package/lib-es/logic/staking.js.map +1 -0
- package/lib-es/network/index.d.ts +6 -6
- package/lib-es/network/index.d.ts.map +1 -1
- package/lib-es/network/index.js +6 -3
- package/lib-es/network/index.js.map +1 -1
- package/lib-es/network/sdk.d.ts +10 -17
- package/lib-es/network/sdk.d.ts.map +1 -1
- package/lib-es/network/sdk.integration.test.js +22 -23
- package/lib-es/network/sdk.integration.test.js.map +1 -1
- package/lib-es/network/sdk.js +45 -16
- package/lib-es/network/sdk.js.map +1 -1
- package/lib-es/test/testUtils.d.ts +2 -0
- package/lib-es/test/testUtils.d.ts.map +1 -0
- package/lib-es/test/testUtils.js +31 -0
- package/lib-es/test/testUtils.js.map +1 -0
- package/package.json +4 -4
- package/src/api/index.integration.test.ts +24 -2
- package/src/api/index.test.ts +40 -0
- package/src/api/index.ts +4 -0
- package/src/bridge/buildTransaction.integration.test.ts +1 -39
- package/src/bridge/buildTransaction.test.ts +36 -159
- package/src/bridge/buildTransaction.ts +5 -19
- package/src/bridge/getFeesForTransaction.ts +7 -1
- package/src/logic/craftTransaction.integration.test.ts +63 -0
- package/src/logic/craftTransaction.ts +3 -3
- package/src/logic/estimateFees.integration.test.ts +89 -0
- package/src/logic/estimateFees.ts +7 -1
- package/src/logic/getBalance.integration.test.ts +66 -0
- package/src/logic/getBalance.test.ts +58 -8
- package/src/logic/getBalance.ts +24 -8
- package/src/logic/index.ts +1 -0
- package/src/logic/staking.ts +10 -0
- package/src/network/index.ts +12 -3
- package/src/network/sdk.integration.test.ts +25 -22
- package/src/network/sdk.ts +68 -32
- package/src/test/testUtils.ts +38 -0
|
@@ -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 {
|
|
1
|
+
import { getStakes, getAllBalancesCached } from "../network";
|
|
2
|
+
import { toSuiAsset } from "../network/sdk";
|
|
2
3
|
export async function getBalance(address) {
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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,
|
|
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 {
|
|
3
|
-
// Mock the getAccount function
|
|
2
|
+
import { getAllBalancesCached, getStakes } from "../network";
|
|
4
3
|
jest.mock("../network", () => ({
|
|
5
|
-
|
|
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
|
|
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(
|
|
17
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"getBalance.test.js","sourceRoot":"","sources":["../../src/logic/getBalance.test.ts"],"names":[],"mappings":"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"}
|
package/lib-es/logic/index.d.ts
CHANGED
|
@@ -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"}
|
package/lib-es/logic/index.js
CHANGED
|
@@ -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 {
|
|
2
|
-
export {
|
|
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,
|
|
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"}
|
package/lib-es/network/index.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
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,
|
|
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"}
|
package/lib-es/network/sdk.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Checkpoint, ExecuteTransactionBlockParams, PaginatedTransactionResponse, SuiClient, SuiTransactionBlockResponse, TransactionBlockData, QueryTransactionBlocksParams, BalanceChange } from "@mysten/sui/client";
|
|
1
|
+
import { Checkpoint, ExecuteTransactionBlockParams, PaginatedTransactionResponse, SuiClient, SuiTransactionBlockResponse, TransactionBlockData, QueryTransactionBlocksParams, BalanceChange, DelegatedStake, StakeObject } 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
|
|
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
|
*/
|
|
@@ -174,5 +160,12 @@ export declare const queryTransactionsByDigest: (params: {
|
|
|
174
160
|
api: SuiClient;
|
|
175
161
|
digests: string[];
|
|
176
162
|
}) => Promise<SuiTransactionBlockResponse[]>;
|
|
163
|
+
export declare const getStakes: (address: string) => Promise<Stake[]>;
|
|
164
|
+
export declare const toStakes: (address: string, delegation: DelegatedStake) => Stake[];
|
|
165
|
+
export declare const toStakeState: (status: "Pending" | "Active" | "Unstaked") => StakeState;
|
|
166
|
+
export declare const toStakeAmounts: (stake: StakeObject) => {
|
|
167
|
+
deposited: bigint;
|
|
168
|
+
rewarded: bigint;
|
|
169
|
+
};
|
|
177
170
|
export {};
|
|
178
171
|
//# sourceMappingURL=sdk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,6BAA6B,EAC7B,4BAA4B,EAE5B,SAAS,EACT,2BAA2B,EAC3B,oBAAoB,EAGpB,4BAA4B,EAC5B,aAAa,
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,UAAU,MAAM,WAAW,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,WAAW,EACX,QAAQ,EACR,YAAY,
|
|
1
|
+
{"version":3,"file":"sdk.integration.test.js","sourceRoot":"","sources":["../../src/network/sdk.integration.test.ts"],"names":[],"mappings":"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"}
|
package/lib-es/network/sdk.js
CHANGED
|
@@ -43,31 +43,20 @@ export async function withApi(execute) {
|
|
|
43
43
|
const result = await execute(apiMap[url]);
|
|
44
44
|
return result;
|
|
45
45
|
}
|
|
46
|
-
export const
|
|
47
|
-
export const getAllBalancesCached = makeLRUCache(({ api, owner }) => api.getAllBalances({
|
|
46
|
+
export const getAllBalancesCached = makeLRUCache(async (owner) => withApi(async (api) => await api.getAllBalances({
|
|
48
47
|
owner,
|
|
49
|
-
}), (
|
|
50
|
-
/**
|
|
51
|
-
* Get account balance
|
|
52
|
-
*/
|
|
53
|
-
export const getAccount = async (addr) => withApi(async (api) => {
|
|
54
|
-
const balance = await getBalanceCached({ api, owner: addr });
|
|
55
|
-
return {
|
|
56
|
-
blockHeight: BLOCK_HEIGHT * 2,
|
|
57
|
-
balance: BigNumber(balance.totalBalance),
|
|
58
|
-
};
|
|
59
|
-
});
|
|
48
|
+
})), (owner) => owner, minutes(1));
|
|
60
49
|
/**
|
|
61
50
|
* Get account balance (native and tokens)
|
|
62
51
|
*/
|
|
63
|
-
export const getAccountBalances = async (addr) =>
|
|
64
|
-
const balances = await getAllBalancesCached(
|
|
52
|
+
export const getAccountBalances = async (addr) => {
|
|
53
|
+
const balances = await getAllBalancesCached(addr);
|
|
65
54
|
return balances.map(({ coinType, totalBalance }) => ({
|
|
66
55
|
coinType,
|
|
67
56
|
blockHeight: BLOCK_HEIGHT * 2,
|
|
68
57
|
balance: BigNumber(totalBalance),
|
|
69
58
|
}));
|
|
70
|
-
}
|
|
59
|
+
};
|
|
71
60
|
/**
|
|
72
61
|
* Returns true if account is the signer
|
|
73
62
|
*/
|
|
@@ -509,4 +498,44 @@ export const queryTransactionsByDigest = async (params) => {
|
|
|
509
498
|
}
|
|
510
499
|
return responses;
|
|
511
500
|
};
|
|
501
|
+
export const getStakes = (address) => withApi(async (api) => api
|
|
502
|
+
.getStakes({ owner: address })
|
|
503
|
+
.then(delegations => delegations.flatMap(delegation => toStakes(address, delegation))));
|
|
504
|
+
export const toStakes = (address, delegation) => delegation.stakes.map(stake => {
|
|
505
|
+
const { deposited, rewarded } = toStakeAmounts(stake);
|
|
506
|
+
return {
|
|
507
|
+
uid: stake.stakedSuiId,
|
|
508
|
+
address: address,
|
|
509
|
+
delegate: delegation.validatorAddress,
|
|
510
|
+
state: toStakeState(stake.status),
|
|
511
|
+
asset: { type: "native" },
|
|
512
|
+
amount: deposited + rewarded,
|
|
513
|
+
amountDeposited: deposited,
|
|
514
|
+
amountRewarded: rewarded,
|
|
515
|
+
details: {
|
|
516
|
+
activeEpoch: Number(stake.stakeActiveEpoch),
|
|
517
|
+
requestEpoch: Number(stake.stakeRequestEpoch),
|
|
518
|
+
},
|
|
519
|
+
};
|
|
520
|
+
});
|
|
521
|
+
export const toStakeState = (status) => {
|
|
522
|
+
switch (status) {
|
|
523
|
+
case "Pending":
|
|
524
|
+
return "activating";
|
|
525
|
+
case "Active":
|
|
526
|
+
return "active";
|
|
527
|
+
case "Unstaked":
|
|
528
|
+
return "inactive";
|
|
529
|
+
}
|
|
530
|
+
};
|
|
531
|
+
export const toStakeAmounts = (stake) => {
|
|
532
|
+
switch (stake.status) {
|
|
533
|
+
case "Pending":
|
|
534
|
+
return { deposited: BigInt(stake.principal), rewarded: 0n };
|
|
535
|
+
case "Active":
|
|
536
|
+
return { deposited: BigInt(stake.principal), rewarded: BigInt(stake.estimatedReward) };
|
|
537
|
+
case "Unstaked":
|
|
538
|
+
return { deposited: BigInt(stake.principal), rewarded: 0n }; // note: we lose reward information in unstaked state here
|
|
539
|
+
}
|
|
540
|
+
};
|
|
512
541
|
//# sourceMappingURL=sdk.js.map
|