@ledgerhq/live-common 21.30.0 → 21.32.0-hotfix.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 (257) hide show
  1. package/lib/__tests__/test-helpers/setup.js +1 -0
  2. package/lib/__tests__/test-helpers/setup.js.map +1 -1
  3. package/lib/account/support.d.ts.map +1 -1
  4. package/lib/account/support.js.map +1 -1
  5. package/lib/bot/engine.js +1 -1
  6. package/lib/bot/engine.js.map +1 -1
  7. package/lib/bridge/jsHelpers.js +1 -1
  8. package/lib/data/icons/react/celo.d.ts +8 -0
  9. package/lib/data/icons/react/celo.d.ts.map +1 -0
  10. package/lib/data/icons/react/celo.js +32 -0
  11. package/lib/data/icons/react/celo.js.map +1 -0
  12. package/lib/data/icons/react/index.d.ts +1 -0
  13. package/lib/data/icons/react/index.d.ts.map +1 -1
  14. package/lib/data/icons/react/index.js +11 -8
  15. package/lib/data/icons/react/index.js.map +1 -1
  16. package/lib/data/icons/reactNative/celo.d.ts +8 -0
  17. package/lib/data/icons/reactNative/celo.d.ts.map +1 -0
  18. package/lib/data/icons/reactNative/celo.js +33 -0
  19. package/lib/data/icons/reactNative/celo.js.map +1 -0
  20. package/lib/data/icons/reactNative/index.d.ts +1 -0
  21. package/lib/data/icons/reactNative/index.d.ts.map +1 -1
  22. package/lib/data/icons/reactNative/index.js +11 -8
  23. package/lib/data/icons/reactNative/index.js.map +1 -1
  24. package/lib/env.d.ts +15 -5
  25. package/lib/env.d.ts.map +1 -1
  26. package/lib/env.js +10 -0
  27. package/lib/env.js.map +1 -1
  28. package/lib/env.react.d.ts +1 -1
  29. package/lib/env.react.d.ts.map +1 -1
  30. package/lib/families/bitcoin/wallet-btc/crypto/bip32.js +2 -2
  31. package/lib/families/bitcoin/wallet-btc/crypto/bip32.js.map +1 -1
  32. package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts +4 -4
  33. package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts.map +1 -1
  34. package/lib/families/bitcoin/wallet-btc/crypto/zec.js +61 -22
  35. package/lib/families/bitcoin/wallet-btc/crypto/zec.js.map +1 -1
  36. package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts +2 -3
  37. package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts.map +1 -1
  38. package/lib/families/bitcoin/wallet-btc/crypto/zen.js +75 -35
  39. package/lib/families/bitcoin/wallet-btc/crypto/zen.js.map +1 -1
  40. package/lib/families/celo/api/hubble.d.ts +8 -0
  41. package/lib/families/celo/api/hubble.d.ts.map +1 -0
  42. package/lib/families/celo/api/hubble.js +144 -0
  43. package/lib/families/celo/api/hubble.js.map +1 -0
  44. package/lib/families/celo/api/index.d.ts +2 -0
  45. package/lib/families/celo/api/index.d.ts.map +1 -0
  46. package/lib/families/celo/api/index.js +13 -0
  47. package/lib/families/celo/api/index.js.map +1 -0
  48. package/lib/families/celo/api/sdk.d.ts +3 -0
  49. package/lib/families/celo/api/sdk.d.ts.map +1 -0
  50. package/lib/families/celo/api/sdk.js +13 -0
  51. package/lib/families/celo/api/sdk.js.map +1 -0
  52. package/lib/families/celo/bridge/js.d.ts +8 -0
  53. package/lib/families/celo/bridge/js.d.ts.map +1 -0
  54. package/lib/families/celo/bridge/js.js +87 -0
  55. package/lib/families/celo/bridge/js.js.map +1 -0
  56. package/lib/families/celo/cli-transaction.d.ts +14 -0
  57. package/lib/families/celo/cli-transaction.d.ts.map +1 -0
  58. package/lib/families/celo/cli-transaction.js +37 -0
  59. package/lib/families/celo/cli-transaction.js.map +1 -0
  60. package/lib/families/celo/datasets/celo.scanAccounts.1.d.ts +5 -0
  61. package/lib/families/celo/datasets/celo.scanAccounts.1.d.ts.map +1 -0
  62. package/lib/families/celo/datasets/celo.scanAccounts.1.js +12 -0
  63. package/lib/families/celo/datasets/celo.scanAccounts.1.js.map +1 -0
  64. package/lib/families/celo/deviceTransactionConfig.d.ts +4 -0
  65. package/lib/families/celo/deviceTransactionConfig.d.ts.map +1 -0
  66. package/lib/families/celo/deviceTransactionConfig.js +16 -0
  67. package/lib/families/celo/deviceTransactionConfig.js.map +1 -0
  68. package/lib/families/celo/hw-app-celo.d.ts +19 -0
  69. package/lib/families/celo/hw-app-celo.d.ts.map +1 -0
  70. package/lib/families/celo/hw-app-celo.js +147 -0
  71. package/lib/families/celo/hw-app-celo.js.map +1 -0
  72. package/lib/families/celo/hw-getAddress.d.ts +2 -0
  73. package/lib/families/celo/hw-getAddress.d.ts.map +1 -0
  74. package/lib/families/celo/hw-getAddress.js +13 -0
  75. package/lib/families/celo/hw-getAddress.js.map +1 -0
  76. package/lib/families/celo/js-broadcast.d.ts +8 -0
  77. package/lib/families/celo/js-broadcast.d.ts.map +1 -0
  78. package/lib/families/celo/js-broadcast.js +58 -0
  79. package/lib/families/celo/js-broadcast.js.map +1 -0
  80. package/lib/families/celo/js-buildTransaction.d.ts +6 -0
  81. package/lib/families/celo/js-buildTransaction.d.ts.map +1 -0
  82. package/lib/families/celo/js-buildTransaction.js +89 -0
  83. package/lib/families/celo/js-buildTransaction.js.map +1 -0
  84. package/lib/families/celo/js-createTransaction.d.ts +4 -0
  85. package/lib/families/celo/js-createTransaction.d.ts.map +1 -0
  86. package/lib/families/celo/js-createTransaction.js +12 -0
  87. package/lib/families/celo/js-createTransaction.js.map +1 -0
  88. package/lib/families/celo/js-estimateMaxSpendable.d.ts +10 -0
  89. package/lib/families/celo/js-estimateMaxSpendable.d.ts.map +1 -0
  90. package/lib/families/celo/js-estimateMaxSpendable.js +77 -0
  91. package/lib/families/celo/js-estimateMaxSpendable.js.map +1 -0
  92. package/lib/families/celo/js-getFeesForTransaction.d.ts +8 -0
  93. package/lib/families/celo/js-getFeesForTransaction.d.ts.map +1 -0
  94. package/lib/families/celo/js-getFeesForTransaction.js +76 -0
  95. package/lib/families/celo/js-getFeesForTransaction.js.map +1 -0
  96. package/lib/families/celo/js-getTransactionStatus.d.ts +5 -0
  97. package/lib/families/celo/js-getTransactionStatus.d.ts.map +1 -0
  98. package/lib/families/celo/js-getTransactionStatus.js +86 -0
  99. package/lib/families/celo/js-getTransactionStatus.js.map +1 -0
  100. package/lib/families/celo/js-prepareTransaction.d.ts +5 -0
  101. package/lib/families/celo/js-prepareTransaction.d.ts.map +1 -0
  102. package/lib/families/celo/js-prepareTransaction.js +76 -0
  103. package/lib/families/celo/js-prepareTransaction.js.map +1 -0
  104. package/lib/families/celo/js-signOperation.d.ts +13 -0
  105. package/lib/families/celo/js-signOperation.d.ts.map +1 -0
  106. package/lib/families/celo/js-signOperation.js +150 -0
  107. package/lib/families/celo/js-signOperation.js.map +1 -0
  108. package/lib/families/celo/js-synchronisation.d.ts +10 -0
  109. package/lib/families/celo/js-synchronisation.d.ts.map +1 -0
  110. package/lib/families/celo/js-synchronisation.js +88 -0
  111. package/lib/families/celo/js-synchronisation.js.map +1 -0
  112. package/lib/families/celo/specs.d.ts +7 -0
  113. package/lib/families/celo/specs.d.ts.map +1 -0
  114. package/lib/families/celo/specs.js +56 -0
  115. package/lib/families/celo/specs.js.map +1 -0
  116. package/lib/families/celo/speculos-deviceActions.d.ts +7 -0
  117. package/lib/families/celo/speculos-deviceActions.d.ts.map +1 -0
  118. package/lib/families/celo/speculos-deviceActions.js +53 -0
  119. package/lib/families/celo/speculos-deviceActions.js.map +1 -0
  120. package/lib/families/celo/transaction.d.ts +11 -0
  121. package/lib/families/celo/transaction.d.ts.map +1 -0
  122. package/lib/families/celo/transaction.js +39 -0
  123. package/lib/families/celo/transaction.js.map +1 -0
  124. package/lib/families/celo/types.d.ts +16 -0
  125. package/lib/families/celo/types.d.ts.map +1 -0
  126. package/lib/families/celo/types.js +6 -0
  127. package/lib/families/celo/types.js.map +1 -0
  128. package/lib/families/ethereum/datasets/ethereum.scanAccounts.1.d.ts +1 -0
  129. package/lib/families/ethereum/datasets/ethereum.scanAccounts.1.d.ts.map +1 -1
  130. package/lib/families/ethereum/datasets/ethereum.scanAccounts.1.js +1 -0
  131. package/lib/families/ethereum/datasets/ethereum.scanAccounts.1.js.map +1 -1
  132. package/lib/families/ethereum/modules/erc1155.d.ts.map +1 -1
  133. package/lib/families/ethereum/modules/erc1155.js +8 -2
  134. package/lib/families/ethereum/modules/erc1155.js.map +1 -1
  135. package/lib/families/polkadot/cache.d.ts +1 -1
  136. package/lib/families/polkadot/cache.js +1 -1
  137. package/lib/families/solana/test-dataset.d.ts.map +1 -1
  138. package/lib/families/solana/test-dataset.js +211 -209
  139. package/lib/families/solana/test-dataset.js.map +1 -1
  140. package/lib/featureFlags/FeatureToggle.d.ts +10 -0
  141. package/lib/featureFlags/FeatureToggle.d.ts.map +1 -0
  142. package/lib/featureFlags/FeatureToggle.js +17 -0
  143. package/lib/featureFlags/FeatureToggle.js.map +1 -0
  144. package/lib/featureFlags/defaultFeatures.d.ts +3 -0
  145. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -0
  146. package/lib/featureFlags/defaultFeatures.js +9 -0
  147. package/lib/featureFlags/defaultFeatures.js.map +1 -0
  148. package/lib/featureFlags/index.d.ts +5 -0
  149. package/lib/featureFlags/index.d.ts.map +1 -0
  150. package/lib/featureFlags/index.js +17 -0
  151. package/lib/featureFlags/index.js.map +1 -0
  152. package/lib/featureFlags/provider.d.ts +13 -0
  153. package/lib/featureFlags/provider.d.ts.map +1 -0
  154. package/lib/featureFlags/provider.js +68 -0
  155. package/lib/featureFlags/provider.js.map +1 -0
  156. package/lib/featureFlags/types.d.ts +8 -0
  157. package/lib/featureFlags/types.d.ts.map +1 -0
  158. package/lib/featureFlags/types.js +3 -0
  159. package/lib/featureFlags/types.js.map +1 -0
  160. package/lib/featureFlags/useFeature.d.ts +3 -0
  161. package/lib/featureFlags/useFeature.d.ts.map +1 -0
  162. package/lib/featureFlags/useFeature.js +9 -0
  163. package/lib/featureFlags/useFeature.js.map +1 -0
  164. package/lib/generated/bridge/js.d.ts +4 -0
  165. package/lib/generated/bridge/js.d.ts.map +1 -1
  166. package/lib/generated/bridge/js.js +24 -22
  167. package/lib/generated/bridge/js.js.map +1 -1
  168. package/lib/generated/cli-transaction.d.ts +9 -0
  169. package/lib/generated/cli-transaction.d.ts.map +1 -1
  170. package/lib/generated/cli-transaction.js +24 -22
  171. package/lib/generated/cli-transaction.js.map +1 -1
  172. package/lib/generated/deviceTransactionConfig.d.ts +2 -0
  173. package/lib/generated/deviceTransactionConfig.d.ts.map +1 -1
  174. package/lib/generated/deviceTransactionConfig.js +22 -20
  175. package/lib/generated/deviceTransactionConfig.js.map +1 -1
  176. package/lib/generated/hw-getAddress.d.ts +1 -0
  177. package/lib/generated/hw-getAddress.d.ts.map +1 -1
  178. package/lib/generated/hw-getAddress.js +26 -24
  179. package/lib/generated/hw-getAddress.js.map +1 -1
  180. package/lib/generated/specs.d.ts +3 -0
  181. package/lib/generated/specs.d.ts.map +1 -1
  182. package/lib/generated/specs.js +24 -22
  183. package/lib/generated/specs.js.map +1 -1
  184. package/lib/generated/speculos-deviceActions.d.ts +3 -0
  185. package/lib/generated/speculos-deviceActions.d.ts.map +1 -1
  186. package/lib/generated/speculos-deviceActions.js +24 -22
  187. package/lib/generated/speculos-deviceActions.js.map +1 -1
  188. package/lib/generated/transaction.d.ts +5 -0
  189. package/lib/generated/transaction.d.ts.map +1 -1
  190. package/lib/generated/transaction.js +26 -24
  191. package/lib/generated/transaction.js.map +1 -1
  192. package/lib/generated/types.d.ts +12 -6
  193. package/lib/generated/types.d.ts.map +1 -1
  194. package/lib/generated/types.js +14 -12
  195. package/lib/generated/types.js.map +1 -1
  196. package/lib/types/index.d.ts +1 -0
  197. package/lib/types/index.d.ts.map +1 -1
  198. package/lib/types/index.js +1 -0
  199. package/lib/types/index.js.map +1 -1
  200. package/package.json +8 -5
  201. package/src/.DS_Store +0 -0
  202. package/src/{data/flags → __tests__}/.DS_Store +0 -0
  203. package/src/__tests__/__snapshots__/all.libcore.ts.snap +0 -33226
  204. package/src/__tests__/test-helpers/setup.ts +1 -0
  205. package/src/account/support.ts +1 -0
  206. package/src/bot/engine.ts +1 -1
  207. package/src/bridge/jsHelpers.ts +1 -1
  208. package/src/data/icons/react/celo.tsx +12 -0
  209. package/src/data/icons/react/index.tsx +1 -0
  210. package/src/data/icons/reactNative/celo.tsx +13 -0
  211. package/src/data/icons/reactNative/index.tsx +1 -0
  212. package/src/data/icons/svg/CELO.svg +5 -0
  213. package/src/env.ts +10 -0
  214. package/src/families/bitcoin/wallet-btc/crypto/bip32.ts +2 -2
  215. package/src/families/bitcoin/wallet-btc/crypto/zec.ts +21 -21
  216. package/src/families/bitcoin/wallet-btc/crypto/zen.ts +28 -29
  217. package/src/families/celo/api/hubble.ts +93 -0
  218. package/src/families/celo/api/index.ts +1 -0
  219. package/src/families/celo/api/sdk.ts +8 -0
  220. package/src/families/celo/bridge/js.ts +38 -0
  221. package/src/families/celo/cli-transaction.ts +41 -0
  222. package/src/families/celo/datasets/celo.scanAccounts.1.ts +20 -0
  223. package/src/families/celo/deviceTransactionConfig.ts +19 -0
  224. package/src/families/celo/hw-app-celo.ts +108 -0
  225. package/src/families/celo/hw-getAddress.ts +1 -0
  226. package/src/families/celo/js-broadcast.ts +12 -0
  227. package/src/families/celo/js-buildTransaction.ts +32 -0
  228. package/src/families/celo/js-createTransaction.ts +12 -0
  229. package/src/families/celo/js-estimateMaxSpendable.ts +28 -0
  230. package/src/families/celo/js-getFeesForTransaction.ts +38 -0
  231. package/src/families/celo/js-getTransactionStatus.ts +67 -0
  232. package/src/families/celo/js-prepareTransaction.ts +28 -0
  233. package/src/families/celo/js-signOperation.ts +149 -0
  234. package/src/families/celo/js-synchronisation.ts +40 -0
  235. package/src/families/celo/specs.ts +53 -0
  236. package/src/families/celo/speculos-deviceActions.ts +51 -0
  237. package/src/families/celo/transaction.ts +39 -0
  238. package/src/families/celo/types.ts +20 -0
  239. package/src/families/ethereum/datasets/ethereum.scanAccounts.1.ts +1 -0
  240. package/src/families/ethereum/modules/erc1155.ts +9 -0
  241. package/src/families/polkadot/cache.ts +1 -1
  242. package/src/families/solana/test-dataset.ts +340 -337
  243. package/src/featureFlags/FeatureToggle.tsx +24 -0
  244. package/src/featureFlags/defaultFeatures.ts +7 -0
  245. package/src/featureFlags/index.ts +4 -0
  246. package/src/featureFlags/provider.tsx +48 -0
  247. package/src/featureFlags/types.ts +9 -0
  248. package/src/featureFlags/useFeature.ts +8 -0
  249. package/src/generated/bridge/js.ts +3 -0
  250. package/src/generated/cli-transaction.ts +3 -0
  251. package/src/generated/deviceTransactionConfig.ts +3 -0
  252. package/src/generated/hw-getAddress.ts +3 -0
  253. package/src/generated/specs.ts +3 -0
  254. package/src/generated/speculos-deviceActions.ts +3 -0
  255. package/src/generated/transaction.ts +3 -0
  256. package/src/generated/types.ts +14 -0
  257. package/src/types/index.ts +1 -0
@@ -1,27 +1,61 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
2
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
38
  };
5
39
  exports.__esModule = true;
6
40
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
7
41
  // @ts-ignore
8
- var address_1 = require("bitcoinjs-lib/src/address");
9
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
- // @ts-ignore
11
42
  var zcash_bitcore_lib_1 = __importDefault(require("zcash-bitcore-lib"));
12
43
  var bs58check_1 = __importDefault(require("bs58check"));
13
- var coininfo_1 = __importDefault(require("coininfo"));
44
+ var bjs = __importStar(require("bitcoinjs-lib"));
14
45
  var errors_1 = require("@ledgerhq/errors");
15
46
  var types_1 = require("../types");
16
47
  var base_1 = __importDefault(require("./base"));
17
- var ZCash = /** @class */ (function () {
48
+ var ZCash = /** @class */ (function (_super) {
49
+ __extends(ZCash, _super);
18
50
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
51
  function ZCash(_a) {
20
52
  var network = _a.network;
21
- this.network = network;
22
- this.network.dustThreshold = 10000;
23
- this.network.dustPolicy = "FIXED";
24
- this.network.usesTimestampedTransaction = false;
53
+ var _this = _super.call(this, { network: network }) || this;
54
+ _this.network = network;
55
+ _this.network.dustThreshold = 10000;
56
+ _this.network.dustPolicy = "FIXED";
57
+ _this.network.usesTimestampedTransaction = false;
58
+ return _this;
25
59
  }
26
60
  // eslint-disable-next-line
27
61
  ZCash.prototype.baddrToTaddr = function (baddrStr) {
@@ -31,18 +65,13 @@ var ZCash = /** @class */ (function () {
31
65
  taddr.set([0x1c, 0xb8], 0);
32
66
  return bs58check_1["default"].encode(Buffer.from(taddr));
33
67
  };
34
- ZCash.toBitcoinAddr = function (taddr) {
35
- // refer to https://runkitcdn.com/gojomo/baddr2taddr/1.0.2
36
- var baddr = new Uint8Array(21);
37
- baddr.set(bs58check_1["default"].decode(taddr).slice(2), 1);
38
- return bs58check_1["default"].encode(Buffer.from(baddr));
39
- };
40
68
  // eslint-disable-next-line
41
69
  ZCash.prototype.getLegacyAddress = function (xpub, account, index) {
42
- var pubkey = new zcash_bitcore_lib_1["default"].HDPublicKey(xpub);
43
- var child = pubkey.derive(account).derive(index);
44
- var address = new zcash_bitcore_lib_1["default"].Address(child.publicKey, zcash_bitcore_lib_1["default"].Networks.livenet);
45
- return address.toString();
70
+ var pk = bjs.crypto.hash160(this.getPubkeyAt(xpub, account, index));
71
+ var payload = Buffer.allocUnsafe(22);
72
+ payload.writeUInt16BE(this.network.pubKeyHash, 0);
73
+ pk.copy(payload, 2);
74
+ return bs58check_1["default"].encode(payload);
46
75
  };
47
76
  ZCash.prototype.getAddress = function (derivationMode, xpub, account, index) {
48
77
  if (base_1["default"].addressCache["".concat(this.network.name, "-").concat(derivationMode, "-").concat(xpub, "-").concat(account, "-").concat(index)]) {
@@ -60,8 +89,18 @@ var ZCash = /** @class */ (function () {
60
89
  if (!this.validateAddress(address)) {
61
90
  throw new errors_1.InvalidAddress();
62
91
  }
63
- // TODO find a better way to calculate the script from zec address instead of converting to bitcoin address
64
- return (0, address_1.toOutputScript)(ZCash.toBitcoinAddr(address), coininfo_1["default"].bitcoin.main.toBitcoinJS());
92
+ var version = Number("0x" + bs58check_1["default"].decode(address).slice(0, 2).toString("hex"));
93
+ if (version === this.network.pubKeyHash) {
94
+ //Pay-to-PubkeyHash
95
+ return bjs.payments.p2pkh({ hash: bs58check_1["default"].decode(address).slice(2) })
96
+ .output;
97
+ }
98
+ if (version === this.network.scriptHash) {
99
+ //Pay-to-Script-Hash
100
+ return bjs.payments.p2sh({ hash: bs58check_1["default"].decode(address).slice(2) })
101
+ .output;
102
+ }
103
+ throw new errors_1.InvalidAddress();
65
104
  };
66
105
  // eslint-disable-next-line class-methods-use-this
67
106
  ZCash.prototype.validateAddress = function (address) {
@@ -72,6 +111,6 @@ var ZCash = /** @class */ (function () {
72
111
  return false;
73
112
  };
74
113
  return ZCash;
75
- }());
114
+ }(base_1["default"]));
76
115
  exports["default"] = ZCash;
77
116
  //# sourceMappingURL=zec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zec.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zec.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zec.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
1
1
  /// <reference types="node" />
2
2
  import { DerivationModes } from "../types";
3
- import { ICrypto } from "./types";
4
- declare class Zen implements ICrypto {
3
+ import Base from "./base";
4
+ declare class Zen extends Base {
5
5
  network: any;
6
6
  constructor({ network }: {
7
7
  network: any;
8
8
  });
9
9
  baddrToTaddr(baddrStr: string): string;
10
- private static toBitcoinAddr;
11
10
  getLegacyAddress(xpub: string, account: number, index: number): string;
12
11
  getAddress(derivationMode: string, xpub: string, account: number, index: number): string;
13
12
  getDerivationMode(address: string): DerivationModes;
@@ -1 +1 @@
1
- {"version":3,"file":"zen.d.ts","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zen.ts"],"names":[],"mappings":";AASA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,cAAM,GAAI,YAAW,OAAO;IAE1B,OAAO,EAAE,GAAG,CAAC;gBAGD,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE;IAyBzC,YAAY,CAAC,QAAQ,EAAE,MAAM;IAS7B,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAStE,UAAU,CACR,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,MAAM;IAkBT,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAIjC,cAAc,CAAC,OAAO,EAAE,MAAM;IAiB9B,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAazC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAG3C;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"zen.d.ts","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zen.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAG1B,cAAM,GAAI,SAAQ,IAAI;IAEpB,OAAO,EAAE,GAAG,CAAC;gBAGD,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE;IA0BzC,YAAY,CAAC,QAAQ,EAAE,MAAM;IAU7B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAQtE,UAAU,CACR,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,MAAM;IAkBT,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAIjC,cAAc,CAAC,OAAO,EAAE,MAAM;IA8B9B,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAazC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAG3C;AAED,eAAe,GAAG,CAAC"}
@@ -1,44 +1,75 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
2
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
38
  };
5
39
  exports.__esModule = true;
6
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
7
- // @ts-ignore
8
- var address_1 = require("bitcoinjs-lib/src/address");
9
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
- // @ts-ignore
11
- var zcash_bitcore_lib_1 = __importDefault(require("zcash-bitcore-lib"));
12
40
  var bs58check_1 = __importDefault(require("bs58check"));
13
- var coininfo_1 = __importDefault(require("coininfo"));
14
41
  var errors_1 = require("@ledgerhq/errors");
15
42
  var types_1 = require("../types");
16
43
  var base_1 = __importDefault(require("./base"));
17
- var Zen = /** @class */ (function () {
44
+ var bjs = __importStar(require("bitcoinjs-lib"));
45
+ var Zen = /** @class */ (function (_super) {
46
+ __extends(Zen, _super);
18
47
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
48
  function Zen(_a) {
20
49
  var network = _a.network;
50
+ var _this = _super.call(this, { network: network }) || this;
21
51
  // refer to https://github.com/HorizenOfficial/zen/blob/master/src/chainparams.cpp for the blockchain params
22
- this.network = network;
23
- this.network.versions = {
52
+ _this.network = network;
53
+ _this.network.versions = {
24
54
  bip32: {
25
55
  public: 0x043587cf,
26
56
  private: 0x04358394
27
57
  },
28
58
  bip44: 121,
29
59
  private: 0x80,
30
- public: 0x2096,
31
- scripthash: 0x2089
60
+ public: 0x2089,
61
+ scripthash: 0x2096
32
62
  };
33
- this.network.name = "Zencash";
34
- this.network.unit = "ZEN";
35
- this.network.messagePrefix = "Zencash Signed Message:\n";
36
- this.network.wif = 0x80;
37
- this.network.pubKeyHash = 0x2096;
38
- this.network.scriptHash = 0x2089;
39
- this.network.dustThreshold = 10000;
40
- this.network.dustPolicy = "FIXED";
41
- this.network.usesTimestampedTransaction = false;
63
+ _this.network.name = "Zencash";
64
+ _this.network.unit = "ZEN";
65
+ _this.network.messagePrefix = "Zencash Signed Message:\n";
66
+ _this.network.wif = 0x80;
67
+ _this.network.pubKeyHash = 0x2089;
68
+ _this.network.scriptHash = 0x2096;
69
+ _this.network.dustThreshold = 10000;
70
+ _this.network.dustPolicy = "FIXED";
71
+ _this.network.usesTimestampedTransaction = false;
72
+ return _this;
42
73
  }
43
74
  // eslint-disable-next-line
44
75
  Zen.prototype.baddrToTaddr = function (baddrStr) {
@@ -49,20 +80,13 @@ var Zen = /** @class */ (function () {
49
80
  taddr.set([0x20, 0x89], 0);
50
81
  return bs58check_1["default"].encode(Buffer.from(taddr));
51
82
  };
52
- Zen.toBitcoinAddr = function (taddr) {
53
- // refer to https://runkitcdn.com/gojomo/baddr2taddr/1.0.2
54
- var baddr = new Uint8Array(21);
55
- baddr.set(bs58check_1["default"].decode(taddr).slice(2), 1);
56
- return bs58check_1["default"].encode(Buffer.from(baddr));
57
- };
58
83
  // eslint-disable-next-line
59
84
  Zen.prototype.getLegacyAddress = function (xpub, account, index) {
60
- var pubkey = new zcash_bitcore_lib_1["default"].HDPublicKey(xpub);
61
- var child = pubkey.derive(account).derive(index);
62
- var address = new zcash_bitcore_lib_1["default"].Address(child.publicKey, zcash_bitcore_lib_1["default"].Networks.livenet);
63
- var baddr = new Uint8Array(21);
64
- baddr.set(bs58check_1["default"].decode(address.toString()).slice(2), 1);
65
- return this.baddrToTaddr(bs58check_1["default"].encode(Buffer.from(baddr)));
85
+ var pk = bjs.crypto.hash160(this.getPubkeyAt(xpub, account, index));
86
+ var payload = Buffer.allocUnsafe(22);
87
+ payload.writeUInt16BE(this.network.pubKeyHash, 0);
88
+ pk.copy(payload, 2);
89
+ return bs58check_1["default"].encode(payload);
66
90
  };
67
91
  Zen.prototype.getAddress = function (derivationMode, xpub, account, index) {
68
92
  if (base_1["default"].addressCache["".concat(this.network.name, "-").concat(derivationMode, "-").concat(xpub, "-").concat(account, "-").concat(index)]) {
@@ -80,7 +104,23 @@ var Zen = /** @class */ (function () {
80
104
  if (!this.validateAddress(address)) {
81
105
  throw new errors_1.InvalidAddress();
82
106
  }
83
- var outputScript = (0, address_1.toOutputScript)(Zen.toBitcoinAddr(address), coininfo_1["default"].bitcoin.main.toBitcoinJS());
107
+ var outputScript;
108
+ var version = Number("0x" + bs58check_1["default"].decode(address).slice(0, 2).toString("hex"));
109
+ if (version === this.network.pubKeyHash) {
110
+ //Pay-to-PubkeyHash
111
+ outputScript = bjs.payments.p2pkh({
112
+ hash: bs58check_1["default"].decode(address).slice(2)
113
+ }).output;
114
+ }
115
+ else if (version === this.network.scriptHash) {
116
+ //Pay-to-Script-Hash
117
+ outputScript = bjs.payments.p2sh({
118
+ hash: bs58check_1["default"].decode(address).slice(2)
119
+ }).output;
120
+ }
121
+ else {
122
+ throw new errors_1.InvalidAddress();
123
+ }
84
124
  // refer to https://github.com/LedgerHQ/lib-ledger-core/blob/fc9d762b83fc2b269d072b662065747a64ab2816/core/src/wallet/bitcoin/scripts/BitcoinLikeScript.cpp#L139 and https://github.com/LedgerHQ/lib-ledger-core/blob/fc9d762b83fc2b269d072b662065747a64ab2816/core/src/wallet/bitcoin/networks.cpp#L39 for bip115 Script and its network parameters
85
125
  var bip115Script = Buffer.from("209ec9845acb02fab24e1c0368b3b517c1a4488fba97f0e3459ac053ea0100000003c01f02b4", "hex");
86
126
  return Buffer.concat([outputScript, bip115Script]);
@@ -101,6 +141,6 @@ var Zen = /** @class */ (function () {
101
141
  return false;
102
142
  };
103
143
  return Zen;
104
- }());
144
+ }(base_1["default"]));
105
145
  exports["default"] = Zen;
106
146
  //# sourceMappingURL=zen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zen.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zen.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { BigNumber } from "bignumber.js";
2
+ export declare const getAccountDetails: (address: string, accountId: string) => Promise<{
3
+ blockHeight: any;
4
+ balance: BigNumber;
5
+ spendableBalance: BigNumber;
6
+ operations: any;
7
+ }>;
8
+ //# sourceMappingURL=hubble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hubble.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/api/hubble.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAwEzC,eAAO,MAAM,iBAAiB,YAAmB,MAAM,aAAa,MAAM;;;;;EAoBzE,CAAC"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ exports.__esModule = true;
42
+ exports.getAccountDetails = void 0;
43
+ var bignumber_js_1 = require("bignumber.js");
44
+ var network_1 = __importDefault(require("../../../network"));
45
+ var env_1 = require("../../../env");
46
+ var operation_1 = require("../../../operation");
47
+ var DEFAULT_TRANSACTIONS_LIMIT = 200;
48
+ var getUrl = function (route) { return "".concat((0, env_1.getEnv)("API_CELO_INDEXER")).concat(route || ""); };
49
+ // Indexer returns both account data and transactions in one call.
50
+ // Transactions are just limited, there's no block height offset
51
+ var fetchAccountDetails = function (address, transactionsLimit) {
52
+ if (transactionsLimit === void 0) { transactionsLimit = DEFAULT_TRANSACTIONS_LIMIT; }
53
+ return __awaiter(void 0, void 0, void 0, function () {
54
+ var data;
55
+ return __generator(this, function (_a) {
56
+ switch (_a.label) {
57
+ case 0: return [4 /*yield*/, (0, network_1["default"])({
58
+ method: "GET",
59
+ url: getUrl("/account_details/".concat(address, "?limit=").concat(transactionsLimit))
60
+ })];
61
+ case 1:
62
+ data = (_a.sent()).data;
63
+ return [2 /*return*/, data];
64
+ }
65
+ });
66
+ });
67
+ };
68
+ var fetchStatus = function () { return __awaiter(void 0, void 0, void 0, function () {
69
+ var data;
70
+ return __generator(this, function (_a) {
71
+ switch (_a.label) {
72
+ case 0: return [4 /*yield*/, (0, network_1["default"])({
73
+ method: "GET",
74
+ url: getUrl("/status")
75
+ })];
76
+ case 1:
77
+ data = (_a.sent()).data;
78
+ return [2 /*return*/, data];
79
+ }
80
+ });
81
+ }); };
82
+ var getOperationType = function (type) {
83
+ switch (type) {
84
+ case "InternalTransferSent":
85
+ return "OUT";
86
+ case "InternalTransferReceived":
87
+ return "IN";
88
+ case "AccountSlashed":
89
+ return "SLASH";
90
+ default:
91
+ return "NONE";
92
+ }
93
+ };
94
+ var transactionToOperation = function (address, accountId, transaction) {
95
+ var type = getOperationType(transaction.kind);
96
+ var hasFailed = transaction.data.success
97
+ ? !transaction.data.success
98
+ : false;
99
+ var senders = transaction.data.from ? [transaction.data.from] : [];
100
+ var recipients = transaction.data.to ? [transaction.data.to] : [];
101
+ return {
102
+ id: (0, operation_1.encodeOperationId)(accountId, transaction.transaction_hash, type),
103
+ hash: transaction.transaction_hash,
104
+ accountId: accountId,
105
+ fee: new bignumber_js_1.BigNumber(0),
106
+ value: new bignumber_js_1.BigNumber(transaction.amount),
107
+ type: type,
108
+ blockHeight: transaction.height,
109
+ date: new Date(transaction.time),
110
+ senders: senders,
111
+ recipients: recipients,
112
+ hasFailed: hasFailed,
113
+ blockHash: null,
114
+ extra: {}
115
+ };
116
+ };
117
+ var getAccountDetails = function (address, accountId) { return __awaiter(void 0, void 0, void 0, function () {
118
+ var accountDetails, spendableBalance, lockedBalance, balance, indexerStatus, allTransactions, operations;
119
+ return __generator(this, function (_a) {
120
+ switch (_a.label) {
121
+ case 0: return [4 /*yield*/, fetchAccountDetails(address)];
122
+ case 1:
123
+ accountDetails = _a.sent();
124
+ spendableBalance = new bignumber_js_1.BigNumber(accountDetails.gold_balance);
125
+ lockedBalance = new bignumber_js_1.BigNumber(accountDetails.total_locked_gold);
126
+ balance = spendableBalance.plus(lockedBalance);
127
+ return [4 /*yield*/, fetchStatus()];
128
+ case 2:
129
+ indexerStatus = _a.sent();
130
+ allTransactions = accountDetails.internal_transfers.concat(accountDetails.transactions);
131
+ operations = allTransactions.map(function (transaction) {
132
+ return transactionToOperation(address, accountId, transaction);
133
+ });
134
+ return [2 /*return*/, {
135
+ blockHeight: indexerStatus.last_indexed_height,
136
+ balance: balance,
137
+ spendableBalance: spendableBalance,
138
+ operations: operations
139
+ }];
140
+ }
141
+ });
142
+ }); };
143
+ exports.getAccountDetails = getAccountDetails;
144
+ //# sourceMappingURL=hubble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hubble.js","sourceRoot":"","sources":["../../../../src/families/celo/api/hubble.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { getAccountDetails } from "./hubble";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ exports.__esModule = true;
10
+ exports.getAccountDetails = void 0;
11
+ var hubble_1 = require("./hubble");
12
+ __createBinding(exports, hubble_1, "getAccountDetails");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/families/celo/api/index.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,mCAA6C;AAApC,wDAAiB"}
@@ -0,0 +1,3 @@
1
+ import { ContractKit } from "@celo/contractkit";
2
+ export declare const celoKit: () => ContractKit;
3
+ //# sourceMappingURL=sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/api/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAU,MAAM,mBAAmB,CAAC;AAIxD,eAAO,MAAM,OAAO,mBAGnB,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.celoKit = void 0;
4
+ var contractkit_1 = require("@celo/contractkit");
5
+ var env_1 = require("../../../env");
6
+ var kit;
7
+ var celoKit = function () {
8
+ if (!kit)
9
+ kit = (0, contractkit_1.newKit)((0, env_1.getEnv)("API_CELO_NODE"));
10
+ return kit;
11
+ };
12
+ exports.celoKit = celoKit;
13
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../../src/families/celo/api/sdk.ts"],"names":[],"mappings":";;;AAAA,iDAAwD;AACxD,oCAAsC;AAEtC,IAAI,GAAgB,CAAC;AACd,IAAM,OAAO,GAAG;IACrB,IAAI,CAAC,GAAG;QAAE,GAAG,GAAG,IAAA,oBAAM,EAAC,IAAA,YAAM,EAAC,eAAe,CAAC,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAHW,QAAA,OAAO,WAGlB"}
@@ -0,0 +1,8 @@
1
+ import type { AccountBridge, CurrencyBridge } from "../../../types";
2
+ import type { Transaction } from "../types";
3
+ declare const _default: {
4
+ currencyBridge: CurrencyBridge;
5
+ accountBridge: AccountBridge<Transaction>;
6
+ };
7
+ export default _default;
8
+ //# sourceMappingURL=js.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../../../src/families/celo/bridge/js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;;;;;AAiC5C,wBAGE"}