@shapeshiftoss/utils 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -0
  2. package/dist/cjs/assertUnreachable.d.ts +1 -0
  3. package/dist/cjs/assertUnreachable.js +7 -0
  4. package/dist/cjs/assetData/assetData.test.d.ts +1 -0
  5. package/dist/cjs/assetData/assetData.test.js +136 -0
  6. package/dist/cjs/assetData/baseAssets.d.ts +30 -0
  7. package/dist/cjs/assetData/baseAssets.js +458 -0
  8. package/dist/cjs/assetData/constants.d.ts +1 -0
  9. package/dist/cjs/assetData/constants.js +13 -0
  10. package/dist/cjs/assetData/decodeAssetData.d.ts +7 -0
  11. package/dist/cjs/assetData/decodeAssetData.js +106 -0
  12. package/dist/cjs/assetData/decodeRelatedAssetIndex.d.ts +3 -0
  13. package/dist/cjs/assetData/decodeRelatedAssetIndex.js +14 -0
  14. package/dist/cjs/assetData/encodeAssetData.d.ts +4 -0
  15. package/dist/cjs/assetData/encodeAssetData.js +72 -0
  16. package/dist/cjs/assetData/encodeRelatedAssetIndex.d.ts +3 -0
  17. package/dist/cjs/assetData/encodeRelatedAssetIndex.js +20 -0
  18. package/dist/cjs/assetData/getBaseAsset.d.ts +3 -0
  19. package/dist/cjs/assetData/getBaseAsset.js +66 -0
  20. package/dist/cjs/assetData/index.d.ts +7 -0
  21. package/dist/cjs/assetData/index.js +23 -0
  22. package/dist/cjs/assetData/relatedAssetIndex.test.d.ts +1 -0
  23. package/dist/cjs/assetData/relatedAssetIndex.test.js +32 -0
  24. package/dist/cjs/assetData/types.d.ts +28 -0
  25. package/dist/cjs/assetData/types.js +2 -0
  26. package/dist/cjs/baseUnits/baseUnits.d.ts +5 -0
  27. package/dist/cjs/baseUnits/baseUnits.js +32 -0
  28. package/dist/cjs/baseUnits/baseUnits.test.d.ts +1 -0
  29. package/dist/cjs/baseUnits/baseUnits.test.js +32 -0
  30. package/dist/cjs/basisPoints.d.ts +23 -0
  31. package/dist/cjs/basisPoints.js +48 -0
  32. package/dist/cjs/bignumber/bignumber.d.ts +11 -0
  33. package/dist/cjs/bignumber/bignumber.js +27 -0
  34. package/dist/cjs/bignumber/bignumber.test.d.ts +1 -0
  35. package/dist/cjs/bignumber/bignumber.test.js +52 -0
  36. package/dist/cjs/chainIdToFeeAsset.d.ts +3 -0
  37. package/dist/cjs/chainIdToFeeAsset.js +9 -0
  38. package/dist/cjs/chainIdToFeeAssetId.d.ts +2 -0
  39. package/dist/cjs/chainIdToFeeAssetId.js +66 -0
  40. package/dist/cjs/createThrottle.d.ts +9 -0
  41. package/dist/cjs/createThrottle.js +36 -0
  42. package/dist/cjs/getAssetNamespaceFromChainId.d.ts +3 -0
  43. package/dist/cjs/getAssetNamespaceFromChainId.js +46 -0
  44. package/dist/cjs/getChainShortName.d.ts +2 -0
  45. package/dist/cjs/getChainShortName.js +65 -0
  46. package/dist/cjs/getNativeFeeAssetReference.d.ts +2 -0
  47. package/dist/cjs/getNativeFeeAssetReference.js +105 -0
  48. package/dist/cjs/historyTimeframe.d.ts +6 -0
  49. package/dist/cjs/historyTimeframe.js +36 -0
  50. package/dist/cjs/index.d.ts +24 -0
  51. package/dist/cjs/index.js +62 -0
  52. package/dist/cjs/makeAsset/makeAsset.d.ts +10 -0
  53. package/dist/cjs/makeAsset/makeAsset.js +45 -0
  54. package/dist/cjs/makeAsset/makeAsset.test.d.ts +1 -0
  55. package/dist/cjs/makeAsset/makeAsset.test.js +47 -0
  56. package/dist/cjs/package.json +1 -0
  57. package/dist/cjs/promises.d.ts +4 -0
  58. package/dist/cjs/promises.js +9 -0
  59. package/dist/cjs/sha256.d.ts +1 -0
  60. package/dist/cjs/sha256.js +9 -0
  61. package/dist/cjs/timeout.d.ts +7 -0
  62. package/dist/cjs/timeout.js +34 -0
  63. package/dist/cjs/treasury.d.ts +17 -0
  64. package/dist/cjs/treasury.js +36 -0
  65. package/dist/cjs/unfreeze.d.ts +4 -0
  66. package/dist/cjs/unfreeze.js +10 -0
  67. package/dist/cjs/utxo.d.ts +2 -0
  68. package/dist/cjs/utxo.js +6 -0
  69. package/dist/esm/.tsbuildinfo +1 -0
  70. package/dist/esm/assertUnreachable.d.ts +1 -0
  71. package/dist/esm/assertUnreachable.js +3 -0
  72. package/dist/esm/assetData/assetData.test.d.ts +1 -0
  73. package/dist/esm/assetData/assetData.test.js +134 -0
  74. package/dist/esm/assetData/baseAssets.d.ts +30 -0
  75. package/dist/esm/assetData/baseAssets.js +432 -0
  76. package/dist/esm/assetData/constants.d.ts +1 -0
  77. package/dist/esm/assetData/constants.js +10 -0
  78. package/dist/esm/assetData/decodeAssetData.d.ts +7 -0
  79. package/dist/esm/assetData/decodeAssetData.js +102 -0
  80. package/dist/esm/assetData/decodeRelatedAssetIndex.d.ts +3 -0
  81. package/dist/esm/assetData/decodeRelatedAssetIndex.js +10 -0
  82. package/dist/esm/assetData/encodeAssetData.d.ts +4 -0
  83. package/dist/esm/assetData/encodeAssetData.js +68 -0
  84. package/dist/esm/assetData/encodeRelatedAssetIndex.d.ts +3 -0
  85. package/dist/esm/assetData/encodeRelatedAssetIndex.js +16 -0
  86. package/dist/esm/assetData/getBaseAsset.d.ts +3 -0
  87. package/dist/esm/assetData/getBaseAsset.js +62 -0
  88. package/dist/esm/assetData/index.d.ts +7 -0
  89. package/dist/esm/assetData/index.js +7 -0
  90. package/dist/esm/assetData/relatedAssetIndex.test.d.ts +1 -0
  91. package/dist/esm/assetData/relatedAssetIndex.test.js +30 -0
  92. package/dist/esm/assetData/types.d.ts +28 -0
  93. package/dist/esm/assetData/types.js +1 -0
  94. package/dist/esm/baseUnits/baseUnits.d.ts +5 -0
  95. package/dist/esm/baseUnits/baseUnits.js +23 -0
  96. package/dist/esm/baseUnits/baseUnits.test.d.ts +1 -0
  97. package/dist/esm/baseUnits/baseUnits.test.js +30 -0
  98. package/dist/esm/basisPoints.d.ts +23 -0
  99. package/dist/esm/basisPoints.js +39 -0
  100. package/dist/esm/bignumber/bignumber.d.ts +11 -0
  101. package/dist/esm/bignumber/bignumber.js +16 -0
  102. package/dist/esm/bignumber/bignumber.test.d.ts +1 -0
  103. package/dist/esm/bignumber/bignumber.test.js +50 -0
  104. package/dist/esm/chainIdToFeeAsset.d.ts +3 -0
  105. package/dist/esm/chainIdToFeeAsset.js +5 -0
  106. package/dist/esm/chainIdToFeeAssetId.d.ts +2 -0
  107. package/dist/esm/chainIdToFeeAssetId.js +62 -0
  108. package/dist/esm/createThrottle.d.ts +9 -0
  109. package/dist/esm/createThrottle.js +32 -0
  110. package/dist/esm/getAssetNamespaceFromChainId.d.ts +3 -0
  111. package/dist/esm/getAssetNamespaceFromChainId.js +42 -0
  112. package/dist/esm/getChainShortName.d.ts +2 -0
  113. package/dist/esm/getChainShortName.js +61 -0
  114. package/dist/esm/getNativeFeeAssetReference.d.ts +2 -0
  115. package/dist/esm/getNativeFeeAssetReference.js +101 -0
  116. package/dist/esm/historyTimeframe.d.ts +6 -0
  117. package/dist/esm/historyTimeframe.js +29 -0
  118. package/dist/esm/index.d.ts +24 -0
  119. package/dist/esm/index.js +41 -0
  120. package/dist/esm/makeAsset/makeAsset.d.ts +10 -0
  121. package/dist/esm/makeAsset/makeAsset.js +41 -0
  122. package/dist/esm/makeAsset/makeAsset.test.d.ts +1 -0
  123. package/dist/esm/makeAsset/makeAsset.test.js +45 -0
  124. package/dist/esm/promises.d.ts +4 -0
  125. package/dist/esm/promises.js +3 -0
  126. package/dist/esm/sha256.d.ts +1 -0
  127. package/dist/esm/sha256.js +2 -0
  128. package/dist/esm/timeout.d.ts +7 -0
  129. package/dist/esm/timeout.js +28 -0
  130. package/dist/esm/treasury.d.ts +17 -0
  131. package/dist/esm/treasury.js +32 -0
  132. package/dist/esm/unfreeze.d.ts +4 -0
  133. package/dist/esm/unfreeze.js +6 -0
  134. package/dist/esm/utxo.d.ts +2 -0
  135. package/dist/esm/utxo.js +2 -0
  136. package/package.json +3 -3
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.timeoutMonadicWithOriginal = exports.timeoutMonadic = exports.timeout = void 0;
4
+ const monads_1 = require("@sniptt/monads");
5
+ const timeout = (promise, timeoutMs, fallbackValue) => {
6
+ return Promise.race([
7
+ promise,
8
+ new Promise(resolve => setTimeout(() => {
9
+ resolve(fallbackValue);
10
+ }, timeoutMs)),
11
+ ]);
12
+ };
13
+ exports.timeout = timeout;
14
+ const timeoutMonadic = (promise, timeoutMs, timeoutRight) => {
15
+ return Promise.race([
16
+ promise,
17
+ new Promise(resolve => setTimeout(() => {
18
+ resolve((0, monads_1.Err)(timeoutRight));
19
+ }, timeoutMs)),
20
+ ]);
21
+ };
22
+ exports.timeoutMonadic = timeoutMonadic;
23
+ const timeoutMonadicWithOriginal = (promise, timeoutMs, timeoutErr) => {
24
+ return {
25
+ timed: Promise.race([
26
+ promise,
27
+ new Promise(resolve => setTimeout(() => {
28
+ resolve((0, monads_1.Err)(timeoutErr));
29
+ }, timeoutMs)),
30
+ ]),
31
+ original: promise,
32
+ };
33
+ };
34
+ exports.timeoutMonadicWithOriginal = timeoutMonadicWithOriginal;
@@ -0,0 +1,17 @@
1
+ import type { ChainId } from '@shapeshiftoss/caip';
2
+ import { KnownChainIds } from '@shapeshiftoss/types';
3
+ export declare const treasuryChainIds: readonly [KnownChainIds.EthereumMainnet, KnownChainIds.AvalancheMainnet, KnownChainIds.OptimismMainnet, KnownChainIds.BnbSmartChainMainnet, KnownChainIds.PolygonMainnet, KnownChainIds.GnosisMainnet, KnownChainIds.ArbitrumMainnet, KnownChainIds.BaseMainnet, KnownChainIds.SolanaMainnet, KnownChainIds.BitcoinMainnet, KnownChainIds.StarknetMainnet];
4
+ export type TreasuryChainId = (typeof treasuryChainIds)[number];
5
+ export declare const isTreasuryChainId: (chainId: ChainId) => chainId is KnownChainIds.EthereumMainnet | KnownChainIds.AvalancheMainnet | KnownChainIds.OptimismMainnet | KnownChainIds.BnbSmartChainMainnet | KnownChainIds.PolygonMainnet | KnownChainIds.GnosisMainnet | KnownChainIds.ArbitrumMainnet | KnownChainIds.BaseMainnet | KnownChainIds.BitcoinMainnet | KnownChainIds.SolanaMainnet | KnownChainIds.StarknetMainnet;
6
+ export declare const DAO_TREASURY_ETHEREUM_MAINNET = "0x90a48d5cf7343b08da12e067680b4c6dbfe551be";
7
+ export declare const DAO_TREASURY_OPTIMISM = "0x6268d07327f4fb7380732dc6d63d95F88c0E083b";
8
+ export declare const DAO_TREASURY_AVALANCHE = "0x74d63F31C2335b5b3BA7ad2812357672b2624cEd";
9
+ export declare const DAO_TREASURY_POLYGON = "0xB5F944600785724e31Edb90F9DFa16dBF01Af000";
10
+ export declare const DAO_TREASURY_GNOSIS = "0xb0E3175341794D1dc8E5F02a02F9D26989EbedB3";
11
+ export declare const DAO_TREASURY_BSC = "0x8b92b1698b57bEDF2142297e9397875ADBb2297E";
12
+ export declare const DAO_TREASURY_ARBITRUM = "0x38276553F8fbf2A027D901F8be45f00373d8Dd48";
13
+ export declare const DAO_TREASURY_BASE = "0x9c9aA90363630d4ab1D9dbF416cc3BBC8d3Ed502";
14
+ export declare const DAO_TREASURY_SOLANA = "Bh7R3MeJ98D7Ersxh7TgVQVQUSmDMqwrFVHH9DLfb4u3";
15
+ export declare const DAO_TREASURY_BITCOIN = "bc1qr2whxtd0gvqnctcxlynwejp6fvntv0mtxkv0dlv02vyale8h69ysm6l32n";
16
+ export declare const DAO_TREASURY_NEAR = "f471d0b0f90593d85125f38aaf5458748d6f23fd5b437b844d293d8e87557070";
17
+ export declare const DAO_TREASURY_STARKNET = "0x052a1132ea4db81Bde863AFb18a4d4CE5de9d3efdfda6b3DaA6484e26425D467";
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ // Wallets relating to the ShapeShift DAO Treasury
3
+ // https://forum.shapeshift.com/thread/dao-treasuries-and-multisigs-43646
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.DAO_TREASURY_STARKNET = exports.DAO_TREASURY_NEAR = exports.DAO_TREASURY_BITCOIN = exports.DAO_TREASURY_SOLANA = exports.DAO_TREASURY_BASE = exports.DAO_TREASURY_ARBITRUM = exports.DAO_TREASURY_BSC = exports.DAO_TREASURY_GNOSIS = exports.DAO_TREASURY_POLYGON = exports.DAO_TREASURY_AVALANCHE = exports.DAO_TREASURY_OPTIMISM = exports.DAO_TREASURY_ETHEREUM_MAINNET = exports.isTreasuryChainId = exports.treasuryChainIds = void 0;
6
+ const types_1 = require("@shapeshiftoss/types");
7
+ exports.treasuryChainIds = [
8
+ types_1.KnownChainIds.EthereumMainnet,
9
+ types_1.KnownChainIds.AvalancheMainnet,
10
+ types_1.KnownChainIds.OptimismMainnet,
11
+ types_1.KnownChainIds.BnbSmartChainMainnet,
12
+ types_1.KnownChainIds.PolygonMainnet,
13
+ types_1.KnownChainIds.GnosisMainnet,
14
+ types_1.KnownChainIds.ArbitrumMainnet,
15
+ types_1.KnownChainIds.BaseMainnet,
16
+ types_1.KnownChainIds.SolanaMainnet,
17
+ types_1.KnownChainIds.BitcoinMainnet,
18
+ types_1.KnownChainIds.StarknetMainnet,
19
+ ];
20
+ const isTreasuryChainId = (chainId) => {
21
+ return exports.treasuryChainIds.includes(chainId);
22
+ };
23
+ exports.isTreasuryChainId = isTreasuryChainId;
24
+ // Safes
25
+ exports.DAO_TREASURY_ETHEREUM_MAINNET = '0x90a48d5cf7343b08da12e067680b4c6dbfe551be';
26
+ exports.DAO_TREASURY_OPTIMISM = '0x6268d07327f4fb7380732dc6d63d95F88c0E083b';
27
+ exports.DAO_TREASURY_AVALANCHE = '0x74d63F31C2335b5b3BA7ad2812357672b2624cEd';
28
+ exports.DAO_TREASURY_POLYGON = '0xB5F944600785724e31Edb90F9DFa16dBF01Af000';
29
+ exports.DAO_TREASURY_GNOSIS = '0xb0E3175341794D1dc8E5F02a02F9D26989EbedB3';
30
+ exports.DAO_TREASURY_BSC = '0x8b92b1698b57bEDF2142297e9397875ADBb2297E';
31
+ exports.DAO_TREASURY_ARBITRUM = '0x38276553F8fbf2A027D901F8be45f00373d8Dd48';
32
+ exports.DAO_TREASURY_BASE = '0x9c9aA90363630d4ab1D9dbF416cc3BBC8d3Ed502';
33
+ exports.DAO_TREASURY_SOLANA = 'Bh7R3MeJ98D7Ersxh7TgVQVQUSmDMqwrFVHH9DLfb4u3';
34
+ exports.DAO_TREASURY_BITCOIN = 'bc1qr2whxtd0gvqnctcxlynwejp6fvntv0mtxkv0dlv02vyale8h69ysm6l32n';
35
+ exports.DAO_TREASURY_NEAR = 'f471d0b0f90593d85125f38aaf5458748d6f23fd5b437b844d293d8e87557070';
36
+ exports.DAO_TREASURY_STARKNET = '0x052a1132ea4db81Bde863AFb18a4d4CE5de9d3efdfda6b3DaA6484e26425D467';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Creates a shallow clone to allow mutation of a readonly object
3
+ */
4
+ export declare const unfreeze: <T>(obj: Readonly<T>) => T;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unfreeze = void 0;
4
+ /**
5
+ * Creates a shallow clone to allow mutation of a readonly object
6
+ */
7
+ const unfreeze = (obj) => {
8
+ return { ...obj };
9
+ };
10
+ exports.unfreeze = unfreeze;
@@ -0,0 +1,2 @@
1
+ import type { ChainId } from '@shapeshiftoss/caip';
2
+ export declare const isUtxoChainId: (chainId: ChainId) => boolean;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isUtxoChainId = void 0;
4
+ const caip_1 = require("@shapeshiftoss/caip");
5
+ const isUtxoChainId = (chainId) => (0, caip_1.fromChainId)(chainId).chainNamespace === caip_1.CHAIN_NAMESPACE.Utxo;
6
+ exports.isUtxoChainId = isUtxoChainId;