@cardano-sdk/cardano-services 0.6.0-nightly.1 → 0.6.0-nightly.11
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/Asset/CardanoTokenRegistry.d.ts.map +1 -1
- package/dist/cjs/Asset/CardanoTokenRegistry.js +4 -1
- package/dist/cjs/Asset/CardanoTokenRegistry.js.map +1 -1
- package/dist/cjs/Asset/DbSyncAssetProvider.d.ts.map +1 -1
- package/dist/cjs/Asset/DbSyncAssetProvider.js +13 -2
- package/dist/cjs/Asset/DbSyncAssetProvider.js.map +1 -1
- package/dist/cjs/Asset/openApi.json +3 -1
- package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/queries.d.ts +1 -1
- package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/queries.d.ts.map +1 -1
- package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/queries.js +18 -2
- package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/queries.js.map +1 -1
- package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/types.d.ts +15 -0
- package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/types.d.ts.map +1 -1
- package/dist/cjs/Program/{ProgramOptionDescriptions.d.ts → Options.d.ts} +26 -2
- package/dist/cjs/Program/Options.d.ts.map +1 -0
- package/dist/cjs/Program/{ProgramOptionDescriptions.js → Options.js} +20 -4
- package/dist/cjs/Program/Options.js.map +1 -0
- package/dist/cjs/Program/defaults.d.ts +7 -1
- package/dist/cjs/Program/defaults.d.ts.map +1 -1
- package/dist/cjs/Program/defaults.js +12 -4
- package/dist/cjs/Program/defaults.js.map +1 -1
- package/dist/cjs/Program/errors/MissingCardanoNodeOption.d.ts +1 -1
- package/dist/cjs/Program/errors/MissingCardanoNodeOption.d.ts.map +1 -1
- package/dist/cjs/Program/errors/MissingProgramOption.d.ts +1 -1
- package/dist/cjs/Program/errors/MissingProgramOption.d.ts.map +1 -1
- package/dist/cjs/{ProgramsCommon → Program}/errors/WrongOption.d.ts +0 -0
- package/dist/cjs/Program/errors/WrongOption.d.ts.map +1 -0
- package/dist/cjs/{ProgramsCommon → Program}/errors/WrongOption.js +0 -0
- package/dist/cjs/Program/errors/WrongOption.js.map +1 -0
- package/dist/cjs/Program/errors/index.d.ts +1 -0
- package/dist/cjs/Program/errors/index.d.ts.map +1 -1
- package/dist/cjs/Program/errors/index.js +1 -0
- package/dist/cjs/Program/errors/index.js.map +1 -1
- package/dist/cjs/Program/index.d.ts +3 -1
- package/dist/cjs/Program/index.d.ts.map +1 -1
- package/dist/cjs/Program/index.js +3 -1
- package/dist/cjs/Program/index.js.map +1 -1
- package/dist/cjs/Program/loadHttpServer.d.ts +1 -1
- package/dist/cjs/Program/loadHttpServer.d.ts.map +1 -1
- package/dist/cjs/Program/loadHttpServer.js +4 -4
- package/dist/cjs/Program/loadHttpServer.js.map +1 -1
- package/dist/cjs/{TxWorker → Program}/loadTxWorker.d.ts +3 -3
- package/dist/cjs/Program/loadTxWorker.d.ts.map +1 -0
- package/dist/cjs/{TxWorker → Program}/loadTxWorker.js +4 -5
- package/dist/cjs/Program/loadTxWorker.js.map +1 -0
- package/dist/cjs/{ProgramsCommon → Program}/programs.d.ts +0 -0
- package/dist/cjs/Program/programs.d.ts.map +1 -0
- package/dist/cjs/{ProgramsCommon → Program}/programs.js +0 -0
- package/dist/cjs/Program/programs.js.map +1 -0
- package/dist/cjs/Program/services/ogmios.d.ts +1 -1
- package/dist/cjs/Program/services/ogmios.d.ts.map +1 -1
- package/dist/cjs/Program/services/ogmios.js +5 -5
- package/dist/cjs/Program/services/ogmios.js.map +1 -1
- package/dist/cjs/Program/services/rabbitmq.d.ts +12 -2
- package/dist/cjs/Program/services/rabbitmq.d.ts.map +1 -1
- package/dist/cjs/Program/services/rabbitmq.js +50 -8
- package/dist/cjs/Program/services/rabbitmq.js.map +1 -1
- package/dist/cjs/Rewards/DbSyncRewardProvider/{DbSyncRewards.d.ts → DbSyncRewardsProvider.d.ts} +1 -1
- package/dist/cjs/Rewards/DbSyncRewardProvider/DbSyncRewardsProvider.d.ts.map +1 -0
- package/dist/cjs/Rewards/DbSyncRewardProvider/{DbSyncRewards.js → DbSyncRewardsProvider.js} +1 -1
- package/dist/cjs/Rewards/DbSyncRewardProvider/DbSyncRewardsProvider.js.map +1 -0
- package/dist/cjs/Rewards/DbSyncRewardProvider/index.d.ts +1 -1
- package/dist/cjs/Rewards/DbSyncRewardProvider/index.d.ts.map +1 -1
- package/dist/cjs/Rewards/DbSyncRewardProvider/index.js +1 -1
- package/dist/cjs/Rewards/DbSyncRewardProvider/index.js.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/{DbSyncStakePool.d.ts → DbSyncStakePoolProvider.d.ts} +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.d.ts.map +1 -0
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/{DbSyncStakePool.js → DbSyncStakePoolProvider.js} +5 -7
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.js.map +1 -0
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/index.d.ts +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/index.d.ts.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/index.js +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/index.js.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/mappers.d.ts +3 -3
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/mappers.js +15 -15
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/mappers.js.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.d.ts.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.js +5 -4
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.js.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/types.d.ts +13 -13
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/util.d.ts +1 -0
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/util.d.ts.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/util.js +1 -0
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/util.js.map +1 -1
- package/dist/cjs/TxSubmit/index.d.ts +1 -0
- package/dist/cjs/TxSubmit/index.d.ts.map +1 -1
- package/dist/cjs/TxSubmit/index.js +1 -0
- package/dist/cjs/TxSubmit/index.js.map +1 -1
- package/dist/cjs/TxSubmit/rabbitmq/RabbitMqTxSubmitProvider.d.ts +16 -0
- package/dist/cjs/TxSubmit/rabbitmq/RabbitMqTxSubmitProvider.d.ts.map +1 -0
- package/dist/cjs/TxSubmit/rabbitmq/RabbitMqTxSubmitProvider.js +147 -0
- package/dist/cjs/TxSubmit/rabbitmq/RabbitMqTxSubmitProvider.js.map +1 -0
- package/dist/cjs/TxSubmit/rabbitmq/TxSubmitWorker.d.ts +28 -0
- package/dist/cjs/TxSubmit/rabbitmq/TxSubmitWorker.d.ts.map +1 -0
- package/dist/cjs/TxSubmit/rabbitmq/TxSubmitWorker.js +191 -0
- package/dist/cjs/TxSubmit/rabbitmq/TxSubmitWorker.js.map +1 -0
- package/dist/cjs/TxSubmit/rabbitmq/index.d.ts +4 -0
- package/dist/cjs/TxSubmit/rabbitmq/index.d.ts.map +1 -0
- package/dist/cjs/{ProgramsCommon/errors → TxSubmit/rabbitmq}/index.js +3 -1
- package/dist/cjs/TxSubmit/rabbitmq/index.js.map +1 -0
- package/dist/cjs/TxSubmit/rabbitmq/utils.d.ts +9 -0
- package/dist/cjs/TxSubmit/rabbitmq/utils.d.ts.map +1 -0
- package/dist/cjs/TxSubmit/rabbitmq/utils.js +45 -0
- package/dist/cjs/TxSubmit/rabbitmq/utils.js.map +1 -0
- package/dist/cjs/Utxo/DbSyncUtxoProvider/mappers.js +1 -1
- package/dist/cjs/Utxo/DbSyncUtxoProvider/mappers.js.map +1 -1
- package/dist/cjs/cli.js +20 -22
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/original-package.json +9 -8
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/util/polling/DbSyncEpochPollService.js +2 -1
- package/dist/cjs/util/polling/DbSyncEpochPollService.js.map +1 -1
- package/package.json +9 -8
- package/dist/cjs/Program/ProgramOptionDescriptions.d.ts.map +0 -1
- package/dist/cjs/Program/ProgramOptionDescriptions.js.map +0 -1
- package/dist/cjs/ProgramsCommon/CommonOptionDescriptions.d.ts +0 -11
- package/dist/cjs/ProgramsCommon/CommonOptionDescriptions.d.ts.map +0 -1
- package/dist/cjs/ProgramsCommon/CommonOptionDescriptions.js +0 -15
- package/dist/cjs/ProgramsCommon/CommonOptionDescriptions.js.map +0 -1
- package/dist/cjs/ProgramsCommon/defaults.d.ts +0 -5
- package/dist/cjs/ProgramsCommon/defaults.d.ts.map +0 -1
- package/dist/cjs/ProgramsCommon/defaults.js +0 -12
- package/dist/cjs/ProgramsCommon/defaults.js.map +0 -1
- package/dist/cjs/ProgramsCommon/errors/WrongOption.d.ts.map +0 -1
- package/dist/cjs/ProgramsCommon/errors/WrongOption.js.map +0 -1
- package/dist/cjs/ProgramsCommon/errors/index.d.ts +0 -2
- package/dist/cjs/ProgramsCommon/errors/index.d.ts.map +0 -1
- package/dist/cjs/ProgramsCommon/errors/index.js.map +0 -1
- package/dist/cjs/ProgramsCommon/index.d.ts +0 -6
- package/dist/cjs/ProgramsCommon/index.d.ts.map +0 -1
- package/dist/cjs/ProgramsCommon/index.js +0 -22
- package/dist/cjs/ProgramsCommon/index.js.map +0 -1
- package/dist/cjs/ProgramsCommon/options.d.ts +0 -11
- package/dist/cjs/ProgramsCommon/options.d.ts.map +0 -1
- package/dist/cjs/ProgramsCommon/options.js +0 -3
- package/dist/cjs/ProgramsCommon/options.js.map +0 -1
- package/dist/cjs/ProgramsCommon/programs.d.ts.map +0 -1
- package/dist/cjs/ProgramsCommon/programs.js.map +0 -1
- package/dist/cjs/Rewards/DbSyncRewardProvider/DbSyncRewards.d.ts.map +0 -1
- package/dist/cjs/Rewards/DbSyncRewardProvider/DbSyncRewards.js.map +0 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePool.d.ts.map +0 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePool.js.map +0 -1
- package/dist/cjs/TxWorker/TxWorkerOptionDescriptions.d.ts +0 -6
- package/dist/cjs/TxWorker/TxWorkerOptionDescriptions.d.ts.map +0 -1
- package/dist/cjs/TxWorker/TxWorkerOptionDescriptions.js +0 -10
- package/dist/cjs/TxWorker/TxWorkerOptionDescriptions.js.map +0 -1
- package/dist/cjs/TxWorker/defaults.d.ts +0 -5
- package/dist/cjs/TxWorker/defaults.d.ts.map +0 -1
- package/dist/cjs/TxWorker/defaults.js +0 -10
- package/dist/cjs/TxWorker/defaults.js.map +0 -1
- package/dist/cjs/TxWorker/index.d.ts +0 -4
- package/dist/cjs/TxWorker/index.d.ts.map +0 -1
- package/dist/cjs/TxWorker/index.js +0 -20
- package/dist/cjs/TxWorker/index.js.map +0 -1
- package/dist/cjs/TxWorker/loadTxWorker.d.ts.map +0 -1
- package/dist/cjs/TxWorker/loadTxWorker.js.map +0 -1
- package/dist/cjs/TxWorker/utils.d.ts +0 -14
- package/dist/cjs/TxWorker/utils.d.ts.map +0 -1
- package/dist/cjs/TxWorker/utils.js +0 -50
- package/dist/cjs/TxWorker/utils.js.map +0 -1
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/// <reference types="pouchdb-core" />
|
|
3
3
|
import { Cardano, StakePoolSearchResults } from '@cardano-sdk/core';
|
|
4
4
|
export interface PoolUpdateModel {
|
|
5
|
-
id:
|
|
6
|
-
update_id:
|
|
5
|
+
id: string;
|
|
6
|
+
update_id: string;
|
|
7
7
|
}
|
|
8
8
|
export interface PoolUpdate {
|
|
9
9
|
id: number;
|
|
@@ -25,8 +25,8 @@ export interface PoolData extends CommonPoolInfo {
|
|
|
25
25
|
vrfKeyHash: Cardano.VrfVkHex;
|
|
26
26
|
}
|
|
27
27
|
export interface PoolDataModel {
|
|
28
|
-
hash_id:
|
|
29
|
-
update_id:
|
|
28
|
+
hash_id: string;
|
|
29
|
+
update_id: string;
|
|
30
30
|
pool_id: string;
|
|
31
31
|
reward_address: string;
|
|
32
32
|
pledge: string;
|
|
@@ -39,8 +39,8 @@ export interface PoolDataModel {
|
|
|
39
39
|
pool_hash: Buffer;
|
|
40
40
|
}
|
|
41
41
|
export interface RelayModel {
|
|
42
|
-
hash_id:
|
|
43
|
-
update_id:
|
|
42
|
+
hash_id: string;
|
|
43
|
+
update_id: string;
|
|
44
44
|
ipv4?: string;
|
|
45
45
|
ipv6?: string;
|
|
46
46
|
port?: number;
|
|
@@ -49,11 +49,11 @@ export interface RelayModel {
|
|
|
49
49
|
}
|
|
50
50
|
export interface Epoch {
|
|
51
51
|
no: number;
|
|
52
|
-
|
|
52
|
+
optimalPoolCount?: number;
|
|
53
53
|
}
|
|
54
54
|
export interface EpochModel {
|
|
55
55
|
no: number;
|
|
56
|
-
|
|
56
|
+
optimal_pool_count?: number;
|
|
57
57
|
}
|
|
58
58
|
export interface EpochReward {
|
|
59
59
|
hashId: number;
|
|
@@ -69,11 +69,11 @@ export interface EpochRewardModel {
|
|
|
69
69
|
}
|
|
70
70
|
export interface OwnerAddressModel {
|
|
71
71
|
address: string;
|
|
72
|
-
hash_id:
|
|
72
|
+
hash_id: string;
|
|
73
73
|
}
|
|
74
74
|
interface PoolTransactionModel {
|
|
75
75
|
tx_hash: Buffer;
|
|
76
|
-
hash_id:
|
|
76
|
+
hash_id: string;
|
|
77
77
|
}
|
|
78
78
|
interface PoolTransaction extends CommonPoolInfo {
|
|
79
79
|
transactionId: Cardano.TransactionId;
|
|
@@ -113,10 +113,10 @@ export interface PoolMetricsModel {
|
|
|
113
113
|
active_stake: string;
|
|
114
114
|
live_stake: string;
|
|
115
115
|
live_pledge: string;
|
|
116
|
-
saturation:
|
|
116
|
+
saturation: string;
|
|
117
117
|
active_stake_percentage: number;
|
|
118
118
|
live_stake_percentage: number;
|
|
119
|
-
pool_hash_id:
|
|
119
|
+
pool_hash_id: string;
|
|
120
120
|
}
|
|
121
121
|
export interface PoolMetrics extends CommonPoolInfo {
|
|
122
122
|
metrics: {
|
|
@@ -136,7 +136,7 @@ export interface StakePoolStatsModel {
|
|
|
136
136
|
retiring: string;
|
|
137
137
|
}
|
|
138
138
|
export interface PoolAPYModel {
|
|
139
|
-
hash_id:
|
|
139
|
+
hash_id: string;
|
|
140
140
|
apy: number;
|
|
141
141
|
}
|
|
142
142
|
export interface PoolAPY extends CommonPoolInfo {
|
|
@@ -13,6 +13,7 @@ export declare enum StakePoolsSubQuery {
|
|
|
13
13
|
OWNERS = "owners",
|
|
14
14
|
RETIREMENTS = "retirements",
|
|
15
15
|
TOTAL_ADA_AMOUNT = "total_ada_amount",
|
|
16
|
+
TOTAL_POOLS_COUNT = "total_stake_pools_count",
|
|
16
17
|
POOL_HASHES = "pool_hashes",
|
|
17
18
|
POOLS_DATA_ORDERED = "pools_data_ordered"
|
|
18
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/StakePool/DbSyncStakePoolProvider/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUvC,eAAO,MAAM,oBAAoB,UAAW,MAAM,KAAG,YAKpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AACpD,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAC5C,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AAEzD,oBAAY,kBAAkB;IAC5B,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;CAC1C;AAED,eAAO,MAAM,aAAa,cAAe,kBAAkB,WAAW,OAAO,EAAE,WAClB,CAAC;AAE9D,eAAO,MAAM,mBAAmB;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,cAAe,MAAM,eAAe,MAAM,WACuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/StakePool/DbSyncStakePoolProvider/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUvC,eAAO,MAAM,oBAAoB,UAAW,MAAM,KAAG,YAKpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AACpD,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAC5C,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AAEzD,oBAAY,kBAAkB;IAC5B,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,iBAAiB,4BAA4B;IAC7C,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;CAC1C;AAED,eAAO,MAAM,aAAa,cAAe,kBAAkB,WAAW,OAAO,EAAE,WAClB,CAAC;AAE9D,eAAO,MAAM,mBAAmB;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,cAAe,MAAM,eAAe,MAAM,WACuB,CAAC"}
|
|
@@ -30,6 +30,7 @@ var StakePoolsSubQuery;
|
|
|
30
30
|
StakePoolsSubQuery["OWNERS"] = "owners";
|
|
31
31
|
StakePoolsSubQuery["RETIREMENTS"] = "retirements";
|
|
32
32
|
StakePoolsSubQuery["TOTAL_ADA_AMOUNT"] = "total_ada_amount";
|
|
33
|
+
StakePoolsSubQuery["TOTAL_POOLS_COUNT"] = "total_stake_pools_count";
|
|
33
34
|
StakePoolsSubQuery["POOL_HASHES"] = "pool_hashes";
|
|
34
35
|
StakePoolsSubQuery["POOLS_DATA_ORDERED"] = "pools_data_ordered";
|
|
35
36
|
})(StakePoolsSubQuery = exports.StakePoolsSubQuery || (exports.StakePoolsSubQuery = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/StakePool/DbSyncStakePoolProvider/util.ts"],"names":[],"mappings":";;;;;;AACA,4CAM2B;AAC3B,gEAAqC;AAE9B,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAgB,EAAE;IAClE,IAAI,IAAA,0BAAmB,EAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,IAAA,6BAAsB,EAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,IAAI,IAAA,yBAAkB,EAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,IAAI,oBAAa,CAAC,sBAAe,CAAC,OAAO,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;AAC/E,CAAC,CAAC;AALW,QAAA,oBAAoB,wBAK/B;AAEW,QAAA,iBAAiB,GAAG,kBAAkB,CAAC;AACvC,QAAA,aAAa,GAAG,cAAc,CAAC;AAC/B,QAAA,oBAAoB,GAAG,oBAAoB,CAAC;AAEzD,IAAY,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/StakePool/DbSyncStakePoolProvider/util.ts"],"names":[],"mappings":";;;;;;AACA,4CAM2B;AAC3B,gEAAqC;AAE9B,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAgB,EAAE;IAClE,IAAI,IAAA,0BAAmB,EAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,IAAA,6BAAsB,EAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,IAAI,IAAA,yBAAkB,EAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,IAAI,oBAAa,CAAC,sBAAe,CAAC,OAAO,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;AAC/E,CAAC,CAAC;AALW,QAAA,oBAAoB,wBAK/B;AAEW,QAAA,iBAAiB,GAAG,kBAAkB,CAAC;AACvC,QAAA,aAAa,GAAG,cAAc,CAAC;AAC/B,QAAA,oBAAoB,GAAG,oBAAoB,CAAC;AAEzD,IAAY,kBAaX;AAbD,WAAY,kBAAkB;IAC5B,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;IACjB,qDAA+B,CAAA;IAC/B,uCAAiB,CAAA;IACjB,iDAA2B,CAAA;IAC3B,2DAAqC,CAAA;IACrC,mEAA6C,CAAA;IAC7C,iDAA2B,CAAA;IAC3B,+DAAyC,CAAA;AAC3C,CAAC,EAbW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAa7B;AAEM,MAAM,aAAa,GAAG,CAAC,SAA6B,EAAE,GAAG,IAAe,EAAE,EAAE,CACjF,GAAG,yBAAiB,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AADjD,QAAA,aAAa,iBACoC;AAEjD,QAAA,mBAAmB,GAAG;IACjC,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;IACd,iBAAiB,EAAE,EAAE;IACrB,UAAU,EAAE,EAAE;IACd,eAAe,EAAE,EAAE;IACnB,WAAW,EAAE,EAAE;CAChB,CAAC;AAEK,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,WAAmB,EAAE,EAAE,CAC5E,IAAI,sBAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,sBAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AADrF,QAAA,mBAAmB,uBACkE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/TxSubmit/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/TxSubmit/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC"}
|
|
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./rabbitmq"), exports);
|
|
17
18
|
__exportStar(require("./TxSubmitHttpService"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/TxSubmit/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/TxSubmit/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,wDAAsC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { HealthCheckResponse, SubmitTxArgs, TxSubmitProvider } from '@cardano-sdk/core';
|
|
2
|
+
import { Logger } from 'ts-log';
|
|
3
|
+
export interface RabbitMqTxSubmitProviderConfig {
|
|
4
|
+
rabbitmqUrl: URL;
|
|
5
|
+
}
|
|
6
|
+
export interface RabbitMqTxSubmitProviderDependencies {
|
|
7
|
+
logger: Logger;
|
|
8
|
+
}
|
|
9
|
+
export declare class RabbitMqTxSubmitProvider implements TxSubmitProvider {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(config: RabbitMqTxSubmitProviderConfig, dependencies: RabbitMqTxSubmitProviderDependencies);
|
|
12
|
+
close(): Promise<void>;
|
|
13
|
+
healthCheck(): Promise<HealthCheckResponse>;
|
|
14
|
+
submitTx({ signedTransaction }: SubmitTxArgs): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=RabbitMqTxSubmitProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RabbitMqTxSubmitProvider.d.ts","sourceRoot":"","sources":["../../../../src/TxSubmit/rabbitmq/RabbitMqTxSubmitProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EAGnB,YAAY,EACZ,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAShC,MAAM,WAAW,8BAA8B;IAI7C,WAAW,EAAE,GAAG,CAAC;CAClB;AAKD,MAAM,WAAW,oCAAoC;IAInD,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD,qBAAa,wBAAyB,YAAW,gBAAgB;;gBAmBnD,MAAM,EAAE,8BAA8B,EAAE,YAAY,EAAE,oCAAoC;IAwDhG,KAAK;IA4BL,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAmB3C,QAAQ,CAAC,EAAE,iBAAiB,EAAE,EAAE,YAAY;CAgEnD"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _RabbitMqTxSubmitProvider_instances, _RabbitMqTxSubmitProvider_channel, _RabbitMqTxSubmitProvider_connection, _RabbitMqTxSubmitProvider_queueWasCreated, _RabbitMqTxSubmitProvider_config, _RabbitMqTxSubmitProvider_dependencies, _RabbitMqTxSubmitProvider_connectAndCreateChannel, _RabbitMqTxSubmitProvider_ensureQueue;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.RabbitMqTxSubmitProvider = void 0;
|
|
16
|
+
const core_1 = require("@cardano-sdk/core");
|
|
17
|
+
const amqplib_1 = require("amqplib");
|
|
18
|
+
const utils_1 = require("./utils");
|
|
19
|
+
const util_1 = require("@cardano-sdk/util");
|
|
20
|
+
const moduleName = 'RabbitMqTxSubmitProvider';
|
|
21
|
+
class RabbitMqTxSubmitProvider {
|
|
22
|
+
constructor(config, dependencies) {
|
|
23
|
+
_RabbitMqTxSubmitProvider_instances.add(this);
|
|
24
|
+
_RabbitMqTxSubmitProvider_channel.set(this, void 0);
|
|
25
|
+
_RabbitMqTxSubmitProvider_connection.set(this, void 0);
|
|
26
|
+
_RabbitMqTxSubmitProvider_queueWasCreated.set(this, false);
|
|
27
|
+
_RabbitMqTxSubmitProvider_config.set(this, void 0);
|
|
28
|
+
_RabbitMqTxSubmitProvider_dependencies.set(this, void 0);
|
|
29
|
+
__classPrivateFieldSet(this, _RabbitMqTxSubmitProvider_config, config, "f");
|
|
30
|
+
__classPrivateFieldSet(this, _RabbitMqTxSubmitProvider_dependencies, dependencies, "f");
|
|
31
|
+
}
|
|
32
|
+
async close() {
|
|
33
|
+
await (0, utils_1.waitForPending)(__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_channel, "f"));
|
|
34
|
+
try {
|
|
35
|
+
await __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_channel, "f")?.close();
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.error({ error: error.name, module: moduleName }, error.message);
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
await __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_connection, "f")?.close();
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.error({ error: error.name, module: moduleName }, error.message);
|
|
45
|
+
}
|
|
46
|
+
__classPrivateFieldSet(this, _RabbitMqTxSubmitProvider_channel, undefined, "f");
|
|
47
|
+
__classPrivateFieldSet(this, _RabbitMqTxSubmitProvider_connection, undefined, "f");
|
|
48
|
+
__classPrivateFieldSet(this, _RabbitMqTxSubmitProvider_queueWasCreated, false, "f");
|
|
49
|
+
}
|
|
50
|
+
async healthCheck() {
|
|
51
|
+
let ok = false;
|
|
52
|
+
try {
|
|
53
|
+
await __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_instances, "m", _RabbitMqTxSubmitProvider_ensureQueue).call(this, true);
|
|
54
|
+
ok = true;
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.error({ error: 'Connection error', module: 'rabbitmqTxSubmitProvider' });
|
|
58
|
+
}
|
|
59
|
+
return { ok };
|
|
60
|
+
}
|
|
61
|
+
async submitTx({ signedTransaction }) {
|
|
62
|
+
return new Promise(async (resolve, reject) => {
|
|
63
|
+
let txId = '';
|
|
64
|
+
const done = (error) => {
|
|
65
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.debug(`${moduleName}: ${error ? 'rejecting' : 'resolving'} tx id: ${txId}`);
|
|
66
|
+
if (error)
|
|
67
|
+
reject(error);
|
|
68
|
+
else
|
|
69
|
+
resolve();
|
|
70
|
+
};
|
|
71
|
+
try {
|
|
72
|
+
txId = core_1.cslUtil.deserializeTx(signedTransaction).id.toString();
|
|
73
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.info(`${moduleName}: queuing tx id: ${txId}`);
|
|
74
|
+
await __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_instances, "m", _RabbitMqTxSubmitProvider_ensureQueue).call(this);
|
|
75
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_channel, "f").sendToQueue(utils_1.TX_SUBMISSION_QUEUE, (0, util_1.hexStringToBuffer)(signedTransaction));
|
|
76
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.debug(`${moduleName}: queued tx id: ${txId}`);
|
|
77
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.debug(`${moduleName}: creating queue: ${txId}`);
|
|
78
|
+
await __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_channel, "f").assertQueue(txId);
|
|
79
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.debug(`${moduleName}: created queue: ${txId}`);
|
|
80
|
+
const consumePromise = __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_channel, "f").consume(txId, async (message) => {
|
|
81
|
+
try {
|
|
82
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.debug(`${moduleName}: got result message from queue: ${txId}`);
|
|
83
|
+
if (!message)
|
|
84
|
+
return done(new Error('null message from result queue'));
|
|
85
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_channel, "f").ack(message);
|
|
86
|
+
const { consumerTag } = await consumePromise;
|
|
87
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.debug(`${moduleName}: canceling consumer for queue: ${txId}`);
|
|
88
|
+
await __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_channel, "f").cancel(consumerTag);
|
|
89
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.debug(`${moduleName}: deleting queue: ${txId}`);
|
|
90
|
+
await __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_channel, "f").deleteQueue(txId);
|
|
91
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.debug(`${moduleName}: deleted queue: ${txId}`);
|
|
92
|
+
const result = JSON.parse(message.content.toString());
|
|
93
|
+
if (Object.keys(result).length === 0)
|
|
94
|
+
return done();
|
|
95
|
+
done((0, util_1.fromSerializableObject)(result, { getErrorPrototype: utils_1.getErrorPrototype }));
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.error(`${moduleName}: while handling response message: ${txId}`);
|
|
99
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.error(error);
|
|
100
|
+
done(error);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.error(`${moduleName}: while queuing transaction: ${txId}`);
|
|
106
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.error(error);
|
|
107
|
+
done(core_1.Cardano.util.asTxSubmissionError(error) || new core_1.Cardano.UnknownTxSubmissionError(error));
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.RabbitMqTxSubmitProvider = RabbitMqTxSubmitProvider;
|
|
113
|
+
_RabbitMqTxSubmitProvider_channel = new WeakMap(), _RabbitMqTxSubmitProvider_connection = new WeakMap(), _RabbitMqTxSubmitProvider_queueWasCreated = new WeakMap(), _RabbitMqTxSubmitProvider_config = new WeakMap(), _RabbitMqTxSubmitProvider_dependencies = new WeakMap(), _RabbitMqTxSubmitProvider_instances = new WeakSet(), _RabbitMqTxSubmitProvider_connectAndCreateChannel = async function _RabbitMqTxSubmitProvider_connectAndCreateChannel() {
|
|
114
|
+
if (__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_connection, "f"))
|
|
115
|
+
return;
|
|
116
|
+
try {
|
|
117
|
+
__classPrivateFieldSet(this, _RabbitMqTxSubmitProvider_connection, await (0, amqplib_1.connect)(__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_config, "f").rabbitmqUrl.toString()), "f");
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.error(`${moduleName}: while connecting`, error);
|
|
121
|
+
void this.close();
|
|
122
|
+
throw new core_1.ProviderError(core_1.ProviderFailure.ConnectionFailure, error);
|
|
123
|
+
}
|
|
124
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_connection, "f").on('error', (error) => __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.error(`${moduleName}: connection error`, error));
|
|
125
|
+
try {
|
|
126
|
+
__classPrivateFieldSet(this, _RabbitMqTxSubmitProvider_channel, await __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_connection, "f").createChannel(), "f");
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.error(`${moduleName}: while creating channel`, error);
|
|
130
|
+
void this.close();
|
|
131
|
+
throw new core_1.ProviderError(core_1.ProviderFailure.ConnectionFailure, error);
|
|
132
|
+
}
|
|
133
|
+
__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_channel, "f").on('error', (error) => __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_dependencies, "f").logger.error(`${moduleName}: channel error`, error));
|
|
134
|
+
}, _RabbitMqTxSubmitProvider_ensureQueue = async function _RabbitMqTxSubmitProvider_ensureQueue(force) {
|
|
135
|
+
if (__classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_queueWasCreated, "f") && !force)
|
|
136
|
+
return;
|
|
137
|
+
await __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_instances, "m", _RabbitMqTxSubmitProvider_connectAndCreateChannel).call(this);
|
|
138
|
+
try {
|
|
139
|
+
await __classPrivateFieldGet(this, _RabbitMqTxSubmitProvider_channel, "f").assertQueue(utils_1.TX_SUBMISSION_QUEUE);
|
|
140
|
+
__classPrivateFieldSet(this, _RabbitMqTxSubmitProvider_queueWasCreated, true, "f");
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
void this.close();
|
|
144
|
+
throw new core_1.ProviderError(core_1.ProviderFailure.ConnectionFailure, error);
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=RabbitMqTxSubmitProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RabbitMqTxSubmitProvider.js","sourceRoot":"","sources":["../../../../src/TxSubmit/rabbitmq/RabbitMqTxSubmitProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
import { Logger } from 'ts-log';
|
|
4
|
+
import { TxSubmitProvider } from '@cardano-sdk/core';
|
|
5
|
+
export interface TxSubmitWorkerConfig {
|
|
6
|
+
parallel?: boolean;
|
|
7
|
+
parallelTxs?: number;
|
|
8
|
+
pollingCycle?: number;
|
|
9
|
+
rabbitmqUrl: URL;
|
|
10
|
+
}
|
|
11
|
+
export interface TxSubmitWorkerDependencies {
|
|
12
|
+
logger: Logger;
|
|
13
|
+
txSubmitProvider: TxSubmitProvider;
|
|
14
|
+
}
|
|
15
|
+
export declare class TxSubmitWorker extends EventEmitter {
|
|
16
|
+
#private;
|
|
17
|
+
constructor(config: TxSubmitWorkerConfig, dependencies: TxSubmitWorkerDependencies);
|
|
18
|
+
private connectionErrorHandler;
|
|
19
|
+
getStatus(): "error" | "connected" | "connecting" | "idle";
|
|
20
|
+
emitEvent(eventName: string, err?: unknown): void;
|
|
21
|
+
start(): Promise<void>;
|
|
22
|
+
stop(): Promise<void>;
|
|
23
|
+
private logError;
|
|
24
|
+
private infiniteLoop;
|
|
25
|
+
private submitTx;
|
|
26
|
+
private submitTxErrorHandler;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=TxSubmitWorker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TxSubmitWorker.d.ts","sourceRoot":"","sources":["../../../../src/TxSubmit/rabbitmq/TxSubmitWorker.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAkC,gBAAgB,EAAW,MAAM,mBAAmB,CAAC;AAQ9F,MAAM,WAAW,oBAAoB;IAKnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAMnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,WAAW,EAAE,GAAG,CAAC;CAClB;AAKD,MAAM,WAAW,0BAA0B;IAIzC,MAAM,EAAE,MAAM,CAAC;IAKf,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAMD,qBAAa,cAAe,SAAQ,YAAY;;gBA6ClC,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,0BAA0B;YAYpE,sBAAsB;IAgBpC,SAAS;IAQT,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO;IAWpC,KAAK;IA2CL,IAAI;IAgDV,OAAO,CAAC,QAAQ;YAcF,YAAY;YAkBZ,QAAQ;YA0CR,oBAAoB;CAsBnC"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _TxSubmitWorker_channel, _TxSubmitWorker_config, _TxSubmitWorker_connection, _TxSubmitWorker_continueForever, _TxSubmitWorker_consumerTag, _TxSubmitWorker_counter, _TxSubmitWorker_dependencies, _TxSubmitWorker_status;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.TxSubmitWorker = void 0;
|
|
16
|
+
const utils_1 = require("./utils");
|
|
17
|
+
const amqplib_1 = require("amqplib");
|
|
18
|
+
const events_1 = require("events");
|
|
19
|
+
const core_1 = require("@cardano-sdk/core");
|
|
20
|
+
const util_1 = require("@cardano-sdk/util");
|
|
21
|
+
const moduleName = 'TxSubmitWorker';
|
|
22
|
+
class TxSubmitWorker extends events_1.EventEmitter {
|
|
23
|
+
constructor(config, dependencies) {
|
|
24
|
+
super();
|
|
25
|
+
_TxSubmitWorker_channel.set(this, void 0);
|
|
26
|
+
_TxSubmitWorker_config.set(this, void 0);
|
|
27
|
+
_TxSubmitWorker_connection.set(this, void 0);
|
|
28
|
+
_TxSubmitWorker_continueForever.set(this, false);
|
|
29
|
+
_TxSubmitWorker_consumerTag.set(this, void 0);
|
|
30
|
+
_TxSubmitWorker_counter.set(this, 0);
|
|
31
|
+
_TxSubmitWorker_dependencies.set(this, void 0);
|
|
32
|
+
_TxSubmitWorker_status.set(this, 'idle');
|
|
33
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_config, { parallelTxs: 3, pollingCycle: 500, ...config }, "f");
|
|
34
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_dependencies, dependencies, "f");
|
|
35
|
+
}
|
|
36
|
+
async connectionErrorHandler(isAsync, err) {
|
|
37
|
+
if (err) {
|
|
38
|
+
this.logError(err, isAsync);
|
|
39
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_status, 'error', "f");
|
|
40
|
+
await this.stop();
|
|
41
|
+
this.emitEvent(utils_1.CONNECTION_ERROR_EVENT, err);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
getStatus() {
|
|
45
|
+
return __classPrivateFieldGet(this, _TxSubmitWorker_status, "f");
|
|
46
|
+
}
|
|
47
|
+
emitEvent(eventName, err) {
|
|
48
|
+
this.emit(eventName, err);
|
|
49
|
+
}
|
|
50
|
+
async start() {
|
|
51
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.info(`${moduleName} init: checking tx submission provider health status`);
|
|
52
|
+
const { ok } = await __classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").txSubmitProvider.healthCheck();
|
|
53
|
+
if (!ok)
|
|
54
|
+
throw new core_1.ProviderError(core_1.ProviderFailure.Unhealthy);
|
|
55
|
+
try {
|
|
56
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.info(`${moduleName} init: opening RabbitMQ connection`);
|
|
57
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_status, 'connecting', "f");
|
|
58
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_connection, await (0, amqplib_1.connect)(__classPrivateFieldGet(this, _TxSubmitWorker_config, "f").rabbitmqUrl.toString()), "f");
|
|
59
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_connection, "f").on('close', (error) => this.connectionErrorHandler(true, error));
|
|
60
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.info(`${moduleName} init: opening RabbitMQ channel`);
|
|
61
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_channel, await __classPrivateFieldGet(this, _TxSubmitWorker_connection, "f").createChannel(), "f");
|
|
62
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_channel, "f").on('close', (error) => this.connectionErrorHandler(true, error));
|
|
63
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.info(`${moduleName} init: ensuring RabbitMQ queue`);
|
|
64
|
+
await __classPrivateFieldGet(this, _TxSubmitWorker_channel, "f").assertQueue(utils_1.TX_SUBMISSION_QUEUE);
|
|
65
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.info(`${moduleName}: init completed`);
|
|
66
|
+
if (__classPrivateFieldGet(this, _TxSubmitWorker_config, "f").parallel) {
|
|
67
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.info(`${moduleName}: starting parallel mode`);
|
|
68
|
+
await __classPrivateFieldGet(this, _TxSubmitWorker_channel, "f").prefetch(__classPrivateFieldGet(this, _TxSubmitWorker_config, "f").parallelTxs, true);
|
|
69
|
+
const parallelHandler = (message) => (message ? this.submitTx(message) : null);
|
|
70
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_consumerTag, (await __classPrivateFieldGet(this, _TxSubmitWorker_channel, "f").consume(utils_1.TX_SUBMISSION_QUEUE, parallelHandler)).consumerTag, "f");
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.info(`${moduleName}: starting serial mode`);
|
|
74
|
+
this.infiniteLoop();
|
|
75
|
+
}
|
|
76
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_status, 'connected', "f");
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
await this.connectionErrorHandler(false, error);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async stop() {
|
|
83
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.info(`${moduleName} shutdown: closing RabbitMQ channel`);
|
|
84
|
+
if (__classPrivateFieldGet(this, _TxSubmitWorker_consumerTag, "f"))
|
|
85
|
+
try {
|
|
86
|
+
const consumerTag = __classPrivateFieldGet(this, _TxSubmitWorker_consumerTag, "f");
|
|
87
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_consumerTag, undefined, "f");
|
|
88
|
+
await __classPrivateFieldGet(this, _TxSubmitWorker_channel, "f").cancel(consumerTag);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
this.logError(error);
|
|
92
|
+
}
|
|
93
|
+
else
|
|
94
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_continueForever, false, "f");
|
|
95
|
+
await (0, utils_1.waitForPending)(__classPrivateFieldGet(this, _TxSubmitWorker_channel, "f"));
|
|
96
|
+
try {
|
|
97
|
+
await __classPrivateFieldGet(this, _TxSubmitWorker_channel, "f")?.close();
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
this.logError(error);
|
|
101
|
+
}
|
|
102
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.info(`${moduleName} shutdown: closing RabbitMQ connection`);
|
|
103
|
+
try {
|
|
104
|
+
await __classPrivateFieldGet(this, _TxSubmitWorker_connection, "f")?.close();
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
this.logError(error);
|
|
108
|
+
}
|
|
109
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.info(`${moduleName}: shutdown completed`);
|
|
110
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_channel, undefined, "f");
|
|
111
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_connection, undefined, "f");
|
|
112
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_status, 'idle', "f");
|
|
113
|
+
}
|
|
114
|
+
logError(error, isAsync = false, asWarning = false) {
|
|
115
|
+
const errorMessage = error instanceof Error ? error.message : (typeof error === 'string' ? error : JSON.stringify(error));
|
|
116
|
+
const errorObject = { error: error instanceof Error ? error.name : 'Unknown error', isAsync, module: moduleName };
|
|
117
|
+
if (asWarning)
|
|
118
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.warn(errorObject, errorMessage);
|
|
119
|
+
else
|
|
120
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.error(errorObject, errorMessage);
|
|
121
|
+
if (error instanceof Error)
|
|
122
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.debug(`${moduleName}:`, error.stack);
|
|
123
|
+
}
|
|
124
|
+
async infiniteLoop() {
|
|
125
|
+
__classPrivateFieldSet(this, _TxSubmitWorker_continueForever, true, "f");
|
|
126
|
+
while (__classPrivateFieldGet(this, _TxSubmitWorker_continueForever, "f")) {
|
|
127
|
+
const message = await __classPrivateFieldGet(this, _TxSubmitWorker_channel, "f")?.get(utils_1.TX_SUBMISSION_QUEUE);
|
|
128
|
+
await (message
|
|
129
|
+
? this.submitTx(message)
|
|
130
|
+
: new Promise((resolve) => setTimeout(resolve, __classPrivateFieldGet(this, _TxSubmitWorker_config, "f").pollingCycle)));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
async submitTx(message) {
|
|
134
|
+
var _a;
|
|
135
|
+
const counter = __classPrivateFieldSet(this, _TxSubmitWorker_counter, (_a = __classPrivateFieldGet(this, _TxSubmitWorker_counter, "f"), ++_a), "f");
|
|
136
|
+
let isRetryable = false;
|
|
137
|
+
let serializableError;
|
|
138
|
+
let txId = '';
|
|
139
|
+
try {
|
|
140
|
+
const { content } = message;
|
|
141
|
+
const txBody = new Uint8Array(content);
|
|
142
|
+
txId = core_1.cslUtil.deserializeTx(txBody).id.toString();
|
|
143
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.info(`${moduleName}: submitting tx #${counter} id: ${txId}`);
|
|
144
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.debug(`${moduleName}: tx #${counter} dump:`, [content.toString('hex')]);
|
|
145
|
+
await __classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").txSubmitProvider.submitTx({ signedTransaction: (0, util_1.bufferToHexString)(Buffer.from(txBody)) });
|
|
146
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.debug(`${moduleName}: ACKing RabbitMQ message #${counter}`);
|
|
147
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_channel, "f")?.ack(message);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
({ isRetryable, serializableError } = await this.submitTxErrorHandler(error, counter, message));
|
|
151
|
+
}
|
|
152
|
+
finally {
|
|
153
|
+
if (!serializableError || !isRetryable) {
|
|
154
|
+
try {
|
|
155
|
+
const message = serializableError || {};
|
|
156
|
+
await __classPrivateFieldGet(this, _TxSubmitWorker_channel, "f").assertQueue(txId);
|
|
157
|
+
this.logError(`${moduleName}: sending response for message #${counter}`);
|
|
158
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_channel, "f").sendToQueue(txId, Buffer.from(JSON.stringify(message)));
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
this.logError(`${moduleName}: while sending response for message #${counter}`);
|
|
162
|
+
this.logError(error);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
async submitTxErrorHandler(err, counter, message) {
|
|
168
|
+
const { isRetryable, serializableError } = (0, utils_1.serializeError)(err);
|
|
169
|
+
if (isRetryable)
|
|
170
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.warn(`${moduleName}: submitting tx #${counter}`);
|
|
171
|
+
else
|
|
172
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.error(`${moduleName}: submitting tx #${counter}`);
|
|
173
|
+
this.logError(err, false, isRetryable);
|
|
174
|
+
const action = `${isRetryable ? 'N' : ''}ACKing RabbitMQ message #${counter}`;
|
|
175
|
+
try {
|
|
176
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_dependencies, "f").logger.info(`${moduleName}: ${action}`);
|
|
177
|
+
if (isRetryable)
|
|
178
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_channel, "f")?.nack(message);
|
|
179
|
+
else
|
|
180
|
+
__classPrivateFieldGet(this, _TxSubmitWorker_channel, "f")?.ack(message);
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
this.logError(`${moduleName}: while ${action}`);
|
|
184
|
+
this.logError(error);
|
|
185
|
+
}
|
|
186
|
+
return { isRetryable, serializableError };
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
exports.TxSubmitWorker = TxSubmitWorker;
|
|
190
|
+
_TxSubmitWorker_channel = new WeakMap(), _TxSubmitWorker_config = new WeakMap(), _TxSubmitWorker_connection = new WeakMap(), _TxSubmitWorker_continueForever = new WeakMap(), _TxSubmitWorker_consumerTag = new WeakMap(), _TxSubmitWorker_counter = new WeakMap(), _TxSubmitWorker_dependencies = new WeakMap(), _TxSubmitWorker_status = new WeakMap();
|
|
191
|
+
//# sourceMappingURL=TxSubmitWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TxSubmitWorker.js","sourceRoot":"","sources":["../../../../src/TxSubmit/rabbitmq/TxSubmitWorker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/TxSubmit/rabbitmq/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,SAAS,CAAC"}
|
|
@@ -14,5 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./TxSubmitWorker"), exports);
|
|
18
|
+
__exportStar(require("./RabbitMqTxSubmitProvider"), exports);
|
|
19
|
+
__exportStar(require("./utils"), exports);
|
|
18
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/TxSubmit/rabbitmq/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,6DAA2C;AAC3C,0CAAwB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const TX_SUBMISSION_QUEUE = "cardano-tx-submit";
|
|
2
|
+
export declare const getErrorPrototype: (error: unknown) => any;
|
|
3
|
+
export declare const serializeError: (err: unknown) => {
|
|
4
|
+
isRetryable: boolean;
|
|
5
|
+
serializableError: unknown;
|
|
6
|
+
};
|
|
7
|
+
export declare const waitForPending: (channel: unknown) => Promise<void>;
|
|
8
|
+
export declare const CONNECTION_ERROR_EVENT = "connection-error";
|
|
9
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/TxSubmit/rabbitmq/utils.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AASvD,eAAO,MAAM,iBAAiB,UAAW,OAAO,QAa/C,CAAC;AAOF,eAAO,MAAM,cAAc,QAAS,OAAO;;;CAY1C,CAAC;AAIF,eAAO,MAAM,cAAc,YAAmB,OAAO,kBAYpD,CAAC;AAEF,eAAO,MAAM,sBAAsB,qBAAqB,CAAC"}
|