@cardano-sdk/input-selection 0.12.31 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/GreedySelection/GreedyInputSelector.d.ts.map +1 -1
- package/dist/cjs/GreedySelection/GreedyInputSelector.js +11 -10
- package/dist/cjs/GreedySelection/GreedyInputSelector.js.map +1 -1
- package/dist/cjs/GreedySelection/util.d.ts +2 -0
- package/dist/cjs/GreedySelection/util.d.ts.map +1 -1
- package/dist/cjs/GreedySelection/util.js +10 -1
- package/dist/cjs/GreedySelection/util.js.map +1 -1
- package/dist/cjs/RoundRobinRandomImprove/change.d.ts +5 -4
- package/dist/cjs/RoundRobinRandomImprove/change.d.ts.map +1 -1
- package/dist/cjs/RoundRobinRandomImprove/change.js +15 -14
- package/dist/cjs/RoundRobinRandomImprove/change.js.map +1 -1
- package/dist/cjs/RoundRobinRandomImprove/index.d.ts.map +1 -1
- package/dist/cjs/RoundRobinRandomImprove/index.js +8 -4
- package/dist/cjs/RoundRobinRandomImprove/index.js.map +1 -1
- package/dist/cjs/RoundRobinRandomImprove/roundRobin.d.ts +1 -1
- package/dist/cjs/RoundRobinRandomImprove/roundRobin.d.ts.map +1 -1
- package/dist/cjs/RoundRobinRandomImprove/roundRobin.js +2 -2
- package/dist/cjs/RoundRobinRandomImprove/roundRobin.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/types.d.ts +8 -2
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/util.d.ts +3 -2
- package/dist/cjs/util.d.ts.map +1 -1
- package/dist/cjs/util.js +10 -9
- package/dist/cjs/util.js.map +1 -1
- package/dist/esm/ChangeAddress/ChangeAddressResolver.d.ts +1 -1
- package/dist/esm/ChangeAddress/StaticChangeAddressResolver.d.ts +1 -1
- package/dist/esm/ChangeAddress/index.d.ts +2 -2
- package/dist/esm/ChangeAddress/index.js +2 -2
- package/dist/esm/GreedySelection/GreedyInputSelector.d.ts +1 -1
- package/dist/esm/GreedySelection/GreedyInputSelector.d.ts.map +1 -1
- package/dist/esm/GreedySelection/GreedyInputSelector.js +14 -13
- package/dist/esm/GreedySelection/GreedyInputSelector.js.map +1 -1
- package/dist/esm/GreedySelection/index.d.ts +2 -2
- package/dist/esm/GreedySelection/index.js +2 -2
- package/dist/esm/GreedySelection/util.d.ts +3 -1
- package/dist/esm/GreedySelection/util.d.ts.map +1 -1
- package/dist/esm/GreedySelection/util.js +9 -2
- package/dist/esm/GreedySelection/util.js.map +1 -1
- package/dist/esm/RoundRobinRandomImprove/change.d.ts +6 -5
- package/dist/esm/RoundRobinRandomImprove/change.d.ts.map +1 -1
- package/dist/esm/RoundRobinRandomImprove/change.js +12 -11
- package/dist/esm/RoundRobinRandomImprove/change.js.map +1 -1
- package/dist/esm/RoundRobinRandomImprove/index.d.ts +2 -2
- package/dist/esm/RoundRobinRandomImprove/index.d.ts.map +1 -1
- package/dist/esm/RoundRobinRandomImprove/index.js +12 -8
- package/dist/esm/RoundRobinRandomImprove/index.js.map +1 -1
- package/dist/esm/RoundRobinRandomImprove/roundRobin.d.ts +2 -2
- package/dist/esm/RoundRobinRandomImprove/roundRobin.d.ts.map +1 -1
- package/dist/esm/RoundRobinRandomImprove/roundRobin.js +3 -3
- package/dist/esm/RoundRobinRandomImprove/roundRobin.js.map +1 -1
- package/dist/esm/index.d.ts +5 -5
- package/dist/esm/index.js +5 -5
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/types.d.ts +8 -2
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/util.d.ts +4 -3
- package/dist/esm/util.d.ts.map +1 -1
- package/dist/esm/util.js +7 -6
- package/dist/esm/util.js.map +1 -1
- package/package.json +9 -10
package/dist/esm/types.d.ts
CHANGED
|
@@ -9,13 +9,18 @@ export declare type Selection = SelectionSkeleton;
|
|
|
9
9
|
export interface SelectionResult {
|
|
10
10
|
selection: Selection;
|
|
11
11
|
remainingUTxO: Set<Cardano.Utxo>;
|
|
12
|
+
redeemers?: Array<Cardano.Redeemer>;
|
|
12
13
|
}
|
|
13
|
-
export declare type
|
|
14
|
+
export declare type TxCosts = {
|
|
15
|
+
fee: bigint;
|
|
16
|
+
redeemers?: Array<Cardano.Redeemer>;
|
|
17
|
+
};
|
|
18
|
+
export declare type EstimateTxCosts = (selectionSkeleton: SelectionSkeleton) => Promise<TxCosts>;
|
|
14
19
|
export declare type TokenBundleSizeExceedsLimit = (tokenBundle?: Cardano.TokenMap) => boolean;
|
|
15
20
|
export declare type ComputeMinimumCoinQuantity = (output: Cardano.TxOut) => Cardano.Lovelace;
|
|
16
21
|
export declare type ComputeSelectionLimit = (selectionSkeleton: SelectionSkeleton) => Promise<number>;
|
|
17
22
|
export interface SelectionConstraints {
|
|
18
|
-
computeMinimumCost:
|
|
23
|
+
computeMinimumCost: EstimateTxCosts;
|
|
19
24
|
tokenBundleSizeExceedsLimit: TokenBundleSizeExceedsLimit;
|
|
20
25
|
computeMinimumCoinQuantity: ComputeMinimumCoinQuantity;
|
|
21
26
|
computeSelectionLimit: ComputeSelectionLimit;
|
|
@@ -25,6 +30,7 @@ export interface ImplicitValue {
|
|
|
25
30
|
mint?: Cardano.TokenMap;
|
|
26
31
|
}
|
|
27
32
|
export interface InputSelectionParameters {
|
|
33
|
+
preSelectedUtxo: Set<Cardano.Utxo>;
|
|
28
34
|
utxo: Set<Cardano.Utxo>;
|
|
29
35
|
outputs: Set<Cardano.TxOut>;
|
|
30
36
|
constraints: SelectionConstraints;
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAOhC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAM5B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAM7B,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;CACvB;AAED,oBAAY,SAAS,GAAG,iBAAiB,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IAOrB,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAOhC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAM5B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAM7B,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;CACvB;AAED,oBAAY,SAAS,GAAG,iBAAiB,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IAOrB,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAGjC,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrC;AAED,oBAAY,OAAO,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;CAAE,CAAC;AAK3E,oBAAY,eAAe,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAKzF,oBAAY,2BAA2B,GAAG,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAKtF,oBAAY,0BAA0B,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,QAAQ,CAAC;AAMrF,oBAAY,qBAAqB,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9F,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,EAAE,eAAe,CAAC;IACpC,2BAA2B,EAAE,2BAA2B,CAAC;IACzD,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C;AAGD,MAAM,WAAW,aAAa;IAE5B,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;IAEjC,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IAEvC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE5B,WAAW,EAAE,oBAAoB,CAAC;IAElC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAM5B,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACpE;AAED,oBAAY,mCAAmC,GAAG,IAAI,CACpD,OAAO,CAAC,kBAAkB,EAC1B,kBAAkB,GAAG,WAAW,GAAG,cAAc,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,QAAQ,CACtG,CAAC;AAEF,oBAAY,0CAA0C,GAAG,QAAQ,CAAC;KAC/D,CAAC,IAAI,MAAM,mCAAmC,GAAG,mCAAmC,CAAC,CAAC,CAAC;CACzF,CAAC,CAAC"}
|
package/dist/esm/util.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Cardano } from '@cardano-sdk/core';
|
|
2
|
-
import { ComputeMinimumCoinQuantity, ImplicitValue, TokenBundleSizeExceedsLimit } from './types';
|
|
2
|
+
import { ComputeMinimumCoinQuantity, ImplicitValue, TokenBundleSizeExceedsLimit } from './types.js';
|
|
3
3
|
export declare const stubMaxSizeAddress: Cardano.PaymentAddress;
|
|
4
4
|
export interface ImplicitTokens {
|
|
5
5
|
spend(assetId: Cardano.AssetId): bigint;
|
|
@@ -10,6 +10,7 @@ export interface RequiredImplicitValue {
|
|
|
10
10
|
implicitTokens: ImplicitTokens;
|
|
11
11
|
}
|
|
12
12
|
export interface RoundRobinRandomImproveArgs {
|
|
13
|
+
requiredUtxo: Cardano.Utxo[];
|
|
13
14
|
utxo: Cardano.Utxo[];
|
|
14
15
|
outputs: Cardano.TxOut[];
|
|
15
16
|
changeAddress: Cardano.PaymentAddress;
|
|
@@ -26,13 +27,13 @@ export declare const mintToImplicitTokens: (mintMap?: Cardano.TokenMap) => {
|
|
|
26
27
|
implicitTokensInput: Map<Cardano.AssetId, bigint>;
|
|
27
28
|
implicitTokensSpend: Map<Cardano.AssetId, bigint>;
|
|
28
29
|
};
|
|
29
|
-
export declare const preProcessArgs: (availableUtxo: Set<Cardano.Utxo>, outputSet: Set<Cardano.TxOut>, changeAddress: Cardano.PaymentAddress, partialImplicitValue?: ImplicitValue) => PreProcessedArgs;
|
|
30
|
+
export declare const preProcessArgs: (preSelectedUtxo: Set<Cardano.Utxo>, availableUtxo: Set<Cardano.Utxo>, outputSet: Set<Cardano.TxOut>, changeAddress: Cardano.PaymentAddress, partialImplicitValue?: ImplicitValue) => PreProcessedArgs;
|
|
30
31
|
export declare function toValues(outputs: Cardano.TxOut[]): Cardano.Value[];
|
|
31
32
|
export declare function toValues(utxo: Cardano.Utxo[]): Cardano.Value[];
|
|
32
33
|
export declare const assetQuantitySelector: (id: Cardano.AssetId) => (quantities: Cardano.Value[]) => bigint;
|
|
33
34
|
export declare const getCoinQuantity: (quantities: Cardano.Value[]) => bigint;
|
|
34
35
|
export declare const assertIsCoinBalanceSufficient: (utxoValues: Cardano.Value[], outputValues: Cardano.Value[], implicitCoin: Required<Cardano.util.ImplicitCoin>) => void;
|
|
35
|
-
export declare const assertIsBalanceSufficient: (uniqueTxAssetIDs: Cardano.AssetId[], utxo: Cardano.Utxo[], outputs: Cardano.TxOut[], { implicitCoin, implicitTokens }: RequiredImplicitValue) => void;
|
|
36
|
+
export declare const assertIsBalanceSufficient: (uniqueTxAssetIDs: Cardano.AssetId[], preSelectedUtxo: Cardano.Utxo[], utxo: Cardano.Utxo[], outputs: Cardano.TxOut[], { implicitCoin, implicitTokens }: RequiredImplicitValue) => void;
|
|
36
37
|
export declare const sortByCoins: (lhs: Cardano.TxOut, rhs: Cardano.TxOut) => 0 | 1 | -1;
|
|
37
38
|
export declare const subtractTokenMaps: (lhs: Cardano.TokenMap | undefined, rhs: Cardano.TokenMap | undefined) => Cardano.TokenMap | undefined;
|
|
38
39
|
export declare const addTokenMaps: (lhs: Cardano.TokenMap | undefined, rhs: Cardano.TokenMap | undefined) => Cardano.TokenMap | undefined;
|
package/dist/esm/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAIjG,eAAO,MAAM,kBAAkB,wBAE9B,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;IACxC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClD,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC;IACtC,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACpC,aAAa,EAAE,qBAAqB,CAAC;IACrC,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;CAC5B;AAED,oBAAY,gBAAgB,GAAG,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,oBAAoB;;;CAOhC,CAAC;AAEF,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/util.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BigIntMath } from '@cardano-sdk/util';
|
|
2
2
|
import { Cardano } from '@cardano-sdk/core';
|
|
3
|
-
import { InputSelectionError, InputSelectionFailure } from './InputSelectionError';
|
|
4
|
-
import uniq from 'lodash/uniq';
|
|
3
|
+
import { InputSelectionError, InputSelectionFailure } from './InputSelectionError.js';
|
|
4
|
+
import uniq from 'lodash/uniq.js';
|
|
5
5
|
export const stubMaxSizeAddress = Cardano.PaymentAddress('addr_test1qqydn46r6mhge0kfpqmt36m6q43knzsd9ga32n96m89px3nuzcjqw982pcftgx53fu5527z2cj2tkx2h8ux2vxsg475qypp3m9');
|
|
6
6
|
export const mintToImplicitTokens = (mintMap = new Map()) => {
|
|
7
7
|
const mint = [...mintMap.entries()];
|
|
@@ -9,7 +9,7 @@ export const mintToImplicitTokens = (mintMap = new Map()) => {
|
|
|
9
9
|
const implicitTokensSpend = new Map(mint.filter(([_, quantity]) => quantity < 0).map(([assetId, quantity]) => [assetId, -quantity]));
|
|
10
10
|
return { implicitTokensInput, implicitTokensSpend };
|
|
11
11
|
};
|
|
12
|
-
export const preProcessArgs = (availableUtxo, outputSet, changeAddress, partialImplicitValue) => {
|
|
12
|
+
export const preProcessArgs = (preSelectedUtxo, availableUtxo, outputSet, changeAddress, partialImplicitValue) => {
|
|
13
13
|
const outputs = [...outputSet];
|
|
14
14
|
const implicitCoin = {
|
|
15
15
|
deposit: partialImplicitValue?.coin?.deposit || 0n,
|
|
@@ -29,6 +29,7 @@ export const preProcessArgs = (availableUtxo, outputSet, changeAddress, partialI
|
|
|
29
29
|
changeAddress,
|
|
30
30
|
implicitValue: { implicitCoin, implicitTokens },
|
|
31
31
|
outputs,
|
|
32
|
+
requiredUtxo: [...preSelectedUtxo],
|
|
32
33
|
uniqueTxAssetIDs,
|
|
33
34
|
utxo: [...availableUtxo]
|
|
34
35
|
};
|
|
@@ -49,11 +50,11 @@ export const assertIsCoinBalanceSufficient = (utxoValues, outputValues, implicit
|
|
|
49
50
|
throw new InputSelectionError(InputSelectionFailure.UtxoBalanceInsufficient);
|
|
50
51
|
}
|
|
51
52
|
};
|
|
52
|
-
export const assertIsBalanceSufficient = (uniqueTxAssetIDs, utxo, outputs, { implicitCoin, implicitTokens }) => {
|
|
53
|
-
if (utxo.length === 0) {
|
|
53
|
+
export const assertIsBalanceSufficient = (uniqueTxAssetIDs, preSelectedUtxo, utxo, outputs, { implicitCoin, implicitTokens }) => {
|
|
54
|
+
if (preSelectedUtxo.length + utxo.length === 0) {
|
|
54
55
|
throw new InputSelectionError(InputSelectionFailure.UtxoBalanceInsufficient);
|
|
55
56
|
}
|
|
56
|
-
const utxoValues = toValues(utxo);
|
|
57
|
+
const utxoValues = [...toValues(utxo), ...toValues(preSelectedUtxo)];
|
|
57
58
|
const outputsValues = toValues(outputs);
|
|
58
59
|
for (const assetId of uniqueTxAssetIDs) {
|
|
59
60
|
const getAssetQuantity = assetQuantitySelector(assetId);
|
package/dist/esm/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cardano-sdk/input-selection",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.1",
|
|
4
4
|
"description": "TypeScript definitions for input-selection (Coin Selection Algorithms for Cardano)",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16.20.2"
|
|
@@ -20,11 +20,9 @@
|
|
|
20
20
|
"sideEffects": false,
|
|
21
21
|
"license": "Apache-2.0",
|
|
22
22
|
"scripts": {
|
|
23
|
-
"build:
|
|
24
|
-
"build:cjs": "tsc --build src",
|
|
25
|
-
"build": "run-s build:cjs build:esm module-fixup",
|
|
23
|
+
"build": "yarn build:cjs && tsc -p src/tsconfig.json --outDir ./dist/esm --module es2020 && tsc-alias -p src/tsconfig.json --outDir ./dist/esm && cp ../../build/esm-package.json ./dist/esm/package.json",
|
|
24
|
+
"build:cjs": "tsc --build src && cp ../../build/cjs-package.json ./dist/cjs/package.json",
|
|
26
25
|
"circular-deps:check": "madge --circular dist/cjs",
|
|
27
|
-
"module-fixup": "cp ../../build/cjs-package.json ./dist/cjs/package.json && cp ../../build/esm-package.json ./dist/esm/package.json",
|
|
28
26
|
"tscNoEmit": "echo typescript --noEmit command not implemented yet",
|
|
29
27
|
"cleanup:dist": "rm -rf dist",
|
|
30
28
|
"cleanup:nm": "rm -rf node_modules",
|
|
@@ -39,7 +37,7 @@
|
|
|
39
37
|
"test:debug": "DEBUG=true yarn test"
|
|
40
38
|
},
|
|
41
39
|
"devDependencies": {
|
|
42
|
-
"@cardano-sdk/util-dev": "~0.
|
|
40
|
+
"@cardano-sdk/util-dev": "~0.21.1",
|
|
43
41
|
"@types/lodash": "^4.14.182",
|
|
44
42
|
"eslint": "^7.32.0",
|
|
45
43
|
"fast-check": "^2.17.0",
|
|
@@ -48,12 +46,13 @@
|
|
|
48
46
|
"madge": "^5.0.1",
|
|
49
47
|
"npm-run-all": "^4.1.5",
|
|
50
48
|
"ts-jest": "^28.0.7",
|
|
49
|
+
"tsc-alias": "^1.8.10",
|
|
51
50
|
"typescript": "^4.7.4"
|
|
52
51
|
},
|
|
53
52
|
"dependencies": {
|
|
54
|
-
"@cardano-sdk/core": "~0.
|
|
55
|
-
"@cardano-sdk/key-management": "~0.20.
|
|
56
|
-
"@cardano-sdk/util": "~0.15.
|
|
53
|
+
"@cardano-sdk/core": "~0.33.1",
|
|
54
|
+
"@cardano-sdk/key-management": "~0.20.7",
|
|
55
|
+
"@cardano-sdk/util": "~0.15.2",
|
|
57
56
|
"bignumber.js": "^9.1.1",
|
|
58
57
|
"lodash": "^4.17.21",
|
|
59
58
|
"ts-custom-error": "^3.2.0"
|
|
@@ -64,5 +63,5 @@
|
|
|
64
63
|
"LICENSE",
|
|
65
64
|
"NOTICE"
|
|
66
65
|
],
|
|
67
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "e7f49924d7e3fb2fc5870cf1153ad23f09bc99cc"
|
|
68
67
|
}
|