@ercworldio/blockchain-shared 1.0.3-dev.7 → 1.0.5-dev.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.
Files changed (97) hide show
  1. package/build/chains/networks_dev.json +17 -17
  2. package/build/chains/networks_prod-dz.json +0 -35
  3. package/build/chains/networks_prod-sh.json +40 -4
  4. package/build/chains/networks_prod-yb.json +40 -4
  5. package/build/contracts/Escrow.d.ts +16 -6
  6. package/build/contracts/Escrow.d.ts.map +1 -1
  7. package/build/contracts/Escrow.js +112 -4
  8. package/build/contracts/EscrowErrors.d.ts +110 -1
  9. package/build/contracts/EscrowErrors.d.ts.map +1 -1
  10. package/build/contracts/EscrowErrors.js +71 -14
  11. package/build/contracts/artifacts/Escrow.json +244 -14
  12. package/build/contracts/contract-events/AccessControlEvents.d.ts +12 -2
  13. package/build/contracts/contract-events/AccessControlEvents.d.ts.map +1 -1
  14. package/build/contracts/contract-events/AccessControlEvents.js +29 -5
  15. package/build/contracts/contract-events/EscrowEvents.d.ts +134 -2
  16. package/build/contracts/contract-events/EscrowEvents.d.ts.map +1 -1
  17. package/build/contracts/contract-events/EscrowEvents.js +67 -17
  18. package/build/contracts/contract-events/types/events.d.ts +35 -1
  19. package/build/contracts/contract-events/types/events.d.ts.map +1 -1
  20. package/build/contracts/typechain-types/contracts/escrow/Escrow.d.ts +76 -15
  21. package/build/contracts/typechain-types/contracts/escrow/Escrow.d.ts.map +1 -1
  22. package/build/contracts/typechain-types/contracts/lib/Events.d.ts +2 -8
  23. package/build/contracts/typechain-types/contracts/lib/Events.d.ts.map +1 -1
  24. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.d.ts +69 -1
  25. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.d.ts.map +1 -1
  26. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.js +91 -1
  27. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.d.ts +69 -1
  28. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.d.ts.map +1 -1
  29. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.js +91 -1
  30. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowSignature__factory.d.ts +1 -1
  31. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowSignature__factory.js +1 -1
  32. package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.d.ts +188 -13
  33. package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.d.ts.map +1 -1
  34. package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.js +245 -15
  35. package/build/contracts/typechain-types/factories/contracts/lib/Events__factory.d.ts +1 -11
  36. package/build/contracts/typechain-types/factories/contracts/lib/Events__factory.d.ts.map +1 -1
  37. package/build/contracts/typechain-types/factories/contracts/lib/Events__factory.js +1 -13
  38. package/build/contracts/typechain-types/factories/contracts/lib/MultisigLib__factory.d.ts +45 -1
  39. package/build/contracts/typechain-types/factories/contracts/lib/MultisigLib__factory.d.ts.map +1 -1
  40. package/build/contracts/typechain-types/factories/contracts/lib/MultisigLib__factory.js +59 -1
  41. package/build/contracts/types/escrow.d.ts +16 -2
  42. package/build/contracts/types/escrow.d.ts.map +1 -1
  43. package/build/contracts/types/escrow.js +4 -0
  44. package/build/entities/AdminOperationThresholds.d.ts +0 -1
  45. package/build/entities/AdminOperationThresholds.d.ts.map +1 -1
  46. package/build/entities/AdminOperationThresholds.js +1 -5
  47. package/build/entities/ClaimJob.d.ts +1 -0
  48. package/build/entities/ClaimJob.d.ts.map +1 -1
  49. package/build/entities/ClaimJob.js +4 -0
  50. package/build/entities/EscrowRoles.js +1 -1
  51. package/build/entities/GlobalTimelock.d.ts +0 -1
  52. package/build/entities/GlobalTimelock.d.ts.map +1 -1
  53. package/build/entities/GlobalTimelock.js +1 -5
  54. package/build/entities/RoleHash.js +1 -1
  55. package/build/entities/TokenExecutionThresholds.d.ts +0 -1
  56. package/build/entities/TokenExecutionThresholds.d.ts.map +1 -1
  57. package/build/entities/TokenExecutionThresholds.js +1 -5
  58. package/build/errors/errors.d.ts +33 -0
  59. package/build/errors/errors.d.ts.map +1 -1
  60. package/build/errors/errors.js +70 -2
  61. package/build/index.d.ts +6 -9
  62. package/build/index.d.ts.map +1 -1
  63. package/build/index.js +22 -11
  64. package/build/interfaces.d.ts +2 -2
  65. package/build/interfaces.d.ts.map +1 -1
  66. package/build/services/AlchemyService.d.ts +2 -1
  67. package/build/services/AlchemyService.d.ts.map +1 -1
  68. package/build/services/AlchemyService.js +8 -2
  69. package/build/services/AlchemyWebhooks.d.ts.map +1 -1
  70. package/build/services/AlchemyWebhooks.js +34 -29
  71. package/build/services/AzureEventHubHandler.d.ts.map +1 -1
  72. package/build/services/AzureEventHubHandler.js +17 -5
  73. package/build/services/ClaimJobService.d.ts +6 -2
  74. package/build/services/ClaimJobService.d.ts.map +1 -1
  75. package/build/services/ClaimJobService.js +155 -24
  76. package/build/services/db/roles/ContractRoles.d.ts +2 -2
  77. package/build/services/db/roles/ContractRoles.d.ts.map +1 -1
  78. package/build/services/db/roles/ContractRoles.js +18 -12
  79. package/build/services/types/azure_event_hub_handler.d.ts +9 -1
  80. package/build/services/types/azure_event_hub_handler.d.ts.map +1 -1
  81. package/build/services/types/azure_event_hub_handler.js +8 -0
  82. package/build/services/types/claim.d.ts +17 -1
  83. package/build/services/types/claim.d.ts.map +1 -1
  84. package/build/services/types/claim_job_service.d.ts +9 -1
  85. package/build/services/types/claim_job_service.d.ts.map +1 -1
  86. package/build/services/types/index.d.ts +1 -0
  87. package/build/services/types/index.d.ts.map +1 -1
  88. package/build/services/types/index.js +1 -0
  89. package/build/services/utils/alchemy.d.ts.map +1 -1
  90. package/build/services/utils/alchemy.js +6 -1
  91. package/build/utils/AsyncTTLCache.d.ts +2 -0
  92. package/build/utils/AsyncTTLCache.d.ts.map +1 -1
  93. package/build/utils/AsyncTTLCache.js +10 -2
  94. package/build/utils/custodial.d.ts +9 -0
  95. package/build/utils/custodial.d.ts.map +1 -1
  96. package/build/utils/custodial.js +32 -4
  97. package/package.json +6 -3
package/build/index.js CHANGED
@@ -40,8 +40,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
40
40
  return (mod && mod.__esModule) ? mod : { "default": mod };
41
41
  };
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.EscrowInteraction = exports.QnWebhookAddressManager = exports.SetupNotifications = exports.QnNotificationsApi = exports.QuicknodeWebhookSignature = exports.Worker = exports.WithdrawalManager = exports.WalletManagerHelper = exports.WalletManager = exports.WalletIndexService = exports.SweepHistoryService = exports.SweepJobService = exports.StorageService = exports.ProviderManager = exports.Provider = exports.TronFundingWallet = exports.TronCustodialWallet = exports.TronHotWallet = exports.TronHelper = exports.TronTransaction = exports.TronSigner = exports.TimerManager = exports.RpcLimiter = exports.RedisPubSub = exports.RedisListQueue = exports.RedisQueue = exports.Redis = exports.MemoryMonitor = exports.Logger = exports.KeyVaultHandler = exports.InvoiceQueue = exports.EscrowService = exports.EventsService = exports.EventsHandler = exports.ElasticSearch = exports.DepositAddressArchiveService = exports.DepositAddressService = exports.ClaimJobService = exports.ClaimHistoryService = exports.ContractRoles = exports.ChainManager = exports.BalanceService = exports.AlchemyWebhookSignature = exports.AlchemyWebhooks = exports.AlchemyWebhookAddressManager = exports.AlchemyService = exports.AccountingService = exports.AzureEventHubHandler = exports.AsyncTTLCache = exports.AsyncRateLimiter = void 0;
44
- exports.AppErrors = exports.EscrowIdl = exports.CoverageInfo = exports.EscrowEvents = exports.Erc20Events = exports.AccessControlEvents = exports.ERC20Abi = exports.ErrorAbi = exports.EscrowAbi = exports.ERC20MockAbi = exports.BaseErrors = exports.VoltageErrors = exports.AlchemyErrors = exports.WalletErrors = exports.DatabaseErrors = exports.BalanceErrors = exports.AdminErrors = exports.TransactionsErrors = void 0;
43
+ exports.Worker = exports.WithdrawalService = exports.WithdrawalManager = exports.WalletManagerHelper = exports.WalletManager = exports.WalletIndexService = exports.SweepHistoryService = exports.SweepJobService = exports.StorageService = exports.ProviderManager = exports.Provider = exports.ScheduleTransactionJobHistoryService = exports.ScheduleTransactionService = exports.TronFundingWallet = exports.TronCustodialWallet = exports.TronHotWallet = exports.TronHelper = exports.TronTransaction = exports.TronSigner = exports.TimerManager = exports.RpcLimiter = exports.RedisPubSub = exports.RedisListQueue = exports.RedisQueue = exports.Redis = exports.MultisigService = exports.MemoryMonitor = exports.Logger = exports.KeyVaultHandler = exports.InvoiceQueue = exports.EscrowService = exports.EventsService = exports.EventsHandler = exports.ElasticSearch = exports.DepositAddressArchiveService = exports.DepositAddressService = exports.ClaimJobServiceStatic = exports.ClaimJobService = exports.ClaimHistoryService = exports.ContractRoles = exports.ChainManager = exports.BalanceService = exports.AlchemyWebhookSignature = exports.AlchemyWebhooks = exports.AlchemyWebhookAddressManager = exports.AlchemyService = exports.AccountingService = exports.AzureEventHubHandler = exports.AsyncTTLCache = exports.AsyncRateLimiter = void 0;
44
+ exports.AppErrors = exports.EscrowIdl = exports.CoverageInfo = exports.EscrowEvents = exports.Erc20Events = exports.AccessControlEvents = exports.ERC20Abi = exports.ErrorAbi = exports.EscrowAbi = exports.ERC20MockAbi = exports.BaseErrors = exports.VoltageErrors = exports.AlchemyErrors = exports.WalletErrors = exports.DatabaseErrors = exports.BalanceErrors = exports.AdminErrors = exports.TransactionsErrors = exports.EscrowInteraction = exports.QnWebhookAddressManager = exports.SetupNotifications = exports.QnNotificationsApi = exports.QuicknodeWebhookSignature = void 0;
45
45
  // Services
46
46
  var AsyncRateLimiter_1 = require("./utils/AsyncRateLimiter");
47
47
  Object.defineProperty(exports, "AsyncRateLimiter", { enumerable: true, get: function () { return __importDefault(AsyncRateLimiter_1).default; } });
@@ -69,6 +69,8 @@ var ClaimHistoryService_1 = require("./services/ClaimHistoryService");
69
69
  Object.defineProperty(exports, "ClaimHistoryService", { enumerable: true, get: function () { return __importDefault(ClaimHistoryService_1).default; } });
70
70
  var ClaimJobService_1 = require("./services/ClaimJobService");
71
71
  Object.defineProperty(exports, "ClaimJobService", { enumerable: true, get: function () { return __importDefault(ClaimJobService_1).default; } });
72
+ var ClaimJobServiceStatic_1 = require("./services/ClaimJobServiceStatic");
73
+ Object.defineProperty(exports, "ClaimJobServiceStatic", { enumerable: true, get: function () { return __importDefault(ClaimJobServiceStatic_1).default; } });
72
74
  var DepositAddressService_1 = require("./services/DepositAddressService");
73
75
  Object.defineProperty(exports, "DepositAddressService", { enumerable: true, get: function () { return __importDefault(DepositAddressService_1).default; } });
74
76
  var DepositAddressArchiveService_1 = require("./services/DepositAddressArchiveService");
@@ -88,6 +90,8 @@ var Logger_1 = require("./utils/Logger");
88
90
  Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return __importDefault(Logger_1).default; } });
89
91
  var MemoryMonitor_1 = require("./utils/MemoryMonitor");
90
92
  Object.defineProperty(exports, "MemoryMonitor", { enumerable: true, get: function () { return __importDefault(MemoryMonitor_1).default; } });
93
+ var MultisigService_1 = require("./services/db/multisig/MultisigService");
94
+ Object.defineProperty(exports, "MultisigService", { enumerable: true, get: function () { return __importDefault(MultisigService_1).default; } });
91
95
  var Redis_1 = require("./services/Redis");
92
96
  Object.defineProperty(exports, "Redis", { enumerable: true, get: function () { return __importDefault(Redis_1).default; } });
93
97
  var RedisQueue_1 = require("./services/RedisQueue");
@@ -112,6 +116,10 @@ var TronCustodialWallet_1 = require("./services/tron/services/TronCustodialWalle
112
116
  Object.defineProperty(exports, "TronCustodialWallet", { enumerable: true, get: function () { return __importDefault(TronCustodialWallet_1).default; } });
113
117
  var TronFundingWallet_1 = require("./services/tron/services/TronFundingWallet");
114
118
  Object.defineProperty(exports, "TronFundingWallet", { enumerable: true, get: function () { return __importDefault(TronFundingWallet_1).default; } });
119
+ var ScheduleTransactionService_1 = require("./services/db/timelock/ScheduleTransactionService");
120
+ Object.defineProperty(exports, "ScheduleTransactionService", { enumerable: true, get: function () { return __importDefault(ScheduleTransactionService_1).default; } });
121
+ var ScheduleTransactionJobHistoryService_1 = require("./services/db/timelock/ScheduleTransactionJobHistoryService");
122
+ Object.defineProperty(exports, "ScheduleTransactionJobHistoryService", { enumerable: true, get: function () { return __importDefault(ScheduleTransactionJobHistoryService_1).default; } });
115
123
  var Provider_1 = require("./chains/Provider");
116
124
  Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return __importDefault(Provider_1).default; } });
117
125
  var ProviderManager_1 = require("./services/ProviderManager");
@@ -130,6 +138,8 @@ var WalletManagerHelper_1 = require("./services/WalletManagerHelper");
130
138
  Object.defineProperty(exports, "WalletManagerHelper", { enumerable: true, get: function () { return __importDefault(WalletManagerHelper_1).default; } });
131
139
  var WithdrawalManager_1 = require("./services/WithdrawalManager");
132
140
  Object.defineProperty(exports, "WithdrawalManager", { enumerable: true, get: function () { return __importDefault(WithdrawalManager_1).default; } });
141
+ var WithdrawalService_1 = require("./services/WithdrawalService");
142
+ Object.defineProperty(exports, "WithdrawalService", { enumerable: true, get: function () { return __importDefault(WithdrawalService_1).default; } });
133
143
  var Worker_1 = require("./services/Worker");
134
144
  Object.defineProperty(exports, "Worker", { enumerable: true, get: function () { return __importDefault(Worker_1).default; } });
135
145
  var QuicknodeWebhookSignature_1 = require("./services/QuicknodeWebhookSignature");
@@ -158,15 +168,16 @@ __exportStar(require("./services/utils/alchemy"), exports);
158
168
  // Constants
159
169
  __exportStar(require("./constants"), exports);
160
170
  // Entities (TypeORM)
161
- __exportStar(require("./entities/Checkpoint"), exports);
162
- __exportStar(require("./entities/ClaimHistory"), exports);
163
- __exportStar(require("./entities/ClaimJob"), exports);
164
- __exportStar(require("./entities/DepositAddress"), exports);
165
- __exportStar(require("./entities/DepositAddressArchive"), exports);
166
- __exportStar(require("./entities/DepositWalletBalance"), exports);
167
- __exportStar(require("./entities/SweepHistory"), exports);
168
- __exportStar(require("./entities/SweepJob"), exports);
169
- __exportStar(require("./entities/WalletIndex"), exports);
171
+ // export * from './entities/Checkpoint';
172
+ // export * from './entities/ClaimHistory';
173
+ // export * from './entities/ClaimJob';
174
+ // export * from './entities/DepositAddress';
175
+ // export * from './entities/DepositAddressArchive';
176
+ // export * from './entities/DepositWalletBalance';
177
+ // export * from './entities/SweepHistory';
178
+ // export * from './entities/SweepJob';
179
+ // export * from './entities/WalletIndex';
180
+ __exportStar(require("./entities/index"), exports);
170
181
  // Contracts (type-safe wrappers and artifacts)
171
182
  __exportStar(require("./contracts/deployment/config"), exports);
172
183
  var Escrow_1 = require("./contracts/Escrow");
@@ -223,8 +223,8 @@ export interface Networkish {
223
223
  url: string;
224
224
  currency: string;
225
225
  }
226
- export type ContractEventNames = "Deposit" | "RoleAdminChanged" | "RoleGranted" | "RoleRevoked" | "TokenAdded" | "TokenRemoved" | "Withdrawal" | "LowReserves" | "LowReserves" | "CoverageInfo" | "TransferLogsRaw";
227
- export type EventHubNames = "deposits" | "withdrawals" | "eventsstream" | "roles";
226
+ export type ContractEventNames = "Deposit" | "RoleAdminChanged" | "RoleGranted" | "RoleRevoked" | "TokenAdded" | "TokenRemoved" | "Withdrawal" | "LowReserves" | "LowReserves" | "CoverageInfo" | "TransferLogsRaw" | "SetTokenTimelock" | "SetTimelockGranular" | "ConfigureTokenMultisig" | "ConfigureAdminMultisig" | "WithdrawalCancelled" | "WithdrawalScheduled" | "WithdrawalExecuted" | "AdminWithdraw";
227
+ export type EventHubNames = "deposits" | "withdrawals" | "eventsstream" | "roles" | "rawtransferlogs";
228
228
  export type ChainInfo = {
229
229
  [chainName: string]: Chain;
230
230
  };
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACtL,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC;AAE7E,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC;IAEjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAE3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;CACnC;AAGD,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAA;CACjB;AAmBD,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,YAAY,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAGD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,YAAY,CAAC;AAElD,MAAM,MAAM,MAAM,GAAG;KAChB,CAAC,IAAI,OAAO,GAAG,aAAa;CAChC,CAAA;AAED,oBAAY,aAAa;IACrB,GAAG,WAAW;IACd,GAAG,QAAQ;IACX,GAAG,WAAW;IACd,IAAI,UAAU;IACd,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,IAAI,QAAQ;CACf;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,YAAY,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,aAAa,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kCAAkC,EAAE,MAAM,CAAC;IAC3C,2BAA2B,EAAE,MAAM,CAAC;IACpC,+BAA+B,EAAE,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,GAAG,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,YAAY,GAAG,yBAAyB,CAAC;AACrD,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAC3D,MAAM,WAAW,aAAa;IAC1B,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B;IACvC,CAAC,YAAY,EAAE,MAAM,GAAG,uBAAuB,CAAC;CACnD;AAED,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,GAAG,CAAA;CACX;AAGD,MAAM,WAAW,YAAY;IACzB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAAA;CACtC;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,sBAAsB,CAAC;IACnC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,EAAE,6BAA6B,EAAE,CAAC;IAC1D,2BAA2B,EAAE,2BAA2B,EAAE,CAAC;IAC3D,gBAAgB,EAAE,qBAAqB,EAAE,CAAA;IACzC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;CAC1B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;CACjC,CAAA;AACD,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,MAAM,kBAAkB,GACxB,SAAS,GACT,kBAAkB,GAClB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,aAAa,GACb,aAAa,GACb,cAAc,GACd,iBAAiB,CAAC;AAExB,MAAM,MAAM,aAAa,GACnB,UAAU,GACV,aAAa,GACb,cAAc,GACd,OAAO,CAAA;AA6Db,MAAM,MAAM,SAAS,GAAG;IACpB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;CAC9B,CAAA;AAED,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AAaD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,UAAU,GAClB,OAAO,GACP,UAAU,GACV,IAAI,GACJ,MAAM,GACN,OAAO,GACP,QAAQ,CAAC;AAGb,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,gBAAgB,GAChB,UAAU,GACV,KAAK,GACL,QAAQ,GACR,WAAW,GACX,UAAU,GACV,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,gBAAgB,GAChB,UAAU,GACV,KAAK,GACL,QAAQ,GACR,WAAW,GACX,UAAU,CAAC;AAIf,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,UAAU,CAAC;IACpB,cAAc,EAAE,UAAU,CAAC;IAC3B,QAAQ,EAAE,UAAU,CAAC;IACrB,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,UAAU,CAAC;IACrB,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,UAAU,CAAA;IACrD,MAAM,EAAE,MAAM;QACV,OAAO,EAAE,UAAU,CAAC;QACpB,QAAQ,EAAE,UAAU,CAAC;QACrB,GAAG,EAAE,UAAU,CAAC;QAChB,MAAM,EAAE,UAAU,CAAC;QACnB,SAAS,EAAE,UAAU,CAAC;QACtB,QAAQ,EAAE,UAAU,CAAC;KACxB,CAAA;CACJ;AAGD,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,QAAQ,CAAC;IAClB,wBAAwB,EAAE,QAAQ,CAAC;IACnC,8BAA8B,EAAE,QAAQ,CAAC;IACzC,uBAAuB,EAAE,QAAQ,CAAC;IAClC,4BAA4B,EAAE,QAAQ,CAAC;IACvC,8BAA8B,EAAE,QAAQ,CAAC;IACzC,cAAc,EAAE,QAAQ,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,YAAY,GACpB,QAAQ,GAAG,OAAO,CAAC;AAGvB,MAAM,MAAM,cAAc,GAAG;KACxB,GAAG,IAAI,YAAY,GAAG,GAAG;CAC7B,CAAA;AAED,MAAM,WAAW,UAAU;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC;CAEpG;AAED,MAAM,WAAW,WAAW;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,cAAc,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,YAAY,CAAC;CACnD;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,EAAE,CAAC;CACjB;AAGD,MAAM,WAAW,eAAe;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -16,11 +16,12 @@ declare class AlchemyService {
16
16
  private errors;
17
17
  private logger;
18
18
  private webhook_cache;
19
- constructor(config: IConfig);
19
+ private constructor();
20
20
  private access_token;
21
21
  static getInstance(config: IConfig): AlchemyService;
22
22
  get_all_webhooks: (env: AlchemyWebhookEnvironment) => Promise<WebhookData[]>;
23
23
  get_all_addresses_for_webhook: (env: AlchemyWebhookEnvironment, payload: GetAddressesForWebhookPayload) => Promise<GetAddressesForWebhookResponse>;
24
+ invalidate_webhook_cache(env: AlchemyWebhookEnvironment): void;
24
25
  add_remove_addresses_all_webhooks: (subscription: AlchemyWebhookEnvironment, blockchain: BlockchainType, addresses_to_add: string[], addresses_to_remove: string[]) => Promise<{
25
26
  success: PromiseWebhookUpdateDataResult[];
26
27
  failed: PromiseWebhookUpdateDataResult[];
@@ -1 +1 @@
1
- {"version":3,"file":"AlchemyService.d.ts","sourceRoot":"","sources":["../../src/services/AlchemyService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EACH,yBAAyB,EAEzB,yBAAyB,EACzB,oBAAoB,EAEpB,oBAAoB,EACpB,6BAA6B,EAC7B,8BAA8B,EAI9B,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,WAAW,EACd,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAc/C,UAAU,kBAAkB;IACxB,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAOD,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,cAAM,cAAc;IAChB,OAAc,QAAQ,EAAE,cAAc,CAAC;IACvC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAuC;gBAEhD,MAAM,EAAE,OAAO;IAO3B,OAAO,CAAC,YAAY,CAGlB;WAGY,WAAW,CAAC,MAAM,EAAE,OAAO;IAOlC,gBAAgB,GAAU,KAAK,yBAAyB,KAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CASvF;IAEM,6BAA6B,GAAU,KAAK,yBAAyB,EAAE,SAAS,6BAA6B,KAAG,OAAO,CAAC,8BAA8B,CAAC,CAO7J;IAEM,iCAAiC,GAAU,cAAc,yBAAyB,EAAE,YAAY,cAAc,EAAE,kBAAkB,MAAM,EAAE,EAAE,qBAAqB,MAAM,EAAE;;;;OA+C/K;IAIM,wBAAwB,GAAU,cAAc,yBAAyB,EAAE,kBAAkB,MAAM,EAAE,EAAE,qBAAqB,MAAM,EAAE,sBAmC1I;IAGM,aAAa,GAAU,KAAK,yBAAyB,EAAE,SAAS,OAAO,EAAE,cAAc,WAAW,EAAE,mCAqB1G;IAEY,mBAAmB,CAAC,YAAY,EAAE,yBAAyB;;;;;;;;;IAsBjE,cAAc,GAAU,cAAc,yBAAyB,EAAE,SAAS,oBAAoB,KAAG,OAAO,CAAC,WAAW,CAAC,CAc3H;IAEM,iBAAiB,GAAU,cAAc,yBAAyB,EAAE,SAAS,uBAAuB,KAAG,OAAO,CAAC,OAAO,CAAC,CAK7H;IAEM,oBAAoB,GAAU,cAAc,yBAAyB,EAAE,SAAS,yBAAyB,KAAG,OAAO,CAAC,OAAO,CAAC,CAIlI;IACM,qBAAqB,GAAU,cAAc,yBAAyB,EAAE,SAAS,0BAA0B,KAAG,OAAO,CAAC,WAAW,CAAC,CAKxI;IACM,cAAc,GAAU,cAAc,yBAAyB,EAAE,SAAS,oBAAoB,KAAG,OAAO,CAAC,OAAO,CAAC,CAKvH;IACD,OAAO,CAAC,IAAI,CA+CX;CACJ;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"AlchemyService.d.ts","sourceRoot":"","sources":["../../src/services/AlchemyService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EACH,yBAAyB,EAEzB,yBAAyB,EACzB,oBAAoB,EAEpB,oBAAoB,EACpB,6BAA6B,EAC7B,8BAA8B,EAI9B,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,WAAW,EACd,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAc/C,UAAU,kBAAkB;IACxB,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAOD,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,cAAM,cAAc;IAChB,OAAc,QAAQ,EAAE,cAAc,CAAC;IACvC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAuC;IAE5D,OAAO;IAOP,OAAO,CAAC,YAAY,CAGlB;WAGY,WAAW,CAAC,MAAM,EAAE,OAAO;IAOlC,gBAAgB,GAAU,KAAK,yBAAyB,KAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CASvF;IAEM,6BAA6B,GAAU,KAAK,yBAAyB,EAAE,SAAS,6BAA6B,KAAG,OAAO,CAAC,8BAA8B,CAAC,CAO7J;IAEM,wBAAwB,CAAC,GAAG,EAAE,yBAAyB,GAAG,IAAI;IAI9D,iCAAiC,GAAU,cAAc,yBAAyB,EAAE,YAAY,cAAc,EAAE,kBAAkB,MAAM,EAAE,EAAE,qBAAqB,MAAM,EAAE;;;;OAkD/K;IAIM,wBAAwB,GAAU,cAAc,yBAAyB,EAAE,kBAAkB,MAAM,EAAE,EAAE,qBAAqB,MAAM,EAAE,sBAmC1I;IAGM,aAAa,GAAU,KAAK,yBAAyB,EAAE,SAAS,OAAO,EAAE,cAAc,WAAW,EAAE,mCAqB1G;IAEY,mBAAmB,CAAC,YAAY,EAAE,yBAAyB;;;;;;;;;IAsBjE,cAAc,GAAU,cAAc,yBAAyB,EAAE,SAAS,oBAAoB,KAAG,OAAO,CAAC,WAAW,CAAC,CAc3H;IAEM,iBAAiB,GAAU,cAAc,yBAAyB,EAAE,SAAS,uBAAuB,KAAG,OAAO,CAAC,OAAO,CAAC,CAK7H;IAEM,oBAAoB,GAAU,cAAc,yBAAyB,EAAE,SAAS,yBAAyB,KAAG,OAAO,CAAC,OAAO,CAAC,CAIlI;IACM,qBAAqB,GAAU,cAAc,yBAAyB,EAAE,SAAS,0BAA0B,KAAG,OAAO,CAAC,WAAW,CAAC,CAKxI;IACM,cAAc,GAAU,cAAc,yBAAyB,EAAE,SAAS,oBAAoB,KAAG,OAAO,CAAC,OAAO,CAAC,CAKvH;IACD,OAAO,CAAC,IAAI,CA+CX;CACJ;AAED,eAAe,cAAc,CAAC"}
@@ -45,12 +45,15 @@ class AlchemyService {
45
45
  });
46
46
  this.add_remove_addresses_all_webhooks = (subscription, blockchain, addresses_to_add, addresses_to_remove) => __awaiter(this, void 0, void 0, function* () {
47
47
  this.logger.info(`Adding ${addresses_to_add.length} and removing ${addresses_to_remove.length} addresses from ${blockchain} webhook`);
48
- const all_webhooks = (yield this.get_all_webhooks(subscription)).filter((result) => (0, alchemy_1.get_blockchain_type)(result.network) === blockchain);
48
+ const all = (yield this.get_all_webhooks(subscription));
49
+ const all_webhooks = all.filter((result) => {
50
+ const bc = (0, alchemy_1.get_blockchain_type)(result.network);
51
+ return bc === blockchain;
52
+ });
49
53
  if (!all_webhooks) {
50
54
  throw new Error(this.errors.NoWebhooks(subscription));
51
55
  }
52
56
  this.logger.info(`${all_webhooks.length} webhooks available in subscription: ${subscription}`);
53
- // const address_activity_webhooks = all_webhooks.filter(w => w.webhook_type === "ADDRESS_ACTIVITY" && w.webhook_url.includes(`${subscription}/address-activity`))
54
57
  const address_activity_webhooks = all_webhooks.filter(w => w.webhook_type === "ADDRESS_ACTIVITY" && w.webhook_url.includes(`address-activity`) && w.webhook_url.includes(subscription));
55
58
  this.logger.info(`Found ${address_activity_webhooks.length} ADDRESS_ACTIVITY webhooks`);
56
59
  this.logger.info(`ADDRESS_ACTIVITY webhooks`, { address_activity_webhooks });
@@ -222,6 +225,9 @@ class AlchemyService {
222
225
  }
223
226
  return this.instance;
224
227
  }
228
+ invalidate_webhook_cache(env) {
229
+ this.webhook_cache.invalidate(`webhooks_${env}`);
230
+ }
225
231
  delete_all_webhooks(subscription) {
226
232
  return __awaiter(this, void 0, void 0, function* () {
227
233
  const all_webhooks = yield this.get_all_webhooks(subscription);
@@ -1 +1 @@
1
- {"version":3,"file":"AlchemyWebhooks.d.ts","sourceRoot":"","sources":["../../src/services/AlchemyWebhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAS,OAAO,EAAE,MAAM,eAAe,CAAC;AAK/D,OAAO,EAA6B,yBAAyB,EAAE,qBAAqB,EAAE,kBAAkB,EAAqC,MAAM,iBAAiB,CAAC;AACrK,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAOvD,KAAK,eAAe,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC7C,MAAM,WAAW,4BAA4B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAQD,UAAU,aAAa;IACnB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;CAC3B;AAGD,cAAM,eAAe;IACjB,OAAc,QAAQ,EAAE,eAAe,CAAC;IACxC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,MAAM,CAAgB;IACvB,qBAAqB,EAAE,CAAC,GAAG,EAAE,yBAAyB,EAAE,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC5F,iBAAiB,EAAE,CAAC,GAAG,EAAE,yBAAyB,KAAK,MAAM,CAAC;IACrE,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IAgBlD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IAQlD,UAAU,GAAU,MAAM,yBAAyB,EAAE,cAAc,MAAM,EAAE,WAAW,qBAAqB,EAAE;;;;;;;OAoDnH;IAEM,2CAA2C,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,EAAE,yBAAyB;IAYjH,OAAO,CAAC,cAAc,CAmHrB;IAED,OAAO,CAAC,eAAe,CAiEtB;IAGM,iCAAiC,GAAI,KAAK,yBAAyB;;;;;;;QAIzE;IAIM,sCAAsC,GAAI,KAAK,yBAAyB;;;;;;;QAO9E;IAGY,8BAA8B,CAAC,YAAY,EAAE,yBAAyB;;wBAcR,cAAc;oBAAU,OAAO;mBAAS,MAAM;;;wBAA9C,cAAc;oBAAU,OAAO;mBAAS,MAAM;;;wBAA9C,cAAc;oBAAU,OAAO;mBAAS,MAAM;;;;IAgB5G,8BAA8B,CAAC,GAAG,EAAE,yBAAyB,EAAE,UAAU,EAAE,cAAc;;;;;;;;;CAyEzG;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"AlchemyWebhooks.d.ts","sourceRoot":"","sources":["../../src/services/AlchemyWebhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAS,OAAO,EAAE,MAAM,eAAe,CAAC;AAK/D,OAAO,EAA6B,yBAAyB,EAAE,qBAAqB,EAAE,kBAAkB,EAAqC,MAAM,iBAAiB,CAAC;AACrK,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAOvD,KAAK,eAAe,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC7C,MAAM,WAAW,4BAA4B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAQD,UAAU,aAAa;IACnB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;CAC3B;AAGD,cAAM,eAAe;IACjB,OAAc,QAAQ,EAAE,eAAe,CAAC;IACxC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,MAAM,CAAgB;IACvB,qBAAqB,EAAE,CAAC,GAAG,EAAE,yBAAyB,EAAE,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC5F,iBAAiB,EAAE,CAAC,GAAG,EAAE,yBAAyB,KAAK,MAAM,CAAC;IACrE,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IAgBlD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IAQlD,UAAU,GAAU,MAAM,yBAAyB,EAAE,cAAc,MAAM,EAAE,WAAW,qBAAqB,EAAE;;;;;;;OAuDnH;IAEM,2CAA2C,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,EAAE,yBAAyB;IAYjH,OAAO,CAAC,cAAc,CAmHrB;IAED,OAAO,CAAC,eAAe,CAiEtB;IAGM,iCAAiC,GAAI,KAAK,yBAAyB;;;;;;;QAIzE;IAIM,sCAAsC,GAAI,KAAK,yBAAyB;;;;;;;QAO9E;IAGY,8BAA8B,CAAC,YAAY,EAAE,yBAAyB;;wBAcR,cAAc;oBAAU,OAAO;mBAAS,MAAM;;;wBAA9C,cAAc;oBAAU,OAAO;mBAAS,MAAM;;;wBAA9C,cAAc;oBAAU,OAAO;mBAAS,MAAM;;;;IAgB5G,8BAA8B,CAAC,GAAG,EAAE,yBAAyB,EAAE,UAAU,EAAE,cAAc;;;;;;;;;CA4EzG;AAED,eAAe,eAAe,CAAC"}
@@ -61,41 +61,45 @@ class AlchemyWebhooks {
61
61
  env = "prod";
62
62
  const report = yield this.validate_setup(env);
63
63
  let new_webhooks = [];
64
- // create missing webhook
65
- if (report.failed.length) {
66
- this.logger.info(`Creating ${report.failed.length} missing ADDRESS_ACTIVITY webhooks`);
67
- const is_created = yield this.create_webhooks(env, report.failed, server_host);
68
- if (is_created.length > 0) {
69
- new_webhooks.push(...is_created);
70
- this.logger.info(`Successfully created ${report.failed.length} missing ADDRESS_ACTIVITY webhooks.`);
71
- }
72
- }
73
- // // Create missing graphql webhooks
74
- if (report.failed_graphql.length) {
75
- this.logger.info(`Creating ${report.failed_graphql.length} missing GRAPHQL webhooks`);
76
- const is_created = yield this.create_webhooks(env, report.failed_graphql, server_host);
77
- if (is_created.length > 0) {
78
- new_webhooks.push(...is_created);
79
- this.logger.info(`Successfully created ${report.failed.length} missing GRAPHQL webhooks.`);
80
- }
81
- }
82
- if (this.config.config.useTunnel) {
83
- this.logger.info(`Validating local setup.`);
84
- const report_dev = yield this.validate_setup("local");
85
- if (report_dev.failed.length) {
86
- this.logger.info(`LOCAL: Creating ${report_dev.failed.length} missing ADDRESS_ACTIVITY webhooks`);
87
- const is_created = yield this.create_webhooks("local", report_dev.failed);
64
+ if (env === 'prod') {
65
+ // create missing webhook
66
+ if (report.failed.length) {
67
+ this.logger.info(`Creating ${report.failed.length} missing ADDRESS_ACTIVITY webhooks`);
68
+ const is_created = yield this.create_webhooks(env, report.failed, server_host);
88
69
  if (is_created.length > 0) {
89
70
  new_webhooks.push(...is_created);
90
- this.logger.info(`LOCAL: Successfully created ${report_dev.failed.length} missing ADDRESS_ACTIVITY webhooks.`);
71
+ this.logger.info(`Successfully created ${report.failed.length} missing ADDRESS_ACTIVITY webhooks.`);
91
72
  }
92
73
  }
93
- if (report_dev.failed_graphql.length) {
94
- this.logger.info(`LOCAL: Creating ${report_dev.failed_graphql.length} missing GRAPHQL webhooks`);
95
- const is_created = yield this.create_webhooks("local", report_dev.failed_graphql);
74
+ // // Create missing graphql webhooks
75
+ if (report.failed_graphql.length) {
76
+ this.logger.info(`Creating ${report.failed_graphql.length} missing GRAPHQL webhooks`);
77
+ const is_created = yield this.create_webhooks(env, report.failed_graphql, server_host);
96
78
  if (is_created.length > 0) {
97
79
  new_webhooks.push(...is_created);
98
- this.logger.info(`LOCLA: Successfully created ${report_dev.failed_graphql.length} missing GRAPHQL webhooks.`);
80
+ this.logger.info(`Successfully created ${report.failed.length} missing GRAPHQL webhooks.`);
81
+ }
82
+ }
83
+ }
84
+ else {
85
+ if (this.config.config.useTunnel) {
86
+ this.logger.info(`Validating local setup.`);
87
+ // const report_dev = await this.validate_setup("local");
88
+ if (report.failed.length) {
89
+ this.logger.info(`LOCAL: Creating ${report.failed.length} missing ADDRESS_ACTIVITY webhooks`);
90
+ const is_created = yield this.create_webhooks("local", report.failed);
91
+ if (is_created.length > 0) {
92
+ new_webhooks.push(...is_created);
93
+ this.logger.info(`LOCAL: Successfully created ${report.failed.length} missing ADDRESS_ACTIVITY webhooks.`);
94
+ }
95
+ }
96
+ if (report.failed_graphql.length) {
97
+ this.logger.info(`LOCAL: Creating ${report.failed_graphql.length} missing GRAPHQL webhooks`);
98
+ const is_created = yield this.create_webhooks("local", report.failed_graphql);
99
+ if (is_created.length > 0) {
100
+ new_webhooks.push(...is_created);
101
+ this.logger.info(`LOCLA: Successfully created ${report.failed_graphql.length} missing GRAPHQL webhooks.`);
102
+ }
99
103
  }
100
104
  }
101
105
  }
@@ -347,6 +351,7 @@ class AlchemyWebhooks {
347
351
  }
348
352
  });
349
353
  const alchemy_service = AlchemyService_1.default.getInstance(this.config);
354
+ alchemy_service.invalidate_webhook_cache(env);
350
355
  const all_webhooks = (yield alchemy_service.get_all_webhooks(env)).filter((result) => (0, alchemy_1.get_blockchain_type)(result.network) === blockchain);
351
356
  if (!all_webhooks) {
352
357
  throw new Error(this.errors.NoWebhooks(env));
@@ -1 +1 @@
1
- {"version":3,"file":"AzureEventHubHandler.d.ts","sourceRoot":"","sources":["../../src/services/AzureEventHubHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI3C,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAC9B,eAAe,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACrC,OAAO,CAAC,MAAM,CAAU;IACjB,4BAA4B,EAAE,aAAa,EAAE,CAAC;IAC9C,4BAA4B,EAAE,MAAM,CAAC,MAAM,gBAAgB,EAAE,aAAa,CAAC,CAAC;IACnF,OAAO,CAAC,MAAM,CAAS;gBAGX,OAAO,EAAE,OAAO;IAiC5B,OAAO,CAAC,yBAAyB;IAajC,gBAAgB;;;;IAchB;;;;OAIG;IACG,SAAS,CAAC,SAAS,EAAE,UAAU;IAwC/B,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,sBAAsB;IAwB7E;;;;;OAKG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,gBAAgB;CAU5D"}
1
+ {"version":3,"file":"AzureEventHubHandler.d.ts","sourceRoot":"","sources":["../../src/services/AzureEventHubHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAsB,MAAM,SAAS,CAAC;AAI/D,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAC9B,eAAe,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACrC,OAAO,CAAC,MAAM,CAAU;IACjB,4BAA4B,EAAE,aAAa,EAAE,CAAC;IAC9C,4BAA4B,EAAE,MAAM,CAAC,MAAM,gBAAgB,EAAE,aAAa,CAAC,CAAC;IACnF,OAAO,CAAC,MAAM,CAAS;gBAGX,OAAO,EAAE,OAAO;IAyC5B,OAAO,CAAC,yBAAyB;IAajC,gBAAgB;;;;IAchB;;;;OAIG;IACG,SAAS,CAAC,SAAS,EAAE,UAAU;IAwC/B,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,sBAAsB;IAwB7E;;;;;OAKG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,gBAAgB;CAe5D"}
@@ -32,9 +32,17 @@ class AzureEventHubHandler {
32
32
  Withdrawal: this.config.config.withdrawalEventHubName,
33
33
  LowReserves: 'eventsstream',
34
34
  CoverageInfo: 'eventsstream',
35
- RoleGranted: this.config.config.rolesEventHubName,
36
- RoleRevoked: this.config.config.rolesEventHubName,
35
+ RoleGranted: 'rawtransferlogs',
36
+ RoleRevoked: 'rawtransferlogs',
37
37
  TransferLogsRaw: this.config.config.transferLogsRawEventHubName,
38
+ WithdrawalExecuted: 'rawtransferlogs',
39
+ WithdrawalScheduled: 'rawtransferlogs',
40
+ WithdrawalCancelled: 'rawtransferlogs',
41
+ SetTimelockGranular: 'rawtransferlogs',
42
+ SetTokenTimelock: 'rawtransferlogs',
43
+ ConfigureAdminMultisig: 'rawtransferlogs',
44
+ ConfigureTokenMultisig: 'rawtransferlogs',
45
+ AdminWithdraw: 'rawtransferlogs'
38
46
  };
39
47
  this.logger = (0, Logger_1.createLogger)("AzureEventHubHandler", this.config.pipelineConfig.azureAppName);
40
48
  this.initializeEventHubClients();
@@ -69,10 +77,10 @@ class AzureEventHubHandler {
69
77
  */
70
78
  sendEvent(eventData) {
71
79
  return __awaiter(this, void 0, void 0, function* () {
72
- const eventHubName = this.event_name_to_event_hub_name[eventData.eventName];
80
+ let eventHubName = this.event_name_to_event_hub_name[eventData.eventName];
73
81
  if (!eventHubName) {
74
- this.logger.info(`[AzureEventHubHandler]: Event hub name not found for ${eventData.eventName} event. Skipping...`);
75
- return false;
82
+ this.logger.info(`[AzureEventHubHandler]: Event hub name not found for ${eventData.eventName} event. Using 'rawtransferlogs'`);
83
+ eventHubName = this.config.config.transferLogsRawEventHubName ? this.config.config.transferLogsRawEventHubName : 'rawtransferlogs';
76
84
  }
77
85
  const clientDefault = new event_hubs_1.EventHubProducerClient(this.config.config.azureConnectionStringNotifications, eventHubName, { retryOptions: { retryDelayInMs: 10000 } });
78
86
  const eventDataBatch = yield clientDefault.createBatch();
@@ -127,6 +135,10 @@ class AzureEventHubHandler {
127
135
  getEventHubClient(eventName) {
128
136
  return __awaiter(this, void 0, void 0, function* () {
129
137
  try {
138
+ // Fallback to rawtransferlogs if event name is not mapped to a event hub client
139
+ if (!this.event_name_to_event_hub_name[eventName]) {
140
+ return this.eventHubClients.get(this.config.config.transferLogsRawEventHubName || 'rawtransferlogs');
141
+ }
130
142
  return this.eventHubClients.get(this.event_name_to_event_hub_name[eventName]);
131
143
  }
132
144
  catch (error) {
@@ -2,7 +2,7 @@ import { ClaimJobs } from "../entities/ClaimJob";
2
2
  import { JobStatus } from "./types/claim";
3
3
  import { ChainId } from "../interfaces";
4
4
  import { IDatabasePool } from "../interfaces/database";
5
- import { ClaimJobLockMetadata, ClaimSearchFilters, CreateClaimJobsPayload, MarkCompletePayload, Paginated } from "./types/claim_job_service";
5
+ import { ClaimJobLockMetadata, ClaimJobWithDetails, ClaimSearchFilters, CreateClaimJobsPayload, MarkCompletePayload, Paginated } from "./types/claim_job_service";
6
6
  declare class ClaimJobsService {
7
7
  private dbPool;
8
8
  private errors;
@@ -12,7 +12,10 @@ declare class ClaimJobsService {
12
12
  private get_repo;
13
13
  private get_history_repo;
14
14
  private paginate;
15
- get_available_jobs: (limit?: number, job_ttl_s?: number, lock_metadata?: ClaimJobLockMetadata) => Promise<ClaimJobs[]>;
15
+ get_available_jobs_no_timelock_deprecated: (limit?: number, job_ttl_s?: number, max_retry_count?: number, lock_metadata?: ClaimJobLockMetadata) => Promise<ClaimJobWithDetails[]>;
16
+ get_available_jobs_no_timelock: (limit?: number, job_ttl_s?: number, max_retry_count?: number, lock_metadata?: ClaimJobLockMetadata) => Promise<ClaimJobWithDetails[]>;
17
+ get_available_jobs_with_timelock_deprecated: (limit?: number, job_ttl_s?: number, max_retry_count?: number, lock_metadata?: ClaimJobLockMetadata) => Promise<ClaimJobWithDetails[]>;
18
+ get_available_jobs_with_timelock: (limit?: number, job_ttl_s?: number, max_retry_count?: number, lock_metadata?: ClaimJobLockMetadata) => Promise<ClaimJobWithDetails[]>;
16
19
  requeue_expired_jobs: (current_status: JobStatus, ttl_seconds: number, limit: number, lock_owner: string, lock_reason: string, max_retries: number) => Promise<ClaimJobs[]>;
17
20
  get_stale_jobs: (status: JobStatus, stale_time_mins: number, ttl_mins: number, lock_owner: string, lock_reason: string, limit?: number) => Promise<ClaimJobs[]>;
18
21
  get_stale_jobs_deprecated: (status: JobStatus, stale_time_mins: number, limit?: number) => Promise<ClaimJobs[]>;
@@ -36,6 +39,7 @@ declare class ClaimJobsService {
36
39
  tx_hash: string;
37
40
  sent_at: Date;
38
41
  }[]) => Promise<void>;
42
+ batch_update_failed_jobs_with_error: (jobs: ClaimJobs[], retryable: boolean) => Promise<void>;
39
43
  get_queued_count: (blockchain: "solana" | "evm", chain_id: ChainId) => Promise<number>;
40
44
  get_next_queued_jobs: (blockchain: "solana" | "evm" | "tron", chain_id: ChainId, limit?: number) => Promise<ClaimJobs[]>;
41
45
  reset_retry_count: (request_ids: number[]) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ClaimJobService.d.ts","sourceRoot":"","sources":["../../src/services/ClaimJobService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClaimJobService.d.ts","sourceRoot":"","sources":["../../src/services/ClaimJobService.ts"],"names":[],"mappings":"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"}
@@ -55,41 +55,151 @@ class ClaimJobsService {
55
55
  items: items || []
56
56
  };
57
57
  });
58
- this.get_available_jobs = (...args_1) => __awaiter(this, [...args_1], void 0, function* (limit = 10, job_ttl_s = 120, lock_metadata = { lock_owner: "claim-worker", lock_reason: "process_queued" }) {
58
+ this.get_available_jobs_no_timelock_deprecated = (...args_1) => __awaiter(this, [...args_1], void 0, function* (limit = 10, job_ttl_s = 120, max_retry_count = 5, lock_metadata = { lock_owner: "claim-worker", lock_reason: "process_queued" }) {
59
+ var _a;
60
+ const repo = this.get_repo();
61
+ const result = yield repo.query(`SELECT accounting.fn_get_available_claim_jobs_no_timelock($1::int, $2::int, $3::int, $4::text, $5::text)`, [limit, job_ttl_s, max_retry_count, lock_metadata.lock_owner, lock_metadata.lock_reason]);
62
+ return (_a = result[0].fn_get_available_claim_jobs_no_timelock) !== null && _a !== void 0 ? _a : [];
63
+ });
64
+ this.get_available_jobs_no_timelock = (...args_1) => __awaiter(this, [...args_1], void 0, function* (limit = 10, job_ttl_s = 120, max_retry_count = 5, lock_metadata = { lock_owner: "claim-worker", lock_reason: "process_queued" }) {
59
65
  const repo = this.get_repo();
60
- const ttlSeconds = job_ttl_s;
61
- const batchGroupId = (0, uuid_1.v4)();
62
66
  const rows = yield repo.query(`
63
67
  WITH candidates AS (
64
68
  SELECT id
65
69
  FROM accounting.claim_jobs
66
70
  WHERE job_status = 'queued'
71
+ AND has_timelock = false
67
72
  AND (lock_expires_at IS NULL OR lock_expires_at < now())
73
+ AND retry_count < $6
68
74
  ORDER BY blockchain, chain_id ASC
69
75
  LIMIT $1
70
76
  FOR UPDATE SKIP LOCKED
77
+ ),
78
+ updated AS (
79
+ UPDATE accounting.claim_jobs cj
80
+ SET
81
+ job_status = 'processing',
82
+ locked_at = now(),
83
+ lock_expires_at = now() + ($2 || ' seconds')::interval,
84
+ batch_group_id = $3,
85
+ metadata = jsonb_set(
86
+ jsonb_set(
87
+ coalesce(cj.metadata, '{}'::jsonb),
88
+ '{lock_owner}', to_jsonb($4::text)
89
+ ),
90
+ '{lock_reason}', to_jsonb($5::text)
91
+ ),
92
+ updated_at = now()
93
+ FROM candidates c
94
+ WHERE cj.id = c.id
95
+ RETURNING cj.*
71
96
  )
72
- UPDATE accounting.claim_jobs cj
73
- SET
74
- job_status = 'processing',
75
- locked_at = now(),
76
- lock_expires_at = now() + ($2 || ' seconds')::interval,
77
- batch_group_id = $3,
78
- metadata = jsonb_set(
79
- jsonb_set(
80
- coalesce(cj.metadata, '{}'::jsonb),
81
- '{lock_owner}',
82
- to_jsonb($4::text)
83
- ),
84
- '{lock_reason}',
85
- to_jsonb($5::text)
86
- ),
87
- updated_at = now()
88
- FROM candidates c
89
- WHERE cj.id = c.id
90
- RETURNING cj.*;
91
- `, [limit, ttlSeconds, batchGroupId, lock_metadata.lock_owner, lock_metadata.lock_reason]);
92
- return rows[0];
97
+ SELECT
98
+ u.*,
99
+ NULL::text AS commitment_hash,
100
+ NULL::timestamptz AS execute_at,
101
+ (
102
+ SELECT COALESCE(json_agg(json_build_object(
103
+ 'name', COALESCE(cr.role_alias, ''),
104
+ 'signerAddress', cs.signer_address,
105
+ 'contractAddress', cs.contract_address,
106
+ 'createdAt', cs.created_at,
107
+ 'updatedAt', cs.updated_at,
108
+ 'operationType', cs.operation_type,
109
+ 'v', cs.v,
110
+ 'r', cs.r,
111
+ 's', cs.s
112
+ )), '[]'::json)
113
+ FROM multisig.crypto_signatures cs
114
+ LEFT JOIN multisig.crypto_escrow_roles cer
115
+ ON LOWER(cer.wallet_address) = LOWER(cs.signer_address)
116
+ AND LOWER(cer.blockchain) = LOWER(cs.blockchain)
117
+ AND cer.chain_id = cs.chain_id
118
+ AND LOWER(cer.contract_address) = LOWER(cs.contract_address)
119
+ LEFT JOIN multisig.crypto_role cr ON cr.id = cer.role_id
120
+ WHERE cs.reference_id = u.request_id
121
+ AND cs.v IS NOT NULL
122
+ AND cs.r IS NOT NULL
123
+ AND cs.s IS NOT NULL
124
+ ) AS multisig_signatures
125
+ FROM updated u;
126
+ `, [limit, job_ttl_s, (0, uuid_1.v4)(), lock_metadata.lock_owner, lock_metadata.lock_reason, max_retry_count]);
127
+ return rows;
128
+ });
129
+ this.get_available_jobs_with_timelock_deprecated = (...args_1) => __awaiter(this, [...args_1], void 0, function* (limit = 10, job_ttl_s = 120, max_retry_count = 5, lock_metadata = { lock_owner: "claim-worker", lock_reason: "process_queued" }) {
130
+ var _a;
131
+ const repo = this.get_repo();
132
+ const result = yield repo.query(`SELECT accounting.fn_get_available_claim_jobs_with_timelock($1::int, $2::int, $3::int, $4::text, $5::text)`, [limit, job_ttl_s, max_retry_count, lock_metadata.lock_owner, lock_metadata.lock_reason]);
133
+ return (_a = result[0].fn_get_available_claim_jobs_with_timelock) !== null && _a !== void 0 ? _a : [];
134
+ });
135
+ this.get_available_jobs_with_timelock = (...args_1) => __awaiter(this, [...args_1], void 0, function* (limit = 10, job_ttl_s = 120, max_retry_count = 5, lock_metadata = { lock_owner: "claim-worker", lock_reason: "process_queued" }) {
136
+ const repo = this.get_repo();
137
+ const rows = yield repo.query(`
138
+ WITH scheduled_status AS (
139
+ SELECT id FROM multisig.crypto_commitment_statuses WHERE status = 'scheduled'
140
+ ),
141
+ candidates AS (
142
+ SELECT cj.id
143
+ FROM accounting.claim_jobs cj
144
+ JOIN multisig.crypto_withdrawal_commitment cwc ON cwc.request_id = cj.request_id
145
+ JOIN scheduled_status ss ON cwc.status_id = ss.id
146
+ WHERE cj.job_status = 'queued'
147
+ AND cj.has_timelock = true
148
+ AND (cj.lock_expires_at IS NULL OR cj.lock_expires_at < now())
149
+ AND cj.retry_count < $6
150
+ AND cwc.execute_at < now()
151
+ ORDER BY cj.blockchain, cj.chain_id ASC
152
+ LIMIT $1
153
+ FOR UPDATE SKIP LOCKED
154
+ ),
155
+ updated AS (
156
+ UPDATE accounting.claim_jobs cj
157
+ SET
158
+ job_status = 'processing',
159
+ locked_at = now(),
160
+ lock_expires_at = now() + ($2 || ' seconds')::interval,
161
+ batch_group_id = $3,
162
+ metadata = jsonb_set(
163
+ jsonb_set(
164
+ coalesce(cj.metadata, '{}'::jsonb),
165
+ '{lock_owner}', to_jsonb($4::text)
166
+ ),
167
+ '{lock_reason}', to_jsonb($5::text)
168
+ ),
169
+ updated_at = now()
170
+ FROM candidates c
171
+ WHERE cj.id = c.id
172
+ RETURNING cj.*
173
+ )
174
+ SELECT
175
+ u.*,
176
+ cwc.commitment_hash,
177
+ cwc.execute_at,
178
+ (
179
+ SELECT COALESCE(json_agg(json_build_object(
180
+ 'name', COALESCE(cr.role_alias, ''),
181
+ 'signerAddress', cs.signer_address,
182
+ 'contractAddress', cs.contract_address,
183
+ 'createdAt', cs.created_at,
184
+ 'updatedAt', cs.updated_at,
185
+ 'operationType', cs.operation_type,
186
+ 'v', cs.v,
187
+ 'r', cs.r,
188
+ 's', cs.s
189
+ )), '[]'::json)
190
+ FROM multisig.crypto_signatures cs
191
+ LEFT JOIN multisig.crypto_escrow_roles cer
192
+ ON LOWER(cer.wallet_address) = LOWER(cs.signer_address)
193
+ AND LOWER(cer.blockchain) = LOWER(cs.blockchain)
194
+ AND cer.chain_id = cs.chain_id
195
+ AND LOWER(cer.contract_address) = LOWER(cs.contract_address)
196
+ LEFT JOIN multisig.crypto_role cr ON cr.id = cer.role_id
197
+ WHERE cs.reference_id = u.request_id
198
+ ) AS multisig_signatures
199
+ FROM updated u
200
+ LEFT JOIN multisig.crypto_withdrawal_commitment cwc ON cwc.request_id = u.request_id;
201
+ `, [limit, job_ttl_s, (0, uuid_1.v4)(), lock_metadata.lock_owner, lock_metadata.lock_reason, max_retry_count]);
202
+ return rows;
93
203
  });
94
204
  this.requeue_expired_jobs = (current_status, ttl_seconds, limit, lock_owner, lock_reason, max_retries) => __awaiter(this, void 0, void 0, function* () {
95
205
  const rows = yield this.get_repo().query(`
@@ -355,6 +465,26 @@ class ClaimJobsService {
355
465
  WHERE t.request_id = c.request_id;
356
466
  `, [requestIds, txHashes, sentAts]);
357
467
  });
468
+ this.batch_update_failed_jobs_with_error = (jobs, retryable) => __awaiter(this, void 0, void 0, function* () {
469
+ const repo = this.get_repo();
470
+ const failed_status = retryable ? "failed_retryable" : "failed_permanent";
471
+ const ids = jobs.map(j => j.id);
472
+ const errors = jobs.map(j => { var _a; return (_a = j.error_message) !== null && _a !== void 0 ? _a : null; });
473
+ yield repo.query(`
474
+ UPDATE ${this.schema}.${this.table} j
475
+ SET
476
+ job_status = $1,
477
+ error_message = data.error_message,
478
+ retry_count = j.retry_count + 1,
479
+ updated_at = now()
480
+ FROM (
481
+ SELECT
482
+ unnest($2::bigint[]) AS id,
483
+ unnest($3::text[]) AS error_message
484
+ ) AS data
485
+ WHERE j.id = data.id;
486
+ `, [failed_status, ids, errors]);
487
+ });
358
488
  this.get_queued_count = (blockchain, chain_id) => __awaiter(this, void 0, void 0, function* () {
359
489
  if (blockchain !== "evm" && blockchain !== "solana")
360
490
  throw new Error(this.errors.UnsupportedResource("blockchain"));
@@ -400,6 +530,7 @@ class ClaimJobsService {
400
530
  entity.token = payload.token;
401
531
  entity.decimals = payload.decimals;
402
532
  entity.job_status = "queued";
533
+ entity.has_timelock = payload.has_timelock;
403
534
  return entity;
404
535
  };
405
536
  this.dbPool = dbPool;
@@ -46,9 +46,9 @@ declare class ContractRolesService {
46
46
  */
47
47
  static get_role_operation_types(pool: Pool, role_id: number): Promise<RoleOperationType[]>;
48
48
  /** Records an on-chain role grant for a wallet on an escrow contract. `confirmed` indicates whether the tx was finalised. */
49
- static fn_grant_escrow_role(pool: Pool, blockchain: BlockchainType, chain_id: ChainId, contract_address: string, wallet_address: string, role_hash: string, confirmed: boolean, p_caller: string, p_sender: string, p_tx_hash: string, p_timestamp: number, p_block_number: number, gas_used: number): Promise<any[]>;
49
+ static fn_grant_escrow_role(pool: Pool, blockchain: BlockchainType, chain_id: ChainId, contract_address: string, wallet_address: string, role_hash: string, p_user_id: number, confirmed: boolean, p_caller: string, p_sender: string, p_tx_hash: string, p_timestamp: number, p_block_number: number, gas_used: number): Promise<any>;
50
50
  /** Records an on-chain role revocation for a wallet on an escrow contract. `confirmed` indicates whether the tx was finalised. */
51
- static fn_revoke_escrow_role(pool: Pool, blockchain: BlockchainType, chain_id: ChainId, contract_address: string, wallet_address: string, role_hash: string, confirmed: boolean, p_caller: string, p_sender: string, p_tx_hash: string, p_timestamp: number, p_block_number: number, gas_used: number): Promise<any[]>;
51
+ static fn_revoke_escrow_role(pool: Pool, blockchain: BlockchainType, chain_id: ChainId, contract_address: string, wallet_address: string, role_hash: string, p_user_id: number, confirmed: boolean, p_caller: string, p_sender: string, p_tx_hash: string, p_timestamp: number, p_block_number: number, gas_used: number): Promise<any>;
52
52
  }
53
53
  export default ContractRolesService;
54
54
  //# sourceMappingURL=ContractRoles.d.ts.map