@cardano-sdk/cardano-services 0.32.3 → 0.33.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.
Files changed (87) hide show
  1. package/dist/cjs/ChainHistory/index.d.ts +0 -1
  2. package/dist/cjs/ChainHistory/index.d.ts.map +1 -1
  3. package/dist/cjs/ChainHistory/index.js +0 -1
  4. package/dist/cjs/ChainHistory/index.js.map +1 -1
  5. package/dist/cjs/NetworkInfo/index.d.ts +0 -1
  6. package/dist/cjs/NetworkInfo/index.d.ts.map +1 -1
  7. package/dist/cjs/NetworkInfo/index.js +0 -1
  8. package/dist/cjs/NetworkInfo/index.js.map +1 -1
  9. package/dist/cjs/Program/programs/providerServer.d.ts.map +1 -1
  10. package/dist/cjs/Program/programs/providerServer.js +9 -9
  11. package/dist/cjs/Program/programs/providerServer.js.map +1 -1
  12. package/dist/cjs/Projection/prepareTypeormProjection.d.ts +1 -1
  13. package/dist/cjs/Rewards/index.d.ts +0 -1
  14. package/dist/cjs/Rewards/index.d.ts.map +1 -1
  15. package/dist/cjs/Rewards/index.js +0 -1
  16. package/dist/cjs/Rewards/index.js.map +1 -1
  17. package/dist/cjs/TxSubmit/index.d.ts +0 -1
  18. package/dist/cjs/TxSubmit/index.d.ts.map +1 -1
  19. package/dist/cjs/TxSubmit/index.js +0 -1
  20. package/dist/cjs/TxSubmit/index.js.map +1 -1
  21. package/dist/cjs/Utxo/index.d.ts +0 -1
  22. package/dist/cjs/Utxo/index.d.ts.map +1 -1
  23. package/dist/cjs/Utxo/index.js +0 -1
  24. package/dist/cjs/Utxo/index.js.map +1 -1
  25. package/dist/cjs/original-package.json +10 -10
  26. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  27. package/dist/cjs/util/BlockfrostProvider/BlockfrostClientFactory.d.ts +0 -3
  28. package/dist/cjs/util/BlockfrostProvider/BlockfrostClientFactory.d.ts.map +1 -1
  29. package/dist/cjs/util/BlockfrostProvider/BlockfrostClientFactory.js +1 -30
  30. package/dist/cjs/util/BlockfrostProvider/BlockfrostClientFactory.js.map +1 -1
  31. package/dist/cjs/util/BlockfrostProvider/index.d.ts +0 -2
  32. package/dist/cjs/util/BlockfrostProvider/index.d.ts.map +1 -1
  33. package/dist/cjs/util/BlockfrostProvider/index.js +0 -2
  34. package/dist/cjs/util/BlockfrostProvider/index.js.map +1 -1
  35. package/package.json +10 -10
  36. package/dist/cjs/ChainHistory/BlockrostChainHistoryProvider/BlockfrostChainHistoryProvider.d.ts +0 -43
  37. package/dist/cjs/ChainHistory/BlockrostChainHistoryProvider/BlockfrostChainHistoryProvider.d.ts.map +0 -1
  38. package/dist/cjs/ChainHistory/BlockrostChainHistoryProvider/BlockfrostChainHistoryProvider.js +0 -430
  39. package/dist/cjs/ChainHistory/BlockrostChainHistoryProvider/BlockfrostChainHistoryProvider.js.map +0 -1
  40. package/dist/cjs/ChainHistory/BlockrostChainHistoryProvider/index.d.ts +0 -2
  41. package/dist/cjs/ChainHistory/BlockrostChainHistoryProvider/index.d.ts.map +0 -1
  42. package/dist/cjs/ChainHistory/BlockrostChainHistoryProvider/index.js +0 -18
  43. package/dist/cjs/ChainHistory/BlockrostChainHistoryProvider/index.js.map +0 -1
  44. package/dist/cjs/NetworkInfo/BlockfrostNetworkInfoProvider/BlockfrostNetworkInfoProvider.d.ts +0 -14
  45. package/dist/cjs/NetworkInfo/BlockfrostNetworkInfoProvider/BlockfrostNetworkInfoProvider.d.ts.map +0 -1
  46. package/dist/cjs/NetworkInfo/BlockfrostNetworkInfoProvider/BlockfrostNetworkInfoProvider.js +0 -111
  47. package/dist/cjs/NetworkInfo/BlockfrostNetworkInfoProvider/BlockfrostNetworkInfoProvider.js.map +0 -1
  48. package/dist/cjs/NetworkInfo/BlockfrostNetworkInfoProvider/index.d.ts +0 -2
  49. package/dist/cjs/NetworkInfo/BlockfrostNetworkInfoProvider/index.d.ts.map +0 -1
  50. package/dist/cjs/NetworkInfo/BlockfrostNetworkInfoProvider/index.js +0 -18
  51. package/dist/cjs/NetworkInfo/BlockfrostNetworkInfoProvider/index.js.map +0 -1
  52. package/dist/cjs/Rewards/BlockfrostRewardsProvider/BlockfrostRewardsProvider.d.ts +0 -9
  53. package/dist/cjs/Rewards/BlockfrostRewardsProvider/BlockfrostRewardsProvider.d.ts.map +0 -1
  54. package/dist/cjs/Rewards/BlockfrostRewardsProvider/BlockfrostRewardsProvider.js +0 -50
  55. package/dist/cjs/Rewards/BlockfrostRewardsProvider/BlockfrostRewardsProvider.js.map +0 -1
  56. package/dist/cjs/Rewards/BlockfrostRewardsProvider/index.d.ts +0 -2
  57. package/dist/cjs/Rewards/BlockfrostRewardsProvider/index.d.ts.map +0 -1
  58. package/dist/cjs/Rewards/BlockfrostRewardsProvider/index.js +0 -18
  59. package/dist/cjs/Rewards/BlockfrostRewardsProvider/index.js.map +0 -1
  60. package/dist/cjs/TxSubmit/BlockfrostTxSubmitProvider/BlockfrostTxSubmitProvider.d.ts +0 -6
  61. package/dist/cjs/TxSubmit/BlockfrostTxSubmitProvider/BlockfrostTxSubmitProvider.d.ts.map +0 -1
  62. package/dist/cjs/TxSubmit/BlockfrostTxSubmitProvider/BlockfrostTxSubmitProvider.js +0 -17
  63. package/dist/cjs/TxSubmit/BlockfrostTxSubmitProvider/BlockfrostTxSubmitProvider.js.map +0 -1
  64. package/dist/cjs/TxSubmit/BlockfrostTxSubmitProvider/index.d.ts +0 -2
  65. package/dist/cjs/TxSubmit/BlockfrostTxSubmitProvider/index.d.ts.map +0 -1
  66. package/dist/cjs/TxSubmit/BlockfrostTxSubmitProvider/index.js +0 -18
  67. package/dist/cjs/TxSubmit/BlockfrostTxSubmitProvider/index.js.map +0 -1
  68. package/dist/cjs/Utxo/BlockfrostUtxoProvider/BlockfrostUtxoProvider.d.ts +0 -10
  69. package/dist/cjs/Utxo/BlockfrostUtxoProvider/BlockfrostUtxoProvider.d.ts.map +0 -1
  70. package/dist/cjs/Utxo/BlockfrostUtxoProvider/BlockfrostUtxoProvider.js +0 -54
  71. package/dist/cjs/Utxo/BlockfrostUtxoProvider/BlockfrostUtxoProvider.js.map +0 -1
  72. package/dist/cjs/Utxo/BlockfrostUtxoProvider/index.d.ts +0 -2
  73. package/dist/cjs/Utxo/BlockfrostUtxoProvider/index.d.ts.map +0 -1
  74. package/dist/cjs/Utxo/BlockfrostUtxoProvider/index.js +0 -18
  75. package/dist/cjs/Utxo/BlockfrostUtxoProvider/index.js.map +0 -1
  76. package/dist/cjs/util/BlockfrostProvider/BlockfrostProvider.d.ts +0 -14
  77. package/dist/cjs/util/BlockfrostProvider/BlockfrostProvider.d.ts.map +0 -1
  78. package/dist/cjs/util/BlockfrostProvider/BlockfrostProvider.js +0 -21
  79. package/dist/cjs/util/BlockfrostProvider/BlockfrostProvider.js.map +0 -1
  80. package/dist/cjs/util/BlockfrostProvider/BlockfrostToCore.d.ts +0 -48
  81. package/dist/cjs/util/BlockfrostProvider/BlockfrostToCore.d.ts.map +0 -1
  82. package/dist/cjs/util/BlockfrostProvider/BlockfrostToCore.js +0 -104
  83. package/dist/cjs/util/BlockfrostProvider/BlockfrostToCore.js.map +0 -1
  84. package/dist/cjs/util/BlockfrostProvider/blockfrostUtil.d.ts +0 -26
  85. package/dist/cjs/util/BlockfrostProvider/blockfrostUtil.d.ts.map +0 -1
  86. package/dist/cjs/util/BlockfrostProvider/blockfrostUtil.js +0 -71
  87. package/dist/cjs/util/BlockfrostProvider/blockfrostUtil.js.map +0 -1
@@ -1,6 +1,3 @@
1
- import { BlockFrostAPI } from '@blockfrost/blockfrost-js';
2
1
  import { BlockfrostClient } from '@cardano-sdk/cardano-services-client';
3
- export declare const getBlockfrostApi: () => BlockFrostAPI;
4
2
  export declare const getBlockfrostClient: () => BlockfrostClient;
5
- export declare const clearBlockfrostApi: () => void;
6
3
  //# sourceMappingURL=BlockfrostClientFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockfrostClientFactory.d.ts","sourceRoot":"","sources":["../../../../src/util/BlockfrostProvider/BlockfrostClientFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,gBAAgB,EAIjB,MAAM,sCAAsC,CAAC;AAW9C,eAAO,MAAM,gBAAgB,qBA2B5B,CAAC;AAOF,eAAO,MAAM,mBAAmB,QAAO,gBAmCtC,CAAC;AAGF,eAAO,MAAM,kBAAkB,YAE9B,CAAC"}
1
+ {"version":3,"file":"BlockfrostClientFactory.d.ts","sourceRoot":"","sources":["../../../../src/util/BlockfrostProvider/BlockfrostClientFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAIjB,MAAM,sCAAsC,CAAC;AAU9C,eAAO,MAAM,mBAAmB,QAAO,gBAmCtC,CAAC"}
@@ -3,34 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.clearBlockfrostApi = exports.getBlockfrostClient = exports.getBlockfrostApi = void 0;
7
- const blockfrost_js_1 = require("@blockfrost/blockfrost-js");
6
+ exports.getBlockfrostClient = void 0;
8
7
  const cardano_services_client_1 = require("@cardano-sdk/cardano-services-client");
9
8
  const bottleneck_1 = __importDefault(require("bottleneck"));
10
- let blockfrostApi;
11
9
  let blockfrostClient;
12
- const getBlockfrostApi = () => {
13
- if (blockfrostApi !== undefined)
14
- return blockfrostApi;
15
- if (process.env.BLOCKFROST_CUSTOM_BACKEND_URL && process.env.BLOCKFROST_CUSTOM_BACKEND_URL !== '') {
16
- blockfrostApi = new blockfrost_js_1.BlockFrostAPI({
17
- customBackend: process.env.BLOCKFROST_CUSTOM_BACKEND_URL,
18
- rateLimiter: false
19
- });
20
- return blockfrostApi;
21
- }
22
- if (process.env.BLOCKFROST_API_KEY === undefined || process.env.BLOCKFROST_API_KEY === '')
23
- throw new Error('BLOCKFROST_API_KEY or BLOCKFROST_CUSTOM_BACKEND_URL environment variable is required');
24
- if (process.env.NETWORK === undefined)
25
- throw new Error('NETWORK environment variable is required');
26
- blockfrostApi = new blockfrost_js_1.BlockFrostAPI({
27
- network: process.env.NETWORK,
28
- projectId: process.env.BLOCKFROST_API_KEY,
29
- rateLimiter: false
30
- });
31
- return blockfrostApi;
32
- };
33
- exports.getBlockfrostApi = getBlockfrostApi;
34
10
  const getBlockfrostClient = () => {
35
11
  if (blockfrostClient !== undefined)
36
12
  return blockfrostClient;
@@ -56,9 +32,4 @@ const getBlockfrostClient = () => {
56
32
  return blockfrostClient;
57
33
  };
58
34
  exports.getBlockfrostClient = getBlockfrostClient;
59
- const clearBlockfrostApi = () => {
60
- if (blockfrostApi !== undefined)
61
- blockfrostApi = undefined;
62
- };
63
- exports.clearBlockfrostApi = clearBlockfrostApi;
64
35
  //# sourceMappingURL=BlockfrostClientFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockfrostClientFactory.js","sourceRoot":"","sources":["../../../../src/util/BlockfrostProvider/BlockfrostClientFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlockfrostClientFactory.js","sourceRoot":"","sources":["../../../../src/util/BlockfrostProvider/BlockfrostClientFactory.ts"],"names":[],"mappings":";;;;;;AAAA,kFAK8C;AAC9C,4DAAoC;AAEpC,IAAI,gBAA8C,CAAC;AAO5C,MAAM,mBAAmB,GAAG,GAAqB,EAAE;IACxD,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,gBAAgB,CAAC;IAG5D,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE;QAC7C,gBAAgB,GAAG,IAAI,0CAAgB,CACrC,EAAE,UAAU,EAAE,wDAA8B,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,EAClG,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAChD,CAAC;QAEF,OAAO,gBAAgB,CAAC;KACzB;IAGD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;QACjC,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;IAE1G,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACtF,MAAM,OAAO,GAAG,iDAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,OAA+C,CAAC,CAAC;IACrG,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAG5F,gBAAgB,GAAG,IAAI,0CAAgB,CACrC,EAAE,UAAU,EAAE,wDAA8B,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAClG;QACE,WAAW,EAAE,IAAI,oBAAU,CAAC;YAC1B,SAAS,EAAE,8DAAoC,CAAC,IAAI;YACpD,uBAAuB,EAAE,8DAAoC,CAAC,cAAc;YAC5E,yBAAyB,EAAE,8DAAoC,CAAC,gBAAgB;YAChF,wBAAwB,EAAE,8DAAoC,CAAC,IAAI;SACpE,CAAC;KACH,CACF,CAAC;IAEF,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAnCW,QAAA,mBAAmB,uBAmC9B"}
@@ -1,4 +1,2 @@
1
1
  export * from './BlockfrostClientFactory';
2
- export * from './BlockfrostToCore';
3
- export * from './blockfrostUtil';
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/BlockfrostProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/BlockfrostProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
@@ -15,6 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./BlockfrostClientFactory"), exports);
18
- __exportStar(require("./BlockfrostToCore"), exports);
19
- __exportStar(require("./blockfrostUtil"), exports);
20
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/util/BlockfrostProvider/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,qDAAmC;AACnC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/util/BlockfrostProvider/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/cardano-services",
3
- "version": "0.32.3",
3
+ "version": "0.33.1",
4
4
  "description": "Cardano GraphQL Services",
5
5
  "engines": {
6
6
  "node": ">=16.20.2"
@@ -60,7 +60,7 @@
60
60
  },
61
61
  "devDependencies": {
62
62
  "@cardano-ogmios/client": "6.9.0",
63
- "@cardano-sdk/util-dev": "~0.23.13",
63
+ "@cardano-sdk/util-dev": "~0.24.0",
64
64
  "@types/bunyan": "^1.8.8",
65
65
  "@types/cors": "^2.8.13",
66
66
  "@types/death": "^1.1.2",
@@ -92,14 +92,14 @@
92
92
  },
93
93
  "dependencies": {
94
94
  "@blockfrost/blockfrost-js": "^5.7.0",
95
- "@cardano-sdk/cardano-services-client": "~0.22.3",
96
- "@cardano-sdk/core": "~0.41.4",
97
- "@cardano-sdk/crypto": "~0.1.31",
98
- "@cardano-sdk/ogmios": "~0.18.13",
99
- "@cardano-sdk/projection": "~0.12.13",
100
- "@cardano-sdk/projection-typeorm": "~0.9.13",
95
+ "@cardano-sdk/cardano-services-client": "~0.23.1",
96
+ "@cardano-sdk/core": "~0.42.0",
97
+ "@cardano-sdk/crypto": "~0.1.32",
98
+ "@cardano-sdk/ogmios": "~0.18.15",
99
+ "@cardano-sdk/projection": "~0.12.15",
100
+ "@cardano-sdk/projection-typeorm": "~0.9.15",
101
101
  "@cardano-sdk/util": "~0.15.5",
102
- "@cardano-sdk/util-rxjs": "~0.7.41",
102
+ "@cardano-sdk/util-rxjs": "~0.7.43",
103
103
  "@hapi/topo": "^6.0.2",
104
104
  "axios": "^1.7.4",
105
105
  "backoff-rxjs": "^7.0.0",
@@ -141,5 +141,5 @@
141
141
  "LICENSE",
142
142
  "NOTICE"
143
143
  ],
144
- "gitHead": "0d9fa5f83b6e9cf34412eaf94cc1e4541f3b0159"
144
+ "gitHead": "cfb81dc2bf655e0a4d433b7c13a2aaa494510444"
145
145
  }
@@ -1,43 +0,0 @@
1
- import { BlockfrostProvider, BlockfrostProviderDependencies } from '../../util/BlockfrostProvider/BlockfrostProvider';
2
- import { BlocksByIdsArgs, Cardano, ChainHistoryProvider, NetworkInfoProvider, Paginated, TransactionsByAddressesArgs, TransactionsByIdsArgs } from '@cardano-sdk/core';
3
- import { Responses } from '@blockfrost/blockfrost-js';
4
- import { Schemas } from '@blockfrost/blockfrost-js/lib/types/open-api';
5
- declare type WithCertIndex<T> = T & {
6
- cert_index: number;
7
- };
8
- export interface BlockfrostChainHistoryProviderDependencies extends BlockfrostProviderDependencies {
9
- networkInfoProvider: NetworkInfoProvider;
10
- }
11
- export declare class BlockfrostChainHistoryProvider extends BlockfrostProvider implements ChainHistoryProvider {
12
- private networkInfoProvider;
13
- constructor({ logger, blockfrost, networkInfoProvider }: BlockfrostChainHistoryProviderDependencies);
14
- protected fetchRedeemers({ hash, redeemer_count }: Responses['tx_content']): Promise<Cardano.Redeemer[] | undefined>;
15
- protected fetchWithdrawals({ withdrawal_count, hash }: Responses['tx_content']): Promise<Cardano.Withdrawal[] | undefined>;
16
- protected gatherMintsFromUtxos({ asset_mint_or_burn_count }: Responses['tx_content'], { inputs, outputs }: Responses['tx_content_utxo']): Cardano.TokenMap | undefined;
17
- protected fetchPoolRetireCerts(hash: string): Promise<WithCertIndex<Cardano.PoolRetirementCertificate>[]>;
18
- protected fetchPoolUpdateCerts(hash: string): Promise<WithCertIndex<Cardano.PoolRegistrationCertificate>[]>;
19
- fetchCBOR(hash: string): Promise<string>;
20
- protected fetchDetailsFromCBOR(hash: string): Promise<Cardano.Tx<Cardano.TxBody> | null>;
21
- protected fetchMirCerts(hash: string): Promise<WithCertIndex<Cardano.MirCertificate>[]>;
22
- protected fetchStakeCerts(hash: string): Promise<WithCertIndex<Cardano.StakeAddressCertificate>[]>;
23
- protected fetchDelegationCerts(hash: string): Promise<WithCertIndex<Cardano.StakeDelegationCertificate>[]>;
24
- protected fetchCertificates({ pool_retire_count, pool_update_count, mir_cert_count, stake_cert_count, delegation_count, hash }: Responses['tx_content']): Promise<Cardano.Certificate[] | undefined>;
25
- protected fetchJsonMetadataAsAuxiliaryData(txHash: string): Promise<Cardano.AuxiliaryData | undefined>;
26
- protected parseValidityInterval: (num: string | null) => Cardano.Slot | undefined;
27
- protected fetchEpochNo(slotNo: Cardano.Slot): Promise<Cardano.EpochNo>;
28
- protected fetchEpochParameters(epochNo: Cardano.EpochNo): Promise<Schemas['epoch_param_content']>;
29
- protected processCertificates(txContent: Schemas['tx_content'], certificates?: Cardano.Certificate[]): Promise<Cardano.Certificate[] | undefined>;
30
- protected transactionDetailsUsingAPIs(txContent: Responses['tx_content']): Promise<Cardano.HydratedTx>;
31
- private witnessFromRedeemers;
32
- protected transactionDetailsUsingCBOR(txContent: Responses['tx_content']): Promise<Cardano.HydratedTx | undefined>;
33
- protected fetchTransaction(txId: Cardano.TransactionId): Promise<Cardano.HydratedTx>;
34
- private transactionUtxos;
35
- blocksByHashes({ ids }: BlocksByIdsArgs): Promise<Cardano.ExtendedBlockInfo[]>;
36
- transactionsByHashes({ ids }: TransactionsByIdsArgs): Promise<Cardano.HydratedTx[]>;
37
- transactionsByAddresses({ addresses, pagination, blockRange }: TransactionsByAddressesArgs): Promise<Paginated<Cardano.HydratedTx>>;
38
- private mapTxBody;
39
- private mapBlockHeader;
40
- private fetchUtxos;
41
- }
42
- export {};
43
- //# sourceMappingURL=BlockfrostChainHistoryProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockfrostChainHistoryProvider.d.ts","sourceRoot":"","sources":["../../../../src/ChainHistory/BlockrostChainHistoryProvider/BlockfrostChainHistoryProvider.ts"],"names":[],"mappings":"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"}
@@ -1,430 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BlockfrostChainHistoryProvider = void 0;
7
- const BlockfrostProvider_1 = require("../../util/BlockfrostProvider/BlockfrostProvider");
8
- const util_1 = require("../../util");
9
- const core_1 = require("@cardano-sdk/core");
10
- const queries_1 = require("../DbSyncChainHistory/queries");
11
- const omit_js_1 = __importDefault(require("lodash/omit.js"));
12
- class BlockfrostChainHistoryProvider extends BlockfrostProvider_1.BlockfrostProvider {
13
- constructor({ logger, blockfrost, networkInfoProvider }) {
14
- super({ blockfrost, logger });
15
- this.parseValidityInterval = (num) => core_1.Cardano.Slot(Number.parseInt(num || '')) || undefined;
16
- this.networkInfoProvider = networkInfoProvider;
17
- }
18
- async fetchRedeemers({ hash, redeemer_count }) {
19
- if (!redeemer_count)
20
- return;
21
- return this.blockfrost.txsRedeemers(hash).then((response) => response.map(({ purpose, script_hash, unit_mem, unit_steps, tx_index }) => ({
22
- data: Buffer.from(script_hash),
23
- executionUnits: {
24
- memory: Number.parseInt(unit_mem),
25
- steps: Number.parseInt(unit_steps)
26
- },
27
- index: tx_index,
28
- purpose: (() => {
29
- switch (purpose) {
30
- case 'cert':
31
- return core_1.Cardano.RedeemerPurpose.certificate;
32
- case 'reward':
33
- return core_1.Cardano.RedeemerPurpose.withdrawal;
34
- case 'mint':
35
- return core_1.Cardano.RedeemerPurpose.mint;
36
- case 'spend':
37
- return core_1.Cardano.RedeemerPurpose.spend;
38
- default:
39
- return purpose;
40
- }
41
- })()
42
- })));
43
- }
44
- async fetchWithdrawals({ withdrawal_count, hash }) {
45
- if (!withdrawal_count)
46
- return;
47
- return this.blockfrost.txsWithdrawals(hash).then((response) => response.map(({ address, amount }) => ({
48
- quantity: BigInt(amount),
49
- stakeAddress: core_1.Cardano.RewardAccount(address)
50
- })));
51
- }
52
- gatherMintsFromUtxos({ asset_mint_or_burn_count }, { inputs, outputs }) {
53
- if (!asset_mint_or_burn_count)
54
- return;
55
- const outputAmounts = outputs.flatMap((o) => o.amount);
56
- const inputAmounts = inputs.flatMap((i) => i.amount);
57
- const amountDifference = outputAmounts.filter((amount1) => !inputAmounts.some((amount2) => amount1.unit === amount2.unit));
58
- return new Map(amountDifference.map((amount) => [core_1.Cardano.AssetId(amount.unit), BigInt(amount.quantity)]));
59
- }
60
- async fetchPoolRetireCerts(hash) {
61
- return this.blockfrost.txsPoolRetires(hash).then((response) => response.map(({ pool_id, retiring_epoch, cert_index }) => ({
62
- __typename: core_1.Cardano.CertificateType.PoolRetirement,
63
- cert_index,
64
- epoch: core_1.Cardano.EpochNo(retiring_epoch),
65
- poolId: core_1.Cardano.PoolId(pool_id)
66
- })));
67
- }
68
- async fetchPoolUpdateCerts(hash) {
69
- return this.blockfrost.txsPoolUpdates(hash).then((response) => response.map(({ pool_id, cert_index, fixed_cost, margin_cost, pledge, reward_account, vrf_key }) => ({
70
- __typename: core_1.Cardano.CertificateType.PoolRegistration,
71
- cert_index,
72
- poolId: core_1.Cardano.PoolId(pool_id),
73
- poolParameters: {
74
- cost: BigInt(fixed_cost),
75
- id: pool_id,
76
- margin: core_1.Cardano.FractionUtils.toFraction(margin_cost),
77
- owners: [],
78
- pledge: BigInt(pledge),
79
- relays: [],
80
- rewardAccount: reward_account,
81
- vrf: vrf_key
82
- }
83
- })));
84
- }
85
- async fetchCBOR(hash) {
86
- return this.blockfrost
87
- .instance(`txs/${hash}/cbor`)
88
- .then((response) => {
89
- if (response.body.cbor)
90
- return response.body.cbor;
91
- throw new Error('CBOR is null');
92
- })
93
- .catch((_error) => {
94
- throw new Error('CBOR fetch failed');
95
- });
96
- }
97
- async fetchDetailsFromCBOR(hash) {
98
- return this.fetchCBOR(hash)
99
- .then((cbor) => {
100
- const tx = core_1.Serialization.Transaction.fromCbor(core_1.Serialization.TxCBOR(cbor)).toCore();
101
- this.logger.info('Fetched details from CBOR for tx', hash);
102
- return tx;
103
- })
104
- .catch((error) => {
105
- this.logger.warn('Failed to fetch details from CBOR for tx', hash, error);
106
- return null;
107
- });
108
- }
109
- async fetchMirCerts(hash) {
110
- return this.blockfrost.txsMirs(hash).then((response) => response.map(({ address, amount, cert_index, pot }) => ({
111
- __typename: core_1.Cardano.CertificateType.MIR,
112
- cert_index,
113
- kind: core_1.Cardano.MirCertificateKind.ToStakeCreds,
114
- pot: pot === 'reserve' ? core_1.Cardano.MirCertificatePot.Reserves : core_1.Cardano.MirCertificatePot.Treasury,
115
- quantity: BigInt(amount),
116
- rewardAccount: core_1.Cardano.RewardAccount(address)
117
- })));
118
- }
119
- async fetchStakeCerts(hash) {
120
- return this.blockfrost.txsStakes(hash).then((response) => response.map(({ address, cert_index, registration }) => ({
121
- __typename: registration
122
- ? core_1.Cardano.CertificateType.StakeRegistration
123
- : core_1.Cardano.CertificateType.StakeDeregistration,
124
- cert_index,
125
- stakeCredential: {
126
- hash: core_1.Cardano.RewardAccount.toHash(core_1.Cardano.RewardAccount(address)),
127
- type: core_1.Cardano.CredentialType.KeyHash
128
- }
129
- })));
130
- }
131
- async fetchDelegationCerts(hash) {
132
- return this.blockfrost.txsDelegations(hash).then((response) => response.map(({ address, pool_id, cert_index }) => ({
133
- __typename: core_1.Cardano.CertificateType.StakeDelegation,
134
- cert_index,
135
- poolId: core_1.Cardano.PoolId(pool_id),
136
- stakeCredential: {
137
- hash: core_1.Cardano.RewardAccount.toHash(core_1.Cardano.RewardAccount(address)),
138
- type: core_1.Cardano.CredentialType.KeyHash
139
- }
140
- })));
141
- }
142
- async fetchCertificates({ pool_retire_count, pool_update_count, mir_cert_count, stake_cert_count, delegation_count, hash }) {
143
- if (pool_retire_count + pool_update_count + mir_cert_count + stake_cert_count + delegation_count === 0)
144
- return;
145
- return Promise.all([
146
- pool_retire_count ? this.fetchPoolRetireCerts(hash) : [],
147
- pool_update_count ? this.fetchPoolUpdateCerts(hash) : [],
148
- mir_cert_count ? this.fetchMirCerts(hash) : [],
149
- stake_cert_count ? this.fetchStakeCerts(hash) : [],
150
- delegation_count ? this.fetchDelegationCerts(hash) : []
151
- ]).then((results) => results
152
- .flat()
153
- .sort((a, b) => b.cert_index - a.cert_index)
154
- .map((cert) => cert));
155
- }
156
- async fetchJsonMetadataAsAuxiliaryData(txHash) {
157
- const UNDEFINED = undefined;
158
- return this.blockfrost
159
- .txsMetadata(txHash)
160
- .then((m) => {
161
- const metadata = (0, util_1.blockfrostMetadataToTxMetadata)(m);
162
- return metadata && metadata.size > 0
163
- ? {
164
- blob: metadata
165
- }
166
- : UNDEFINED;
167
- })
168
- .catch((error) => {
169
- if ((0, util_1.isBlockfrostNotFoundError)(error)) {
170
- return UNDEFINED;
171
- }
172
- throw error;
173
- });
174
- }
175
- async fetchEpochNo(slotNo) {
176
- const calc = await this.networkInfoProvider.eraSummaries().then(core_1.createSlotEpochCalc);
177
- return calc(slotNo);
178
- }
179
- async fetchEpochParameters(epochNo) {
180
- return await this.blockfrost.epochsParameters(epochNo);
181
- }
182
- async processCertificates(txContent, certificates) {
183
- if (!certificates)
184
- return;
185
- const epochNo = await this.fetchEpochNo(core_1.Cardano.Slot(txContent.slot));
186
- const { pool_deposit, key_deposit } = await this.fetchEpochParameters(epochNo);
187
- return certificates.map((c) => {
188
- const cert = (0, omit_js_1.default)(c, 'cert_index');
189
- switch (cert.__typename) {
190
- case core_1.Cardano.CertificateType.PoolRegistration: {
191
- cert.poolParameters.owners = [];
192
- cert.poolParameters.relays = [];
193
- const deposit = txContent.deposit === undefined || txContent.deposit === '' || txContent.deposit === '0'
194
- ? 0n
195
- : BigInt(pool_deposit);
196
- delete cert.poolParameters.metadataJson;
197
- return { ...cert, deposit };
198
- }
199
- case core_1.Cardano.CertificateType.StakeRegistration: {
200
- const deposit = BigInt(key_deposit);
201
- return { ...cert, __typename: core_1.Cardano.CertificateType.Registration, deposit };
202
- }
203
- case core_1.Cardano.CertificateType.StakeDeregistration: {
204
- const deposit = BigInt(key_deposit);
205
- return { ...cert, __typename: core_1.Cardano.CertificateType.Unregistration, deposit };
206
- }
207
- default:
208
- return cert;
209
- }
210
- });
211
- }
212
- async transactionDetailsUsingAPIs(txContent) {
213
- const id = core_1.Cardano.TransactionId(txContent.hash);
214
- const [certificates, withdrawals, utxos, auxiliaryData] = await Promise.all([
215
- this.fetchCertificates(txContent),
216
- this.fetchWithdrawals(txContent),
217
- this.fetchUtxos(id),
218
- this.fetchJsonMetadataAsAuxiliaryData(id)
219
- ]);
220
- const { inputs, outputs, collaterals } = this.transactionUtxos(utxos);
221
- const mintPreOrder = this.gatherMintsFromUtxos(txContent, utxos);
222
- const mint = mintPreOrder ? new Map([...mintPreOrder].sort()) : mintPreOrder;
223
- const inputSource = txContent.valid_contract
224
- ? core_1.Cardano.InputSource.inputs
225
- : core_1.Cardano.InputSource.collaterals;
226
- const body = this.mapTxBody({
227
- certificates: await this.processCertificates(txContent, certificates),
228
- collateralReturn: undefined,
229
- collaterals,
230
- fee: BigInt(txContent.fees),
231
- inputs,
232
- mint,
233
- outputs,
234
- proposalProcedures: undefined,
235
- validityInterval: {
236
- invalidBefore: this.parseValidityInterval(txContent.invalid_before),
237
- invalidHereafter: this.parseValidityInterval(txContent.invalid_hereafter)
238
- },
239
- votingProcedures: undefined,
240
- withdrawals
241
- }, inputSource);
242
- return {
243
- auxiliaryData,
244
- blockHeader: this.mapBlockHeader(txContent),
245
- body,
246
- id,
247
- index: txContent.index,
248
- inputSource,
249
- txSize: txContent.size,
250
- witness: this.witnessFromRedeemers(await this.fetchRedeemers(txContent))
251
- };
252
- }
253
- witnessFromRedeemers(redeemers) {
254
- const stubRedeemerData = Buffer.from('not implemented');
255
- if (redeemers) {
256
- for (const redeemer of redeemers) {
257
- redeemer.data = stubRedeemerData;
258
- }
259
- }
260
- return {
261
- redeemers,
262
- signatures: new Map()
263
- };
264
- }
265
- async transactionDetailsUsingCBOR(txContent) {
266
- const id = core_1.Cardano.TransactionId(txContent.hash);
267
- const txFromCBOR = await this.fetchDetailsFromCBOR(id);
268
- if (!txFromCBOR)
269
- return;
270
- const utxos = (await this.blockfrost.txsUtxos(id));
271
- const { inputs, outputs, collaterals } = this.transactionUtxos(utxos, txFromCBOR);
272
- const inputSource = txContent.valid_contract
273
- ? core_1.Cardano.InputSource.inputs
274
- : core_1.Cardano.InputSource.collaterals;
275
- const body = this.mapTxBody({
276
- certificates: await this.processCertificates(txContent, txFromCBOR.body.certificates),
277
- collateralReturn: txFromCBOR.body.collateralReturn,
278
- collaterals,
279
- fee: txFromCBOR.body.fee,
280
- inputs,
281
- mint: txFromCBOR.body.mint ? new Map([...txFromCBOR.body.mint].sort()) : undefined,
282
- outputs,
283
- proposalProcedures: txFromCBOR.body.proposalProcedures,
284
- validityInterval: txFromCBOR.body.validityInterval
285
- ? txFromCBOR.body.validityInterval
286
- : { invalidBefore: undefined, invalidHereafter: undefined },
287
- votingProcedures: txFromCBOR.body.votingProcedures,
288
- withdrawals: txFromCBOR.body.withdrawals
289
- }, inputSource);
290
- return {
291
- auxiliaryData: txFromCBOR.auxiliaryData,
292
- blockHeader: this.mapBlockHeader(txContent),
293
- body,
294
- id,
295
- index: txContent.index,
296
- inputSource,
297
- txSize: txContent.size,
298
- witness: this.witnessFromRedeemers(txFromCBOR.witness.redeemers)
299
- };
300
- }
301
- async fetchTransaction(txId) {
302
- try {
303
- const txContent = await this.blockfrost.txs(txId.toString());
304
- return (await this.transactionDetailsUsingCBOR(txContent)) ?? (await this.transactionDetailsUsingAPIs(txContent));
305
- }
306
- catch (error) {
307
- throw (0, util_1.blockfrostToProviderError)(error);
308
- }
309
- }
310
- transactionUtxos(utxoResponse, txContent) {
311
- const collaterals = utxoResponse.inputs.filter((input) => input.collateral).map(util_1.BlockfrostToCore.hydratedTxIn);
312
- const inputs = utxoResponse.inputs
313
- .filter((input) => !input.collateral && !input.reference)
314
- .map(util_1.BlockfrostToCore.hydratedTxIn);
315
- const outputPromises = utxoResponse.outputs
316
- .filter((output) => !output.collateral)
317
- .map((output) => {
318
- const foundScript = txContent?.body.outputs.find((o) => o.address === output.address);
319
- return util_1.BlockfrostToCore.txOut(output, foundScript);
320
- });
321
- return { collaterals, inputs, outputs: outputPromises };
322
- }
323
- async blocksByHashes({ ids }) {
324
- try {
325
- const responses = await Promise.all(ids.map((id) => this.blockfrost.blocks(id.toString())));
326
- return responses.map((response) => {
327
- if (!response.epoch || !response.epoch_slot || !response.height || !response.slot || !response.block_vrf) {
328
- throw new core_1.ProviderError(core_1.ProviderFailure.Unknown, null, 'Queried unsupported block');
329
- }
330
- return {
331
- confirmations: response.confirmations,
332
- date: new Date(response.time * 1000),
333
- epoch: core_1.Cardano.EpochNo(response.epoch),
334
- epochSlot: response.epoch_slot,
335
- fees: BigInt(response.fees || '0'),
336
- header: {
337
- blockNo: core_1.Cardano.BlockNo(response.height),
338
- hash: core_1.Cardano.BlockId(response.hash),
339
- slot: core_1.Cardano.Slot(response.slot)
340
- },
341
- nextBlock: response.next_block ? core_1.Cardano.BlockId(response.next_block) : undefined,
342
- previousBlock: response.previous_block ? core_1.Cardano.BlockId(response.previous_block) : undefined,
343
- size: core_1.Cardano.BlockSize(response.size),
344
- slotLeader: core_1.Cardano.SlotLeader(response.slot_leader),
345
- totalOutput: BigInt(response.output || '0'),
346
- txCount: response.tx_count,
347
- vrf: core_1.Cardano.VrfVkBech32(response.block_vrf)
348
- };
349
- });
350
- }
351
- catch (error) {
352
- throw (0, util_1.blockfrostToProviderError)(error);
353
- }
354
- }
355
- async transactionsByHashes({ ids }) {
356
- try {
357
- return Promise.all(ids.map((id) => this.fetchTransaction(id)));
358
- }
359
- catch (error) {
360
- throw (0, util_1.blockfrostToProviderError)(error);
361
- }
362
- }
363
- async transactionsByAddresses({ addresses, pagination, blockRange }) {
364
- this.logger.info(`transactionsByAddresses: ${JSON.stringify(blockRange)} ${JSON.stringify(addresses)}`);
365
- try {
366
- const lowerBound = blockRange?.lowerBound ?? 0;
367
- const upperBound = blockRange?.upperBound ?? queries_1.DB_MAX_SAFE_INTEGER;
368
- const addressTransactions = await Promise.all(addresses.map(async (address) => (0, util_1.fetchByAddressSequentially)({
369
- address,
370
- haveEnoughItems: blockRange?.lowerBound
371
- ? (transactions) => transactions.length > 0 &&
372
- transactions[transactions.length - 1].block_height < blockRange.lowerBound
373
- : undefined,
374
- request: (addr, paginationOptions) => this.blockfrost.addressesTransactions(addr.toString(), paginationOptions, {
375
- from: blockRange?.lowerBound ? blockRange?.lowerBound.toString() : undefined,
376
- to: blockRange?.upperBound ? blockRange?.upperBound.toString() : undefined
377
- })
378
- })));
379
- const allTransactions = addressTransactions.flat(1);
380
- const ids = allTransactions
381
- .filter(({ block_height }) => block_height >= lowerBound && block_height <= upperBound)
382
- .sort((a, b) => a.block_height - b.block_height || a.tx_index - b.tx_index)
383
- .map(({ tx_hash }) => core_1.Cardano.TransactionId(tx_hash))
384
- .splice(pagination.startAt, pagination.limit);
385
- const pageResults = await this.transactionsByHashes({ ids });
386
- return { pageResults, totalResultCount: allTransactions.length };
387
- }
388
- catch (error) {
389
- throw (0, util_1.blockfrostToProviderError)(error);
390
- }
391
- }
392
- mapTxBody({ collateralReturn, collaterals, fee, inputs, outputs, mint, proposalProcedures, validityInterval, votingProcedures, withdrawals, certificates }, inputSource) {
393
- return {
394
- ...(inputSource === core_1.Cardano.InputSource.collaterals
395
- ? {
396
- collateralReturn: outputs.length > 0 ? outputs[0] : undefined,
397
- collaterals: inputs,
398
- fee: BigInt(0),
399
- inputs: [],
400
- outputs: [],
401
- totalCollateral: fee
402
- }
403
- : {
404
- collateralReturn: collateralReturn ?? undefined,
405
- collaterals,
406
- fee,
407
- inputs,
408
- outputs
409
- }),
410
- certificates,
411
- mint,
412
- proposalProcedures,
413
- validityInterval,
414
- votingProcedures,
415
- withdrawals
416
- };
417
- }
418
- mapBlockHeader({ block, block_height, slot }) {
419
- return {
420
- blockNo: core_1.Cardano.BlockNo(block_height),
421
- hash: core_1.Cardano.BlockId(block),
422
- slot: core_1.Cardano.Slot(slot)
423
- };
424
- }
425
- fetchUtxos(id) {
426
- return this.blockfrost.txsUtxos(id);
427
- }
428
- }
429
- exports.BlockfrostChainHistoryProvider = BlockfrostChainHistoryProvider;
430
- //# sourceMappingURL=BlockfrostChainHistoryProvider.js.map