@ledgerhq/coin-aptos 1.8.1-nightly.1 → 2.0.0-nightly.2
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 +16 -0
- package/lib/__tests__/api/index.test.js +61 -5
- package/lib/__tests__/api/index.test.js.map +1 -1
- package/lib/__tests__/bridge/buildTransaction.test.js +57 -2
- package/lib/__tests__/bridge/buildTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/getFeesForTransaction.test.js +109 -8
- package/lib/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/getTransactionStatus.test.js +175 -37
- package/lib/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib/__tests__/bridge/logic.test.js +889 -115
- package/lib/__tests__/bridge/logic.test.js.map +1 -1
- package/lib/__tests__/bridge/signOperation.test.js +128 -2
- package/lib/__tests__/bridge/signOperation.test.js.map +1 -1
- package/lib/__tests__/bridge/synchronisation.test.js +1214 -67
- 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 +5 -2
- package/lib/api/index.d.ts.map +1 -1
- package/lib/api/index.js +30 -4
- package/lib/api/index.js.map +1 -1
- package/lib/bridge/bridge.fixture.d.ts +2 -0
- package/lib/bridge/bridge.fixture.d.ts.map +1 -1
- package/lib/bridge/bridge.fixture.js +85 -13
- package/lib/bridge/bridge.fixture.js.map +1 -1
- package/lib/bridge/buildTransaction.d.ts.map +1 -1
- package/lib/bridge/buildTransaction.js +29 -3
- 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 +12 -7
- package/lib/bridge/getFeesForTransaction.js.map +1 -1
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib/bridge/getTransactionStatus.js +28 -14
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/logic.d.ts +13 -8
- package/lib/bridge/logic.d.ts.map +1 -1
- package/lib/bridge/logic.js +152 -54
- 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 +17 -3
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/synchronisation.d.ts +15 -0
- package/lib/bridge/synchronisation.d.ts.map +1 -1
- package/lib/bridge/synchronisation.js +127 -4
- package/lib/bridge/synchronisation.js.map +1 -1
- package/lib/constants.d.ts +5 -1
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +6 -2
- package/lib/constants.js.map +1 -1
- package/lib/test/bot-specs.d.ts.map +1 -1
- package/lib/test/bot-specs.js +40 -1
- package/lib/test/bot-specs.js.map +1 -1
- package/lib/test/bridgeDatasetTest.d.ts.map +1 -1
- package/lib/test/bridgeDatasetTest.js +43 -62
- package/lib/test/bridgeDatasetTest.js.map +1 -1
- package/lib/test/speculos-deviceActions.d.ts +1 -0
- package/lib/test/speculos-deviceActions.d.ts.map +1 -1
- package/lib/test/speculos-deviceActions.js +37 -5
- package/lib/test/speculos-deviceActions.js.map +1 -1
- package/lib/types/index.d.ts +18 -7
- package/lib/types/index.d.ts.map +1 -1
- package/lib-es/__tests__/api/index.test.js +61 -5
- package/lib-es/__tests__/api/index.test.js.map +1 -1
- package/lib-es/__tests__/bridge/buildTransaction.test.js +58 -3
- package/lib-es/__tests__/bridge/buildTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js +110 -9
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js +177 -39
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib-es/__tests__/bridge/logic.test.js +891 -117
- package/lib-es/__tests__/bridge/logic.test.js.map +1 -1
- package/lib-es/__tests__/bridge/signOperation.test.js +128 -2
- package/lib-es/__tests__/bridge/signOperation.test.js.map +1 -1
- package/lib-es/__tests__/bridge/synchronisation.test.js +1213 -69
- 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 +5 -2
- package/lib-es/api/index.d.ts.map +1 -1
- package/lib-es/api/index.js +30 -4
- package/lib-es/api/index.js.map +1 -1
- package/lib-es/bridge/bridge.fixture.d.ts +2 -0
- package/lib-es/bridge/bridge.fixture.d.ts.map +1 -1
- package/lib-es/bridge/bridge.fixture.js +82 -12
- 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 +30 -4
- 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 +13 -8
- 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 +28 -14
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/logic.d.ts +13 -8
- package/lib-es/bridge/logic.d.ts.map +1 -1
- package/lib-es/bridge/logic.js +146 -52
- 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 +17 -3
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/synchronisation.d.ts +15 -0
- package/lib-es/bridge/synchronisation.d.ts.map +1 -1
- package/lib-es/bridge/synchronisation.js +123 -3
- package/lib-es/bridge/synchronisation.js.map +1 -1
- package/lib-es/constants.d.ts +5 -1
- package/lib-es/constants.d.ts.map +1 -1
- package/lib-es/constants.js +5 -1
- 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 +41 -2
- 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 +43 -59
- package/lib-es/test/bridgeDatasetTest.js.map +1 -1
- package/lib-es/test/speculos-deviceActions.d.ts +1 -0
- package/lib-es/test/speculos-deviceActions.d.ts.map +1 -1
- package/lib-es/test/speculos-deviceActions.js +36 -4
- package/lib-es/test/speculos-deviceActions.js.map +1 -1
- package/lib-es/types/index.d.ts +18 -7
- package/lib-es/types/index.d.ts.map +1 -1
- package/package.json +8 -7
- package/src/__tests__/api/index.test.ts +75 -5
- package/src/__tests__/bridge/buildTransaction.test.ts +85 -3
- package/src/__tests__/bridge/getFeesForTransaction.test.ts +144 -9
- package/src/__tests__/bridge/getTransactionStatus.test.ts +217 -38
- package/src/__tests__/bridge/logic.test.ts +922 -118
- package/src/__tests__/bridge/signOperation.test.ts +141 -2
- package/src/__tests__/bridge/synchronisation.test.ts +1265 -71
- package/src/api/graphql/queries.ts +6 -6
- package/src/api/graphql/types.ts +9 -9
- package/src/api/index.ts +32 -5
- package/src/bridge/bridge.fixture.ts +91 -12
- package/src/bridge/buildTransaction.ts +39 -6
- package/src/bridge/estimateMaxSpendable.ts +1 -1
- package/src/bridge/getFeesForTransaction.ts +14 -9
- package/src/bridge/getTransactionStatus.ts +35 -13
- package/src/bridge/logic.ts +202 -63
- package/src/bridge/prepareTransaction.ts +4 -3
- package/src/bridge/signOperation.ts +19 -3
- package/src/bridge/synchronisation.ts +170 -3
- package/src/constants.ts +12 -1
- package/src/test/bot-specs.ts +63 -3
- package/src/test/bridgeDatasetTest.ts +45 -59
- package/src/test/speculos-deviceActions.ts +40 -4
- package/src/types/index.ts +15 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFeesForTransaction.js","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAsD;AACtD,yCAAqC;AAErC,gEAAqC;AACrC,wDAAqE;AAErE,0EAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"getFeesForTransaction.js","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAK/D,QAAA,MAAM,oBAAoB,MAAa,OAAO,KAAK,WAAW,KAAG,QAAQ,iBAAiB,CAyDzF,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,31 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const bignumber_js_1 = require("bignumber.js");
|
|
4
3
|
const errors_1 = require("@ledgerhq/errors");
|
|
4
|
+
const bignumber_js_1 = require("bignumber.js");
|
|
5
5
|
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
|
|
6
|
+
const logic_1 = require("./logic");
|
|
6
7
|
const getTransactionStatus = async (a, t) => {
|
|
7
8
|
const errors = {};
|
|
8
9
|
const warnings = {};
|
|
10
|
+
if (!t.recipient) {
|
|
11
|
+
errors.recipient = new errors_1.RecipientRequired();
|
|
12
|
+
}
|
|
13
|
+
if (!ts_sdk_1.AccountAddress.isValid({ input: t.recipient }).valid && !errors.recipient) {
|
|
14
|
+
errors.recipient = new errors_1.InvalidAddress("", { currencyName: a.currency.name });
|
|
15
|
+
}
|
|
16
|
+
if (t.recipient === a.freshAddress && !errors.recipient) {
|
|
17
|
+
errors.recipient = new errors_1.InvalidAddressBecauseDestinationIsAlsoSource();
|
|
18
|
+
}
|
|
9
19
|
if (!t.fees) {
|
|
10
20
|
errors.fees = new errors_1.FeeNotLoaded();
|
|
11
21
|
}
|
|
12
22
|
const estimatedFees = t.fees || (0, bignumber_js_1.BigNumber)(0);
|
|
13
|
-
if (t.amount.
|
|
23
|
+
if (t.amount.lte(0)) {
|
|
14
24
|
errors.amount = new errors_1.AmountRequired();
|
|
15
25
|
}
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
const tokenAccount = (0, logic_1.getTokenAccount)(a, t);
|
|
27
|
+
const amount = t.useAllAmount
|
|
28
|
+
? tokenAccount
|
|
29
|
+
? tokenAccount.spendableBalance
|
|
30
|
+
: a.spendableBalance.minus(estimatedFees).isLessThan(0)
|
|
31
|
+
? (0, bignumber_js_1.BigNumber)(0)
|
|
32
|
+
: a.spendableBalance.minus(estimatedFees)
|
|
33
|
+
: t.amount;
|
|
34
|
+
const totalSpent = tokenAccount ? amount : amount.plus(estimatedFees);
|
|
35
|
+
if (tokenAccount && t.errors?.maxGasAmount == "GasInsufficientBalance" && !errors.amount) {
|
|
36
|
+
errors.amount = new errors_1.NotEnoughBalanceFees();
|
|
23
37
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
errors.
|
|
38
|
+
if (tokenAccount
|
|
39
|
+
? tokenAccount.spendableBalance.isLessThan(totalSpent) ||
|
|
40
|
+
a.spendableBalance.isLessThan(estimatedFees)
|
|
41
|
+
: a.spendableBalance.isLessThan(totalSpent) && !errors.amount) {
|
|
42
|
+
errors.amount = new errors_1.NotEnoughBalance();
|
|
29
43
|
}
|
|
30
44
|
return Promise.resolve({
|
|
31
45
|
errors,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":";;AAAA,+CAAyC;
|
|
1
|
+
{"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.ts"],"names":[],"mappings":";;AAAA,6CAQ0B;AAE1B,+CAAyC;AAGzC,+CAAoD;AACpD,mCAA0C;AAE1C,MAAM,oBAAoB,GAAG,KAAK,EAAE,CAAU,EAAE,CAAc,EAA8B,EAAE;IAC5F,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACjB,MAAM,CAAC,SAAS,GAAG,IAAI,0BAAiB,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,uBAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/E,MAAM,CAAC,SAAS,GAAG,IAAI,uBAAc,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACxD,MAAM,CAAC,SAAS,GAAG,IAAI,qDAA4C,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,GAAG,IAAI,qBAAY,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,IAAI,IAAA,wBAAS,EAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,MAAM,GAAG,IAAI,uBAAc,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY;QAC3B,CAAC,CAAC,YAAY;YACZ,CAAC,CAAC,YAAY,CAAC,gBAAgB;YAC/B,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrD,CAAC,CAAC,IAAA,wBAAS,EAAC,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC;QAC7C,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEb,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEtE,IAAI,YAAY,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,IAAI,wBAAwB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzF,MAAM,CAAC,MAAM,GAAG,IAAI,6BAAoB,EAAE,CAAC;IAC7C,CAAC;IACD,IACE,YAAY;QACV,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC;YACpD,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAC/D,CAAC;QACD,MAAM,CAAC,MAAM,GAAG,IAAI,yBAAgB,EAAE,CAAC;IACzC,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,MAAM;QACN,QAAQ;QACR,aAAa;QACb,MAAM;QACN,UAAU;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
|
package/lib/bridge/logic.d.ts
CHANGED
|
@@ -1,24 +1,29 @@
|
|
|
1
|
-
import { Event, InputEntryFunctionData,
|
|
2
|
-
import type { Operation } from "@ledgerhq/types-live";
|
|
1
|
+
import { Event, InputEntryFunctionData, WriteSetChangeWriteResource } from "@aptos-labs/ts-sdk";
|
|
2
|
+
import type { Account, Operation, TokenAccount } from "@ledgerhq/types-live";
|
|
3
3
|
import BigNumber from "bignumber.js";
|
|
4
|
-
import type { AptosTransaction, TransactionOptions } from "../types";
|
|
4
|
+
import type { AptosTransaction, Transaction, TransactionOptions } from "../types";
|
|
5
5
|
export declare const DEFAULT_GAS: BigNumber;
|
|
6
6
|
export declare const DEFAULT_GAS_PRICE: BigNumber;
|
|
7
7
|
export declare const ESTIMATE_GAS_MUL: BigNumber;
|
|
8
8
|
export declare function isTestnet(currencyId: string): boolean;
|
|
9
|
-
export declare const getMaxSendBalance: (
|
|
9
|
+
export declare const getMaxSendBalance: (gas: BigNumber, gasPrice: BigNumber, account: Account, transaction?: Transaction) => BigNumber;
|
|
10
10
|
export declare function normalizeTransactionOptions(options: TransactionOptions): TransactionOptions;
|
|
11
11
|
export declare const getBlankOperation: (tx: AptosTransaction, id: string) => Operation<Record<string, string>>;
|
|
12
12
|
export declare const txsToOps: (info: {
|
|
13
13
|
address: string;
|
|
14
|
-
}, id: string, txs: (AptosTransaction | null)[]) => Operation[];
|
|
14
|
+
}, id: string, txs: (AptosTransaction | null)[]) => [Operation[], Operation[]];
|
|
15
15
|
export declare function compareAddress(addressA: string, addressB: string): boolean;
|
|
16
16
|
export declare function getFunctionAddress(payload: InputEntryFunctionData): string | undefined;
|
|
17
17
|
export declare function processRecipients(payload: InputEntryFunctionData, address: string, op: Operation, function_address: string): void;
|
|
18
|
-
export declare function
|
|
19
|
-
export declare function
|
|
18
|
+
export declare function getEventCoinAddress(change: WriteSetChangeWriteResource, event: Event, event_name: string): string | null;
|
|
19
|
+
export declare function getEventFAAddress(change: WriteSetChangeWriteResource, event: Event, _event_name: string): string | null;
|
|
20
|
+
export declare function getResourceAddress(tx: AptosTransaction, event: Event, event_name: string, getAddressProcessor: (change: WriteSetChangeWriteResource, event: Event, event_name: string) => string | null): string | null;
|
|
21
|
+
export declare function checkFAOwner(tx: AptosTransaction, event: Event, user_address: string): boolean;
|
|
22
|
+
export declare function getCoinAndAmounts(tx: AptosTransaction, address: string): {
|
|
23
|
+
coin_id: string | null;
|
|
20
24
|
amount_in: BigNumber;
|
|
21
25
|
amount_out: BigNumber;
|
|
22
26
|
};
|
|
23
|
-
export declare function calculateAmount(sender: string, address: string,
|
|
27
|
+
export declare function calculateAmount(sender: string, address: string, amount_in: BigNumber, amount_out: BigNumber): BigNumber;
|
|
28
|
+
export declare function getTokenAccount(account: Account, transaction: Transaction): TokenAccount | undefined;
|
|
24
29
|
//# sourceMappingURL=logic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../src/bridge/logic.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EACL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../src/bridge/logic.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EACL,sBAAsB,EAGtB,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAiB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAO5F,OAAO,SAAS,MAAM,cAAc,CAAC;AAYrC,OAAO,KAAK,EAIV,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,WAAW,WAAqB,CAAC;AAC9C,eAAO,MAAM,iBAAiB,WAAqB,CAAC;AACpD,eAAO,MAAM,gBAAgB,WAAqB,CAAC;AAInD,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,eAAO,MAAM,iBAAiB,QACvB,SAAS,YACJ,SAAS,WACV,OAAO,gBACF,WAAW,KACxB,SAWF,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAe3F;AAED,eAAO,MAAM,iBAAiB,OACxB,gBAAgB,MAChB,MAAM,KACT,UAAU,OAAO,MAAM,EAAE,MAAM,CAAC,CAejC,CAAC;AAUH,eAAO,MAAM,QAAQ,SACb;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,MACrB,MAAM,OACL,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,KAC/B,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CA0D3B,CAAC;AAEF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAKhE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAMtF;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,SAAS,EACb,gBAAgB,EAAE,MAAM,GACvB,IAAI,CAsCN;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,2BAA2B,EACnC,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAoBf;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,2BAA2B,EACnC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAcf;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,gBAAgB,EACpB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,CACnB,MAAM,EAAE,2BAA2B,EACnC,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,KACf,MAAM,GAAG,IAAI,GACjB,MAAM,GAAG,IAAI,CAUf;AAQD,wBAAgB,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAc9F;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,gBAAgB,EACpB,OAAO,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,SAAS,CAAA;CAAE,CA4CzE;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,SAAS,GACpB,SAAS,CAMX;AAYD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,GACvB,YAAY,GAAG,SAAS,CAI1B"}
|
package/lib/bridge/logic.js
CHANGED
|
@@ -3,11 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.calculateAmount = exports.
|
|
6
|
+
exports.getTokenAccount = exports.calculateAmount = exports.getCoinAndAmounts = exports.checkFAOwner = exports.getResourceAddress = exports.getEventFAAddress = exports.getEventCoinAddress = exports.processRecipients = exports.getFunctionAddress = exports.compareAddress = exports.txsToOps = exports.getBlankOperation = exports.normalizeTransactionOptions = exports.getMaxSendBalance = exports.isTestnet = exports.ESTIMATE_GAS_MUL = exports.DEFAULT_GAS_PRICE = exports.DEFAULT_GAS = void 0;
|
|
7
7
|
const currencies_1 = require("@ledgerhq/cryptoassets/currencies");
|
|
8
|
+
const index_1 = require("@ledgerhq/coin-framework/account/index");
|
|
8
9
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
10
|
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
10
11
|
const constants_1 = require("../constants");
|
|
12
|
+
const cryptoassets_1 = require("@ledgerhq/cryptoassets");
|
|
11
13
|
exports.DEFAULT_GAS = new bignumber_js_1.default(200);
|
|
12
14
|
exports.DEFAULT_GAS_PRICE = new bignumber_js_1.default(100);
|
|
13
15
|
exports.ESTIMATE_GAS_MUL = new bignumber_js_1.default(1.0); // define buffer for gas estimation change here, if needed
|
|
@@ -16,9 +18,15 @@ function isTestnet(currencyId) {
|
|
|
16
18
|
return (0, currencies_1.getCryptoCurrencyById)(currencyId).isTestnetFor ? true : false;
|
|
17
19
|
}
|
|
18
20
|
exports.isTestnet = isTestnet;
|
|
19
|
-
const getMaxSendBalance = (
|
|
21
|
+
const getMaxSendBalance = (gas, gasPrice, account, transaction) => {
|
|
22
|
+
const tokenAccount = (0, index_1.findSubAccountById)(account, transaction?.subAccountId ?? "");
|
|
23
|
+
const fromTokenAccount = tokenAccount && (0, index_1.isTokenAccount)(tokenAccount);
|
|
20
24
|
const totalGas = gas.multipliedBy(gasPrice);
|
|
21
|
-
return
|
|
25
|
+
return fromTokenAccount
|
|
26
|
+
? tokenAccount.spendableBalance
|
|
27
|
+
: account.spendableBalance.gt(totalGas)
|
|
28
|
+
? account.spendableBalance.minus(totalGas)
|
|
29
|
+
: new bignumber_js_1.default(0);
|
|
22
30
|
};
|
|
23
31
|
exports.getMaxSendBalance = getMaxSendBalance;
|
|
24
32
|
function normalizeTransactionOptions(options) {
|
|
@@ -63,6 +71,7 @@ const convertFunctionPayloadResponseToInputEntryFunctionData = (payload) => ({
|
|
|
63
71
|
const txsToOps = (info, id, txs) => {
|
|
64
72
|
const { address } = info;
|
|
65
73
|
const ops = [];
|
|
74
|
+
const opsTokens = [];
|
|
66
75
|
txs.forEach(tx => {
|
|
67
76
|
if (tx !== null) {
|
|
68
77
|
const op = (0, exports.getBlankOperation)(tx, id);
|
|
@@ -72,22 +81,40 @@ const txsToOps = (info, id, txs) => {
|
|
|
72
81
|
if (!function_address) {
|
|
73
82
|
return; // skip transaction without functions in payload
|
|
74
83
|
}
|
|
75
|
-
const { amount_in, amount_out } =
|
|
76
|
-
op.value = calculateAmount(tx.sender, address,
|
|
84
|
+
const { coin_id, amount_in, amount_out } = getCoinAndAmounts(tx, address);
|
|
85
|
+
op.value = calculateAmount(tx.sender, address, amount_in, amount_out);
|
|
77
86
|
op.type = compareAddress(tx.sender, address) ? constants_1.DIRECTION.OUT : constants_1.DIRECTION.IN;
|
|
78
87
|
op.senders.push(tx.sender);
|
|
88
|
+
op.hasFailed = !tx.success;
|
|
89
|
+
op.id = (0, operation_1.encodeOperationId)(op.accountId, tx.hash, op.type);
|
|
79
90
|
processRecipients(payload, address, op, function_address);
|
|
80
91
|
if (op.value.isZero()) {
|
|
81
92
|
// skip transaction that result no Aptos change
|
|
82
93
|
op.type = constants_1.DIRECTION.UNKNOWN;
|
|
83
94
|
}
|
|
84
|
-
op.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
95
|
+
if (op.type !== constants_1.DIRECTION.UNKNOWN && coin_id !== null) {
|
|
96
|
+
if (coin_id === constants_1.APTOS_ASSET_ID) {
|
|
97
|
+
ops.push(op);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
const token = (0, cryptoassets_1.findTokenByAddressInCurrency)(coin_id.toLowerCase(), "aptos");
|
|
101
|
+
if (token !== undefined) {
|
|
102
|
+
op.accountId = (0, index_1.encodeTokenAccountId)(id, token);
|
|
103
|
+
opsTokens.push(op);
|
|
104
|
+
if (op.type === constants_1.DIRECTION.OUT) {
|
|
105
|
+
ops.push({
|
|
106
|
+
...op,
|
|
107
|
+
accountId: (0, index_1.decodeTokenAccountId)(op.accountId).accountId,
|
|
108
|
+
value: op.fee,
|
|
109
|
+
type: "FEES",
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
88
115
|
}
|
|
89
116
|
});
|
|
90
|
-
return ops;
|
|
117
|
+
return [ops, opsTokens];
|
|
91
118
|
};
|
|
92
119
|
exports.txsToOps = txsToOps;
|
|
93
120
|
function compareAddress(addressA, addressB) {
|
|
@@ -105,7 +132,7 @@ function getFunctionAddress(payload) {
|
|
|
105
132
|
exports.getFunctionAddress = getFunctionAddress;
|
|
106
133
|
function processRecipients(payload, address, op, function_address) {
|
|
107
134
|
// get recipients buy 3 groups
|
|
108
|
-
if ((constants_1.
|
|
135
|
+
if ((constants_1.COIN_TRANSFER_TYPES.includes(payload.function) ||
|
|
109
136
|
constants_1.DELEGATION_POOL_TYPES.includes(payload.function)) &&
|
|
110
137
|
payload.functionArguments &&
|
|
111
138
|
payload.functionArguments.length > 0 &&
|
|
@@ -113,6 +140,14 @@ function processRecipients(payload, address, op, function_address) {
|
|
|
113
140
|
// 1. Transfer like functions (includes some delegation pool functions)
|
|
114
141
|
op.recipients.push(payload.functionArguments[0].toString());
|
|
115
142
|
}
|
|
143
|
+
else if (constants_1.FA_TRANSFER_TYPES.includes(payload.function) &&
|
|
144
|
+
payload.functionArguments &&
|
|
145
|
+
payload.functionArguments.length > 1 &&
|
|
146
|
+
typeof payload.functionArguments[0] === "object" &&
|
|
147
|
+
typeof payload.functionArguments[1] === "string") {
|
|
148
|
+
// 1. Transfer like functions (includes some delegation pool functions)
|
|
149
|
+
op.recipients.push(payload.functionArguments[1].toString());
|
|
150
|
+
}
|
|
116
151
|
else if (constants_1.BATCH_TRANSFER_TYPES.includes(payload.function) &&
|
|
117
152
|
payload.functionArguments &&
|
|
118
153
|
payload.functionArguments.length > 0 &&
|
|
@@ -132,66 +167,129 @@ function processRecipients(payload, address, op, function_address) {
|
|
|
132
167
|
}
|
|
133
168
|
}
|
|
134
169
|
exports.processRecipients = processRecipients;
|
|
135
|
-
function
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
function isChangeOfAptos(writeSetChange, event, event_name) {
|
|
141
|
-
// to validate the event is related to Aptos Tokens we need to find change of type "write_resource"
|
|
142
|
-
// with the same guid as event
|
|
143
|
-
if (writeSetChange.type !== constants_1.WRITE_RESOURCE) {
|
|
144
|
-
return false;
|
|
170
|
+
function getEventCoinAddress(change, event, event_name) {
|
|
171
|
+
const change_data = change.data;
|
|
172
|
+
const mr = change_data; // -> this is data that we want to parse
|
|
173
|
+
if (!(event_name in mr.data)) {
|
|
174
|
+
return null;
|
|
145
175
|
}
|
|
146
|
-
|
|
147
|
-
|
|
176
|
+
const change_event_data = mr.data[event_name];
|
|
177
|
+
if (change_event_data.guid.id.addr !== event.guid.account_address ||
|
|
178
|
+
change_event_data.guid.id.creation_num !== event.guid.creation_number) {
|
|
179
|
+
return null;
|
|
148
180
|
}
|
|
149
|
-
const
|
|
150
|
-
|
|
151
|
-
|
|
181
|
+
const address = extractAddress(mr.type);
|
|
182
|
+
return address;
|
|
183
|
+
}
|
|
184
|
+
exports.getEventCoinAddress = getEventCoinAddress;
|
|
185
|
+
function getEventFAAddress(change, event, _event_name) {
|
|
186
|
+
const change_data = change.data;
|
|
187
|
+
if (change_data.type !== constants_1.APTOS_FUNGIBLE_STORE) {
|
|
188
|
+
return null;
|
|
152
189
|
}
|
|
153
190
|
const mr = change_data;
|
|
154
|
-
if (
|
|
155
|
-
return
|
|
191
|
+
if (change.address !== event.data.store) {
|
|
192
|
+
return null;
|
|
156
193
|
}
|
|
157
|
-
|
|
158
|
-
return (change_event_data.guid.id.addr === event.guid.account_address &&
|
|
159
|
-
change_event_data.guid.id.creation_num === event.guid.creation_number);
|
|
194
|
+
return mr.data.metadata.inner;
|
|
160
195
|
}
|
|
161
|
-
exports.
|
|
162
|
-
function
|
|
163
|
-
|
|
164
|
-
|
|
196
|
+
exports.getEventFAAddress = getEventFAAddress;
|
|
197
|
+
function getResourceAddress(tx, event, event_name, getAddressProcessor) {
|
|
198
|
+
for (const change of tx.changes) {
|
|
199
|
+
if (isWriteSetChangeWriteResource(change)) {
|
|
200
|
+
const address = getAddressProcessor(change, event, event_name);
|
|
201
|
+
if (address !== null) {
|
|
202
|
+
return address;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
exports.getResourceAddress = getResourceAddress;
|
|
209
|
+
function isWriteSetChangeWriteResource(change) {
|
|
210
|
+
return change.data !== undefined;
|
|
211
|
+
}
|
|
212
|
+
function checkFAOwner(tx, event, user_address) {
|
|
213
|
+
for (const change of tx.changes) {
|
|
214
|
+
if (isWriteSetChangeWriteResource(change)) {
|
|
215
|
+
const storeData = change.data;
|
|
216
|
+
if (change.address == event.data.store &&
|
|
217
|
+
storeData.type == constants_1.APTOS_OBJECT_CORE &&
|
|
218
|
+
storeData.data.owner == user_address) {
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
exports.checkFAOwner = checkFAOwner;
|
|
226
|
+
function getCoinAndAmounts(tx, address) {
|
|
227
|
+
let coin_id = null;
|
|
228
|
+
let amount_in = (0, bignumber_js_1.default)(0);
|
|
229
|
+
let amount_out = (0, bignumber_js_1.default)(0);
|
|
165
230
|
// collect all events related to the address and calculate the overall amounts
|
|
166
231
|
tx.events.forEach(event => {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
232
|
+
switch (event.type) {
|
|
233
|
+
case "0x1::coin::WithdrawEvent":
|
|
234
|
+
if (compareAddress(event.guid.account_address, address)) {
|
|
235
|
+
coin_id = getResourceAddress(tx, event, "withdraw_events", getEventCoinAddress);
|
|
236
|
+
amount_out = amount_out.plus(event.data.amount);
|
|
237
|
+
}
|
|
238
|
+
break;
|
|
239
|
+
case "0x1::coin::DepositEvent":
|
|
240
|
+
if (compareAddress(event.guid.account_address, address)) {
|
|
241
|
+
coin_id = getResourceAddress(tx, event, "deposit_events", getEventCoinAddress);
|
|
242
|
+
amount_in = amount_in.plus(event.data.amount);
|
|
243
|
+
}
|
|
244
|
+
break;
|
|
245
|
+
case "0x1::fungible_asset::Withdraw":
|
|
246
|
+
if (checkFAOwner(tx, event, address)) {
|
|
247
|
+
coin_id = getResourceAddress(tx, event, "withdraw_events", getEventFAAddress);
|
|
248
|
+
amount_out = amount_out.plus(event.data.amount);
|
|
249
|
+
}
|
|
250
|
+
break;
|
|
251
|
+
case "0x1::fungible_asset::Deposit":
|
|
252
|
+
if (checkFAOwner(tx, event, address)) {
|
|
253
|
+
coin_id = getResourceAddress(tx, event, "deposit_events", getEventFAAddress);
|
|
254
|
+
amount_in = amount_in.plus(event.data.amount);
|
|
255
|
+
}
|
|
256
|
+
break;
|
|
257
|
+
case "0x1::transaction_fee::FeeStatement":
|
|
258
|
+
if (tx.sender === address) {
|
|
259
|
+
if (coin_id === null)
|
|
260
|
+
coin_id = constants_1.APTOS_ASSET_ID;
|
|
261
|
+
if (coin_id === constants_1.APTOS_ASSET_ID) {
|
|
262
|
+
const fees = (0, bignumber_js_1.default)(tx.gas_unit_price).times((0, bignumber_js_1.default)(tx.gas_used));
|
|
263
|
+
amount_out = amount_out.plus(fees);
|
|
177
264
|
}
|
|
178
|
-
|
|
179
|
-
|
|
265
|
+
}
|
|
266
|
+
break;
|
|
180
267
|
}
|
|
181
268
|
});
|
|
182
|
-
return { amount_in, amount_out };
|
|
269
|
+
return { coin_id, amount_in, amount_out }; // TODO: manage situation when there are several coinID from the events parsing
|
|
183
270
|
}
|
|
184
|
-
exports.
|
|
185
|
-
function calculateAmount(sender, address,
|
|
271
|
+
exports.getCoinAndAmounts = getCoinAndAmounts;
|
|
272
|
+
function calculateAmount(sender, address, amount_in, amount_out) {
|
|
186
273
|
const is_sender = compareAddress(sender, address);
|
|
187
|
-
// Include fees if our address is the sender
|
|
188
|
-
if (is_sender) {
|
|
189
|
-
amount_out = amount_out.plus(fee);
|
|
190
|
-
}
|
|
191
274
|
// LL negates the amount for SEND transactions
|
|
192
275
|
// to show positive amount on the send transaction (ex: in "cancel" tx, when amount will be returned to our account)
|
|
193
276
|
// we need to make it negative
|
|
194
277
|
return is_sender ? amount_out.minus(amount_in) : amount_in.minus(amount_out);
|
|
195
278
|
}
|
|
196
279
|
exports.calculateAmount = calculateAmount;
|
|
280
|
+
/**
|
|
281
|
+
* Extracts the address from a string like "0x1::coin::CoinStore<address::module::type>"
|
|
282
|
+
* @param {string} str - The input string containing the address.
|
|
283
|
+
* @returns {string | null} - The extracted address or null if not found.
|
|
284
|
+
*/
|
|
285
|
+
function extractAddress(str) {
|
|
286
|
+
const match = str.match(/<([^<>]+)>{1}$/);
|
|
287
|
+
return match ? match[1] : null;
|
|
288
|
+
}
|
|
289
|
+
function getTokenAccount(account, transaction) {
|
|
290
|
+
const tokenAccount = (0, index_1.findSubAccountById)(account, transaction.subAccountId ?? "");
|
|
291
|
+
const fromTokenAccount = tokenAccount && (0, index_1.isTokenAccount)(tokenAccount);
|
|
292
|
+
return fromTokenAccount ? tokenAccount : undefined;
|
|
293
|
+
}
|
|
294
|
+
exports.getTokenAccount = getTokenAccount;
|
|
197
295
|
//# sourceMappingURL=logic.js.map
|
package/lib/bridge/logic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic.js","sourceRoot":"","sources":["../../src/bridge/logic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logic.js","sourceRoot":"","sources":["../../src/bridge/logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,QAAA,MAAM,kBAAkB,YACb,OAAO,eACH,WAAW,KACvB,QAAQ,WAAW,CA2CrB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -22,12 +22,12 @@ const prepareTransaction = async (account, transaction) => {
|
|
|
22
22
|
const aptosClient = new api_1.AptosAPI(account.currency.id);
|
|
23
23
|
if (transaction.useAllAmount) {
|
|
24
24
|
// we will use this amount in simulation, to estimate gas
|
|
25
|
-
transaction.amount = (0, logic_1.getMaxSendBalance)(
|
|
25
|
+
transaction.amount = (0, logic_1.getMaxSendBalance)(new bignumber_js_1.default(logic_1.DEFAULT_GAS), new bignumber_js_1.default(logic_1.DEFAULT_GAS_PRICE), account, transaction);
|
|
26
26
|
}
|
|
27
27
|
const { fees, estimate, errors } = await (0, getFeesForTransaction_1.getEstimatedGas)(account, transaction, aptosClient);
|
|
28
28
|
if (transaction.useAllAmount) {
|
|
29
29
|
// correct the transaction amount according to estimated fees
|
|
30
|
-
transaction.amount = (0, logic_1.getMaxSendBalance)(
|
|
30
|
+
transaction.amount = (0, logic_1.getMaxSendBalance)((0, bignumber_js_1.default)(estimate.maxGasAmount), (0, bignumber_js_1.default)(estimate.gasUnitPrice), account, transaction);
|
|
31
31
|
}
|
|
32
32
|
transaction.fees = fees;
|
|
33
33
|
transaction.options = estimate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;;;AACA,gEAAqC;
|
|
1
|
+
{"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;;;AACA,gEAAqC;AACrC,gCAAkC;AAClC,mEAA0D;AAE1D,mCAA4E;AAE5E,MAAM,kBAAkB,GAAG,KAAK,EAC9B,OAAgB,EAChB,WAAwB,EACF,EAAE;IACxB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,iFAAiF;IACjF,gGAAgG;IAChG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7D,OAAO;YACL,GAAG,WAAW;YACd,IAAI,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,cAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEtD,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,yDAAyD;QACzD,WAAW,CAAC,MAAM,GAAG,IAAA,yBAAiB,EACpC,IAAI,sBAAS,CAAC,mBAAW,CAAC,EAC1B,IAAI,sBAAS,CAAC,yBAAiB,CAAC,EAChC,OAAO,EACP,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,uCAAe,EAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAE5F,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,6DAA6D;QAC7D,WAAW,CAAC,MAAM,GAAG,IAAA,yBAAiB,EACpC,IAAA,sBAAS,EAAC,QAAQ,CAAC,YAAY,CAAC,EAChC,IAAA,sBAAS,EAAC,QAAQ,CAAC,YAAY,CAAC,EAChC,OAAO,EACP,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC/B,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;IAE5B,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK1D,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAA4B,MAAM,sBAAsB,CAAC;AAG7F,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK1D,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAA4B,MAAM,sBAAsB,CAAC;AAG7F,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,eAAO,MAAM,UAAU,MAAO,OAAO;;;CAGnC,CAAC;AAEH,QAAA,MAAM,kBAAkB,kBAEL,cAAc,WAAW,CAAC,KACxC,cAAc,WAAW,EAAE,YAAY,CAAC,CAAC,eAAe,CA0EvD,CAAC;AAEP,eAAe,kBAAkB,CAAC"}
|
|
@@ -10,6 +10,7 @@ const buildTransaction_1 = __importDefault(require("./buildTransaction"));
|
|
|
10
10
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
11
11
|
const api_1 = require("../api");
|
|
12
12
|
const network_1 = require("../network");
|
|
13
|
+
const helpers_1 = require("@ledgerhq/coin-framework/account/helpers");
|
|
13
14
|
const getAddress = (a) => ({
|
|
14
15
|
address: a.freshAddress,
|
|
15
16
|
derivationPath: a.freshAddressPath,
|
|
@@ -34,14 +35,13 @@ const buildSignOperation = (signerContext) => ({ account, transaction, deviceId
|
|
|
34
35
|
senders.push(account.freshAddress);
|
|
35
36
|
recipients.push(transaction.recipient);
|
|
36
37
|
}
|
|
38
|
+
const subAccount = !!transaction.subAccountId && (0, helpers_1.findSubAccountById)(account, transaction.subAccountId);
|
|
37
39
|
// build optimistic operation
|
|
38
40
|
const operation = {
|
|
39
41
|
id: (0, operation_1.encodeOperationId)(accountId, hash, type),
|
|
40
42
|
hash,
|
|
41
43
|
type,
|
|
42
|
-
value: transaction.
|
|
43
|
-
? account.balance.minus(fee)
|
|
44
|
-
: transaction.amount.plus(fee),
|
|
44
|
+
value: subAccount ? fee : transaction.amount.plus(fee),
|
|
45
45
|
fee,
|
|
46
46
|
extra,
|
|
47
47
|
blockHash: null,
|
|
@@ -51,6 +51,20 @@ const buildSignOperation = (signerContext) => ({ account, transaction, deviceId
|
|
|
51
51
|
accountId,
|
|
52
52
|
date: new Date(),
|
|
53
53
|
transactionSequenceNumber: Number(rawTx.sequence_number),
|
|
54
|
+
subOperations: subAccount
|
|
55
|
+
? [
|
|
56
|
+
{
|
|
57
|
+
id: (0, operation_1.encodeOperationId)(subAccount.id, "", "OUT"),
|
|
58
|
+
type: "OUT",
|
|
59
|
+
accountId: transaction.subAccountId,
|
|
60
|
+
senders: [account.freshAddress],
|
|
61
|
+
recipients: [transaction.recipient],
|
|
62
|
+
value: transaction.amount,
|
|
63
|
+
fee,
|
|
64
|
+
date: new Date(),
|
|
65
|
+
},
|
|
66
|
+
]
|
|
67
|
+
: [],
|
|
54
68
|
};
|
|
55
69
|
o.next({
|
|
56
70
|
type: "signed",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":";;;;;;AACA,+BAAkC;AAClC,kEAAuE;AACvE,0EAAkD;AAClD,gEAAqC;AAErC,gCAAkC;AAIlC,wCAA6C;
|
|
1
|
+
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,18 @@
|
|
|
1
1
|
import type { GetAccountShape } from "@ledgerhq/coin-framework/bridge/jsHelpers";
|
|
2
|
+
import { Account, Operation, TokenAccount } from "@ledgerhq/types-live";
|
|
3
|
+
import { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
|
|
4
|
+
import { AccountShapeInfo } from "@ledgerhq/coin-framework/bridge/jsHelpers";
|
|
5
|
+
/**
|
|
6
|
+
* In charge of smartly merging sub accounts while maintaining references as much as possible
|
|
7
|
+
*/
|
|
8
|
+
export declare const mergeSubAccounts: (initialAccount: Account | undefined, newSubAccounts: TokenAccount[]) => Array<TokenAccount>;
|
|
9
|
+
/**
|
|
10
|
+
* Fetch the balance for a token and creates a TokenAccount based on this and the provided operations
|
|
11
|
+
*/
|
|
12
|
+
export declare const getSubAccountShape: (currency: CryptoCurrency, address: string, parentId: string, token: TokenCurrency, operations: Operation[]) => Promise<TokenAccount>;
|
|
13
|
+
/**
|
|
14
|
+
* Getting all token related operations in order to provide TokenAccounts
|
|
15
|
+
*/
|
|
16
|
+
export declare const getSubAccounts: (infos: AccountShapeInfo<Account>, address: string, accountId: string, lastTokenOperations: Operation[]) => Promise<TokenAccount[]>;
|
|
2
17
|
export declare const getAccountShape: GetAccountShape;
|
|
3
18
|
//# sourceMappingURL=synchronisation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronisation.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"synchronisation.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAKjF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAM7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAY7E;;GAEG;AACH,eAAO,MAAM,gBAAgB,mBACX,OAAO,GAAG,SAAS,kBACnB,YAAY,EAAE,KAC7B,MAAM,YAAY,CAwDpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,aACnB,cAAc,WACf,MAAM,YACL,MAAM,SACT,aAAa,cACR,SAAS,EAAE,KACtB,QAAQ,YAAY,CAsBtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,UAClB,iBAAiB,OAAO,CAAC,WACvB,MAAM,aACJ,MAAM,uBACI,SAAS,EAAE,KAC/B,QAAQ,YAAY,EAAE,CAyBxB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eA0D7B,CAAC"}
|