@ledgerhq/coin-aptos 2.5.1 → 2.5.2-nightly.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/.unimportedrc.json +5 -8
- package/CHANGELOG.md +18 -0
- package/lib/__tests__/bridge/deviceTransactionConfig.test.js +115 -30
- package/lib/__tests__/bridge/deviceTransactionConfig.test.js.map +1 -1
- package/lib/__tests__/bridge/getFeesForTransaction.test.js +10 -10
- package/lib/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/getTransactionStatus.test.js +193 -2
- package/lib/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib/__tests__/bridge/index.test.js +4 -1
- package/lib/__tests__/bridge/index.test.js.map +1 -1
- package/lib/__tests__/bridge/logic.test.js +9 -9
- package/lib/__tests__/bridge/logic.test.js.map +1 -1
- package/lib/__tests__/bridge/prepareTransaction.test.js +1 -0
- package/lib/__tests__/bridge/prepareTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/serialization.d.ts +2 -0
- package/lib/__tests__/bridge/serialization.d.ts.map +1 -0
- package/lib/__tests__/bridge/serialization.js +91 -0
- package/lib/__tests__/bridge/serialization.js.map +1 -0
- package/lib/__tests__/bridge/synchronisation.test.js +763 -23
- package/lib/__tests__/bridge/synchronisation.test.js.map +1 -1
- package/lib/__tests__/logic/staking.test.d.ts +2 -0
- package/lib/__tests__/logic/staking.test.d.ts.map +1 -0
- package/lib/__tests__/logic/staking.test.js +202 -0
- package/lib/__tests__/logic/staking.test.js.map +1 -0
- package/lib/__tests__/network/client.test.js +3 -3
- package/lib/__tests__/network/validators.test.d.ts +2 -0
- package/lib/__tests__/network/validators.test.d.ts.map +1 -0
- package/lib/__tests__/network/validators.test.js +98 -0
- package/lib/__tests__/network/validators.test.js.map +1 -0
- package/lib/__tests__/utils/IconGenerator.test.d.ts +2 -0
- package/lib/__tests__/utils/IconGenerator.test.d.ts.map +1 -0
- package/lib/__tests__/utils/IconGenerator.test.js +14 -0
- package/lib/__tests__/utils/IconGenerator.test.js.map +1 -0
- package/lib/__tests__/utils/index.test.d.ts +2 -0
- package/lib/__tests__/utils/index.test.d.ts.map +1 -0
- package/lib/__tests__/utils/index.test.js +11 -0
- package/lib/__tests__/utils/index.test.js.map +1 -0
- package/lib/bridge/bridge.fixture.d.ts.map +1 -1
- package/lib/bridge/bridge.fixture.js +12 -0
- package/lib/bridge/bridge.fixture.js.map +1 -1
- package/lib/bridge/deviceTransactionConfig.d.ts +7 -8
- package/lib/bridge/deviceTransactionConfig.d.ts.map +1 -1
- package/lib/bridge/deviceTransactionConfig.js +83 -16
- package/lib/bridge/deviceTransactionConfig.js.map +1 -1
- package/lib/bridge/estimateMaxSpendable.d.ts +4 -4
- package/lib/bridge/estimateMaxSpendable.d.ts.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 +8 -4
- package/lib/bridge/getFeesForTransaction.js.map +1 -1
- package/lib/bridge/getTransactionStatus.d.ts +2 -3
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib/bridge/getTransactionStatus.js +139 -25
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/index.d.ts +3 -3
- package/lib/bridge/index.d.ts.map +1 -1
- package/lib/bridge/index.js +9 -2
- package/lib/bridge/index.js.map +1 -1
- package/lib/bridge/logic.d.ts +3 -3
- package/lib/bridge/logic.d.ts.map +1 -1
- package/lib/bridge/logic.js +23 -9
- package/lib/bridge/logic.js.map +1 -1
- package/lib/bridge/prepareTransaction.d.ts +2 -3
- package/lib/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/prepareTransaction.js +46 -10
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/serialization.d.ts +7 -0
- package/lib/bridge/serialization.d.ts.map +1 -0
- package/lib/bridge/serialization.js +51 -0
- package/lib/bridge/serialization.js.map +1 -0
- package/lib/bridge/signOperation.d.ts.map +1 -1
- package/lib/bridge/signOperation.js +17 -5
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/synchronisation.d.ts +6 -4
- package/lib/bridge/synchronisation.d.ts.map +1 -1
- package/lib/bridge/synchronisation.js +51 -4
- package/lib/bridge/synchronisation.js.map +1 -1
- package/lib/constants.d.ts +25 -1
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +54 -8
- package/lib/constants.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -15
- package/lib/index.js.map +1 -1
- package/lib/logic/buildTransaction.d.ts.map +1 -1
- package/lib/logic/buildTransaction.js +42 -19
- package/lib/logic/buildTransaction.js.map +1 -1
- package/lib/logic/getCoinAndAmounts.d.ts +2 -0
- package/lib/logic/getCoinAndAmounts.d.ts.map +1 -1
- package/lib/logic/getCoinAndAmounts.js +65 -38
- package/lib/logic/getCoinAndAmounts.js.map +1 -1
- package/lib/logic/staking.d.ts +12 -0
- package/lib/logic/staking.d.ts.map +1 -0
- package/lib/logic/staking.js +81 -0
- package/lib/logic/staking.js.map +1 -0
- package/lib/logic/transactionsToOperations.js +3 -3
- package/lib/logic/transactionsToOperations.js.map +1 -1
- package/lib/network/client.d.ts +4 -1
- package/lib/network/client.d.ts.map +1 -1
- package/lib/network/client.js +32 -1
- package/lib/network/client.js.map +1 -1
- package/lib/network/graphql/queries.d.ts +2 -0
- package/lib/network/graphql/queries.d.ts.map +1 -1
- package/lib/network/graphql/queries.js +42 -2
- package/lib/network/graphql/queries.js.map +1 -1
- package/lib/network/graphql/types.d.ts +57 -6
- package/lib/network/graphql/types.d.ts.map +1 -1
- package/lib/network/index.d.ts.map +1 -1
- package/lib/network/index.js.map +1 -1
- package/lib/network/validators.d.ts +3 -0
- package/lib/network/validators.d.ts.map +1 -0
- package/lib/network/validators.js +42 -0
- package/lib/network/validators.js.map +1 -0
- package/lib/preload-data.d.ts +7 -0
- package/lib/preload-data.d.ts.map +1 -0
- package/lib/preload-data.js +42 -0
- package/lib/preload-data.js.map +1 -0
- package/lib/preload.d.ts +6 -0
- package/lib/preload.d.ts.map +1 -0
- package/lib/preload.js +21 -0
- package/lib/preload.js.map +1 -0
- package/lib/test/bridgeDatasetTest.d.ts.map +1 -1
- package/lib/test/bridgeDatasetTest.js +1 -0
- package/lib/test/bridgeDatasetTest.js.map +1 -1
- package/lib/types/index.d.ts +92 -8
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js.map +1 -1
- package/lib/utils/IconGenerator.d.ts +12 -0
- package/lib/utils/IconGenerator.d.ts.map +1 -0
- package/lib/utils/IconGenerator.js +138 -0
- package/lib/utils/IconGenerator.js.map +1 -0
- package/lib/utils/index.d.ts +3 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +31 -0
- package/lib/utils/index.js.map +1 -0
- package/lib-es/__tests__/bridge/deviceTransactionConfig.test.js +113 -8
- package/lib-es/__tests__/bridge/deviceTransactionConfig.test.js.map +1 -1
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js +10 -10
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js +194 -3
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib-es/__tests__/bridge/index.test.js +4 -1
- package/lib-es/__tests__/bridge/index.test.js.map +1 -1
- package/lib-es/__tests__/bridge/logic.test.js +10 -10
- package/lib-es/__tests__/bridge/logic.test.js.map +1 -1
- package/lib-es/__tests__/bridge/prepareTransaction.test.js +1 -0
- package/lib-es/__tests__/bridge/prepareTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/serialization.d.ts +2 -0
- package/lib-es/__tests__/bridge/serialization.d.ts.map +1 -0
- package/lib-es/__tests__/bridge/serialization.js +86 -0
- package/lib-es/__tests__/bridge/serialization.js.map +1 -0
- package/lib-es/__tests__/bridge/synchronisation.test.js +763 -23
- package/lib-es/__tests__/bridge/synchronisation.test.js.map +1 -1
- package/lib-es/__tests__/logic/staking.test.d.ts +2 -0
- package/lib-es/__tests__/logic/staking.test.d.ts.map +1 -0
- package/lib-es/__tests__/logic/staking.test.js +197 -0
- package/lib-es/__tests__/logic/staking.test.js.map +1 -0
- package/lib-es/__tests__/network/client.test.js +3 -3
- package/lib-es/__tests__/network/validators.test.d.ts +2 -0
- package/lib-es/__tests__/network/validators.test.d.ts.map +1 -0
- package/lib-es/__tests__/network/validators.test.js +93 -0
- package/lib-es/__tests__/network/validators.test.js.map +1 -0
- package/lib-es/__tests__/utils/IconGenerator.test.d.ts +2 -0
- package/lib-es/__tests__/utils/IconGenerator.test.d.ts.map +1 -0
- package/lib-es/__tests__/utils/IconGenerator.test.js +12 -0
- package/lib-es/__tests__/utils/IconGenerator.test.js.map +1 -0
- package/lib-es/__tests__/utils/index.test.d.ts +2 -0
- package/lib-es/__tests__/utils/index.test.d.ts.map +1 -0
- package/lib-es/__tests__/utils/index.test.js +9 -0
- package/lib-es/__tests__/utils/index.test.js.map +1 -0
- package/lib-es/bridge/bridge.fixture.d.ts.map +1 -1
- package/lib-es/bridge/bridge.fixture.js +12 -0
- package/lib-es/bridge/bridge.fixture.js.map +1 -1
- package/lib-es/bridge/deviceTransactionConfig.d.ts +7 -8
- package/lib-es/bridge/deviceTransactionConfig.d.ts.map +1 -1
- package/lib-es/bridge/deviceTransactionConfig.js +83 -14
- package/lib-es/bridge/deviceTransactionConfig.js.map +1 -1
- package/lib-es/bridge/estimateMaxSpendable.d.ts +4 -4
- package/lib-es/bridge/estimateMaxSpendable.d.ts.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 +9 -5
- package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.d.ts +2 -3
- package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +140 -26
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/index.d.ts +3 -3
- package/lib-es/bridge/index.d.ts.map +1 -1
- package/lib-es/bridge/index.js +9 -2
- package/lib-es/bridge/index.js.map +1 -1
- package/lib-es/bridge/logic.d.ts +3 -3
- package/lib-es/bridge/logic.d.ts.map +1 -1
- package/lib-es/bridge/logic.js +23 -9
- package/lib-es/bridge/logic.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.d.ts +2 -3
- package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +46 -10
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/serialization.d.ts +7 -0
- package/lib-es/bridge/serialization.d.ts.map +1 -0
- package/lib-es/bridge/serialization.js +41 -0
- package/lib-es/bridge/serialization.js.map +1 -0
- package/lib-es/bridge/signOperation.d.ts.map +1 -1
- package/lib-es/bridge/signOperation.js +17 -5
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/synchronisation.d.ts +6 -4
- package/lib-es/bridge/synchronisation.d.ts.map +1 -1
- package/lib-es/bridge/synchronisation.js +49 -3
- package/lib-es/bridge/synchronisation.js.map +1 -1
- package/lib-es/constants.d.ts +25 -1
- package/lib-es/constants.d.ts.map +1 -1
- package/lib-es/constants.js +53 -7
- package/lib-es/constants.js.map +1 -1
- package/lib-es/index.d.ts +0 -1
- package/lib-es/index.d.ts.map +1 -1
- package/lib-es/index.js +0 -1
- package/lib-es/index.js.map +1 -1
- package/lib-es/logic/buildTransaction.d.ts.map +1 -1
- package/lib-es/logic/buildTransaction.js +42 -19
- package/lib-es/logic/buildTransaction.js.map +1 -1
- package/lib-es/logic/getCoinAndAmounts.d.ts +2 -0
- package/lib-es/logic/getCoinAndAmounts.d.ts.map +1 -1
- package/lib-es/logic/getCoinAndAmounts.js +66 -39
- package/lib-es/logic/getCoinAndAmounts.js.map +1 -1
- package/lib-es/logic/staking.d.ts +12 -0
- package/lib-es/logic/staking.d.ts.map +1 -0
- package/lib-es/logic/staking.js +67 -0
- package/lib-es/logic/staking.js.map +1 -0
- package/lib-es/logic/transactionsToOperations.js +4 -4
- package/lib-es/logic/transactionsToOperations.js.map +1 -1
- package/lib-es/network/client.d.ts +4 -1
- package/lib-es/network/client.d.ts.map +1 -1
- package/lib-es/network/client.js +32 -1
- package/lib-es/network/client.js.map +1 -1
- package/lib-es/network/graphql/queries.d.ts +2 -0
- package/lib-es/network/graphql/queries.d.ts.map +1 -1
- package/lib-es/network/graphql/queries.js +41 -1
- package/lib-es/network/graphql/queries.js.map +1 -1
- package/lib-es/network/graphql/types.d.ts +57 -6
- package/lib-es/network/graphql/types.d.ts.map +1 -1
- package/lib-es/network/index.d.ts.map +1 -1
- package/lib-es/network/index.js.map +1 -1
- package/lib-es/network/validators.d.ts +3 -0
- package/lib-es/network/validators.d.ts.map +1 -0
- package/lib-es/network/validators.js +35 -0
- package/lib-es/network/validators.js.map +1 -0
- package/lib-es/preload-data.d.ts +7 -0
- package/lib-es/preload-data.d.ts.map +1 -0
- package/lib-es/preload-data.js +36 -0
- package/lib-es/preload-data.js.map +1 -0
- package/lib-es/preload.d.ts +6 -0
- package/lib-es/preload.d.ts.map +1 -0
- package/lib-es/preload.js +16 -0
- package/lib-es/preload.js.map +1 -0
- package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -1
- package/lib-es/test/bridgeDatasetTest.js +1 -0
- package/lib-es/test/bridgeDatasetTest.js.map +1 -1
- package/lib-es/types/index.d.ts +92 -8
- package/lib-es/types/index.d.ts.map +1 -1
- package/lib-es/types/index.js.map +1 -1
- package/lib-es/utils/IconGenerator.d.ts +12 -0
- package/lib-es/utils/IconGenerator.d.ts.map +1 -0
- package/lib-es/utils/IconGenerator.js +134 -0
- package/lib-es/utils/IconGenerator.js.map +1 -0
- package/lib-es/utils/index.d.ts +3 -0
- package/lib-es/utils/index.d.ts.map +1 -0
- package/lib-es/utils/index.js +13 -0
- package/lib-es/utils/index.js.map +1 -0
- package/package.json +14 -9
- package/src/__tests__/bridge/deviceTransactionConfig.test.ts +120 -8
- package/src/__tests__/bridge/getFeesForTransaction.test.ts +10 -10
- package/src/__tests__/bridge/getTransactionStatus.test.ts +247 -3
- package/src/__tests__/bridge/index.test.ts +5 -1
- package/src/__tests__/bridge/logic.test.ts +10 -10
- package/src/__tests__/bridge/prepareTransaction.test.ts +4 -4
- package/src/__tests__/bridge/serialization.ts +103 -0
- package/src/__tests__/bridge/synchronisation.test.ts +798 -32
- package/src/__tests__/logic/staking.test.ts +221 -0
- package/src/__tests__/network/client.test.ts +3 -3
- package/src/__tests__/network/validators.test.ts +105 -0
- package/src/__tests__/utils/IconGenerator.test.ts +13 -0
- package/src/__tests__/utils/index.test.ts +11 -0
- package/src/bridge/bridge.fixture.ts +12 -0
- package/src/bridge/deviceTransactionConfig.ts +90 -21
- package/src/bridge/estimateMaxSpendable.ts +5 -5
- package/src/bridge/getFeesForTransaction.ts +17 -5
- package/src/bridge/getTransactionStatus.ts +208 -32
- package/src/bridge/index.ts +14 -5
- package/src/bridge/logic.ts +28 -12
- package/src/bridge/prepareTransaction.ts +72 -24
- package/src/bridge/serialization.ts +52 -0
- package/src/bridge/signOperation.ts +20 -7
- package/src/bridge/synchronisation.ts +69 -12
- package/src/constants.ts +64 -2
- package/src/index.ts +0 -2
- package/src/logic/buildTransaction.ts +49 -24
- package/src/logic/getCoinAndAmounts.ts +91 -41
- package/src/logic/staking.ts +105 -0
- package/src/logic/transactionsToOperations.ts +5 -5
- package/src/network/client.ts +44 -4
- package/src/network/graphql/queries.ts +46 -1
- package/src/network/graphql/types.ts +63 -6
- package/src/network/index.ts +1 -0
- package/src/network/validators.ts +48 -0
- package/src/preload-data.ts +43 -0
- package/src/preload.ts +23 -0
- package/src/test/bridgeDatasetTest.ts +1 -0
- package/src/types/index.ts +106 -8
- package/src/utils/IconGenerator.ts +166 -0
- package/src/utils/index.ts +16 -0
package/lib-es/constants.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import BigNumber from "bignumber.js";
|
|
2
|
-
export const ESTIMATE_GAS_MUL = new BigNumber(1.
|
|
2
|
+
export const ESTIMATE_GAS_MUL = new BigNumber(1.1); // define buffer for gas estimation change here, if needed
|
|
3
|
+
export const ESTIMATE_GAS_MUL_FOR_STAKING = new BigNumber(3); // gas multiplier for staking operations
|
|
3
4
|
export const LOAD_LIMIT = 10;
|
|
4
5
|
export var TX_STATUS;
|
|
5
6
|
(function (TX_STATUS) {
|
|
@@ -8,6 +9,9 @@ export var TX_STATUS;
|
|
|
8
9
|
TX_STATUS["SUCCESS"] = "success";
|
|
9
10
|
})(TX_STATUS || (TX_STATUS = {}));
|
|
10
11
|
export const WRITE_RESOURCE = "write_resource";
|
|
12
|
+
export const APTOS_NON_HARDENED_DERIVATION_PATH_REGEX = /^44'\/637'\/[0-9]+'\/[0-9]+\/[0-9]+$/;
|
|
13
|
+
export const APTOS_NON_HARDENED_DERIVATION_PATH = "44'/637'/0'/0/0";
|
|
14
|
+
export const APTOS_HARDENED_DERIVATION_PATH = "44'/637'/0'/0'/0'";
|
|
11
15
|
export const COIN_TRANSFER_TYPES = [
|
|
12
16
|
"0x1::aptos_account::transfer",
|
|
13
17
|
"0x1::aptos_account::transfer_coins",
|
|
@@ -20,18 +24,60 @@ export const BATCH_TRANSFER_TYPES = [
|
|
|
20
24
|
];
|
|
21
25
|
export const DELEGATION_POOL_TYPES = [
|
|
22
26
|
"0x1::delegation_pool::add_stake",
|
|
27
|
+
"0x1::delegation_pool::reactivate_stake",
|
|
28
|
+
"0x1::delegation_pool::unlock",
|
|
23
29
|
"0x1::delegation_pool::withdraw",
|
|
24
30
|
];
|
|
31
|
+
export const ADD_STAKE_EVENTS = [
|
|
32
|
+
"0x1::stake::AddStake",
|
|
33
|
+
"0x1::stake::AddStakeEvent",
|
|
34
|
+
"0x1::delegation_pool::AddStake",
|
|
35
|
+
"0x1::delegation_pool::AddStakeEvent",
|
|
36
|
+
];
|
|
37
|
+
export const REACTIVATE_STAKE_EVENTS = [
|
|
38
|
+
"0x1::stake::ReactivateStake",
|
|
39
|
+
"0x1::stake::ReactivateStakeEvent",
|
|
40
|
+
"0x1::delegation_pool::ReactivateStake",
|
|
41
|
+
"0x1::delegation_pool::ReactivateStakeEvent",
|
|
42
|
+
];
|
|
43
|
+
export const UNLOCK_STAKE_EVENTS = [
|
|
44
|
+
"0x1::stake::UnlockStake",
|
|
45
|
+
"0x1::stake::UnlockStakeEvent",
|
|
46
|
+
"0x1::delegation_pool::UnlockStake",
|
|
47
|
+
"0x1::delegation_pool::UnlockStakeEvent",
|
|
48
|
+
];
|
|
49
|
+
export const WITHDRAW_STAKE_EVENTS = [
|
|
50
|
+
"0x1::stake::WithdrawStake",
|
|
51
|
+
"0x1::stake::WithdrawStakeEvent",
|
|
52
|
+
"0x1::delegation_pool::WithdrawStake",
|
|
53
|
+
"0x1::delegation_pool::WithdrawStakeEvent",
|
|
54
|
+
];
|
|
55
|
+
export const STAKING_EVENTS = ADD_STAKE_EVENTS.concat(REACTIVATE_STAKE_EVENTS, UNLOCK_STAKE_EVENTS, WITHDRAW_STAKE_EVENTS);
|
|
25
56
|
export const APTOS_ASSET_ID = "0x1::aptos_coin::AptosCoin";
|
|
26
57
|
export const APTOS_COIN_CHANGE = `0x1::coin::CoinStore<${APTOS_ASSET_ID}>`;
|
|
27
58
|
export const APTOS_FUNGIBLE_STORE = "0x1::fungible_asset::FungibleStore";
|
|
28
59
|
export const APTOS_OBJECT_CORE = "0x1::object::ObjectCore";
|
|
29
|
-
export var
|
|
30
|
-
(function (
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
60
|
+
export var OP_TYPE;
|
|
61
|
+
(function (OP_TYPE) {
|
|
62
|
+
OP_TYPE["IN"] = "IN";
|
|
63
|
+
OP_TYPE["OUT"] = "OUT";
|
|
64
|
+
OP_TYPE["STAKE"] = "STAKE";
|
|
65
|
+
OP_TYPE["UNSTAKE"] = "UNSTAKE";
|
|
66
|
+
OP_TYPE["WITHDRAW"] = "WITHDRAW";
|
|
67
|
+
OP_TYPE["UNKNOWN"] = "UNKNOWN";
|
|
68
|
+
})(OP_TYPE || (OP_TYPE = {}));
|
|
69
|
+
export const SUPPORTED_TOKEN_TYPES = ["coin", "fungible_asset"];
|
|
70
|
+
export const STAKING_TX_MODES = ["stake", "unstake", "restake", "withdraw"];
|
|
71
|
+
export const APTOS_PRECISION = 8;
|
|
72
|
+
export const APTOS_MINIMUM_RESTAKE = BigNumber(1);
|
|
73
|
+
export const APTOS_MINIMUM_RESTAKE_IN_OCTAS = APTOS_MINIMUM_RESTAKE.shiftedBy(APTOS_PRECISION);
|
|
74
|
+
export const APTOS_DELEGATION_RESERVE = BigNumber(0.05);
|
|
75
|
+
export const APTOS_DELEGATION_RESERVE_IN_OCTAS = APTOS_DELEGATION_RESERVE.shiftedBy(APTOS_PRECISION);
|
|
76
|
+
export const MIN_COINS_ON_SHARES_POOL = BigNumber(11);
|
|
77
|
+
export const MIN_COINS_ON_SHARES_POOL_IN_OCTAS = MIN_COINS_ON_SHARES_POOL.shiftedBy(APTOS_PRECISION);
|
|
78
|
+
export const MIN_AMOUNT_TO_UNSTAKE = BigNumber(10);
|
|
79
|
+
export const MIN_AMOUNT_TO_UNSTAKE_IN_OCTAS = MIN_AMOUNT_TO_UNSTAKE.shiftedBy(APTOS_PRECISION);
|
|
80
|
+
export const APTOS_EXPLORER_ACCOUNT_URL = "https://explorer.aptoslabs.com/account";
|
|
35
81
|
export var TOKEN_TYPE;
|
|
36
82
|
(function (TOKEN_TYPE) {
|
|
37
83
|
TOKEN_TYPE["COIN"] = "coin";
|
package/lib-es/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,0DAA0D;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/lib-es/index.d.ts
CHANGED
package/lib-es/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
package/lib-es/index.js
CHANGED
package/lib-es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/buildTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAkB,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"buildTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/buildTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAkB,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,QAAA,MAAM,gBAAgB,YACX,OAAO,eACH,WAAW,eACX,QAAQ,oBACH,MAAM,cACZ,UAAU,KACrB,QAAQ,cAAc,CAiBxB,CAAC;AA2DF,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,OAE3C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -6,34 +6,57 @@ const buildTransaction = async (account, transaction, aptosClient, contractAddre
|
|
|
6
6
|
const payloadContracAddress = subAccount ? subAccount.token.contractAddress : contractAddress;
|
|
7
7
|
const payloadTokenType = subAccount?.token?.tokenType ?? tokenType;
|
|
8
8
|
const txPayload = getPayload({
|
|
9
|
-
|
|
10
|
-
recipient: transaction.recipient,
|
|
11
|
-
contractAddress: payloadContracAddress,
|
|
9
|
+
transaction,
|
|
12
10
|
tokenType: payloadTokenType,
|
|
11
|
+
contractAddress: payloadContracAddress,
|
|
13
12
|
});
|
|
14
13
|
const txOptions = normalizeTransactionOptions(transaction.options);
|
|
15
14
|
const tx = await aptosClient.generateTransaction(account.freshAddress, txPayload, txOptions);
|
|
16
15
|
return tx;
|
|
17
16
|
};
|
|
18
|
-
const getPayload = (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
17
|
+
const getPayload = ({ transaction, tokenType, contractAddress, }) => {
|
|
18
|
+
const { amount, recipient, mode } = transaction;
|
|
19
|
+
switch (mode) {
|
|
20
|
+
case "stake":
|
|
21
|
+
return {
|
|
22
|
+
function: "0x1::delegation_pool::add_stake",
|
|
23
|
+
typeArguments: [],
|
|
24
|
+
functionArguments: [recipient, amount.toString()],
|
|
25
|
+
};
|
|
26
|
+
case "unstake":
|
|
27
|
+
return {
|
|
28
|
+
function: "0x1::delegation_pool::unlock",
|
|
29
|
+
typeArguments: [],
|
|
30
|
+
functionArguments: [recipient, amount.toString()],
|
|
31
|
+
};
|
|
32
|
+
case "restake":
|
|
33
|
+
return {
|
|
34
|
+
function: "0x1::delegation_pool::reactivate_stake",
|
|
35
|
+
typeArguments: [],
|
|
36
|
+
functionArguments: [recipient, amount.toString()],
|
|
37
|
+
};
|
|
38
|
+
case "withdraw":
|
|
39
|
+
return {
|
|
40
|
+
function: "0x1::delegation_pool::withdraw",
|
|
41
|
+
typeArguments: [],
|
|
42
|
+
functionArguments: [recipient, amount.toString()],
|
|
43
|
+
};
|
|
44
|
+
case "send":
|
|
45
|
+
if (tokenType !== undefined && !isTokenType(tokenType)) {
|
|
46
|
+
throw new Error(`Token type ${tokenType} not supported`);
|
|
47
|
+
}
|
|
48
|
+
if (tokenType === TOKEN_TYPE.FUNGIBLE_ASSET) {
|
|
49
|
+
return {
|
|
50
|
+
function: "0x1::primary_fungible_store::transfer",
|
|
51
|
+
typeArguments: ["0x1::fungible_asset::Metadata"],
|
|
52
|
+
functionArguments: [contractAddress, recipient, amount.toString()],
|
|
53
|
+
};
|
|
54
|
+
}
|
|
32
55
|
}
|
|
33
56
|
return {
|
|
34
57
|
function: "0x1::aptos_account::transfer_coins",
|
|
35
|
-
typeArguments: [
|
|
36
|
-
functionArguments: [
|
|
58
|
+
typeArguments: [contractAddress ?? APTOS_ASSET_ID],
|
|
59
|
+
functionArguments: [recipient, amount.toString()],
|
|
37
60
|
};
|
|
38
61
|
};
|
|
39
62
|
export const isTokenType = (value) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTransaction.js","sourceRoot":"","sources":["../../src/logic/buildTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"buildTransaction.js","sourceRoot":"","sources":["../../src/logic/buildTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import BigNumber from "bignumber.js";
|
|
2
|
+
import { OP_TYPE } from "../constants";
|
|
2
3
|
import { AptosTransaction } from "../types";
|
|
3
4
|
import { WriteSetChangeWriteResource, Event } from "@aptos-labs/ts-sdk";
|
|
4
5
|
export declare function compareAddress(addressA: string, addressB: string): boolean;
|
|
@@ -9,5 +10,6 @@ export declare function getCoinAndAmounts(tx: AptosTransaction, address: string)
|
|
|
9
10
|
coin_id: string | null;
|
|
10
11
|
amount_in: BigNumber;
|
|
11
12
|
amount_out: BigNumber;
|
|
13
|
+
type: OP_TYPE;
|
|
12
14
|
};
|
|
13
15
|
//# sourceMappingURL=getCoinAndAmounts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCoinAndAmounts.d.ts","sourceRoot":"","sources":["../../src/logic/getCoinAndAmounts.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"getCoinAndAmounts.d.ts","sourceRoot":"","sources":["../../src/logic/getCoinAndAmounts.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAKL,OAAO,EAKR,MAAM,cAAc,CAAC;AACtB,OAAO,EAIL,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAgB,2BAA2B,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAMtF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAKhE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAc9F;AAYD,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,iBAAiB,CAC/B,EAAE,EAAE,gBAAgB,EACpB,OAAO,EAAE,MAAM,GACd;IACD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf,CA+EA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import BigNumber from "bignumber.js";
|
|
2
|
-
import { APTOS_ASSET_ID, APTOS_FUNGIBLE_STORE, APTOS_OBJECT_CORE } from "../constants";
|
|
2
|
+
import { ADD_STAKE_EVENTS, APTOS_ASSET_ID, APTOS_FUNGIBLE_STORE, APTOS_OBJECT_CORE, OP_TYPE, REACTIVATE_STAKE_EVENTS, STAKING_EVENTS, UNLOCK_STAKE_EVENTS, WITHDRAW_STAKE_EVENTS, } from "../constants";
|
|
3
3
|
import { getResourceAddress } from "./getResourceAddress";
|
|
4
4
|
import { isWriteSetChangeWriteResource } from "./isWriteSetChangeWriteResource";
|
|
5
5
|
const CLEAN_HEX_REGEXP = /^0x0*|^0+/;
|
|
@@ -58,44 +58,71 @@ export function getCoinAndAmounts(tx, address) {
|
|
|
58
58
|
let coin_id = null;
|
|
59
59
|
let amount_in = BigNumber(0);
|
|
60
60
|
let amount_out = BigNumber(0);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
61
|
+
let type = OP_TYPE.UNKNOWN;
|
|
62
|
+
// Check if it is a staking transaction
|
|
63
|
+
const stakingTx = !!tx.events.find(event => STAKING_EVENTS.includes(event.type));
|
|
64
|
+
// Collect all events related to the address and calculate the overall amounts
|
|
65
|
+
if (stakingTx) {
|
|
66
|
+
tx.events.forEach(event => {
|
|
67
|
+
if (ADD_STAKE_EVENTS.includes(event.type) && tx.sender === address && amount_out.isZero()) {
|
|
68
|
+
coin_id = APTOS_ASSET_ID;
|
|
69
|
+
type = OP_TYPE.STAKE;
|
|
70
|
+
amount_out = amount_out.plus(event.data.amount_added || event.data.amount);
|
|
71
|
+
}
|
|
72
|
+
else if (REACTIVATE_STAKE_EVENTS.includes(event.type) &&
|
|
73
|
+
tx.sender === address &&
|
|
74
|
+
amount_out.isZero()) {
|
|
75
|
+
coin_id = APTOS_ASSET_ID;
|
|
76
|
+
type = OP_TYPE.STAKE;
|
|
77
|
+
amount_out = amount_out.plus(event.data.amount_reactivated || event.data.amount);
|
|
78
|
+
}
|
|
79
|
+
else if (UNLOCK_STAKE_EVENTS.includes(event.type) &&
|
|
80
|
+
tx.sender === address &&
|
|
81
|
+
amount_in.isZero()) {
|
|
82
|
+
coin_id = APTOS_ASSET_ID;
|
|
83
|
+
type = OP_TYPE.UNSTAKE;
|
|
84
|
+
amount_in = amount_in.plus(event.data.amount_unlocked || event.data.amount);
|
|
85
|
+
}
|
|
86
|
+
else if (WITHDRAW_STAKE_EVENTS.includes(event.type) &&
|
|
87
|
+
tx.sender === address &&
|
|
88
|
+
amount_in.isZero()) {
|
|
89
|
+
coin_id = APTOS_ASSET_ID;
|
|
90
|
+
type = OP_TYPE.WITHDRAW;
|
|
91
|
+
amount_in = amount_in.plus(event.data.amount_withdrawn || event.data.amount);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
tx.events.forEach(event => {
|
|
97
|
+
if (event.type === "0x1::coin::WithdrawEvent" &&
|
|
98
|
+
compareAddress(event.guid.account_address, address)) {
|
|
99
|
+
coin_id = getResourceAddress(tx, event, "withdraw_events", getEventCoinAddress);
|
|
100
|
+
amount_out = amount_out.plus(event.data.amount);
|
|
101
|
+
}
|
|
102
|
+
else if (event.type === "0x1::coin::DepositEvent" &&
|
|
103
|
+
compareAddress(event.guid.account_address, address)) {
|
|
104
|
+
coin_id = getResourceAddress(tx, event, "deposit_events", getEventCoinAddress);
|
|
105
|
+
amount_in = amount_in.plus(event.data.amount);
|
|
106
|
+
}
|
|
107
|
+
else if (event.type === "0x1::fungible_asset::Withdraw" &&
|
|
108
|
+
checkFAOwner(tx, event, address)) {
|
|
109
|
+
coin_id = getResourceAddress(tx, event, "withdraw_events", getEventFAAddress);
|
|
110
|
+
amount_out = amount_out.plus(event.data.amount);
|
|
111
|
+
}
|
|
112
|
+
else if (event.type === "0x1::fungible_asset::Deposit" &&
|
|
113
|
+
checkFAOwner(tx, event, address)) {
|
|
114
|
+
coin_id = getResourceAddress(tx, event, "deposit_events", getEventFAAddress);
|
|
115
|
+
amount_in = amount_in.plus(event.data.amount);
|
|
116
|
+
}
|
|
117
|
+
else if (event.type === "0x1::transaction_fee::FeeStatement" && tx.sender === address) {
|
|
118
|
+
coin_id ??= APTOS_ASSET_ID;
|
|
119
|
+
if (coin_id === APTOS_ASSET_ID) {
|
|
120
|
+
const fees = BigNumber(tx.gas_unit_price).times(BigNumber(tx.gas_used));
|
|
121
|
+
amount_out = amount_out.plus(fees);
|
|
95
122
|
}
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return { coin_id, amount_in, amount_out };
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return { coin_id, amount_in, amount_out, type };
|
|
100
127
|
}
|
|
101
128
|
//# sourceMappingURL=getCoinAndAmounts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCoinAndAmounts.js","sourceRoot":"","sources":["../../src/logic/getCoinAndAmounts.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"getCoinAndAmounts.js","sourceRoot":"","sources":["../../src/logic/getCoinAndAmounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { Unit } from "@ledgerhq/types-cryptoassets";
|
|
3
|
+
import { AptosAccount, AptosMappedStakingPosition, AptosStakingPosition, AptosValidator } from "../types";
|
|
4
|
+
export declare const mapStakingPositions: (stakingPositions: AptosStakingPosition[], validators: AptosValidator[], unit: Unit) => AptosMappedStakingPosition[];
|
|
5
|
+
export declare const canStake: (account: AptosAccount) => boolean;
|
|
6
|
+
export declare const canUnstake: (stakingPosition: AptosMappedStakingPosition | AptosStakingPosition) => boolean;
|
|
7
|
+
export declare const canWithdraw: (stakingPosition: AptosMappedStakingPosition | AptosStakingPosition) => boolean;
|
|
8
|
+
export declare const canRestake: (stakingPosition: AptosMappedStakingPosition | AptosStakingPosition) => boolean;
|
|
9
|
+
export declare const getStakingPosition: (account: AptosAccount, validatorAddress: string) => AptosStakingPosition | undefined;
|
|
10
|
+
export declare const getDelegationOpMaxAmount: (account: AptosAccount, validatorAddress: string, mode: string) => BigNumber;
|
|
11
|
+
export declare const formatUnlockTime: (epochSecs: string) => string;
|
|
12
|
+
//# sourceMappingURL=staking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../src/logic/staking.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EACf,MAAM,UAAU,CAAC;AAIlB,eAAO,MAAM,mBAAmB,qBACZ,oBAAoB,EAAE,cAC5B,cAAc,EAAE,QACtB,IAAI,KACT,0BAA0B,EAmB5B,CAAC;AAEF,eAAO,MAAM,QAAQ,YAAa,YAAY,KAAG,OAEhD,CAAC;AAEF,eAAO,MAAM,UAAU,oBACJ,0BAA0B,GAAG,oBAAoB,KACjE,OAEF,CAAC;AAEF,eAAO,MAAM,WAAW,oBACL,0BAA0B,GAAG,oBAAoB,KACjE,OAEF,CAAC;AAEF,eAAO,MAAM,UAAU,oBACJ,0BAA0B,GAAG,oBAAoB,KACjE,OAEF,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,YAAY,oBAAoB,MAAM,qCAG/E,CAAC;AAEJ,eAAO,MAAM,wBAAwB,YAC1B,YAAY,oBACH,MAAM,QAClB,MAAM,KACX,SAqBF,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAAe,MAAM,KAAG,MAapD,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import BigNumber from "bignumber.js";
|
|
2
|
+
import { formatCurrencyUnit } from "@ledgerhq/coin-framework/currencies/formatCurrencyUnit";
|
|
3
|
+
import { MIN_COINS_ON_SHARES_POOL_IN_OCTAS } from "../constants";
|
|
4
|
+
import { getMaxSendBalance } from "../bridge/logic";
|
|
5
|
+
export const mapStakingPositions = (stakingPositions, validators, unit) => {
|
|
6
|
+
return stakingPositions.map(sp => {
|
|
7
|
+
const rank = validators.findIndex(v => v.address === sp.validatorId);
|
|
8
|
+
const validator = validators[rank] ?? sp;
|
|
9
|
+
const formatConfig = {
|
|
10
|
+
disableRounding: false,
|
|
11
|
+
alwaysShowSign: false,
|
|
12
|
+
showCode: true,
|
|
13
|
+
};
|
|
14
|
+
return {
|
|
15
|
+
...sp,
|
|
16
|
+
formattedAmount: formatCurrencyUnit(unit, sp.active, formatConfig),
|
|
17
|
+
formattedPending: formatCurrencyUnit(unit, sp.pendingInactive, formatConfig),
|
|
18
|
+
formattedAvailable: formatCurrencyUnit(unit, sp.inactive, formatConfig),
|
|
19
|
+
rank,
|
|
20
|
+
validator,
|
|
21
|
+
};
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
export const canStake = (account) => {
|
|
25
|
+
return getMaxSendBalance(account) > MIN_COINS_ON_SHARES_POOL_IN_OCTAS;
|
|
26
|
+
};
|
|
27
|
+
export const canUnstake = (stakingPosition) => {
|
|
28
|
+
return stakingPosition.active.gt(0);
|
|
29
|
+
};
|
|
30
|
+
export const canWithdraw = (stakingPosition) => {
|
|
31
|
+
return stakingPosition.inactive.gt(0);
|
|
32
|
+
};
|
|
33
|
+
export const canRestake = (stakingPosition) => {
|
|
34
|
+
return stakingPosition.pendingInactive.gt(0);
|
|
35
|
+
};
|
|
36
|
+
export const getStakingPosition = (account, validatorAddress) => (account.aptosResources?.stakingPositions ?? []).find(stakingPosition => stakingPosition.validatorId === validatorAddress);
|
|
37
|
+
export const getDelegationOpMaxAmount = (account, validatorAddress, mode) => {
|
|
38
|
+
let maxAmount;
|
|
39
|
+
const stakingPosition = getStakingPosition(account, validatorAddress);
|
|
40
|
+
switch (mode) {
|
|
41
|
+
case "unstake":
|
|
42
|
+
maxAmount = stakingPosition?.active;
|
|
43
|
+
break;
|
|
44
|
+
case "withdraw":
|
|
45
|
+
maxAmount = stakingPosition?.inactive;
|
|
46
|
+
break;
|
|
47
|
+
case "restake":
|
|
48
|
+
maxAmount = stakingPosition?.pendingInactive;
|
|
49
|
+
}
|
|
50
|
+
if (maxAmount === undefined || maxAmount.lt(0)) {
|
|
51
|
+
return new BigNumber(0);
|
|
52
|
+
}
|
|
53
|
+
return maxAmount;
|
|
54
|
+
};
|
|
55
|
+
export const formatUnlockTime = (epochSecs) => {
|
|
56
|
+
const unlockTime = parseInt(epochSecs, 10) * 1000; // Convert to ms
|
|
57
|
+
const now = Date.now();
|
|
58
|
+
const diffMs = unlockTime - now;
|
|
59
|
+
if (diffMs <= 0)
|
|
60
|
+
return "Unlocked";
|
|
61
|
+
const totalMinutes = Math.floor(diffMs / (1000 * 60));
|
|
62
|
+
const days = Math.floor(totalMinutes / (60 * 24));
|
|
63
|
+
const hours = Math.floor((totalMinutes % (60 * 24)) / 60);
|
|
64
|
+
const minutes = totalMinutes % 60;
|
|
65
|
+
return `${days}d ${hours}h ${minutes}m`;
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=staking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staking.js","sourceRoot":"","sources":["../../src/logic/staking.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import BigNumber from "bignumber.js";
|
|
2
|
-
import { APTOS_ASSET_ID,
|
|
2
|
+
import { APTOS_ASSET_ID, OP_TYPE } from "../constants";
|
|
3
3
|
import { compareAddress, getCoinAndAmounts } from "./getCoinAndAmounts";
|
|
4
4
|
import { calculateAmount } from "./calculateAmount";
|
|
5
5
|
import { processRecipients } from "./processRecipients";
|
|
@@ -11,10 +11,10 @@ export const convertFunctionPayloadResponseToInputEntryFunctionData = (payload)
|
|
|
11
11
|
functionArguments: payload.arguments,
|
|
12
12
|
});
|
|
13
13
|
const detectType = (address, tx, value) => {
|
|
14
|
-
let type = compareAddress(tx.sender, address) ?
|
|
14
|
+
let type = compareAddress(tx.sender, address) ? OP_TYPE.OUT : OP_TYPE.IN;
|
|
15
15
|
if (!value) {
|
|
16
16
|
// skip transaction that result no Aptos change
|
|
17
|
-
type =
|
|
17
|
+
type = OP_TYPE.UNKNOWN;
|
|
18
18
|
}
|
|
19
19
|
return type;
|
|
20
20
|
};
|
|
@@ -61,7 +61,7 @@ export function transactionsToOperations(address, txs) {
|
|
|
61
61
|
op.value = BigInt(value.isNaN() ? 0 : value.toString());
|
|
62
62
|
op.senders.push(normalizeAddress(tx.sender));
|
|
63
63
|
processRecipients(payload, address, op, function_address);
|
|
64
|
-
if (op.type !==
|
|
64
|
+
if (op.type !== OP_TYPE.UNKNOWN && coin_id !== null) {
|
|
65
65
|
if (coin_id === APTOS_ASSET_ID) {
|
|
66
66
|
acc.push(op);
|
|
67
67
|
return acc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionsToOperations.js","sourceRoot":"","sources":["../../src/logic/transactionsToOperations.ts"],"names":[],"mappings":"AAGA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"transactionsToOperations.js","sourceRoot":"","sources":["../../src/logic/transactionsToOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ApolloClient } from "@apollo/client";
|
|
1
2
|
import { type AccountData, Ed25519PublicKey, type GasEstimation, type InputEntryFunctionData, type RawTransaction, type UserTransactionResponse, type AptosSettings } from "@aptos-labs/ts-sdk";
|
|
2
3
|
import BigNumber from "bignumber.js";
|
|
3
4
|
import type { AptosBalance, AptosTransaction, TransactionOptions } from "../types";
|
|
@@ -6,7 +7,7 @@ import { AptosAsset } from "../types/assets";
|
|
|
6
7
|
export declare class AptosAPI {
|
|
7
8
|
private readonly aptosConfig;
|
|
8
9
|
private readonly aptosClient;
|
|
9
|
-
|
|
10
|
+
readonly apolloClient: ApolloClient<object>;
|
|
10
11
|
constructor(currencyIdOrSettings: AptosSettings | string);
|
|
11
12
|
getAccount(address: string): Promise<AccountData>;
|
|
12
13
|
getAccountInfo(address: string, startAt?: string): Promise<{
|
|
@@ -24,6 +25,8 @@ export declare class AptosAPI {
|
|
|
24
25
|
broadcast(tx: string): Promise<string>;
|
|
25
26
|
getLastBlock(): Promise<BlockInfo>;
|
|
26
27
|
estimateFees(transactionIntent: TransactionIntent<AptosAsset>): Promise<FeeEstimation>;
|
|
28
|
+
getNextUnlockTime(stakingPoolAddress: string): Promise<string | undefined>;
|
|
29
|
+
getDelegatorBalanceInPool(poolAddress: string, delegatorAddress: string): Promise<Array<string>>;
|
|
27
30
|
listOperations(rawAddress: string, pagination: Pagination): Promise<[Operation<AptosAsset>[], string]>;
|
|
28
31
|
private fetchTransactions;
|
|
29
32
|
private richItemByVersion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/network/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/network/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,KAAK,WAAW,EAGhB,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAI3B,KAAK,cAAc,EAGnB,KAAK,uBAAuB,EAE5B,KAAK,aAAa,EAInB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,SAAS,MAAM,cAAc,CAAC;AASrC,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAEhB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAMlB,OAAO,EACL,SAAS,EACT,aAAa,EACb,SAAS,EACT,UAAU,EACV,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAa7C,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IAEpC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;gBAEhC,oBAAoB,EAAE,aAAa,GAAG,MAAM;IAoBlD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIjD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;;;;;IAahD,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAI1C,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC;IA6BpB,mBAAmB,CACvB,OAAO,EAAE,gBAAgB,EACzB,EAAE,EAAE,cAAc,EAClB,OAAO;;;;KAIN,GACA,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAQ/B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IActC,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAUlC,YAAY,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAqDtF,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAa1E,yBAAyB,CAC7B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAgBnB,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAQ/B,iBAAiB;YA8BjB,iBAAiB;YAkBjB,SAAS;YAQT,QAAQ;IAQhB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CA2BtF"}
|
package/lib-es/network/client.js
CHANGED
|
@@ -142,7 +142,9 @@ export class AptosAPI {
|
|
|
142
142
|
const tx = await this.generateTransaction(transactionIntent.sender, txPayload, txOptions);
|
|
143
143
|
const simulation = await this.simulateTransaction(publicKeyEd, tx);
|
|
144
144
|
const completedTx = simulation[0];
|
|
145
|
-
const gasLimit = new BigNumber(completedTx.gas_used)
|
|
145
|
+
const gasLimit = new BigNumber(completedTx.gas_used)
|
|
146
|
+
.multipliedBy(ESTIMATE_GAS_MUL)
|
|
147
|
+
.integerValue();
|
|
146
148
|
const gasPrice = new BigNumber(completedTx.gas_unit_price);
|
|
147
149
|
const expectedGas = gasPrice.multipliedBy(gasLimit);
|
|
148
150
|
return {
|
|
@@ -154,6 +156,35 @@ export class AptosAPI {
|
|
|
154
156
|
},
|
|
155
157
|
};
|
|
156
158
|
}
|
|
159
|
+
async getNextUnlockTime(stakingPoolAddress) {
|
|
160
|
+
const resourceType = "0x1::stake::StakePool";
|
|
161
|
+
try {
|
|
162
|
+
const resource = await this.aptosClient.getAccountResource({
|
|
163
|
+
accountAddress: stakingPoolAddress,
|
|
164
|
+
resourceType,
|
|
165
|
+
});
|
|
166
|
+
return resource.locked_until_secs;
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
log("error", "Failed to fetch StakePool resource:", { error });
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
async getDelegatorBalanceInPool(poolAddress, delegatorAddress) {
|
|
173
|
+
try {
|
|
174
|
+
// Query the delegator balance in the pool
|
|
175
|
+
return await this.aptosClient.view({
|
|
176
|
+
payload: {
|
|
177
|
+
function: "0x1::delegation_pool::get_stake",
|
|
178
|
+
typeArguments: [],
|
|
179
|
+
functionArguments: [poolAddress, delegatorAddress],
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
log("error", "Failed to fetch delegation_pool::get_stake", { error });
|
|
185
|
+
return ["0", "0", "0"];
|
|
186
|
+
}
|
|
187
|
+
}
|
|
157
188
|
async listOperations(rawAddress, pagination) {
|
|
158
189
|
const address = normalizeAddress(rawAddress);
|
|
159
190
|
const transactions = await this.getAccountInfo(address, pagination.minHeight.toString());
|