@ledgerhq/coin-filecoin 1.14.1-nightly.20251113102200 → 1.15.0-nightly.20251115023630
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/.unimportedrc.json +2 -0
- package/CHANGELOG.md +11 -7
- package/lib/api/api.d.ts +5 -3
- package/lib/api/api.d.ts.map +1 -1
- package/lib/api/api.js +66 -21
- package/lib/api/api.js.map +1 -1
- package/lib/common-logic/index.d.ts +1 -1
- package/lib/common-logic/index.d.ts.map +1 -1
- package/lib/common-logic/index.js +1 -3
- package/lib/common-logic/index.js.map +1 -1
- package/lib/common-logic/utils.d.ts +0 -2
- package/lib/common-logic/utils.d.ts.map +1 -1
- package/lib/common-logic/utils.js +16 -68
- package/lib/common-logic/utils.js.map +1 -1
- package/lib/erc20/tokenAccounts.d.ts +2 -3
- package/lib/erc20/tokenAccounts.d.ts.map +1 -1
- package/lib/erc20/tokenAccounts.js +46 -32
- package/lib/erc20/tokenAccounts.js.map +1 -1
- package/lib/test/fixtures.d.ts +87 -0
- package/lib/test/fixtures.d.ts.map +1 -0
- package/lib/test/fixtures.js +311 -0
- package/lib/test/fixtures.js.map +1 -0
- package/lib/types/common.d.ts +22 -2
- package/lib/types/common.d.ts.map +1 -1
- package/lib-es/api/api.d.ts +5 -3
- package/lib-es/api/api.d.ts.map +1 -1
- package/lib-es/api/api.js +61 -18
- package/lib-es/api/api.js.map +1 -1
- package/lib-es/common-logic/index.d.ts +1 -1
- package/lib-es/common-logic/index.d.ts.map +1 -1
- package/lib-es/common-logic/index.js +1 -1
- package/lib-es/common-logic/index.js.map +1 -1
- package/lib-es/common-logic/utils.d.ts +0 -2
- package/lib-es/common-logic/utils.d.ts.map +1 -1
- package/lib-es/common-logic/utils.js +16 -66
- package/lib-es/common-logic/utils.js.map +1 -1
- package/lib-es/erc20/tokenAccounts.d.ts +2 -3
- package/lib-es/erc20/tokenAccounts.d.ts.map +1 -1
- package/lib-es/erc20/tokenAccounts.js +47 -33
- package/lib-es/erc20/tokenAccounts.js.map +1 -1
- package/lib-es/test/fixtures.d.ts +87 -0
- package/lib-es/test/fixtures.d.ts.map +1 -0
- package/lib-es/test/fixtures.js +297 -0
- package/lib-es/test/fixtures.js.map +1 -0
- package/lib-es/types/common.d.ts +22 -2
- package/lib-es/types/common.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/api/api.ts +107 -26
- package/src/api/api.unit.test.ts +217 -0
- package/src/common-logic/index.ts +0 -2
- package/src/common-logic/utils.ts +19 -90
- package/src/common-logic/utils.unit.test.ts +429 -0
- package/src/erc20/tokenAccounts.ts +59 -34
- package/src/erc20/tokenAccounts.unit.test.ts +73 -0
- package/src/test/fixtures.ts +342 -0
- package/src/types/common.ts +24 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenAccounts.js","sourceRoot":"","sources":["../../src/erc20/tokenAccounts.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAEhC,
|
|
1
|
+
{"version":3,"file":"tokenAccounts.js","sourceRoot":"","sources":["../../src/erc20/tokenAccounts.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAEhC,gCAAiF;AACjF,0DAAkC;AAClC,oCAAmD;AACnD,kEAAiG;AACjG,wEAAoF;AACpF,yCAAqC;AACrC,gEAAqC;AACrC,kEAAuE;AACvE,wCAAoD;AACpD,mCAAgC;AAChC,8DAAuC;AACvC,6CAAqD;AACrD,2CAA8C;AAC9C,yEAAqE;AAE9D,MAAM,mBAAmB,GAAG,CACjC,EAAiB,EACjB,OAAe,EACf,SAAiB,EACJ,EAAE;IACf,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAC5E,MAAM,QAAQ,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;QAE/D,MAAM,GAAG,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,KAAK,gBAAQ,CAAC,EAAE,CAAC;QAEzC,MAAM,GAAG,GAAgB,EAAE,CAAC;QAC5B,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,CAAC,IAAI,CAAC;gBACP,EAAE,EAAE,IAAA,6BAAiB,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;gBAC7C,IAAI;gBACJ,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,QAAQ;gBACf,GAAG;gBACH,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,EAAE;gBACb,SAAS;gBACT,OAAO,EAAE,CAAC,IAAI,CAAC;gBACf,UAAU,EAAE,CAAC,EAAE,CAAC;gBAChB,IAAI;gBACJ,SAAS;gBACT,KAAK,EAAE,EAAE;aACV,CAAC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC;gBACP,EAAE,EAAE,IAAA,6BAAiB,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;gBAC5C,IAAI;gBACJ,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,QAAQ;gBACf,GAAG;gBACH,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,EAAE;gBACb,SAAS;gBACT,OAAO,EAAE,CAAC,IAAI,CAAC;gBACf,UAAU,EAAE,CAAC,EAAE,CAAC;gBAChB,IAAI;gBACJ,SAAS;gBACT,KAAK,EAAE,EAAE;aACV,CAAC,CAAC;QACL,CAAC;QAED,IAAA,mBAAS,EAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;QAEpD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAA,UAAG,EAAC,OAAO,EAAE,0DAA0D,EAAE,CAAC,CAAC,CAAC;QAC5E,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AA9DW,QAAA,mBAAmB,uBA8D9B;AAEK,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,UAAkB,EAClB,eAAuB,EACvB,cAAwB;IAExB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,IAAA,qCAA+B,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE7E,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,cAAc,EAAE,WAAW,IAAI,EAAE,CAAC;QAC3C,CAAC;QAED,gEAAgE;QAChE,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAC1C,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAChB,MAAM,YAAY,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YAC7D,QAAQ,CAAC,gBAAgB,GAAG,YAAY,CAAC;YAEzC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,CACH,CAAC;QAEF,8CAA8C;QAC9C,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,cAAc,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAC3F,CAAC;QAEF,gDAAgD;QAChD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC7C,MAAM,aAAa,GAAmB,EAAE,CAAC;QAEzC,sCAAsC;QACtC,KAAK,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACvE,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAErC,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAoB,GAAE,CAAC,4BAA4B,CACrE,YAAY,EACZ,UAAU,CACX,CAAC;YACF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAA,UAAG,EAAC,OAAO,EAAE,mCAAmC,YAAY,EAAE,CAAC,CAAC;gBAChE,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAsB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACpE,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,cAAc,GAAG,IAAA,4BAAoB,EAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YAEpE,MAAM,UAAU,GAAG,IAAI;iBACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,2BAAmB,EAAC,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;iBACjE,IAAI,EAAE;iBACN,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAEvD,yCAAyC;YACzC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClD,SAAS;YACX,CAAC;YAED,MAAM,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAE9D,MAAM,YAAY,GAAiB;gBACjC,IAAI,EAAE,mBAAW,CAAC,YAAY;gBAC9B,EAAE,EAAE,cAAc;gBAClB,QAAQ,EAAE,eAAe;gBACzB,KAAK;gBACL,OAAO,EAAE,SAAS;gBAClB,gBAAgB,EAAE,SAAS;gBAC3B,eAAe,EAAE,IAAI,CAAC,MAAM;gBAC5B,UAAU,EAAE,IAAA,oBAAQ,EAAC,eAAe,EAAE,UAAU,IAAI,EAAE,EAAE,UAAU,CAAC;gBACnE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,IAAI,EAAE;gBAC3D,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE;gBACnE,WAAW,EAAE,eAAe,EAAE,WAAW,IAAI,EAAE;gBAC/C,mBAAmB,EAAE,yBAAiB,EAAE,8BAA8B;aACvE,CAAC;YAEF,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QAED,uDAAuD;QACvD,KAAK,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,IAAI,mBAAmB,EAAE,CAAC;YAClE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1C,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAA,UAAG,EAAC,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAhGD,gDAgGC;AAEM,MAAM,eAAe,GAAG,CAAC,gBAAwB,EAAE,EAAE;IAC1D,IAAA,UAAG,EAAC,OAAO,EAAE,8BAA8B,gBAAgB,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,oBAAoB;IAClF,MAAM,WAAW,GAAG,cAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAExC,OAAO,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B;AAEK,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE;IAC3E,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,SAAS,CAAC,oBAAW,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAJW,QAAA,uBAAuB,2BAIlC;AAEK,MAAM,sBAAsB,GAAG,CAAC,SAAiB,EAAE,MAAiB,EAAE,EAAE;IAC7E,IAAA,UAAG,EAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEjF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,0BAAiB,EAAE,CAAC;IAChC,CAAC;IAED,SAAS,GAAG,IAAA,gCAAsB,EAAC,SAAS,CAAC,CAAC;IAE9C,OAAO,IAAA,+BAAuB,EAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AAVW,QAAA,sBAAsB,0BAUjC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Account, Operation, TokenAccount } from "@ledgerhq/types-live";
|
|
2
|
+
import type { Transaction } from "../types/bridge";
|
|
3
|
+
import type { TransactionResponse, BalanceResponse, EstimatedFeesResponse, ERC20Transfer } from "../types/common";
|
|
4
|
+
/**
|
|
5
|
+
* Sample Filecoin addresses for testing
|
|
6
|
+
*/
|
|
7
|
+
export declare const TEST_ADDRESSES: {
|
|
8
|
+
F1_ADDRESS: string;
|
|
9
|
+
F4_ADDRESS: string;
|
|
10
|
+
RECIPIENT_F1: string;
|
|
11
|
+
RECIPIENT_F4: string;
|
|
12
|
+
ERC20_CONTRACT: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Sample transaction hashes for testing
|
|
16
|
+
*/
|
|
17
|
+
export declare const TEST_TRANSACTION_HASHES: {
|
|
18
|
+
VALID: string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Sample block heights for testing
|
|
22
|
+
*/
|
|
23
|
+
export declare const TEST_BLOCK_HEIGHTS: {
|
|
24
|
+
CURRENT: number;
|
|
25
|
+
RECENT: number;
|
|
26
|
+
OLD: number;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Create a mock Filecoin account for testing
|
|
30
|
+
*
|
|
31
|
+
* @param options Optional parameters to override default values
|
|
32
|
+
* @returns A mock Filecoin account
|
|
33
|
+
*/
|
|
34
|
+
export declare const createMockAccount: (options?: Partial<Account>) => Account;
|
|
35
|
+
/**
|
|
36
|
+
* Create a mock Filecoin transaction for testing
|
|
37
|
+
*
|
|
38
|
+
* @param options Optional parameters to override default values
|
|
39
|
+
* @returns A mock Filecoin transaction
|
|
40
|
+
*/
|
|
41
|
+
export declare const createMockTransaction: (options?: Partial<Transaction>) => Transaction;
|
|
42
|
+
/**
|
|
43
|
+
* Create a mock Filecoin operation for testing
|
|
44
|
+
*
|
|
45
|
+
* @param account The account associated with the operation
|
|
46
|
+
* @param transaction The transaction details
|
|
47
|
+
* @param options Optional parameters to override default values
|
|
48
|
+
* @returns A mock Filecoin operation
|
|
49
|
+
*/
|
|
50
|
+
export declare const createMockOperation: (account: Account, transaction: Transaction, options?: Partial<Operation>) => Operation;
|
|
51
|
+
/**
|
|
52
|
+
* Create a mock TokenAccount for testing ERC20 functionality
|
|
53
|
+
*
|
|
54
|
+
* @param parentAccount The parent Filecoin account
|
|
55
|
+
* @param options Optional parameters to override default values
|
|
56
|
+
* @returns A mock TokenAccount
|
|
57
|
+
*/
|
|
58
|
+
export declare const createMockTokenAccount: (parentAccount: Account, options?: Partial<TokenAccount>) => TokenAccount;
|
|
59
|
+
/**
|
|
60
|
+
* Create mock API response for balance
|
|
61
|
+
*
|
|
62
|
+
* @param options Optional parameters to override default values
|
|
63
|
+
* @returns A mock BalanceResponse
|
|
64
|
+
*/
|
|
65
|
+
export declare const createMockBalanceResponse: (options?: Partial<BalanceResponse>) => BalanceResponse;
|
|
66
|
+
/**
|
|
67
|
+
* Create mock API response for transaction
|
|
68
|
+
*
|
|
69
|
+
* @param options Optional parameters to override default values
|
|
70
|
+
* @returns A mock TransactionResponse
|
|
71
|
+
*/
|
|
72
|
+
export declare const createMockTransactionResponse: (options?: Partial<TransactionResponse>) => TransactionResponse;
|
|
73
|
+
/**
|
|
74
|
+
* Create mock API response for estimated fees
|
|
75
|
+
*
|
|
76
|
+
* @param options Optional parameters to override default values
|
|
77
|
+
* @returns A mock EstimatedFeesResponse
|
|
78
|
+
*/
|
|
79
|
+
export declare const createMockEstimatedFeesResponse: (options?: Partial<EstimatedFeesResponse>) => EstimatedFeesResponse;
|
|
80
|
+
/**
|
|
81
|
+
* Create mock ERC20 transfer for testing token functionality
|
|
82
|
+
*
|
|
83
|
+
* @param options Optional parameters to override default values
|
|
84
|
+
* @returns A mock ERC20Transfer
|
|
85
|
+
*/
|
|
86
|
+
export declare const createMockERC20Transfer: (options?: Partial<ERC20Transfer>) => ERC20Transfer;
|
|
87
|
+
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/test/fixtures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAiB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACd,MAAM,iBAAiB,CAAC;AAIzB;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;CAW1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;CAEnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,aAAc,QAAQ,OAAO,CAAC,KAAG,OA8E9D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,aAAc,QAAQ,WAAW,CAAC,KAAG,WAmBtE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,YACrB,OAAO,eACH,WAAW,YACd,QAAQ,SAAS,CAAC,KAC3B,SAuBF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,kBAClB,OAAO,YACZ,QAAQ,YAAY,CAAC,KAC9B,YA2CF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,aAAc,QAAQ,eAAe,CAAC,KAAG,eAM9E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,aAC9B,QAAQ,mBAAmB,CAAC,KACrC,mBA0BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,aAChC,QAAQ,qBAAqB,CAAC,KACvC,qBAOF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,aAAc,QAAQ,aAAa,CAAC,KAAG,aAmB1E,CAAC"}
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createMockERC20Transfer = exports.createMockEstimatedFeesResponse = exports.createMockTransactionResponse = exports.createMockBalanceResponse = exports.createMockTokenAccount = exports.createMockOperation = exports.createMockTransaction = exports.createMockAccount = exports.TEST_BLOCK_HEIGHTS = exports.TEST_TRANSACTION_HASHES = exports.TEST_ADDRESSES = void 0;
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
+
const operation_1 = require("@ledgerhq/coin-framework/operation");
|
|
9
|
+
const index_1 = require("@ledgerhq/coin-framework/account/index");
|
|
10
|
+
/**
|
|
11
|
+
* Sample Filecoin addresses for testing
|
|
12
|
+
*/
|
|
13
|
+
exports.TEST_ADDRESSES = {
|
|
14
|
+
// f1 address (SECP256K1)
|
|
15
|
+
F1_ADDRESS: "f1abjxfbp274xpdqcpuaykwkfb43omjotacm2p3za",
|
|
16
|
+
// f4 address (delegated)
|
|
17
|
+
F4_ADDRESS: "f410fkkld55ioe7qg24wvt7fu6pbknb56ht7ptloy",
|
|
18
|
+
// Another f1 address for recipient
|
|
19
|
+
RECIPIENT_F1: "f1z4nykg7q6q5qnxs7h4zknhlqbqhq5jxcqm5qw4y",
|
|
20
|
+
// Another f4 address for recipient
|
|
21
|
+
RECIPIENT_F4: "f410fagkr6pfqzd5q2kj42qrj54g3sxqjsrqn4fhoy",
|
|
22
|
+
// ERC20 contract address (f4)
|
|
23
|
+
ERC20_CONTRACT: "f410f3huuiyauahgjp7xjbvb7yfpuhvpyxvnqx3qy",
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Sample transaction hashes for testing
|
|
27
|
+
*/
|
|
28
|
+
exports.TEST_TRANSACTION_HASHES = {
|
|
29
|
+
VALID: "bafy2bzacedpqzd6qm2r7nvxj5oetpqvhujwwmvkhz4u3xnfzdvwzxpjzuqhpa",
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Sample block heights for testing
|
|
33
|
+
*/
|
|
34
|
+
exports.TEST_BLOCK_HEIGHTS = {
|
|
35
|
+
CURRENT: 3000000,
|
|
36
|
+
RECENT: 2999999,
|
|
37
|
+
OLD: 2500000,
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Create a mock Filecoin account for testing
|
|
41
|
+
*
|
|
42
|
+
* @param options Optional parameters to override default values
|
|
43
|
+
* @returns A mock Filecoin account
|
|
44
|
+
*/
|
|
45
|
+
const createMockAccount = (options) => {
|
|
46
|
+
const seedIdentifier = options?.seedIdentifier || exports.TEST_ADDRESSES.F1_ADDRESS;
|
|
47
|
+
// For Filecoin, we need to handle the currency ID appropriately
|
|
48
|
+
// Using a mock currency structure similar to what getCryptoCurrencyById would return
|
|
49
|
+
const mockCurrency = {
|
|
50
|
+
type: "CryptoCurrency",
|
|
51
|
+
id: "filecoin",
|
|
52
|
+
coinType: 461,
|
|
53
|
+
name: "Filecoin",
|
|
54
|
+
managerAppName: "Filecoin",
|
|
55
|
+
ticker: "FIL",
|
|
56
|
+
scheme: "filecoin",
|
|
57
|
+
color: "#0090FF",
|
|
58
|
+
family: "filecoin",
|
|
59
|
+
units: [
|
|
60
|
+
{
|
|
61
|
+
name: "FIL",
|
|
62
|
+
code: "FIL",
|
|
63
|
+
magnitude: 18,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "attoFIL",
|
|
67
|
+
code: "attoFIL",
|
|
68
|
+
magnitude: 0,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
explorerViews: [
|
|
72
|
+
{
|
|
73
|
+
address: "https://filfox.info/en/address/$address",
|
|
74
|
+
tx: "https://filfox.info/en/message/$hash",
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
};
|
|
78
|
+
const account = {
|
|
79
|
+
type: "Account",
|
|
80
|
+
id: options?.id ||
|
|
81
|
+
(0, index_1.encodeAccountId)({
|
|
82
|
+
type: "js",
|
|
83
|
+
version: "2",
|
|
84
|
+
currencyId: "filecoin",
|
|
85
|
+
xpubOrAddress: seedIdentifier,
|
|
86
|
+
derivationMode: "",
|
|
87
|
+
}),
|
|
88
|
+
seedIdentifier,
|
|
89
|
+
derivationMode: "",
|
|
90
|
+
index: options?.index || 0,
|
|
91
|
+
freshAddress: options?.freshAddress || seedIdentifier,
|
|
92
|
+
freshAddressPath: options?.freshAddressPath || "44'/461'/0'/0/0",
|
|
93
|
+
blockHeight: options?.blockHeight || exports.TEST_BLOCK_HEIGHTS.CURRENT,
|
|
94
|
+
balance: options?.balance instanceof bignumber_js_1.default
|
|
95
|
+
? options.balance
|
|
96
|
+
: new bignumber_js_1.default(options?.balance || "1000000000000000000"), // 1 FIL
|
|
97
|
+
spendableBalance: options?.spendableBalance instanceof bignumber_js_1.default
|
|
98
|
+
? options.spendableBalance
|
|
99
|
+
: new bignumber_js_1.default(options?.spendableBalance || "1000000000000000000"), // 1 FIL
|
|
100
|
+
operations: options?.operations || [],
|
|
101
|
+
pendingOperations: options?.pendingOperations || [],
|
|
102
|
+
currency: options?.currency || mockCurrency,
|
|
103
|
+
operationsCount: options?.operationsCount || 0,
|
|
104
|
+
subAccounts: options?.subAccounts || [],
|
|
105
|
+
swapHistory: [],
|
|
106
|
+
balanceHistoryCache: {
|
|
107
|
+
HOUR: { latestDate: null, balances: [] },
|
|
108
|
+
DAY: { latestDate: null, balances: [] },
|
|
109
|
+
WEEK: { latestDate: null, balances: [] },
|
|
110
|
+
},
|
|
111
|
+
creationDate: options?.creationDate || new Date(),
|
|
112
|
+
lastSyncDate: options?.lastSyncDate || new Date(),
|
|
113
|
+
nfts: options?.nfts || [],
|
|
114
|
+
used: true,
|
|
115
|
+
};
|
|
116
|
+
return { ...account, ...options };
|
|
117
|
+
};
|
|
118
|
+
exports.createMockAccount = createMockAccount;
|
|
119
|
+
/**
|
|
120
|
+
* Create a mock Filecoin transaction for testing
|
|
121
|
+
*
|
|
122
|
+
* @param options Optional parameters to override default values
|
|
123
|
+
* @returns A mock Filecoin transaction
|
|
124
|
+
*/
|
|
125
|
+
const createMockTransaction = (options) => {
|
|
126
|
+
const transaction = {
|
|
127
|
+
family: "filecoin",
|
|
128
|
+
amount: options?.amount instanceof bignumber_js_1.default
|
|
129
|
+
? options.amount
|
|
130
|
+
: new bignumber_js_1.default(options?.amount || "100000000000000000"), // 0.1 FIL
|
|
131
|
+
recipient: options?.recipient || exports.TEST_ADDRESSES.RECIPIENT_F1,
|
|
132
|
+
useAllAmount: options?.useAllAmount || false,
|
|
133
|
+
nonce: options?.nonce || 0,
|
|
134
|
+
method: options?.method || 0,
|
|
135
|
+
version: options?.version || 0,
|
|
136
|
+
params: options?.params,
|
|
137
|
+
gasLimit: options?.gasLimit || new bignumber_js_1.default(1000000),
|
|
138
|
+
gasFeeCap: options?.gasFeeCap || new bignumber_js_1.default("100000"),
|
|
139
|
+
gasPremium: options?.gasPremium || new bignumber_js_1.default("100000"),
|
|
140
|
+
};
|
|
141
|
+
return { ...transaction, ...options };
|
|
142
|
+
};
|
|
143
|
+
exports.createMockTransaction = createMockTransaction;
|
|
144
|
+
/**
|
|
145
|
+
* Create a mock Filecoin operation for testing
|
|
146
|
+
*
|
|
147
|
+
* @param account The account associated with the operation
|
|
148
|
+
* @param transaction The transaction details
|
|
149
|
+
* @param options Optional parameters to override default values
|
|
150
|
+
* @returns A mock Filecoin operation
|
|
151
|
+
*/
|
|
152
|
+
const createMockOperation = (account, transaction, options) => {
|
|
153
|
+
const hash = options?.hash || exports.TEST_TRANSACTION_HASHES.VALID;
|
|
154
|
+
const type = options?.type || "OUT";
|
|
155
|
+
const fee = transaction.gasLimit.multipliedBy(transaction.gasFeeCap).plus(transaction.gasPremium);
|
|
156
|
+
const operation = {
|
|
157
|
+
id: options?.id || (0, operation_1.encodeOperationId)(account.id, hash, type),
|
|
158
|
+
hash,
|
|
159
|
+
type,
|
|
160
|
+
senders: options?.senders || [account.freshAddress],
|
|
161
|
+
recipients: options?.recipients || [transaction.recipient],
|
|
162
|
+
accountId: account.id,
|
|
163
|
+
blockHash: options?.blockHash || null,
|
|
164
|
+
blockHeight: options?.blockHeight || null,
|
|
165
|
+
value: type === "OUT" ? transaction.amount.plus(fee) : transaction.amount,
|
|
166
|
+
fee,
|
|
167
|
+
date: options?.date || new Date(),
|
|
168
|
+
extra: options?.extra || {},
|
|
169
|
+
hasFailed: options?.hasFailed || false,
|
|
170
|
+
};
|
|
171
|
+
return { ...operation, ...options };
|
|
172
|
+
};
|
|
173
|
+
exports.createMockOperation = createMockOperation;
|
|
174
|
+
/**
|
|
175
|
+
* Create a mock TokenAccount for testing ERC20 functionality
|
|
176
|
+
*
|
|
177
|
+
* @param parentAccount The parent Filecoin account
|
|
178
|
+
* @param options Optional parameters to override default values
|
|
179
|
+
* @returns A mock TokenAccount
|
|
180
|
+
*/
|
|
181
|
+
const createMockTokenAccount = (parentAccount, options) => {
|
|
182
|
+
const tokenAccount = {
|
|
183
|
+
type: "TokenAccount",
|
|
184
|
+
id: options?.id || `${parentAccount.id}+${exports.TEST_ADDRESSES.ERC20_CONTRACT}`,
|
|
185
|
+
parentId: parentAccount.id,
|
|
186
|
+
token: options?.token || {
|
|
187
|
+
type: "TokenCurrency",
|
|
188
|
+
id: `filecoin/erc20/test_token`,
|
|
189
|
+
contractAddress: exports.TEST_ADDRESSES.ERC20_CONTRACT,
|
|
190
|
+
parentCurrency: parentAccount.currency,
|
|
191
|
+
tokenType: "erc20",
|
|
192
|
+
name: "Test Token",
|
|
193
|
+
ticker: "TST",
|
|
194
|
+
units: [
|
|
195
|
+
{
|
|
196
|
+
name: "TST",
|
|
197
|
+
code: "TST",
|
|
198
|
+
magnitude: 18,
|
|
199
|
+
},
|
|
200
|
+
],
|
|
201
|
+
disableCountervalue: false,
|
|
202
|
+
},
|
|
203
|
+
balance: options?.balance instanceof bignumber_js_1.default
|
|
204
|
+
? options.balance
|
|
205
|
+
: new bignumber_js_1.default(options?.balance || "1000000000000000000"), // 1 TST
|
|
206
|
+
spendableBalance: options?.spendableBalance instanceof bignumber_js_1.default
|
|
207
|
+
? options.spendableBalance
|
|
208
|
+
: new bignumber_js_1.default(options?.spendableBalance || "1000000000000000000"),
|
|
209
|
+
creationDate: options?.creationDate || new Date(),
|
|
210
|
+
operationsCount: options?.operationsCount || 0,
|
|
211
|
+
operations: options?.operations || [],
|
|
212
|
+
pendingOperations: options?.pendingOperations || [],
|
|
213
|
+
swapHistory: options?.swapHistory || [],
|
|
214
|
+
balanceHistoryCache: options?.balanceHistoryCache || {
|
|
215
|
+
HOUR: { latestDate: null, balances: [] },
|
|
216
|
+
DAY: { latestDate: null, balances: [] },
|
|
217
|
+
WEEK: { latestDate: null, balances: [] },
|
|
218
|
+
},
|
|
219
|
+
};
|
|
220
|
+
return { ...tokenAccount, ...options };
|
|
221
|
+
};
|
|
222
|
+
exports.createMockTokenAccount = createMockTokenAccount;
|
|
223
|
+
/**
|
|
224
|
+
* Create mock API response for balance
|
|
225
|
+
*
|
|
226
|
+
* @param options Optional parameters to override default values
|
|
227
|
+
* @returns A mock BalanceResponse
|
|
228
|
+
*/
|
|
229
|
+
const createMockBalanceResponse = (options) => {
|
|
230
|
+
return {
|
|
231
|
+
total_balance: options?.total_balance || "1000000000000000000",
|
|
232
|
+
spendable_balance: options?.spendable_balance || "1000000000000000000",
|
|
233
|
+
locked_balance: options?.locked_balance || "0",
|
|
234
|
+
};
|
|
235
|
+
};
|
|
236
|
+
exports.createMockBalanceResponse = createMockBalanceResponse;
|
|
237
|
+
/**
|
|
238
|
+
* Create mock API response for transaction
|
|
239
|
+
*
|
|
240
|
+
* @param options Optional parameters to override default values
|
|
241
|
+
* @returns A mock TransactionResponse
|
|
242
|
+
*/
|
|
243
|
+
const createMockTransactionResponse = (options) => {
|
|
244
|
+
return {
|
|
245
|
+
hash: options?.hash || exports.TEST_TRANSACTION_HASHES.VALID,
|
|
246
|
+
to: options?.to || exports.TEST_ADDRESSES.RECIPIENT_F1,
|
|
247
|
+
from: options?.from || exports.TEST_ADDRESSES.F1_ADDRESS,
|
|
248
|
+
amount: options?.amount || "100000000000000000",
|
|
249
|
+
status: options?.status || "Ok",
|
|
250
|
+
type: options?.type || "transfer",
|
|
251
|
+
timestamp: options?.timestamp || Math.floor(Date.now() / 1000),
|
|
252
|
+
height: options?.height || exports.TEST_BLOCK_HEIGHTS.CURRENT,
|
|
253
|
+
fee_data: options?.fee_data || {
|
|
254
|
+
MinerFee: {
|
|
255
|
+
MinerAddress: "f0123",
|
|
256
|
+
Amount: "50000",
|
|
257
|
+
},
|
|
258
|
+
OverEstimationBurnFee: {
|
|
259
|
+
BurnAddress: "f099",
|
|
260
|
+
Amount: "25000",
|
|
261
|
+
},
|
|
262
|
+
BurnFee: {
|
|
263
|
+
BurnAddress: "f099",
|
|
264
|
+
Amount: "25000",
|
|
265
|
+
},
|
|
266
|
+
TotalCost: "100000",
|
|
267
|
+
},
|
|
268
|
+
};
|
|
269
|
+
};
|
|
270
|
+
exports.createMockTransactionResponse = createMockTransactionResponse;
|
|
271
|
+
/**
|
|
272
|
+
* Create mock API response for estimated fees
|
|
273
|
+
*
|
|
274
|
+
* @param options Optional parameters to override default values
|
|
275
|
+
* @returns A mock EstimatedFeesResponse
|
|
276
|
+
*/
|
|
277
|
+
const createMockEstimatedFeesResponse = (options) => {
|
|
278
|
+
return {
|
|
279
|
+
gas_limit: options?.gas_limit || 1000000,
|
|
280
|
+
gas_fee_cap: options?.gas_fee_cap || "100000",
|
|
281
|
+
gas_premium: options?.gas_premium || "100000",
|
|
282
|
+
nonce: options?.nonce || 0,
|
|
283
|
+
};
|
|
284
|
+
};
|
|
285
|
+
exports.createMockEstimatedFeesResponse = createMockEstimatedFeesResponse;
|
|
286
|
+
/**
|
|
287
|
+
* Create mock ERC20 transfer for testing token functionality
|
|
288
|
+
*
|
|
289
|
+
* @param options Optional parameters to override default values
|
|
290
|
+
* @returns A mock ERC20Transfer
|
|
291
|
+
*/
|
|
292
|
+
const createMockERC20Transfer = (options) => {
|
|
293
|
+
const transfer = {
|
|
294
|
+
id: options?.id || "1",
|
|
295
|
+
height: options?.height || exports.TEST_BLOCK_HEIGHTS.CURRENT,
|
|
296
|
+
type: options?.type || "erc20_transfer",
|
|
297
|
+
status: options?.status || "Ok",
|
|
298
|
+
to: options?.to || exports.TEST_ADDRESSES.RECIPIENT_F4,
|
|
299
|
+
from: options?.from || exports.TEST_ADDRESSES.F4_ADDRESS,
|
|
300
|
+
amount: options?.amount || "1000000000000000000",
|
|
301
|
+
contract_address: options?.contract_address || exports.TEST_ADDRESSES.ERC20_CONTRACT,
|
|
302
|
+
timestamp: options?.timestamp || Math.floor(Date.now() / 1000),
|
|
303
|
+
tx_hash: options?.tx_hash || exports.TEST_TRANSACTION_HASHES.VALID,
|
|
304
|
+
};
|
|
305
|
+
if (options?.tx_cid !== undefined) {
|
|
306
|
+
transfer.tx_cid = options.tx_cid;
|
|
307
|
+
}
|
|
308
|
+
return transfer;
|
|
309
|
+
};
|
|
310
|
+
exports.createMockERC20Transfer = createMockERC20Transfer;
|
|
311
|
+
//# sourceMappingURL=fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/test/fixtures.ts"],"names":[],"mappings":"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"}
|
package/lib/types/common.d.ts
CHANGED
|
@@ -17,19 +17,39 @@ export interface EstimatedFeesResponse {
|
|
|
17
17
|
gas_premium: string;
|
|
18
18
|
nonce: number;
|
|
19
19
|
}
|
|
20
|
+
export interface Metadata {
|
|
21
|
+
limit: number;
|
|
22
|
+
offset: number;
|
|
23
|
+
}
|
|
20
24
|
export interface TransactionsResponse {
|
|
21
25
|
txs: TransactionResponse[];
|
|
26
|
+
metadata: Metadata;
|
|
22
27
|
}
|
|
23
28
|
export interface TransactionResponse {
|
|
24
|
-
amount:
|
|
29
|
+
amount: string;
|
|
25
30
|
to: string;
|
|
26
31
|
from: string;
|
|
32
|
+
fee_data?: FeeData;
|
|
27
33
|
status: string;
|
|
28
34
|
type: string;
|
|
29
35
|
hash: string;
|
|
30
36
|
timestamp: number;
|
|
31
37
|
height: number;
|
|
32
|
-
|
|
38
|
+
}
|
|
39
|
+
export interface FeeData {
|
|
40
|
+
MinerFee: {
|
|
41
|
+
MinerAddress: string;
|
|
42
|
+
Amount: string;
|
|
43
|
+
};
|
|
44
|
+
OverEstimationBurnFee: {
|
|
45
|
+
BurnAddress: string;
|
|
46
|
+
Amount: string;
|
|
47
|
+
};
|
|
48
|
+
BurnFee: {
|
|
49
|
+
BurnAddress: string;
|
|
50
|
+
Amount: string;
|
|
51
|
+
};
|
|
52
|
+
TotalCost: string;
|
|
33
53
|
}
|
|
34
54
|
export interface BalanceResponse {
|
|
35
55
|
locked_balance: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,oBAAY,QAAQ;IAClB,EAAE,OAAO;IACT,IAAI,SAAS;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,mBAAmB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"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"}
|
package/lib-es/api/api.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { BalanceResponse, BroadcastTransactionRequest, BroadcastTransactionResponse, EstimatedFeesRequest, EstimatedFeesResponse, NetworkStatusResponse, TransactionResponse, ERC20Transfer } from "../types";
|
|
1
|
+
import { BalanceResponse, BroadcastTransactionRequest, BroadcastTransactionResponse, EstimatedFeesRequest, EstimatedFeesResponse, NetworkStatusResponse, TransactionResponse, TransactionsResponse, FetchERC20TransactionsResponse, ERC20Transfer } from "../types";
|
|
2
2
|
export declare const fetchBalances: (addr: string) => Promise<BalanceResponse>;
|
|
3
3
|
export declare const fetchEstimatedFees: import("@ledgerhq/live-network/cache").CacheRes<[request: EstimatedFeesRequest], EstimatedFeesResponse>;
|
|
4
4
|
export declare const fetchBlockHeight: () => Promise<NetworkStatusResponse>;
|
|
5
|
-
export declare const fetchTxs: (addr: string) => Promise<
|
|
5
|
+
export declare const fetchTxs: (addr: string, lastHeight: number, offset?: number, limit?: number) => Promise<TransactionsResponse>;
|
|
6
|
+
export declare const fetchTxsWithPages: (addr: string, lastHeight: number) => Promise<TransactionResponse[]>;
|
|
6
7
|
export declare const broadcastTx: (message: BroadcastTransactionRequest) => Promise<BroadcastTransactionResponse>;
|
|
7
8
|
export declare const fetchERC20TokenBalance: (ethAddr: string, contractAddr: string) => Promise<string>;
|
|
8
|
-
export declare const fetchERC20Transactions: (ethAddr: string) => Promise<
|
|
9
|
+
export declare const fetchERC20Transactions: (ethAddr: string, lastHeight: number, offset?: number, limit?: number) => Promise<FetchERC20TransactionsResponse>;
|
|
10
|
+
export declare const fetchERC20TransactionsWithPages: (addr: string, lastHeight: number) => Promise<ERC20Transfer[]>;
|
|
9
11
|
//# sourceMappingURL=api.d.ts.map
|
package/lib-es/api/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,8BAA8B,EAC9B,aAAa,EAEd,MAAM,UAAU,CAAC;AA4DlB,eAAO,MAAM,aAAa,SAAgB,MAAM,KAAG,QAAQ,eAAe,CAKzE,CAAC;AAEF,eAAO,MAAM,kBAAkB,yGAiB9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAa,QAAQ,qBAAqB,CAKtE,CAAC;AAEF,eAAO,MAAM,QAAQ,SACb,MAAM,cACA,MAAM,WACV,MAAM,UACP,MAAM,KACZ,QAAQ,oBAAoB,CAQ9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,SACtB,MAAM,cACA,MAAM,KACjB,QAAQ,mBAAmB,EAAE,CAc/B,CAAC;AAEF,eAAO,MAAM,WAAW,YACb,2BAA2B,KACnC,QAAQ,4BAA4B,CAMtC,CAAC;AAEF,eAAO,MAAM,sBAAsB,YACxB,MAAM,gBACD,MAAM,KACnB,QAAQ,MAAM,CAahB,CAAC;AAEF,eAAO,MAAM,sBAAsB,YACxB,MAAM,cACH,MAAM,WACV,MAAM,UACP,MAAM,KACZ,QAAQ,8BAA8B,CAQxC,CAAC;AAEF,eAAO,MAAM,+BAA+B,SACpC,MAAM,cACA,MAAM,KACjB,QAAQ,aAAa,EAAE,CAczB,CAAC"}
|
package/lib-es/api/api.js
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { log } from "@ledgerhq/logs";
|
|
2
|
-
import network from "@ledgerhq/live-network
|
|
2
|
+
import network from "@ledgerhq/live-network";
|
|
3
3
|
import { makeLRUCache } from "@ledgerhq/live-network/cache";
|
|
4
4
|
import { getEnv } from "@ledgerhq/live-env";
|
|
5
5
|
import { FilecoinFeeEstimationFailed } from "../errors";
|
|
6
|
-
const
|
|
6
|
+
const txsPerPageLimit = 1000;
|
|
7
|
+
const currentVersion = "/v2";
|
|
8
|
+
const fromHeightQueryParam = "from_height";
|
|
9
|
+
const getFilecoinURL = (version = currentVersion, path) => {
|
|
7
10
|
const baseUrl = getEnv("API_FILECOIN_ENDPOINT");
|
|
8
11
|
if (!baseUrl)
|
|
9
12
|
throw new Error("API base URL not available");
|
|
10
|
-
return `${baseUrl}${path ? path : ""}`;
|
|
13
|
+
return `${baseUrl}${version ? version : ""}${path ? path : ""}`;
|
|
11
14
|
};
|
|
12
|
-
const fetch = async (path) => {
|
|
13
|
-
const url = getFilecoinURL(path);
|
|
15
|
+
const fetch = async (path, { version }) => {
|
|
16
|
+
const url = getFilecoinURL(version, path);
|
|
14
17
|
// We force data to this way as network func is not using the correct param type. Changing that func will generate errors in other implementations
|
|
15
18
|
const opts = {
|
|
16
19
|
method: "GET",
|
|
@@ -22,8 +25,8 @@ const fetch = async (path) => {
|
|
|
22
25
|
log("http", url);
|
|
23
26
|
return data;
|
|
24
27
|
};
|
|
25
|
-
const send = async (path, data) => {
|
|
26
|
-
const url = getFilecoinURL(path);
|
|
28
|
+
const send = async (path, { version, data }) => {
|
|
29
|
+
const url = getFilecoinURL(version, path);
|
|
27
30
|
const opts = {
|
|
28
31
|
method: "POST",
|
|
29
32
|
url,
|
|
@@ -37,12 +40,17 @@ const send = async (path, data) => {
|
|
|
37
40
|
return responseData;
|
|
38
41
|
};
|
|
39
42
|
export const fetchBalances = async (addr) => {
|
|
40
|
-
const data = await fetch(`/addresses/${addr}/balance
|
|
43
|
+
const data = await fetch(`/addresses/${addr}/balance`, {
|
|
44
|
+
version: currentVersion,
|
|
45
|
+
});
|
|
41
46
|
return data; // TODO Validate if the response fits this interface
|
|
42
47
|
};
|
|
43
48
|
export const fetchEstimatedFees = makeLRUCache(async (request) => {
|
|
44
49
|
try {
|
|
45
|
-
const data = await send(`/fees/estimate`,
|
|
50
|
+
const data = await send(`/fees/estimate`, {
|
|
51
|
+
version: currentVersion,
|
|
52
|
+
data: request,
|
|
53
|
+
});
|
|
46
54
|
return data; // TODO Validate if the response fits this interface
|
|
47
55
|
}
|
|
48
56
|
catch (e) {
|
|
@@ -53,26 +61,61 @@ export const fetchEstimatedFees = makeLRUCache(async (request) => {
|
|
|
53
61
|
ttl: 5 * 1000, // 5 seconds
|
|
54
62
|
});
|
|
55
63
|
export const fetchBlockHeight = async () => {
|
|
56
|
-
const data = await fetch("/network/status"
|
|
64
|
+
const data = await fetch("/network/status", {
|
|
65
|
+
version: currentVersion,
|
|
66
|
+
});
|
|
57
67
|
return data; // TODO Validate if the response fits this interface
|
|
58
68
|
};
|
|
59
|
-
export const fetchTxs = async (addr) => {
|
|
60
|
-
const response = await fetch(`/addresses/${addr}/transactions
|
|
61
|
-
|
|
69
|
+
export const fetchTxs = async (addr, lastHeight, offset = 0, limit = 0) => {
|
|
70
|
+
const response = await fetch(`/addresses/${addr}/transactions?${fromHeightQueryParam}=${lastHeight}&offset=${offset}&limit=${limit}`, {
|
|
71
|
+
version: currentVersion,
|
|
72
|
+
});
|
|
73
|
+
return response; // TODO Validate if the response fits this interface
|
|
74
|
+
};
|
|
75
|
+
export const fetchTxsWithPages = async (addr, lastHeight) => {
|
|
76
|
+
let result = [];
|
|
77
|
+
let offset = 0;
|
|
78
|
+
let txsLen = txsPerPageLimit;
|
|
79
|
+
while (txsLen === txsPerPageLimit) {
|
|
80
|
+
const { txs } = await fetchTxs(addr, lastHeight, offset, txsPerPageLimit);
|
|
81
|
+
result = result.concat(txs);
|
|
82
|
+
txsLen = txs.length;
|
|
83
|
+
offset += txsLen;
|
|
84
|
+
}
|
|
85
|
+
return result;
|
|
62
86
|
};
|
|
63
87
|
export const broadcastTx = async (message) => {
|
|
64
|
-
const response = await send(`/transaction/broadcast`,
|
|
88
|
+
const response = await send(`/transaction/broadcast`, {
|
|
89
|
+
version: currentVersion,
|
|
90
|
+
data: message,
|
|
91
|
+
});
|
|
65
92
|
return response; // TODO Validate if the response fits this interface
|
|
66
93
|
};
|
|
67
94
|
export const fetchERC20TokenBalance = async (ethAddr, contractAddr) => {
|
|
68
|
-
const res = await fetch(`/contract/${contractAddr}/address/${ethAddr}/balance/erc20
|
|
95
|
+
const res = await fetch(`/contract/${contractAddr}/address/${ethAddr}/balance/erc20`, {
|
|
96
|
+
version: currentVersion,
|
|
97
|
+
});
|
|
69
98
|
if (res.data.length) {
|
|
70
99
|
return res.data[0].balance;
|
|
71
100
|
}
|
|
72
101
|
return "0";
|
|
73
102
|
};
|
|
74
|
-
export const fetchERC20Transactions = async (ethAddr) => {
|
|
75
|
-
const res = await fetch(`/addresses/${ethAddr}/transactions/erc20
|
|
76
|
-
|
|
103
|
+
export const fetchERC20Transactions = async (ethAddr, lastHeight, offset = 0, limit = 0) => {
|
|
104
|
+
const res = await fetch(`/addresses/${ethAddr}/transactions/erc20?${fromHeightQueryParam}=${lastHeight}&offset=${offset}&limit=${limit}`, {
|
|
105
|
+
version: currentVersion,
|
|
106
|
+
});
|
|
107
|
+
return res;
|
|
108
|
+
};
|
|
109
|
+
export const fetchERC20TransactionsWithPages = async (addr, lastHeight) => {
|
|
110
|
+
let result = [];
|
|
111
|
+
let offset = 0;
|
|
112
|
+
let txsLen = txsPerPageLimit;
|
|
113
|
+
while (txsLen === txsPerPageLimit) {
|
|
114
|
+
const { txs } = await fetchERC20Transactions(addr, lastHeight, offset, txsPerPageLimit);
|
|
115
|
+
result = result.concat(txs);
|
|
116
|
+
txsLen = txs.length;
|
|
117
|
+
offset += txsLen;
|
|
118
|
+
}
|
|
119
|
+
return result.sort((a, b) => b.timestamp - a.timestamp);
|
|
77
120
|
};
|
|
78
121
|
//# sourceMappingURL=api.js.map
|