@meshsdk/common 1.0.0-alpha.8 → 1.6.0-alpha.11

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 (228) hide show
  1. package/README.md +5 -0
  2. package/package.json +22 -33
  3. package/src/constants/cost-models.ts +30 -0
  4. package/src/constants/index.ts +86 -0
  5. package/src/constants/language-views.ts +19 -0
  6. package/src/constants/protocol-parameters.ts +34 -0
  7. package/src/constants/supported-wallets.ts +12 -0
  8. package/src/data/index.ts +5 -0
  9. package/src/data/json/aliases.ts +218 -0
  10. package/src/data/json/constructors.ts +56 -0
  11. package/src/data/json/credentials.ts +77 -0
  12. package/src/data/json/index.ts +33 -0
  13. package/src/data/json/primitives.ts +154 -0
  14. package/src/data/mesh/aliases.ts +85 -0
  15. package/src/data/mesh/constructors.ts +68 -0
  16. package/src/data/mesh/credentials.ts +77 -0
  17. package/src/data/mesh/index.ts +4 -0
  18. package/src/data/mesh/primitives.ts +37 -0
  19. package/src/data/parser.ts +36 -0
  20. package/src/data/time.ts +92 -0
  21. package/src/data/value.ts +70 -0
  22. package/src/index.ts +7 -0
  23. package/src/interfaces/evaluator.ts +5 -0
  24. package/src/interfaces/fetcher.ts +31 -0
  25. package/src/interfaces/index.ts +7 -0
  26. package/src/interfaces/initiator.ts +9 -0
  27. package/src/interfaces/listener.ts +3 -0
  28. package/src/interfaces/serializer.ts +53 -0
  29. package/src/interfaces/signer.ts +12 -0
  30. package/src/interfaces/submitter.ts +3 -0
  31. package/src/types/account-info.ts +7 -0
  32. package/src/types/action.ts +15 -0
  33. package/src/types/asset-extended.ts +9 -0
  34. package/src/types/asset-metadata.ts +102 -0
  35. package/src/types/asset.ts +23 -0
  36. package/src/types/block-info.ts +17 -0
  37. package/src/types/data-signature.ts +4 -0
  38. package/src/types/data.ts +10 -0
  39. package/src/types/deserialized/deserialized-address.ts +6 -0
  40. package/src/types/deserialized/deserialized-script.ts +4 -0
  41. package/src/types/deserialized/index.ts +2 -0
  42. package/src/types/era.ts +1 -0
  43. package/src/types/index.ts +24 -0
  44. package/src/types/message.ts +4 -0
  45. package/src/types/mint.ts +12 -0
  46. package/src/types/native-script.ts +18 -0
  47. package/src/types/network.ts +7 -0
  48. package/src/types/plutus-script.ts +8 -0
  49. package/src/types/pool-params.ts +41 -0
  50. package/src/types/protocol.ts +22 -0
  51. package/src/types/recipient.ts +15 -0
  52. package/src/types/relay.ts +42 -0
  53. package/{dist/cjs/types/Token.d.ts → src/types/token.ts} +2 -1
  54. package/src/types/transaction-builder/data.ts +31 -0
  55. package/src/types/transaction-builder/index.ts +73 -0
  56. package/src/types/transaction-builder/mint.ts +11 -0
  57. package/src/types/transaction-builder/output.ts +12 -0
  58. package/src/types/transaction-builder/script.ts +27 -0
  59. package/src/types/transaction-builder/txin.ts +46 -0
  60. package/src/types/transaction-builder/withdrawal.ts +207 -0
  61. package/src/types/transaction-info.ts +11 -0
  62. package/src/types/utxo.ts +16 -0
  63. package/src/types/wallet.ts +6 -0
  64. package/src/utils/asset-fingerprint.ts +11 -0
  65. package/src/utils/bigNum.ts +61 -0
  66. package/src/utils/index.ts +2 -0
  67. package/test/data/json/aliases.test.ts +135 -0
  68. package/test/data/json/constructors.test.ts +38 -0
  69. package/test/data/json/credentials.test.ts +84 -0
  70. package/test/data/json/primitives.test.ts +133 -0
  71. package/test/data/mesh/aliases.test.ts +45 -0
  72. package/test/data/mesh/common.ts +14 -0
  73. package/test/data/mesh/constructors.test.ts +53 -0
  74. package/test/data/mesh/credentials.test.ts +74 -0
  75. package/test/data/mesh/primitives.test.ts +41 -0
  76. package/test/data/value.test.ts +108 -0
  77. package/tsconfig.json +5 -0
  78. package/dist/cjs/builder/data/index.d.ts +0 -4
  79. package/dist/cjs/builder/data/index.js +0 -20
  80. package/dist/cjs/builder/data/mesh.d.ts +0 -8
  81. package/dist/cjs/builder/data/mesh.js +0 -34
  82. package/dist/cjs/builder/data/parser.d.ts +0 -5
  83. package/dist/cjs/builder/data/parser.js +0 -11
  84. package/dist/cjs/builder/data/plutus.d.ts +0 -69
  85. package/dist/cjs/builder/data/plutus.js +0 -105
  86. package/dist/cjs/builder/data/plutus.spec.d.ts +0 -1
  87. package/dist/cjs/builder/data/plutus.spec.js +0 -98
  88. package/dist/cjs/builder/data/time.d.ts +0 -11
  89. package/dist/cjs/builder/data/time.js +0 -32
  90. package/dist/cjs/builder/index.d.ts +0 -3
  91. package/dist/cjs/builder/index.js +0 -19
  92. package/dist/cjs/builder/serializer.d.ts +0 -7
  93. package/dist/cjs/builder/serializer.js +0 -19
  94. package/dist/cjs/builder/types.d.ts +0 -128
  95. package/dist/cjs/builder/types.js +0 -2
  96. package/dist/cjs/cip/CIP25.d.ts +0 -19
  97. package/dist/cjs/cip/CIP25.js +0 -2
  98. package/dist/cjs/cip/CIP27.d.ts +0 -4
  99. package/dist/cjs/cip/CIP27.js +0 -2
  100. package/dist/cjs/cip/CPS9.d.ts +0 -2
  101. package/dist/cjs/cip/CPS9.js +0 -115
  102. package/dist/cjs/cip/index.d.ts +0 -3
  103. package/dist/cjs/cip/index.js +0 -19
  104. package/dist/cjs/constants.d.ts +0 -43
  105. package/dist/cjs/constants.js +0 -93
  106. package/dist/cjs/index.d.ts +0 -4
  107. package/dist/cjs/index.js +0 -20
  108. package/dist/cjs/types/Account.d.ts +0 -5
  109. package/dist/cjs/types/Account.js +0 -2
  110. package/dist/cjs/types/AccountInfo.d.ts +0 -7
  111. package/dist/cjs/types/AccountInfo.js +0 -2
  112. package/dist/cjs/types/Action.d.ts +0 -12
  113. package/dist/cjs/types/Action.js +0 -2
  114. package/dist/cjs/types/Asset.d.ts +0 -7
  115. package/dist/cjs/types/Asset.js +0 -17
  116. package/dist/cjs/types/AssetExtended.d.ts +0 -8
  117. package/dist/cjs/types/AssetExtended.js +0 -2
  118. package/dist/cjs/types/AssetMetadata.d.ts +0 -24
  119. package/dist/cjs/types/AssetMetadata.js +0 -2
  120. package/dist/cjs/types/BlockInfo.d.ts +0 -17
  121. package/dist/cjs/types/BlockInfo.js +0 -2
  122. package/dist/cjs/types/Data.d.ts +0 -4
  123. package/dist/cjs/types/Data.js +0 -2
  124. package/dist/cjs/types/DataSignature.d.ts +0 -4
  125. package/dist/cjs/types/DataSignature.js +0 -2
  126. package/dist/cjs/types/Era.d.ts +0 -1
  127. package/dist/cjs/types/Era.js +0 -2
  128. package/dist/cjs/types/Mint.d.ts +0 -10
  129. package/dist/cjs/types/Mint.js +0 -2
  130. package/dist/cjs/types/NativeScript.d.ts +0 -14
  131. package/dist/cjs/types/NativeScript.js +0 -2
  132. package/dist/cjs/types/Network.d.ts +0 -4
  133. package/dist/cjs/types/Network.js +0 -8
  134. package/dist/cjs/types/PlutusScript.d.ts +0 -5
  135. package/dist/cjs/types/PlutusScript.js +0 -2
  136. package/dist/cjs/types/PoolParams.d.ts +0 -16
  137. package/dist/cjs/types/PoolParams.js +0 -2
  138. package/dist/cjs/types/Protocol.d.ts +0 -22
  139. package/dist/cjs/types/Protocol.js +0 -2
  140. package/dist/cjs/types/Recipient.d.ts +0 -11
  141. package/dist/cjs/types/Recipient.js +0 -2
  142. package/dist/cjs/types/Relay.d.ts +0 -13
  143. package/dist/cjs/types/Relay.js +0 -2
  144. package/dist/cjs/types/Token.js +0 -2
  145. package/dist/cjs/types/TransactionInfo.d.ts +0 -11
  146. package/dist/cjs/types/TransactionInfo.js +0 -2
  147. package/dist/cjs/types/UTxO.d.ts +0 -15
  148. package/dist/cjs/types/UTxO.js +0 -2
  149. package/dist/cjs/types/Wallet.d.ts +0 -5
  150. package/dist/cjs/types/Wallet.js +0 -2
  151. package/dist/cjs/types/index.d.ts +0 -22
  152. package/dist/cjs/types/index.js +0 -38
  153. package/dist/mjs/builder/data/index.d.ts +0 -4
  154. package/dist/mjs/builder/data/index.js +0 -4
  155. package/dist/mjs/builder/data/mesh.d.ts +0 -8
  156. package/dist/mjs/builder/data/mesh.js +0 -24
  157. package/dist/mjs/builder/data/parser.d.ts +0 -5
  158. package/dist/mjs/builder/data/parser.js +0 -4
  159. package/dist/mjs/builder/data/plutus.d.ts +0 -69
  160. package/dist/mjs/builder/data/plutus.js +0 -79
  161. package/dist/mjs/builder/data/plutus.spec.d.ts +0 -1
  162. package/dist/mjs/builder/data/plutus.spec.js +0 -96
  163. package/dist/mjs/builder/data/time.d.ts +0 -11
  164. package/dist/mjs/builder/data/time.js +0 -27
  165. package/dist/mjs/builder/index.d.ts +0 -3
  166. package/dist/mjs/builder/index.js +0 -3
  167. package/dist/mjs/builder/serializer.d.ts +0 -7
  168. package/dist/mjs/builder/serializer.js +0 -15
  169. package/dist/mjs/builder/types.d.ts +0 -128
  170. package/dist/mjs/builder/types.js +0 -1
  171. package/dist/mjs/cip/CIP25.d.ts +0 -19
  172. package/dist/mjs/cip/CIP25.js +0 -1
  173. package/dist/mjs/cip/CIP27.d.ts +0 -4
  174. package/dist/mjs/cip/CIP27.js +0 -1
  175. package/dist/mjs/cip/CPS9.d.ts +0 -2
  176. package/dist/mjs/cip/CPS9.js +0 -111
  177. package/dist/mjs/cip/index.d.ts +0 -3
  178. package/dist/mjs/cip/index.js +0 -3
  179. package/dist/mjs/constants.d.ts +0 -43
  180. package/dist/mjs/constants.js +0 -90
  181. package/dist/mjs/index.d.ts +0 -4
  182. package/dist/mjs/index.js +0 -4
  183. package/dist/mjs/types/Account.d.ts +0 -5
  184. package/dist/mjs/types/Account.js +0 -1
  185. package/dist/mjs/types/AccountInfo.d.ts +0 -7
  186. package/dist/mjs/types/AccountInfo.js +0 -1
  187. package/dist/mjs/types/Action.d.ts +0 -12
  188. package/dist/mjs/types/Action.js +0 -1
  189. package/dist/mjs/types/Asset.d.ts +0 -7
  190. package/dist/mjs/types/Asset.js +0 -13
  191. package/dist/mjs/types/AssetExtended.d.ts +0 -8
  192. package/dist/mjs/types/AssetExtended.js +0 -1
  193. package/dist/mjs/types/AssetMetadata.d.ts +0 -24
  194. package/dist/mjs/types/AssetMetadata.js +0 -1
  195. package/dist/mjs/types/BlockInfo.d.ts +0 -17
  196. package/dist/mjs/types/BlockInfo.js +0 -1
  197. package/dist/mjs/types/Data.d.ts +0 -4
  198. package/dist/mjs/types/Data.js +0 -1
  199. package/dist/mjs/types/DataSignature.d.ts +0 -4
  200. package/dist/mjs/types/DataSignature.js +0 -1
  201. package/dist/mjs/types/Era.d.ts +0 -1
  202. package/dist/mjs/types/Era.js +0 -1
  203. package/dist/mjs/types/Mint.d.ts +0 -10
  204. package/dist/mjs/types/Mint.js +0 -1
  205. package/dist/mjs/types/NativeScript.d.ts +0 -14
  206. package/dist/mjs/types/NativeScript.js +0 -1
  207. package/dist/mjs/types/Network.d.ts +0 -4
  208. package/dist/mjs/types/Network.js +0 -4
  209. package/dist/mjs/types/PlutusScript.d.ts +0 -5
  210. package/dist/mjs/types/PlutusScript.js +0 -1
  211. package/dist/mjs/types/PoolParams.d.ts +0 -16
  212. package/dist/mjs/types/PoolParams.js +0 -1
  213. package/dist/mjs/types/Protocol.d.ts +0 -22
  214. package/dist/mjs/types/Protocol.js +0 -1
  215. package/dist/mjs/types/Recipient.d.ts +0 -11
  216. package/dist/mjs/types/Recipient.js +0 -1
  217. package/dist/mjs/types/Relay.d.ts +0 -13
  218. package/dist/mjs/types/Relay.js +0 -1
  219. package/dist/mjs/types/Token.d.ts +0 -2
  220. package/dist/mjs/types/Token.js +0 -1
  221. package/dist/mjs/types/TransactionInfo.d.ts +0 -11
  222. package/dist/mjs/types/TransactionInfo.js +0 -1
  223. package/dist/mjs/types/UTxO.d.ts +0 -15
  224. package/dist/mjs/types/UTxO.js +0 -1
  225. package/dist/mjs/types/Wallet.d.ts +0 -5
  226. package/dist/mjs/types/Wallet.js +0 -1
  227. package/dist/mjs/types/index.d.ts +0 -22
  228. package/dist/mjs/types/index.js +0 -22
@@ -1,105 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parsePlutusValueToAssets = exports.value = exports.tuple = exports.dict = exports.assocMap = exports.posixTime = exports.pubKeyHash = exports.paymentPubKeyHash = exports.txOutRef = exports.assetClass = exports.scriptAddress = exports.pubKeyAddress = exports.maybeStakingHash = exports.tokenName = exports.currencySymbol = exports.list = exports.integer = exports.builtinByteString = exports.bool = exports.conStr2 = exports.conStr1 = exports.conStr0 = exports.conStr = void 0;
4
- const conStr = (constructor, fields) => ({
5
- constructor,
6
- fields,
7
- });
8
- exports.conStr = conStr;
9
- const conStr0 = (fields) => (0, exports.conStr)(0, fields);
10
- exports.conStr0 = conStr0;
11
- const conStr1 = (fields) => (0, exports.conStr)(1, fields);
12
- exports.conStr1 = conStr1;
13
- const conStr2 = (fields) => (0, exports.conStr)(2, fields);
14
- exports.conStr2 = conStr2;
15
- const bool = (b) => (b ? (0, exports.conStr1)([]) : (0, exports.conStr0)([]));
16
- exports.bool = bool;
17
- const builtinByteString = (bytes) => ({
18
- bytes,
19
- });
20
- exports.builtinByteString = builtinByteString;
21
- const integer = (int) => ({ int });
22
- exports.integer = integer;
23
- const list = (pList) => ({ list: pList });
24
- exports.list = list;
25
- const currencySymbol = (bytes) => (0, exports.builtinByteString)(bytes);
26
- exports.currencySymbol = currencySymbol;
27
- const tokenName = (bytes) => (0, exports.builtinByteString)(bytes);
28
- exports.tokenName = tokenName;
29
- const maybeStakingHash = (stakeCredential) => {
30
- if (stakeCredential === '') {
31
- return (0, exports.conStr1)([]);
32
- }
33
- return (0, exports.conStr0)([
34
- (0, exports.conStr0)([(0, exports.conStr0)([(0, exports.builtinByteString)(stakeCredential)])]),
35
- ]);
36
- };
37
- exports.maybeStakingHash = maybeStakingHash;
38
- const pubKeyAddress = (bytes, stakeCredential) => (0, exports.conStr0)([(0, exports.conStr0)([(0, exports.builtinByteString)(bytes)]), (0, exports.maybeStakingHash)(stakeCredential || '')]);
39
- exports.pubKeyAddress = pubKeyAddress;
40
- const scriptAddress = (bytes, stakeCredential) => (0, exports.conStr0)([(0, exports.conStr1)([(0, exports.builtinByteString)(bytes)]), (0, exports.maybeStakingHash)(stakeCredential || '')]);
41
- exports.scriptAddress = scriptAddress;
42
- const assetClass = (policyId, assetName) => (0, exports.conStr0)([(0, exports.currencySymbol)(policyId), (0, exports.tokenName)(assetName)]);
43
- exports.assetClass = assetClass;
44
- const txOutRef = (txHash, index) => (0, exports.conStr0)([(0, exports.conStr0)([(0, exports.builtinByteString)(txHash)]), (0, exports.integer)(index)]);
45
- exports.txOutRef = txOutRef;
46
- const paymentPubKeyHash = (bytes) => (0, exports.builtinByteString)(bytes);
47
- exports.paymentPubKeyHash = paymentPubKeyHash;
48
- const pubKeyHash = (bytes) => (0, exports.builtinByteString)(bytes);
49
- exports.pubKeyHash = pubKeyHash;
50
- const posixTime = (int) => ({ int });
51
- exports.posixTime = posixTime;
52
- const assocMap = (itemsMap) => ({
53
- map: itemsMap.map(([k, v]) => ({ k, v })),
54
- });
55
- exports.assocMap = assocMap;
56
- const dict = (itemsMap) => ({
57
- map: itemsMap.map(([k, v]) => ({ k, v })),
58
- });
59
- exports.dict = dict;
60
- const tuple = (key, value) => (0, exports.conStr0)([key, value]);
61
- exports.tuple = tuple;
62
- const value = (assets) => {
63
- const valueMapToParse = [];
64
- const valueMap = {};
65
- assets.forEach((asset) => {
66
- const sanitizedName = asset.unit.replace('lovelace', '');
67
- const policy = sanitizedName.slice(0, 56) || '';
68
- const token = sanitizedName.slice(56) || '';
69
- if (!valueMap[policy]) {
70
- valueMap[policy] = {};
71
- }
72
- if (!valueMap[policy][token]) {
73
- valueMap[policy][token] = Number(asset.quantity);
74
- }
75
- else {
76
- valueMap[policy][token] += Number(asset.quantity);
77
- }
78
- });
79
- Object.keys(valueMap).forEach((policy) => {
80
- const policyByte = (0, exports.currencySymbol)(policy);
81
- const tokens = Object.keys(valueMap[policy]).map((name) => [
82
- (0, exports.tokenName)(name),
83
- (0, exports.integer)(valueMap[policy][name]),
84
- ]);
85
- const policyMap = (0, exports.assocMap)(tokens);
86
- valueMapToParse.push([policyByte, policyMap]);
87
- });
88
- return (0, exports.assocMap)(valueMapToParse);
89
- };
90
- exports.value = value;
91
- const parsePlutusValueToAssets = (plutusValue) => {
92
- const assets = [];
93
- plutusValue.map.forEach((policyMap) => {
94
- const policy = policyMap.k.bytes;
95
- policyMap.v.map.forEach((tokenMap) => {
96
- const token = tokenMap.k.bytes;
97
- const quantity = tokenMap.v.int.toString();
98
- const unsanitizedUnit = policy + token;
99
- const unit = unsanitizedUnit === '' ? 'lovelace' : unsanitizedUnit;
100
- assets.push({ unit, quantity });
101
- });
102
- });
103
- return assets;
104
- };
105
- exports.parsePlutusValueToAssets = parsePlutusValueToAssets;
@@ -1 +0,0 @@
1
- export {};
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const _1 = require(".");
4
- describe('Plutus data type', () => {
5
- describe('Value', () => {
6
- test('Simple ADA Value', () => {
7
- const val = [{ unit: 'lovelace', quantity: '1000000' }];
8
- const datum = (0, _1.value)(val);
9
- const nameMap = (0, _1.dict)([
10
- [(0, _1.builtinByteString)(''), (0, _1.integer)(1000000)],
11
- ]);
12
- const valMap = (0, _1.dict)([
13
- [(0, _1.builtinByteString)(''), nameMap],
14
- ]);
15
- expect(JSON.stringify(datum)).toBe(JSON.stringify(valMap));
16
- });
17
- test('Simple token Value', () => {
18
- const val = [
19
- {
20
- unit: 'baefdc6c5b191be372a794cd8d40d839ec0dbdd3c28957267dc8170074657374696e676e657777616c2e616461',
21
- quantity: '345',
22
- },
23
- ];
24
- const datum = (0, _1.value)(val);
25
- const nameMap = (0, _1.dict)([
26
- [(0, _1.builtinByteString)('74657374696e676e657777616c2e616461'), (0, _1.integer)(345)],
27
- ]);
28
- const valMap = (0, _1.dict)([
29
- [
30
- (0, _1.builtinByteString)('baefdc6c5b191be372a794cd8d40d839ec0dbdd3c28957267dc81700'),
31
- nameMap,
32
- ],
33
- ]);
34
- expect(JSON.stringify(datum)).toBe(JSON.stringify(valMap));
35
- });
36
- test('Complex Value', () => {
37
- const val = [
38
- { unit: 'lovelace', quantity: '1000000' },
39
- {
40
- unit: 'baefdc6c5b191be372a794cd8d40d839ec0dbdd3c28957267dc8170074657374696e676e657777616c2e616461',
41
- quantity: '345',
42
- },
43
- {
44
- unit: 'baefdc6c5b191be372a794cd8d40d839ec0dbdd3c28957267dc817001234',
45
- quantity: '567',
46
- },
47
- ];
48
- const datum = (0, _1.value)(val);
49
- const nameMap = (0, _1.dict)([
50
- [(0, _1.builtinByteString)('1234'), (0, _1.integer)(567)],
51
- [(0, _1.builtinByteString)('74657374696e676e657777616c2e616461'), (0, _1.integer)(345)],
52
- ]);
53
- const valMap = (0, _1.dict)([
54
- [(0, _1.builtinByteString)(''), (0, _1.dict)([[(0, _1.builtinByteString)(''), (0, _1.integer)(1000000)]])],
55
- [
56
- (0, _1.builtinByteString)('baefdc6c5b191be372a794cd8d40d839ec0dbdd3c28957267dc81700'),
57
- nameMap,
58
- ],
59
- ]);
60
- expect(JSON.stringify(datum)).toBe(JSON.stringify(valMap));
61
- });
62
- });
63
- });
64
- describe('Value', () => {
65
- test('Simple ADA Value', () => {
66
- const val = [{ unit: 'lovelace', quantity: '1000000' }];
67
- const plutusValue = (0, _1.value)(val);
68
- const assets = (0, _1.parsePlutusValueToAssets)(plutusValue);
69
- expect(JSON.stringify(val)).toBe(JSON.stringify(assets));
70
- });
71
- test('Simple token Value', () => {
72
- const val = [
73
- {
74
- unit: 'baefdc6c5b191be372a794cd8d40d839ec0dbdd3c28957267dc8170074657374696e676e657777616c2e616461',
75
- quantity: '345',
76
- },
77
- ];
78
- const plutusValue = (0, _1.value)(val);
79
- const assets = (0, _1.parsePlutusValueToAssets)(plutusValue);
80
- expect(JSON.stringify(val)).toBe(JSON.stringify(assets));
81
- });
82
- test('Complex Value', () => {
83
- const val = [
84
- { unit: 'lovelace', quantity: '1000000' },
85
- {
86
- unit: 'baefdc6c5b191be372a794cd8d40d839ec0dbdd3c28957267dc817001234',
87
- quantity: '567',
88
- },
89
- {
90
- unit: 'baefdc6c5b191be372a794cd8d40d839ec0dbdd3c28957267dc8170074657374696e676e657777616c2e616461',
91
- quantity: '345',
92
- },
93
- ];
94
- const plutusValue = (0, _1.value)(val);
95
- const assets = (0, _1.parsePlutusValueToAssets)(plutusValue);
96
- expect(JSON.stringify(val)).toBe(JSON.stringify(assets));
97
- });
98
- });
@@ -1,11 +0,0 @@
1
- import { Network } from '../../types';
2
- export type Slot = number;
3
- export type UnixTime = number;
4
- export type SlotConfig = {
5
- zeroTime: UnixTime;
6
- zeroSlot: Slot;
7
- slotLength: number;
8
- };
9
- export declare const SLOT_CONFIG_NETWORK: Record<Network, SlotConfig>;
10
- export declare const slotToBeginUnixTime: (slot: Slot, slotConfig: SlotConfig) => UnixTime;
11
- export declare const unixTimeToEnclosingSlot: (unixTime: UnixTime, slotConfig: SlotConfig) => Slot;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unixTimeToEnclosingSlot = exports.slotToBeginUnixTime = exports.SLOT_CONFIG_NETWORK = void 0;
4
- exports.SLOT_CONFIG_NETWORK = {
5
- mainnet: { zeroTime: 1596059091000, zeroSlot: 4492800, slotLength: 1000 }, // Starting at Shelley era
6
- preview: { zeroTime: 1666656000000, zeroSlot: 0, slotLength: 1000 }, // Starting at Shelley era
7
- preprod: {
8
- zeroTime: 1654041600000 + 1728000000,
9
- zeroSlot: 86400,
10
- slotLength: 1000,
11
- }, // Starting at Shelley era
12
- /** Customizable slot config (Initialized with 0 values). */
13
- testnet: { zeroTime: 0, zeroSlot: 0, slotLength: 0 },
14
- };
15
- const slotToBeginUnixTime = (slot, slotConfig) => {
16
- const msAfterBegin = (slot - slotConfig.zeroSlot) * slotConfig.slotLength;
17
- return slotConfig.zeroTime + msAfterBegin;
18
- };
19
- exports.slotToBeginUnixTime = slotToBeginUnixTime;
20
- // slotToBeginUnixTime and slotToEndUnixTime are identical when slotLength == 1. So we don't need to worry about this now.
21
- // function slotToEndUnixTime(slot: Slot, slotConfig: SlotConfig): UnixTime {
22
- // return slotToBeginUnixTime(slot, slotConfig) + (slotConfig.slotLength - 1);
23
- // }
24
- const unixTimeToEnclosingSlot = (unixTime, slotConfig) => {
25
- const timePassed = unixTime - slotConfig.zeroTime;
26
- const slotsPassed = Math.floor(timePassed / slotConfig.slotLength);
27
- return slotsPassed + slotConfig.zeroSlot;
28
- };
29
- exports.unixTimeToEnclosingSlot = unixTimeToEnclosingSlot;
30
- // const timeNow = new Date().getTime();
31
- // console.log(timeNow);
32
- // console.log(unixTimeToEnclosingSlot(timeNow, SLOT_CONFIG_NETWORK.Preprod));
@@ -1,3 +0,0 @@
1
- export * from './serializer';
2
- export * from './types';
3
- export * from './data';
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./serializer"), exports);
18
- __exportStar(require("./types"), exports);
19
- __exportStar(require("./data"), exports);
@@ -1,7 +0,0 @@
1
- import { MeshTxBuilderBody } from './types';
2
- import { Protocol } from '../types';
3
- export declare const emptyTxBuilderBody: () => MeshTxBuilderBody;
4
- export interface IMeshSerializer {
5
- serializeTxBody(txBody: MeshTxBuilderBody, protocolParams: Protocol): string;
6
- addSigningKeys(txHex: string, signingKeys: string[]): string;
7
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.emptyTxBuilderBody = void 0;
4
- const emptyTxBuilderBody = () => ({
5
- inputs: [],
6
- outputs: [],
7
- extraInputs: [],
8
- selectionThreshold: 0,
9
- collaterals: [],
10
- requiredSignatures: [],
11
- referenceInputs: [],
12
- mints: [],
13
- changeAddress: '',
14
- metadata: [],
15
- validityRange: {},
16
- certificates: [],
17
- signingKey: [],
18
- });
19
- exports.emptyTxBuilderBody = emptyTxBuilderBody;
@@ -1,128 +0,0 @@
1
- import { Asset, Budget, Data, LanguageVersion, PlutusScript, UTxO, PoolParams } from '../types';
2
- export type MeshTxBuilderBody = {
3
- inputs: TxIn[];
4
- outputs: Output[];
5
- extraInputs: UTxO[];
6
- selectionThreshold: number;
7
- collaterals: PubKeyTxIn[];
8
- requiredSignatures: string[];
9
- referenceInputs: RefTxIn[];
10
- mints: MintItem[];
11
- changeAddress: string;
12
- metadata: Metadata[];
13
- validityRange: ValidityRange;
14
- certificates: Certificate[];
15
- signingKey: string[];
16
- };
17
- export type TxIn = PubKeyTxIn | ScriptTxIn;
18
- export type PubKeyTxIn = {
19
- type: 'PubKey';
20
- txIn: TxInParameter;
21
- };
22
- export type TxInParameter = {
23
- txHash: string;
24
- txIndex: number;
25
- amount?: Asset[];
26
- address?: string;
27
- };
28
- export type ScriptTxIn = {
29
- type: 'Script';
30
- txIn: TxInParameter;
31
- scriptTxIn: ScriptTxInParameter;
32
- };
33
- export type ScriptTxInParameter = {
34
- scriptSource?: {
35
- type: 'Provided';
36
- script: PlutusScript;
37
- } | {
38
- type: 'Inline';
39
- txInInfo: ScriptSourceInfo;
40
- };
41
- datumSource?: {
42
- type: 'Provided';
43
- data: BuilderData;
44
- } | {
45
- type: 'Inline';
46
- txHash: string;
47
- txIndex: number;
48
- };
49
- redeemer?: Redeemer;
50
- };
51
- export type ScriptSourceInfo = {
52
- txHash: string;
53
- txIndex: number;
54
- spendingScriptHash?: string;
55
- version: LanguageVersion;
56
- };
57
- export type RefTxIn = {
58
- txHash: string;
59
- txIndex: number;
60
- };
61
- export type Output = {
62
- address: string;
63
- amount: Asset[];
64
- datum?: {
65
- type: 'Hash' | 'Inline';
66
- data: BuilderData;
67
- };
68
- referenceScript?: PlutusScript;
69
- };
70
- export type MintItem = {
71
- type: 'Plutus' | 'Native';
72
- policyId: string;
73
- assetName: string;
74
- amount: string;
75
- redeemer?: Redeemer;
76
- scriptSource?: {
77
- type: 'Provided';
78
- script: PlutusScript;
79
- } | {
80
- type: 'Reference Script';
81
- txHash: string;
82
- txIndex: number;
83
- version: LanguageVersion;
84
- };
85
- };
86
- export type ValidityRange = {
87
- invalidBefore?: number;
88
- invalidHereafter?: number;
89
- };
90
- export type BuilderData = {
91
- type: 'Mesh';
92
- content: Data;
93
- } | {
94
- type: 'JSON';
95
- content: string;
96
- } | {
97
- type: 'CBOR';
98
- content: string;
99
- };
100
- export type Redeemer = {
101
- data: BuilderData;
102
- exUnits: Budget;
103
- };
104
- export type Metadata = {
105
- tag: string;
106
- metadata: object;
107
- };
108
- export type Certificate = {
109
- type: 'RegisterPool';
110
- poolParams: PoolParams;
111
- } | {
112
- type: 'RegisterStake';
113
- stakeKeyHash: string;
114
- } | {
115
- type: 'DelegateStake';
116
- stakeKeyHash: string;
117
- poolId: string;
118
- } | {
119
- type: 'DeregisterStake';
120
- stakeKeyHash: string;
121
- } | {
122
- type: 'RetirePool';
123
- poolId: string;
124
- epoch: number;
125
- };
126
- export type RequiredWith<T, K extends keyof T> = Required<T> & {
127
- [P in K]: Required<T[P]>;
128
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,19 +0,0 @@
1
- export type MetadataStandard = {
2
- name: string;
3
- image: `${string}://${string}`;
4
- mediaType?: `image/${string}`;
5
- description?: string | string[];
6
- instagram?: `https://instagram.com/${string}`;
7
- twitter?: `https://twitter.com/${string}`;
8
- discord?: `https://discord.gg/${string}`;
9
- website?: `https://${string}`;
10
- };
11
- export type Files = {
12
- files?: [
13
- {
14
- name: string;
15
- src: `${string}://${string}`;
16
- mediaType: `${string}/${string}`;
17
- }
18
- ];
19
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +0,0 @@
1
- export type RoyaltiesStandard = {
2
- rate: string;
3
- address: string;
4
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- import type { Quantity, UTxO, Unit } from '../types';
2
- export declare const selectUtxos: (inputs: UTxO[], requiredAssets: Map<Unit, Quantity>, threshold: Quantity) => UTxO[];
@@ -1,115 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.selectUtxos = void 0;
4
- const selectUtxos = (inputs, requiredAssets, threshold) => {
5
- const totalRequiredAssets = new Map(requiredAssets);
6
- totalRequiredAssets.set('lovelace', String(Number(totalRequiredAssets.get('lovelace')) + Number(threshold)));
7
- const utxoMap = new Map();
8
- for (let i = 0; i < inputs.length; i += 1) {
9
- utxoMap.set(i, inputs[i]);
10
- }
11
- const selectedInputs = new Set();
12
- const onlyLovelace = new Set();
13
- const singletons = new Set();
14
- const pairs = new Set();
15
- const rest = new Set();
16
- for (let i = 0; i < inputs.length; i += 1) {
17
- switch (inputs[i].output.amount.length) {
18
- case 1: {
19
- onlyLovelace.add(i);
20
- break;
21
- }
22
- case 2: {
23
- singletons.add(i);
24
- break;
25
- }
26
- case 3: {
27
- pairs.add(i);
28
- break;
29
- }
30
- default: {
31
- rest.add(i);
32
- break;
33
- }
34
- }
35
- }
36
- const addUtxoWithAssetAmount = (inputIndex, assetUnit, set) => {
37
- const utxo = utxoMap.get(inputIndex);
38
- if (!utxo)
39
- return;
40
- const amount = getAssetAmount(utxo, assetUnit);
41
- if (Number(amount) > 0) {
42
- selectedInputs.add(inputIndex);
43
- set.delete(inputIndex);
44
- for (const asset of utxo.output.amount) {
45
- totalRequiredAssets.set(asset.unit, String(Number(totalRequiredAssets.get(asset.unit)) - Number(asset.quantity)));
46
- }
47
- }
48
- };
49
- for (const assetUnit of totalRequiredAssets.keys()) {
50
- if (assetUnit === 'lovelace')
51
- continue;
52
- for (const inputIndex of singletons) {
53
- const assetRequired = totalRequiredAssets.get(assetUnit);
54
- if (!assetRequired || Number(assetRequired) <= 0)
55
- break;
56
- addUtxoWithAssetAmount(inputIndex, assetUnit, singletons);
57
- }
58
- for (const inputIndex of pairs) {
59
- const assetRequired = totalRequiredAssets.get(assetUnit);
60
- if (!assetRequired || Number(assetRequired) <= 0)
61
- break;
62
- addUtxoWithAssetAmount(inputIndex, assetUnit, pairs);
63
- }
64
- for (const inputIndex of rest) {
65
- const assetRequired = totalRequiredAssets.get(assetUnit);
66
- if (!assetRequired || Number(assetRequired) <= 0)
67
- break;
68
- addUtxoWithAssetAmount(inputIndex, assetUnit, rest);
69
- }
70
- }
71
- for (const inputIndex of onlyLovelace) {
72
- const assetRequired = totalRequiredAssets.get('lovelace');
73
- if (!assetRequired || Number(assetRequired) <= 0)
74
- break;
75
- addUtxoWithAssetAmount(inputIndex, 'lovelace', onlyLovelace);
76
- }
77
- for (const inputIndex of singletons) {
78
- const assetRequired = totalRequiredAssets.get('lovelace');
79
- if (!assetRequired || Number(assetRequired) <= 0)
80
- break;
81
- addUtxoWithAssetAmount(inputIndex, 'lovelace', singletons);
82
- }
83
- for (const inputIndex of pairs) {
84
- const assetRequired = totalRequiredAssets.get('lovelace');
85
- if (!assetRequired || Number(assetRequired) <= 0)
86
- break;
87
- addUtxoWithAssetAmount(inputIndex, 'lovelace', pairs);
88
- }
89
- for (const inputIndex of rest) {
90
- const assetRequired = totalRequiredAssets.get('lovelace');
91
- if (!assetRequired || Number(assetRequired) <= 0)
92
- break;
93
- addUtxoWithAssetAmount(inputIndex, 'lovelace', rest);
94
- }
95
- for (const assetUnit of totalRequiredAssets.keys()) {
96
- if (Number(totalRequiredAssets.get(assetUnit)) > 0)
97
- return [];
98
- }
99
- const selectedUtxos = [];
100
- for (const inputIndex of selectedInputs) {
101
- const utxo = utxoMap.get(inputIndex);
102
- if (utxo) {
103
- selectedUtxos.push(utxo);
104
- }
105
- }
106
- return selectedUtxos;
107
- };
108
- exports.selectUtxos = selectUtxos;
109
- const getAssetAmount = (utxo, assetUnit) => {
110
- for (const utxoAsset of utxo.output.amount) {
111
- if (utxoAsset.unit === assetUnit)
112
- return utxoAsset.quantity;
113
- }
114
- return '0';
115
- };
@@ -1,3 +0,0 @@
1
- export * from './CPS9';
2
- export * from './CIP25';
3
- export * from './CIP27';
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./CPS9"), exports);
18
- __exportStar(require("./CIP25"), exports);
19
- __exportStar(require("./CIP27"), exports);
@@ -1,43 +0,0 @@
1
- import type { Budget, Era, LanguageVersion, Network, Protocol } from './types';
2
- export declare const DEFAULT_REDEEMER_BUDGET: Budget;
3
- export declare const DEFAULT_PROTOCOL_PARAMETERS: Protocol;
4
- export declare const HARDENED_KEY_START = 2147483648;
5
- export declare const SUPPORTED_CLOCKS: Record<Network, [
6
- epoch: string,
7
- slot: string,
8
- systemStart: string,
9
- epochLength: string
10
- ]>;
11
- export declare const SUPPORTED_LANGUAGE_VIEWS: Record<Era, Partial<Record<LanguageVersion, string>>>;
12
- export declare const SUPPORTED_OGMIOS_LINKS: Record<Network, string>;
13
- export declare const SUPPORTED_TOKENS: {
14
- LQ: string;
15
- MIN: string;
16
- NTX: string;
17
- iBTC: string;
18
- iETH: string;
19
- iUSD: string;
20
- MILK: string;
21
- AGIX: string;
22
- MELD: string;
23
- INDY: string;
24
- CLAY: string;
25
- MCOS: string;
26
- DING: string;
27
- GERO: string;
28
- NMKR: string;
29
- PAVIA: string;
30
- HOSKY: string;
31
- YUMMI: string;
32
- C3: string;
33
- GIMBAL: string;
34
- SUNDAE: string;
35
- GREENS: string;
36
- GENS: string;
37
- SOCIETY: string;
38
- DJED: string;
39
- SHEN: string;
40
- WMT: string;
41
- COPI: string;
42
- };
43
- export declare const SUPPORTED_WALLETS: string[];