@ledgerhq/coin-polkadot 0.0.2

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.
Files changed (181) hide show
  1. package/.eslintrc.js +57 -0
  2. package/.turbo/turbo-build.log +4 -0
  3. package/CHANGELOG.md +12 -0
  4. package/jest.config.js +10 -0
  5. package/lib/account.d.ts +15 -0
  6. package/lib/account.d.ts.map +1 -0
  7. package/lib/account.js +133 -0
  8. package/lib/account.js.map +1 -0
  9. package/lib/address.d.ts +7 -0
  10. package/lib/address.d.ts.map +1 -0
  11. package/lib/address.js +28 -0
  12. package/lib/address.js.map +1 -0
  13. package/lib/api/bisontrails.d.ts +11 -0
  14. package/lib/api/bisontrails.d.ts.map +1 -0
  15. package/lib/api/bisontrails.js +351 -0
  16. package/lib/api/bisontrails.js.map +1 -0
  17. package/lib/api/common.d.ts +12 -0
  18. package/lib/api/common.d.ts.map +1 -0
  19. package/lib/api/common.js +41 -0
  20. package/lib/api/common.js.map +1 -0
  21. package/lib/api/index.d.ts +3 -0
  22. package/lib/api/index.d.ts.map +1 -0
  23. package/lib/api/index.js +53 -0
  24. package/lib/api/index.js.map +1 -0
  25. package/lib/api/sidecar.d.ts +193 -0
  26. package/lib/api/sidecar.d.ts.map +1 -0
  27. package/lib/api/sidecar.js +844 -0
  28. package/lib/api/sidecar.js.map +1 -0
  29. package/lib/api/sidecar.types.d.ts +163 -0
  30. package/lib/api/sidecar.types.d.ts.map +1 -0
  31. package/lib/api/sidecar.types.js +3 -0
  32. package/lib/api/sidecar.types.js.map +1 -0
  33. package/lib/api/subscan.d.ts +6 -0
  34. package/lib/api/subscan.d.ts.map +1 -0
  35. package/lib/api/subscan.js +375 -0
  36. package/lib/api/subscan.js.map +1 -0
  37. package/lib/api/websocket.d.ts +92 -0
  38. package/lib/api/websocket.d.ts.map +1 -0
  39. package/lib/api/websocket.js +759 -0
  40. package/lib/api/websocket.js.map +1 -0
  41. package/lib/bridge/js.d.ts +6 -0
  42. package/lib/bridge/js.d.ts.map +1 -0
  43. package/lib/bridge/js.js +120 -0
  44. package/lib/bridge/js.js.map +1 -0
  45. package/lib/bridge.integration.test.d.ts +4 -0
  46. package/lib/bridge.integration.test.d.ts.map +1 -0
  47. package/lib/bridge.integration.test.js +795 -0
  48. package/lib/bridge.integration.test.js.map +1 -0
  49. package/lib/cache.d.ts +65 -0
  50. package/lib/cache.d.ts.map +1 -0
  51. package/lib/cache.js +182 -0
  52. package/lib/cache.js.map +1 -0
  53. package/lib/cli-transaction.d.ts +44 -0
  54. package/lib/cli-transaction.d.ts.map +1 -0
  55. package/lib/cli-transaction.js +148 -0
  56. package/lib/cli-transaction.js.map +1 -0
  57. package/lib/deviceTransactionConfig.d.ts +16 -0
  58. package/lib/deviceTransactionConfig.d.ts.map +1 -0
  59. package/lib/deviceTransactionConfig.js +171 -0
  60. package/lib/deviceTransactionConfig.js.map +1 -0
  61. package/lib/errors.d.ts +37 -0
  62. package/lib/errors.d.ts.map +1 -0
  63. package/lib/errors.js +17 -0
  64. package/lib/errors.js.map +1 -0
  65. package/lib/hw-getAddress.d.ts +4 -0
  66. package/lib/hw-getAddress.d.ts.map +1 -0
  67. package/lib/hw-getAddress.js +64 -0
  68. package/lib/hw-getAddress.js.map +1 -0
  69. package/lib/js-buildTransaction.d.ts +25 -0
  70. package/lib/js-buildTransaction.d.ts.map +1 -0
  71. package/lib/js-buildTransaction.js +265 -0
  72. package/lib/js-buildTransaction.js.map +1 -0
  73. package/lib/js-createTransaction.d.ts +9 -0
  74. package/lib/js-createTransaction.d.ts.map +1 -0
  75. package/lib/js-createTransaction.js +22 -0
  76. package/lib/js-createTransaction.js.map +1 -0
  77. package/lib/js-estimateMaxSpendable.d.ts +15 -0
  78. package/lib/js-estimateMaxSpendable.d.ts.map +1 -0
  79. package/lib/js-estimateMaxSpendable.js +89 -0
  80. package/lib/js-estimateMaxSpendable.js.map +1 -0
  81. package/lib/js-getFeesForTransaction.d.ts +14 -0
  82. package/lib/js-getFeesForTransaction.d.ts.map +1 -0
  83. package/lib/js-getFeesForTransaction.js +94 -0
  84. package/lib/js-getFeesForTransaction.js.map +1 -0
  85. package/lib/js-getTransactionStatus.d.ts +18 -0
  86. package/lib/js-getTransactionStatus.d.ts.map +1 -0
  87. package/lib/js-getTransactionStatus.js +316 -0
  88. package/lib/js-getTransactionStatus.js.map +1 -0
  89. package/lib/js-prepareTransaction.d.ts +9 -0
  90. package/lib/js-prepareTransaction.d.ts.map +1 -0
  91. package/lib/js-prepareTransaction.js +83 -0
  92. package/lib/js-prepareTransaction.js.map +1 -0
  93. package/lib/js-signOperation.d.ts +27 -0
  94. package/lib/js-signOperation.d.ts.map +1 -0
  95. package/lib/js-signOperation.js +235 -0
  96. package/lib/js-signOperation.js.map +1 -0
  97. package/lib/js-synchronisation.d.ts +3 -0
  98. package/lib/js-synchronisation.d.ts.map +1 -0
  99. package/lib/js-synchronisation.js +104 -0
  100. package/lib/js-synchronisation.js.map +1 -0
  101. package/lib/logic.d.ts +107 -0
  102. package/lib/logic.d.ts.map +1 -0
  103. package/lib/logic.js +242 -0
  104. package/lib/logic.js.map +1 -0
  105. package/lib/platformAdapter.d.ts +11 -0
  106. package/lib/platformAdapter.d.ts.map +1 -0
  107. package/lib/platformAdapter.js +25 -0
  108. package/lib/platformAdapter.js.map +1 -0
  109. package/lib/platformAdapter.test.d.ts +2 -0
  110. package/lib/platformAdapter.test.d.ts.map +1 -0
  111. package/lib/platformAdapter.test.js +51 -0
  112. package/lib/platformAdapter.test.js.map +1 -0
  113. package/lib/polkadot-crypto.d.ts +2 -0
  114. package/lib/polkadot-crypto.d.ts.map +1 -0
  115. package/lib/polkadot-crypto.js +14 -0
  116. package/lib/polkadot-crypto.js.map +1 -0
  117. package/lib/preload.d.ts +14 -0
  118. package/lib/preload.d.ts.map +1 -0
  119. package/lib/preload.js +173 -0
  120. package/lib/preload.js.map +1 -0
  121. package/lib/serialization.d.ts +4 -0
  122. package/lib/serialization.d.ts.map +1 -0
  123. package/lib/serialization.js +51 -0
  124. package/lib/serialization.js.map +1 -0
  125. package/lib/specs.d.ts +7 -0
  126. package/lib/specs.d.ts.map +1 -0
  127. package/lib/specs.js +274 -0
  128. package/lib/specs.js.map +1 -0
  129. package/lib/speculos-deviceActions.d.ts +4 -0
  130. package/lib/speculos-deviceActions.d.ts.map +1 -0
  131. package/lib/speculos-deviceActions.js +85 -0
  132. package/lib/speculos-deviceActions.js.map +1 -0
  133. package/lib/transaction.d.ts +15 -0
  134. package/lib/transaction.d.ts.map +1 -0
  135. package/lib/transaction.js +51 -0
  136. package/lib/transaction.js.map +1 -0
  137. package/lib/types.d.ts +96 -0
  138. package/lib/types.d.ts.map +1 -0
  139. package/lib/types.js +3 -0
  140. package/lib/types.js.map +1 -0
  141. package/lib/validators.d.ts +3 -0
  142. package/lib/validators.d.ts.map +1 -0
  143. package/lib/validators.js +7 -0
  144. package/lib/validators.js.map +1 -0
  145. package/package.json +95 -0
  146. package/src/account.ts +170 -0
  147. package/src/address.ts +28 -0
  148. package/src/api/bisontrails.ts +343 -0
  149. package/src/api/common.ts +52 -0
  150. package/src/api/index.ts +38 -0
  151. package/src/api/sidecar.ts +735 -0
  152. package/src/api/sidecar.types.ts +162 -0
  153. package/src/api/subscan.ts +362 -0
  154. package/src/api/websocket.ts +535 -0
  155. package/src/bridge/js.ts +81 -0
  156. package/src/bridge.integration.test.ts +764 -0
  157. package/src/cache.ts +202 -0
  158. package/src/cli-transaction.ts +184 -0
  159. package/src/deviceTransactionConfig.ts +209 -0
  160. package/src/errors.ts +39 -0
  161. package/src/hw-getAddress.ts +14 -0
  162. package/src/js-buildTransaction.ts +206 -0
  163. package/src/js-createTransaction.ts +22 -0
  164. package/src/js-estimateMaxSpendable.ts +37 -0
  165. package/src/js-getFeesForTransaction.ts +41 -0
  166. package/src/js-getTransactionStatus.ts +350 -0
  167. package/src/js-prepareTransaction.ts +27 -0
  168. package/src/js-signOperation.ts +232 -0
  169. package/src/js-synchronisation.ts +57 -0
  170. package/src/logic.ts +266 -0
  171. package/src/platformAdapter.test.ts +61 -0
  172. package/src/platformAdapter.ts +29 -0
  173. package/src/polkadot-crypto.ts +10 -0
  174. package/src/preload.ts +148 -0
  175. package/src/serialization.ts +48 -0
  176. package/src/specs.ts +305 -0
  177. package/src/speculos-deviceActions.ts +84 -0
  178. package/src/transaction.ts +64 -0
  179. package/src/types.ts +118 -0
  180. package/src/validators.ts +2 -0
  181. package/tsconfig.json +21 -0
package/src/types.ts ADDED
@@ -0,0 +1,118 @@
1
+ import type {
2
+ Account,
3
+ AccountRaw,
4
+ TransactionCommon,
5
+ TransactionCommonRaw,
6
+ TransactionStatusCommon,
7
+ TransactionStatusCommonRaw,
8
+ } from "@ledgerhq/types-live";
9
+ import type { BigNumber } from "bignumber.js";
10
+
11
+ export type RewardDestinationType =
12
+ | "Staked"
13
+ | "Stash"
14
+ | "Account"
15
+ | "Controller";
16
+ export type PolkadotNominationStatus = "active" | "inactive" | "waiting" | null;
17
+ export type PolkadotOperationMode =
18
+ | "send"
19
+ | "bond"
20
+ | "unbond"
21
+ | "rebond"
22
+ | "withdrawUnbonded"
23
+ | "setController"
24
+ | "nominate"
25
+ | "chill"
26
+ | "claimReward";
27
+ export type PolkadotNomination = {
28
+ address: string;
29
+ value: BigNumber;
30
+ status: PolkadotNominationStatus;
31
+ };
32
+ export type PolkadotNominationRaw = {
33
+ address: string;
34
+ value: string;
35
+ status: PolkadotNominationStatus;
36
+ };
37
+ export type PolkadotUnlocking = {
38
+ amount: BigNumber;
39
+ completionDate: Date;
40
+ };
41
+ export type PolkadotUnlockingRaw = {
42
+ amount: string;
43
+ completionDate: string;
44
+ };
45
+ export type PolkadotResources = {
46
+ controller: string | null | undefined;
47
+ stash: string | null | undefined;
48
+ nonce: number;
49
+ lockedBalance: BigNumber;
50
+ unlockedBalance: BigNumber;
51
+ unlockingBalance: BigNumber;
52
+ unlockings: PolkadotUnlocking[] | null | undefined;
53
+ nominations: PolkadotNomination[] | null | undefined;
54
+ numSlashingSpans: number;
55
+ };
56
+ export type PolkadotResourcesRaw = {
57
+ controller: string | null | undefined;
58
+ stash: string | null | undefined;
59
+ nonce: number;
60
+ lockedBalance: string;
61
+ unlockedBalance: string;
62
+ unlockingBalance: string;
63
+ unlockings: PolkadotUnlockingRaw[] | null | undefined;
64
+ nominations: PolkadotNominationRaw[] | null | undefined;
65
+ numSlashingSpans: number;
66
+ };
67
+ export type Transaction = TransactionCommon & {
68
+ mode: PolkadotOperationMode;
69
+ family: "polkadot";
70
+ fees: BigNumber | null | undefined;
71
+ validators: string[] | null | undefined;
72
+ era: string | null | undefined;
73
+ rewardDestination: string | null | undefined;
74
+ numSlashingSpans: number | null | undefined;
75
+ };
76
+ export type TransactionRaw = TransactionCommonRaw & {
77
+ family: "polkadot";
78
+ mode: PolkadotOperationMode;
79
+ fees: string | null | undefined;
80
+ validators: string[] | null | undefined;
81
+ era: string | null | undefined;
82
+ rewardDestination: string | null | undefined;
83
+ numSlashingSpans: number | null | undefined;
84
+ };
85
+ export type PolkadotValidator = {
86
+ address: string;
87
+ identity: string;
88
+ nominatorsCount: number;
89
+ rewardPoints: BigNumber | null;
90
+ commission: BigNumber;
91
+ totalBonded: BigNumber;
92
+ selfBonded: BigNumber;
93
+ isElected: boolean;
94
+ isOversubscribed: boolean;
95
+ };
96
+ export type PolkadotNominationInfo = string;
97
+ export type PolkadotStakingProgress = {
98
+ activeEra: number;
99
+ electionClosed: boolean;
100
+ maxNominatorRewardedPerValidator: number;
101
+ bondingDuration: number;
102
+ };
103
+ export type PolkadotPreloadData = {
104
+ validators: PolkadotValidator[];
105
+ staking: PolkadotStakingProgress | undefined;
106
+ minimumBondBalance: string;
107
+ };
108
+ export type PolkadotSearchFilter = (
109
+ query: string
110
+ ) => (validator: PolkadotValidator) => boolean;
111
+ export type PolkadotAccount = Account & {
112
+ polkadotResources: PolkadotResources;
113
+ };
114
+ export type PolkadotAccountRaw = AccountRaw & {
115
+ polkadotResources: PolkadotResourcesRaw;
116
+ };
117
+ export type TransactionStatus = TransactionStatusCommon;
118
+ export type TransactionStatusRaw = TransactionStatusCommonRaw;
@@ -0,0 +1,2 @@
1
+ import { getValidators, getStakingProgress } from "./api";
2
+ export { getValidators, getStakingProgress };
package/tsconfig.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "compilerOptions": {
3
+ "declaration": true,
4
+ "declarationMap": true,
5
+ "sourceMap": true,
6
+ "strict": true,
7
+ "noImplicitAny": false,
8
+ "noImplicitThis": false,
9
+ "allowSyntheticDefaultImports": true,
10
+ "esModuleInterop": true,
11
+ "skipLibCheck": true,
12
+ "forceConsistentCasingInFileNames": true,
13
+ "moduleResolution": "node",
14
+ "downlevelIteration": true,
15
+ "resolveJsonModule": true,
16
+ "lib": ["es2020", "dom"],
17
+ "outDir": "lib"
18
+ },
19
+ "include": ["src/**/*"]
20
+ }
21
+