@cardano-sdk/wallet 0.33.1 → 0.34.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.
@@ -1,4 +1,4 @@
1
- import { Cardano } from '@cardano-sdk/core';
1
+ import { Cardano, ChainHistoryProvider } from '@cardano-sdk/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { ObservableWallet } from '../types';
4
4
  import { ProtocolParametersRequiredByOutputValidator } from '@cardano-sdk/tx-construction';
@@ -12,6 +12,8 @@ export interface WalletOutputValidatorContext {
12
12
  }
13
13
  export declare type WalletUtilContext = WalletOutputValidatorContext & InputResolverContext;
14
14
  export declare const createInputResolver: ({ utxo }: InputResolverContext) => Cardano.InputResolver;
15
+ export declare const createBackendInputResolver: (provider: ChainHistoryProvider) => Cardano.InputResolver;
16
+ export declare const combineInputResolvers: (...resolvers: Cardano.InputResolver[]) => Cardano.InputResolver;
15
17
  export declare const createWalletUtil: (context: WalletUtilContext) => {
16
18
  resolveInput: Cardano.ResolveInput;
17
19
  validateValue(output: Cardano.Value): Promise<import("@cardano-sdk/tx-construction").OutputValidation>;
@@ -1 +1 @@
1
- {"version":3,"file":"WalletUtil.d.ts","sourceRoot":"","sources":["../../../src/services/WalletUtil.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAkB,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAkC,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,2CAA2C,EAAyB,MAAM,8BAA8B,CAAC;AAIlH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE;QAEJ,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B;IAE3C,mBAAmB,EAAE,UAAU,CAAC,2CAA2C,CAAC,CAAC;CAC9E;AAED,oBAAY,iBAAiB,GAAG,4BAA4B,GAAG,oBAAoB,CAAC;AAEpF,eAAO,MAAM,mBAAmB,aAAc,oBAAoB,KAAG,QAAQ,aAO3E,CAAC;AAKH,eAAO,MAAM,gBAAgB,YAAa,iBAAiB;;;;;;CAGzD,CAAC;AAEH,oBAAY,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAqI7D,eAAO,MAAM,yBAAyB,OAAc,QAAQ,EAAE,UAAU,gBAAgB,KAAG,QAAQ,OAAO,CAwCzG,CAAC"}
1
+ {"version":3,"file":"WalletUtil.d.ts","sourceRoot":"","sources":["../../../src/services/WalletUtil.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAkB,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAkC,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,2CAA2C,EAAyB,MAAM,8BAA8B,CAAC;AAIlH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE;QAEJ,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B;IAE3C,mBAAmB,EAAE,UAAU,CAAC,2CAA2C,CAAC,CAAC;CAC9E;AAED,oBAAY,iBAAiB,GAAG,4BAA4B,GAAG,oBAAoB,CAAC;AAEpF,eAAO,MAAM,mBAAmB,aAAc,oBAAoB,KAAG,QAAQ,aAgB3E,CAAC;AAYH,eAAO,MAAM,0BAA0B,aAAc,oBAAoB,KAAG,QAAQ,aAgCnF,CAAC;AAOF,eAAO,MAAM,qBAAqB,iBAAkB,QAAQ,aAAa,EAAE,KAAG,QAAQ,aAQpF,CAAC;AAKH,eAAO,MAAM,gBAAgB,YAAa,iBAAiB;;;;;;CAGzD,CAAC;AAEH,oBAAY,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAqI7D,eAAO,MAAM,yBAAyB,OAAc,QAAQ,EAAE,UAAU,gBAAgB,KAAG,QAAQ,OAAO,CAwCzG,CAAC"}
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.requiresForeignSignatures = exports.createWalletUtil = exports.createInputResolver = void 0;
29
+ exports.requiresForeignSignatures = exports.createWalletUtil = exports.combineInputResolvers = exports.createBackendInputResolver = exports.createInputResolver = void 0;
30
30
  const Crypto = __importStar(require("@cardano-sdk/crypto"));
31
31
  const core_1 = require("@cardano-sdk/core");
32
32
  const key_management_1 = require("@cardano-sdk/key-management");
@@ -36,15 +36,60 @@ const tx_construction_1 = require("@cardano-sdk/tx-construction");
36
36
  const util_1 = require("./util");
37
37
  const uniqBy_1 = __importDefault(require("lodash/uniqBy"));
38
38
  const createInputResolver = ({ utxo }) => ({
39
- async resolveInput(input) {
39
+ async resolveInput(input, options) {
40
40
  const utxoAvailable = await (0, rxjs_1.firstValueFrom)(utxo.available$);
41
41
  const availableUtxo = utxoAvailable?.find(([txIn]) => (0, util_1.txInEquals)(txIn, input));
42
- if (!availableUtxo)
43
- return null;
44
- return availableUtxo[1];
42
+ if (availableUtxo)
43
+ return availableUtxo[1];
44
+ if (options?.hints) {
45
+ const tx = options?.hints.find((hint) => hint.id === input.txId);
46
+ if (tx && tx.body.outputs.length > input.index) {
47
+ return tx.body.outputs[input.index];
48
+ }
49
+ }
50
+ return null;
45
51
  }
46
52
  });
47
53
  exports.createInputResolver = createInputResolver;
54
+ const createBackendInputResolver = (provider) => {
55
+ const txCache = new Map();
56
+ const fetchAndCacheTransaction = async (txId) => {
57
+ if (txCache.has(txId)) {
58
+ return txCache.get(txId);
59
+ }
60
+ const txs = await provider.transactionsByHashes({ ids: [txId] });
61
+ if (txs.length > 0) {
62
+ txCache.set(txId, txs[0]);
63
+ return txs[0];
64
+ }
65
+ return null;
66
+ };
67
+ return {
68
+ async resolveInput(input, options) {
69
+ if (options?.hints) {
70
+ for (const hint of options.hints) {
71
+ txCache.set(hint.id, hint);
72
+ }
73
+ }
74
+ const tx = await fetchAndCacheTransaction(input.txId);
75
+ if (!tx)
76
+ return null;
77
+ return tx.body.outputs.length > input.index ? tx.body.outputs[input.index] : null;
78
+ }
79
+ };
80
+ };
81
+ exports.createBackendInputResolver = createBackendInputResolver;
82
+ const combineInputResolvers = (...resolvers) => ({
83
+ async resolveInput(txIn, options) {
84
+ for (const resolver of resolvers) {
85
+ const resolved = await resolver.resolveInput(txIn, options);
86
+ if (resolved)
87
+ return resolved;
88
+ }
89
+ return null;
90
+ }
91
+ });
92
+ exports.combineInputResolvers = combineInputResolvers;
48
93
  const createWalletUtil = (context) => ({
49
94
  ...(0, tx_construction_1.createOutputValidator)({ protocolParameters: () => (0, rxjs_1.firstValueFrom)(context.protocolParameters$) }),
50
95
  ...(0, exports.createInputResolver)(context)
@@ -1 +1 @@
1
- {"version":3,"file":"WalletUtil.js","sourceRoot":"","sources":["../../../src/services/WalletUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletUtil.js","sourceRoot":"","sources":["../../../src/services/WalletUtil.ts"],"names":[],"mappings":"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"}