@ledgerhq/coin-aptos 2.0.0-nightly.3 → 2.0.0-nightly.5
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/CHANGELOG.md +17 -0
- package/lib/__tests__/api/index.test.js +5 -61
- package/lib/__tests__/api/index.test.js.map +1 -1
- package/lib/__tests__/bridge/buildTransaction.test.js +2 -57
- package/lib/__tests__/bridge/buildTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/getFeesForTransaction.test.js +8 -109
- package/lib/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/getTransactionStatus.test.js +37 -175
- package/lib/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib/__tests__/bridge/logic.test.js +115 -889
- package/lib/__tests__/bridge/logic.test.js.map +1 -1
- package/lib/__tests__/bridge/signOperation.test.js +2 -128
- package/lib/__tests__/bridge/signOperation.test.js.map +1 -1
- package/lib/__tests__/bridge/synchronisation.test.js +67 -1214
- package/lib/__tests__/bridge/synchronisation.test.js.map +1 -1
- package/lib/api/graphql/queries.js +6 -6
- package/lib/api/graphql/types.d.ts +9 -9
- package/lib/api/graphql/types.d.ts.map +1 -1
- package/lib/api/index.d.ts +2 -5
- package/lib/api/index.d.ts.map +1 -1
- package/lib/api/index.js +4 -30
- package/lib/api/index.js.map +1 -1
- package/lib/bridge/bridge.fixture.d.ts +0 -2
- package/lib/bridge/bridge.fixture.d.ts.map +1 -1
- package/lib/bridge/bridge.fixture.js +13 -85
- package/lib/bridge/bridge.fixture.js.map +1 -1
- package/lib/bridge/buildTransaction.d.ts.map +1 -1
- package/lib/bridge/buildTransaction.js +3 -29
- package/lib/bridge/buildTransaction.js.map +1 -1
- package/lib/bridge/estimateMaxSpendable.js +1 -1
- package/lib/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib/bridge/getFeesForTransaction.d.ts.map +1 -1
- package/lib/bridge/getFeesForTransaction.js +7 -12
- package/lib/bridge/getFeesForTransaction.js.map +1 -1
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib/bridge/getTransactionStatus.js +14 -28
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/logic.d.ts +8 -13
- package/lib/bridge/logic.d.ts.map +1 -1
- package/lib/bridge/logic.js +54 -152
- package/lib/bridge/logic.js.map +1 -1
- package/lib/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/prepareTransaction.js +2 -2
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/signOperation.d.ts.map +1 -1
- package/lib/bridge/signOperation.js +3 -17
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/synchronisation.d.ts +0 -15
- package/lib/bridge/synchronisation.d.ts.map +1 -1
- package/lib/bridge/synchronisation.js +4 -127
- package/lib/bridge/synchronisation.js.map +1 -1
- package/lib/constants.d.ts +1 -5
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +2 -6
- package/lib/constants.js.map +1 -1
- package/lib/test/bot-specs.d.ts.map +1 -1
- package/lib/test/bot-specs.js +1 -40
- package/lib/test/bot-specs.js.map +1 -1
- package/lib/test/bridgeDatasetTest.d.ts.map +1 -1
- package/lib/test/bridgeDatasetTest.js +62 -43
- package/lib/test/bridgeDatasetTest.js.map +1 -1
- package/lib/test/speculos-deviceActions.d.ts +0 -1
- package/lib/test/speculos-deviceActions.d.ts.map +1 -1
- package/lib/test/speculos-deviceActions.js +5 -37
- package/lib/test/speculos-deviceActions.js.map +1 -1
- package/lib/types/index.d.ts +7 -18
- package/lib/types/index.d.ts.map +1 -1
- package/lib-es/__tests__/api/index.test.js +5 -61
- package/lib-es/__tests__/api/index.test.js.map +1 -1
- package/lib-es/__tests__/bridge/buildTransaction.test.js +3 -58
- package/lib-es/__tests__/bridge/buildTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js +9 -110
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js +39 -177
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib-es/__tests__/bridge/logic.test.js +117 -891
- package/lib-es/__tests__/bridge/logic.test.js.map +1 -1
- package/lib-es/__tests__/bridge/signOperation.test.js +2 -128
- package/lib-es/__tests__/bridge/signOperation.test.js.map +1 -1
- package/lib-es/__tests__/bridge/synchronisation.test.js +69 -1213
- package/lib-es/__tests__/bridge/synchronisation.test.js.map +1 -1
- package/lib-es/api/graphql/queries.js +6 -6
- package/lib-es/api/graphql/types.d.ts +9 -9
- package/lib-es/api/graphql/types.d.ts.map +1 -1
- package/lib-es/api/index.d.ts +2 -5
- package/lib-es/api/index.d.ts.map +1 -1
- package/lib-es/api/index.js +4 -30
- package/lib-es/api/index.js.map +1 -1
- package/lib-es/bridge/bridge.fixture.d.ts +0 -2
- package/lib-es/bridge/bridge.fixture.d.ts.map +1 -1
- package/lib-es/bridge/bridge.fixture.js +12 -82
- package/lib-es/bridge/bridge.fixture.js.map +1 -1
- package/lib-es/bridge/buildTransaction.d.ts.map +1 -1
- package/lib-es/bridge/buildTransaction.js +4 -30
- package/lib-es/bridge/buildTransaction.js.map +1 -1
- package/lib-es/bridge/estimateMaxSpendable.js +1 -1
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -1
- package/lib-es/bridge/getFeesForTransaction.js +8 -13
- package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +14 -28
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/logic.d.ts +8 -13
- package/lib-es/bridge/logic.d.ts.map +1 -1
- package/lib-es/bridge/logic.js +52 -146
- package/lib-es/bridge/logic.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +2 -2
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/signOperation.d.ts.map +1 -1
- package/lib-es/bridge/signOperation.js +3 -17
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/synchronisation.d.ts +0 -15
- package/lib-es/bridge/synchronisation.d.ts.map +1 -1
- package/lib-es/bridge/synchronisation.js +3 -123
- package/lib-es/bridge/synchronisation.js.map +1 -1
- package/lib-es/constants.d.ts +1 -5
- package/lib-es/constants.d.ts.map +1 -1
- package/lib-es/constants.js +1 -5
- package/lib-es/constants.js.map +1 -1
- package/lib-es/test/bot-specs.d.ts.map +1 -1
- package/lib-es/test/bot-specs.js +2 -41
- package/lib-es/test/bot-specs.js.map +1 -1
- package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -1
- package/lib-es/test/bridgeDatasetTest.js +59 -43
- package/lib-es/test/bridgeDatasetTest.js.map +1 -1
- package/lib-es/test/speculos-deviceActions.d.ts +0 -1
- package/lib-es/test/speculos-deviceActions.d.ts.map +1 -1
- package/lib-es/test/speculos-deviceActions.js +4 -36
- package/lib-es/test/speculos-deviceActions.js.map +1 -1
- package/lib-es/types/index.d.ts +7 -18
- package/lib-es/types/index.d.ts.map +1 -1
- package/package.json +5 -6
- package/src/__tests__/api/index.test.ts +5 -75
- package/src/__tests__/bridge/buildTransaction.test.ts +3 -85
- package/src/__tests__/bridge/getFeesForTransaction.test.ts +9 -144
- package/src/__tests__/bridge/getTransactionStatus.test.ts +38 -217
- package/src/__tests__/bridge/logic.test.ts +118 -922
- package/src/__tests__/bridge/signOperation.test.ts +2 -141
- package/src/__tests__/bridge/synchronisation.test.ts +71 -1265
- package/src/api/graphql/queries.ts +6 -6
- package/src/api/graphql/types.ts +9 -9
- package/src/api/index.ts +5 -32
- package/src/bridge/bridge.fixture.ts +12 -91
- package/src/bridge/buildTransaction.ts +6 -39
- package/src/bridge/estimateMaxSpendable.ts +1 -1
- package/src/bridge/getFeesForTransaction.ts +9 -14
- package/src/bridge/getTransactionStatus.ts +13 -35
- package/src/bridge/logic.ts +63 -202
- package/src/bridge/prepareTransaction.ts +3 -4
- package/src/bridge/signOperation.ts +3 -19
- package/src/bridge/synchronisation.ts +3 -170
- package/src/constants.ts +1 -12
- package/src/test/bot-specs.ts +3 -63
- package/src/test/bridgeDatasetTest.ts +59 -45
- package/src/test/speculos-deviceActions.ts +4 -40
- package/src/types/index.ts +1 -15
|
@@ -1,123 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getAccountShape =
|
|
4
|
-
const index_1 = require("@ledgerhq/coin-framework/serialization/index");
|
|
3
|
+
exports.getAccountShape = void 0;
|
|
5
4
|
const account_1 = require("@ledgerhq/coin-framework/account");
|
|
6
5
|
const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
|
|
7
6
|
const api_1 = require("../api");
|
|
8
7
|
const logic_1 = require("./logic");
|
|
9
|
-
const index_2 = require("@ledgerhq/coin-framework/account/index");
|
|
10
|
-
/**
|
|
11
|
-
* List of properties of a sub account that can be updated when 2 "identical" accounts are found
|
|
12
|
-
*/
|
|
13
|
-
const updatableSubAccountProperties = [
|
|
14
|
-
{ name: "balance", isOps: false },
|
|
15
|
-
{ name: "spendableBalance", isOps: false },
|
|
16
|
-
{ name: "balanceHistoryCache", isOps: false },
|
|
17
|
-
{ name: "operations", isOps: true },
|
|
18
|
-
{ name: "pendingOperations", isOps: true },
|
|
19
|
-
];
|
|
20
|
-
/**
|
|
21
|
-
* In charge of smartly merging sub accounts while maintaining references as much as possible
|
|
22
|
-
*/
|
|
23
|
-
const mergeSubAccounts = (initialAccount, newSubAccounts) => {
|
|
24
|
-
const oldSubAccounts = initialAccount?.subAccounts;
|
|
25
|
-
if (!oldSubAccounts) {
|
|
26
|
-
return newSubAccounts;
|
|
27
|
-
}
|
|
28
|
-
// Creating a map of already existing sub accounts by id
|
|
29
|
-
const oldSubAccountsById = {};
|
|
30
|
-
for (const oldSubAccount of oldSubAccounts) {
|
|
31
|
-
oldSubAccountsById[oldSubAccount.id] = oldSubAccount;
|
|
32
|
-
}
|
|
33
|
-
// Looping on new sub accounts to compare them with already existing ones
|
|
34
|
-
// Already existing will be updated if necessary (see `updatableSubAccountProperties`)
|
|
35
|
-
// Fresh new sub accounts will be added/pushed after already existing
|
|
36
|
-
const newSubAccountsToAdd = [];
|
|
37
|
-
for (const newSubAccount of newSubAccounts) {
|
|
38
|
-
const duplicatedAccount = oldSubAccountsById[newSubAccount.id];
|
|
39
|
-
// If this sub account was not already in the initialAccount
|
|
40
|
-
if (!duplicatedAccount) {
|
|
41
|
-
// We'll add it later
|
|
42
|
-
newSubAccountsToAdd.push(newSubAccount);
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
const updates = {};
|
|
46
|
-
for (const { name, isOps } of updatableSubAccountProperties) {
|
|
47
|
-
if (!isOps) {
|
|
48
|
-
if (newSubAccount[name] !==
|
|
49
|
-
duplicatedAccount[name]) {
|
|
50
|
-
updates[name] = newSubAccount[name];
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
updates[name] =
|
|
55
|
-
(0, jsHelpers_1.mergeOps)(duplicatedAccount[name], newSubAccount[name]) || [];
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
// Updating the operationsCount in case the mergeOps changed it
|
|
59
|
-
updates.operationsCount =
|
|
60
|
-
updates.operations?.length || duplicatedAccount?.operations?.length || 0;
|
|
61
|
-
// Modifying the Map with the updated sub account with a new ref
|
|
62
|
-
oldSubAccountsById[newSubAccount.id] = {
|
|
63
|
-
...duplicatedAccount,
|
|
64
|
-
...updates,
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
const updatedSubAccounts = Object.values(oldSubAccountsById);
|
|
68
|
-
return [...updatedSubAccounts, ...newSubAccountsToAdd];
|
|
69
|
-
};
|
|
70
|
-
exports.mergeSubAccounts = mergeSubAccounts;
|
|
71
|
-
/**
|
|
72
|
-
* Fetch the balance for a token and creates a TokenAccount based on this and the provided operations
|
|
73
|
-
*/
|
|
74
|
-
const getSubAccountShape = async (currency, address, parentId, token, operations) => {
|
|
75
|
-
const aptosClient = new api_1.AptosAPI(currency.id);
|
|
76
|
-
const tokenAccountId = (0, index_2.encodeTokenAccountId)(parentId, token);
|
|
77
|
-
const balance = await aptosClient.getBalance(address, token);
|
|
78
|
-
const firstOperation = operations
|
|
79
|
-
.sort((a, b) => b.date.getTime() - a.date.getTime())
|
|
80
|
-
.at(operations.length - 1);
|
|
81
|
-
return {
|
|
82
|
-
type: "TokenAccount",
|
|
83
|
-
id: tokenAccountId,
|
|
84
|
-
parentId,
|
|
85
|
-
token,
|
|
86
|
-
balance,
|
|
87
|
-
spendableBalance: balance,
|
|
88
|
-
creationDate: firstOperation?.date || new Date(0),
|
|
89
|
-
operations,
|
|
90
|
-
operationsCount: operations.length,
|
|
91
|
-
pendingOperations: [],
|
|
92
|
-
balanceHistoryCache: index_2.emptyHistoryCache,
|
|
93
|
-
swapHistory: [],
|
|
94
|
-
};
|
|
95
|
-
};
|
|
96
|
-
exports.getSubAccountShape = getSubAccountShape;
|
|
97
|
-
/**
|
|
98
|
-
* Getting all token related operations in order to provide TokenAccounts
|
|
99
|
-
*/
|
|
100
|
-
const getSubAccounts = async (infos, address, accountId, lastTokenOperations) => {
|
|
101
|
-
const { currency } = infos;
|
|
102
|
-
// Creating a Map of Operations by TokenCurrencies in order to know which TokenAccounts should be synced as well
|
|
103
|
-
const operationsByToken = lastTokenOperations.reduce((acc, operation) => {
|
|
104
|
-
const { token } = (0, index_2.decodeTokenAccountId)(operation.accountId);
|
|
105
|
-
if (!token)
|
|
106
|
-
return acc; // TODO: do we need to check blacklistedTokenIds
|
|
107
|
-
if (!acc.has(token)) {
|
|
108
|
-
acc.set(token, []);
|
|
109
|
-
}
|
|
110
|
-
acc.get(token)?.push(operation);
|
|
111
|
-
return acc;
|
|
112
|
-
}, new Map());
|
|
113
|
-
// Fetching all TokenAccounts possible and providing already filtered operations
|
|
114
|
-
const subAccountsPromises = [];
|
|
115
|
-
for (const [token, ops] of operationsByToken.entries()) {
|
|
116
|
-
subAccountsPromises.push((0, exports.getSubAccountShape)(currency, address, accountId, token, ops));
|
|
117
|
-
}
|
|
118
|
-
return Promise.all(subAccountsPromises);
|
|
119
|
-
};
|
|
120
|
-
exports.getSubAccounts = getSubAccounts;
|
|
121
8
|
const getAccountShape = async (info) => {
|
|
122
9
|
const { address, initialAccount, currency, derivationMode, rest } = info;
|
|
123
10
|
const publicKey = rest?.publicKey || (initialAccount && (0, account_1.decodeAccountId)(initialAccount.id).xpubOrAddress);
|
|
@@ -134,20 +21,11 @@ const getAccountShape = async (info) => {
|
|
|
134
21
|
// "xpub" field is used because this field exists in ledger operation type
|
|
135
22
|
const xpub = initialAccount?.xpub || publicKey || "";
|
|
136
23
|
const oldOperations = initialAccount?.operations || [];
|
|
24
|
+
const startAt = oldOperations[0]?.extra?.version;
|
|
137
25
|
const aptosClient = new api_1.AptosAPI(currency.id);
|
|
138
|
-
const { balance, transactions, blockHeight } = await aptosClient.getAccountInfo(address);
|
|
139
|
-
const
|
|
26
|
+
const { balance, transactions, blockHeight } = await aptosClient.getAccountInfo(address, startAt);
|
|
27
|
+
const newOperations = (0, logic_1.txsToOps)(info, accountId, transactions);
|
|
140
28
|
const operations = (0, jsHelpers_1.mergeOps)(oldOperations, newOperations);
|
|
141
|
-
const newSubAccounts = await (0, exports.getSubAccounts)(info, address, accountId, tokenOperations);
|
|
142
|
-
const shouldSyncFromScratch = initialAccount === undefined;
|
|
143
|
-
const subAccounts = shouldSyncFromScratch
|
|
144
|
-
? newSubAccounts
|
|
145
|
-
: (0, exports.mergeSubAccounts)(initialAccount, newSubAccounts);
|
|
146
|
-
operations.forEach(op => {
|
|
147
|
-
const subOperations = (0, index_1.inferSubOperations)(op.hash, subAccounts);
|
|
148
|
-
op.subOperations =
|
|
149
|
-
subOperations.length === 1 ? subOperations : subOperations.filter(op => !!op.blockHash);
|
|
150
|
-
});
|
|
151
29
|
const shape = {
|
|
152
30
|
type: "Account",
|
|
153
31
|
id: accountId,
|
|
@@ -158,7 +36,6 @@ const getAccountShape = async (info) => {
|
|
|
158
36
|
operationsCount: operations.length,
|
|
159
37
|
blockHeight,
|
|
160
38
|
lastSyncDate: new Date(),
|
|
161
|
-
subAccounts,
|
|
162
39
|
};
|
|
163
40
|
return shape;
|
|
164
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":";;;AAAA,8DAAoF;AAEpF,yEAAqE;AACrE,gCAAkC;AAClC,mCAAmC;AAG5B,MAAM,eAAe,GAAoB,KAAK,EAAC,IAAI,EAAC,EAAE;IAC3D,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAEzE,MAAM,SAAS,GACb,IAAI,EAAE,SAAS,IAAI,CAAC,cAAc,IAAI,IAAA,yBAAe,EAAC,cAAc,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAE1F,MAAM,SAAS,GAAG,IAAA,yBAAe,EAAC;QAChC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,aAAa,EAAE,SAAS,IAAI,OAAO;QACnC,cAAc;KACf,CAAC,CAAC;IAEH,yFAAyF;IACzF,4EAA4E;IAC5E,kDAAkD;IAClD,0EAA0E;IAC1E,MAAM,IAAI,GAAG,cAAc,EAAE,IAAI,IAAI,SAAS,IAAI,EAAE,CAAC;IAErD,MAAM,aAAa,GAAG,cAAc,EAAE,UAAU,IAAI,EAAE,CAAC;IACvD,MAAM,OAAO,GAAI,aAAa,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,OAAO,CAAC;IAE1D,MAAM,WAAW,GAAG,IAAI,cAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAElG,MAAM,aAAa,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAA,oBAAQ,EAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAE1D,MAAM,KAAK,GAA0B;QACnC,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,SAAS;QACb,IAAI;QACJ,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,OAAO;QACzB,UAAU;QACV,eAAe,EAAE,UAAU,CAAC,MAAM;QAClC,WAAW;QACX,YAAY,EAAE,IAAI,IAAI,EAAE;KACzB,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA1CW,QAAA,eAAe,mBA0C1B"}
|
package/lib/constants.d.ts
CHANGED
|
@@ -6,18 +6,14 @@ export declare enum TX_STATUS {
|
|
|
6
6
|
SUCCESS = "success"
|
|
7
7
|
}
|
|
8
8
|
export declare const WRITE_RESOURCE = "write_resource";
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const FA_TRANSFER_TYPES: MoveStructId[];
|
|
9
|
+
export declare const TRANSFER_TYPES: MoveStructId[];
|
|
11
10
|
export declare const BATCH_TRANSFER_TYPES: MoveStructId[];
|
|
12
11
|
export declare const DELEGATION_POOL_TYPES: MoveStructId[];
|
|
13
12
|
export declare const APTOS_ASSET_ID: MoveStructId;
|
|
14
13
|
export declare const APTOS_COIN_CHANGE: MoveStructId;
|
|
15
|
-
export declare const APTOS_FUNGIBLE_STORE: MoveStructId;
|
|
16
|
-
export declare const APTOS_OBJECT_CORE: MoveStructId;
|
|
17
14
|
export declare enum DIRECTION {
|
|
18
15
|
IN = "IN",
|
|
19
16
|
OUT = "OUT",
|
|
20
17
|
UNKNOWN = "UNKNOWN"
|
|
21
18
|
}
|
|
22
|
-
export declare const SUPPORTED_TOKEN_TYPES: string[];
|
|
23
19
|
//# sourceMappingURL=constants.d.ts.map
|
package/lib/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,eAAO,MAAM,cAAc,EAAE,YAAY,EAIxC,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAG9C,CAAC;AACF,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAG/C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,YAA2C,CAAC;AACzE,eAAO,MAAM,iBAAiB,EAAE,YAAwD,CAAC;AAEzF,oBAAY,SAAS;IACnB,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,OAAO,YAAY;CACpB"}
|
package/lib/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.DIRECTION = exports.APTOS_COIN_CHANGE = exports.APTOS_ASSET_ID = exports.DELEGATION_POOL_TYPES = exports.BATCH_TRANSFER_TYPES = exports.TRANSFER_TYPES = exports.WRITE_RESOURCE = exports.TX_STATUS = exports.LOAD_LIMIT = void 0;
|
|
4
4
|
exports.LOAD_LIMIT = 10;
|
|
5
5
|
var TX_STATUS;
|
|
6
6
|
(function (TX_STATUS) {
|
|
@@ -9,12 +9,11 @@ var TX_STATUS;
|
|
|
9
9
|
TX_STATUS["SUCCESS"] = "success";
|
|
10
10
|
})(TX_STATUS || (exports.TX_STATUS = TX_STATUS = {}));
|
|
11
11
|
exports.WRITE_RESOURCE = "write_resource";
|
|
12
|
-
exports.
|
|
12
|
+
exports.TRANSFER_TYPES = [
|
|
13
13
|
"0x1::aptos_account::transfer",
|
|
14
14
|
"0x1::aptos_account::transfer_coins",
|
|
15
15
|
"0x1::coin::transfer",
|
|
16
16
|
];
|
|
17
|
-
exports.FA_TRANSFER_TYPES = ["0x1::primary_fungible_store::transfer"];
|
|
18
17
|
exports.BATCH_TRANSFER_TYPES = [
|
|
19
18
|
"0x1::aptos_account::batch_transfer",
|
|
20
19
|
"0x1::aptos_account::batch_transfer_coins",
|
|
@@ -25,13 +24,10 @@ exports.DELEGATION_POOL_TYPES = [
|
|
|
25
24
|
];
|
|
26
25
|
exports.APTOS_ASSET_ID = "0x1::aptos_coin::AptosCoin";
|
|
27
26
|
exports.APTOS_COIN_CHANGE = `0x1::coin::CoinStore<${exports.APTOS_ASSET_ID}>`;
|
|
28
|
-
exports.APTOS_FUNGIBLE_STORE = "0x1::fungible_asset::FungibleStore";
|
|
29
|
-
exports.APTOS_OBJECT_CORE = "0x1::object::ObjectCore";
|
|
30
27
|
var DIRECTION;
|
|
31
28
|
(function (DIRECTION) {
|
|
32
29
|
DIRECTION["IN"] = "IN";
|
|
33
30
|
DIRECTION["OUT"] = "OUT";
|
|
34
31
|
DIRECTION["UNKNOWN"] = "UNKNOWN";
|
|
35
32
|
})(DIRECTION || (exports.DIRECTION = DIRECTION = {}));
|
|
36
|
-
exports.SUPPORTED_TOKEN_TYPES = ["coin", "fungible_asset"];
|
|
37
33
|
//# sourceMappingURL=constants.js.map
|
package/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG,EAAE,CAAC;AAE7B,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,gCAAmB,CAAA;AACrB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAEY,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAElC,QAAA,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG,EAAE,CAAC;AAE7B,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,gCAAmB,CAAA;AACrB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAEY,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAElC,QAAA,cAAc,GAAmB;IAC5C,8BAA8B;IAC9B,oCAAoC;IACpC,qBAAqB;CACtB,CAAC;AACW,QAAA,oBAAoB,GAAmB;IAClD,oCAAoC;IACpC,0CAA0C;CAC3C,CAAC;AACW,QAAA,qBAAqB,GAAmB;IACnD,iCAAiC;IACjC,gCAAgC;CACjC,CAAC;AAEW,QAAA,cAAc,GAAiB,4BAA4B,CAAC;AAC5D,QAAA,iBAAiB,GAAiB,wBAAwB,sBAAc,GAAG,CAAC;AAEzF,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,sBAAS,CAAA;IACT,wBAAW,CAAA;IACX,gCAAmB,CAAA;AACrB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-specs.d.ts","sourceRoot":"","sources":["../../src/test/bot-specs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"bot-specs.d.ts","sourceRoot":"","sources":["../../src/test/bot-specs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;;;;AAkFlE,wBAEE"}
|
package/lib/test/bot-specs.js
CHANGED
|
@@ -20,7 +20,7 @@ const aptosSpecs = {
|
|
|
20
20
|
appName: "Aptos",
|
|
21
21
|
},
|
|
22
22
|
genericDeviceAction: speculos_deviceActions_1.acceptTransaction,
|
|
23
|
-
testTimeout:
|
|
23
|
+
testTimeout: 6 * 60 * 1000,
|
|
24
24
|
minViableAmount: MIN_SAFE,
|
|
25
25
|
transactionCheck: ({ maxSpendable }) => {
|
|
26
26
|
(0, invariant_1.default)(maxSpendable.gt(MIN_SAFE), "balance is too low");
|
|
@@ -75,47 +75,8 @@ const aptosSpecs = {
|
|
|
75
75
|
(0, specs_1.botTest)("account spendable balance is zero", () => (0, expect_1.default)(account.spendableBalance.toString()).toBe("0"));
|
|
76
76
|
},
|
|
77
77
|
},
|
|
78
|
-
{
|
|
79
|
-
name: "Send ~50% of token amount",
|
|
80
|
-
feature: "tokens",
|
|
81
|
-
maxRun: 1,
|
|
82
|
-
deviceAction: speculos_deviceActions_1.acceptTokenTransaction,
|
|
83
|
-
transaction: ({ account, bridge, siblings, maxSpendable }) => {
|
|
84
|
-
(0, invariant_1.default)(maxSpendable.gt(MIN_SAFE), "Balance is too low");
|
|
85
|
-
const senderTokenAcc = findTokenSubAccountWithBalance(account);
|
|
86
|
-
(0, invariant_1.default)(senderTokenAcc, "Sender token account with available balance not found");
|
|
87
|
-
const sibling = (0, specs_1.pickSiblings)(siblings, maxAccount);
|
|
88
|
-
const recipientTokenAcc = findTokenSubAccountWithBalance(sibling);
|
|
89
|
-
(0, invariant_1.default)(recipientTokenAcc, "Receiver token account with available balance not found");
|
|
90
|
-
const amount = senderTokenAcc.spendableBalance.div(2).integerValue();
|
|
91
|
-
const recipient = sibling.freshAddress;
|
|
92
|
-
const transaction = bridge.createTransaction(account);
|
|
93
|
-
const subAccountId = senderTokenAcc.id;
|
|
94
|
-
return {
|
|
95
|
-
transaction,
|
|
96
|
-
updates: [{ subAccountId }, { recipient }, { amount }],
|
|
97
|
-
};
|
|
98
|
-
},
|
|
99
|
-
test: input => {
|
|
100
|
-
expectTokenAccountCorrectBalanceChange(input);
|
|
101
|
-
},
|
|
102
|
-
},
|
|
103
78
|
],
|
|
104
79
|
};
|
|
105
|
-
function findTokenSubAccountWithBalance(account) {
|
|
106
|
-
return account.subAccounts?.find(acc => acc.type === "TokenAccount" && acc.balance.gt(0));
|
|
107
|
-
}
|
|
108
|
-
function expectTokenAccountCorrectBalanceChange({ account, accountBeforeTransaction, status, transaction, }) {
|
|
109
|
-
const tokenAccId = transaction.subAccountId;
|
|
110
|
-
if (!tokenAccId)
|
|
111
|
-
throw new Error("Wrong subAccountId");
|
|
112
|
-
const tokenAccAfterTx = account.subAccounts?.find(acc => acc.id === tokenAccId);
|
|
113
|
-
const tokenAccBeforeTx = accountBeforeTransaction.subAccounts?.find(acc => acc.id === tokenAccId);
|
|
114
|
-
if (!tokenAccAfterTx || !tokenAccBeforeTx) {
|
|
115
|
-
throw new Error("Token sub accounts not found!");
|
|
116
|
-
}
|
|
117
|
-
(0, specs_1.botTest)("Token balance decreased with operation", () => (0, expect_1.default)(tokenAccAfterTx.balance.toString()).toBe(tokenAccBeforeTx.balance.minus(status.amount).toString()));
|
|
118
|
-
}
|
|
119
80
|
exports.default = {
|
|
120
81
|
aptosSpecs,
|
|
121
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-specs.js","sourceRoot":"","sources":["../../src/test/bot-specs.ts"],"names":[],"mappings":";;;;;AAAA,0DAAkC;AAClC,oDAA4B;AAC5B,+CAAkD;AAClD,gEAAqC;AAErC,kEAA0E;AAC1E,8DAAmG;AAEnG,
|
|
1
|
+
{"version":3,"file":"bot-specs.js","sourceRoot":"","sources":["../../src/test/bot-specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeDatasetTest.d.ts","sourceRoot":"","sources":["../../src/test/bridgeDatasetTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"bridgeDatasetTest.d.ts","sourceRoot":"","sources":["../../src/test/bridgeDatasetTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAwGvC,eAAO,MAAM,OAAO,EAAE,WAAW,CAAC,WAAW,CAK5C,CAAC"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.dataset = void 0;
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
+
const transaction_1 = require("../bridge/transaction");
|
|
4
9
|
const aptos = {
|
|
5
10
|
scanAccounts: [
|
|
6
11
|
{
|
|
@@ -20,71 +25,85 @@ const aptos = {
|
|
|
20
25
|
accounts: [
|
|
21
26
|
{
|
|
22
27
|
raw: {
|
|
23
|
-
id: "js:2:aptos:d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956:
|
|
28
|
+
id: "js:2:aptos:d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956:",
|
|
24
29
|
seedIdentifier: "d6816f4f22f867b56cf9304b776f452a16d107835d73ee8a33c4ced210300583",
|
|
25
30
|
used: true,
|
|
26
|
-
derivationMode: "
|
|
31
|
+
derivationMode: "",
|
|
27
32
|
index: 0,
|
|
28
33
|
freshAddress: "0x445fa0013887abd1a0c14acdec6e48090e0ad3fed3e08202aac15ca14f3be26b",
|
|
29
34
|
freshAddressPath: "44'/637'/0'/0'/0'",
|
|
30
|
-
blockHeight:
|
|
35
|
+
blockHeight: 286066372,
|
|
31
36
|
creationDate: "2024-12-18T12:26:31.070Z",
|
|
32
|
-
operationsCount:
|
|
37
|
+
operationsCount: 5,
|
|
33
38
|
operations: [],
|
|
34
39
|
pendingOperations: [],
|
|
35
40
|
currencyId: "aptos",
|
|
36
|
-
lastSyncDate: "2025-
|
|
37
|
-
balance: "
|
|
38
|
-
spendableBalance: "
|
|
41
|
+
lastSyncDate: "2025-02-04T14:00:46.693Z",
|
|
42
|
+
balance: "30100",
|
|
43
|
+
spendableBalance: "30100",
|
|
39
44
|
balanceHistoryCache: {
|
|
40
45
|
HOUR: {
|
|
41
46
|
balances: [
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
48
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
49
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
50
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
51
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
52
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
53
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
54
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
55
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
56
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
57
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
58
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
59
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
60
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
61
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
62
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
63
|
+
30100,
|
|
51
64
|
],
|
|
52
|
-
latestDate:
|
|
65
|
+
latestDate: 1738677600000,
|
|
53
66
|
},
|
|
54
67
|
DAY: {
|
|
55
68
|
balances: [
|
|
56
|
-
0,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
69
|
+
0, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
70
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
71
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
72
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
60
73
|
],
|
|
61
|
-
latestDate:
|
|
74
|
+
latestDate: 1738627200000,
|
|
75
|
+
},
|
|
76
|
+
WEEK: {
|
|
77
|
+
balances: [0, 30100, 30100, 30100, 30100, 30100, 30100, 30100],
|
|
78
|
+
latestDate: 1738454400000,
|
|
62
79
|
},
|
|
63
|
-
WEEK: { balances: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], latestDate: 1741478400000 },
|
|
64
80
|
},
|
|
65
81
|
xpub: "d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956",
|
|
66
|
-
subAccounts: [
|
|
67
|
-
{
|
|
68
|
-
type: "TokenAccountRaw",
|
|
69
|
-
id: "js:2:aptos:d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956:aptos+aptos%2Fcoin%2Fdstapt~!underscore!~0xd11107bdf0d6d7040c6c0bfbdecb6545191fdf13e8d8d259952f53e1713f61b5%3A%3Astaked~!underscore!~coin%3A%3Astakedaptos",
|
|
70
|
-
parentId: "js:2:aptos:d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956:aptos",
|
|
71
|
-
tokenId: "aptos/coin/dstapt_0xd11107bdf0d6d7040c6c0bfbdecb6545191fdf13e8d8d259952f53e1713f61b5::staked_coin::stakedaptos",
|
|
72
|
-
balance: "30000000",
|
|
73
|
-
spendableBalance: "30000000",
|
|
74
|
-
balanceHistoryCache: {
|
|
75
|
-
HOUR: { latestDate: null, balances: [] },
|
|
76
|
-
DAY: { latestDate: null, balances: [] },
|
|
77
|
-
WEEK: { latestDate: null, balances: [] },
|
|
78
|
-
},
|
|
79
|
-
creationDate: "2025-03-12T10:42:53.570Z",
|
|
80
|
-
operationsCount: 2,
|
|
81
|
-
operations: [],
|
|
82
|
-
pendingOperations: [],
|
|
83
|
-
swapHistory: [],
|
|
84
|
-
},
|
|
85
|
-
],
|
|
86
82
|
swapHistory: [],
|
|
87
83
|
},
|
|
84
|
+
transactions: [
|
|
85
|
+
{
|
|
86
|
+
name: "NO_NAME",
|
|
87
|
+
transaction: (0, transaction_1.fromTransactionRaw)({
|
|
88
|
+
amount: "1000",
|
|
89
|
+
recipient: "0xd20fa44192f94ba086ab16bfdf57e43ff118ada69b4c66fa9b9a9223cbc068c1",
|
|
90
|
+
useAllAmount: false,
|
|
91
|
+
subAccountId: null,
|
|
92
|
+
family: "aptos",
|
|
93
|
+
mode: "send",
|
|
94
|
+
fees: "900",
|
|
95
|
+
options: '{"maxGasAmount":"9","gasUnitPrice":"100"}',
|
|
96
|
+
errors: "{}",
|
|
97
|
+
}),
|
|
98
|
+
expectedStatus: () =>
|
|
99
|
+
// you can use account and transaction for smart logic. drop the =>fn otherwise
|
|
100
|
+
({
|
|
101
|
+
errors: {},
|
|
102
|
+
warnings: {},
|
|
103
|
+
amount: (0, bignumber_js_1.default)("1000"),
|
|
104
|
+
}),
|
|
105
|
+
},
|
|
106
|
+
],
|
|
88
107
|
},
|
|
89
108
|
],
|
|
90
109
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeDatasetTest.js","sourceRoot":"","sources":["../../src/test/bridgeDatasetTest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bridgeDatasetTest.js","sourceRoot":"","sources":["../../src/test/bridgeDatasetTest.ts"],"names":[],"mappings":";;;;;;AACA,gEAAqC;AACrC,uDAA2D;AAG3D,MAAM,KAAK,GAAgC;IACzC,YAAY,EAAE;QACZ;YACE,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE;;;;;;;;;OASN;SACF;KACF;IACD,QAAQ,EAAE;QACR;YACE,GAAG,EAAE;gBACH,EAAE,EAAE,8EAA8E;gBAClF,cAAc,EAAE,kEAAkE;gBAClF,IAAI,EAAE,IAAI;gBACV,cAAc,EAAE,EAAE;gBAClB,KAAK,EAAE,CAAC;gBACR,YAAY,EAAE,oEAAoE;gBAClF,gBAAgB,EAAE,mBAAmB;gBACrC,WAAW,EAAE,SAAS;gBACtB,YAAY,EAAE,0BAA0B;gBACxC,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,EAAE;gBACd,iBAAiB,EAAE,EAAE;gBACrB,UAAU,EAAE,OAAO;gBACnB,YAAY,EAAE,0BAA0B;gBACxC,OAAO,EAAE,OAAO;gBAChB,gBAAgB,EAAE,OAAO;gBACzB,mBAAmB,EAAE;oBACnB,IAAI,EAAE;wBACJ,QAAQ,EAAE;4BACR,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK;yBACN;wBACD,UAAU,EAAE,aAAa;qBAC1B;oBACD,GAAG,EAAE;wBACH,QAAQ,EAAE;4BACR,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BACrF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;4BAClF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;yBACnF;wBACD,UAAU,EAAE,aAAa;qBAC1B;oBACD,IAAI,EAAE;wBACJ,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;wBAC9D,UAAU,EAAE,aAAa;qBAC1B;iBACF;gBACD,IAAI,EAAE,kEAAkE;gBACxE,WAAW,EAAE,EAAE;aAChB;YACD,YAAY,EAAE;gBACZ;oBACE,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,IAAA,gCAAkB,EAAC;wBAC9B,MAAM,EAAE,MAAM;wBACd,SAAS,EAAE,oEAAoE;wBAC/E,YAAY,EAAE,KAAK;wBACnB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,OAAO;wBACf,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,KAAK;wBACX,OAAO,EAAE,2CAA2C;wBACpD,MAAM,EAAE,IAAI;qBACb,CAAC;oBACF,cAAc,EAAE,GAAG,EAAE;oBACnB,+EAA+E;oBAC/E,CAAC;wBACC,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE,EAAE;wBACZ,MAAM,EAAE,IAAA,sBAAS,EAAC,MAAM,CAAC;qBAC1B,CAAC;iBACL;aACF;SACF;KACF;CACF,CAAC;AAEW,QAAA,OAAO,GAA6B;IAC/C,eAAe,EAAE,CAAC,IAAI,CAAC;IACvB,UAAU,EAAE;QACV,KAAK;KACN;CACF,CAAC"}
|
|
@@ -2,5 +2,4 @@ import type { DeviceAction } from "@ledgerhq/coin-framework/bot/types";
|
|
|
2
2
|
import type { Transaction } from "../types";
|
|
3
3
|
import { State } from "@ledgerhq/coin-framework/bot/types";
|
|
4
4
|
export declare const acceptTransaction: DeviceAction<Transaction, State<Transaction>>;
|
|
5
|
-
export declare const acceptTokenTransaction: DeviceAction<Transaction, State<Transaction>>;
|
|
6
5
|
//# sourceMappingURL=speculos-deviceActions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../../src/test/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAE3D,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../../src/test/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAE3D,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAuC1E,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.acceptTransaction = void 0;
|
|
4
4
|
const specs_1 = require("@ledgerhq/coin-framework/bot/specs");
|
|
5
5
|
exports.acceptTransaction = (0, specs_1.deviceActionFlow)({
|
|
6
6
|
steps: [
|
|
@@ -9,7 +9,7 @@ exports.acceptTransaction = (0, specs_1.deviceActionFlow)({
|
|
|
9
9
|
button: specs_1.SpeculosButton.RIGHT,
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
|
-
title: "Transaction
|
|
12
|
+
title: "Transaction",
|
|
13
13
|
button: specs_1.SpeculosButton.RIGHT,
|
|
14
14
|
},
|
|
15
15
|
{
|
|
@@ -17,53 +17,21 @@ exports.acceptTransaction = (0, specs_1.deviceActionFlow)({
|
|
|
17
17
|
button: specs_1.SpeculosButton.RIGHT,
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
|
-
title: "
|
|
21
|
-
button: specs_1.SpeculosButton.RIGHT,
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
title: "To (1/2)",
|
|
20
|
+
title: "Coin Type",
|
|
25
21
|
button: specs_1.SpeculosButton.RIGHT,
|
|
26
22
|
},
|
|
27
23
|
{
|
|
28
|
-
title: "
|
|
24
|
+
title: "Receiver (1/2)",
|
|
29
25
|
button: specs_1.SpeculosButton.RIGHT,
|
|
30
26
|
},
|
|
31
27
|
{
|
|
32
|
-
title: "
|
|
33
|
-
button: specs_1.SpeculosButton.RIGHT,
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
title: "Approve",
|
|
37
|
-
button: specs_1.SpeculosButton.BOTH,
|
|
38
|
-
},
|
|
39
|
-
],
|
|
40
|
-
});
|
|
41
|
-
exports.acceptTokenTransaction = (0, specs_1.deviceActionFlow)({
|
|
42
|
-
steps: [
|
|
43
|
-
{
|
|
44
|
-
title: "Review",
|
|
45
|
-
button: specs_1.SpeculosButton.RIGHT,
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
title: "Transaction Type",
|
|
49
|
-
button: specs_1.SpeculosButton.RIGHT,
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
title: "Function",
|
|
28
|
+
title: "Receiver (2/2)",
|
|
53
29
|
button: specs_1.SpeculosButton.RIGHT,
|
|
54
30
|
},
|
|
55
31
|
{
|
|
56
32
|
title: "Amount",
|
|
57
33
|
button: specs_1.SpeculosButton.RIGHT,
|
|
58
34
|
},
|
|
59
|
-
{
|
|
60
|
-
title: "To (1/2)",
|
|
61
|
-
button: specs_1.SpeculosButton.RIGHT,
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
title: "To (2/2)",
|
|
65
|
-
button: specs_1.SpeculosButton.RIGHT,
|
|
66
|
-
},
|
|
67
35
|
{
|
|
68
36
|
title: "Gas Fee",
|
|
69
37
|
button: specs_1.SpeculosButton.RIGHT,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../src/test/speculos-deviceActions.ts"],"names":[],"mappings":";;;AAEA,8DAAsF;AAGzE,QAAA,iBAAiB,GAAkD,IAAA,wBAAgB,EAAC;IAC/F,KAAK,EAAE;QACL;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../src/test/speculos-deviceActions.ts"],"names":[],"mappings":";;;AAEA,8DAAsF;AAGzE,QAAA,iBAAiB,GAAkD,IAAA,wBAAgB,EAAC;IAC/F,KAAK,EAAE;QACL;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,sBAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,sBAAc,CAAC,IAAI;SAC5B;KACF;CACF,CAAC,CAAC"}
|