@ledgerhq/coin-aptos 1.4.0 → 1.4.1-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 +2 -2
- package/CHANGELOG.md +14 -0
- package/lib/__tests__/api/index.test.js +67 -92
- package/lib/__tests__/api/index.test.js.map +1 -1
- package/lib/__tests__/bridge/broadcast.test.js +11 -17
- package/lib/__tests__/bridge/broadcast.test.js.map +1 -1
- package/lib/__tests__/bridge/buildTransaction.test.js +3 -12
- package/lib/__tests__/bridge/buildTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/createTransaction.test.js +2 -11
- package/lib/__tests__/bridge/createTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/estimateMaxSpendable.test.js +12 -21
- package/lib/__tests__/bridge/estimateMaxSpendable.test.js.map +1 -1
- package/lib/__tests__/bridge/getFeesForTransaction.test.js +13 -22
- package/lib/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/getTransactionStatus.test.js +18 -27
- package/lib/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib/__tests__/bridge/index.test.js +3 -12
- package/lib/__tests__/bridge/index.test.js.map +1 -1
- package/lib/__tests__/bridge/prepareTransaction.test.js +22 -35
- package/lib/__tests__/bridge/prepareTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/signOperation.test.js +9 -18
- package/lib/__tests__/bridge/signOperation.test.js.map +1 -1
- package/lib/__tests__/bridge/synchronisation.test.js +46 -65
- package/lib/__tests__/bridge/synchronisation.test.js.map +1 -1
- package/lib/__tests__/bridge/transaction.test.js +14 -24
- package/lib/__tests__/bridge/transaction.test.js.map +1 -1
- package/lib/__tests__/network/index.test.js +10 -16
- package/lib/__tests__/network/index.test.js.map +1 -1
- package/lib/__tests__/signer/index.test.js +6 -17
- package/lib/__tests__/signer/index.test.js.map +1 -1
- package/lib/api/graphql/queries.d.ts.map +1 -1
- package/lib/api/graphql/queries.js +1 -0
- package/lib/api/graphql/queries.js.map +1 -1
- package/lib/api/index.d.ts.map +1 -1
- package/lib/api/index.js +119 -142
- package/lib/api/index.js.map +1 -1
- package/lib/bridge/bridge.fixture.js +13 -13
- package/lib/bridge/bridge.fixture.js.map +1 -1
- package/lib/bridge/broadcast.js +3 -12
- package/lib/bridge/broadcast.js.map +1 -1
- package/lib/bridge/buildTransaction.js +3 -12
- package/lib/bridge/buildTransaction.js.map +1 -1
- package/lib/bridge/estimateMaxSpendable.js +3 -12
- package/lib/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib/bridge/getFeesForTransaction.d.ts.map +1 -1
- package/lib/bridge/getFeesForTransaction.js +9 -20
- package/lib/bridge/getFeesForTransaction.js.map +1 -1
- package/lib/bridge/getTransactionStatus.js +2 -11
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/logic.js +17 -20
- package/lib/bridge/logic.js.map +1 -1
- package/lib/bridge/prepareTransaction.js +7 -13
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/signOperation.js +42 -53
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/synchronisation.js +7 -17
- package/lib/bridge/synchronisation.js.map +1 -1
- package/lib/bridge/transaction.js +16 -2
- package/lib/bridge/transaction.js.map +1 -1
- package/lib/network/index.js +19 -30
- package/lib/network/index.js.map +1 -1
- package/lib/signer/index.js +3 -12
- package/lib/signer/index.js.map +1 -1
- package/lib/test/bot-specs.d.ts +2 -2
- package/lib/test/bot-specs.d.ts.map +1 -1
- package/lib/test/bot-specs.js +32 -26
- package/lib/test/bot-specs.js.map +1 -1
- package/lib/test/bridgeDatasetTest.d.ts.map +1 -1
- package/lib/test/bridgeDatasetTest.js +46 -15
- package/lib/test/bridgeDatasetTest.js.map +1 -1
- package/lib/test/cli.js +5 -1
- package/lib/test/cli.js.map +1 -1
- package/lib/test/speculos-deviceActions.d.ts.map +1 -1
- package/lib/test/speculos-deviceActions.js +19 -20
- package/lib/test/speculos-deviceActions.js.map +1 -1
- package/lib/types/signer.d.ts +1 -0
- package/lib/types/signer.d.ts.map +1 -1
- package/lib-es/__tests__/api/index.test.js +67 -92
- package/lib-es/__tests__/api/index.test.js.map +1 -1
- package/lib-es/__tests__/bridge/broadcast.test.js +11 -17
- package/lib-es/__tests__/bridge/broadcast.test.js.map +1 -1
- package/lib-es/__tests__/bridge/buildTransaction.test.js +3 -12
- package/lib-es/__tests__/bridge/buildTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/createTransaction.test.js +2 -11
- package/lib-es/__tests__/bridge/createTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/estimateMaxSpendable.test.js +12 -21
- package/lib-es/__tests__/bridge/estimateMaxSpendable.test.js.map +1 -1
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js +13 -22
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js +18 -27
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib-es/__tests__/bridge/index.test.js +3 -12
- package/lib-es/__tests__/bridge/index.test.js.map +1 -1
- package/lib-es/__tests__/bridge/prepareTransaction.test.js +22 -35
- package/lib-es/__tests__/bridge/prepareTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/signOperation.test.js +9 -18
- package/lib-es/__tests__/bridge/signOperation.test.js.map +1 -1
- package/lib-es/__tests__/bridge/synchronisation.test.js +46 -65
- package/lib-es/__tests__/bridge/synchronisation.test.js.map +1 -1
- package/lib-es/__tests__/bridge/transaction.test.js +14 -24
- package/lib-es/__tests__/bridge/transaction.test.js.map +1 -1
- package/lib-es/__tests__/network/index.test.js +10 -16
- package/lib-es/__tests__/network/index.test.js.map +1 -1
- package/lib-es/__tests__/signer/index.test.js +6 -17
- package/lib-es/__tests__/signer/index.test.js.map +1 -1
- package/lib-es/api/graphql/queries.d.ts.map +1 -1
- package/lib-es/api/graphql/queries.js +1 -0
- package/lib-es/api/graphql/queries.js.map +1 -1
- package/lib-es/api/index.d.ts.map +1 -1
- package/lib-es/api/index.js +119 -142
- package/lib-es/api/index.js.map +1 -1
- package/lib-es/bridge/bridge.fixture.js +13 -13
- package/lib-es/bridge/bridge.fixture.js.map +1 -1
- package/lib-es/bridge/broadcast.js +3 -12
- package/lib-es/bridge/broadcast.js.map +1 -1
- package/lib-es/bridge/buildTransaction.js +3 -12
- package/lib-es/bridge/buildTransaction.js.map +1 -1
- package/lib-es/bridge/estimateMaxSpendable.js +3 -12
- 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 -20
- package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +2 -11
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/logic.js +17 -20
- package/lib-es/bridge/logic.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +7 -13
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/signOperation.js +42 -53
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/synchronisation.js +7 -17
- package/lib-es/bridge/synchronisation.js.map +1 -1
- package/lib-es/bridge/transaction.js +16 -2
- package/lib-es/bridge/transaction.js.map +1 -1
- package/lib-es/network/index.js +19 -30
- package/lib-es/network/index.js.map +1 -1
- package/lib-es/signer/index.js +3 -12
- package/lib-es/signer/index.js.map +1 -1
- package/lib-es/test/bot-specs.d.ts +2 -2
- package/lib-es/test/bot-specs.d.ts.map +1 -1
- package/lib-es/test/bot-specs.js +33 -27
- 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 +46 -15
- package/lib-es/test/bridgeDatasetTest.js.map +1 -1
- package/lib-es/test/cli.js +5 -1
- package/lib-es/test/cli.js.map +1 -1
- package/lib-es/test/speculos-deviceActions.d.ts.map +1 -1
- package/lib-es/test/speculos-deviceActions.js +20 -21
- package/lib-es/test/speculos-deviceActions.js.map +1 -1
- package/lib-es/types/signer.d.ts +1 -0
- package/lib-es/types/signer.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/__tests__/bridge/transaction.test.ts +0 -1
- package/src/api/graphql/queries.ts +1 -0
- package/src/api/index.ts +1 -0
- package/src/bridge/getFeesForTransaction.ts +1 -3
- package/src/bridge/transaction.ts +2 -2
- package/src/test/bot-specs.ts +39 -33
- package/src/test/bridgeDatasetTest.ts +46 -15
- package/src/test/speculos-deviceActions.ts +20 -27
- package/tsconfig.json +3 -2
|
@@ -6,13 +6,13 @@ const aptos = {
|
|
|
6
6
|
name: "aptos seed 1",
|
|
7
7
|
apdus: `
|
|
8
8
|
=> 5b0500000d038000002c8000027d80000000
|
|
9
|
-
<=
|
|
9
|
+
<= 2104d6816f4f22f867b56cf9304b776f452a16d107835d73ee8a33c4ced210300583204bb135642f160c72c323d57ad509b904ff44d9f2b983e8b90468e19b6f431ea79000
|
|
10
10
|
=> 5b05000015058000002c8000027d800000008000000080000000
|
|
11
|
-
<=
|
|
11
|
+
<= 2104d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956200d8d6cf19a090a8080768d07a848acc333775e5327d2da8a4022301f7dbb88ff9000
|
|
12
12
|
=> 5b05000015058000002c8000027d800000018000000080000000
|
|
13
|
-
<=
|
|
13
|
+
<= 21046a7712fdac0cb4ed27076c707e7798be52cf6c93a2d43d5cf9b874d0a45a111e208e72477f799c2d3b2899b32b114988ab3d1af02dd0d3562196eccded2936f8449000
|
|
14
14
|
=> 5b05000015058000002c8000027d800000028000000080000000
|
|
15
|
-
<=
|
|
15
|
+
<= 21048ffc0c2e141ead220f05b30fa01ce9a3783c5a157219f922b02ec194308b1b452084cf4bdff7814f8c3d08bfceb9d2615bf8c6850b208477528f8376c4250e4b5a9000
|
|
16
16
|
`,
|
|
17
17
|
},
|
|
18
18
|
],
|
|
@@ -26,19 +26,51 @@ const aptos = {
|
|
|
26
26
|
index: 0,
|
|
27
27
|
freshAddress: "0x445fa0013887abd1a0c14acdec6e48090e0ad3fed3e08202aac15ca14f3be26b",
|
|
28
28
|
freshAddressPath: "44'/637'/0'/0/0",
|
|
29
|
-
blockHeight:
|
|
29
|
+
blockHeight: 286066372,
|
|
30
30
|
creationDate: "2024-12-18T12:26:31.070Z",
|
|
31
31
|
operationsCount: 5,
|
|
32
32
|
operations: [],
|
|
33
33
|
pendingOperations: [],
|
|
34
34
|
currencyId: "aptos",
|
|
35
|
-
lastSyncDate: "
|
|
35
|
+
lastSyncDate: "2025-02-04T14:00:46.693Z",
|
|
36
36
|
balance: "30100",
|
|
37
37
|
spendableBalance: "30100",
|
|
38
38
|
balanceHistoryCache: {
|
|
39
|
-
HOUR: {
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
HOUR: {
|
|
40
|
+
balances: [
|
|
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,
|
|
58
|
+
],
|
|
59
|
+
latestDate: 1738677600000,
|
|
60
|
+
},
|
|
61
|
+
DAY: {
|
|
62
|
+
balances: [
|
|
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,
|
|
67
|
+
],
|
|
68
|
+
latestDate: 1738627200000,
|
|
69
|
+
},
|
|
70
|
+
WEEK: {
|
|
71
|
+
balances: [0, 30100, 30100, 30100, 30100, 30100, 30100, 30100],
|
|
72
|
+
latestDate: 1738454400000,
|
|
73
|
+
},
|
|
42
74
|
},
|
|
43
75
|
xpub: "d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956",
|
|
44
76
|
swapHistory: [],
|
|
@@ -47,13 +79,14 @@ const aptos = {
|
|
|
47
79
|
{
|
|
48
80
|
name: "NO_NAME",
|
|
49
81
|
transaction: fromTransactionRaw({
|
|
50
|
-
amount: "
|
|
82
|
+
amount: "1000",
|
|
51
83
|
recipient: "0xd20fa44192f94ba086ab16bfdf57e43ff118ada69b4c66fa9b9a9223cbc068c1",
|
|
52
84
|
useAllAmount: false,
|
|
85
|
+
subAccountId: null,
|
|
53
86
|
family: "aptos",
|
|
54
87
|
mode: "send",
|
|
55
|
-
fees: "
|
|
56
|
-
options: '{
|
|
88
|
+
fees: "900",
|
|
89
|
+
options: '{"maxGasAmount":"9","gasUnitPrice":"100"}',
|
|
57
90
|
errors: "{}",
|
|
58
91
|
}),
|
|
59
92
|
expectedStatus: () =>
|
|
@@ -61,9 +94,7 @@ const aptos = {
|
|
|
61
94
|
({
|
|
62
95
|
errors: {},
|
|
63
96
|
warnings: {},
|
|
64
|
-
|
|
65
|
-
amount: BigNumber("20000"),
|
|
66
|
-
totalSpent: BigNumber("20900"),
|
|
97
|
+
amount: BigNumber("1000"),
|
|
67
98
|
}),
|
|
68
99
|
},
|
|
69
100
|
],
|
|
@@ -1 +1 @@
|
|
|
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,iBAAiB;gBACnC,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,EAAE,
|
|
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,iBAAiB;gBACnC,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"}
|
package/lib-es/test/cli.js
CHANGED
|
@@ -40,7 +40,11 @@ function inferTransactions(transactions) {
|
|
|
40
40
|
const isDelisted = account.token.delisted === true;
|
|
41
41
|
invariant(!isDelisted, "token is delisted");
|
|
42
42
|
}
|
|
43
|
-
return
|
|
43
|
+
return {
|
|
44
|
+
...transaction,
|
|
45
|
+
family: "aptos",
|
|
46
|
+
subAccountId: account.type === AccountType.TokenAccount ? account.id : null,
|
|
47
|
+
};
|
|
44
48
|
});
|
|
45
49
|
}
|
|
46
50
|
export default function makeCliTools() {
|
package/lib-es/test/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/test/cli.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,OAAO,GAAG;IACd;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,8CAA8C;KACrD;CACF,CAAC;AAEF,SAAS,aAAa,CAAC,OAAgB,EAAE,IAAyB;IAChE,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,cAAc,CAAC,CAAC;IAE/D,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAc,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEzB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IAE9C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACtC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO,CACL,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,EAAE,CAC7F,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,iBAAiB;gBACf,KAAK;gBACL,0BAA0B;gBAC1B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CACxB,YAGE;IAEF,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QACxD,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,EAAE,cAAc,CAAC,CAAC;QAE1D,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC;YACnD,SAAS,CAAC,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/test/cli.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,OAAO,GAAG;IACd;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,8CAA8C;KACrD;CACF,CAAC;AAEF,SAAS,aAAa,CAAC,OAAgB,EAAE,IAAyB;IAChE,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,cAAc,CAAC,CAAC;IAE/D,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAc,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEzB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IAE9C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACtC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO,CACL,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,EAAE,CAC7F,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,iBAAiB;gBACf,KAAK;gBACL,0BAA0B;gBAC1B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CACxB,YAGE;IAEF,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QACxD,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,EAAE,cAAc,CAAC,CAAC;QAE1D,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC;YACnD,SAAS,CAAC,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,GAAG,WAAW;YACd,MAAM,EAAE,OAAO;YACf,YAAY,EAAE,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;SAC7D,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,YAAY;IAClC,OAAO;QACL,OAAO;QACP,aAAa;QACb,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../../src/test/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAE3D,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAuC1E,CAAC"}
|
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
import { deviceActionFlow,
|
|
2
|
-
const typeWording = {
|
|
3
|
-
send: "Send",
|
|
4
|
-
lock: "Lock",
|
|
5
|
-
unlock: "Unlock",
|
|
6
|
-
withdraw: "Withdraw",
|
|
7
|
-
vote: "Vote",
|
|
8
|
-
revoke: "Revoke",
|
|
9
|
-
activate: "Activate",
|
|
10
|
-
register: "Create Account",
|
|
11
|
-
};
|
|
1
|
+
import { deviceActionFlow, SpeculosButton } from "@ledgerhq/coin-framework/bot/specs";
|
|
12
2
|
export const acceptTransaction = deviceActionFlow({
|
|
13
3
|
steps: [
|
|
14
4
|
{
|
|
@@ -16,26 +6,35 @@ export const acceptTransaction = deviceActionFlow({
|
|
|
16
6
|
button: SpeculosButton.RIGHT,
|
|
17
7
|
},
|
|
18
8
|
{
|
|
19
|
-
title: "
|
|
9
|
+
title: "Transaction",
|
|
10
|
+
button: SpeculosButton.RIGHT,
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
title: "Function",
|
|
14
|
+
button: SpeculosButton.RIGHT,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
title: "Coin Type",
|
|
18
|
+
button: SpeculosButton.RIGHT,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
title: "Receiver (1/2)",
|
|
22
|
+
button: SpeculosButton.RIGHT,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
title: "Receiver (2/2)",
|
|
20
26
|
button: SpeculosButton.RIGHT,
|
|
21
|
-
expectedValue: ({ transaction }) => {
|
|
22
|
-
return typeWording[transaction.mode];
|
|
23
|
-
},
|
|
24
27
|
},
|
|
25
28
|
{
|
|
26
29
|
title: "Amount",
|
|
27
30
|
button: SpeculosButton.RIGHT,
|
|
28
|
-
expectedValue: ({ account, status }) => formatDeviceAmount(account.currency, status.amount, {
|
|
29
|
-
forceFloating: true,
|
|
30
|
-
}),
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
|
-
title: "
|
|
33
|
+
title: "Gas Fee",
|
|
34
34
|
button: SpeculosButton.RIGHT,
|
|
35
|
-
expectedValue: ({ transaction }) => transaction.recipient,
|
|
36
35
|
},
|
|
37
36
|
{
|
|
38
|
-
title: "
|
|
37
|
+
title: "Approve",
|
|
39
38
|
button: SpeculosButton.BOTH,
|
|
40
39
|
},
|
|
41
40
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../src/test/speculos-deviceActions.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
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/signer.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/types/signer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/types/signer.ts"],"names":[],"mappings":";;AAAA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjF;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,UAAU,CAAC;IAC1B,iBAAiB,EAAE,UAAU,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,UAAU,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-aptos",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1-nightly.1",
|
|
4
4
|
"description": "Ledger Aptos Coin integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -87,10 +87,11 @@
|
|
|
87
87
|
"bignumber.js": "^9.1.2",
|
|
88
88
|
"graphql": "^16.10.0",
|
|
89
89
|
"invariant": "^2.2.4",
|
|
90
|
+
"expect": "^27.4.6",
|
|
90
91
|
"lodash": "^4.17.21",
|
|
91
92
|
"rxjs": "^7.8.1",
|
|
92
|
-
"@ledgerhq/coin-framework": "^0.25.0",
|
|
93
|
-
"@ledgerhq/cryptoassets": "^13.10.0",
|
|
93
|
+
"@ledgerhq/coin-framework": "^0.25.1-nightly.0",
|
|
94
|
+
"@ledgerhq/cryptoassets": "^13.10.1-nightly.0",
|
|
94
95
|
"@ledgerhq/devices": "8.4.4",
|
|
95
96
|
"@ledgerhq/errors": "^6.19.1",
|
|
96
97
|
"@ledgerhq/live-env": "^2.5.0",
|
|
@@ -111,7 +112,7 @@
|
|
|
111
112
|
},
|
|
112
113
|
"scripts": {
|
|
113
114
|
"clean": "rimraf lib lib-es",
|
|
114
|
-
"build": "tsc && tsc -m ES6 --outDir lib-es",
|
|
115
|
+
"build": "tsc --outDir lib --module commonjs --moduleResolution node10 && tsc -m ES6 --outDir lib-es",
|
|
115
116
|
"coverage": "jest --coverage --testPathIgnorePatterns='/bridge.integration.test.ts|node_modules|lib-es|lib/' --coveragePathIgnorePatterns='src/test|src/types|src/index.ts|src/bridge/bridge.fixture.ts' --passWithNoTests && mv coverage/coverage-final.json coverage/coverage-aptos.json",
|
|
116
117
|
"prewatch": "pnpm build",
|
|
117
118
|
"watch": "tsc --watch",
|
package/src/api/index.ts
CHANGED
|
@@ -72,9 +72,7 @@ export const getFee = async (
|
|
|
72
72
|
|
|
73
73
|
const CACHE = makeLRUCache(
|
|
74
74
|
getFee,
|
|
75
|
-
(
|
|
76
|
-
return transaction.amount.toString();
|
|
77
|
-
},
|
|
75
|
+
(account: Account, transaction: Transaction) => `${account.id}-${transaction.amount.toString()}}`,
|
|
78
76
|
seconds(30),
|
|
79
77
|
);
|
|
80
78
|
|
|
@@ -45,9 +45,9 @@ export const toTransactionRaw = (t: Transaction): TransactionRaw => {
|
|
|
45
45
|
...common,
|
|
46
46
|
family: t.family,
|
|
47
47
|
mode: t.mode,
|
|
48
|
-
fees: t.fees ? t.fees.toString() : null,
|
|
49
48
|
options: JSON.stringify(t.options),
|
|
50
|
-
|
|
49
|
+
...(t.fees && { fees: t.fees.toString() }),
|
|
50
|
+
...(t.errors && { errors: JSON.stringify(t.errors) }),
|
|
51
51
|
};
|
|
52
52
|
};
|
|
53
53
|
|
package/src/test/bot-specs.ts
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import invariant from "invariant";
|
|
2
|
+
import expect from "expect";
|
|
2
3
|
import { DeviceModelId } from "@ledgerhq/devices";
|
|
4
|
+
import BigNumber from "bignumber.js";
|
|
5
|
+
import type { Transaction } from "../types";
|
|
3
6
|
import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
|
|
4
|
-
import {
|
|
5
|
-
import { botTest, genericTestDestination, pickSiblings } from "@ledgerhq/coin-framework/bot/specs";
|
|
7
|
+
import { genericTestDestination, pickSiblings, botTest } from "@ledgerhq/coin-framework/bot/specs";
|
|
6
8
|
import type { AppSpec } from "@ledgerhq/coin-framework/bot/types";
|
|
7
9
|
import { acceptTransaction } from "./speculos-deviceActions";
|
|
8
|
-
import type { Transaction } from "../types";
|
|
9
10
|
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const maxAccountSiblings = 4;
|
|
11
|
+
const MIN_SAFE = new BigNumber(0.0001);
|
|
12
|
+
const maxAccount = 6;
|
|
13
13
|
|
|
14
|
-
const
|
|
14
|
+
const aptosSpecs: AppSpec<Transaction> = {
|
|
15
15
|
name: "Aptos",
|
|
16
|
-
currency,
|
|
16
|
+
currency: getCryptoCurrencyById("aptos"),
|
|
17
17
|
appQuery: {
|
|
18
18
|
model: DeviceModelId.nanoSP,
|
|
19
19
|
appName: "Aptos",
|
|
20
20
|
},
|
|
21
21
|
genericDeviceAction: acceptTransaction,
|
|
22
|
-
testTimeout:
|
|
23
|
-
minViableAmount:
|
|
22
|
+
testTimeout: 6 * 60 * 1000,
|
|
23
|
+
minViableAmount: MIN_SAFE,
|
|
24
24
|
transactionCheck: ({ maxSpendable }) => {
|
|
25
|
-
invariant(maxSpendable.gt(
|
|
25
|
+
invariant(maxSpendable.gt(MIN_SAFE), "balance is too low");
|
|
26
26
|
},
|
|
27
27
|
mutations: [
|
|
28
28
|
{
|
|
@@ -31,9 +31,8 @@ const aptos: AppSpec<Transaction> = {
|
|
|
31
31
|
maxRun: 1,
|
|
32
32
|
testDestination: genericTestDestination,
|
|
33
33
|
transaction: ({ account, siblings, bridge, maxSpendable }) => {
|
|
34
|
-
invariant(maxSpendable.gt(
|
|
35
|
-
|
|
36
|
-
const sibling = pickSiblings(siblings, maxAccountSiblings);
|
|
34
|
+
invariant(maxSpendable.gt(MIN_SAFE), "balance is too low");
|
|
35
|
+
const sibling = pickSiblings(siblings, maxAccount);
|
|
37
36
|
const recipient = sibling.freshAddress;
|
|
38
37
|
const amount = maxSpendable.div(2).integerValue();
|
|
39
38
|
|
|
@@ -50,37 +49,44 @@ const aptos: AppSpec<Transaction> = {
|
|
|
50
49
|
updates,
|
|
51
50
|
};
|
|
52
51
|
},
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
|
|
53
|
+
test: ({ accountBeforeTransaction, operation, account }) => {
|
|
54
|
+
botTest("account spendable balance decreased with operation", () =>
|
|
55
|
+
expect(account.spendableBalance).toEqual(
|
|
56
|
+
accountBeforeTransaction.spendableBalance.minus(operation.value),
|
|
57
57
|
),
|
|
58
58
|
);
|
|
59
59
|
},
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
name: "
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
name: "Transfer Max",
|
|
63
|
+
feature: "sendMax",
|
|
64
|
+
maxRun: 1,
|
|
65
65
|
transaction: ({ account, siblings, bridge }) => {
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
const updates: Array<Partial<Transaction>> = [
|
|
67
|
+
{
|
|
68
|
+
recipient: pickSiblings(siblings, maxAccount).freshAddress,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
useAllAmount: true,
|
|
72
|
+
},
|
|
73
|
+
];
|
|
69
74
|
|
|
70
75
|
return {
|
|
71
|
-
transaction,
|
|
72
|
-
updates
|
|
76
|
+
transaction: bridge.createTransaction(account),
|
|
77
|
+
updates,
|
|
73
78
|
};
|
|
74
79
|
},
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
});
|
|
80
|
+
testDestination: genericTestDestination,
|
|
81
|
+
test: ({ account }) => {
|
|
82
|
+
botTest("account spendable balance is zero", () =>
|
|
83
|
+
expect(account.spendableBalance.toString()).toBe("0"),
|
|
84
|
+
);
|
|
81
85
|
},
|
|
82
86
|
},
|
|
83
87
|
],
|
|
84
88
|
};
|
|
85
89
|
|
|
86
|
-
export default {
|
|
90
|
+
export default {
|
|
91
|
+
aptosSpecs,
|
|
92
|
+
};
|
|
@@ -9,13 +9,13 @@ const aptos: CurrenciesData<Transaction> = {
|
|
|
9
9
|
name: "aptos seed 1",
|
|
10
10
|
apdus: `
|
|
11
11
|
=> 5b0500000d038000002c8000027d80000000
|
|
12
|
-
<=
|
|
12
|
+
<= 2104d6816f4f22f867b56cf9304b776f452a16d107835d73ee8a33c4ced210300583204bb135642f160c72c323d57ad509b904ff44d9f2b983e8b90468e19b6f431ea79000
|
|
13
13
|
=> 5b05000015058000002c8000027d800000008000000080000000
|
|
14
|
-
<=
|
|
14
|
+
<= 2104d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956200d8d6cf19a090a8080768d07a848acc333775e5327d2da8a4022301f7dbb88ff9000
|
|
15
15
|
=> 5b05000015058000002c8000027d800000018000000080000000
|
|
16
|
-
<=
|
|
16
|
+
<= 21046a7712fdac0cb4ed27076c707e7798be52cf6c93a2d43d5cf9b874d0a45a111e208e72477f799c2d3b2899b32b114988ab3d1af02dd0d3562196eccded2936f8449000
|
|
17
17
|
=> 5b05000015058000002c8000027d800000028000000080000000
|
|
18
|
-
<=
|
|
18
|
+
<= 21048ffc0c2e141ead220f05b30fa01ce9a3783c5a157219f922b02ec194308b1b452084cf4bdff7814f8c3d08bfceb9d2615bf8c6850b208477528f8376c4250e4b5a9000
|
|
19
19
|
`,
|
|
20
20
|
},
|
|
21
21
|
],
|
|
@@ -29,19 +29,51 @@ const aptos: CurrenciesData<Transaction> = {
|
|
|
29
29
|
index: 0,
|
|
30
30
|
freshAddress: "0x445fa0013887abd1a0c14acdec6e48090e0ad3fed3e08202aac15ca14f3be26b",
|
|
31
31
|
freshAddressPath: "44'/637'/0'/0/0",
|
|
32
|
-
blockHeight:
|
|
32
|
+
blockHeight: 286066372,
|
|
33
33
|
creationDate: "2024-12-18T12:26:31.070Z",
|
|
34
34
|
operationsCount: 5,
|
|
35
35
|
operations: [],
|
|
36
36
|
pendingOperations: [],
|
|
37
37
|
currencyId: "aptos",
|
|
38
|
-
lastSyncDate: "
|
|
38
|
+
lastSyncDate: "2025-02-04T14:00:46.693Z",
|
|
39
39
|
balance: "30100",
|
|
40
40
|
spendableBalance: "30100",
|
|
41
41
|
balanceHistoryCache: {
|
|
42
|
-
HOUR: {
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
HOUR: {
|
|
43
|
+
balances: [
|
|
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, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
58
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
59
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
60
|
+
30100,
|
|
61
|
+
],
|
|
62
|
+
latestDate: 1738677600000,
|
|
63
|
+
},
|
|
64
|
+
DAY: {
|
|
65
|
+
balances: [
|
|
66
|
+
0, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
67
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
68
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
69
|
+
30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100, 30100,
|
|
70
|
+
],
|
|
71
|
+
latestDate: 1738627200000,
|
|
72
|
+
},
|
|
73
|
+
WEEK: {
|
|
74
|
+
balances: [0, 30100, 30100, 30100, 30100, 30100, 30100, 30100],
|
|
75
|
+
latestDate: 1738454400000,
|
|
76
|
+
},
|
|
45
77
|
},
|
|
46
78
|
xpub: "d1a8c6a1cdd52dd40c7ea61ee4571fb51fcae440a594c1eca18636928f1d3956",
|
|
47
79
|
swapHistory: [],
|
|
@@ -50,13 +82,14 @@ const aptos: CurrenciesData<Transaction> = {
|
|
|
50
82
|
{
|
|
51
83
|
name: "NO_NAME",
|
|
52
84
|
transaction: fromTransactionRaw({
|
|
53
|
-
amount: "
|
|
85
|
+
amount: "1000",
|
|
54
86
|
recipient: "0xd20fa44192f94ba086ab16bfdf57e43ff118ada69b4c66fa9b9a9223cbc068c1",
|
|
55
87
|
useAllAmount: false,
|
|
88
|
+
subAccountId: null,
|
|
56
89
|
family: "aptos",
|
|
57
90
|
mode: "send",
|
|
58
|
-
fees: "
|
|
59
|
-
options: '{
|
|
91
|
+
fees: "900",
|
|
92
|
+
options: '{"maxGasAmount":"9","gasUnitPrice":"100"}',
|
|
60
93
|
errors: "{}",
|
|
61
94
|
}),
|
|
62
95
|
expectedStatus: () =>
|
|
@@ -64,9 +97,7 @@ const aptos: CurrenciesData<Transaction> = {
|
|
|
64
97
|
({
|
|
65
98
|
errors: {},
|
|
66
99
|
warnings: {},
|
|
67
|
-
|
|
68
|
-
amount: BigNumber("20000"),
|
|
69
|
-
totalSpent: BigNumber("20900"),
|
|
100
|
+
amount: BigNumber("1000"),
|
|
70
101
|
}),
|
|
71
102
|
},
|
|
72
103
|
],
|
|
@@ -1,23 +1,8 @@
|
|
|
1
1
|
import type { DeviceAction } from "@ledgerhq/coin-framework/bot/types";
|
|
2
2
|
import type { Transaction } from "../types";
|
|
3
|
-
import {
|
|
4
|
-
deviceActionFlow,
|
|
5
|
-
formatDeviceAmount,
|
|
6
|
-
SpeculosButton,
|
|
7
|
-
} from "@ledgerhq/coin-framework/bot/specs";
|
|
3
|
+
import { deviceActionFlow, SpeculosButton } from "@ledgerhq/coin-framework/bot/specs";
|
|
8
4
|
import { State } from "@ledgerhq/coin-framework/bot/types";
|
|
9
5
|
|
|
10
|
-
const typeWording = {
|
|
11
|
-
send: "Send",
|
|
12
|
-
lock: "Lock",
|
|
13
|
-
unlock: "Unlock",
|
|
14
|
-
withdraw: "Withdraw",
|
|
15
|
-
vote: "Vote",
|
|
16
|
-
revoke: "Revoke",
|
|
17
|
-
activate: "Activate",
|
|
18
|
-
register: "Create Account",
|
|
19
|
-
};
|
|
20
|
-
|
|
21
6
|
export const acceptTransaction: DeviceAction<Transaction, State<Transaction>> = deviceActionFlow({
|
|
22
7
|
steps: [
|
|
23
8
|
{
|
|
@@ -25,27 +10,35 @@ export const acceptTransaction: DeviceAction<Transaction, State<Transaction>> =
|
|
|
25
10
|
button: SpeculosButton.RIGHT,
|
|
26
11
|
},
|
|
27
12
|
{
|
|
28
|
-
title: "
|
|
13
|
+
title: "Transaction",
|
|
14
|
+
button: SpeculosButton.RIGHT,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
title: "Function",
|
|
18
|
+
button: SpeculosButton.RIGHT,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
title: "Coin Type",
|
|
22
|
+
button: SpeculosButton.RIGHT,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
title: "Receiver (1/2)",
|
|
26
|
+
button: SpeculosButton.RIGHT,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
title: "Receiver (2/2)",
|
|
29
30
|
button: SpeculosButton.RIGHT,
|
|
30
|
-
expectedValue: ({ transaction }) => {
|
|
31
|
-
return typeWording[transaction.mode as keyof typeof typeWording];
|
|
32
|
-
},
|
|
33
31
|
},
|
|
34
32
|
{
|
|
35
33
|
title: "Amount",
|
|
36
34
|
button: SpeculosButton.RIGHT,
|
|
37
|
-
expectedValue: ({ account, status }) =>
|
|
38
|
-
formatDeviceAmount(account.currency, status.amount, {
|
|
39
|
-
forceFloating: true,
|
|
40
|
-
}),
|
|
41
35
|
},
|
|
42
36
|
{
|
|
43
|
-
title: "
|
|
37
|
+
title: "Gas Fee",
|
|
44
38
|
button: SpeculosButton.RIGHT,
|
|
45
|
-
expectedValue: ({ transaction }) => transaction.recipient,
|
|
46
39
|
},
|
|
47
40
|
{
|
|
48
|
-
title: "
|
|
41
|
+
title: "Approve",
|
|
49
42
|
button: SpeculosButton.BOTH,
|
|
50
43
|
},
|
|
51
44
|
],
|
package/tsconfig.json
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
"compilerOptions": {
|
|
4
4
|
"declaration": true,
|
|
5
5
|
"declarationMap": true,
|
|
6
|
-
"module": "commonjs",
|
|
7
6
|
"downlevelIteration": true,
|
|
8
7
|
"lib": ["es2020", "dom"],
|
|
9
8
|
"rootDir": "./src",
|
|
10
9
|
"outDir": "lib",
|
|
11
|
-
"exactOptionalPropertyTypes": true
|
|
10
|
+
"exactOptionalPropertyTypes": true,
|
|
11
|
+
"module": "esnext",
|
|
12
|
+
"moduleResolution": "bundler",
|
|
12
13
|
},
|
|
13
14
|
"include": ["src/**/*", "deviceTransactionConfig.ts", "transaction.ts"]
|
|
14
15
|
}
|