@ledgerhq/coin-aptos 1.4.0-nightly.4 → 1.4.0
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 +15 -29
- package/lib/__tests__/api/index.test.js +92 -67
- package/lib/__tests__/api/index.test.js.map +1 -1
- package/lib/__tests__/bridge/broadcast.test.js +17 -11
- package/lib/__tests__/bridge/broadcast.test.js.map +1 -1
- package/lib/__tests__/bridge/buildTransaction.test.js +12 -3
- package/lib/__tests__/bridge/buildTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/createTransaction.test.js +11 -2
- package/lib/__tests__/bridge/createTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/estimateMaxSpendable.test.js +21 -12
- package/lib/__tests__/bridge/estimateMaxSpendable.test.js.map +1 -1
- package/lib/__tests__/bridge/getFeesForTransaction.test.js +22 -13
- package/lib/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/getTransactionStatus.test.js +27 -18
- package/lib/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib/__tests__/bridge/index.test.js +12 -3
- package/lib/__tests__/bridge/index.test.js.map +1 -1
- package/lib/__tests__/bridge/prepareTransaction.test.js +35 -22
- package/lib/__tests__/bridge/prepareTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/signOperation.test.js +18 -9
- package/lib/__tests__/bridge/signOperation.test.js.map +1 -1
- package/lib/__tests__/bridge/synchronisation.test.js +65 -46
- package/lib/__tests__/bridge/synchronisation.test.js.map +1 -1
- package/lib/__tests__/bridge/transaction.test.js +23 -14
- package/lib/__tests__/bridge/transaction.test.js.map +1 -1
- package/lib/__tests__/network/index.test.js +16 -10
- package/lib/__tests__/network/index.test.js.map +1 -1
- package/lib/__tests__/signer/index.test.js +17 -6
- 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 +0 -1
- package/lib/api/graphql/queries.js.map +1 -1
- package/lib/api/index.d.ts.map +1 -1
- package/lib/api/index.js +142 -119
- 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 +12 -3
- package/lib/bridge/broadcast.js.map +1 -1
- package/lib/bridge/buildTransaction.js +12 -3
- package/lib/bridge/buildTransaction.js.map +1 -1
- package/lib/bridge/estimateMaxSpendable.js +12 -3
- package/lib/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib/bridge/getFeesForTransaction.js +17 -8
- package/lib/bridge/getFeesForTransaction.js.map +1 -1
- package/lib/bridge/getTransactionStatus.js +11 -2
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/logic.js +20 -17
- package/lib/bridge/logic.js.map +1 -1
- package/lib/bridge/prepareTransaction.js +13 -7
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/signOperation.js +53 -42
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/synchronisation.js +17 -7
- package/lib/bridge/synchronisation.js.map +1 -1
- package/lib/bridge/transaction.js +2 -16
- package/lib/bridge/transaction.js.map +1 -1
- package/lib/network/index.js +30 -19
- package/lib/network/index.js.map +1 -1
- package/lib/signer/index.js +12 -3
- 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 +26 -32
- package/lib/test/bot-specs.js.map +1 -1
- package/lib/test/cli.js +1 -5
- package/lib/test/cli.js.map +1 -1
- package/lib/test/speculos-deviceActions.d.ts.map +1 -1
- package/lib/test/speculos-deviceActions.js +20 -19
- package/lib/test/speculos-deviceActions.js.map +1 -1
- package/lib-es/__tests__/api/index.test.js +92 -67
- package/lib-es/__tests__/api/index.test.js.map +1 -1
- package/lib-es/__tests__/bridge/broadcast.test.js +17 -11
- package/lib-es/__tests__/bridge/broadcast.test.js.map +1 -1
- package/lib-es/__tests__/bridge/buildTransaction.test.js +12 -3
- package/lib-es/__tests__/bridge/buildTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/createTransaction.test.js +11 -2
- package/lib-es/__tests__/bridge/createTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/estimateMaxSpendable.test.js +21 -12
- package/lib-es/__tests__/bridge/estimateMaxSpendable.test.js.map +1 -1
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js +22 -13
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js +27 -18
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib-es/__tests__/bridge/index.test.js +12 -3
- package/lib-es/__tests__/bridge/index.test.js.map +1 -1
- package/lib-es/__tests__/bridge/prepareTransaction.test.js +35 -22
- package/lib-es/__tests__/bridge/prepareTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/signOperation.test.js +18 -9
- package/lib-es/__tests__/bridge/signOperation.test.js.map +1 -1
- package/lib-es/__tests__/bridge/synchronisation.test.js +65 -46
- package/lib-es/__tests__/bridge/synchronisation.test.js.map +1 -1
- package/lib-es/__tests__/bridge/transaction.test.js +23 -14
- package/lib-es/__tests__/bridge/transaction.test.js.map +1 -1
- package/lib-es/__tests__/network/index.test.js +16 -10
- package/lib-es/__tests__/network/index.test.js.map +1 -1
- package/lib-es/__tests__/signer/index.test.js +17 -6
- 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 +0 -1
- 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 +142 -119
- 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 +12 -3
- package/lib-es/bridge/broadcast.js.map +1 -1
- package/lib-es/bridge/buildTransaction.js +12 -3
- package/lib-es/bridge/buildTransaction.js.map +1 -1
- package/lib-es/bridge/estimateMaxSpendable.js +12 -3
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib-es/bridge/getFeesForTransaction.js +17 -8
- package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +11 -2
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/logic.js +20 -17
- package/lib-es/bridge/logic.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +13 -7
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/signOperation.js +53 -42
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/synchronisation.js +17 -7
- package/lib-es/bridge/synchronisation.js.map +1 -1
- package/lib-es/bridge/transaction.js +2 -16
- package/lib-es/bridge/transaction.js.map +1 -1
- package/lib-es/network/index.js +30 -19
- package/lib-es/network/index.js.map +1 -1
- package/lib-es/signer/index.js +12 -3
- 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 +27 -33
- package/lib-es/test/bot-specs.js.map +1 -1
- package/lib-es/test/cli.js +1 -5
- 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 +21 -20
- package/lib-es/test/speculos-deviceActions.js.map +1 -1
- package/package.json +5 -6
- package/src/api/graphql/queries.ts +0 -1
- package/src/api/index.ts +0 -1
- package/src/test/bot-specs.ts +33 -39
- package/src/test/speculos-deviceActions.ts +27 -20
- package/tsconfig.json +2 -3
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,gCACF,WAAW,KACd,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAC7D,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;AAM5C,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAa3D,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CA+B1E,CAAC"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
import { deviceActionFlow, SpeculosButton } from "@ledgerhq/coin-framework/bot/specs";
|
|
1
|
+
import { deviceActionFlow, formatDeviceAmount, SpeculosButton, } from "@ledgerhq/coin-framework/bot/specs";
|
|
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
|
+
};
|
|
2
12
|
export const acceptTransaction = deviceActionFlow({
|
|
3
13
|
steps: [
|
|
4
14
|
{
|
|
@@ -6,35 +16,26 @@ export const acceptTransaction = deviceActionFlow({
|
|
|
6
16
|
button: SpeculosButton.RIGHT,
|
|
7
17
|
},
|
|
8
18
|
{
|
|
9
|
-
title: "
|
|
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)",
|
|
19
|
+
title: "Type",
|
|
26
20
|
button: SpeculosButton.RIGHT,
|
|
21
|
+
expectedValue: ({ transaction }) => {
|
|
22
|
+
return typeWording[transaction.mode];
|
|
23
|
+
},
|
|
27
24
|
},
|
|
28
25
|
{
|
|
29
26
|
title: "Amount",
|
|
30
27
|
button: SpeculosButton.RIGHT,
|
|
28
|
+
expectedValue: ({ account, status }) => formatDeviceAmount(account.currency, status.amount, {
|
|
29
|
+
forceFloating: true,
|
|
30
|
+
}),
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
|
-
title: "
|
|
33
|
+
title: "Address",
|
|
34
34
|
button: SpeculosButton.RIGHT,
|
|
35
|
+
expectedValue: ({ transaction }) => transaction.recipient,
|
|
35
36
|
},
|
|
36
37
|
{
|
|
37
|
-
title: "
|
|
38
|
+
title: "Accept",
|
|
38
39
|
button: SpeculosButton.BOTH,
|
|
39
40
|
},
|
|
40
41
|
],
|
|
@@ -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,EACL,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,oCAAoC,CAAC;AAG5C,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,gBAAgB;CAC3B,CAAC;AAEF,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,MAAM;YACb,MAAM,EAAE,cAAc,CAAC,KAAK;YAC5B,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;gBACjC,OAAO,WAAW,CAAC,WAAW,CAAC,IAAgC,CAAC,CAAC;YACnE,CAAC;SACF;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,cAAc,CAAC,KAAK;YAC5B,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CACrC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;gBAClD,aAAa,EAAE,IAAI;aACpB,CAAC;SACL;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,cAAc,CAAC,KAAK;YAC5B,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS;SAC1D;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,cAAc,CAAC,IAAI;SAC5B;KACF;CACF,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-aptos",
|
|
3
|
-
"version": "1.4.0
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Ledger Aptos Coin integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -87,17 +87,16 @@
|
|
|
87
87
|
"bignumber.js": "^9.1.2",
|
|
88
88
|
"graphql": "^16.10.0",
|
|
89
89
|
"invariant": "^2.2.4",
|
|
90
|
-
"expect": "^27.4.6",
|
|
91
90
|
"lodash": "^4.17.21",
|
|
92
91
|
"rxjs": "^7.8.1",
|
|
93
|
-
"@ledgerhq/coin-framework": "^
|
|
94
|
-
"@ledgerhq/cryptoassets": "^13.10.0
|
|
92
|
+
"@ledgerhq/coin-framework": "^0.25.0",
|
|
93
|
+
"@ledgerhq/cryptoassets": "^13.10.0",
|
|
95
94
|
"@ledgerhq/devices": "8.4.4",
|
|
96
95
|
"@ledgerhq/errors": "^6.19.1",
|
|
97
96
|
"@ledgerhq/live-env": "^2.5.0",
|
|
98
97
|
"@ledgerhq/live-network": "^2.0.4",
|
|
99
98
|
"@ledgerhq/logs": "^6.12.0",
|
|
100
|
-
"@ledgerhq/types-live": "^6.
|
|
99
|
+
"@ledgerhq/types-live": "^6.59.0"
|
|
101
100
|
},
|
|
102
101
|
"devDependencies": {
|
|
103
102
|
"@faker-js/faker": "^9.4.0",
|
|
@@ -112,7 +111,7 @@
|
|
|
112
111
|
},
|
|
113
112
|
"scripts": {
|
|
114
113
|
"clean": "rimraf lib lib-es",
|
|
115
|
-
"build": "tsc
|
|
114
|
+
"build": "tsc && tsc -m ES6 --outDir lib-es",
|
|
116
115
|
"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",
|
|
117
116
|
"prewatch": "pnpm build",
|
|
118
117
|
"watch": "tsc --watch",
|
package/src/api/index.ts
CHANGED
package/src/test/bot-specs.ts
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import invariant from "invariant";
|
|
2
|
-
import expect from "expect";
|
|
3
2
|
import { DeviceModelId } from "@ledgerhq/devices";
|
|
4
|
-
import BigNumber from "bignumber.js";
|
|
5
|
-
import type { Transaction } from "../types";
|
|
6
3
|
import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
|
|
7
|
-
import {
|
|
4
|
+
import { parseCurrencyUnit } from "@ledgerhq/coin-framework/currencies/index";
|
|
5
|
+
import { botTest, genericTestDestination, pickSiblings } from "@ledgerhq/coin-framework/bot/specs";
|
|
8
6
|
import type { AppSpec } from "@ledgerhq/coin-framework/bot/types";
|
|
9
7
|
import { acceptTransaction } from "./speculos-deviceActions";
|
|
8
|
+
import type { Transaction } from "../types";
|
|
10
9
|
|
|
11
|
-
const
|
|
12
|
-
const
|
|
10
|
+
const currency = getCryptoCurrencyById("aptos");
|
|
11
|
+
const minBalanceNewAccount = parseCurrencyUnit(currency.units[0], "0.0001");
|
|
12
|
+
const maxAccountSiblings = 4;
|
|
13
13
|
|
|
14
|
-
const
|
|
14
|
+
const aptos: AppSpec<Transaction> = {
|
|
15
15
|
name: "Aptos",
|
|
16
|
-
currency
|
|
16
|
+
currency,
|
|
17
17
|
appQuery: {
|
|
18
18
|
model: DeviceModelId.nanoSP,
|
|
19
19
|
appName: "Aptos",
|
|
20
20
|
},
|
|
21
21
|
genericDeviceAction: acceptTransaction,
|
|
22
|
-
testTimeout:
|
|
23
|
-
minViableAmount:
|
|
22
|
+
testTimeout: 5 * 60 * 1000,
|
|
23
|
+
minViableAmount: minBalanceNewAccount,
|
|
24
24
|
transactionCheck: ({ maxSpendable }) => {
|
|
25
|
-
invariant(maxSpendable.gt(
|
|
25
|
+
invariant(maxSpendable.gt(minBalanceNewAccount), "balance is too low");
|
|
26
26
|
},
|
|
27
27
|
mutations: [
|
|
28
28
|
{
|
|
@@ -31,8 +31,9 @@ const aptosSpecs: AppSpec<Transaction> = {
|
|
|
31
31
|
maxRun: 1,
|
|
32
32
|
testDestination: genericTestDestination,
|
|
33
33
|
transaction: ({ account, siblings, bridge, maxSpendable }) => {
|
|
34
|
-
invariant(maxSpendable.gt(
|
|
35
|
-
|
|
34
|
+
invariant(maxSpendable.gt(minBalanceNewAccount), "balance is too low");
|
|
35
|
+
|
|
36
|
+
const sibling = pickSiblings(siblings, maxAccountSiblings);
|
|
36
37
|
const recipient = sibling.freshAddress;
|
|
37
38
|
const amount = maxSpendable.div(2).integerValue();
|
|
38
39
|
|
|
@@ -49,44 +50,37 @@ const aptosSpecs: AppSpec<Transaction> = {
|
|
|
49
50
|
updates,
|
|
50
51
|
};
|
|
51
52
|
},
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
accountBeforeTransaction.spendableBalance.minus(operation.value),
|
|
53
|
+
test: ({ account, accountBeforeTransaction, operation }) => {
|
|
54
|
+
botTest("account balance moved with operation.value", () =>
|
|
55
|
+
expect(account.balance.toString()).toBe(
|
|
56
|
+
accountBeforeTransaction.balance.minus(operation.value).toString(),
|
|
57
57
|
),
|
|
58
58
|
);
|
|
59
59
|
},
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
name: "
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
name: "Send max",
|
|
63
|
+
maxRun: 2,
|
|
64
|
+
testDestination: genericTestDestination,
|
|
65
65
|
transaction: ({ account, siblings, bridge }) => {
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
useAllAmount: true,
|
|
72
|
-
},
|
|
73
|
-
];
|
|
66
|
+
const sibling = pickSiblings(siblings, 4);
|
|
67
|
+
const recipient = sibling.freshAddress;
|
|
68
|
+
const transaction = bridge.createTransaction(account);
|
|
74
69
|
|
|
75
70
|
return {
|
|
76
|
-
transaction
|
|
77
|
-
updates,
|
|
71
|
+
transaction,
|
|
72
|
+
updates: [{ recipient }, { useAllAmount: true }],
|
|
78
73
|
};
|
|
79
74
|
},
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
75
|
+
test: ({ account, accountBeforeTransaction, operation }) => {
|
|
76
|
+
botTest("Account balance should have decreased", () => {
|
|
77
|
+
expect(account.balance.toNumber()).toEqual(
|
|
78
|
+
accountBeforeTransaction.balance.minus(operation.value).toNumber(),
|
|
79
|
+
);
|
|
80
|
+
});
|
|
85
81
|
},
|
|
86
82
|
},
|
|
87
83
|
],
|
|
88
84
|
};
|
|
89
85
|
|
|
90
|
-
export default {
|
|
91
|
-
aptosSpecs,
|
|
92
|
-
};
|
|
86
|
+
export default { aptos };
|
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
import type { DeviceAction } from "@ledgerhq/coin-framework/bot/types";
|
|
2
2
|
import type { Transaction } from "../types";
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
deviceActionFlow,
|
|
5
|
+
formatDeviceAmount,
|
|
6
|
+
SpeculosButton,
|
|
7
|
+
} from "@ledgerhq/coin-framework/bot/specs";
|
|
4
8
|
import { State } from "@ledgerhq/coin-framework/bot/types";
|
|
5
9
|
|
|
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
|
+
|
|
6
21
|
export const acceptTransaction: DeviceAction<Transaction, State<Transaction>> = deviceActionFlow({
|
|
7
22
|
steps: [
|
|
8
23
|
{
|
|
@@ -10,35 +25,27 @@ export const acceptTransaction: DeviceAction<Transaction, State<Transaction>> =
|
|
|
10
25
|
button: SpeculosButton.RIGHT,
|
|
11
26
|
},
|
|
12
27
|
{
|
|
13
|
-
title: "
|
|
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)",
|
|
28
|
+
title: "Type",
|
|
30
29
|
button: SpeculosButton.RIGHT,
|
|
30
|
+
expectedValue: ({ transaction }) => {
|
|
31
|
+
return typeWording[transaction.mode as keyof typeof typeWording];
|
|
32
|
+
},
|
|
31
33
|
},
|
|
32
34
|
{
|
|
33
35
|
title: "Amount",
|
|
34
36
|
button: SpeculosButton.RIGHT,
|
|
37
|
+
expectedValue: ({ account, status }) =>
|
|
38
|
+
formatDeviceAmount(account.currency, status.amount, {
|
|
39
|
+
forceFloating: true,
|
|
40
|
+
}),
|
|
35
41
|
},
|
|
36
42
|
{
|
|
37
|
-
title: "
|
|
43
|
+
title: "Address",
|
|
38
44
|
button: SpeculosButton.RIGHT,
|
|
45
|
+
expectedValue: ({ transaction }) => transaction.recipient,
|
|
39
46
|
},
|
|
40
47
|
{
|
|
41
|
-
title: "
|
|
48
|
+
title: "Accept",
|
|
42
49
|
button: SpeculosButton.BOTH,
|
|
43
50
|
},
|
|
44
51
|
],
|
package/tsconfig.json
CHANGED
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
"compilerOptions": {
|
|
4
4
|
"declaration": true,
|
|
5
5
|
"declarationMap": true,
|
|
6
|
+
"module": "commonjs",
|
|
6
7
|
"downlevelIteration": true,
|
|
7
8
|
"lib": ["es2020", "dom"],
|
|
8
9
|
"rootDir": "./src",
|
|
9
10
|
"outDir": "lib",
|
|
10
|
-
"exactOptionalPropertyTypes": true
|
|
11
|
-
"module": "esnext",
|
|
12
|
-
"moduleResolution": "bundler",
|
|
11
|
+
"exactOptionalPropertyTypes": true
|
|
13
12
|
},
|
|
14
13
|
"include": ["src/**/*", "deviceTransactionConfig.ts", "transaction.ts"]
|
|
15
14
|
}
|