@ledgerhq/coin-framework 4.0.0-next.0 → 4.0.0-nightly.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/CHANGELOG.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # @ledgerhq/coin-framework
2
2
 
3
- ## 4.0.0-next.0
3
+ ## 4.0.0-nightly.0
4
4
 
5
5
  ### Major Changes
6
6
 
7
- - [#10009](https://github.com/LedgerHQ/ledger-live/pull/10009) [`cf2bf99`](https://github.com/LedgerHQ/ledger-live/commit/cf2bf99ba44e6eaf20e16cb320c0b22068340601) Thanks [@francois-guerin-ledger](https://github.com/francois-guerin-ledger)! - feat(coin-framework): replace operation index with operation id
7
+ - [#9993](https://github.com/LedgerHQ/ledger-live/pull/9993) [`b599ac4`](https://github.com/LedgerHQ/ledger-live/commit/b599ac4697688459aad15371f9efea58f331dc33) Thanks [@sprohaszka-ledger](https://github.com/sprohaszka-ledger)! - Change alpaca estimate signature
8
8
 
9
9
  ## 3.0.1
10
10
 
@@ -34,21 +34,25 @@ export type Balance<AssetInfo extends Asset<TokenInfoCommon>> = {
34
34
  value: bigint;
35
35
  asset: AssetInfo;
36
36
  };
37
- export type TransactionIntent<AssetInfo extends Asset<TokenInfoCommon>, Extra = Record<string, unknown>> = {
37
+ export type TransactionIntent<AssetInfo extends Asset<TokenInfoCommon>, Extra = Record<string, unknown>, Sender extends Record<string, string> | string = string> = {
38
38
  type: string;
39
- sender: string;
39
+ sender: Sender;
40
40
  recipient: string;
41
41
  amount: bigint;
42
42
  asset: AssetInfo;
43
43
  } & Extra;
44
+ export type FeeEstimation<FeeParameters extends Record<string, bigint> = never> = {
45
+ value: bigint;
46
+ parameters?: FeeParameters;
47
+ };
44
48
  export type Pagination = {
45
49
  minHeight: number;
46
50
  };
47
- export type Api<AssetInfo extends Asset<TokenInfoCommon>> = {
51
+ export type Api<AssetInfo extends Asset<TokenInfoCommon>, TxExtra = Record<string, unknown>, Sender extends Record<string, string> | string = string, FeeParameters extends Record<string, bigint> = never> = {
48
52
  broadcast: (tx: string) => Promise<string>;
49
53
  combine: (tx: string, signature: string, pubkey?: string) => string;
50
- estimateFees: (transactionIntent: TransactionIntent<AssetInfo>) => Promise<bigint>;
51
- craftTransaction: (transactionIntent: TransactionIntent<AssetInfo>, customFees?: bigint) => Promise<string>;
54
+ estimateFees: (transactionIntent: TransactionIntent<AssetInfo, TxExtra, Sender>) => Promise<FeeEstimation<FeeParameters>>;
55
+ craftTransaction: (transactionIntent: TransactionIntent<AssetInfo, TxExtra, Sender>, customFees?: bigint) => Promise<string>;
52
56
  getBalance: (address: string) => Promise<Balance<AssetInfo>[]>;
53
57
  lastBlock: () => Promise<BlockInfo>;
54
58
  listOperations: (address: string, pagination: Pagination) => Promise<[Operation<AssetInfo>[], string]>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
@@ -34,21 +34,25 @@ export type Balance<AssetInfo extends Asset<TokenInfoCommon>> = {
34
34
  value: bigint;
35
35
  asset: AssetInfo;
36
36
  };
37
- export type TransactionIntent<AssetInfo extends Asset<TokenInfoCommon>, Extra = Record<string, unknown>> = {
37
+ export type TransactionIntent<AssetInfo extends Asset<TokenInfoCommon>, Extra = Record<string, unknown>, Sender extends Record<string, string> | string = string> = {
38
38
  type: string;
39
- sender: string;
39
+ sender: Sender;
40
40
  recipient: string;
41
41
  amount: bigint;
42
42
  asset: AssetInfo;
43
43
  } & Extra;
44
+ export type FeeEstimation<FeeParameters extends Record<string, bigint> = never> = {
45
+ value: bigint;
46
+ parameters?: FeeParameters;
47
+ };
44
48
  export type Pagination = {
45
49
  minHeight: number;
46
50
  };
47
- export type Api<AssetInfo extends Asset<TokenInfoCommon>> = {
51
+ export type Api<AssetInfo extends Asset<TokenInfoCommon>, TxExtra = Record<string, unknown>, Sender extends Record<string, string> | string = string, FeeParameters extends Record<string, bigint> = never> = {
48
52
  broadcast: (tx: string) => Promise<string>;
49
53
  combine: (tx: string, signature: string, pubkey?: string) => string;
50
- estimateFees: (transactionIntent: TransactionIntent<AssetInfo>) => Promise<bigint>;
51
- craftTransaction: (transactionIntent: TransactionIntent<AssetInfo>, customFees?: bigint) => Promise<string>;
54
+ estimateFees: (transactionIntent: TransactionIntent<AssetInfo, TxExtra, Sender>) => Promise<FeeEstimation<FeeParameters>>;
55
+ craftTransaction: (transactionIntent: TransactionIntent<AssetInfo, TxExtra, Sender>, customFees?: bigint) => Promise<string>;
52
56
  getBalance: (address: string) => Promise<Balance<AssetInfo>[]>;
53
57
  lastBlock: () => Promise<BlockInfo>;
54
58
  listOperations: (address: string, pagination: Pagination) => Promise<[Operation<AssetInfo>[], string]>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-framework",
3
- "version": "4.0.0-next.0",
3
+ "version": "4.0.0-nightly.0",
4
4
  "description": "Ledger framework for Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -92,13 +92,13 @@
92
92
  "prando": "^6.0.1",
93
93
  "rxjs": "^7.8.1",
94
94
  "@ledgerhq/cryptoassets": "^13.15.0",
95
- "@ledgerhq/devices": "8.4.4",
96
- "@ledgerhq/errors": "^6.19.1",
95
+ "@ledgerhq/devices": "8.4.5-nightly.0",
96
+ "@ledgerhq/errors": "^6.20.0-nightly.0",
97
97
  "@ledgerhq/live-env": "^2.8.0",
98
98
  "@ledgerhq/live-network": "^2.0.7",
99
99
  "@ledgerhq/logs": "^6.12.0",
100
- "@ledgerhq/types-live": "^6.68.0",
101
- "@ledgerhq/types-cryptoassets": "^7.22.0"
100
+ "@ledgerhq/types-cryptoassets": "^7.22.0",
101
+ "@ledgerhq/types-live": "^6.68.0"
102
102
  },
103
103
  "devDependencies": {
104
104
  "@types/invariant": "^2.2.2",
@@ -110,8 +110,8 @@
110
110
  "timemachine": "^0.3.2",
111
111
  "ts-jest": "^29.1.1",
112
112
  "jest-sonar": "0.2.16",
113
- "@ledgerhq/hw-transport-node-speculos": "^6.29.4",
114
- "@ledgerhq/hw-transport-node-speculos-http": "^6.29.4"
113
+ "@ledgerhq/hw-transport-node-speculos": "^6.29.5-nightly.0",
114
+ "@ledgerhq/hw-transport-node-speculos-http": "^6.29.5-nightly.0"
115
115
  },
116
116
  "scripts": {
117
117
  "clean": "rm -rf lib lib-es",
package/src/api/types.ts CHANGED
@@ -48,14 +48,20 @@ export type Balance<AssetInfo extends Asset<TokenInfoCommon>> = {
48
48
  export type TransactionIntent<
49
49
  AssetInfo extends Asset<TokenInfoCommon>,
50
50
  Extra = Record<string, unknown>,
51
+ Sender extends Record<string, string> | string = string,
51
52
  > = {
52
53
  type: string;
53
- sender: string;
54
+ sender: Sender;
54
55
  recipient: string;
55
56
  amount: bigint;
56
57
  asset: AssetInfo;
57
58
  } & Extra;
58
59
 
60
+ export type FeeEstimation<FeeParameters extends Record<string, bigint> = never> = {
61
+ value: bigint;
62
+ parameters?: FeeParameters;
63
+ };
64
+
59
65
  // TODO rename start to minHeight
60
66
  // and add a `token: string` field to the pagination if we really need to support pagination
61
67
  // (which is not the case for now)
@@ -63,12 +69,19 @@ export type TransactionIntent<
63
69
  // limit is unused for now
64
70
  // see design document at https://ledgerhq.atlassian.net/wiki/spaces/BE/pages/5446205788/coin-modules+lama-adapter+APIs+refinements
65
71
  export type Pagination = { minHeight: number };
66
- export type Api<AssetInfo extends Asset<TokenInfoCommon>> = {
72
+ export type Api<
73
+ AssetInfo extends Asset<TokenInfoCommon>,
74
+ TxExtra = Record<string, unknown>,
75
+ Sender extends Record<string, string> | string = string,
76
+ FeeParameters extends Record<string, bigint> = never,
77
+ > = {
67
78
  broadcast: (tx: string) => Promise<string>;
68
79
  combine: (tx: string, signature: string, pubkey?: string) => string;
69
- estimateFees: (transactionIntent: TransactionIntent<AssetInfo>) => Promise<bigint>;
80
+ estimateFees: (
81
+ transactionIntent: TransactionIntent<AssetInfo, TxExtra, Sender>,
82
+ ) => Promise<FeeEstimation<FeeParameters>>;
70
83
  craftTransaction: (
71
- transactionIntent: TransactionIntent<AssetInfo>,
84
+ transactionIntent: TransactionIntent<AssetInfo, TxExtra, Sender>,
72
85
  customFees?: bigint,
73
86
  ) => Promise<string>;
74
87
  getBalance: (address: string) => Promise<Balance<AssetInfo>[]>;