@ledgerhq/coin-aptos 2.0.0-nightly.3 → 2.0.0-nightly.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +17 -0
- package/lib/__tests__/api/index.test.js +5 -61
- package/lib/__tests__/api/index.test.js.map +1 -1
- package/lib/__tests__/bridge/buildTransaction.test.js +2 -57
- package/lib/__tests__/bridge/buildTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/getFeesForTransaction.test.js +8 -109
- package/lib/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
- package/lib/__tests__/bridge/getTransactionStatus.test.js +37 -175
- package/lib/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib/__tests__/bridge/logic.test.js +115 -889
- package/lib/__tests__/bridge/logic.test.js.map +1 -1
- package/lib/__tests__/bridge/signOperation.test.js +2 -128
- package/lib/__tests__/bridge/signOperation.test.js.map +1 -1
- package/lib/__tests__/bridge/synchronisation.test.js +67 -1214
- package/lib/__tests__/bridge/synchronisation.test.js.map +1 -1
- package/lib/api/graphql/queries.js +6 -6
- package/lib/api/graphql/types.d.ts +9 -9
- package/lib/api/graphql/types.d.ts.map +1 -1
- package/lib/api/index.d.ts +2 -5
- package/lib/api/index.d.ts.map +1 -1
- package/lib/api/index.js +4 -30
- package/lib/api/index.js.map +1 -1
- package/lib/bridge/bridge.fixture.d.ts +0 -2
- package/lib/bridge/bridge.fixture.d.ts.map +1 -1
- package/lib/bridge/bridge.fixture.js +13 -85
- package/lib/bridge/bridge.fixture.js.map +1 -1
- package/lib/bridge/buildTransaction.d.ts.map +1 -1
- package/lib/bridge/buildTransaction.js +3 -29
- package/lib/bridge/buildTransaction.js.map +1 -1
- package/lib/bridge/estimateMaxSpendable.js +1 -1
- package/lib/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib/bridge/getFeesForTransaction.d.ts.map +1 -1
- package/lib/bridge/getFeesForTransaction.js +7 -12
- package/lib/bridge/getFeesForTransaction.js.map +1 -1
- package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib/bridge/getTransactionStatus.js +14 -28
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/logic.d.ts +8 -13
- package/lib/bridge/logic.d.ts.map +1 -1
- package/lib/bridge/logic.js +54 -152
- package/lib/bridge/logic.js.map +1 -1
- package/lib/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/prepareTransaction.js +2 -2
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/signOperation.d.ts.map +1 -1
- package/lib/bridge/signOperation.js +3 -17
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/synchronisation.d.ts +0 -15
- package/lib/bridge/synchronisation.d.ts.map +1 -1
- package/lib/bridge/synchronisation.js +4 -127
- package/lib/bridge/synchronisation.js.map +1 -1
- package/lib/constants.d.ts +1 -5
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +2 -6
- package/lib/constants.js.map +1 -1
- package/lib/test/bot-specs.d.ts.map +1 -1
- package/lib/test/bot-specs.js +1 -40
- package/lib/test/bot-specs.js.map +1 -1
- package/lib/test/bridgeDatasetTest.d.ts.map +1 -1
- package/lib/test/bridgeDatasetTest.js +62 -43
- package/lib/test/bridgeDatasetTest.js.map +1 -1
- package/lib/test/speculos-deviceActions.d.ts +0 -1
- package/lib/test/speculos-deviceActions.d.ts.map +1 -1
- package/lib/test/speculos-deviceActions.js +5 -37
- package/lib/test/speculos-deviceActions.js.map +1 -1
- package/lib/types/index.d.ts +7 -18
- package/lib/types/index.d.ts.map +1 -1
- package/lib-es/__tests__/api/index.test.js +5 -61
- package/lib-es/__tests__/api/index.test.js.map +1 -1
- package/lib-es/__tests__/bridge/buildTransaction.test.js +3 -58
- package/lib-es/__tests__/bridge/buildTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js +9 -110
- package/lib-es/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js +39 -177
- package/lib-es/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
- package/lib-es/__tests__/bridge/logic.test.js +117 -891
- package/lib-es/__tests__/bridge/logic.test.js.map +1 -1
- package/lib-es/__tests__/bridge/signOperation.test.js +2 -128
- package/lib-es/__tests__/bridge/signOperation.test.js.map +1 -1
- package/lib-es/__tests__/bridge/synchronisation.test.js +69 -1213
- package/lib-es/__tests__/bridge/synchronisation.test.js.map +1 -1
- package/lib-es/api/graphql/queries.js +6 -6
- package/lib-es/api/graphql/types.d.ts +9 -9
- package/lib-es/api/graphql/types.d.ts.map +1 -1
- package/lib-es/api/index.d.ts +2 -5
- package/lib-es/api/index.d.ts.map +1 -1
- package/lib-es/api/index.js +4 -30
- package/lib-es/api/index.js.map +1 -1
- package/lib-es/bridge/bridge.fixture.d.ts +0 -2
- package/lib-es/bridge/bridge.fixture.d.ts.map +1 -1
- package/lib-es/bridge/bridge.fixture.js +12 -82
- package/lib-es/bridge/bridge.fixture.js.map +1 -1
- package/lib-es/bridge/buildTransaction.d.ts.map +1 -1
- package/lib-es/bridge/buildTransaction.js +4 -30
- package/lib-es/bridge/buildTransaction.js.map +1 -1
- package/lib-es/bridge/estimateMaxSpendable.js +1 -1
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -1
- package/lib-es/bridge/getFeesForTransaction.js +8 -13
- package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +14 -28
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/logic.d.ts +8 -13
- package/lib-es/bridge/logic.d.ts.map +1 -1
- package/lib-es/bridge/logic.js +52 -146
- package/lib-es/bridge/logic.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +2 -2
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/signOperation.d.ts.map +1 -1
- package/lib-es/bridge/signOperation.js +3 -17
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/synchronisation.d.ts +0 -15
- package/lib-es/bridge/synchronisation.d.ts.map +1 -1
- package/lib-es/bridge/synchronisation.js +3 -123
- package/lib-es/bridge/synchronisation.js.map +1 -1
- package/lib-es/constants.d.ts +1 -5
- package/lib-es/constants.d.ts.map +1 -1
- package/lib-es/constants.js +1 -5
- package/lib-es/constants.js.map +1 -1
- package/lib-es/test/bot-specs.d.ts.map +1 -1
- package/lib-es/test/bot-specs.js +2 -41
- package/lib-es/test/bot-specs.js.map +1 -1
- package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -1
- package/lib-es/test/bridgeDatasetTest.js +59 -43
- package/lib-es/test/bridgeDatasetTest.js.map +1 -1
- package/lib-es/test/speculos-deviceActions.d.ts +0 -1
- package/lib-es/test/speculos-deviceActions.d.ts.map +1 -1
- package/lib-es/test/speculos-deviceActions.js +4 -36
- package/lib-es/test/speculos-deviceActions.js.map +1 -1
- package/lib-es/types/index.d.ts +7 -18
- package/lib-es/types/index.d.ts.map +1 -1
- package/package.json +5 -6
- package/src/__tests__/api/index.test.ts +5 -75
- package/src/__tests__/bridge/buildTransaction.test.ts +3 -85
- package/src/__tests__/bridge/getFeesForTransaction.test.ts +9 -144
- package/src/__tests__/bridge/getTransactionStatus.test.ts +38 -217
- package/src/__tests__/bridge/logic.test.ts +118 -922
- package/src/__tests__/bridge/signOperation.test.ts +2 -141
- package/src/__tests__/bridge/synchronisation.test.ts +71 -1265
- package/src/api/graphql/queries.ts +6 -6
- package/src/api/graphql/types.ts +9 -9
- package/src/api/index.ts +5 -32
- package/src/bridge/bridge.fixture.ts +12 -91
- package/src/bridge/buildTransaction.ts +6 -39
- package/src/bridge/estimateMaxSpendable.ts +1 -1
- package/src/bridge/getFeesForTransaction.ts +9 -14
- package/src/bridge/getTransactionStatus.ts +13 -35
- package/src/bridge/logic.ts +63 -202
- package/src/bridge/prepareTransaction.ts +3 -4
- package/src/bridge/signOperation.ts +3 -19
- package/src/bridge/synchronisation.ts +3 -170
- package/src/constants.ts +1 -12
- package/src/test/bot-specs.ts +3 -63
- package/src/test/bridgeDatasetTest.ts +59 -45
- package/src/test/speculos-deviceActions.ts +4 -40
- package/src/types/index.ts +1 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AAEzB,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GAAG;IACvD,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC;AAEnC,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE9D,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI;IAC/D,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AAEzB,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GAAG;IACvD,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC;AAEnC,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE9D,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI;IAC/D,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE;YAAE,EAAE,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,YAAY,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,CAAC;CACzE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-aptos",
|
|
3
|
-
"version": "2.0.0-nightly.
|
|
3
|
+
"version": "2.0.0-nightly.5",
|
|
4
4
|
"description": "Ledger Aptos Coin integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -90,15 +90,14 @@
|
|
|
90
90
|
"expect": "^27.4.6",
|
|
91
91
|
"lodash": "^4.17.21",
|
|
92
92
|
"rxjs": "^7.8.1",
|
|
93
|
-
"@ledgerhq/coin-framework": "^2.6.0-nightly.
|
|
94
|
-
"@ledgerhq/cryptoassets": "^13.15.0-nightly.
|
|
95
|
-
"@ledgerhq/types-cryptoassets": "^7.21.0",
|
|
93
|
+
"@ledgerhq/coin-framework": "^2.6.0-nightly.5",
|
|
94
|
+
"@ledgerhq/cryptoassets": "^13.15.0-nightly.3",
|
|
96
95
|
"@ledgerhq/devices": "8.4.5-nightly.0",
|
|
97
|
-
"@ledgerhq/errors": "^6.20.0-nightly.0",
|
|
98
96
|
"@ledgerhq/live-env": "^2.8.0-nightly.0",
|
|
99
97
|
"@ledgerhq/live-network": "^2.0.7-nightly.1",
|
|
100
98
|
"@ledgerhq/logs": "^6.12.0",
|
|
101
|
-
"@ledgerhq/types-live": "^6.66.0-nightly.
|
|
99
|
+
"@ledgerhq/types-live": "^6.66.0-nightly.4",
|
|
100
|
+
"@ledgerhq/errors": "^6.20.0-nightly.0"
|
|
102
101
|
},
|
|
103
102
|
"devDependencies": {
|
|
104
103
|
"@faker-js/faker": "^9.4.0",
|
|
@@ -12,7 +12,6 @@ import {
|
|
|
12
12
|
import network from "@ledgerhq/live-network";
|
|
13
13
|
import BigNumber from "bignumber.js";
|
|
14
14
|
import { AptosAPI } from "../../api";
|
|
15
|
-
import { TokenCurrency } from "@ledgerhq/types-cryptoassets";
|
|
16
15
|
|
|
17
16
|
jest.mock("@aptos-labs/ts-sdk");
|
|
18
17
|
jest.mock("@apollo/client");
|
|
@@ -84,77 +83,8 @@ describe("Aptos API", () => {
|
|
|
84
83
|
});
|
|
85
84
|
});
|
|
86
85
|
|
|
87
|
-
describe("getBalance", () => {
|
|
88
|
-
let token: TokenCurrency;
|
|
89
|
-
|
|
90
|
-
beforeEach(() => {
|
|
91
|
-
token = {
|
|
92
|
-
type: "TokenCurrency",
|
|
93
|
-
id: "aptos_token",
|
|
94
|
-
name: "Aptos Token",
|
|
95
|
-
ticker: "APT",
|
|
96
|
-
units: [{ name: "APT", code: "APT", magnitude: 6 }],
|
|
97
|
-
contractAddress: "APTOS_1_ADDRESS",
|
|
98
|
-
tokenType: "fungible_asset",
|
|
99
|
-
parentCurrency: {
|
|
100
|
-
type: "CryptoCurrency",
|
|
101
|
-
id: "aptos",
|
|
102
|
-
name: "Aptos",
|
|
103
|
-
ticker: "APT",
|
|
104
|
-
units: [{ name: "APT", code: "APT", magnitude: 6 }],
|
|
105
|
-
color: "#000000",
|
|
106
|
-
family: "aptos",
|
|
107
|
-
scheme: "aptos",
|
|
108
|
-
explorerViews: [],
|
|
109
|
-
managerAppName: "Aptos",
|
|
110
|
-
coinType: 637,
|
|
111
|
-
},
|
|
112
|
-
};
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
it("get coin balance", async () => {
|
|
116
|
-
mockedAptos.mockImplementation(() => ({
|
|
117
|
-
view: jest.fn().mockReturnValue(["1234"]),
|
|
118
|
-
}));
|
|
119
|
-
|
|
120
|
-
token.tokenType = "coin";
|
|
121
|
-
const api = new AptosAPI("aptos");
|
|
122
|
-
const balance = await api.getBalance("address", token);
|
|
123
|
-
|
|
124
|
-
expect(balance).toEqual(new BigNumber(1234));
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
it("get fungible assets balance", async () => {
|
|
128
|
-
mockedAptos.mockImplementation(() => ({
|
|
129
|
-
view: jest.fn().mockReturnValue(["12345"]),
|
|
130
|
-
}));
|
|
131
|
-
|
|
132
|
-
token.tokenType = "fungible_asset";
|
|
133
|
-
|
|
134
|
-
const api = new AptosAPI("aptos");
|
|
135
|
-
const balance = await api.getBalance("address", token);
|
|
136
|
-
|
|
137
|
-
expect(balance).toEqual(new BigNumber(12345));
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
it("return 0 balace if could not retrieve proper balance of fungible assets", async () => {
|
|
141
|
-
mockedAptos.mockImplementation(() => ({
|
|
142
|
-
view: jest.fn().mockImplementation(() => {
|
|
143
|
-
throw new Error("error");
|
|
144
|
-
}),
|
|
145
|
-
}));
|
|
146
|
-
|
|
147
|
-
token.tokenType = "fungible_asset";
|
|
148
|
-
|
|
149
|
-
const api = new AptosAPI("aptos");
|
|
150
|
-
const balance = await api.getBalance("address", token);
|
|
151
|
-
|
|
152
|
-
expect(balance).toEqual(new BigNumber(0));
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
|
-
|
|
156
86
|
describe("getAccountInfo", () => {
|
|
157
|
-
it("calls
|
|
87
|
+
it("calls getBalance, fetchTransactions and getHeight", async () => {
|
|
158
88
|
mockedAptos.mockImplementation(() => ({
|
|
159
89
|
view: jest.fn().mockReturnValue(["123"]),
|
|
160
90
|
getTransactionByVersion: jest.fn().mockReturnValue({
|
|
@@ -194,7 +124,7 @@ describe("Aptos API", () => {
|
|
|
194
124
|
mockedApolloClient.mockImplementation(() => ({
|
|
195
125
|
query: async () => ({
|
|
196
126
|
data: {
|
|
197
|
-
|
|
127
|
+
address_version_from_move_resources: [{ transaction_version: "v1" }],
|
|
198
128
|
},
|
|
199
129
|
loading: false,
|
|
200
130
|
networkStatus: 7,
|
|
@@ -260,7 +190,7 @@ describe("Aptos API", () => {
|
|
|
260
190
|
mockedApolloClient.mockImplementation(() => ({
|
|
261
191
|
query: async () => ({
|
|
262
192
|
data: {
|
|
263
|
-
|
|
193
|
+
address_version_from_move_resources: [{ transaction_version: "v1" }],
|
|
264
194
|
},
|
|
265
195
|
loading: false,
|
|
266
196
|
networkStatus: 7,
|
|
@@ -324,7 +254,7 @@ describe("Aptos API", () => {
|
|
|
324
254
|
mockedApolloClient.mockImplementation(() => ({
|
|
325
255
|
query: async () => ({
|
|
326
256
|
data: {
|
|
327
|
-
|
|
257
|
+
address_version_from_move_resources: [{ transaction_version: "v1" }],
|
|
328
258
|
},
|
|
329
259
|
loading: false,
|
|
330
260
|
networkStatus: 7,
|
|
@@ -378,7 +308,7 @@ describe("Aptos API", () => {
|
|
|
378
308
|
mockedApolloClient.mockImplementation(() => ({
|
|
379
309
|
query: async () => ({
|
|
380
310
|
data: {
|
|
381
|
-
|
|
311
|
+
address_version_from_move_resources: [{ transaction_version: "v1" }],
|
|
382
312
|
},
|
|
383
313
|
loading: false,
|
|
384
314
|
networkStatus: 7,
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createFixtureAccount,
|
|
3
|
-
createFixtureAccountWithSubAccount,
|
|
4
|
-
createFixtureTransaction,
|
|
5
|
-
createFixtureTransactionWithSubAccount,
|
|
6
|
-
} from "../../bridge/bridge.fixture";
|
|
1
|
+
import { createFixtureAccount, createFixtureTransaction } from "../../bridge/bridge.fixture";
|
|
7
2
|
import buildTransaction from "../../bridge/buildTransaction";
|
|
8
3
|
import { AptosAPI } from "../../api";
|
|
9
4
|
import { normalizeTransactionOptions } from "../../bridge/logic";
|
|
@@ -31,12 +26,8 @@ jest.mock("../../api", () => {
|
|
|
31
26
|
};
|
|
32
27
|
});
|
|
33
28
|
|
|
34
|
-
afterEach(() => {
|
|
35
|
-
jest.clearAllMocks();
|
|
36
|
-
});
|
|
37
|
-
|
|
38
29
|
describe("buildTransaction Test", () => {
|
|
39
|
-
it("should return
|
|
30
|
+
it("should return tx", async () => {
|
|
40
31
|
const account = createFixtureAccount();
|
|
41
32
|
const transaction = createFixtureTransaction();
|
|
42
33
|
const aptosClient = new AptosAPI(account.currency.id);
|
|
@@ -63,81 +54,8 @@ describe("buildTransaction Test", () => {
|
|
|
63
54
|
expect(generateTransactionArgs[1]).toEqual({
|
|
64
55
|
function: "0x1::aptos_account::transfer_coins",
|
|
65
56
|
typeArguments: ["0x1::aptos_coin::AptosCoin"],
|
|
66
|
-
functionArguments: ["
|
|
67
|
-
});
|
|
68
|
-
expect(generateTransactionArgs[2]).toEqual({ maxGasAmount: "100", gasUnitPrice: "200" });
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
it("should return transaction for token account of type fungible asset", async () => {
|
|
72
|
-
const account = createFixtureAccountWithSubAccount("fungible_asset");
|
|
73
|
-
const transaction = createFixtureTransactionWithSubAccount();
|
|
74
|
-
const aptosClient = new AptosAPI(account.currency.id);
|
|
75
|
-
const result = await buildTransaction(account, transaction, aptosClient);
|
|
76
|
-
|
|
77
|
-
const expected = "tx";
|
|
78
|
-
|
|
79
|
-
expect(result).toBe(expected);
|
|
80
|
-
|
|
81
|
-
const mockedNormalizeTransactionOptions = jest.mocked(normalizeTransactionOptions);
|
|
82
|
-
|
|
83
|
-
expect(mockedNormalizeTransactionOptions).toHaveBeenCalledTimes(1);
|
|
84
|
-
expect(generateTransaction).toHaveBeenCalledTimes(1);
|
|
85
|
-
|
|
86
|
-
const generateTransactionArgs: [string, InputEntryFunctionData, TransactionOptions][] =
|
|
87
|
-
generateTransaction.mock.calls[0];
|
|
88
|
-
|
|
89
|
-
expect(mockedNormalizeTransactionOptions.mock.calls[0][0]).toEqual({
|
|
90
|
-
maxGasAmount: "0",
|
|
91
|
-
gasUnitPrice: "0",
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
expect(generateTransactionArgs[0]).toBe("address");
|
|
95
|
-
expect(generateTransactionArgs[1]).toEqual({
|
|
96
|
-
function: "0x1::primary_fungible_store::transfer",
|
|
97
|
-
typeArguments: ["0x1::fungible_asset::Metadata"],
|
|
98
|
-
functionArguments: ["contract_address", "recipient", "0"],
|
|
99
|
-
});
|
|
100
|
-
expect(generateTransactionArgs[2]).toEqual({ maxGasAmount: "100", gasUnitPrice: "200" });
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
it("should return transaction for token account of type coin", async () => {
|
|
104
|
-
const account = createFixtureAccountWithSubAccount("coin");
|
|
105
|
-
const transaction = createFixtureTransactionWithSubAccount();
|
|
106
|
-
const aptosClient = new AptosAPI(account.currency.id);
|
|
107
|
-
const result = await buildTransaction(account, transaction, aptosClient);
|
|
108
|
-
|
|
109
|
-
const expected = "tx";
|
|
110
|
-
|
|
111
|
-
expect(result).toBe(expected);
|
|
112
|
-
|
|
113
|
-
const mockedNormalizeTransactionOptions = jest.mocked(normalizeTransactionOptions);
|
|
114
|
-
|
|
115
|
-
expect(mockedNormalizeTransactionOptions).toHaveBeenCalledTimes(1);
|
|
116
|
-
expect(generateTransaction).toHaveBeenCalledTimes(1);
|
|
117
|
-
|
|
118
|
-
const generateTransactionArgs: [string, InputEntryFunctionData, TransactionOptions][] =
|
|
119
|
-
generateTransaction.mock.calls[0];
|
|
120
|
-
|
|
121
|
-
expect(mockedNormalizeTransactionOptions.mock.calls[0][0]).toEqual({
|
|
122
|
-
maxGasAmount: "0",
|
|
123
|
-
gasUnitPrice: "0",
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
expect(generateTransactionArgs[0]).toBe("address");
|
|
127
|
-
expect(generateTransactionArgs[1]).toEqual({
|
|
128
|
-
function: "0x1::aptos_account::transfer_coins",
|
|
129
|
-
typeArguments: ["contract_address"],
|
|
130
|
-
functionArguments: ["recipient", "0"],
|
|
57
|
+
functionArguments: ["", "0"],
|
|
131
58
|
});
|
|
132
59
|
expect(generateTransactionArgs[2]).toEqual({ maxGasAmount: "100", gasUnitPrice: "200" });
|
|
133
60
|
});
|
|
134
|
-
|
|
135
|
-
it("should throw error if token is not supported", async () => {
|
|
136
|
-
const account = createFixtureAccountWithSubAccount("not_supported_token_type");
|
|
137
|
-
const transaction = createFixtureTransactionWithSubAccount();
|
|
138
|
-
const aptosClient = new AptosAPI(account.currency.id);
|
|
139
|
-
expect(async () => await buildTransaction(account, transaction, aptosClient)).rejects.toThrow(
|
|
140
|
-
"Token type not_supported_token_type not supported",
|
|
141
|
-
);
|
|
142
|
-
});
|
|
143
61
|
});
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import BigNumber from "bignumber.js";
|
|
2
|
-
import {
|
|
3
|
-
createFixtureAccount,
|
|
4
|
-
createFixtureAccountWithSubAccount,
|
|
5
|
-
createFixtureTransaction,
|
|
6
|
-
createFixtureTransactionWithSubAccount,
|
|
7
|
-
} from "../../bridge/bridge.fixture";
|
|
2
|
+
import { createFixtureAccount, createFixtureTransaction } from "../../bridge/bridge.fixture";
|
|
8
3
|
import * as getFeesForTransaction from "../../bridge/getFeesForTransaction";
|
|
9
4
|
import { AptosAPI } from "../../api";
|
|
10
5
|
|
|
@@ -29,18 +24,16 @@ jest.mock("@aptos-labs/ts-sdk", () => {
|
|
|
29
24
|
};
|
|
30
25
|
});
|
|
31
26
|
|
|
32
|
-
|
|
27
|
+
jest.mock("../../bridge/logic", () => {
|
|
28
|
+
return {
|
|
29
|
+
DEFAULT_GAS: 201,
|
|
30
|
+
DEFAULT_GAS_PRICE: 101,
|
|
31
|
+
ESTIMATE_GAS_MUL: 1,
|
|
32
|
+
normalizeTransactionOptions: jest.fn(),
|
|
33
|
+
};
|
|
34
|
+
});
|
|
33
35
|
|
|
34
36
|
describe("getFeesForTransaction Test", () => {
|
|
35
|
-
beforeEach(() => {
|
|
36
|
-
jest.mock("../../bridge/logic", () => ({
|
|
37
|
-
DEFAULT_GAS: 201,
|
|
38
|
-
DEFAULT_GAS_PRICE: 101,
|
|
39
|
-
ESTIMATE_GAS_MUL: 1,
|
|
40
|
-
normalizeTransactionOptions: jest.fn(),
|
|
41
|
-
getTokenAccount: mockedGetTokenAccount,
|
|
42
|
-
}));
|
|
43
|
-
});
|
|
44
37
|
describe("when using getFee", () => {
|
|
45
38
|
describe("with vm_status as INSUFFICIENT_BALANCE", () => {
|
|
46
39
|
it("should return a fee estimation object", async () => {
|
|
@@ -53,7 +46,6 @@ describe("getFeesForTransaction Test", () => {
|
|
|
53
46
|
gas_unit_price: "102",
|
|
54
47
|
},
|
|
55
48
|
]);
|
|
56
|
-
mockedGetTokenAccount.mockReturnValue(undefined);
|
|
57
49
|
|
|
58
50
|
const account = createFixtureAccount();
|
|
59
51
|
const transaction = createFixtureTransaction();
|
|
@@ -76,40 +68,6 @@ describe("getFeesForTransaction Test", () => {
|
|
|
76
68
|
|
|
77
69
|
expect(result).toEqual(expected);
|
|
78
70
|
});
|
|
79
|
-
|
|
80
|
-
it("should return a fee estimation object for the token transaction", async () => {
|
|
81
|
-
simulateTransaction = jest.fn(() => [
|
|
82
|
-
{
|
|
83
|
-
success: true,
|
|
84
|
-
vm_status: [],
|
|
85
|
-
expiration_timestamp_secs: 5,
|
|
86
|
-
gas_used: "202",
|
|
87
|
-
gas_unit_price: "102",
|
|
88
|
-
},
|
|
89
|
-
]);
|
|
90
|
-
mockedGetTokenAccount.mockReturnValue(undefined);
|
|
91
|
-
|
|
92
|
-
const account = createFixtureAccountWithSubAccount("coin");
|
|
93
|
-
const transaction = createFixtureTransactionWithSubAccount();
|
|
94
|
-
const aptosClient = new AptosAPI(account.currency.id);
|
|
95
|
-
|
|
96
|
-
transaction.amount = new BigNumber(1);
|
|
97
|
-
account.xpub = "xpub";
|
|
98
|
-
account.spendableBalance = new BigNumber(100000000);
|
|
99
|
-
|
|
100
|
-
const result = await getFeesForTransaction.getFee(account, transaction, aptosClient);
|
|
101
|
-
|
|
102
|
-
const expected = {
|
|
103
|
-
fees: new BigNumber(20604),
|
|
104
|
-
estimate: {
|
|
105
|
-
maxGasAmount: "202",
|
|
106
|
-
gasUnitPrice: "102",
|
|
107
|
-
},
|
|
108
|
-
errors: {},
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
expect(result).toEqual(expected);
|
|
112
|
-
});
|
|
113
71
|
});
|
|
114
72
|
|
|
115
73
|
describe("with vm_status as DUMMY_STATE", () => {
|
|
@@ -123,7 +81,6 @@ describe("getFeesForTransaction Test", () => {
|
|
|
123
81
|
gas_unit_price: "100",
|
|
124
82
|
},
|
|
125
83
|
]);
|
|
126
|
-
mockedGetTokenAccount.mockReturnValue(undefined);
|
|
127
84
|
|
|
128
85
|
const account = createFixtureAccount();
|
|
129
86
|
const transaction = createFixtureTransaction();
|
|
@@ -138,44 +95,6 @@ describe("getFeesForTransaction Test", () => {
|
|
|
138
95
|
}).rejects.toThrow("Simulation failed with following error: DUMMY_STATE");
|
|
139
96
|
});
|
|
140
97
|
});
|
|
141
|
-
|
|
142
|
-
describe("with vm_status as MAX_GAS_UNITS_BELOW_MIN_TRANSACTION_GAS_UNITS", () => {
|
|
143
|
-
it("should return a fee estimation object with GasInsuficeinetBalance error", async () => {
|
|
144
|
-
simulateTransaction = jest.fn(() => [
|
|
145
|
-
{
|
|
146
|
-
success: false,
|
|
147
|
-
vm_status: ["MAX_GAS_UNITS_BELOW_MIN_TRANSACTION_GAS_UNITS"],
|
|
148
|
-
expiration_timestamp_secs: 5,
|
|
149
|
-
gas_used: "0",
|
|
150
|
-
gas_unit_price: "100",
|
|
151
|
-
},
|
|
152
|
-
]);
|
|
153
|
-
mockedGetTokenAccount.mockReturnValue(undefined);
|
|
154
|
-
|
|
155
|
-
const account = createFixtureAccountWithSubAccount("coin");
|
|
156
|
-
const transaction = createFixtureTransactionWithSubAccount();
|
|
157
|
-
const aptosClient = new AptosAPI(account.currency.id);
|
|
158
|
-
|
|
159
|
-
transaction.amount = new BigNumber(1);
|
|
160
|
-
account.xpub = "xpub";
|
|
161
|
-
account.spendableBalance = new BigNumber(100000000);
|
|
162
|
-
|
|
163
|
-
const result = await getFeesForTransaction.getFee(account, transaction, aptosClient);
|
|
164
|
-
|
|
165
|
-
const expected = {
|
|
166
|
-
fees: new BigNumber(0),
|
|
167
|
-
estimate: {
|
|
168
|
-
maxGasAmount: "0",
|
|
169
|
-
gasUnitPrice: "100",
|
|
170
|
-
},
|
|
171
|
-
errors: {
|
|
172
|
-
maxGasAmount: "GasInsufficientBalance",
|
|
173
|
-
},
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
expect(result).toEqual(expected);
|
|
177
|
-
});
|
|
178
|
-
});
|
|
179
98
|
});
|
|
180
99
|
|
|
181
100
|
describe("when using getEstimatedGas", () => {
|
|
@@ -190,7 +109,6 @@ describe("getFeesForTransaction Test", () => {
|
|
|
190
109
|
gas_unit_price: "102",
|
|
191
110
|
},
|
|
192
111
|
]);
|
|
193
|
-
mockedGetTokenAccount.mockReturnValue(undefined);
|
|
194
112
|
|
|
195
113
|
const account = createFixtureAccount();
|
|
196
114
|
const transaction = createFixtureTransaction();
|
|
@@ -234,8 +152,6 @@ describe("getFeesForTransaction Test", () => {
|
|
|
234
152
|
gas_unit_price: "102",
|
|
235
153
|
},
|
|
236
154
|
]);
|
|
237
|
-
mockedGetTokenAccount.mockReturnValue(undefined);
|
|
238
|
-
|
|
239
155
|
const account = createFixtureAccount();
|
|
240
156
|
account.xpub = "xpub";
|
|
241
157
|
const transaction = createFixtureTransaction();
|
|
@@ -270,55 +186,4 @@ describe("getFeesForTransaction Test", () => {
|
|
|
270
186
|
});
|
|
271
187
|
});
|
|
272
188
|
});
|
|
273
|
-
|
|
274
|
-
describe("when key is in cache from a token account", () => {
|
|
275
|
-
beforeEach(() => {
|
|
276
|
-
jest.clearAllMocks();
|
|
277
|
-
});
|
|
278
|
-
|
|
279
|
-
it("should return cached fee", async () => {
|
|
280
|
-
simulateTransaction = jest.fn(() => [
|
|
281
|
-
{
|
|
282
|
-
success: true,
|
|
283
|
-
vm_status: [],
|
|
284
|
-
expiration_timestamp_secs: 5,
|
|
285
|
-
gas_used: "202",
|
|
286
|
-
gas_unit_price: "102",
|
|
287
|
-
},
|
|
288
|
-
]);
|
|
289
|
-
mockedGetTokenAccount.mockReturnValue(undefined);
|
|
290
|
-
|
|
291
|
-
const account = createFixtureAccountWithSubAccount("coin");
|
|
292
|
-
account.xpub = "xpub";
|
|
293
|
-
const transaction = createFixtureTransactionWithSubAccount();
|
|
294
|
-
const aptosClient = new AptosAPI(account.currency.id);
|
|
295
|
-
|
|
296
|
-
transaction.amount = new BigNumber(10);
|
|
297
|
-
|
|
298
|
-
const result1 = await getFeesForTransaction.getEstimatedGas(
|
|
299
|
-
account,
|
|
300
|
-
transaction,
|
|
301
|
-
aptosClient,
|
|
302
|
-
);
|
|
303
|
-
const result2 = await getFeesForTransaction.getEstimatedGas(
|
|
304
|
-
account,
|
|
305
|
-
transaction,
|
|
306
|
-
aptosClient,
|
|
307
|
-
);
|
|
308
|
-
|
|
309
|
-
expect(simulateTransaction.mock.calls).toHaveLength(1);
|
|
310
|
-
|
|
311
|
-
const expected = {
|
|
312
|
-
errors: {},
|
|
313
|
-
estimate: {
|
|
314
|
-
gasUnitPrice: "102",
|
|
315
|
-
maxGasAmount: "202",
|
|
316
|
-
},
|
|
317
|
-
fees: new BigNumber("20604"),
|
|
318
|
-
};
|
|
319
|
-
|
|
320
|
-
expect(result1).toEqual(expected);
|
|
321
|
-
expect(result2).toEqual(expected);
|
|
322
|
-
});
|
|
323
|
-
});
|
|
324
189
|
});
|