@cardano-sdk/golden-test-generator 0.3.0 → 0.4.0
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/AddressBalance/applyValue.d.ts +2 -2
- package/dist/cjs/AddressBalance/applyValue.d.ts.map +1 -1
- package/dist/cjs/AddressBalance/applyValue.js +3 -1
- package/dist/cjs/AddressBalance/applyValue.js.map +1 -1
- package/dist/cjs/AddressBalance/getOnChainAddressBalances.d.ts +3 -3
- package/dist/cjs/AddressBalance/getOnChainAddressBalances.d.ts.map +1 -1
- package/dist/cjs/AddressBalance/getOnChainAddressBalances.js +34 -29
- package/dist/cjs/AddressBalance/getOnChainAddressBalances.js.map +1 -1
- package/dist/cjs/Block/getBlocks.d.ts +4 -4
- package/dist/cjs/Block/getBlocks.d.ts.map +1 -1
- package/dist/cjs/Block/getBlocks.js +11 -9
- package/dist/cjs/Block/getBlocks.js.map +1 -1
- package/dist/cjs/Content.d.ts +3 -3
- package/dist/cjs/Content.d.ts.map +1 -1
- package/dist/cjs/index.js +9 -9
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/util.d.ts +0 -7
- package/dist/cjs/util.d.ts.map +1 -1
- package/dist/cjs/util.js +1 -8
- package/dist/cjs/util.js.map +1 -1
- package/dist/esm/AddressBalance/applyValue.d.ts +2 -2
- package/dist/esm/AddressBalance/applyValue.d.ts.map +1 -1
- package/dist/esm/AddressBalance/applyValue.js +3 -1
- package/dist/esm/AddressBalance/applyValue.js.map +1 -1
- package/dist/esm/AddressBalance/getOnChainAddressBalances.d.ts +3 -3
- package/dist/esm/AddressBalance/getOnChainAddressBalances.d.ts.map +1 -1
- package/dist/esm/AddressBalance/getOnChainAddressBalances.js +34 -29
- package/dist/esm/AddressBalance/getOnChainAddressBalances.js.map +1 -1
- package/dist/esm/Block/getBlocks.d.ts +4 -4
- package/dist/esm/Block/getBlocks.d.ts.map +1 -1
- package/dist/esm/Block/getBlocks.js +11 -9
- package/dist/esm/Block/getBlocks.js.map +1 -1
- package/dist/esm/Content.d.ts +3 -3
- package/dist/esm/Content.d.ts.map +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/util.d.ts +0 -7
- package/dist/esm/util.d.ts.map +1 -1
- package/dist/esm/util.js +0 -5
- package/dist/esm/util.js.map +1 -1
- package/package.json +21 -8
package/dist/cjs/util.d.ts
CHANGED
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
import { Schema } from '@cardano-ogmios/client';
|
|
2
|
-
export declare const isByronStandardBlock: (block: Schema.Block) => block is {
|
|
3
|
-
byron: Schema.StandardBlock;
|
|
4
|
-
};
|
|
5
|
-
export declare const isByronEpochBoundaryBlock: (block: Schema.Block) => block is {
|
|
6
|
-
byron: Schema.EpochBoundaryBlock;
|
|
7
|
-
};
|
|
8
1
|
export declare const getLastCommitPromise: () => Promise<import("git-last-commit").Commit>;
|
|
9
2
|
//# sourceMappingURL=util.d.ts.map
|
package/dist/cjs/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,iDAA2B,CAAC"}
|
package/dist/cjs/util.js
CHANGED
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLastCommitPromise =
|
|
3
|
+
exports.getLastCommitPromise = void 0;
|
|
4
4
|
const git_last_commit_1 = require("git-last-commit");
|
|
5
5
|
const util_1 = require("util");
|
|
6
|
-
const isByronStandardBlock = (block) => block.byron?.header.slot !== undefined;
|
|
7
|
-
exports.isByronStandardBlock = isByronStandardBlock;
|
|
8
|
-
const isByronEpochBoundaryBlock = (block) => {
|
|
9
|
-
const castBlock = block;
|
|
10
|
-
return castBlock.byron?.hash !== undefined && castBlock.byron?.header.epoch !== undefined;
|
|
11
|
-
};
|
|
12
|
-
exports.isByronEpochBoundaryBlock = isByronEpochBoundaryBlock;
|
|
13
6
|
exports.getLastCommitPromise = (0, util_1.promisify)(git_last_commit_1.getLastCommit);
|
|
14
7
|
//# sourceMappingURL=util.js.map
|
package/dist/cjs/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAEhD,+BAAiC;AAEpB,QAAA,oBAAoB,GAAG,IAAA,gBAAS,EAAC,+BAAa,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const applyValue: (balance: Schema.Value, value: Schema.Value, spending?: boolean) => Schema.Value;
|
|
1
|
+
import { Ogmios } from '@cardano-sdk/ogmios';
|
|
2
|
+
export declare const applyValue: (balance: Ogmios.Schema.Value, value: Ogmios.Schema.Value, spending?: boolean) => Ogmios.Schema.Value;
|
|
3
3
|
//# sourceMappingURL=applyValue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyValue.d.ts","sourceRoot":"","sources":["../../../src/AddressBalance/applyValue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"applyValue.d.ts","sourceRoot":"","sources":["../../../src/AddressBalance/applyValue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAU7C,eAAO,MAAM,UAAU,YAAa,OAAO,MAAM,CAAC,KAAK,SAAS,OAAO,MAAM,CAAC,KAAK,yBAAqB,OAAO,MAAM,CAAC,KAsBrH,CAAC"}
|
|
@@ -5,7 +5,9 @@ const throwIfNegative = (value) => {
|
|
|
5
5
|
}
|
|
6
6
|
};
|
|
7
7
|
export const applyValue = (balance, value, spending = false) => {
|
|
8
|
-
const
|
|
8
|
+
const valueCoins = typeof value.coins === 'bigint' ? value.coins : BigInt(value.coins);
|
|
9
|
+
const balanceCoins = typeof balance.coins === 'bigint' ? balance.coins : BigInt(balance.coins);
|
|
10
|
+
const coins = balanceCoins + (spending ? -BigIntMath.abs(valueCoins) : valueCoins);
|
|
9
11
|
throwIfNegative(coins);
|
|
10
12
|
const balanceToApply = { coins };
|
|
11
13
|
if (balance.assets !== undefined || value.assets !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyValue.js","sourceRoot":"","sources":["../../../src/AddressBalance/applyValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAQ,EAAE;IACvD,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;KACjG;AACH,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"applyValue.js","sourceRoot":"","sources":["../../../src/AddressBalance/applyValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAQ,EAAE;IACvD,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;KACjG;AACH,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAA4B,EAAE,KAA0B,EAAE,QAAQ,GAAG,KAAK,EAAuB,EAAE;IAE5H,MAAM,UAAU,GAAW,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/F,MAAM,YAAY,GAAW,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvG,MAAM,KAAK,GAAG,YAAY,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACnF,eAAe,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,cAAc,GAAwB,EAAE,KAAK,EAAE,CAAC;IACtD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;QAC9D,cAAc,CAAC,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;KACrD;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE;YACnC,cAAc,CAAC,MAAO,CAAC,OAAO,CAAC;gBAC7B,OAAO,CAAC,MAAO,CAAC,OAAO,CAAC,KAAK,SAAS;oBACpC,CAAC,CAAC,OAAO,CAAC,MAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBACpE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,eAAe,CAAC,cAAc,CAAC,MAAO,CAAC,OAAO,CAAC,CAAC,CAAC;SAClD;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ConnectionConfig, Schema } from '@cardano-ogmios/client';
|
|
2
1
|
import { GeneratorMetadata } from '../Content';
|
|
3
2
|
import { Logger } from 'ts-log';
|
|
3
|
+
import { Ogmios } from '@cardano-sdk/ogmios';
|
|
4
4
|
export declare type AddressBalances = {
|
|
5
|
-
[address: string]: Schema.Value;
|
|
5
|
+
[address: string]: Ogmios.Schema.Value;
|
|
6
6
|
};
|
|
7
7
|
export declare type AddressBalancesResponse = GeneratorMetadata & {
|
|
8
8
|
balances: {
|
|
@@ -11,7 +11,7 @@ export declare type AddressBalancesResponse = GeneratorMetadata & {
|
|
|
11
11
|
};
|
|
12
12
|
export declare const getOnChainAddressBalances: (addresses: string[], atBlocks: number[], options: {
|
|
13
13
|
logger?: Logger | undefined;
|
|
14
|
-
ogmiosConnectionConfig: ConnectionConfig;
|
|
14
|
+
ogmiosConnectionConfig: Ogmios.ConnectionConfig;
|
|
15
15
|
onBlock?: ((slot: number) => void) | undefined;
|
|
16
16
|
}) => Promise<AddressBalancesResponse>;
|
|
17
17
|
//# sourceMappingURL=getOnChainAddressBalances.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOnChainAddressBalances.d.ts","sourceRoot":"","sources":["../../../src/AddressBalance/getOnChainAddressBalances.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"getOnChainAddressBalances.d.ts","sourceRoot":"","sources":["../../../src/AddressBalance/getOnChainAddressBalances.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,oBAAY,eAAe,GAAG;IAC5B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;CACxC,CAAC;AAEF,oBAAY,uBAAuB,GAAG,iBAAiB,GAAG;IACxD,QAAQ,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;CACtD,CAAC;AAEF,eAAO,MAAM,yBAAyB,cACzB,MAAM,EAAE,YACT,MAAM,EAAE;;4BAGQ,OAAO,gBAAgB;sBAC9B,MAAM,KAAK,IAAI;MAEjC,QAAQ,uBAAuB,CAgHjC,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { StateQuery, createChainSyncClient, createInteractionContext, isAllegraBlock, isAlonzoBlock, isMaryBlock, isShelleyBlock } from '@cardano-ogmios/client';
|
|
2
1
|
import { dummyLogger } from 'ts-log';
|
|
2
|
+
import { Ogmios } from '@cardano-sdk/ogmios';
|
|
3
3
|
import { applyValue } from './applyValue';
|
|
4
|
-
import { isByronStandardBlock } from '../util';
|
|
5
4
|
export const getOnChainAddressBalances = (addresses, atBlocks, options) => {
|
|
6
5
|
const logger = options?.logger ?? dummyLogger;
|
|
7
|
-
const trackedAddressBalances = Object.fromEntries(addresses.map((address) => [address, { assets: {}, coins:
|
|
6
|
+
const trackedAddressBalances = Object.fromEntries(addresses.map((address) => [address, { assets: {}, coins: 0n }]));
|
|
8
7
|
const trackedTxs = [];
|
|
9
8
|
return new Promise(async (resolve, reject) => {
|
|
10
9
|
let currentBlock;
|
|
@@ -13,13 +12,13 @@ export const getOnChainAddressBalances = (addresses, atBlocks, options) => {
|
|
|
13
12
|
balances: {},
|
|
14
13
|
metadata: {
|
|
15
14
|
cardano: {
|
|
16
|
-
compactGenesis: await StateQuery.genesisConfig(await createInteractionContext(reject, logger.info, { connection: options.ogmiosConnectionConfig })),
|
|
15
|
+
compactGenesis: await Ogmios.StateQuery.genesisConfig(await Ogmios.createInteractionContext(reject, logger.info, { connection: options.ogmiosConnectionConfig })),
|
|
17
16
|
intersection: undefined
|
|
18
17
|
}
|
|
19
18
|
}
|
|
20
19
|
};
|
|
21
20
|
try {
|
|
22
|
-
const syncClient = await createChainSyncClient(await createInteractionContext(reject, logger.info, { connection: options.ogmiosConnectionConfig }), {
|
|
21
|
+
const syncClient = await Ogmios.createChainSyncClient(await Ogmios.createInteractionContext(reject, logger.info, { connection: options.ogmiosConnectionConfig }), {
|
|
23
22
|
rollBackward: async (_res, requestNext) => {
|
|
24
23
|
requestNext();
|
|
25
24
|
},
|
|
@@ -28,24 +27,28 @@ export const getOnChainAddressBalances = (addresses, atBlocks, options) => {
|
|
|
28
27
|
return;
|
|
29
28
|
let b;
|
|
30
29
|
let blockBody;
|
|
31
|
-
if (isByronStandardBlock(block)) {
|
|
30
|
+
if (Ogmios.isByronStandardBlock(block)) {
|
|
32
31
|
b = block.byron;
|
|
33
32
|
blockBody = b.body.txPayload;
|
|
34
33
|
}
|
|
35
|
-
else if (isShelleyBlock(block)) {
|
|
34
|
+
else if (Ogmios.isShelleyBlock(block)) {
|
|
36
35
|
b = block.shelley;
|
|
37
36
|
blockBody = b.body;
|
|
38
37
|
}
|
|
39
|
-
else if (isAllegraBlock(block)) {
|
|
38
|
+
else if (Ogmios.isAllegraBlock(block)) {
|
|
40
39
|
b = block.allegra;
|
|
41
40
|
blockBody = b.body;
|
|
42
41
|
}
|
|
43
|
-
else if (isMaryBlock(block)) {
|
|
42
|
+
else if (Ogmios.isMaryBlock(block)) {
|
|
44
43
|
b = block.mary;
|
|
45
44
|
blockBody = b.body;
|
|
46
45
|
}
|
|
47
|
-
else if (isAlonzoBlock(block)) {
|
|
46
|
+
else if (Ogmios.isAlonzoBlock(block)) {
|
|
48
47
|
b = block.alonzo;
|
|
48
|
+
blockBody = b.body;
|
|
49
|
+
}
|
|
50
|
+
else if (Ogmios.isByronEpochBoundaryBlock(block)) {
|
|
51
|
+
b = block.byron;
|
|
49
52
|
}
|
|
50
53
|
else {
|
|
51
54
|
throw new Error('No support for block');
|
|
@@ -55,28 +58,30 @@ export const getOnChainAddressBalances = (addresses, atBlocks, options) => {
|
|
|
55
58
|
if (options?.onBlock !== undefined) {
|
|
56
59
|
options.onBlock(currentBlock);
|
|
57
60
|
}
|
|
58
|
-
|
|
59
|
-
for (const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
if (blockBody) {
|
|
62
|
+
for (const tx of blockBody) {
|
|
63
|
+
for (const output of tx.body.outputs) {
|
|
64
|
+
if (trackedAddressBalances[output.address] !== undefined) {
|
|
65
|
+
const addressBalance = { ...trackedAddressBalances[output.address] };
|
|
66
|
+
trackedTxs.push({ id: tx.id, inputs: tx.body.inputs, outputs: tx.body.outputs });
|
|
67
|
+
trackedAddressBalances[output.address] = applyValue(addressBalance, output.value);
|
|
68
|
+
}
|
|
64
69
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
for (const input of tx.body.inputs) {
|
|
71
|
+
const trackedInput = trackedTxs.find((t) => t.id === input.txId)?.outputs[input.index];
|
|
72
|
+
if (trackedInput !== undefined && trackedAddressBalances[trackedInput?.address] !== undefined) {
|
|
73
|
+
const addressBalance = { ...trackedAddressBalances[trackedInput.address] };
|
|
74
|
+
trackedAddressBalances[trackedInput.address] = applyValue(addressBalance, trackedInput.value, true);
|
|
75
|
+
}
|
|
71
76
|
}
|
|
72
77
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
if (atBlocks.includes(currentBlock)) {
|
|
79
|
+
response.balances[currentBlock] = { ...trackedAddressBalances };
|
|
80
|
+
if (atBlocks[atBlocks.length - 1] === currentBlock) {
|
|
81
|
+
draining = true;
|
|
82
|
+
await syncClient.shutdown();
|
|
83
|
+
return resolve(response);
|
|
84
|
+
}
|
|
80
85
|
}
|
|
81
86
|
}
|
|
82
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOnChainAddressBalances.js","sourceRoot":"","sources":["../../../src/AddressBalance/getOnChainAddressBalances.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getOnChainAddressBalances.js","sourceRoot":"","sources":["../../../src/AddressBalance/getOnChainAddressBalances.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Logger } from 'ts-log';
|
|
2
|
-
import { ConnectionConfig, Schema } from '@cardano-ogmios/client';
|
|
3
1
|
import { GeneratorMetadata } from '../Content';
|
|
2
|
+
import { Logger } from 'ts-log';
|
|
3
|
+
import { Ogmios } from '@cardano-sdk/ogmios';
|
|
4
4
|
export declare type GetBlocksResponse = GeneratorMetadata & {
|
|
5
5
|
blocks: {
|
|
6
|
-
[blockHeight: string]: Schema.Block;
|
|
6
|
+
[blockHeight: string]: Ogmios.Schema.Block;
|
|
7
7
|
};
|
|
8
8
|
};
|
|
9
9
|
export declare const getBlocks: (blockHeights: number[], options: {
|
|
10
10
|
logger?: Logger | undefined;
|
|
11
|
-
ogmiosConnectionConfig: ConnectionConfig;
|
|
11
|
+
ogmiosConnectionConfig: Ogmios.ConnectionConfig;
|
|
12
12
|
onBlock?: ((slot: number) => void) | undefined;
|
|
13
13
|
}) => Promise<GetBlocksResponse>;
|
|
14
14
|
//# sourceMappingURL=getBlocks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBlocks.d.ts","sourceRoot":"","sources":["../../../src/Block/getBlocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getBlocks.d.ts","sourceRoot":"","sources":["../../../src/Block/getBlocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,oBAAY,iBAAiB,GAAG,iBAAiB,GAAG;IAClD,MAAM,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAA;KAAE,CAAC;CACxD,CAAC;AAEF,eAAO,MAAM,SAAS,iBACN,MAAM,EAAE;;4BAGI,OAAO,gBAAgB;sBAC9B,MAAM,KAAK,IAAI;MAEjC,QAAQ,iBAAiB,CA2E3B,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { dummyLogger } from 'ts-log';
|
|
2
|
-
import {
|
|
3
|
-
import { isByronStandardBlock } from '../util';
|
|
2
|
+
import { Ogmios } from '@cardano-sdk/ogmios';
|
|
4
3
|
export const getBlocks = async (blockHeights, options) => {
|
|
5
4
|
const logger = options?.logger ?? dummyLogger;
|
|
6
5
|
const requestedBlocks = {};
|
|
@@ -11,13 +10,13 @@ export const getBlocks = async (blockHeights, options) => {
|
|
|
11
10
|
blocks: {},
|
|
12
11
|
metadata: {
|
|
13
12
|
cardano: {
|
|
14
|
-
compactGenesis: await StateQuery.genesisConfig(await createInteractionContext(reject, logger.info, { connection: options.ogmiosConnectionConfig })),
|
|
13
|
+
compactGenesis: await Ogmios.StateQuery.genesisConfig(await Ogmios.createInteractionContext(reject, logger.info, { connection: options.ogmiosConnectionConfig })),
|
|
15
14
|
intersection: undefined
|
|
16
15
|
}
|
|
17
16
|
}
|
|
18
17
|
};
|
|
19
18
|
try {
|
|
20
|
-
const syncClient = await createChainSyncClient(await createInteractionContext(reject, logger.info, { connection: options.ogmiosConnectionConfig }), {
|
|
19
|
+
const syncClient = await Ogmios.createChainSyncClient(await Ogmios.createInteractionContext(reject, logger.info, { connection: options.ogmiosConnectionConfig }), {
|
|
21
20
|
rollBackward: async (_res, requestNext) => {
|
|
22
21
|
requestNext();
|
|
23
22
|
},
|
|
@@ -25,21 +24,24 @@ export const getBlocks = async (blockHeights, options) => {
|
|
|
25
24
|
if (draining)
|
|
26
25
|
return;
|
|
27
26
|
let b;
|
|
28
|
-
if (isByronStandardBlock(block)) {
|
|
27
|
+
if (Ogmios.isByronStandardBlock(block)) {
|
|
29
28
|
b = block.byron;
|
|
30
29
|
}
|
|
31
|
-
else if (isShelleyBlock(block)) {
|
|
30
|
+
else if (Ogmios.isShelleyBlock(block)) {
|
|
32
31
|
b = block.shelley;
|
|
33
32
|
}
|
|
34
|
-
else if (isAllegraBlock(block)) {
|
|
33
|
+
else if (Ogmios.isAllegraBlock(block)) {
|
|
35
34
|
b = block.allegra;
|
|
36
35
|
}
|
|
37
|
-
else if (isMaryBlock(block)) {
|
|
36
|
+
else if (Ogmios.isMaryBlock(block)) {
|
|
38
37
|
b = block.mary;
|
|
39
38
|
}
|
|
40
|
-
else if (isAlonzoBlock(block)) {
|
|
39
|
+
else if (Ogmios.isAlonzoBlock(block)) {
|
|
41
40
|
b = block.alonzo;
|
|
42
41
|
}
|
|
42
|
+
else if (Ogmios.isByronEpochBoundaryBlock(block)) {
|
|
43
|
+
b = block.byron;
|
|
44
|
+
}
|
|
43
45
|
else {
|
|
44
46
|
throw new Error('No support for block');
|
|
45
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBlocks.js","sourceRoot":"","sources":["../../../src/Block/getBlocks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getBlocks.js","sourceRoot":"","sources":["../../../src/Block/getBlocks.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Content.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ChainSync, Schema as Cardano } from '@cardano-ogmios/client';
|
|
2
1
|
import { Commit } from 'git-last-commit';
|
|
2
|
+
import { Ogmios } from '@cardano-sdk/ogmios';
|
|
3
3
|
export declare type Metadata = {
|
|
4
4
|
cardano: {
|
|
5
|
-
compactGenesis:
|
|
6
|
-
intersection: ChainSync.Intersection;
|
|
5
|
+
compactGenesis: Ogmios.Schema.CompactGenesis;
|
|
6
|
+
intersection: Ogmios.ChainSync.Intersection;
|
|
7
7
|
};
|
|
8
8
|
software: {
|
|
9
9
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../src/Content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../src/Content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C,oBAAY,QAAQ,GAAG;IACrB,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;QAC7C,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;KAC7C,CAAC;IACF,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;KACvC,CAAC;CACH,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAAE,QAAQ,EAAE;QAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC;AAE/E,eAAO,MAAM,cAAc,qBACf,KAAK,QAAQ,EAAE,UAAU,CAAC;cAG1B,QAAQ;;EAmBnB,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
2
|
+
import { getOnChainAddressBalances } from './AddressBalance';
|
|
3
3
|
import { Command } from 'commander';
|
|
4
|
-
import
|
|
5
|
-
import path from 'node:path';
|
|
4
|
+
import { getBlocks } from './Block';
|
|
6
5
|
import { SingleBar } from 'cli-progress';
|
|
7
6
|
import { ensureDir, writeFile } from 'fs-extra';
|
|
8
|
-
import JSONBig from 'json-bigint';
|
|
9
|
-
import { getOnChainAddressBalances } from './AddressBalance';
|
|
10
|
-
import { getBlocks } from './Block';
|
|
11
7
|
import { prepareContent } from './Content';
|
|
8
|
+
import JSONBig from 'json-bigint';
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
import hash from 'object-hash';
|
|
11
|
+
import path from 'path';
|
|
12
12
|
const clear = require('clear');
|
|
13
13
|
const packageJson = require('../package.json');
|
|
14
14
|
clear();
|
|
@@ -17,7 +17,7 @@ const createProgressBar = (lastblockHeight) => new SingleBar({
|
|
|
17
17
|
barCompleteChar: '\u2588',
|
|
18
18
|
barIncompleteChar: '\u2591',
|
|
19
19
|
format: `Syncing from genesis to block ${lastblockHeight} | ${chalk.blue('{bar}')} | {percentage}% || {value}/{total} Blocks`,
|
|
20
|
-
hideCursor:
|
|
20
|
+
hideCursor: false,
|
|
21
21
|
renderThrottle: 300
|
|
22
22
|
});
|
|
23
23
|
const program = new Command('cardano-golden-test-generator');
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|