@cardano-sdk/cardano-services 0.30.1 → 0.31.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/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.d.ts +5 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.js +10 -8
- package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.d.ts +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.js +26 -18
- package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.d.ts +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.js +6 -3
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/types.d.ts +3 -2
- package/dist/cjs/ChainHistory/DbSyncChainHistory/types.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/openApi.json +1 -8
- package/dist/cjs/Program/programs/providerServer.d.ts.map +1 -1
- package/dist/cjs/Program/programs/providerServer.js +10 -13
- package/dist/cjs/Program/programs/providerServer.js.map +1 -1
- package/dist/cjs/Utxo/DbSyncUtxoProvider/mappers.d.ts.map +1 -1
- package/dist/cjs/Utxo/DbSyncUtxoProvider/mappers.js +1 -1
- package/dist/cjs/Utxo/DbSyncUtxoProvider/mappers.js.map +1 -1
- package/dist/cjs/WsServer/db.d.ts.map +1 -1
- package/dist/cjs/WsServer/db.js +3 -2
- package/dist/cjs/WsServer/db.js.map +1 -1
- package/dist/cjs/WsServer/requests.d.ts +12 -0
- package/dist/cjs/WsServer/requests.d.ts.map +1 -1
- package/dist/cjs/WsServer/requests.js +67 -1
- package/dist/cjs/WsServer/requests.js.map +1 -1
- package/dist/cjs/WsServer/server.d.ts +10 -2
- package/dist/cjs/WsServer/server.d.ts.map +1 -1
- package/dist/cjs/WsServer/server.js +174 -45
- package/dist/cjs/WsServer/server.js.map +1 -1
- package/dist/cjs/WsServer/transactions.d.ts +22 -0
- package/dist/cjs/WsServer/transactions.d.ts.map +1 -0
- package/dist/cjs/WsServer/transactions.js +508 -0
- package/dist/cjs/WsServer/transactions.js.map +1 -0
- package/dist/cjs/original-package.json +9 -9
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Cardano } from '@cardano-sdk/core';
|
|
2
|
+
import { Hash28ByteBase16 } from '@cardano-sdk/crypto';
|
|
3
|
+
import { Pool } from 'pg';
|
|
4
|
+
import { VoterRole } from '../ChainHistory/DbSyncChainHistory/types';
|
|
5
|
+
interface VoteModel {
|
|
6
|
+
role: VoterRole;
|
|
7
|
+
cVoter: Hash28ByteBase16;
|
|
8
|
+
cScript: boolean;
|
|
9
|
+
dVoter: Hash28ByteBase16;
|
|
10
|
+
dScript: boolean;
|
|
11
|
+
pVoter: Hash28ByteBase16;
|
|
12
|
+
vote: Cardano.Vote;
|
|
13
|
+
index: number;
|
|
14
|
+
tx: Cardano.TransactionId;
|
|
15
|
+
url: string;
|
|
16
|
+
hash: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const mapVoter: ({ role, cVoter, cScript, dVoter, dScript, pVoter }: VoteModel) => Cardano.Voter;
|
|
19
|
+
export declare const transactionsByIds: (ids: string[], db: Pool) => Promise<Cardano.HydratedTx[]>;
|
|
20
|
+
export declare const partialTransactionsByIds: (ids: string[], db: Pool) => Promise<Cardano.HydratedTx[]>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=transactions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../src/WsServer/transactions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAsB,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAA4C,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAsCrE,UAAU,SAAS;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AA8hBD,eAAO,MAAM,QAAQ,uDAAwD,SAAS,KAAG,QAAQ,KA8BhG,CAAC;AA0FF,eAAO,MAAM,iBAAiB,QAAe,MAAM,EAAE,MAAM,IAAI,kCAI9D,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAe,MAAM,EAAE,MAAM,IAAI,kCA2BrE,CAAC"}
|
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.partialTransactionsByIds = exports.transactionsByIds = exports.mapVoter = void 0;
|
|
4
|
+
const core_1 = require("@cardano-sdk/core");
|
|
5
|
+
const ChainHistory_1 = require("../ChainHistory");
|
|
6
|
+
const mappers_1 = require("../ChainHistory/DbSyncChainHistory/mappers");
|
|
7
|
+
const redeemerPurposeMap = {
|
|
8
|
+
cert: core_1.Cardano.RedeemerPurpose.certificate,
|
|
9
|
+
mint: core_1.Cardano.RedeemerPurpose.mint,
|
|
10
|
+
propose: core_1.Cardano.RedeemerPurpose.propose,
|
|
11
|
+
reward: core_1.Cardano.RedeemerPurpose.withdrawal,
|
|
12
|
+
spend: core_1.Cardano.RedeemerPurpose.spend,
|
|
13
|
+
vote: core_1.Cardano.RedeemerPurpose.vote
|
|
14
|
+
};
|
|
15
|
+
class TQB {
|
|
16
|
+
constructor(query) {
|
|
17
|
+
this.query = query;
|
|
18
|
+
}
|
|
19
|
+
indent() {
|
|
20
|
+
return new TQB(this.query
|
|
21
|
+
.split('\n')
|
|
22
|
+
.map((line) => ` ${line}`)
|
|
23
|
+
.join('\n'));
|
|
24
|
+
}
|
|
25
|
+
nest(attribute, element, joins, order) {
|
|
26
|
+
const leftJoins = joins.map((join) => ` LEFT JOIN ${join}`).join('');
|
|
27
|
+
const orderBy = order ? ` ORDER BY ${order}` : '';
|
|
28
|
+
return new TQB(`\
|
|
29
|
+
SELECT tid, JSONB_SET(JSONB_AGG(tx)->0, '{${attribute}}', JSONB_AGG(${element}${orderBy})) AS tx FROM (
|
|
30
|
+
${this.indent().query}
|
|
31
|
+
) t${leftJoins} GROUP BY tid`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const innerQuery = (collateral) => `\
|
|
35
|
+
SELECT tx.id AS tid, JSON_BUILD_OBJECT(
|
|
36
|
+
'id', ENCODE((ARRAY_AGG(tx.hash))[1], 'hex'),
|
|
37
|
+
'index', (ARRAY_AGG(block_index))[1],
|
|
38
|
+
'size', (ARRAY_AGG(tx.size))[1],
|
|
39
|
+
'fee', (ARRAY_AGG(fee))[1],
|
|
40
|
+
'before', (ARRAY_AGG(invalid_before))[1],
|
|
41
|
+
'hereafter', (ARRAY_AGG(invalid_hereafter))[1],
|
|
42
|
+
'valid', (ARRAY_AGG(valid_contract))[1],
|
|
43
|
+
'block', (ARRAY_AGG(block_no))[1],
|
|
44
|
+
'hash', ENCODE((ARRAY_AGG(b.hash))[1], 'hex'),
|
|
45
|
+
'slot', (ARRAY_AGG(slot_no))[1]${collateral
|
|
46
|
+
?
|
|
47
|
+
`,
|
|
48
|
+
'collateral', JSONB_BUILD_OBJECT(
|
|
49
|
+
'address', (ARRAY_AGG(address))[1],
|
|
50
|
+
'value', (ARRAY_AGG(value))[1],
|
|
51
|
+
'hash', ENCODE((ARRAY_AGG(data_hash))[1], 'hex'),
|
|
52
|
+
'assets', JSONB_BUILD_ARRAY(JSONB_BUILD_ARRAY(NULL)),
|
|
53
|
+
'script', CASE WHEN (ARRAY_AGG(bytes))[1] IS NULL THEN NULL ELSE JSONB_BUILD_OBJECT(
|
|
54
|
+
'__type', 'plutus',
|
|
55
|
+
'bytes', ENCODE((ARRAY_AGG(bytes))[1], 'hex'),
|
|
56
|
+
'version', CASE WHEN (ARRAY_AGG(type))[1] = 'plutusV1' THEN 0 WHEN (ARRAY_AGG(type))[1] = 'plutusV2' THEN 1 ELSE 2 END
|
|
57
|
+
) END
|
|
58
|
+
)`
|
|
59
|
+
: ''}
|
|
60
|
+
) AS tx
|
|
61
|
+
FROM tx JOIN block b ON tx.block_id = b.id${collateral
|
|
62
|
+
? ' LEFT JOIN collateral_tx_out ON tx_id = tx.id LEFT JOIN script s ON s.id = reference_script_id AND s.bytes IS NOT NULL'
|
|
63
|
+
: ''} WHERE tx.id = ANY($1) GROUP BY tx.id`;
|
|
64
|
+
const tqb = new TQB(innerQuery(true))
|
|
65
|
+
.nest('actions', `\
|
|
66
|
+
JSONB_BUILD_OBJECT(
|
|
67
|
+
'deposit', deposit::TEXT,
|
|
68
|
+
'description', description,
|
|
69
|
+
'hash', ENCODE(data_hash, 'hex'),
|
|
70
|
+
'url', url,
|
|
71
|
+
'view', view
|
|
72
|
+
)`, [
|
|
73
|
+
'gov_action_proposal g ON tx_id = tid',
|
|
74
|
+
'voting_anchor v ON voting_anchor_id = v.id',
|
|
75
|
+
'stake_address s ON return_address = s.id'
|
|
76
|
+
], 'g.id')
|
|
77
|
+
.nest('commRet', "JSONB_BUILD_ARRAY(cert_index, ENCODE(raw, 'hex'), has_script, url, ENCODE(data_hash, 'hex'))", [
|
|
78
|
+
'committee_de_registration ON tx_id = tid',
|
|
79
|
+
'committee_hash ON cold_key_id = committee_hash.id',
|
|
80
|
+
'voting_anchor ON voting_anchor.id = voting_anchor_id'
|
|
81
|
+
])
|
|
82
|
+
.nest('commReg', "JSONB_BUILD_ARRAY(cert_index, ENCODE(c1.raw, 'hex'), c1.has_script, ENCODE(c2.raw, 'hex'), c2.has_script)", [
|
|
83
|
+
'committee_registration ON tx_id = tid',
|
|
84
|
+
'committee_hash AS c1 ON cold_key_id = c1.id',
|
|
85
|
+
'committee_hash AS c2 ON hot_key_id = c2.id'
|
|
86
|
+
])
|
|
87
|
+
.nest('spRetire', 'JSONB_BUILD_ARRAY(cert_index, retiring_epoch, view)', [
|
|
88
|
+
'pool_retire ON announced_tx_id = tid',
|
|
89
|
+
'pool_hash p ON p.id = hash_id'
|
|
90
|
+
])
|
|
91
|
+
.nest('spReg', `\
|
|
92
|
+
JSONB_BUILD_ARRAY(
|
|
93
|
+
cert_index,
|
|
94
|
+
p.view,
|
|
95
|
+
CASE WHEN deposit IS NULL THEN 0 ELSE deposit::INTEGER END,
|
|
96
|
+
s.view,
|
|
97
|
+
pledge,
|
|
98
|
+
fixed_cost,
|
|
99
|
+
margin,
|
|
100
|
+
ENCODE(vrf_key_hash, 'hex')
|
|
101
|
+
)`, [
|
|
102
|
+
'pool_update ON registered_tx_id = tid',
|
|
103
|
+
'pool_hash p ON p.id = hash_id',
|
|
104
|
+
'stake_address s ON s.id = reward_addr_id'
|
|
105
|
+
])
|
|
106
|
+
.nest('deRep', "JSONB_BUILD_ARRAY(deposit::TEXT, cert_index, CASE WHEN has_script THEN 1 ELSE 0 END, ENCODE(raw, 'hex'), url, ENCODE(data_hash, 'hex'))", [
|
|
107
|
+
'drep_registration ON tx_id = tid',
|
|
108
|
+
'drep_hash ON drep_hash.id = drep_hash_id',
|
|
109
|
+
'voting_anchor ON voting_anchor.id = voting_anchor_id'
|
|
110
|
+
])
|
|
111
|
+
.nest('votes', `\
|
|
112
|
+
JSONB_BUILD_OBJECT(
|
|
113
|
+
'role', voter_role,
|
|
114
|
+
'cVoter', ENCODE(c.raw, 'hex'),
|
|
115
|
+
'cScript', c.has_script,
|
|
116
|
+
'dVoter', ENCODE(d.raw, 'hex'),
|
|
117
|
+
'dScript', d.has_script,
|
|
118
|
+
'pVoter', ENCODE(p.hash_raw, 'hex'),
|
|
119
|
+
'vote', CASE WHEN vote = 'No' THEN 0 WHEN vote = 'Yes' THEN 1 WHEN vote = 'Abstain' THEN 2 END,
|
|
120
|
+
'index', g.index::INTEGER,
|
|
121
|
+
'tx', ENCODE(hash, 'hex'),
|
|
122
|
+
'url', a.url,
|
|
123
|
+
'hash', ENCODE(a.data_hash, 'hex')
|
|
124
|
+
)`, [
|
|
125
|
+
'voting_procedure v ON v.tx_id = tid',
|
|
126
|
+
'gov_action_proposal g ON gov_action_proposal_id = g.id',
|
|
127
|
+
'tx ON g.tx_id = tx.id',
|
|
128
|
+
'drep_hash d ON drep_voter = d.id',
|
|
129
|
+
'pool_hash p ON pool_voter = p.id',
|
|
130
|
+
'voting_anchor a ON v.voting_anchor_id = a.id',
|
|
131
|
+
'committee_hash c ON c.id = committee_voter'
|
|
132
|
+
], 'v.index')
|
|
133
|
+
.nest('vDele', "JSONB_BUILD_ARRAY(cert_index, CASE WHEN has_script THEN 1 ELSE 0 END, ENCODE(raw, 'hex'), drep_hash.view, stake_address.view)", [
|
|
134
|
+
'delegation_vote ON tx_id = tid',
|
|
135
|
+
'drep_hash ON drep_hash.id = drep_hash_id',
|
|
136
|
+
'stake_address ON stake_address.id = addr_id'
|
|
137
|
+
])
|
|
138
|
+
.nest('unReg', `\
|
|
139
|
+
JSONB_BUILD_ARRAY(cert_index, (
|
|
140
|
+
SELECT sr.deposit FROM stake_registration AS sr
|
|
141
|
+
WHERE sr.addr_id = sd.addr_id AND sr.tx_id < sd.tx_id
|
|
142
|
+
ORDER BY sr.tx_id DESC LIMIT 1
|
|
143
|
+
), view)`, ['stake_deregistration sd ON tx_id = tid', 'stake_address ON stake_address.id = addr_id'])
|
|
144
|
+
.nest('reg', 'JSONB_BUILD_ARRAY(cert_index, deposit, view)', [
|
|
145
|
+
'stake_registration ON tx_id = tid',
|
|
146
|
+
'stake_address ON stake_address.id = addr_id'
|
|
147
|
+
])
|
|
148
|
+
.nest('sDele', 'JSONB_BUILD_ARRAY(cert_index, addr.view, pool.view)', [
|
|
149
|
+
'delegation ON tx_id = tid',
|
|
150
|
+
'pool_hash AS pool ON pool.id = pool_hash_id',
|
|
151
|
+
'stake_address AS addr ON addr.id = addr_id'
|
|
152
|
+
])
|
|
153
|
+
.nest('mint', "JSONB_BUILD_ARRAY(ENCODE(policy || name, 'hex'), quantity::TEXT)", ['ma_tx_mint ON tx_id = tid', 'multi_asset ON ident = multi_asset.id'], 'ma_tx_mint.id')
|
|
154
|
+
.nest('withdrawals', "JSONB_BUILD_OBJECT('quantity', amount::TEXT, 'stakeAddress', view)", ['withdrawal ON tx_id = tid', 'stake_address ON stake_address.id = addr_id'], 'withdrawal.id')
|
|
155
|
+
.nest('redeemers', "JSONB_BUILD_OBJECT('index', index, 'purpose', purpose, 'mem', unit_mem, 'steps', unit_steps)", ['redeemer ON tx_id = tid'], 'id')
|
|
156
|
+
.nest('collaterals', "JSONB_BUILD_OBJECT('address', address, 'txId', ENCODE(hash, 'hex'), 'index', index)", [
|
|
157
|
+
'collateral_tx_in c ON tx_in_id = tid',
|
|
158
|
+
'tx_out ON tx_out_id = tx_id AND tx_out_index = index',
|
|
159
|
+
'tx ON tx_id = tx.id'
|
|
160
|
+
], 'c.id')
|
|
161
|
+
.nest('metadata', "JSONB_BUILD_ARRAY(key::TEXT, ENCODE(bytes, 'hex'))", ['tx_metadata ON tx_metadata.tx_id = tid'], 'id');
|
|
162
|
+
const buildQuery = (qb) => `\
|
|
163
|
+
SELECT tid, JSONB_SET(JSONB_AGG(tx)->0, '{outputs}', JSONB_AGG(out ORDER BY oid)) AS tx FROM (
|
|
164
|
+
SELECT tid, JSONB_AGG(tx)->0 AS tx, o.id AS oid, JSONB_BUILD_OBJECT(
|
|
165
|
+
'address', o.address,
|
|
166
|
+
'value', o.value::TEXT,
|
|
167
|
+
'datum', ENCODE((ARRAY_AGG(d.bytes))[1], 'hex'),
|
|
168
|
+
'hash', ENCODE(o.data_hash, 'hex'),
|
|
169
|
+
'assets', JSONB_AGG(JSONB_BUILD_ARRAY(ENCODE(policy || name, 'hex'), quantity::TEXT) ORDER BY m.id),
|
|
170
|
+
'script', CASE WHEN (ARRAY_AGG(s.json))[1] IS NOT NULL THEN JSONB_BUILD_OBJECT(
|
|
171
|
+
'__type', '_native',
|
|
172
|
+
'json', (ARRAY_AGG(s.json))[1]
|
|
173
|
+
) WHEN (ARRAY_AGG(s.bytes))[1] IS NOT NULL THEN JSONB_BUILD_OBJECT(
|
|
174
|
+
'__type', 'plutus',
|
|
175
|
+
'bytes', ENCODE((ARRAY_AGG(s.bytes))[1], 'hex'),
|
|
176
|
+
'version', CASE WHEN (ARRAY_AGG(type))[1] = 'plutusV1' THEN 0 WHEN (ARRAY_AGG(type))[1] = 'plutusV2' THEN 1 ELSE 2 END
|
|
177
|
+
) ELSE NULL END
|
|
178
|
+
) AS out FROM (
|
|
179
|
+
${qb
|
|
180
|
+
.nest('inputs', "JSONB_BUILD_OBJECT('address', address, 'txId', ENCODE(hash, 'hex'), 'index', index)", ['tx_in ON tx_in_id = tid', 'tx_out ON tx_out_id = tx_id AND tx_out_index = index', 'tx ON tx_id = tx.id'], 'tx_in.id')
|
|
181
|
+
.indent()
|
|
182
|
+
.indent().query}
|
|
183
|
+
) t LEFT JOIN tx_out o ON o.tx_id = tid LEFT JOIN ma_tx_out m ON m.tx_out_id = o.id LEFT JOIN multi_asset a ON m.ident = a.id
|
|
184
|
+
LEFT JOIN script s ON s.id = reference_script_id LEFT JOIN datum d ON d.id = inline_datum_id GROUP BY tid, o.id
|
|
185
|
+
) t GROUP BY tid`;
|
|
186
|
+
const getTransactions = buildQuery(tqb);
|
|
187
|
+
const getUtxos = buildQuery(new TQB(innerQuery(false)));
|
|
188
|
+
const mapActions = (actions) => actions[0].description
|
|
189
|
+
? actions.map(({ deposit, description, hash, url, view }) => ({
|
|
190
|
+
anchor: (0, mappers_1.mapAnchor)(url, hash),
|
|
191
|
+
deposit: BigInt(deposit),
|
|
192
|
+
governanceAction: (0, ChainHistory_1.getGovernanceAction)(description),
|
|
193
|
+
rewardAccount: view
|
|
194
|
+
}))
|
|
195
|
+
: undefined;
|
|
196
|
+
const mapAsset = (asset) => [asset[0], BigInt(asset[1])];
|
|
197
|
+
const compound = (certs1, certs2, merge) => {
|
|
198
|
+
const result1 = [];
|
|
199
|
+
const result = [];
|
|
200
|
+
const foundIndexes2 = [];
|
|
201
|
+
for (const c1 of certs1) {
|
|
202
|
+
const c2index = certs2.findIndex((c2) => c1[0] === c2[0]);
|
|
203
|
+
if (c2index === -1)
|
|
204
|
+
result1.push(c1);
|
|
205
|
+
else {
|
|
206
|
+
foundIndexes2.push(c2index);
|
|
207
|
+
result.push([c1[0], merge(c1[1], certs2[c2index][1])]);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
const result2 = certs2.filter((_, c2index) => !foundIndexes2.includes(c2index));
|
|
211
|
+
return [result1, result2, result];
|
|
212
|
+
};
|
|
213
|
+
const mapCertificates = (tx) => {
|
|
214
|
+
const { deRep, reg, sDele, unReg, vDele, spReg, spRetire, commReg, commRet } = tx;
|
|
215
|
+
const result = [];
|
|
216
|
+
let sRegDel;
|
|
217
|
+
let sVotRegDel;
|
|
218
|
+
let sVotDel;
|
|
219
|
+
let vRegDel;
|
|
220
|
+
const mapStakeReg = (cert) => ({
|
|
221
|
+
__typename: core_1.Cardano.CertificateType.Registration,
|
|
222
|
+
deposit: BigInt(cert[1]),
|
|
223
|
+
stakeCredential: core_1.Cardano.Address.fromBech32(cert[2]).asReward().getPaymentCredential()
|
|
224
|
+
});
|
|
225
|
+
let sReg = (reg[0][2] ? reg : []).map((cert) => [cert[0], mapStakeReg(cert)]);
|
|
226
|
+
const mapStakeDeleg = (cert) => ({
|
|
227
|
+
__typename: core_1.Cardano.CertificateType.StakeDelegation,
|
|
228
|
+
poolId: cert[2],
|
|
229
|
+
stakeCredential: core_1.Cardano.Address.fromBech32(cert[1]).asReward().getPaymentCredential()
|
|
230
|
+
});
|
|
231
|
+
let sDel = (sDele[0][1] ? sDele : []).map((cert) => [cert[0], mapStakeDeleg(cert)]);
|
|
232
|
+
const mapVoteDeleg = (cert) => ({
|
|
233
|
+
__typename: core_1.Cardano.CertificateType.VoteDelegation,
|
|
234
|
+
dRep: (cert[2]
|
|
235
|
+
? { hash: cert[2], type: cert[1] }
|
|
236
|
+
: cert[3] === 'drep_always_abstain'
|
|
237
|
+
? { __typename: 'AlwaysAbstain' }
|
|
238
|
+
: { __typename: 'AlwaysNoConfidence' }),
|
|
239
|
+
stakeCredential: core_1.Cardano.Address.fromBech32(cert[4]).asReward().getPaymentCredential()
|
|
240
|
+
});
|
|
241
|
+
let vDel = (vDele[0][0] !== null ? vDele : []).map((cert) => [cert[0], mapVoteDeleg(cert)]);
|
|
242
|
+
[sDel, sReg, sRegDel] = compound(sDel, sReg, ({ poolId }, { deposit, stakeCredential }) => ({
|
|
243
|
+
__typename: core_1.Cardano.CertificateType.StakeRegistrationDelegation,
|
|
244
|
+
deposit,
|
|
245
|
+
poolId,
|
|
246
|
+
stakeCredential
|
|
247
|
+
}));
|
|
248
|
+
[vDel, sRegDel, sVotRegDel] = compound(vDel, sRegDel, ({ dRep, stakeCredential }, { poolId, deposit }) => ({
|
|
249
|
+
__typename: core_1.Cardano.CertificateType.StakeVoteRegistrationDelegation,
|
|
250
|
+
dRep,
|
|
251
|
+
deposit,
|
|
252
|
+
poolId,
|
|
253
|
+
stakeCredential
|
|
254
|
+
}));
|
|
255
|
+
[sDel, vDel, sVotDel] = compound(sDel, vDel, ({ poolId }, { dRep, stakeCredential }) => ({
|
|
256
|
+
__typename: core_1.Cardano.CertificateType.StakeVoteDelegation,
|
|
257
|
+
dRep,
|
|
258
|
+
poolId,
|
|
259
|
+
stakeCredential
|
|
260
|
+
}));
|
|
261
|
+
[sReg, vDel, vRegDel] = compound(sReg, vDel, ({ deposit }, { dRep, stakeCredential }) => ({
|
|
262
|
+
__typename: core_1.Cardano.CertificateType.VoteRegistrationDelegation,
|
|
263
|
+
dRep,
|
|
264
|
+
deposit,
|
|
265
|
+
stakeCredential
|
|
266
|
+
}));
|
|
267
|
+
for (const cert of sReg)
|
|
268
|
+
result[cert[0]] = cert[1];
|
|
269
|
+
for (const cert of sDel)
|
|
270
|
+
result[cert[0]] = cert[1];
|
|
271
|
+
for (const cert of vDel)
|
|
272
|
+
result[cert[0]] = cert[1];
|
|
273
|
+
for (const cert of sRegDel)
|
|
274
|
+
result[cert[0]] = cert[1];
|
|
275
|
+
for (const cert of sVotDel)
|
|
276
|
+
result[cert[0]] = cert[1];
|
|
277
|
+
for (const cert of vRegDel)
|
|
278
|
+
result[cert[0]] = cert[1];
|
|
279
|
+
for (const cert of sVotRegDel)
|
|
280
|
+
result[cert[0]] = cert[1];
|
|
281
|
+
if (unReg[0][2])
|
|
282
|
+
for (const cert of unReg)
|
|
283
|
+
result[cert[0]] = {
|
|
284
|
+
__typename: core_1.Cardano.CertificateType.Unregistration,
|
|
285
|
+
deposit: BigInt(cert[1]),
|
|
286
|
+
stakeCredential: core_1.Cardano.Address.fromBech32(cert[2]).asReward().getPaymentCredential()
|
|
287
|
+
};
|
|
288
|
+
if (deRep[0][3])
|
|
289
|
+
for (const [dep, ...cert] of deRep) {
|
|
290
|
+
const update = dep === null;
|
|
291
|
+
const unreg = !update && dep.startsWith('-');
|
|
292
|
+
const deposit = BigInt(update ? 0 : unreg ? dep.slice(1) : dep);
|
|
293
|
+
const anchor = (0, mappers_1.mapAnchor)(cert[3], cert[4]);
|
|
294
|
+
result[cert[0]] = {
|
|
295
|
+
...(update
|
|
296
|
+
? { __typename: core_1.Cardano.CertificateType.UpdateDelegateRepresentative, anchor }
|
|
297
|
+
: unreg
|
|
298
|
+
? { __typename: core_1.Cardano.CertificateType.UnregisterDelegateRepresentative, deposit }
|
|
299
|
+
: { __typename: core_1.Cardano.CertificateType.RegisterDelegateRepresentative, anchor, deposit }),
|
|
300
|
+
dRepCredential: { hash: cert[2], type: cert[1] }
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
if (spReg[0][1])
|
|
304
|
+
for (const cert of spReg)
|
|
305
|
+
result[cert[0]] = {
|
|
306
|
+
__typename: core_1.Cardano.CertificateType.PoolRegistration,
|
|
307
|
+
deposit: BigInt(cert[2]),
|
|
308
|
+
poolParameters: {
|
|
309
|
+
cost: BigInt(cert[5]),
|
|
310
|
+
id: cert[1],
|
|
311
|
+
margin: core_1.Cardano.FractionUtils.toFraction(cert[6]),
|
|
312
|
+
owners: [],
|
|
313
|
+
pledge: BigInt(cert[4]),
|
|
314
|
+
relays: [],
|
|
315
|
+
rewardAccount: cert[3],
|
|
316
|
+
vrf: cert[7]
|
|
317
|
+
}
|
|
318
|
+
};
|
|
319
|
+
if (spRetire[0][2])
|
|
320
|
+
for (const cert of spRetire)
|
|
321
|
+
result[cert[0]] = {
|
|
322
|
+
__typename: core_1.Cardano.CertificateType.PoolRetirement,
|
|
323
|
+
epoch: cert[1],
|
|
324
|
+
poolId: cert[2]
|
|
325
|
+
};
|
|
326
|
+
const getCredentialType = (hasScript) => hasScript ? core_1.Cardano.CredentialType.ScriptHash : core_1.Cardano.CredentialType.KeyHash;
|
|
327
|
+
if (commReg[0][1])
|
|
328
|
+
for (const cert of commReg)
|
|
329
|
+
result[cert[0]] = {
|
|
330
|
+
__typename: core_1.Cardano.CertificateType.AuthorizeCommitteeHot,
|
|
331
|
+
coldCredential: { hash: cert[1], type: getCredentialType(cert[2]) },
|
|
332
|
+
hotCredential: { hash: cert[3], type: getCredentialType(cert[4]) }
|
|
333
|
+
};
|
|
334
|
+
if (commRet[0][1])
|
|
335
|
+
for (const cert of commRet)
|
|
336
|
+
result[cert[0]] = {
|
|
337
|
+
__typename: core_1.Cardano.CertificateType.ResignCommitteeCold,
|
|
338
|
+
anchor: (0, mappers_1.mapAnchor)(cert[3], cert[4]),
|
|
339
|
+
coldCredential: { hash: cert[1], type: getCredentialType(cert[2]) }
|
|
340
|
+
};
|
|
341
|
+
return result.length > 0 ? result : undefined;
|
|
342
|
+
};
|
|
343
|
+
const mapOutput = (output) => {
|
|
344
|
+
const assets = output.assets[0][0] ? new Map(output.assets.map(mapAsset)) : undefined;
|
|
345
|
+
const result = {
|
|
346
|
+
address: output.address,
|
|
347
|
+
value: { coins: BigInt(output.value) }
|
|
348
|
+
};
|
|
349
|
+
if (assets)
|
|
350
|
+
result.value.assets = assets;
|
|
351
|
+
if (output.datum)
|
|
352
|
+
result.datum = output.datum;
|
|
353
|
+
if (output.hash)
|
|
354
|
+
result.datumHash = output.hash;
|
|
355
|
+
if (output.script)
|
|
356
|
+
result.scriptReference =
|
|
357
|
+
output.script.__type === '_native' ? (0, core_1.jsonToNativeScript)(output.script.json) : output.script;
|
|
358
|
+
return result;
|
|
359
|
+
};
|
|
360
|
+
const stubRedeemerData = Buffer.from('not implemented');
|
|
361
|
+
const mapRedeemer = (redeemer) => ({
|
|
362
|
+
data: stubRedeemerData,
|
|
363
|
+
executionUnits: { memory: redeemer.mem, steps: redeemer.steps },
|
|
364
|
+
index: redeemer.index,
|
|
365
|
+
purpose: redeemerPurposeMap[redeemer.purpose]
|
|
366
|
+
});
|
|
367
|
+
const mapVoter = ({ role, cVoter, cScript, dVoter, dScript, pVoter }) => {
|
|
368
|
+
switch (role) {
|
|
369
|
+
case 'ConstitutionalCommittee':
|
|
370
|
+
return cScript
|
|
371
|
+
? {
|
|
372
|
+
__typename: core_1.Cardano.VoterType.ccHotScriptHash,
|
|
373
|
+
credential: { hash: cVoter, type: core_1.Cardano.CredentialType.ScriptHash }
|
|
374
|
+
}
|
|
375
|
+
: {
|
|
376
|
+
__typename: core_1.Cardano.VoterType.ccHotKeyHash,
|
|
377
|
+
credential: { hash: cVoter, type: core_1.Cardano.CredentialType.KeyHash }
|
|
378
|
+
};
|
|
379
|
+
case 'DRep':
|
|
380
|
+
return dScript
|
|
381
|
+
? {
|
|
382
|
+
__typename: core_1.Cardano.VoterType.dRepScriptHash,
|
|
383
|
+
credential: { hash: dVoter, type: core_1.Cardano.CredentialType.ScriptHash }
|
|
384
|
+
}
|
|
385
|
+
: {
|
|
386
|
+
__typename: core_1.Cardano.VoterType.dRepKeyHash,
|
|
387
|
+
credential: { hash: dVoter, type: core_1.Cardano.CredentialType.KeyHash }
|
|
388
|
+
};
|
|
389
|
+
case 'SPO':
|
|
390
|
+
return {
|
|
391
|
+
__typename: core_1.Cardano.VoterType.stakePoolKeyHash,
|
|
392
|
+
credential: { hash: pVoter, type: core_1.Cardano.CredentialType.KeyHash }
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
};
|
|
396
|
+
exports.mapVoter = mapVoter;
|
|
397
|
+
const mapVotes = (votes) => {
|
|
398
|
+
const procedures = [];
|
|
399
|
+
let lastStringified = '';
|
|
400
|
+
let lastVotes = [];
|
|
401
|
+
for (const vote of votes) {
|
|
402
|
+
const voter = (0, exports.mapVoter)(vote);
|
|
403
|
+
const stringified = JSON.stringify(voter);
|
|
404
|
+
const procedure = {
|
|
405
|
+
actionId: { actionIndex: vote.index, id: vote.tx },
|
|
406
|
+
votingProcedure: { anchor: vote.url ? (0, mappers_1.mapAnchor)(vote.url, vote.hash) : null, vote: vote.vote }
|
|
407
|
+
};
|
|
408
|
+
if (stringified !== lastStringified) {
|
|
409
|
+
lastStringified = stringified;
|
|
410
|
+
procedures.push({ voter, votes: (lastVotes = [procedure]) });
|
|
411
|
+
}
|
|
412
|
+
else
|
|
413
|
+
lastVotes.push(procedure);
|
|
414
|
+
}
|
|
415
|
+
return procedures;
|
|
416
|
+
};
|
|
417
|
+
const mapWithdrawals = (withdrawals) => withdrawals[0].stakeAddress
|
|
418
|
+
? (withdrawals || []).map(({ quantity, stakeAddress }) => ({
|
|
419
|
+
quantity: BigInt(quantity),
|
|
420
|
+
stakeAddress
|
|
421
|
+
}))
|
|
422
|
+
: undefined;
|
|
423
|
+
const signatures = new Map();
|
|
424
|
+
const mapTx = (tx) => {
|
|
425
|
+
const collateralReturn = tx.collateral.address ? mapOutput(tx.collateral) : undefined;
|
|
426
|
+
const collaterals = tx.collaterals[0].txId ? tx.collaterals : [];
|
|
427
|
+
const fee = BigInt(tx.fee);
|
|
428
|
+
const inputs = tx.inputs[0].address ? tx.inputs : [];
|
|
429
|
+
const outputs = tx.outputs[0].address ? tx.outputs.map(mapOutput) : [];
|
|
430
|
+
return {
|
|
431
|
+
auxiliaryData: tx.metadata[0][1] ? tx.metadata : undefined,
|
|
432
|
+
blockHeader: { blockNo: tx.block, hash: tx.hash, slot: tx.slot },
|
|
433
|
+
body: {
|
|
434
|
+
...(tx.valid
|
|
435
|
+
? { collateralReturn, collaterals, fee, inputs, outputs }
|
|
436
|
+
: {
|
|
437
|
+
collateralReturn: outputs[0],
|
|
438
|
+
collaterals: inputs,
|
|
439
|
+
fee: 0n,
|
|
440
|
+
inputs: [],
|
|
441
|
+
outputs: [],
|
|
442
|
+
totalCollateral: fee
|
|
443
|
+
}),
|
|
444
|
+
certificates: mapCertificates(tx),
|
|
445
|
+
mint: tx.mint[0][0] ? new Map(tx.mint.map(mapAsset)) : undefined,
|
|
446
|
+
proposalProcedures: mapActions(tx.actions),
|
|
447
|
+
validityInterval: { invalidBefore: tx.before || undefined, invalidHereafter: tx.hereafter || undefined },
|
|
448
|
+
votingProcedures: tx.votes[0].role ? mapVotes(tx.votes) : undefined,
|
|
449
|
+
withdrawals: mapWithdrawals(tx.withdrawals)
|
|
450
|
+
},
|
|
451
|
+
id: tx.id,
|
|
452
|
+
index: tx.index,
|
|
453
|
+
inputSource: tx.valid ? core_1.Cardano.InputSource.inputs : core_1.Cardano.InputSource.collaterals,
|
|
454
|
+
txSize: tx.size,
|
|
455
|
+
witness: { redeemers: tx.redeemers[0].purpose ? tx.redeemers.map(mapRedeemer) : undefined, signatures }
|
|
456
|
+
};
|
|
457
|
+
};
|
|
458
|
+
const actions = [{}];
|
|
459
|
+
const collateral = {};
|
|
460
|
+
const collaterals = [{}];
|
|
461
|
+
const commReg = [[]];
|
|
462
|
+
const commRet = [[]];
|
|
463
|
+
const deRep = [[]];
|
|
464
|
+
const metadata = [[]];
|
|
465
|
+
const mint = [[]];
|
|
466
|
+
const redeemers = [{}];
|
|
467
|
+
const reg = [[]];
|
|
468
|
+
const sDele = [[]];
|
|
469
|
+
const spReg = [[]];
|
|
470
|
+
const spRetire = [[]];
|
|
471
|
+
const unReg = [[]];
|
|
472
|
+
const vDele = [[null]];
|
|
473
|
+
const votes = [{}];
|
|
474
|
+
const withdrawals = [{}];
|
|
475
|
+
const transactionsByIds = async (ids, db) => {
|
|
476
|
+
const { rows } = await db.query({ name: 'get_txs', text: getTransactions, values: [ids] });
|
|
477
|
+
return rows.map(({ tx }) => mapTx(tx));
|
|
478
|
+
};
|
|
479
|
+
exports.transactionsByIds = transactionsByIds;
|
|
480
|
+
const partialTransactionsByIds = async (ids, db) => {
|
|
481
|
+
const { rows } = await db.query({ name: 'get_utxos', text: getUtxos, values: [ids] });
|
|
482
|
+
return rows
|
|
483
|
+
.map(({ tx }) => ({
|
|
484
|
+
tx: {
|
|
485
|
+
...tx,
|
|
486
|
+
actions,
|
|
487
|
+
collateral,
|
|
488
|
+
collaterals,
|
|
489
|
+
commReg,
|
|
490
|
+
commRet,
|
|
491
|
+
deRep,
|
|
492
|
+
metadata,
|
|
493
|
+
mint,
|
|
494
|
+
redeemers,
|
|
495
|
+
reg,
|
|
496
|
+
sDele,
|
|
497
|
+
spReg,
|
|
498
|
+
spRetire,
|
|
499
|
+
unReg,
|
|
500
|
+
vDele,
|
|
501
|
+
votes,
|
|
502
|
+
withdrawals
|
|
503
|
+
}
|
|
504
|
+
}))
|
|
505
|
+
.map(({ tx }) => mapTx(tx));
|
|
506
|
+
};
|
|
507
|
+
exports.partialTransactionsByIds = partialTransactionsByIds;
|
|
508
|
+
//# sourceMappingURL=transactions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../src/WsServer/transactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cardano-sdk/cardano-services",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.0",
|
|
4
4
|
"description": "Cardano GraphQL Services",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16.20.2"
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"@cardano-ogmios/client": "6.5.0",
|
|
67
|
-
"@cardano-sdk/util-dev": "~0.23.
|
|
67
|
+
"@cardano-sdk/util-dev": "~0.23.2",
|
|
68
68
|
"@types/bunyan": "^1.8.8",
|
|
69
69
|
"@types/cors": "^2.8.13",
|
|
70
70
|
"@types/death": "^1.1.2",
|
|
@@ -96,14 +96,14 @@
|
|
|
96
96
|
},
|
|
97
97
|
"dependencies": {
|
|
98
98
|
"@blockfrost/blockfrost-js": "^5.5.0",
|
|
99
|
-
"@cardano-sdk/cardano-services-client": "~0.
|
|
100
|
-
"@cardano-sdk/core": "~0.
|
|
99
|
+
"@cardano-sdk/cardano-services-client": "~0.21.0",
|
|
100
|
+
"@cardano-sdk/core": "~0.41.0",
|
|
101
101
|
"@cardano-sdk/crypto": "~0.1.30",
|
|
102
|
-
"@cardano-sdk/ogmios": "~0.18.
|
|
103
|
-
"@cardano-sdk/projection": "~0.12.
|
|
104
|
-
"@cardano-sdk/projection-typeorm": "~0.9.
|
|
102
|
+
"@cardano-sdk/ogmios": "~0.18.2",
|
|
103
|
+
"@cardano-sdk/projection": "~0.12.2",
|
|
104
|
+
"@cardano-sdk/projection-typeorm": "~0.9.2",
|
|
105
105
|
"@cardano-sdk/util": "~0.15.5",
|
|
106
|
-
"@cardano-sdk/util-rxjs": "~0.7.
|
|
106
|
+
"@cardano-sdk/util-rxjs": "~0.7.35",
|
|
107
107
|
"@hapi/topo": "^6.0.2",
|
|
108
108
|
"axios": "^1.7.4",
|
|
109
109
|
"backoff-rxjs": "^7.0.0",
|
|
@@ -144,5 +144,5 @@
|
|
|
144
144
|
"LICENSE",
|
|
145
145
|
"NOTICE"
|
|
146
146
|
],
|
|
147
|
-
"gitHead": "
|
|
147
|
+
"gitHead": "7b57a20fa480214f31a2773e7da732f2572243ce"
|
|
148
148
|
}
|