@ledgerhq/coin-casper 2.2.0 → 2.2.1-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 (131) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +16 -0
  3. package/package.json +6 -6
  4. package/lib/api/index.integ.test.d.ts +0 -2
  5. package/lib/api/index.integ.test.d.ts.map +0 -1
  6. package/lib/api/index.integ.test.js +0 -53
  7. package/lib/api/index.integ.test.js.map +0 -1
  8. package/lib/api/index.test.d.ts +0 -2
  9. package/lib/api/index.test.d.ts.map +0 -1
  10. package/lib/api/index.test.js +0 -274
  11. package/lib/api/index.test.js.map +0 -1
  12. package/lib/bridge/bridgeHelpers/accountShape.test.d.ts +0 -2
  13. package/lib/bridge/bridgeHelpers/accountShape.test.d.ts.map +0 -1
  14. package/lib/bridge/bridgeHelpers/accountShape.test.js +0 -94
  15. package/lib/bridge/bridgeHelpers/accountShape.test.js.map +0 -1
  16. package/lib/bridge/bridgeHelpers/txn.test.d.ts +0 -2
  17. package/lib/bridge/bridgeHelpers/txn.test.d.ts.map +0 -1
  18. package/lib/bridge/bridgeHelpers/txn.test.js +0 -306
  19. package/lib/bridge/bridgeHelpers/txn.test.js.map +0 -1
  20. package/lib/bridge/broadcast.test.d.ts +0 -2
  21. package/lib/bridge/broadcast.test.d.ts.map +0 -1
  22. package/lib/bridge/broadcast.test.js +0 -72
  23. package/lib/bridge/broadcast.test.js.map +0 -1
  24. package/lib/bridge/buildOptimisticOperation.test.d.ts +0 -2
  25. package/lib/bridge/buildOptimisticOperation.test.d.ts.map +0 -1
  26. package/lib/bridge/buildOptimisticOperation.test.js +0 -76
  27. package/lib/bridge/buildOptimisticOperation.test.js.map +0 -1
  28. package/lib/bridge/createTransaction.test.d.ts +0 -2
  29. package/lib/bridge/createTransaction.test.d.ts.map +0 -1
  30. package/lib/bridge/createTransaction.test.js +0 -41
  31. package/lib/bridge/createTransaction.test.js.map +0 -1
  32. package/lib/bridge/deviceTransactionConfig.test.d.ts +0 -2
  33. package/lib/bridge/deviceTransactionConfig.test.d.ts.map +0 -1
  34. package/lib/bridge/deviceTransactionConfig.test.js +0 -148
  35. package/lib/bridge/deviceTransactionConfig.test.js.map +0 -1
  36. package/lib/bridge/estimateMaxSpendable.test.d.ts +0 -2
  37. package/lib/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
  38. package/lib/bridge/estimateMaxSpendable.test.js +0 -133
  39. package/lib/bridge/estimateMaxSpendable.test.js.map +0 -1
  40. package/lib/bridge/getTransactionStatus.test.d.ts +0 -2
  41. package/lib/bridge/getTransactionStatus.test.d.ts.map +0 -1
  42. package/lib/bridge/getTransactionStatus.test.js +0 -214
  43. package/lib/bridge/getTransactionStatus.test.js.map +0 -1
  44. package/lib/bridge/prepareTransaction.test.d.ts +0 -2
  45. package/lib/bridge/prepareTransaction.test.d.ts.map +0 -1
  46. package/lib/bridge/prepareTransaction.test.js +0 -159
  47. package/lib/bridge/prepareTransaction.test.js.map +0 -1
  48. package/lib/bridge/transaction.test.d.ts +0 -2
  49. package/lib/bridge/transaction.test.d.ts.map +0 -1
  50. package/lib/bridge/transaction.test.js +0 -179
  51. package/lib/bridge/transaction.test.js.map +0 -1
  52. package/lib/common-logic/utils.additional.test.d.ts +0 -2
  53. package/lib/common-logic/utils.additional.test.d.ts.map +0 -1
  54. package/lib/common-logic/utils.additional.test.js +0 -58
  55. package/lib/common-logic/utils.additional.test.js.map +0 -1
  56. package/lib/common-logic/utils.unit.test.d.ts +0 -2
  57. package/lib/common-logic/utils.unit.test.d.ts.map +0 -1
  58. package/lib/common-logic/utils.unit.test.js +0 -52
  59. package/lib/common-logic/utils.unit.test.js.map +0 -1
  60. package/lib/hw-signMessage.test.d.ts +0 -2
  61. package/lib/hw-signMessage.test.d.ts.map +0 -1
  62. package/lib/hw-signMessage.test.js +0 -80
  63. package/lib/hw-signMessage.test.js.map +0 -1
  64. package/lib/signer/getAddress.test.d.ts +0 -2
  65. package/lib/signer/getAddress.test.d.ts.map +0 -1
  66. package/lib/signer/getAddress.test.js +0 -133
  67. package/lib/signer/getAddress.test.js.map +0 -1
  68. package/lib-es/api/index.integ.test.d.ts +0 -2
  69. package/lib-es/api/index.integ.test.d.ts.map +0 -1
  70. package/lib-es/api/index.integ.test.js +0 -51
  71. package/lib-es/api/index.integ.test.js.map +0 -1
  72. package/lib-es/api/index.test.d.ts +0 -2
  73. package/lib-es/api/index.test.d.ts.map +0 -1
  74. package/lib-es/api/index.test.js +0 -269
  75. package/lib-es/api/index.test.js.map +0 -1
  76. package/lib-es/bridge/bridgeHelpers/accountShape.test.d.ts +0 -2
  77. package/lib-es/bridge/bridgeHelpers/accountShape.test.d.ts.map +0 -1
  78. package/lib-es/bridge/bridgeHelpers/accountShape.test.js +0 -89
  79. package/lib-es/bridge/bridgeHelpers/accountShape.test.js.map +0 -1
  80. package/lib-es/bridge/bridgeHelpers/txn.test.d.ts +0 -2
  81. package/lib-es/bridge/bridgeHelpers/txn.test.d.ts.map +0 -1
  82. package/lib-es/bridge/bridgeHelpers/txn.test.js +0 -278
  83. package/lib-es/bridge/bridgeHelpers/txn.test.js.map +0 -1
  84. package/lib-es/bridge/broadcast.test.d.ts +0 -2
  85. package/lib-es/bridge/broadcast.test.d.ts.map +0 -1
  86. package/lib-es/bridge/broadcast.test.js +0 -70
  87. package/lib-es/bridge/broadcast.test.js.map +0 -1
  88. package/lib-es/bridge/buildOptimisticOperation.test.d.ts +0 -2
  89. package/lib-es/bridge/buildOptimisticOperation.test.d.ts.map +0 -1
  90. package/lib-es/bridge/buildOptimisticOperation.test.js +0 -74
  91. package/lib-es/bridge/buildOptimisticOperation.test.js.map +0 -1
  92. package/lib-es/bridge/createTransaction.test.d.ts +0 -2
  93. package/lib-es/bridge/createTransaction.test.d.ts.map +0 -1
  94. package/lib-es/bridge/createTransaction.test.js +0 -36
  95. package/lib-es/bridge/createTransaction.test.js.map +0 -1
  96. package/lib-es/bridge/deviceTransactionConfig.test.d.ts +0 -2
  97. package/lib-es/bridge/deviceTransactionConfig.test.d.ts.map +0 -1
  98. package/lib-es/bridge/deviceTransactionConfig.test.js +0 -143
  99. package/lib-es/bridge/deviceTransactionConfig.test.js.map +0 -1
  100. package/lib-es/bridge/estimateMaxSpendable.test.d.ts +0 -2
  101. package/lib-es/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
  102. package/lib-es/bridge/estimateMaxSpendable.test.js +0 -131
  103. package/lib-es/bridge/estimateMaxSpendable.test.js.map +0 -1
  104. package/lib-es/bridge/getTransactionStatus.test.d.ts +0 -2
  105. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +0 -1
  106. package/lib-es/bridge/getTransactionStatus.test.js +0 -212
  107. package/lib-es/bridge/getTransactionStatus.test.js.map +0 -1
  108. package/lib-es/bridge/prepareTransaction.test.d.ts +0 -2
  109. package/lib-es/bridge/prepareTransaction.test.d.ts.map +0 -1
  110. package/lib-es/bridge/prepareTransaction.test.js +0 -157
  111. package/lib-es/bridge/prepareTransaction.test.js.map +0 -1
  112. package/lib-es/bridge/transaction.test.d.ts +0 -2
  113. package/lib-es/bridge/transaction.test.d.ts.map +0 -1
  114. package/lib-es/bridge/transaction.test.js +0 -154
  115. package/lib-es/bridge/transaction.test.js.map +0 -1
  116. package/lib-es/common-logic/utils.additional.test.d.ts +0 -2
  117. package/lib-es/common-logic/utils.additional.test.d.ts.map +0 -1
  118. package/lib-es/common-logic/utils.additional.test.js +0 -56
  119. package/lib-es/common-logic/utils.additional.test.js.map +0 -1
  120. package/lib-es/common-logic/utils.unit.test.d.ts +0 -2
  121. package/lib-es/common-logic/utils.unit.test.d.ts.map +0 -1
  122. package/lib-es/common-logic/utils.unit.test.js +0 -50
  123. package/lib-es/common-logic/utils.unit.test.js.map +0 -1
  124. package/lib-es/hw-signMessage.test.d.ts +0 -2
  125. package/lib-es/hw-signMessage.test.d.ts.map +0 -1
  126. package/lib-es/hw-signMessage.test.js +0 -78
  127. package/lib-es/hw-signMessage.test.js.map +0 -1
  128. package/lib-es/signer/getAddress.test.d.ts +0 -2
  129. package/lib-es/signer/getAddress.test.d.ts.map +0 -1
  130. package/lib-es/signer/getAddress.test.js +0 -105
  131. package/lib-es/signer/getAddress.test.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/coin-casper@2.2.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-casper
2
+ > @ledgerhq/coin-casper@2.2.1-nightly.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-casper
3
3
  > tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @ledgerhq/coin-casper
2
2
 
3
+ ## 2.2.1-nightly.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`a731c4c`](https://github.com/LedgerHQ/ledger-live/commit/a731c4cd492a968eb7baa981fdd8aaddedd21f25)]:
8
+ - @ledgerhq/coin-framework@6.8.0-nightly.1
9
+
10
+ ## 2.2.1-nightly.0
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [[`2c6a198`](https://github.com/LedgerHQ/ledger-live/commit/2c6a198ba28391695202a0787ce168c53768ff37)]:
15
+ - @ledgerhq/types-live@6.88.0-nightly.0
16
+ - @ledgerhq/coin-framework@6.7.1-nightly.0
17
+ - @ledgerhq/cryptoassets@13.31.1-nightly.0
18
+
3
19
  ## 2.2.0
4
20
 
5
21
  ### Minor Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-casper",
3
- "version": "2.2.0",
3
+ "version": "2.2.1-nightly.1",
4
4
  "description": "Ledger Casper integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -98,13 +98,13 @@
98
98
  "invariant": "^2.2.2",
99
99
  "lodash": "^4.17.21",
100
100
  "rxjs": "^7.8.1",
101
- "@ledgerhq/coin-framework": "^6.7.0",
102
- "@ledgerhq/cryptoassets": "^13.31.0",
103
- "@ledgerhq/devices": "8.6.1",
104
- "@ledgerhq/errors": "^6.26.0",
101
+ "@ledgerhq/coin-framework": "^6.8.0-nightly.1",
102
+ "@ledgerhq/cryptoassets": "^13.31.1-nightly.0",
103
+ "@ledgerhq/devices": "8.6.2-nightly.0",
104
+ "@ledgerhq/errors": "^6.27.0-nightly.0",
105
105
  "@ledgerhq/live-network": "^2.0.20",
106
106
  "@ledgerhq/logs": "^6.13.0",
107
- "@ledgerhq/types-live": "^6.87.0"
107
+ "@ledgerhq/types-live": "^6.88.0-nightly.0"
108
108
  },
109
109
  "devDependencies": {
110
110
  "@types/invariant": "^2.2.2",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.integ.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.integ.test.d.ts","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":""}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const abandonseed_1 = require("@ledgerhq/cryptoassets/abandonseed");
4
- const _1 = require(".");
5
- const config_1 = require("../config");
6
- const pubkey = "0202664e3958608cd8dc2b80d4c73f18f76ef197f1cccca2f4f817c70bb050b248bd";
7
- const pubkeyAbandon = (0, abandonseed_1.getAbandonSeedAddress)("casper");
8
- jest.mock("../config");
9
- describe("Casper API", () => {
10
- jest.mocked(config_1.getCoinConfig).mockReturnValue({
11
- ...{},
12
- infra: {
13
- API_CASPER_NODE_ENDPOINT: "https://casper.coin.ledger.com/node/",
14
- API_CASPER_INDEXER: "https://casper.coin.ledger.com/indexer/",
15
- },
16
- });
17
- it("should be able to fetch the network status", async () => {
18
- const blockHeight = await (0, _1.fetchBlockHeight)();
19
- expect(blockHeight).toBeDefined();
20
- });
21
- it("shouldnt fetch account state info if account doesnt exist", async () => {
22
- const accountStateInfo = await (0, _1.fetchAccountStateInfo)(pubkeyAbandon);
23
- expect(accountStateInfo).toEqual({
24
- purseUref: undefined,
25
- accountHash: undefined,
26
- });
27
- });
28
- it("should fetch account state info if account exists", async () => {
29
- const accountStateInfo = await (0, _1.fetchAccountStateInfo)(pubkey);
30
- expect(accountStateInfo.purseUref).toBeDefined();
31
- expect(accountStateInfo.accountHash).toBeDefined();
32
- });
33
- it("should fetch balance", async () => {
34
- const accountStateInfo = await (0, _1.fetchAccountStateInfo)(pubkey);
35
- expect(accountStateInfo.purseUref).toBeDefined();
36
- if (!accountStateInfo.purseUref) {
37
- throw new Error("Purse Uref is undefined");
38
- }
39
- const balance = await (0, _1.fetchBalance)(accountStateInfo.purseUref);
40
- expect(balance).toBeDefined();
41
- });
42
- it("should fetch txs", async () => {
43
- const txs = await (0, _1.fetchTxs)(pubkey);
44
- expect(txs).toBeDefined();
45
- expect(txs.length).toBeGreaterThan(0);
46
- });
47
- it("should fetch txs for abandon seed address", async () => {
48
- const txs = await (0, _1.fetchTxs)(pubkeyAbandon);
49
- expect(txs).toBeDefined();
50
- expect(txs.length).toBe(0);
51
- });
52
- });
53
- //# sourceMappingURL=index.integ.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":";;AAAA,oEAA2E;AAC3E,wBAAoF;AACpF,sCAA0C;AAG1C,MAAM,MAAM,GAAG,sEAAsE,CAAC;AACtF,MAAM,aAAa,GAAG,IAAA,mCAAqB,EAAC,QAAQ,CAAC,CAAC;AAEtD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvB,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,MAAM,CAAC,sBAAa,CAAC,CAAC,eAAe,CAAC;QACzC,GAAI,EAAgC;QACpC,KAAK,EAAE;YACL,wBAAwB,EAAE,sCAAsC;YAChE,kBAAkB,EAAE,yCAAyC;SAC9D;KACF,CAAC,CAAC;IACH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,WAAW,GAAG,MAAM,IAAA,mBAAgB,GAAE,CAAC;QAC7C,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,gBAAgB,GAAG,MAAM,IAAA,wBAAqB,EAAC,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;YAC/B,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,gBAAgB,GAAG,MAAM,IAAA,wBAAqB,EAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,gBAAgB,GAAG,MAAM,IAAA,wBAAqB,EAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAA,eAAY,EAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,GAAG,GAAG,MAAM,IAAA,WAAQ,EAAC,MAAM,CAAC,CAAC;QAEnC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,GAAG,GAAG,MAAM,IAAA,WAAQ,EAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":""}
@@ -1,274 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const logs_1 = require("@ledgerhq/logs");
7
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
- const live_network_1 = __importDefault(require("@ledgerhq/live-network"));
9
- const casper_js_sdk_1 = require("casper-js-sdk");
10
- const _1 = require(".");
11
- const config_1 = require("../config");
12
- const fixtures_1 = require("../test/fixtures");
13
- const consts_1 = require("../consts");
14
- // Constants
15
- const MOCK_NODE_URL = "https://mock.casper.node";
16
- const MOCK_INDEXER_URL = "https://mock.casper.indexer";
17
- const MOCK_PUBLIC_KEY = fixtures_1.TEST_ADDRESSES.SECP256K1;
18
- const MOCK_PURSE_UREF = "uref-1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef-007";
19
- const MOCK_ACCOUNT_HASH = "account-hash-1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef";
20
- const DEFAULT_LIMIT = 100;
21
- // Mock dependencies
22
- jest.mock("@ledgerhq/logs", () => ({
23
- log: jest.fn(),
24
- }));
25
- jest.mock("@ledgerhq/live-network", () => ({
26
- __esModule: true,
27
- default: jest.fn(),
28
- }));
29
- jest.mock("../config", () => ({
30
- getCoinConfig: jest.fn(),
31
- }));
32
- // Helper functions for creating mocks
33
- const createMockRpcClient = (methodOverrides) => {
34
- const defaultMethods = {
35
- getAccountInfo: jest.fn(),
36
- getStateRootHashLatest: jest.fn(),
37
- getBalanceByStateRootHash: jest.fn(),
38
- getLatestBlock: jest.fn(),
39
- putTransaction: jest.fn(),
40
- };
41
- // Create a combined mock with defaultMethods overridden by methodOverrides
42
- const combinedMock = { ...defaultMethods, ...methodOverrides };
43
- // Mock the RpcClient implementation to return our mock methods
44
- jest.mocked(casper_js_sdk_1.RpcClient).mockImplementation(() => combinedMock);
45
- return combinedMock;
46
- };
47
- const createNetworkMock = (responseData, pageCount = 1, itemCount = responseData.length) => ({
48
- data: {
49
- data: responseData,
50
- pageCount,
51
- itemCount,
52
- pages: [],
53
- },
54
- status: 200,
55
- });
56
- // Mock casper-js-sdk
57
- jest.mock("casper-js-sdk", () => {
58
- const originalModule = jest.requireActual("casper-js-sdk");
59
- return {
60
- ...originalModule,
61
- RpcClient: jest.fn(),
62
- HttpHandler: jest.fn(),
63
- AccountIdentifier: jest.fn(),
64
- PublicKey: {
65
- fromHex: jest.fn(),
66
- },
67
- };
68
- });
69
- describe("Casper API Unit Tests", () => {
70
- beforeEach(() => {
71
- jest.clearAllMocks();
72
- // Setup config mock
73
- jest.mocked(config_1.getCoinConfig).mockReturnValue({
74
- infra: {
75
- API_CASPER_NODE_ENDPOINT: MOCK_NODE_URL,
76
- API_CASPER_INDEXER: MOCK_INDEXER_URL,
77
- },
78
- });
79
- });
80
- describe("getCasperNodeRpcClient", () => {
81
- it("should create RPC client with correct URL", () => {
82
- (0, _1.getCasperNodeRpcClient)();
83
- expect(casper_js_sdk_1.HttpHandler).toHaveBeenCalledWith(MOCK_NODE_URL);
84
- expect(casper_js_sdk_1.RpcClient).toHaveBeenCalled();
85
- });
86
- it("should throw error if API base URL is not available", () => {
87
- jest.mocked(config_1.getCoinConfig).mockReturnValueOnce({
88
- infra: {},
89
- });
90
- expect(() => (0, _1.getCasperNodeRpcClient)()).toThrow("API base URL not available");
91
- });
92
- });
93
- describe("fetchAccountStateInfo", () => {
94
- it("should fetch account state info successfully", async () => {
95
- // Mock PublicKey
96
- const mockPublicKeyInstance = { fromHex: () => ({ fromHex: true }) };
97
- jest.mocked(casper_js_sdk_1.PublicKey.fromHex).mockReturnValue(mockPublicKeyInstance);
98
- // Mock AccountIdentifier
99
- const mockAccountIdentifier = {};
100
- jest
101
- .mocked(casper_js_sdk_1.AccountIdentifier)
102
- .mockReturnValue(mockAccountIdentifier);
103
- // Mock RpcClient.getAccountInfo
104
- const mockGetAccountInfo = jest.fn().mockResolvedValue({
105
- account: {
106
- accountHash: { toHex: () => MOCK_ACCOUNT_HASH },
107
- mainPurse: { toPrefixedString: () => MOCK_PURSE_UREF },
108
- },
109
- });
110
- createMockRpcClient({
111
- getAccountInfo: mockGetAccountInfo,
112
- });
113
- const result = await (0, _1.fetchAccountStateInfo)(MOCK_PUBLIC_KEY);
114
- expect(casper_js_sdk_1.PublicKey.fromHex).toHaveBeenCalledWith(MOCK_PUBLIC_KEY);
115
- expect(casper_js_sdk_1.AccountIdentifier).toHaveBeenCalledWith(undefined, mockPublicKeyInstance);
116
- expect(mockGetAccountInfo).toHaveBeenCalledWith(null, mockAccountIdentifier);
117
- expect(result).toEqual({
118
- purseUref: MOCK_PURSE_UREF,
119
- accountHash: MOCK_ACCOUNT_HASH,
120
- });
121
- });
122
- it("should return undefined values when account not found", async () => {
123
- // Mock error with account not found status code
124
- const mockError = new Error("Account not found");
125
- mockError.statusCode = consts_1.NodeErrorCodeAccountNotFound;
126
- createMockRpcClient({
127
- getAccountInfo: jest.fn().mockRejectedValue(mockError),
128
- });
129
- const result = await (0, _1.fetchAccountStateInfo)(MOCK_PUBLIC_KEY);
130
- expect(result).toEqual({
131
- purseUref: undefined,
132
- accountHash: undefined,
133
- });
134
- });
135
- it("should throw error for other error cases", async () => {
136
- const mockError = new Error("General error");
137
- createMockRpcClient({
138
- getAccountInfo: jest.fn().mockRejectedValue(mockError),
139
- });
140
- await expect((0, _1.fetchAccountStateInfo)(MOCK_PUBLIC_KEY)).rejects.toThrow("General error");
141
- });
142
- });
143
- describe("fetchBalance", () => {
144
- it("should fetch balance successfully", async () => {
145
- const mockBalanceValue = "10000000000";
146
- const mockRootHash = "mocked-root-hash";
147
- // Create mock methods with implementations that return expected values
148
- const mockGetStateRootHashLatest = jest.fn().mockResolvedValue({
149
- stateRootHash: { toHex: () => mockRootHash },
150
- });
151
- const mockGetBalanceByStateRootHash = jest.fn().mockResolvedValue({
152
- balanceValue: mockBalanceValue,
153
- });
154
- // Create the mock RPC client with our implementations
155
- const mockMethods = createMockRpcClient({
156
- getStateRootHashLatest: mockGetStateRootHashLatest,
157
- getBalanceByStateRootHash: mockGetBalanceByStateRootHash,
158
- });
159
- const result = await (0, _1.fetchBalance)(MOCK_PURSE_UREF);
160
- expect(mockMethods.getStateRootHashLatest).toHaveBeenCalled();
161
- expect(mockMethods.getBalanceByStateRootHash).toHaveBeenCalledWith(MOCK_PURSE_UREF, mockRootHash);
162
- expect(result).toEqual(new bignumber_js_1.default(mockBalanceValue));
163
- });
164
- it("should throw error when balance fetch fails", async () => {
165
- const mockError = new Error("Failed to fetch balance");
166
- createMockRpcClient({
167
- getStateRootHashLatest: jest.fn().mockRejectedValue(mockError),
168
- });
169
- await expect((0, _1.fetchBalance)(MOCK_PURSE_UREF)).rejects.toThrow("Failed to fetch balance");
170
- expect(logs_1.log).toHaveBeenCalledWith("error", "Failed to fetch balance", mockError);
171
- });
172
- });
173
- describe("fetchBlockHeight", () => {
174
- it("should fetch block height successfully", async () => {
175
- const mockHeight = 12345;
176
- createMockRpcClient({
177
- getLatestBlock: jest.fn().mockResolvedValue({
178
- block: { height: mockHeight },
179
- }),
180
- });
181
- const result = await (0, _1.fetchBlockHeight)();
182
- expect(result).toBe(mockHeight);
183
- });
184
- it("should throw error when block height fetch fails", async () => {
185
- const mockError = new Error("Failed to fetch block height");
186
- createMockRpcClient({
187
- getLatestBlock: jest.fn().mockRejectedValue(mockError),
188
- });
189
- await expect((0, _1.fetchBlockHeight)()).rejects.toThrow("Failed to fetch block height");
190
- expect(logs_1.log).toHaveBeenCalledWith("error", "Failed to fetch block height", mockError);
191
- });
192
- });
193
- describe("fetchTxs", () => {
194
- const createMockTxData = (hash) => ({
195
- deploy_hash: hash,
196
- block_hash: "block-hash-1",
197
- caller_public_key: MOCK_PUBLIC_KEY,
198
- execution_type_id: 1,
199
- cost: "10000",
200
- payment_amount: "100000000",
201
- timestamp: "2023-01-01T12:00:00Z",
202
- status: "success",
203
- args: {
204
- id: {
205
- parsed: 12345,
206
- cl_type: {
207
- Option: "U64",
208
- },
209
- },
210
- amount: {
211
- parsed: "500000000",
212
- cl_type: "U512",
213
- },
214
- target: {
215
- parsed: fixtures_1.TEST_ADDRESSES.RECIPIENT_SECP256K1,
216
- cl_type: "PublicKey",
217
- },
218
- },
219
- amount: "500000000",
220
- });
221
- const mockTxData = [createMockTxData("deploy-hash-1")];
222
- const getExpectedNetworkCall = (page) => ({
223
- method: "GET",
224
- url: `${MOCK_INDEXER_URL}/accounts/${MOCK_PUBLIC_KEY}/ledgerlive-deploys?limit=${DEFAULT_LIMIT}&page=${page}`,
225
- });
226
- it("should fetch transactions successfully (single page)", async () => {
227
- jest.mocked(live_network_1.default).mockResolvedValueOnce(createNetworkMock(mockTxData));
228
- const result = await (0, _1.fetchTxs)(MOCK_PUBLIC_KEY);
229
- expect(live_network_1.default).toHaveBeenCalledWith(getExpectedNetworkCall(1));
230
- expect(result).toEqual(mockTxData);
231
- });
232
- it("should fetch transactions successfully (multiple pages)", async () => {
233
- // Mock first page
234
- jest.mocked(live_network_1.default).mockResolvedValueOnce(createNetworkMock([mockTxData[0]], 2, 2));
235
- // Mock second page
236
- const secondPageTx = createMockTxData("deploy-hash-2");
237
- jest.mocked(live_network_1.default).mockResolvedValueOnce(createNetworkMock([secondPageTx], 2, 2));
238
- const result = await (0, _1.fetchTxs)(MOCK_PUBLIC_KEY);
239
- expect(live_network_1.default).toHaveBeenCalledTimes(2);
240
- expect(live_network_1.default).toHaveBeenNthCalledWith(1, getExpectedNetworkCall(1));
241
- expect(live_network_1.default).toHaveBeenNthCalledWith(2, getExpectedNetworkCall(2));
242
- expect(result).toEqual([mockTxData[0], secondPageTx]);
243
- });
244
- it("should throw error when transactions fetch fails", async () => {
245
- const mockError = new Error("Failed to fetch transactions");
246
- jest.mocked(live_network_1.default).mockRejectedValueOnce(mockError);
247
- await expect((0, _1.fetchTxs)(MOCK_PUBLIC_KEY)).rejects.toThrow("Failed to fetch transactions");
248
- expect(logs_1.log).toHaveBeenCalledWith("error", "Casper indexer error: ", mockError);
249
- });
250
- });
251
- describe("broadcastTx", () => {
252
- it("should broadcast transaction successfully", async () => {
253
- const mockTransaction = {};
254
- const mockTxHash = "0123456789abcdef";
255
- createMockRpcClient({
256
- putTransaction: jest.fn().mockResolvedValue({
257
- transactionHash: { toHex: () => mockTxHash },
258
- }),
259
- });
260
- const result = await (0, _1.broadcastTx)(mockTransaction);
261
- expect(result).toBe(mockTxHash);
262
- });
263
- it("should throw error when broadcast fails", async () => {
264
- const mockTransaction = {};
265
- const mockError = new Error("Failed to broadcast transaction");
266
- createMockRpcClient({
267
- putTransaction: jest.fn().mockRejectedValue(mockError),
268
- });
269
- await expect((0, _1.broadcastTx)(mockTransaction)).rejects.toThrow("Failed to broadcast transaction");
270
- expect(logs_1.log).toHaveBeenCalledWith("error", "Failed to broadcast transaction", mockError);
271
- });
272
- });
273
- });
274
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=accountShape.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accountShape.test.d.ts","sourceRoot":"","sources":["../../../src/bridge/bridgeHelpers/accountShape.test.ts"],"names":[],"mappings":""}
@@ -1,94 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
7
- const index_1 = require("../../api/index");
8
- const txn_1 = require("./txn");
9
- const accountShape_1 = require("./accountShape");
10
- const fixtures_1 = require("../../test/fixtures");
11
- // Mock dependencies
12
- jest.mock("../../api/index");
13
- jest.mock("./txn");
14
- describe("getAccountShape", () => {
15
- const { mockAddress, mockAccountInfo, mockAccountId, mockBlockHeight, mockPurseUref, mockAccountHash, mockBalance, mockTxs, mockOperations, } = (0, fixtures_1.createMockAccountShapeData)();
16
- // Define a mock SyncConfig as required by the getAccountShape function
17
- const mockSyncConfig = {
18
- paginationConfig: {},
19
- };
20
- beforeEach(() => {
21
- jest.clearAllMocks();
22
- // Default mock implementations
23
- index_1.fetchAccountStateInfo.mockResolvedValue({
24
- purseUref: mockPurseUref,
25
- accountHash: mockAccountHash,
26
- });
27
- index_1.fetchBlockHeight.mockResolvedValue(mockBlockHeight);
28
- index_1.fetchBalance.mockResolvedValue(mockBalance);
29
- index_1.fetchTxs.mockResolvedValue(mockTxs);
30
- txn_1.mapTxToOps.mockImplementation(() => () => mockOperations);
31
- });
32
- test("should return the correct account shape for an account with balance", async () => {
33
- const accountShape = await (0, accountShape_1.getAccountShape)(mockAccountInfo, mockSyncConfig);
34
- expect(index_1.fetchAccountStateInfo).toHaveBeenCalledWith(mockAddress);
35
- expect(index_1.fetchBlockHeight).toHaveBeenCalled();
36
- expect(index_1.fetchBalance).toHaveBeenCalledWith(mockPurseUref);
37
- expect(index_1.fetchTxs).toHaveBeenCalledWith(mockAddress);
38
- expect(txn_1.mapTxToOps).toHaveBeenCalledWith(mockAccountId, mockAccountHash);
39
- expect(accountShape).toEqual({
40
- id: mockAccountId,
41
- balance: mockBalance,
42
- spendableBalance: mockBalance,
43
- operations: mockOperations,
44
- blockHeight: mockBlockHeight,
45
- });
46
- });
47
- test("should return account with zero balance when purseUref is not found", async () => {
48
- index_1.fetchAccountStateInfo.mockResolvedValue({
49
- purseUref: undefined,
50
- accountHash: mockAccountHash,
51
- });
52
- const accountShape = await (0, accountShape_1.getAccountShape)(mockAccountInfo, mockSyncConfig);
53
- expect(index_1.fetchAccountStateInfo).toHaveBeenCalledWith(mockAddress);
54
- expect(index_1.fetchBlockHeight).toHaveBeenCalled();
55
- expect(index_1.fetchBalance).not.toHaveBeenCalled();
56
- expect(index_1.fetchTxs).not.toHaveBeenCalled();
57
- expect(accountShape).toEqual({
58
- id: mockAccountId,
59
- balance: new bignumber_js_1.default(0),
60
- spendableBalance: new bignumber_js_1.default(0),
61
- operations: [],
62
- blockHeight: mockBlockHeight,
63
- });
64
- });
65
- test("should return account with operations even when accountHash is not found", async () => {
66
- index_1.fetchAccountStateInfo.mockResolvedValue({
67
- purseUref: mockPurseUref,
68
- accountHash: undefined,
69
- });
70
- const accountShape = await (0, accountShape_1.getAccountShape)(mockAccountInfo, mockSyncConfig);
71
- expect(index_1.fetchAccountStateInfo).toHaveBeenCalledWith(mockAddress);
72
- expect(index_1.fetchBlockHeight).toHaveBeenCalled();
73
- expect(index_1.fetchBalance).toHaveBeenCalledWith(mockPurseUref);
74
- expect(index_1.fetchTxs).toHaveBeenCalledWith(mockAddress);
75
- expect(txn_1.mapTxToOps).toHaveBeenCalledWith(mockAccountId, "");
76
- expect(accountShape).toEqual({
77
- id: mockAccountId,
78
- balance: mockBalance,
79
- spendableBalance: mockBalance,
80
- operations: mockOperations,
81
- blockHeight: mockBlockHeight,
82
- });
83
- });
84
- test("should handle API errors appropriately", async () => {
85
- const errorMessage = "API Error";
86
- index_1.fetchAccountStateInfo.mockRejectedValue(new Error(errorMessage));
87
- await expect((0, accountShape_1.getAccountShape)(mockAccountInfo, mockSyncConfig)).rejects.toThrow(errorMessage);
88
- expect(index_1.fetchAccountStateInfo).toHaveBeenCalledWith(mockAddress);
89
- expect(index_1.fetchBlockHeight).not.toHaveBeenCalled();
90
- expect(index_1.fetchBalance).not.toHaveBeenCalled();
91
- expect(index_1.fetchTxs).not.toHaveBeenCalled();
92
- });
93
- });
94
- //# sourceMappingURL=accountShape.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accountShape.test.js","sourceRoot":"","sources":["../../../src/bridge/bridgeHelpers/accountShape.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,2CAAkG;AAClG,+BAAmC;AACnC,iDAAiD;AACjD,kDAAiE;AAGjE,oBAAoB;AACpB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAEnB,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,MAAM,EACJ,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACX,OAAO,EACP,cAAc,GACf,GAAG,IAAA,qCAA0B,GAAE,CAAC;IAEjC,uEAAuE;IACvE,MAAM,cAAc,GAAe;QACjC,gBAAgB,EAAE,EAAE;KACrB,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,+BAA+B;QAC9B,6BAAmC,CAAC,iBAAiB,CAAC;YACrD,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,eAAe;SAC7B,CAAC,CAAC;QAEF,wBAA8B,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAElE,oBAA0B,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAE1D,gBAAsB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAElD,gBAAwB,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAe,EAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAE5E,MAAM,CAAC,6BAAqB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,CAAC,wBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,CAAC,oBAAY,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,CAAC,gBAAQ,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAU,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAExE,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YAC3B,EAAE,EAAE,aAAa;YACjB,OAAO,EAAE,WAAW;YACpB,gBAAgB,EAAE,WAAW;YAC7B,UAAU,EAAE,cAAc;YAC1B,WAAW,EAAE,eAAe;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACpF,6BAAmC,CAAC,iBAAiB,CAAC;YACrD,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,eAAe;SAC7B,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAe,EAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAE5E,MAAM,CAAC,6BAAqB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,CAAC,wBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,CAAC,oBAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,CAAC,gBAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAExC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YAC3B,EAAE,EAAE,aAAa;YACjB,OAAO,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;YACzB,gBAAgB,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;YAClC,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,eAAe;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACzF,6BAAmC,CAAC,iBAAiB,CAAC;YACrD,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAe,EAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAE5E,MAAM,CAAC,6BAAqB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,CAAC,wBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,CAAC,oBAAY,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,CAAC,gBAAQ,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAU,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAE3D,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YAC3B,EAAE,EAAE,aAAa;YACjB,OAAO,EAAE,WAAW;YACpB,gBAAgB,EAAE,WAAW;YAC7B,UAAU,EAAE,cAAc;YAC1B,WAAW,EAAE,eAAe;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,YAAY,GAAG,WAAW,CAAC;QAChC,6BAAmC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAEhF,MAAM,MAAM,CAAC,IAAA,8BAAe,EAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAE7F,MAAM,CAAC,6BAAqB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,CAAC,wBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,CAAC,oBAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,CAAC,gBAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=txn.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"txn.test.d.ts","sourceRoot":"","sources":["../../../src/bridge/bridgeHelpers/txn.test.ts"],"names":[],"mappings":""}