@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,117 +1,7 @@
|
|
|
1
|
-
import { inferSubOperations } from "@ledgerhq/coin-framework/serialization/index";
|
|
2
1
|
import { decodeAccountId, encodeAccountId } from "@ledgerhq/coin-framework/account";
|
|
3
2
|
import { mergeOps } from "@ledgerhq/coin-framework/bridge/jsHelpers";
|
|
4
3
|
import { AptosAPI } from "../api";
|
|
5
4
|
import { txsToOps } from "./logic";
|
|
6
|
-
import { decodeTokenAccountId, emptyHistoryCache, encodeTokenAccountId, } from "@ledgerhq/coin-framework/account/index";
|
|
7
|
-
/**
|
|
8
|
-
* List of properties of a sub account that can be updated when 2 "identical" accounts are found
|
|
9
|
-
*/
|
|
10
|
-
const updatableSubAccountProperties = [
|
|
11
|
-
{ name: "balance", isOps: false },
|
|
12
|
-
{ name: "spendableBalance", isOps: false },
|
|
13
|
-
{ name: "balanceHistoryCache", isOps: false },
|
|
14
|
-
{ name: "operations", isOps: true },
|
|
15
|
-
{ name: "pendingOperations", isOps: true },
|
|
16
|
-
];
|
|
17
|
-
/**
|
|
18
|
-
* In charge of smartly merging sub accounts while maintaining references as much as possible
|
|
19
|
-
*/
|
|
20
|
-
export const mergeSubAccounts = (initialAccount, newSubAccounts) => {
|
|
21
|
-
const oldSubAccounts = initialAccount?.subAccounts;
|
|
22
|
-
if (!oldSubAccounts) {
|
|
23
|
-
return newSubAccounts;
|
|
24
|
-
}
|
|
25
|
-
// Creating a map of already existing sub accounts by id
|
|
26
|
-
const oldSubAccountsById = {};
|
|
27
|
-
for (const oldSubAccount of oldSubAccounts) {
|
|
28
|
-
oldSubAccountsById[oldSubAccount.id] = oldSubAccount;
|
|
29
|
-
}
|
|
30
|
-
// Looping on new sub accounts to compare them with already existing ones
|
|
31
|
-
// Already existing will be updated if necessary (see `updatableSubAccountProperties`)
|
|
32
|
-
// Fresh new sub accounts will be added/pushed after already existing
|
|
33
|
-
const newSubAccountsToAdd = [];
|
|
34
|
-
for (const newSubAccount of newSubAccounts) {
|
|
35
|
-
const duplicatedAccount = oldSubAccountsById[newSubAccount.id];
|
|
36
|
-
// If this sub account was not already in the initialAccount
|
|
37
|
-
if (!duplicatedAccount) {
|
|
38
|
-
// We'll add it later
|
|
39
|
-
newSubAccountsToAdd.push(newSubAccount);
|
|
40
|
-
continue;
|
|
41
|
-
}
|
|
42
|
-
const updates = {};
|
|
43
|
-
for (const { name, isOps } of updatableSubAccountProperties) {
|
|
44
|
-
if (!isOps) {
|
|
45
|
-
if (newSubAccount[name] !==
|
|
46
|
-
duplicatedAccount[name]) {
|
|
47
|
-
updates[name] = newSubAccount[name];
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
updates[name] =
|
|
52
|
-
mergeOps(duplicatedAccount[name], newSubAccount[name]) || [];
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
// Updating the operationsCount in case the mergeOps changed it
|
|
56
|
-
updates.operationsCount =
|
|
57
|
-
updates.operations?.length || duplicatedAccount?.operations?.length || 0;
|
|
58
|
-
// Modifying the Map with the updated sub account with a new ref
|
|
59
|
-
oldSubAccountsById[newSubAccount.id] = {
|
|
60
|
-
...duplicatedAccount,
|
|
61
|
-
...updates,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
const updatedSubAccounts = Object.values(oldSubAccountsById);
|
|
65
|
-
return [...updatedSubAccounts, ...newSubAccountsToAdd];
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* Fetch the balance for a token and creates a TokenAccount based on this and the provided operations
|
|
69
|
-
*/
|
|
70
|
-
export const getSubAccountShape = async (currency, address, parentId, token, operations) => {
|
|
71
|
-
const aptosClient = new AptosAPI(currency.id);
|
|
72
|
-
const tokenAccountId = encodeTokenAccountId(parentId, token);
|
|
73
|
-
const balance = await aptosClient.getBalance(address, token);
|
|
74
|
-
const firstOperation = operations
|
|
75
|
-
.sort((a, b) => b.date.getTime() - a.date.getTime())
|
|
76
|
-
.at(operations.length - 1);
|
|
77
|
-
return {
|
|
78
|
-
type: "TokenAccount",
|
|
79
|
-
id: tokenAccountId,
|
|
80
|
-
parentId,
|
|
81
|
-
token,
|
|
82
|
-
balance,
|
|
83
|
-
spendableBalance: balance,
|
|
84
|
-
creationDate: firstOperation?.date || new Date(0),
|
|
85
|
-
operations,
|
|
86
|
-
operationsCount: operations.length,
|
|
87
|
-
pendingOperations: [],
|
|
88
|
-
balanceHistoryCache: emptyHistoryCache,
|
|
89
|
-
swapHistory: [],
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
/**
|
|
93
|
-
* Getting all token related operations in order to provide TokenAccounts
|
|
94
|
-
*/
|
|
95
|
-
export const getSubAccounts = async (infos, address, accountId, lastTokenOperations) => {
|
|
96
|
-
const { currency } = infos;
|
|
97
|
-
// Creating a Map of Operations by TokenCurrencies in order to know which TokenAccounts should be synced as well
|
|
98
|
-
const operationsByToken = lastTokenOperations.reduce((acc, operation) => {
|
|
99
|
-
const { token } = decodeTokenAccountId(operation.accountId);
|
|
100
|
-
if (!token)
|
|
101
|
-
return acc; // TODO: do we need to check blacklistedTokenIds
|
|
102
|
-
if (!acc.has(token)) {
|
|
103
|
-
acc.set(token, []);
|
|
104
|
-
}
|
|
105
|
-
acc.get(token)?.push(operation);
|
|
106
|
-
return acc;
|
|
107
|
-
}, new Map());
|
|
108
|
-
// Fetching all TokenAccounts possible and providing already filtered operations
|
|
109
|
-
const subAccountsPromises = [];
|
|
110
|
-
for (const [token, ops] of operationsByToken.entries()) {
|
|
111
|
-
subAccountsPromises.push(getSubAccountShape(currency, address, accountId, token, ops));
|
|
112
|
-
}
|
|
113
|
-
return Promise.all(subAccountsPromises);
|
|
114
|
-
};
|
|
115
5
|
export const getAccountShape = async (info) => {
|
|
116
6
|
const { address, initialAccount, currency, derivationMode, rest } = info;
|
|
117
7
|
const publicKey = rest?.publicKey || (initialAccount && decodeAccountId(initialAccount.id).xpubOrAddress);
|
|
@@ -128,20 +18,11 @@ export const getAccountShape = async (info) => {
|
|
|
128
18
|
// "xpub" field is used because this field exists in ledger operation type
|
|
129
19
|
const xpub = initialAccount?.xpub || publicKey || "";
|
|
130
20
|
const oldOperations = initialAccount?.operations || [];
|
|
21
|
+
const startAt = oldOperations[0]?.extra?.version;
|
|
131
22
|
const aptosClient = new AptosAPI(currency.id);
|
|
132
|
-
const { balance, transactions, blockHeight } = await aptosClient.getAccountInfo(address);
|
|
133
|
-
const
|
|
23
|
+
const { balance, transactions, blockHeight } = await aptosClient.getAccountInfo(address, startAt);
|
|
24
|
+
const newOperations = txsToOps(info, accountId, transactions);
|
|
134
25
|
const operations = mergeOps(oldOperations, newOperations);
|
|
135
|
-
const newSubAccounts = await getSubAccounts(info, address, accountId, tokenOperations);
|
|
136
|
-
const shouldSyncFromScratch = initialAccount === undefined;
|
|
137
|
-
const subAccounts = shouldSyncFromScratch
|
|
138
|
-
? newSubAccounts
|
|
139
|
-
: mergeSubAccounts(initialAccount, newSubAccounts);
|
|
140
|
-
operations.forEach(op => {
|
|
141
|
-
const subOperations = inferSubOperations(op.hash, subAccounts);
|
|
142
|
-
op.subOperations =
|
|
143
|
-
subOperations.length === 1 ? subOperations : subOperations.filter(op => !!op.blockHash);
|
|
144
|
-
});
|
|
145
26
|
const shape = {
|
|
146
27
|
type: "Account",
|
|
147
28
|
id: accountId,
|
|
@@ -152,7 +33,6 @@ export const getAccountShape = async (info) => {
|
|
|
152
33
|
operationsCount: operations.length,
|
|
153
34
|
blockHeight,
|
|
154
35
|
lastSyncDate: new Date(),
|
|
155
|
-
subAccounts,
|
|
156
36
|
};
|
|
157
37
|
return shape;
|
|
158
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEpF,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,MAAM,CAAC,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,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAE1F,MAAM,SAAS,GAAG,eAAe,CAAC;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,QAAQ,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,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,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"}
|
package/lib-es/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
|
|
@@ -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-es/constants.js
CHANGED
|
@@ -6,12 +6,11 @@ export var TX_STATUS;
|
|
|
6
6
|
TX_STATUS["SUCCESS"] = "success";
|
|
7
7
|
})(TX_STATUS || (TX_STATUS = {}));
|
|
8
8
|
export const WRITE_RESOURCE = "write_resource";
|
|
9
|
-
export const
|
|
9
|
+
export const TRANSFER_TYPES = [
|
|
10
10
|
"0x1::aptos_account::transfer",
|
|
11
11
|
"0x1::aptos_account::transfer_coins",
|
|
12
12
|
"0x1::coin::transfer",
|
|
13
13
|
];
|
|
14
|
-
export const FA_TRANSFER_TYPES = ["0x1::primary_fungible_store::transfer"];
|
|
15
14
|
export const BATCH_TRANSFER_TYPES = [
|
|
16
15
|
"0x1::aptos_account::batch_transfer",
|
|
17
16
|
"0x1::aptos_account::batch_transfer_coins",
|
|
@@ -22,13 +21,10 @@ export const DELEGATION_POOL_TYPES = [
|
|
|
22
21
|
];
|
|
23
22
|
export const APTOS_ASSET_ID = "0x1::aptos_coin::AptosCoin";
|
|
24
23
|
export const APTOS_COIN_CHANGE = `0x1::coin::CoinStore<${APTOS_ASSET_ID}>`;
|
|
25
|
-
export const APTOS_FUNGIBLE_STORE = "0x1::fungible_asset::FungibleStore";
|
|
26
|
-
export const APTOS_OBJECT_CORE = "0x1::object::ObjectCore";
|
|
27
24
|
export var DIRECTION;
|
|
28
25
|
(function (DIRECTION) {
|
|
29
26
|
DIRECTION["IN"] = "IN";
|
|
30
27
|
DIRECTION["OUT"] = "OUT";
|
|
31
28
|
DIRECTION["UNKNOWN"] = "UNKNOWN";
|
|
32
29
|
})(DIRECTION || (DIRECTION = {}));
|
|
33
|
-
export const SUPPORTED_TOKEN_TYPES = ["coin", "fungible_asset"];
|
|
34
30
|
//# sourceMappingURL=constants.js.map
|
package/lib-es/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAE7B,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,gCAAmB,CAAA;AACrB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE/C,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAE7B,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,gCAAmB,CAAA;AACrB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,8BAA8B;IAC9B,oCAAoC;IACpC,qBAAqB;CACtB,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,oCAAoC;IACpC,0CAA0C;CAC3C,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,iCAAiC;IACjC,gCAAgC;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAiB,4BAA4B,CAAC;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAiB,wBAAwB,cAAc,GAAG,CAAC;AAEzF,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,sBAAS,CAAA;IACT,wBAAW,CAAA;IACX,gCAAmB,CAAA;AACrB,CAAC,EAJW,SAAS,KAAT,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-es/test/bot-specs.js
CHANGED
|
@@ -4,7 +4,7 @@ import { DeviceModelId } from "@ledgerhq/devices";
|
|
|
4
4
|
import BigNumber from "bignumber.js";
|
|
5
5
|
import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
|
|
6
6
|
import { genericTestDestination, pickSiblings, botTest } from "@ledgerhq/coin-framework/bot/specs";
|
|
7
|
-
import {
|
|
7
|
+
import { acceptTransaction } from "./speculos-deviceActions";
|
|
8
8
|
const MIN_SAFE = new BigNumber(0.0001);
|
|
9
9
|
const maxAccount = 6;
|
|
10
10
|
const aptosSpecs = {
|
|
@@ -15,7 +15,7 @@ const aptosSpecs = {
|
|
|
15
15
|
appName: "Aptos",
|
|
16
16
|
},
|
|
17
17
|
genericDeviceAction: acceptTransaction,
|
|
18
|
-
testTimeout:
|
|
18
|
+
testTimeout: 6 * 60 * 1000,
|
|
19
19
|
minViableAmount: MIN_SAFE,
|
|
20
20
|
transactionCheck: ({ maxSpendable }) => {
|
|
21
21
|
invariant(maxSpendable.gt(MIN_SAFE), "balance is too low");
|
|
@@ -70,47 +70,8 @@ const aptosSpecs = {
|
|
|
70
70
|
botTest("account spendable balance is zero", () => expect(account.spendableBalance.toString()).toBe("0"));
|
|
71
71
|
},
|
|
72
72
|
},
|
|
73
|
-
{
|
|
74
|
-
name: "Send ~50% of token amount",
|
|
75
|
-
feature: "tokens",
|
|
76
|
-
maxRun: 1,
|
|
77
|
-
deviceAction: acceptTokenTransaction,
|
|
78
|
-
transaction: ({ account, bridge, siblings, maxSpendable }) => {
|
|
79
|
-
invariant(maxSpendable.gt(MIN_SAFE), "Balance is too low");
|
|
80
|
-
const senderTokenAcc = findTokenSubAccountWithBalance(account);
|
|
81
|
-
invariant(senderTokenAcc, "Sender token account with available balance not found");
|
|
82
|
-
const sibling = pickSiblings(siblings, maxAccount);
|
|
83
|
-
const recipientTokenAcc = findTokenSubAccountWithBalance(sibling);
|
|
84
|
-
invariant(recipientTokenAcc, "Receiver token account with available balance not found");
|
|
85
|
-
const amount = senderTokenAcc.spendableBalance.div(2).integerValue();
|
|
86
|
-
const recipient = sibling.freshAddress;
|
|
87
|
-
const transaction = bridge.createTransaction(account);
|
|
88
|
-
const subAccountId = senderTokenAcc.id;
|
|
89
|
-
return {
|
|
90
|
-
transaction,
|
|
91
|
-
updates: [{ subAccountId }, { recipient }, { amount }],
|
|
92
|
-
};
|
|
93
|
-
},
|
|
94
|
-
test: input => {
|
|
95
|
-
expectTokenAccountCorrectBalanceChange(input);
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
73
|
],
|
|
99
74
|
};
|
|
100
|
-
function findTokenSubAccountWithBalance(account) {
|
|
101
|
-
return account.subAccounts?.find(acc => acc.type === "TokenAccount" && acc.balance.gt(0));
|
|
102
|
-
}
|
|
103
|
-
function expectTokenAccountCorrectBalanceChange({ account, accountBeforeTransaction, status, transaction, }) {
|
|
104
|
-
const tokenAccId = transaction.subAccountId;
|
|
105
|
-
if (!tokenAccId)
|
|
106
|
-
throw new Error("Wrong subAccountId");
|
|
107
|
-
const tokenAccAfterTx = account.subAccounts?.find(acc => acc.id === tokenAccId);
|
|
108
|
-
const tokenAccBeforeTx = accountBeforeTransaction.subAccounts?.find(acc => acc.id === tokenAccId);
|
|
109
|
-
if (!tokenAccAfterTx || !tokenAccBeforeTx) {
|
|
110
|
-
throw new Error("Token sub accounts not found!");
|
|
111
|
-
}
|
|
112
|
-
botTest("Token balance decreased with operation", () => expect(tokenAccAfterTx.balance.toString()).toBe(tokenAccBeforeTx.balance.minus(status.amount).toString()));
|
|
113
|
-
}
|
|
114
75
|
export default {
|
|
115
76
|
aptosSpecs,
|
|
116
77
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-specs.js","sourceRoot":"","sources":["../../src/test/bot-specs.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,
|
|
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,3 +1,5 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { fromTransactionRaw } from "../bridge/transaction";
|
|
1
3
|
const aptos = {
|
|
2
4
|
scanAccounts: [
|
|
3
5
|
{
|
|
@@ -17,71 +19,85 @@ const aptos = {
|
|
|
17
19
|
accounts: [
|
|
18
20
|
{
|
|
19
21
|
raw: {
|
|
20
|
-
id: "js:2:aptos:d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956:
|
|
22
|
+
id: "js:2:aptos:d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956:",
|
|
21
23
|
seedIdentifier: "d6816f4f22f867b56cf9304b776f452a16d107835d73ee8a33c4ced210300583",
|
|
22
24
|
used: true,
|
|
23
|
-
derivationMode: "
|
|
25
|
+
derivationMode: "",
|
|
24
26
|
index: 0,
|
|
25
27
|
freshAddress: "0x445fa0013887abd1a0c14acdec6e48090e0ad3fed3e08202aac15ca14f3be26b",
|
|
26
28
|
freshAddressPath: "44'/637'/0'/0'/0'",
|
|
27
|
-
blockHeight:
|
|
29
|
+
blockHeight: 286066372,
|
|
28
30
|
creationDate: "2024-12-18T12:26:31.070Z",
|
|
29
|
-
operationsCount:
|
|
31
|
+
operationsCount: 5,
|
|
30
32
|
operations: [],
|
|
31
33
|
pendingOperations: [],
|
|
32
34
|
currencyId: "aptos",
|
|
33
|
-
lastSyncDate: "2025-
|
|
34
|
-
balance: "
|
|
35
|
-
spendableBalance: "
|
|
35
|
+
lastSyncDate: "2025-02-04T14:00:46.693Z",
|
|
36
|
+
balance: "30100",
|
|
37
|
+
spendableBalance: "30100",
|
|
36
38
|
balanceHistoryCache: {
|
|
37
39
|
HOUR: {
|
|
38
40
|
balances: [
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
42
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
43
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
44
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
45
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
46
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
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,
|
|
48
58
|
],
|
|
49
|
-
latestDate:
|
|
59
|
+
latestDate: 1738677600000,
|
|
50
60
|
},
|
|
51
61
|
DAY: {
|
|
52
62
|
balances: [
|
|
53
|
-
0,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
63
|
+
0, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
64
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
65
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
66
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
57
67
|
],
|
|
58
|
-
latestDate:
|
|
68
|
+
latestDate: 1738627200000,
|
|
69
|
+
},
|
|
70
|
+
WEEK: {
|
|
71
|
+
balances: [0, 30100, 30100, 30100, 30100, 30100, 30100, 30100],
|
|
72
|
+
latestDate: 1738454400000,
|
|
59
73
|
},
|
|
60
|
-
WEEK: { balances: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], latestDate: 1741478400000 },
|
|
61
74
|
},
|
|
62
75
|
xpub: "d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956",
|
|
63
|
-
subAccounts: [
|
|
64
|
-
{
|
|
65
|
-
type: "TokenAccountRaw",
|
|
66
|
-
id: "js:2:aptos:d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956:aptos+aptos%2Fcoin%2Fdstapt~!underscore!~0xd11107bdf0d6d7040c6c0bfbdecb6545191fdf13e8d8d259952f53e1713f61b5%3A%3Astaked~!underscore!~coin%3A%3Astakedaptos",
|
|
67
|
-
parentId: "js:2:aptos:d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956:aptos",
|
|
68
|
-
tokenId: "aptos/coin/dstapt_0xd11107bdf0d6d7040c6c0bfbdecb6545191fdf13e8d8d259952f53e1713f61b5::staked_coin::stakedaptos",
|
|
69
|
-
balance: "30000000",
|
|
70
|
-
spendableBalance: "30000000",
|
|
71
|
-
balanceHistoryCache: {
|
|
72
|
-
HOUR: { latestDate: null, balances: [] },
|
|
73
|
-
DAY: { latestDate: null, balances: [] },
|
|
74
|
-
WEEK: { latestDate: null, balances: [] },
|
|
75
|
-
},
|
|
76
|
-
creationDate: "2025-03-12T10:42:53.570Z",
|
|
77
|
-
operationsCount: 2,
|
|
78
|
-
operations: [],
|
|
79
|
-
pendingOperations: [],
|
|
80
|
-
swapHistory: [],
|
|
81
|
-
},
|
|
82
|
-
],
|
|
83
76
|
swapHistory: [],
|
|
84
77
|
},
|
|
78
|
+
transactions: [
|
|
79
|
+
{
|
|
80
|
+
name: "NO_NAME",
|
|
81
|
+
transaction: fromTransactionRaw({
|
|
82
|
+
amount: "1000",
|
|
83
|
+
recipient: "0xd20fa44192f94ba086ab16bfdf57e43ff118ada69b4c66fa9b9a9223cbc068c1",
|
|
84
|
+
useAllAmount: false,
|
|
85
|
+
subAccountId: null,
|
|
86
|
+
family: "aptos",
|
|
87
|
+
mode: "send",
|
|
88
|
+
fees: "900",
|
|
89
|
+
options: '{"maxGasAmount":"9","gasUnitPrice":"100"}',
|
|
90
|
+
errors: "{}",
|
|
91
|
+
}),
|
|
92
|
+
expectedStatus: () =>
|
|
93
|
+
// you can use account and transaction for smart logic. drop the =>fn otherwise
|
|
94
|
+
({
|
|
95
|
+
errors: {},
|
|
96
|
+
warnings: {},
|
|
97
|
+
amount: BigNumber("1000"),
|
|
98
|
+
}),
|
|
99
|
+
},
|
|
100
|
+
],
|
|
85
101
|
},
|
|
86
102
|
],
|
|
87
103
|
};
|
|
@@ -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,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;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,kBAAkB,CAAC;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,SAAS,CAAC,MAAM,CAAC;qBAC1B,CAAC;iBACL;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,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"}
|
|
@@ -6,7 +6,7 @@ export const acceptTransaction = deviceActionFlow({
|
|
|
6
6
|
button: SpeculosButton.RIGHT,
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
|
-
title: "Transaction
|
|
9
|
+
title: "Transaction",
|
|
10
10
|
button: SpeculosButton.RIGHT,
|
|
11
11
|
},
|
|
12
12
|
{
|
|
@@ -14,53 +14,21 @@ export const acceptTransaction = deviceActionFlow({
|
|
|
14
14
|
button: SpeculosButton.RIGHT,
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
|
-
title: "
|
|
18
|
-
button: SpeculosButton.RIGHT,
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
title: "To (1/2)",
|
|
17
|
+
title: "Coin Type",
|
|
22
18
|
button: SpeculosButton.RIGHT,
|
|
23
19
|
},
|
|
24
20
|
{
|
|
25
|
-
title: "
|
|
21
|
+
title: "Receiver (1/2)",
|
|
26
22
|
button: SpeculosButton.RIGHT,
|
|
27
23
|
},
|
|
28
24
|
{
|
|
29
|
-
title: "
|
|
30
|
-
button: SpeculosButton.RIGHT,
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
title: "Approve",
|
|
34
|
-
button: SpeculosButton.BOTH,
|
|
35
|
-
},
|
|
36
|
-
],
|
|
37
|
-
});
|
|
38
|
-
export const acceptTokenTransaction = deviceActionFlow({
|
|
39
|
-
steps: [
|
|
40
|
-
{
|
|
41
|
-
title: "Review",
|
|
42
|
-
button: SpeculosButton.RIGHT,
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
title: "Transaction Type",
|
|
46
|
-
button: SpeculosButton.RIGHT,
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
title: "Function",
|
|
25
|
+
title: "Receiver (2/2)",
|
|
50
26
|
button: SpeculosButton.RIGHT,
|
|
51
27
|
},
|
|
52
28
|
{
|
|
53
29
|
title: "Amount",
|
|
54
30
|
button: SpeculosButton.RIGHT,
|
|
55
31
|
},
|
|
56
|
-
{
|
|
57
|
-
title: "To (1/2)",
|
|
58
|
-
button: SpeculosButton.RIGHT,
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
title: "To (2/2)",
|
|
62
|
-
button: SpeculosButton.RIGHT,
|
|
63
|
-
},
|
|
64
32
|
{
|
|
65
33
|
title: "Gas Fee",
|
|
66
34
|
button: SpeculosButton.RIGHT,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../src/test/speculos-deviceActions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGtF,MAAM,CAAC,MAAM,iBAAiB,GAAkD,gBAAgB,CAAC;IAC/F,KAAK,EAAE;QACL;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../src/test/speculos-deviceActions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGtF,MAAM,CAAC,MAAM,iBAAiB,GAAkD,gBAAgB,CAAC;IAC/F,KAAK,EAAE;QACL;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,cAAc,CAAC,IAAI;SAC5B;KACF;CACF,CAAC,CAAC"}
|
package/lib-es/types/index.d.ts
CHANGED
|
@@ -49,25 +49,14 @@ export type TransactionRaw = TransactionCommonRaw & {
|
|
|
49
49
|
options: string;
|
|
50
50
|
errors?: string;
|
|
51
51
|
};
|
|
52
|
-
export type
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
};
|
|
59
|
-
export type AptosFungibleoObjectCoreResourceData = {
|
|
60
|
-
owner: string;
|
|
61
|
-
};
|
|
62
|
-
export type AptosMoveResourceData = {
|
|
63
|
-
guid: {
|
|
64
|
-
id: {
|
|
65
|
-
addr: string;
|
|
66
|
-
creation_num: string;
|
|
52
|
+
export type AptosMoveResource = {
|
|
53
|
+
[key: string]: {
|
|
54
|
+
guid: {
|
|
55
|
+
id: {
|
|
56
|
+
addr: string;
|
|
57
|
+
creation_num: string;
|
|
58
|
+
};
|
|
67
59
|
};
|
|
68
60
|
};
|
|
69
61
|
};
|
|
70
|
-
export type AptosMoveResource = {
|
|
71
|
-
[key: string]: AptosMoveResourceData;
|
|
72
|
-
};
|
|
73
62
|
//# sourceMappingURL=index.d.ts.map
|