@ledgerhq/coin-evm 2.0.0 → 2.0.1-nightly.0
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/.eslintrc.js +8 -6
- package/CHANGELOG.md +9 -0
- package/jest.config.js +5 -2
- package/lib/__tests__/coin-tester/anvil.d.ts +3 -0
- package/lib/__tests__/coin-tester/anvil.d.ts.map +1 -0
- package/lib/__tests__/coin-tester/anvil.js +55 -0
- package/lib/__tests__/coin-tester/anvil.js.map +1 -0
- package/lib/__tests__/coin-tester/helpers.d.ts +15 -0
- package/lib/__tests__/coin-tester/helpers.d.ts.map +1 -0
- package/lib/__tests__/coin-tester/helpers.js +47 -0
- package/lib/__tests__/coin-tester/helpers.js.map +1 -0
- package/lib/__tests__/coin-tester/indexer.d.ts +8 -0
- package/lib/__tests__/coin-tester/indexer.d.ts.map +1 -0
- package/lib/__tests__/coin-tester/indexer.js +205 -0
- package/lib/__tests__/coin-tester/indexer.js.map +1 -0
- package/lib/__tests__/coin-tester/scenarios/ethereum.d.ts +4 -0
- package/lib/__tests__/coin-tester/scenarios/ethereum.d.ts.map +1 -0
- package/lib/__tests__/coin-tester/scenarios/ethereum.js +214 -0
- package/lib/__tests__/coin-tester/scenarios/ethereum.js.map +1 -0
- package/lib/__tests__/coin-tester/scenarios/polygon.d.ts +4 -0
- package/lib/__tests__/coin-tester/scenarios/polygon.d.ts.map +1 -0
- package/lib/__tests__/coin-tester/scenarios/polygon.js +208 -0
- package/lib/__tests__/coin-tester/scenarios/polygon.js.map +1 -0
- package/lib/__tests__/coin-tester/scenarios.test.d.ts +2 -0
- package/lib/__tests__/coin-tester/scenarios.test.d.ts.map +1 -0
- package/lib/__tests__/coin-tester/scenarios.test.js +46 -0
- package/lib/__tests__/coin-tester/scenarios.test.js.map +1 -0
- package/lib/__tests__/fixtures/common.fixtures.d.ts +2 -2
- package/lib/__tests__/fixtures/common.fixtures.d.ts.map +1 -1
- package/lib/__tests__/fixtures/common.fixtures.js +0 -5
- package/lib/__tests__/fixtures/common.fixtures.js.map +1 -1
- package/lib/__tests__/fixtures/prepareTransaction.fixtures.d.ts +0 -1
- package/lib/__tests__/fixtures/prepareTransaction.fixtures.d.ts.map +1 -1
- package/lib/__tests__/fixtures/synchronization.fixtures.d.ts +35 -5
- package/lib/__tests__/fixtures/synchronization.fixtures.d.ts.map +1 -1
- package/lib/__tests__/fixtures/synchronization.fixtures.js +13 -2
- package/lib/__tests__/fixtures/synchronization.fixtures.js.map +1 -1
- package/lib/__tests__/fixtures/transaction.fixtures.d.ts +0 -1
- package/lib/__tests__/fixtures/transaction.fixtures.d.ts.map +1 -1
- package/lib/__tests__/unit/api/node/ledger.unit.test.js +3 -0
- package/lib/__tests__/unit/api/node/ledger.unit.test.js.map +1 -1
- package/lib/__tests__/unit/api/node/rpc.unit.test.js +23 -0
- package/lib/__tests__/unit/api/node/rpc.unit.test.js.map +1 -1
- package/lib/__tests__/unit/editTransaction/getFormattedFeeFields.test.js +1 -1
- package/lib/__tests__/unit/editTransaction/getFormattedFeeFields.test.js.map +1 -1
- package/lib/__tests__/unit/hw-getAddress.unit.test.js.map +1 -1
- package/lib/__tests__/unit/logic.unit.test.js +60 -0
- package/lib/__tests__/unit/logic.unit.test.js.map +1 -1
- package/lib/__tests__/unit/operation.test.js +1 -1
- package/lib/__tests__/unit/operation.test.js.map +1 -1
- package/lib/__tests__/unit/signOperation.unit.test.js.map +1 -1
- package/lib/__tests__/unit/synchronization.unit.test.js +16 -7
- package/lib/__tests__/unit/synchronization.unit.test.js.map +1 -1
- package/lib/api/node/ledger.d.ts.map +1 -1
- package/lib/api/node/ledger.js +3 -0
- package/lib/api/node/ledger.js.map +1 -1
- package/lib/api/node/rpc.common.d.ts.map +1 -1
- package/lib/api/node/rpc.common.js +4 -1
- package/lib/api/node/rpc.common.js.map +1 -1
- package/lib/api/node/types.d.ts +3 -0
- package/lib/api/node/types.d.ts.map +1 -1
- package/lib/api/node/types.js.map +1 -1
- package/lib/bridge/js.d.ts +4 -4
- package/lib/bridge/js.d.ts.map +1 -1
- package/lib/bridge/js.js.map +1 -1
- package/lib/datasets/ethereum1.d.ts.map +1 -1
- package/lib/datasets/ethereum1.js +0 -2
- package/lib/datasets/ethereum1.js.map +1 -1
- package/lib/editTransaction/getFormattedFeeFields.d.ts.map +1 -1
- package/lib/editTransaction/getFormattedFeeFields.js +8 -9
- package/lib/editTransaction/getFormattedFeeFields.js.map +1 -1
- package/lib/getTransactionStatus.d.ts.map +1 -1
- package/lib/getTransactionStatus.js.map +1 -1
- package/lib/hw-getAddress.d.ts +2 -2
- package/lib/hw-getAddress.d.ts.map +1 -1
- package/lib/hw-getAddress.js +1 -1
- package/lib/hw-getAddress.js.map +1 -1
- package/lib/hw-signMessage.d.ts +2 -2
- package/lib/hw-signMessage.d.ts.map +1 -1
- package/lib/hw-signMessage.js.map +1 -1
- package/lib/logic.d.ts +7 -4
- package/lib/logic.d.ts.map +1 -1
- package/lib/logic.js +15 -1
- package/lib/logic.js.map +1 -1
- package/lib/nftResolvers.js +1 -1
- package/lib/nftResolvers.js.map +1 -1
- package/lib/signOperation.d.ts +2 -2
- package/lib/signOperation.d.ts.map +1 -1
- package/lib/signOperation.js.map +1 -1
- package/lib/specs.d.ts.map +1 -1
- package/lib/specs.js +8 -7
- package/lib/specs.js.map +1 -1
- package/lib/synchronization.d.ts +3 -3
- package/lib/synchronization.d.ts.map +1 -1
- package/lib/synchronization.js +15 -7
- package/lib/synchronization.js.map +1 -1
- package/lib/transaction.d.ts +0 -1
- package/lib/transaction.d.ts.map +1 -1
- package/lib/transaction.js +8 -7
- package/lib/transaction.js.map +1 -1
- package/lib/types/transaction.d.ts +0 -1
- package/lib/types/transaction.d.ts.map +1 -1
- package/lib-es/__tests__/coin-tester/anvil.d.ts +3 -0
- package/lib-es/__tests__/coin-tester/anvil.d.ts.map +1 -0
- package/lib-es/__tests__/coin-tester/anvil.js +47 -0
- package/lib-es/__tests__/coin-tester/anvil.js.map +1 -0
- package/lib-es/__tests__/coin-tester/helpers.d.ts +15 -0
- package/lib-es/__tests__/coin-tester/helpers.d.ts.map +1 -0
- package/lib-es/__tests__/coin-tester/helpers.js +40 -0
- package/lib-es/__tests__/coin-tester/helpers.js.map +1 -0
- package/lib-es/__tests__/coin-tester/indexer.d.ts +8 -0
- package/lib-es/__tests__/coin-tester/indexer.d.ts.map +1 -0
- package/lib-es/__tests__/coin-tester/indexer.js +195 -0
- package/lib-es/__tests__/coin-tester/indexer.js.map +1 -0
- package/lib-es/__tests__/coin-tester/scenarios/ethereum.d.ts +4 -0
- package/lib-es/__tests__/coin-tester/scenarios/ethereum.d.ts.map +1 -0
- package/lib-es/__tests__/coin-tester/scenarios/ethereum.js +208 -0
- package/lib-es/__tests__/coin-tester/scenarios/ethereum.js.map +1 -0
- package/lib-es/__tests__/coin-tester/scenarios/polygon.d.ts +4 -0
- package/lib-es/__tests__/coin-tester/scenarios/polygon.d.ts.map +1 -0
- package/lib-es/__tests__/coin-tester/scenarios/polygon.js +202 -0
- package/lib-es/__tests__/coin-tester/scenarios/polygon.js.map +1 -0
- package/lib-es/__tests__/coin-tester/scenarios.test.d.ts +2 -0
- package/lib-es/__tests__/coin-tester/scenarios.test.d.ts.map +1 -0
- package/lib-es/__tests__/coin-tester/scenarios.test.js +44 -0
- package/lib-es/__tests__/coin-tester/scenarios.test.js.map +1 -0
- package/lib-es/__tests__/fixtures/common.fixtures.d.ts +2 -2
- package/lib-es/__tests__/fixtures/common.fixtures.d.ts.map +1 -1
- package/lib-es/__tests__/fixtures/common.fixtures.js +1 -6
- package/lib-es/__tests__/fixtures/common.fixtures.js.map +1 -1
- package/lib-es/__tests__/fixtures/prepareTransaction.fixtures.d.ts +0 -1
- package/lib-es/__tests__/fixtures/prepareTransaction.fixtures.d.ts.map +1 -1
- package/lib-es/__tests__/fixtures/synchronization.fixtures.d.ts +35 -5
- package/lib-es/__tests__/fixtures/synchronization.fixtures.d.ts.map +1 -1
- package/lib-es/__tests__/fixtures/synchronization.fixtures.js +12 -1
- package/lib-es/__tests__/fixtures/synchronization.fixtures.js.map +1 -1
- package/lib-es/__tests__/fixtures/transaction.fixtures.d.ts +0 -1
- package/lib-es/__tests__/fixtures/transaction.fixtures.d.ts.map +1 -1
- package/lib-es/__tests__/unit/api/node/ledger.unit.test.js +3 -0
- package/lib-es/__tests__/unit/api/node/ledger.unit.test.js.map +1 -1
- package/lib-es/__tests__/unit/api/node/rpc.unit.test.js +23 -0
- package/lib-es/__tests__/unit/api/node/rpc.unit.test.js.map +1 -1
- package/lib-es/__tests__/unit/editTransaction/getFormattedFeeFields.test.js +1 -1
- package/lib-es/__tests__/unit/editTransaction/getFormattedFeeFields.test.js.map +1 -1
- package/lib-es/__tests__/unit/hw-getAddress.unit.test.js.map +1 -1
- package/lib-es/__tests__/unit/logic.unit.test.js +61 -1
- package/lib-es/__tests__/unit/logic.unit.test.js.map +1 -1
- package/lib-es/__tests__/unit/operation.test.js +1 -1
- package/lib-es/__tests__/unit/operation.test.js.map +1 -1
- package/lib-es/__tests__/unit/signOperation.unit.test.js.map +1 -1
- package/lib-es/__tests__/unit/synchronization.unit.test.js +17 -8
- package/lib-es/__tests__/unit/synchronization.unit.test.js.map +1 -1
- package/lib-es/api/node/ledger.d.ts.map +1 -1
- package/lib-es/api/node/ledger.js +3 -0
- package/lib-es/api/node/ledger.js.map +1 -1
- package/lib-es/api/node/rpc.common.d.ts.map +1 -1
- package/lib-es/api/node/rpc.common.js +4 -1
- package/lib-es/api/node/rpc.common.js.map +1 -1
- package/lib-es/api/node/types.d.ts +3 -0
- package/lib-es/api/node/types.d.ts.map +1 -1
- package/lib-es/api/node/types.js.map +1 -1
- package/lib-es/bridge/js.d.ts +4 -4
- package/lib-es/bridge/js.d.ts.map +1 -1
- package/lib-es/bridge/js.js.map +1 -1
- package/lib-es/datasets/ethereum1.d.ts.map +1 -1
- package/lib-es/datasets/ethereum1.js +0 -2
- package/lib-es/datasets/ethereum1.js.map +1 -1
- package/lib-es/editTransaction/getFormattedFeeFields.d.ts.map +1 -1
- package/lib-es/editTransaction/getFormattedFeeFields.js +3 -4
- package/lib-es/editTransaction/getFormattedFeeFields.js.map +1 -1
- package/lib-es/getTransactionStatus.d.ts.map +1 -1
- package/lib-es/getTransactionStatus.js.map +1 -1
- package/lib-es/hw-getAddress.d.ts +2 -2
- package/lib-es/hw-getAddress.d.ts.map +1 -1
- package/lib-es/hw-getAddress.js +1 -1
- package/lib-es/hw-getAddress.js.map +1 -1
- package/lib-es/hw-signMessage.d.ts +2 -2
- package/lib-es/hw-signMessage.d.ts.map +1 -1
- package/lib-es/hw-signMessage.js.map +1 -1
- package/lib-es/logic.d.ts +7 -4
- package/lib-es/logic.d.ts.map +1 -1
- package/lib-es/logic.js +13 -0
- package/lib-es/logic.js.map +1 -1
- package/lib-es/nftResolvers.js +1 -1
- package/lib-es/nftResolvers.js.map +1 -1
- package/lib-es/signOperation.d.ts +2 -2
- package/lib-es/signOperation.d.ts.map +1 -1
- package/lib-es/signOperation.js.map +1 -1
- package/lib-es/specs.d.ts.map +1 -1
- package/lib-es/specs.js +3 -2
- package/lib-es/specs.js.map +1 -1
- package/lib-es/synchronization.d.ts +3 -3
- package/lib-es/synchronization.d.ts.map +1 -1
- package/lib-es/synchronization.js +13 -8
- package/lib-es/synchronization.js.map +1 -1
- package/lib-es/transaction.d.ts +0 -1
- package/lib-es/transaction.d.ts.map +1 -1
- package/lib-es/transaction.js +4 -3
- package/lib-es/transaction.js.map +1 -1
- package/lib-es/types/transaction.d.ts +0 -1
- package/lib-es/types/transaction.d.ts.map +1 -1
- package/package.json +13 -6
- package/src/__tests__/coin-tester/.env.example +7 -0
- package/src/__tests__/coin-tester/anvil.ts +55 -0
- package/src/__tests__/coin-tester/docker-compose.yml +9 -0
- package/src/__tests__/coin-tester/helpers.ts +43 -0
- package/src/__tests__/coin-tester/indexer.ts +218 -0
- package/src/__tests__/coin-tester/scenarios/ethereum.ts +243 -0
- package/src/__tests__/coin-tester/scenarios/polygon.ts +235 -0
- package/src/__tests__/coin-tester/scenarios.test.ts +38 -0
- package/src/__tests__/fixtures/common.fixtures.ts +2 -16
- package/src/__tests__/fixtures/synchronization.fixtures.ts +16 -1
- package/src/__tests__/unit/api/node/ledger.unit.test.ts +3 -0
- package/src/__tests__/unit/api/node/rpc.unit.test.ts +23 -0
- package/src/__tests__/unit/editTransaction/getFormattedFeeFields.test.ts +1 -1
- package/src/__tests__/unit/hw-getAddress.unit.test.ts +2 -5
- package/src/__tests__/unit/logic.unit.test.ts +74 -0
- package/src/__tests__/unit/operation.test.ts +1 -1
- package/src/__tests__/unit/signOperation.unit.test.ts +3 -3
- package/src/__tests__/unit/synchronization.unit.test.ts +17 -5
- package/src/api/node/ledger.ts +3 -0
- package/src/api/node/rpc.common.ts +7 -1
- package/src/api/node/types.ts +3 -0
- package/src/bridge/js.ts +4 -6
- package/src/datasets/ethereum1.ts +0 -2
- package/src/editTransaction/getFormattedFeeFields.ts +3 -4
- package/src/getTransactionStatus.ts +8 -3
- package/src/hw-getAddress.ts +4 -6
- package/src/hw-signMessage.ts +2 -2
- package/src/logic.ts +26 -9
- package/src/nftResolvers.ts +1 -1
- package/src/signOperation.ts +2 -4
- package/src/specs.ts +3 -5
- package/src/synchronization.ts +18 -10
- package/src/transaction.ts +4 -4
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.scenarioEthereum = void 0;
|
|
16
|
+
const hw_app_eth_1 = __importDefault(require("@ledgerhq/hw-app-eth"));
|
|
17
|
+
const bignumber_js_1 = require("bignumber.js");
|
|
18
|
+
const ethers_1 = require("ethers");
|
|
19
|
+
const speculos_1 = require("@ledgerhq/coin-tester/signers/speculos");
|
|
20
|
+
const index_1 = require("@ledgerhq/coin-framework/account/index");
|
|
21
|
+
const currencies_1 = require("@ledgerhq/cryptoassets/currencies");
|
|
22
|
+
const js_1 = require("../../../bridge/js");
|
|
23
|
+
const common_fixtures_1 = require("../../fixtures/common.fixtures");
|
|
24
|
+
const hw_getAddress_1 = __importDefault(require("../../../hw-getAddress"));
|
|
25
|
+
const config_1 = require("../../../config");
|
|
26
|
+
const helpers_1 = require("../helpers");
|
|
27
|
+
const indexer_1 = require("../indexer");
|
|
28
|
+
const anvil_1 = require("../anvil");
|
|
29
|
+
const makeScenarioTransactions = ({ address, }) => {
|
|
30
|
+
const scenarioSendEthTransaction = {
|
|
31
|
+
name: "Send ethereum",
|
|
32
|
+
amount: new bignumber_js_1.BigNumber(100),
|
|
33
|
+
recipient: "0x6bfD74C0996F269Bcece59191EFf667b3dFD73b9",
|
|
34
|
+
expect: (previousAccount, currentAccount) => {
|
|
35
|
+
const [latestOperation] = currentAccount.operations;
|
|
36
|
+
expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
|
|
37
|
+
expect(latestOperation.type).toBe("OUT");
|
|
38
|
+
expect(latestOperation.value.toFixed()).toBe(latestOperation.fee.plus(100).toFixed());
|
|
39
|
+
expect(currentAccount.balance.toFixed()).toBe(previousAccount.balance.minus(latestOperation.value).toFixed());
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
const scenarioSendUSDCTransaction = {
|
|
43
|
+
name: "Send USDC",
|
|
44
|
+
amount: new bignumber_js_1.BigNumber(ethers_1.ethers.utils.parseUnits("80", helpers_1.USDC_ON_ETHEREUM.units[0].magnitude).toString()),
|
|
45
|
+
recipient: "0x6bfD74C0996F269Bcece59191EFf667b3dFD73b9",
|
|
46
|
+
subAccountId: (0, index_1.encodeTokenAccountId)(`js:2:ethereum:${address}:`, helpers_1.USDC_ON_ETHEREUM),
|
|
47
|
+
expect: (previousAccount, currentAccount) => {
|
|
48
|
+
var _a, _b, _c;
|
|
49
|
+
const [latestOperation] = currentAccount.operations;
|
|
50
|
+
expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
|
|
51
|
+
expect(latestOperation.type).toBe("FEES");
|
|
52
|
+
expect(latestOperation.value.toFixed()).toBe(latestOperation.fee.toFixed());
|
|
53
|
+
expect((_a = latestOperation.subOperations) === null || _a === void 0 ? void 0 : _a[0].type).toBe("OUT");
|
|
54
|
+
expect((_b = latestOperation.subOperations) === null || _b === void 0 ? void 0 : _b[0].value.toFixed()).toBe(ethers_1.ethers.utils.parseUnits("80", helpers_1.USDC_ON_ETHEREUM.units[0].magnitude).toString());
|
|
55
|
+
expect((_c = currentAccount.subAccounts) === null || _c === void 0 ? void 0 : _c[0].balance.toFixed()).toBe(ethers_1.ethers.utils.parseUnits("20", helpers_1.USDC_ON_ETHEREUM.units[0].magnitude).toString());
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
const scenarioSendERC721Transaction = {
|
|
59
|
+
name: "Send ERC721",
|
|
60
|
+
recipient: "0x6bfD74C0996F269Bcece59191EFf667b3dFD73b9",
|
|
61
|
+
mode: "erc721",
|
|
62
|
+
nft: {
|
|
63
|
+
tokenId: "3368",
|
|
64
|
+
contract: "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
|
|
65
|
+
quantity: new bignumber_js_1.BigNumber(1),
|
|
66
|
+
collectionName: "Bored Ape",
|
|
67
|
+
},
|
|
68
|
+
expect: (previousAccount, currentAccount) => {
|
|
69
|
+
var _a, _b;
|
|
70
|
+
const [latestOperation] = currentAccount.operations;
|
|
71
|
+
expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
|
|
72
|
+
expect((_a = currentAccount.nfts) === null || _a === void 0 ? void 0 : _a.every(nft => nft.contract !== "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D")).toBe(true);
|
|
73
|
+
expect(latestOperation.type).toBe("FEES");
|
|
74
|
+
const lastNftOperation = (_b = latestOperation.nftOperations) === null || _b === void 0 ? void 0 : _b[0];
|
|
75
|
+
expect(lastNftOperation).toMatchObject({
|
|
76
|
+
contract: "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
|
|
77
|
+
tokenId: "3368",
|
|
78
|
+
value: new bignumber_js_1.BigNumber(1),
|
|
79
|
+
});
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
const scenarioSendERC1155Transaction = {
|
|
83
|
+
name: "Send ERC1155",
|
|
84
|
+
recipient: "0x6bfD74C0996F269Bcece59191EFf667b3dFD73b9",
|
|
85
|
+
mode: "erc1155",
|
|
86
|
+
nft: {
|
|
87
|
+
tokenId: "951",
|
|
88
|
+
collectionName: "Clone X",
|
|
89
|
+
contract: "0x348FC118bcC65a92dC033A951aF153d14D945312",
|
|
90
|
+
quantity: new bignumber_js_1.BigNumber(2),
|
|
91
|
+
},
|
|
92
|
+
expect: (previousAccount, currentAccount) => {
|
|
93
|
+
var _a, _b;
|
|
94
|
+
const [latestOperation] = currentAccount.operations;
|
|
95
|
+
expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
|
|
96
|
+
expect((_a = currentAccount.nfts) === null || _a === void 0 ? void 0 : _a.every(nft => nft.contract !== "0x348FC118bcC65a92dC033A951aF153d14D945312")).toBe(true);
|
|
97
|
+
expect(latestOperation.type).toBe("FEES");
|
|
98
|
+
const lastNftOperation = (_b = latestOperation.nftOperations) === null || _b === void 0 ? void 0 : _b[0];
|
|
99
|
+
expect(lastNftOperation).toMatchObject({
|
|
100
|
+
contract: "0x348FC118bcC65a92dC033A951aF153d14D945312",
|
|
101
|
+
tokenId: "951",
|
|
102
|
+
value: new bignumber_js_1.BigNumber(2),
|
|
103
|
+
});
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
return [
|
|
107
|
+
scenarioSendEthTransaction,
|
|
108
|
+
scenarioSendUSDCTransaction,
|
|
109
|
+
scenarioSendERC721Transaction,
|
|
110
|
+
scenarioSendERC1155Transaction,
|
|
111
|
+
];
|
|
112
|
+
};
|
|
113
|
+
const defaultNanoApp = { firmware: "2.2.3", version: "1.10.4" };
|
|
114
|
+
exports.scenarioEthereum = {
|
|
115
|
+
name: "Ledger Live Basic ETH Transactions",
|
|
116
|
+
setup: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
117
|
+
const [{ transport, onSignerConfirmation }] = yield Promise.all([
|
|
118
|
+
(0, speculos_1.spawnSpeculos)(`/${defaultNanoApp.firmware}/Ethereum/app_${defaultNanoApp.version}.elf`),
|
|
119
|
+
(0, anvil_1.spawnAnvil)("https://rpc.ankr.com/eth"),
|
|
120
|
+
]);
|
|
121
|
+
const provider = new ethers_1.providers.StaticJsonRpcProvider("http://127.0.0.1:8545");
|
|
122
|
+
const signerContext = (deviceId, fn) => fn(new hw_app_eth_1.default(transport));
|
|
123
|
+
(0, config_1.setCoinConfig)(() => ({
|
|
124
|
+
info: {
|
|
125
|
+
status: {
|
|
126
|
+
type: "active",
|
|
127
|
+
},
|
|
128
|
+
gasTracker: {
|
|
129
|
+
type: "ledger",
|
|
130
|
+
explorerId: "eth",
|
|
131
|
+
},
|
|
132
|
+
node: {
|
|
133
|
+
type: "external",
|
|
134
|
+
uri: "http://127.0.0.1:8545",
|
|
135
|
+
},
|
|
136
|
+
explorer: {
|
|
137
|
+
type: "ledger",
|
|
138
|
+
explorerId: "eth",
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
}));
|
|
142
|
+
const currencyBridge = (0, js_1.buildCurrencyBridge)(signerContext);
|
|
143
|
+
const accountBridge = (0, js_1.buildAccountBridge)(signerContext);
|
|
144
|
+
const getAddress = (0, hw_getAddress_1.default)(signerContext);
|
|
145
|
+
const { address } = yield getAddress("", {
|
|
146
|
+
path: "44'/60'/0'/0/0",
|
|
147
|
+
currency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
|
|
148
|
+
derivationMode: "",
|
|
149
|
+
});
|
|
150
|
+
const scenarioAccount = (0, common_fixtures_1.makeAccount)(address, helpers_1.ethereum);
|
|
151
|
+
yield (0, indexer_1.setBlock)();
|
|
152
|
+
// Binance account
|
|
153
|
+
yield (0, helpers_1.impersonnateAccount)({
|
|
154
|
+
provider,
|
|
155
|
+
data: helpers_1.ERC20Interface.encodeFunctionData("transfer", [
|
|
156
|
+
address,
|
|
157
|
+
ethers_1.ethers.utils.parseUnits("100", helpers_1.USDC_ON_ETHEREUM.units[0].magnitude),
|
|
158
|
+
]),
|
|
159
|
+
to: helpers_1.USDC_ON_ETHEREUM.contractAddress,
|
|
160
|
+
addressToImpersonnate: "0x47ac0Fb4F2D84898e4D9E7b4DaB3C24507a6D503", // binance
|
|
161
|
+
});
|
|
162
|
+
// Bored Ape
|
|
163
|
+
yield (0, helpers_1.impersonnateAccount)({
|
|
164
|
+
provider,
|
|
165
|
+
data: helpers_1.ERC721Interface.encodeFunctionData("transferFrom", [
|
|
166
|
+
"0x440Bcc7a1CF465EAFaBaE301D1D7739cbFe09dDA",
|
|
167
|
+
address,
|
|
168
|
+
"3368",
|
|
169
|
+
]),
|
|
170
|
+
to: "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
|
|
171
|
+
addressToImpersonnate: "0x440Bcc7a1CF465EAFaBaE301D1D7739cbFe09dDA",
|
|
172
|
+
});
|
|
173
|
+
// Clone X
|
|
174
|
+
yield (0, helpers_1.impersonnateAccount)({
|
|
175
|
+
provider,
|
|
176
|
+
data: helpers_1.ERC1155Interface.encodeFunctionData("safeTransferFrom", [
|
|
177
|
+
"0xa3cd1123f4860C0cC512C775Ab6DB6A3E3d1B1Ee",
|
|
178
|
+
address,
|
|
179
|
+
"951",
|
|
180
|
+
2,
|
|
181
|
+
"0x",
|
|
182
|
+
]),
|
|
183
|
+
to: "0x348fc118bcc65a92dc033a951af153d14d945312",
|
|
184
|
+
addressToImpersonnate: "0xa3cd1123f4860C0cC512C775Ab6DB6A3E3d1B1Ee",
|
|
185
|
+
});
|
|
186
|
+
yield (0, indexer_1.getLogs)();
|
|
187
|
+
return {
|
|
188
|
+
currencyBridge,
|
|
189
|
+
accountBridge,
|
|
190
|
+
account: scenarioAccount,
|
|
191
|
+
onSignerConfirmation,
|
|
192
|
+
};
|
|
193
|
+
}),
|
|
194
|
+
beforeAll: account => {
|
|
195
|
+
var _a, _b, _c;
|
|
196
|
+
expect(account.balance.toFixed()).toBe(ethers_1.ethers.utils.parseEther("10000").toString());
|
|
197
|
+
expect((_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a[0].type).toBe("TokenAccount");
|
|
198
|
+
expect((_b = account.subAccounts) === null || _b === void 0 ? void 0 : _b[0].balance.toFixed()).toBe(ethers_1.ethers.utils.parseUnits("100", helpers_1.USDC_ON_ETHEREUM.units[0].magnitude).toString());
|
|
199
|
+
expect((_c = account.nfts) === null || _c === void 0 ? void 0 : _c.length).toBe(2);
|
|
200
|
+
},
|
|
201
|
+
getTransactions: address => makeScenarioTransactions({ address }),
|
|
202
|
+
afterAll: account => {
|
|
203
|
+
var _a, _b, _c;
|
|
204
|
+
expect((_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a.length).toBe(1);
|
|
205
|
+
expect((_b = account.subAccounts) === null || _b === void 0 ? void 0 : _b[0].balance.toFixed()).toBe(ethers_1.ethers.utils.parseUnits("20", helpers_1.USDC_ON_ETHEREUM.units[0].magnitude).toString());
|
|
206
|
+
expect((_c = account.nfts) === null || _c === void 0 ? void 0 : _c.length).toBe(0);
|
|
207
|
+
expect(account.operations.length).toBe(7);
|
|
208
|
+
},
|
|
209
|
+
teardown: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
210
|
+
yield Promise.all([(0, speculos_1.killSpeculos)(), (0, anvil_1.killAnvil)()]);
|
|
211
|
+
(0, indexer_1.clearExplorerAppendix)();
|
|
212
|
+
}),
|
|
213
|
+
};
|
|
214
|
+
//# sourceMappingURL=ethereum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../src/__tests__/coin-tester/scenarios/ethereum.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polygon.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/coin-tester/scenarios/polygon.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B,CAAC;AAI3E,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAuH/D,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,cAAc,CA0GpD,CAAC"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.scenarioPolygon = void 0;
|
|
16
|
+
const hw_app_eth_1 = __importDefault(require("@ledgerhq/hw-app-eth"));
|
|
17
|
+
const bignumber_js_1 = require("bignumber.js");
|
|
18
|
+
const ethers_1 = require("ethers");
|
|
19
|
+
const speculos_1 = require("@ledgerhq/coin-tester/signers/speculos");
|
|
20
|
+
const index_1 = require("@ledgerhq/coin-framework/account/index");
|
|
21
|
+
const currencies_1 = require("@ledgerhq/cryptoassets/currencies");
|
|
22
|
+
const js_1 = require("../../../bridge/js");
|
|
23
|
+
const common_fixtures_1 = require("../../fixtures/common.fixtures");
|
|
24
|
+
const hw_getAddress_1 = __importDefault(require("../../../hw-getAddress"));
|
|
25
|
+
const config_1 = require("../../../config");
|
|
26
|
+
const helpers_1 = require("../helpers");
|
|
27
|
+
const indexer_1 = require("../indexer");
|
|
28
|
+
const anvil_1 = require("../anvil");
|
|
29
|
+
const makeScenarioTransactions = ({ address }) => {
|
|
30
|
+
const send1MaticTransaction = {
|
|
31
|
+
name: "Send 1 Matic",
|
|
32
|
+
amount: new bignumber_js_1.BigNumber(ethers_1.ethers.utils.parseEther("1").toString()),
|
|
33
|
+
recipient: ethers_1.ethers.constants.AddressZero,
|
|
34
|
+
expect: (previousAccount, currentAccount) => {
|
|
35
|
+
const [latestOperation] = currentAccount.operations;
|
|
36
|
+
expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
|
|
37
|
+
expect(latestOperation.type).toBe("OUT");
|
|
38
|
+
expect(latestOperation.value.toFixed()).toBe(latestOperation.fee.plus(new bignumber_js_1.BigNumber("1000000000000000000")).toFixed());
|
|
39
|
+
expect(currentAccount.balance.toFixed()).toBe(previousAccount.balance.minus(latestOperation.value).toFixed());
|
|
40
|
+
expect(currentAccount.balance.toFixed()).toBe(previousAccount.balance.minus(latestOperation.value).toFixed());
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
const send80USDCTransaction = {
|
|
44
|
+
name: "Send 80 USDC",
|
|
45
|
+
recipient: "0x47ac0Fb4F2D84898e4D9E7b4DaB3C24507a6D503",
|
|
46
|
+
amount: new bignumber_js_1.BigNumber(ethers_1.ethers.utils.parseUnits("80", helpers_1.USDC_ON_POLYGON.units[0].magnitude).toString()),
|
|
47
|
+
subAccountId: (0, index_1.encodeTokenAccountId)(`js:2:polygon:${address}:`, helpers_1.USDC_ON_POLYGON),
|
|
48
|
+
expect: (previousAccount, currentAccount) => {
|
|
49
|
+
var _a, _b;
|
|
50
|
+
const [latestOperation] = currentAccount.operations;
|
|
51
|
+
expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
|
|
52
|
+
expect(latestOperation.type).toBe("FEES");
|
|
53
|
+
expect((_a = latestOperation.subOperations) === null || _a === void 0 ? void 0 : _a[0].type).toBe("OUT");
|
|
54
|
+
expect((_b = latestOperation.subOperations) === null || _b === void 0 ? void 0 : _b[0].value.toFixed()).toBe(ethers_1.ethers.utils.parseUnits("80", helpers_1.USDC_ON_POLYGON.units[0].magnitude).toString());
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
const sendERC721Transaction = {
|
|
58
|
+
name: "Send ERC721",
|
|
59
|
+
recipient: "0x6bfD74C0996F269Bcece59191EFf667b3dFD73b9",
|
|
60
|
+
mode: "erc721",
|
|
61
|
+
nft: {
|
|
62
|
+
tokenId: "60528792147736380591631075209254468696410877323158186238633641510210472247297",
|
|
63
|
+
contract: "0x897B7A466905A7F0390ebCFf195F227f9DC2244c",
|
|
64
|
+
quantity: new bignumber_js_1.BigNumber(1),
|
|
65
|
+
collectionName: "Random Shit",
|
|
66
|
+
},
|
|
67
|
+
expect: (previousAccount, currentAccount) => {
|
|
68
|
+
var _a, _b;
|
|
69
|
+
const [latestOperation] = currentAccount.operations;
|
|
70
|
+
expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
|
|
71
|
+
expect((_a = currentAccount.nfts) === null || _a === void 0 ? void 0 : _a.every(nft => nft.contract !== "0x897B7A466905A7F0390ebCFf195F227f9DC2244c")).toBe(true);
|
|
72
|
+
expect(latestOperation.type).toBe("FEES");
|
|
73
|
+
const lastNftOperation = (_b = latestOperation.nftOperations) === null || _b === void 0 ? void 0 : _b[0];
|
|
74
|
+
expect(lastNftOperation).toMatchObject({
|
|
75
|
+
contract: "0x897B7A466905A7F0390ebCFf195F227f9DC2244c",
|
|
76
|
+
tokenId: "60528792147736380591631075209254468696410877323158186238633641510210472247297",
|
|
77
|
+
value: new bignumber_js_1.BigNumber(1),
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
const sendERC1155Transaction = {
|
|
82
|
+
name: "Send ERC1155",
|
|
83
|
+
recipient: "0x6bfD74C0996F269Bcece59191EFf667b3dFD73b9",
|
|
84
|
+
mode: "erc1155",
|
|
85
|
+
nft: {
|
|
86
|
+
tokenId: "60528792147736380591631075209254468696410877323158186238633641510210472247298",
|
|
87
|
+
contract: "0x631EAEd1388D1ac5A46e327f3A893c19b4d48920",
|
|
88
|
+
quantity: new bignumber_js_1.BigNumber(10),
|
|
89
|
+
collectionName: "Random Shit 1155",
|
|
90
|
+
},
|
|
91
|
+
expect: (previousAccount, currentAccount) => {
|
|
92
|
+
var _a, _b;
|
|
93
|
+
const [latestOperation] = currentAccount.operations;
|
|
94
|
+
expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
|
|
95
|
+
expect((_a = currentAccount.nfts) === null || _a === void 0 ? void 0 : _a.every(nft => nft.contract !== "0x631EAEd1388D1ac5A46e327f3A893c19b4d48920")).toBe(true);
|
|
96
|
+
expect(latestOperation.type).toBe("FEES");
|
|
97
|
+
const lastNftOperation = (_b = latestOperation.nftOperations) === null || _b === void 0 ? void 0 : _b[0];
|
|
98
|
+
expect(lastNftOperation).toMatchObject({
|
|
99
|
+
contract: "0x631EAEd1388D1ac5A46e327f3A893c19b4d48920",
|
|
100
|
+
tokenId: "60528792147736380591631075209254468696410877323158186238633641510210472247298",
|
|
101
|
+
value: new bignumber_js_1.BigNumber(10),
|
|
102
|
+
});
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
return [
|
|
106
|
+
send1MaticTransaction,
|
|
107
|
+
send80USDCTransaction,
|
|
108
|
+
sendERC721Transaction,
|
|
109
|
+
sendERC1155Transaction,
|
|
110
|
+
];
|
|
111
|
+
};
|
|
112
|
+
const defaultNanoApp = { firmware: "2.2.3", version: "1.10.4" };
|
|
113
|
+
exports.scenarioPolygon = {
|
|
114
|
+
name: "Ledger Live Basic Polygon Transactions",
|
|
115
|
+
setup: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
116
|
+
const [{ transport, onSignerConfirmation }] = yield Promise.all([
|
|
117
|
+
(0, speculos_1.spawnSpeculos)(`/${defaultNanoApp.firmware}/Ethereum/app_${defaultNanoApp.version}.elf`),
|
|
118
|
+
(0, anvil_1.spawnAnvil)("https://rpc.ankr.com/polygon"),
|
|
119
|
+
]);
|
|
120
|
+
const provider = new ethers_1.providers.StaticJsonRpcProvider("http://127.0.0.1:8545");
|
|
121
|
+
const signerContext = (deviceId, fn) => fn(new hw_app_eth_1.default(transport));
|
|
122
|
+
(0, config_1.setCoinConfig)(() => ({
|
|
123
|
+
info: {
|
|
124
|
+
status: {
|
|
125
|
+
type: "active",
|
|
126
|
+
},
|
|
127
|
+
node: {
|
|
128
|
+
type: "external",
|
|
129
|
+
uri: "http://127.0.0.1:8545",
|
|
130
|
+
},
|
|
131
|
+
gasTracker: {
|
|
132
|
+
type: "ledger",
|
|
133
|
+
explorerId: "matic",
|
|
134
|
+
},
|
|
135
|
+
explorer: {
|
|
136
|
+
type: "ledger",
|
|
137
|
+
explorerId: "matic",
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
}));
|
|
141
|
+
const currencyBridge = (0, js_1.buildCurrencyBridge)(signerContext);
|
|
142
|
+
const accountBridge = (0, js_1.buildAccountBridge)(signerContext);
|
|
143
|
+
const getAddress = (0, hw_getAddress_1.default)(signerContext);
|
|
144
|
+
const { address } = yield getAddress("", {
|
|
145
|
+
path: "44'/60'/0'/0/0",
|
|
146
|
+
currency: (0, currencies_1.getCryptoCurrencyById)("polygon"),
|
|
147
|
+
derivationMode: "",
|
|
148
|
+
});
|
|
149
|
+
const scenarioAccount = (0, common_fixtures_1.makeAccount)(address, helpers_1.polygon);
|
|
150
|
+
yield (0, indexer_1.setBlock)();
|
|
151
|
+
// Send 100 USDC to the scenario account
|
|
152
|
+
yield (0, helpers_1.impersonnateAccount)({
|
|
153
|
+
provider,
|
|
154
|
+
to: helpers_1.USDC_ON_POLYGON.contractAddress,
|
|
155
|
+
data: helpers_1.ERC20Interface.encodeFunctionData("transfer", [
|
|
156
|
+
address,
|
|
157
|
+
ethers_1.ethers.utils.parseUnits("100", helpers_1.USDC_ON_POLYGON.units[0].magnitude),
|
|
158
|
+
]),
|
|
159
|
+
addressToImpersonnate: "0x45dDa9cb7c25131DF268515131f647d726f50608",
|
|
160
|
+
});
|
|
161
|
+
// Send 1 ERC721 to the scenario account
|
|
162
|
+
yield (0, helpers_1.impersonnateAccount)({
|
|
163
|
+
provider,
|
|
164
|
+
to: "0x897B7A466905A7F0390ebCFf195F227f9DC2244c",
|
|
165
|
+
data: helpers_1.ERC721Interface.encodeFunctionData("transferFrom", [
|
|
166
|
+
"0x85d2151147d8347aac0a8cd07bb6cc363fcf88e1",
|
|
167
|
+
address,
|
|
168
|
+
"60528792147736380591631075209254468696410877323158186238633641510210472247297",
|
|
169
|
+
]),
|
|
170
|
+
addressToImpersonnate: "0x85d2151147d8347aac0a8cd07bb6cc363fcf88e1",
|
|
171
|
+
});
|
|
172
|
+
// Send 10 ERC1155 to the scenario account
|
|
173
|
+
yield (0, helpers_1.impersonnateAccount)({
|
|
174
|
+
provider,
|
|
175
|
+
to: "0x631EAEd1388D1ac5A46e327f3A893c19b4d48920",
|
|
176
|
+
data: helpers_1.ERC1155Interface.encodeFunctionData("safeTransferFrom", [
|
|
177
|
+
"0x85d2151147d8347aac0a8cd07bb6cc363fcf88e1",
|
|
178
|
+
address,
|
|
179
|
+
"60528792147736380591631075209254468696410877323158186238633641510210472247298",
|
|
180
|
+
10,
|
|
181
|
+
"0x",
|
|
182
|
+
]),
|
|
183
|
+
addressToImpersonnate: "0x85d2151147d8347aac0a8cd07bb6cc363fcf88e1",
|
|
184
|
+
});
|
|
185
|
+
yield (0, indexer_1.getLogs)();
|
|
186
|
+
return { currencyBridge, accountBridge, account: scenarioAccount, onSignerConfirmation };
|
|
187
|
+
}),
|
|
188
|
+
getTransactions: address => makeScenarioTransactions({ address }),
|
|
189
|
+
beforeAll: account => {
|
|
190
|
+
var _a, _b, _c;
|
|
191
|
+
expect(account.balance.toFixed()).toBe(ethers_1.ethers.utils.parseEther("10000").toString());
|
|
192
|
+
expect((_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a[0].type).toBe("TokenAccount");
|
|
193
|
+
expect((_b = account.subAccounts) === null || _b === void 0 ? void 0 : _b[0].balance.toFixed()).toBe(ethers_1.ethers.utils.parseUnits("100", helpers_1.USDC_ON_POLYGON.units[0].magnitude).toString());
|
|
194
|
+
expect((_c = account.nfts) === null || _c === void 0 ? void 0 : _c.length).toBe(2);
|
|
195
|
+
},
|
|
196
|
+
afterAll: account => {
|
|
197
|
+
var _a, _b, _c;
|
|
198
|
+
expect((_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a.length).toBe(1);
|
|
199
|
+
expect((_b = account.subAccounts) === null || _b === void 0 ? void 0 : _b[0].balance.toFixed()).toBe(ethers_1.ethers.utils.parseUnits("20", helpers_1.USDC_ON_POLYGON.units[0].magnitude).toString());
|
|
200
|
+
expect((_c = account.nfts) === null || _c === void 0 ? void 0 : _c.length).toBe(0);
|
|
201
|
+
expect(account.operations.length).toBe(7);
|
|
202
|
+
},
|
|
203
|
+
teardown: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
204
|
+
yield Promise.all([(0, speculos_1.killSpeculos)(), (0, anvil_1.killAnvil)()]);
|
|
205
|
+
(0, indexer_1.clearExplorerAppendix)();
|
|
206
|
+
}),
|
|
207
|
+
};
|
|
208
|
+
//# sourceMappingURL=polygon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polygon.js","sourceRoot":"","sources":["../../../../src/__tests__/coin-tester/scenarios/polygon.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenarios.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/coin-tester/scenarios.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const speculos_1 = require("@ledgerhq/coin-tester/lib/signers/speculos");
|
|
13
|
+
const main_1 = require("@ledgerhq/coin-tester/main");
|
|
14
|
+
const anvil_1 = require("./anvil");
|
|
15
|
+
const ethereum_1 = require("./scenarios/ethereum");
|
|
16
|
+
const polygon_1 = require("./scenarios/polygon");
|
|
17
|
+
global.console = require("console");
|
|
18
|
+
jest.setTimeout(100000);
|
|
19
|
+
describe("EVM Deterministic Tester", () => {
|
|
20
|
+
it("scenario Ethereum", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
+
try {
|
|
22
|
+
yield (0, main_1.executeScenario)(ethereum_1.scenarioEthereum);
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
if (e != "done") {
|
|
26
|
+
yield Promise.all([(0, speculos_1.killSpeculos)(), (0, anvil_1.killAnvil)()]);
|
|
27
|
+
throw e;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}));
|
|
31
|
+
it("scenario polygon", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
try {
|
|
33
|
+
yield (0, main_1.executeScenario)(polygon_1.scenarioPolygon);
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
if (e != "done") {
|
|
37
|
+
yield Promise.all([(0, speculos_1.killSpeculos)(), (0, anvil_1.killAnvil)()]);
|
|
38
|
+
throw e;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}));
|
|
42
|
+
});
|
|
43
|
+
["exit", "SIGINT", "SIGQUIT", "SIGTERM", "SIGUSR1", "SIGUSR2", "uncaughtException"].map(e => process.on(e, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
|
+
yield Promise.all([(0, speculos_1.killSpeculos)(), (0, anvil_1.killAnvil)()]);
|
|
45
|
+
})));
|
|
46
|
+
//# sourceMappingURL=scenarios.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenarios.test.js","sourceRoot":"","sources":["../../../src/__tests__/coin-tester/scenarios.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yEAA0E;AAC1E,qDAA6D;AAC7D,mCAAoC;AACpC,mDAAwD;AACxD,iDAAsD;AAEtD,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,IAAI,CAAC,UAAU,CAAC,MAAO,CAAC,CAAC;AAEzB,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,mBAAmB,EAAE,GAAS,EAAE;QACjC,IAAI;YACF,MAAM,IAAA,sBAAe,EAAC,2BAAgB,CAAC,CAAC;SACzC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,IAAI,MAAM,EAAE;gBACf,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAA,uBAAY,GAAE,EAAE,IAAA,iBAAS,GAAE,CAAC,CAAC,CAAC;gBACjD,MAAM,CAAC,CAAC;aACT;SACF;IACH,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAS,EAAE;QAChC,IAAI;YACF,MAAM,IAAA,sBAAe,EAAC,yBAAe,CAAC,CAAC;SACxC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,IAAI,MAAM,EAAE;gBACf,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAA,uBAAY,GAAE,EAAE,IAAA,iBAAS,GAAE,CAAC,CAAC,CAAC;gBACjD,MAAM,CAAC,CAAC;aACT;SACF;IACH,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC1F,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAS,EAAE;IACvB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAA,uBAAY,GAAE,EAAE,IAAA,iBAAS,GAAE,CAAC,CAAC,CAAC;AACnD,CAAC,CAAA,CAAC,CACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
|
|
2
|
-
import { Account, Operation, ProtoNFT,
|
|
3
|
-
export declare const makeAccount: (address: string, currency: CryptoCurrency, subAccounts?:
|
|
2
|
+
import { Account, Operation, ProtoNFT, TokenAccount } from "@ledgerhq/types-live";
|
|
3
|
+
export declare const makeAccount: (address: string, currency: CryptoCurrency, subAccounts?: TokenAccount[]) => Account;
|
|
4
4
|
export declare const makeTokenAccount: (address: string, tokenCurrency: TokenCurrency) => TokenAccount;
|
|
5
5
|
export declare const makeOperation: (partialOp?: Partial<Operation>) => Operation;
|
|
6
6
|
export declare const makeNftOperation: (partialOp?: Partial<Operation>, operationIndex?: number) => Operation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.fixtures.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/common.fixtures.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common.fixtures.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/common.fixtures.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAkB,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAElG,eAAO,MAAM,WAAW,YACb,MAAM,YACL,cAAc,gBACX,YAAY,EAAE,KAC1B,OAqDF,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAAa,MAAM,iBAAiB,aAAa,KAAG,YAiChF,CAAC;AAEF,eAAO,MAAM,aAAa,eAAgB,QAAQ,SAAS,CAAC,KAAG,SA2B9D,CAAC;AAEF,eAAO,MAAM,gBAAgB,eACf,QAAQ,SAAS,CAAC,mBACb,MAAM,KACtB,SA+BF,CAAC;AAEF,eAAO,MAAM,OAAO,gBAAiB,QAAQ,QAAQ,CAAC,KAAG,QASrD,CAAC;AAEL,eAAO,MAAM,UAAU,4BAOtB,CAAC"}
|
|
@@ -26,22 +26,18 @@ const makeAccount = (address, currency, subAccounts = []) => {
|
|
|
26
26
|
});
|
|
27
27
|
const account = {
|
|
28
28
|
type: "Account",
|
|
29
|
-
name: currency.name + " " + (derivationMode || "legacy") + " " + (0, index_1.shortAddressPreview)(xpubOrAddress),
|
|
30
29
|
xpub: xpubOrAddress,
|
|
31
30
|
subAccounts,
|
|
32
31
|
seedIdentifier: xpubOrAddress,
|
|
33
|
-
starred: true,
|
|
34
32
|
used: true,
|
|
35
33
|
swapHistory: [],
|
|
36
34
|
id,
|
|
37
35
|
derivationMode,
|
|
38
36
|
currency,
|
|
39
|
-
unit: currency.units[0],
|
|
40
37
|
index,
|
|
41
38
|
nfts: [],
|
|
42
39
|
freshAddress: xpubOrAddress,
|
|
43
40
|
freshAddressPath,
|
|
44
|
-
freshAddresses: [],
|
|
45
41
|
creationDate: new Date(),
|
|
46
42
|
lastSyncDate: new Date(0),
|
|
47
43
|
blockHeight: 0,
|
|
@@ -83,7 +79,6 @@ const makeTokenAccount = (address, tokenCurrency) => {
|
|
|
83
79
|
operationsCount: 0,
|
|
84
80
|
operations: [],
|
|
85
81
|
pendingOperations: [],
|
|
86
|
-
starred: false,
|
|
87
82
|
balanceHistoryCache: {
|
|
88
83
|
HOUR: {
|
|
89
84
|
latestDate: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.fixtures.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/common.fixtures.ts"],"names":[],"mappings":";AAAA,gDAAgD;;;;;;AAEhD,gEAAqC;AACrC,oEAA+F;AAC/F,
|
|
1
|
+
{"version":3,"file":"common.fixtures.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/common.fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareTransaction.fixtures.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/prepareTransaction.fixtures.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prepareTransaction.fixtures.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/prepareTransaction.fixtures.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAc/E,eAAO,MAAM,YAAY,6CAAsE,CAAC;AAChG,eAAO,MAAM,OAAO,SAElB,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,cAYxB,CAAC;AAEH,eAAO,MAAM,gBAAgB,EAAE,cAG7B,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,cAAc,GAAG,iBAS5C,CAAC;AAEH,eAAO,MAAM,YAAY,YACd,OAAO,eACH,cAAc,QACrB,OAAO,GAAG,QAAQ,GAAG,SAAS,KACnC,MAAM,GAAG,SAmCX,CAAC"}
|