@ercworldio/blockchain-shared 1.0.1-dev.9 → 1.0.2-dev-PROJ-1265.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/README.md +26 -0
  2. package/build/chains/networks_dev.json +116 -25
  3. package/build/chains/networks_prod-bu.json +116 -8
  4. package/build/chains/networks_prod-dz.json +216 -13
  5. package/build/chains/networks_stg-bu.json +36 -9
  6. package/build/chains/networks_stg-dz.json +82 -22
  7. package/build/chains/networks_stg-sh.json +534 -0
  8. package/build/chains/networks_stg-yb.json +435 -0
  9. package/build/chains/stg-sh.json +93 -0
  10. package/build/contracts/Escrow.d.ts +1 -1
  11. package/build/contracts/Escrow.d.ts.map +1 -1
  12. package/build/contracts/Escrow.js +2 -2
  13. package/build/contracts/artifacts/Escrow.json +16 -0
  14. package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/IERC1363.d.ts +232 -0
  15. package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/IERC1363.d.ts.map +1 -0
  16. package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/IERC1363.js +2 -0
  17. package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  18. package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -1
  19. package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/index.d.ts +2 -0
  20. package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/index.d.ts.map +1 -1
  21. package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.d.ts +21 -0
  22. package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.d.ts.map +1 -0
  23. package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.js +2 -0
  24. package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/utils/index.d.ts +2 -0
  25. package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/utils/index.d.ts.map +1 -0
  26. package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/utils/index.js +2 -0
  27. package/build/contracts/typechain-types/contracts/escrow/Escrow.d.ts +5 -3
  28. package/build/contracts/typechain-types/contracts/escrow/Escrow.d.ts.map +1 -1
  29. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1363__factory.d.ts +290 -0
  30. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1363__factory.d.ts.map +1 -0
  31. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1363__factory.js +390 -0
  32. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  33. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -1
  34. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/index.js +3 -1
  35. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.d.ts +1 -0
  36. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.d.ts.map +1 -1
  37. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.js +2 -1
  38. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +47 -0
  39. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.d.ts.map +1 -0
  40. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.js +71 -0
  41. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/index.d.ts +2 -0
  42. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/index.d.ts.map +1 -0
  43. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/index.js +8 -0
  44. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
  45. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts.map +1 -1
  46. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.js +1 -1
  47. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +1 -1
  48. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts.map +1 -1
  49. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.js +1 -1
  50. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts +1 -1
  51. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts.map +1 -1
  52. package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.js +1 -1
  53. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.d.ts +1 -1
  54. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.d.ts.map +1 -1
  55. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.js +1 -1
  56. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.d.ts +1 -1
  57. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.d.ts.map +1 -1
  58. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.js +1 -1
  59. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowSignature__factory.d.ts +1 -1
  60. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowSignature__factory.d.ts.map +1 -1
  61. package/build/contracts/typechain-types/factories/contracts/escrow/EscrowSignature__factory.js +1 -1
  62. package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.d.ts +13 -1
  63. package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.d.ts.map +1 -1
  64. package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.js +17 -1
  65. package/build/contracts/typechain-types/factories/contracts/escrow/TokensWhitelist__factory.d.ts +1 -1
  66. package/build/contracts/typechain-types/factories/contracts/escrow/TokensWhitelist__factory.d.ts.map +1 -1
  67. package/build/contracts/typechain-types/factories/contracts/escrow/TokensWhitelist__factory.js +1 -1
  68. package/build/contracts/typechain-types/index.d.ts +4 -0
  69. package/build/contracts/typechain-types/index.d.ts.map +1 -1
  70. package/build/contracts/typechain-types/index.js +5 -1
  71. package/build/errors/AdminErrors.d.ts +5 -9
  72. package/build/errors/AdminErrors.d.ts.map +1 -1
  73. package/build/errors/AdminErrors.js +49 -24
  74. package/build/errors/AlchemyErrors.d.ts +14 -18
  75. package/build/errors/AlchemyErrors.d.ts.map +1 -1
  76. package/build/errors/AlchemyErrors.js +76 -49
  77. package/build/errors/BalanceErrors.d.ts +3 -7
  78. package/build/errors/BalanceErrors.d.ts.map +1 -1
  79. package/build/errors/BalanceErrors.js +47 -26
  80. package/build/errors/DatabaseErrors.d.ts +5 -9
  81. package/build/errors/DatabaseErrors.d.ts.map +1 -1
  82. package/build/errors/DatabaseErrors.js +49 -28
  83. package/build/errors/TransactionsErrors.d.ts +15 -20
  84. package/build/errors/TransactionsErrors.d.ts.map +1 -1
  85. package/build/errors/TransactionsErrors.js +81 -66
  86. package/build/errors/VoltageErrors.d.ts +8 -13
  87. package/build/errors/VoltageErrors.d.ts.map +1 -1
  88. package/build/errors/VoltageErrors.js +58 -45
  89. package/build/errors/WalletErrors.d.ts +6 -12
  90. package/build/errors/WalletErrors.d.ts.map +1 -1
  91. package/build/errors/WalletErrors.js +48 -37
  92. package/build/errors/errors.d.ts +169 -27
  93. package/build/errors/errors.d.ts.map +1 -1
  94. package/build/errors/errors.js +292 -66
  95. package/build/errors/index.d.ts +37 -36
  96. package/build/errors/index.d.ts.map +1 -1
  97. package/build/index.d.ts +1 -0
  98. package/build/index.d.ts.map +1 -1
  99. package/build/index.js +4 -2
  100. package/build/interfaces.d.ts +5 -1
  101. package/build/interfaces.d.ts.map +1 -1
  102. package/build/interfaces.js +1 -0
  103. package/build/services/AlchemyWebhookAddressManager.d.ts.map +1 -1
  104. package/build/services/AlchemyWebhookAddressManager.js +3 -1
  105. package/build/services/quicknode-notifications/QnWebhookAddressManager.d.ts +1 -2
  106. package/build/services/quicknode-notifications/QnWebhookAddressManager.d.ts.map +1 -1
  107. package/build/services/quicknode-notifications/QnWebhookAddressManager.js +25 -42
  108. package/build/services/quicknode-notifications/SetupNotifications.d.ts +1 -0
  109. package/build/services/quicknode-notifications/SetupNotifications.d.ts.map +1 -1
  110. package/build/services/quicknode-notifications/SetupNotifications.js +29 -2
  111. package/build/services/solana/escrow/SolanaEscrowAdmin.d.ts +1 -1
  112. package/build/services/solana/escrow/SolanaEscrowAdmin.d.ts.map +1 -1
  113. package/build/services/solana/escrow/SolanaEscrowAdmin.js +8 -4
  114. package/build/services/solana/escrow/services/EscrowAdminUtility.d.ts.map +1 -1
  115. package/build/services/solana/escrow/services/EscrowAdminUtility.js +5 -2
  116. package/build/services/solana/escrow/services/SolanaTokenProgramCache.d.ts +9 -0
  117. package/build/services/solana/escrow/services/SolanaTokenProgramCache.d.ts.map +1 -0
  118. package/build/services/solana/escrow/services/SolanaTokenProgramCache.js +38 -0
  119. package/build/services/types/bo_withdrawal.d.ts +17 -0
  120. package/build/services/types/bo_withdrawal.d.ts.map +1 -0
  121. package/build/services/types/bo_withdrawal.js +9 -0
  122. package/build/services/types/chain_manager.d.ts +7 -0
  123. package/build/services/types/chain_manager.d.ts.map +1 -1
  124. package/build/services/types/index.d.ts +1 -0
  125. package/build/services/types/index.d.ts.map +1 -1
  126. package/build/services/types/index.js +1 -0
  127. package/build/utils/Logger.d.ts.map +1 -1
  128. package/build/utils/Logger.js +13 -2
  129. package/build/utils/RpcLimiter.d.ts +1 -0
  130. package/build/utils/RpcLimiter.d.ts.map +1 -1
  131. package/build/utils/RpcLimiter.js +1 -0
  132. package/build/utils/solana.d.ts +2 -1
  133. package/build/utils/solana.d.ts.map +1 -1
  134. package/build/utils/solana.js +28 -3
  135. package/package.json +1 -1
package/README.md CHANGED
@@ -1 +1,27 @@
1
1
  ## README
2
+
3
+ # blockchain-shared
4
+
5
+ Shared TypeScript library for multi-chain blockchain infrastructure used across projectx services.
6
+
7
+ ## What it does
8
+
9
+ - Manages deposit addresses, wallet indexes, and custodial/hot wallets
10
+ - Handles balances, withdrawals, sweeps, and claims across chains
11
+ - Abstracts RPC providers and chain configuration
12
+ - Processes on-chain events via Alchemy and Quicknode webhooks
13
+ - Integrates with Azure KeyVault, Redis, and PostgreSQL
14
+
15
+ ## Supported chains
16
+
17
+ EVM (Ethereum, BSC, Avalanche, Polygon, Fantom, Bitlayer, Monad), Solana, Tron, Bitcoin, Lightning
18
+
19
+ ## Stack
20
+
21
+ TypeScript · ethers.js v6 · @solana/web3.js · TronWeb · TypeORM · Redis · Azure
22
+
23
+ ## Install
24
+
25
+ ```bash
26
+ npm install @ercworldio/blockchain-shared
27
+ ```
@@ -38,13 +38,18 @@
38
38
  },
39
39
  "tronConfig": {
40
40
  "trxTransferCost": 270000,
41
- "trc20TransferCost": 4000000
41
+ "trc20TransferCost": 4000000,
42
+ "rentEnergyWallet": "TCdE3ZGvBjUcqVCreT25SWwF36gkiLYTGD"
42
43
  },
43
44
  "accounting": {
44
45
  "funding_wallet": "TN4tXH5F36BxWEe8UQuUeMr1EuPwJjNUFJ",
45
46
  "treasury_receiver": "TN4tXH5F36BxWEe8UQuUeMr1EuPwJjNUFJ",
46
47
  "overflow_treasury_receiver": "TCdE3ZGvBjUcqVCreT25SWwF36gkiLYTGD",
47
- "overflow_threshold_decimal": 100000
48
+ "overflow_threshold_decimal": 100000,
49
+ "min_funding_wallet_balance_usd": 5,
50
+ "allowed_receivers": [
51
+ "TCdE3ZGvBjUcqVCreT25SWwF36gkiLYTGD"
52
+ ]
48
53
  },
49
54
  "rpcBaseUrl": "https://api.nileex.io",
50
55
  "rpcBaseUrlWss": "",
@@ -79,7 +84,10 @@
79
84
  "decimals": 6,
80
85
  "address": "0000000000000000000000000000000000000000",
81
86
  "sweepThreshold": 10,
82
- "sweepWalletMinBalance": 6
87
+ "sweepWalletMinBalance": 6,
88
+ "recommendedMinBalanceFundingWallet": 300,
89
+ "recommendedMinBalanceEscrow": 0,
90
+ "recommendedMinBalanceRentEnergy": 50
83
91
  },
84
92
  {
85
93
  "name": "Tether Token",
@@ -90,7 +98,10 @@
90
98
  "decimals": 6,
91
99
  "address": "TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf",
92
100
  "sweepThreshold": 1,
93
- "sweepWalletMinBalance": 0.1
101
+ "sweepWalletMinBalance": 0.1,
102
+ "recommendedMinBalanceFundingWallet": 100,
103
+ "recommendedMinBalanceEscrow": 0,
104
+ "recommendedMinBalanceRentEnergy": 0
94
105
  }
95
106
  ]
96
107
  },
@@ -103,12 +114,16 @@
103
114
  "blockexplorerUrl": "https://solscan.io/?cluster=devnet",
104
115
  "rpcBaseUrl": "https://rpc.ankr.com/solana_devnet",
105
116
  "rpcBaseUrlWss": "wss://rpc.ankr.com/solana_devnet/ws",
106
- "targetConfirmations": 2,
117
+ "targetConfirmations": 32,
107
118
  "accounting": {
108
119
  "funding_wallet": "GLfRJqsRtTNDVvYVccXrz8RCKNnad2hqQfgFaApAKXCq",
109
120
  "treasury_receiver": "AAuFzrm6H4Vv7UyJi8R5Gsm4ixtR2yVmqzLmuyUTS5cu",
110
121
  "overflow_treasury_receiver": "GLfRJqsRtTNDVvYVccXrz8RCKNnad2hqQfgFaApAKXCq",
111
- "overflow_threshold_decimal": 100000
122
+ "overflow_threshold_decimal": 100000,
123
+ "min_funding_wallet_balance_usd": 5,
124
+ "allowed_receivers": [
125
+ "AAuFzrm6H4Vv7UyJi8R5Gsm4ixtR2yVmqzLmuyUTS5cu"
126
+ ]
112
127
  },
113
128
  "custodialAlchemyWebhooks": [
114
129
  {
@@ -121,6 +136,13 @@
121
136
  }
122
137
  ],
123
138
  "quicknodeNotificationConfig": [
139
+ {
140
+ "name": "escrow-sol-dev",
141
+ "network": "solana-devnet",
142
+ "template": "solanaWalletFilter",
143
+ "source": "contract",
144
+ "chain_id": 103
145
+ },
124
146
  {
125
147
  "name": "qn-custodial-webhook-sol-dev",
126
148
  "network": "solana-devnet",
@@ -165,7 +187,10 @@
165
187
  "decimals": 9,
166
188
  "address": "11111111111111111111111111111111",
167
189
  "sweepThreshold": 0.05,
168
- "sweepWalletMinBalance": 0.01
190
+ "sweepWalletMinBalance": 0.01,
191
+ "recommendedMinBalanceFundingWallet": 0.25,
192
+ "recommendedMinBalanceEscrow": 10,
193
+ "recommendedMinBalanceRentEnergy": 0
169
194
  },
170
195
  {
171
196
  "name": "Circle Token",
@@ -176,7 +201,10 @@
176
201
  "decimals": 6,
177
202
  "address": "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",
178
203
  "sweepThreshold": 1,
179
- "sweepWalletMinBalance": 0.1
204
+ "sweepWalletMinBalance": 0.1,
205
+ "recommendedMinBalanceFundingWallet": 0,
206
+ "recommendedMinBalanceEscrow": 100,
207
+ "recommendedMinBalanceRentEnergy": 0
180
208
  }
181
209
  ]
182
210
  },
@@ -194,7 +222,11 @@
194
222
  "funding_wallet": "0xF84a78E56fBACAADd73E59eDAe02b3b80e4966C8",
195
223
  "treasury_receiver": "0xaD372aCDd0F14A9430Af29DaEc8229A9F109d7F5",
196
224
  "overflow_treasury_receiver": "0xF84a78E56fBACAADd73E59eDAe02b3b80e4966C8",
197
- "overflow_threshold_decimal": 100000
225
+ "overflow_threshold_decimal": 100000,
226
+ "min_funding_wallet_balance_usd": 5,
227
+ "allowed_receivers": [
228
+ "0xaD372aCDd0F14A9430Af29DaEc8229A9F109d7F5"
229
+ ]
198
230
  },
199
231
  "custodialAlchemyWebhooks": [
200
232
  {
@@ -252,7 +284,10 @@
252
284
  "decimals": 18,
253
285
  "address": "0x0000000000000000000000000000000000000000",
254
286
  "sweepThreshold": 0.015,
255
- "sweepWalletMinBalance": 0.0015
287
+ "sweepWalletMinBalance": 0.0015,
288
+ "recommendedMinBalanceFundingWallet": 0.1,
289
+ "recommendedMinBalanceEscrow": 1,
290
+ "recommendedMinBalanceRentEnergy": 0
256
291
  },
257
292
  {
258
293
  "name": "Tether Token",
@@ -263,7 +298,10 @@
263
298
  "isStableCoin": true,
264
299
  "address": "0x24607248E7F55B28548971B75A64d74515b49584",
265
300
  "sweepThreshold": 10,
266
- "sweepWalletMinBalance": 0.1
301
+ "sweepWalletMinBalance": 0.1,
302
+ "recommendedMinBalanceFundingWallet": 0,
303
+ "recommendedMinBalanceEscrow": 100,
304
+ "recommendedMinBalanceRentEnergy": 0
267
305
  }
268
306
  ]
269
307
  },
@@ -325,7 +363,10 @@
325
363
  "decimals": 18,
326
364
  "address": "0x0000000000000000000000000000000000000000",
327
365
  "sweepThreshold": 0.1,
328
- "sweepWalletMinBalance": 0.01
366
+ "sweepWalletMinBalance": 0.01,
367
+ "recommendedMinBalanceFundingWallet": 10,
368
+ "recommendedMinBalanceEscrow": 100,
369
+ "recommendedMinBalanceRentEnergy": 0
329
370
  },
330
371
  {
331
372
  "name": "Tether Token",
@@ -335,7 +376,10 @@
335
376
  "decimals": 6,
336
377
  "address": "0x00E15B31f48aC6DB632aABf5B656e118b31b1BeB",
337
378
  "sweepThreshold": 10,
338
- "sweepWalletMinBalance": 0.1
379
+ "sweepWalletMinBalance": 0.1,
380
+ "recommendedMinBalanceFundingWallet": 0,
381
+ "recommendedMinBalanceEscrow": 100,
382
+ "recommendedMinBalanceRentEnergy": 0
339
383
  }
340
384
  ]
341
385
  },
@@ -353,7 +397,11 @@
353
397
  "funding_wallet": "0xF84a78E56fBACAADd73E59eDAe02b3b80e4966C8",
354
398
  "treasury_receiver": "0x89DecB6b265D7714A69EE05E3Bc50Fd829D7Ef90",
355
399
  "overflow_treasury_receiver": "0xF84a78E56fBACAADd73E59eDAe02b3b80e4966C8",
356
- "overflow_threshold_decimal": 100000
400
+ "overflow_threshold_decimal": 100000,
401
+ "min_funding_wallet_balance_usd": 5,
402
+ "allowed_receivers": [
403
+ "0x89DecB6b265D7714A69EE05E3Bc50Fd829D7Ef90"
404
+ ]
357
405
  },
358
406
  "custodialAlchemyWebhooks": [
359
407
  {
@@ -411,7 +459,10 @@
411
459
  "decimals": 18,
412
460
  "address": "0x0000000000000000000000000000000000000000",
413
461
  "sweepThreshold": 0.1,
414
- "sweepWalletMinBalance": 0.01
462
+ "sweepWalletMinBalance": 0.01,
463
+ "recommendedMinBalanceFundingWallet": 3,
464
+ "recommendedMinBalanceEscrow": 50,
465
+ "recommendedMinBalanceRentEnergy": 0
415
466
  },
416
467
  {
417
468
  "name": "Tether Token",
@@ -422,7 +473,10 @@
422
473
  "decimals": 6,
423
474
  "address": "0x6F8cCEFD7Ba389713C3DCFA6C145f2d4fC2731a9",
424
475
  "sweepThreshold": 10,
425
- "sweepWalletMinBalance": 0.1
476
+ "sweepWalletMinBalance": 0.1,
477
+ "recommendedMinBalanceFundingWallet": 0,
478
+ "recommendedMinBalanceEscrow": 100,
479
+ "recommendedMinBalanceRentEnergy": 0
426
480
  }
427
481
  ]
428
482
  },
@@ -454,7 +508,11 @@
454
508
  "funding_wallet": "0xF84a78E56fBACAADd73E59eDAe02b3b80e4966C8",
455
509
  "treasury_receiver": "0xEA8Ad078561B83724EEcDBb5b5A4f03369115Cf8",
456
510
  "overflow_treasury_receiver": "0xF84a78E56fBACAADd73E59eDAe02b3b80e4966C8",
457
- "overflow_threshold_decimal": 100000
511
+ "overflow_threshold_decimal": 100000,
512
+ "min_funding_wallet_balance_usd": 5,
513
+ "allowed_receivers": [
514
+ "0xEA8Ad078561B83724EEcDBb5b5A4f03369115Cf8"
515
+ ]
458
516
  },
459
517
  "custodialAlchemyWebhooks": [
460
518
  {
@@ -512,7 +570,10 @@
512
570
  "decimals": 18,
513
571
  "address": "0x0000000000000000000000000000000000000000",
514
572
  "sweepThreshold": 0.00033,
515
- "sweepWalletMinBalance": 0.001
573
+ "sweepWalletMinBalance": 0.001,
574
+ "recommendedMinBalanceFundingWallet": 0.05,
575
+ "recommendedMinBalanceEscrow": 0.5,
576
+ "recommendedMinBalanceRentEnergy": 0
516
577
  },
517
578
  {
518
579
  "name": "Tether Token",
@@ -523,7 +584,10 @@
523
584
  "decimals": 6,
524
585
  "address": "0xd36A20dB12953F0bf09C66B08c1771ae046D2152",
525
586
  "sweepThreshold": 10,
526
- "sweepWalletMinBalance": 0.1
587
+ "sweepWalletMinBalance": 0.1,
588
+ "recommendedMinBalanceFundingWallet": 0,
589
+ "recommendedMinBalanceEscrow": 100,
590
+ "recommendedMinBalanceRentEnergy": 0
527
591
  }
528
592
  ]
529
593
  },
@@ -541,7 +605,11 @@
541
605
  "funding_wallet": "0xF84a78E56fBACAADd73E59eDAe02b3b80e4966C8",
542
606
  "treasury_receiver": "0x69E1F9316E03Da502B52f4682b0349d36CFBfFfD",
543
607
  "overflow_treasury_receiver": "0xF84a78E56fBACAADd73E59eDAe02b3b80e4966C8",
544
- "overflow_threshold_decimal": 100000
608
+ "overflow_threshold_decimal": 100000,
609
+ "min_funding_wallet_balance_usd": 1,
610
+ "allowed_receivers": [
611
+ "0x69E1F9316E03Da502B52f4682b0349d36CFBfFfD"
612
+ ]
545
613
  },
546
614
  "custodialAlchemyWebhooks": [
547
615
  {
@@ -598,7 +666,10 @@
598
666
  "isStableCoin": false,
599
667
  "address": "0x0000000000000000000000000000000000000000",
600
668
  "sweepThreshold": 10,
601
- "sweepWalletMinBalance": 0.01
669
+ "sweepWalletMinBalance": 0.01,
670
+ "recommendedMinBalanceFundingWallet": 100,
671
+ "recommendedMinBalanceEscrow": 1000,
672
+ "recommendedMinBalanceRentEnergy": 0
602
673
  },
603
674
  {
604
675
  "name": "Tether Token",
@@ -609,7 +680,10 @@
609
680
  "isStableCoin": true,
610
681
  "address": "0x6F8cCEFD7Ba389713C3DCFA6C145f2d4fC2731a9",
611
682
  "sweepThreshold": 10,
612
- "sweepWalletMinBalance": 0.1
683
+ "sweepWalletMinBalance": 0.1,
684
+ "recommendedMinBalanceFundingWallet": 0,
685
+ "recommendedMinBalanceEscrow": 100,
686
+ "recommendedMinBalanceRentEnergy": 0
613
687
  }
614
688
  ]
615
689
  },
@@ -627,7 +701,11 @@
627
701
  "funding_wallet": "0xF84a78E56fBACAADd73E59eDAe02b3b80e4966C8",
628
702
  "treasury_receiver": "0xf4BE5695F5eCd281171ab625ceb59bEee081e14f",
629
703
  "overflow_treasury_receiver": "0xF84a78E56fBACAADd73E59eDAe02b3b80e4966C8",
630
- "overflow_threshold_decimal": 100000
704
+ "overflow_threshold_decimal": 100000,
705
+ "min_funding_wallet_balance_usd": 0.5,
706
+ "allowed_receivers": [
707
+ "0xf4BE5695F5eCd281171ab625ceb59bEee081e14f"
708
+ ]
631
709
  },
632
710
  "custodialAlchemyWebhooks": [
633
711
  {
@@ -640,6 +718,13 @@
640
718
  }
641
719
  ],
642
720
  "quicknodeNotificationConfig": [
721
+ {
722
+ "name": "escrow-mon-dev",
723
+ "network": "monad-testnet",
724
+ "template": "evmWalletFilter",
725
+ "source": "contract",
726
+ "chain_id": 10143
727
+ },
643
728
  {
644
729
  "name": "qn-custodial-webhook-mon-dev",
645
730
  "network": "monad-testnet",
@@ -684,7 +769,10 @@
684
769
  "decimals": 18,
685
770
  "address": "0x0000000000000000000000000000000000000000",
686
771
  "sweepThreshold": 10,
687
- "sweepWalletMinBalance": 0.1
772
+ "sweepWalletMinBalance": 0.1,
773
+ "recommendedMinBalanceFundingWallet": 50,
774
+ "recommendedMinBalanceEscrow": 500,
775
+ "recommendedMinBalanceRentEnergy": 0
688
776
  },
689
777
  {
690
778
  "name": "Tether Token",
@@ -695,7 +783,10 @@
695
783
  "decimals": 6,
696
784
  "address": "0xc60f378d2C9Cc06c4830B788976bc1003d5159fe",
697
785
  "sweepThreshold": 10,
698
- "sweepWalletMinBalance": 0.1
786
+ "sweepWalletMinBalance": 0.1,
787
+ "recommendedMinBalanceFundingWallet": 0,
788
+ "recommendedMinBalanceEscrow": 100,
789
+ "recommendedMinBalanceRentEnergy": 0
699
790
  }
700
791
  ]
701
792
  }
@@ -13,7 +13,11 @@
13
13
  "funding_wallet": "0xd81C736189d255379a9510a4E11A27d559Cc5695",
14
14
  "treasury_receiver": "0x7F625Ba70fA13694218cD68b14F99EEF3518eC7C",
15
15
  "overflow_treasury_receiver": "0x7F625Ba70fA13694218cD68b14F99EEF3518eC7C",
16
- "overflow_threshold_decimal": 100000
16
+ "overflow_threshold_decimal": 100000,
17
+ "min_funding_wallet_balance_usd": 5,
18
+ "allowed_receivers": [
19
+ "0x7F625Ba70fA13694218cD68b14F99EEF3518eC7C"
20
+ ]
17
21
  },
18
22
  "custodialAlchemyWebhooks": [
19
23
  {
@@ -25,6 +29,20 @@
25
29
  "source": "wallet"
26
30
  }
27
31
  ],
32
+ "quicknodeNotificationConfig": [
33
+ {
34
+ "name": "escrow-eth-prod-bu",
35
+ "network": "ethereum-mainnet",
36
+ "template": "evmWalletFilter",
37
+ "source": "contract",
38
+ "chain_id": 1
39
+ },
40
+ {
41
+ "name": "qn-custodial-webhook-eth-prod-bu",
42
+ "network": "ethereum-mainnet",
43
+ "template": "evmWalletFilter"
44
+ }
45
+ ],
28
46
  "contracts": [
29
47
  {
30
48
  "type": "Escrow",
@@ -93,7 +111,11 @@
93
111
  "funding_wallet": "0xd81C736189d255379a9510a4E11A27d559Cc5695",
94
112
  "treasury_receiver": "0x7F625Ba70fA13694218cD68b14F99EEF3518eC7C",
95
113
  "overflow_treasury_receiver": "0x7F625Ba70fA13694218cD68b14F99EEF3518eC7C",
96
- "overflow_threshold_decimal": 100000
114
+ "overflow_threshold_decimal": 100000,
115
+ "min_funding_wallet_balance_usd": 5,
116
+ "allowed_receivers": [
117
+ "0x7F625Ba70fA13694218cD68b14F99EEF3518eC7C"
118
+ ]
97
119
  },
98
120
  "custodialAlchemyWebhooks": [
99
121
  {
@@ -105,6 +127,20 @@
105
127
  "source": "wallet"
106
128
  }
107
129
  ],
130
+ "quicknodeNotificationConfig": [
131
+ {
132
+ "name": "escrow-bnb-prod-bu",
133
+ "network": "bnbchain-mainnet",
134
+ "template": "evmWalletFilter",
135
+ "source": "contract",
136
+ "chain_id": 56
137
+ },
138
+ {
139
+ "name": "qn-custodial-webhook-bnb-prod-bu",
140
+ "network": "bnbchain-mainnet",
141
+ "template": "evmWalletFilter"
142
+ }
143
+ ],
108
144
  "contracts": [
109
145
  {
110
146
  "type": "Escrow",
@@ -168,12 +204,14 @@
168
204
  "blockexplorerUrl": "https://solscan.io",
169
205
  "rpcBaseUrl": "https://rpc.ankr.com/solana",
170
206
  "rpcBaseUrlWss": "wss://rpc.ankr.com/solana/ws",
171
- "targetConfirmations": 2,
207
+ "targetConfirmations": 32,
172
208
  "accounting": {
173
209
  "funding_wallet": "EvEmp35XMdWcsG3sULndr2Vb5yiLcA9JCfSBw5A6bXk6",
174
210
  "treasury_receiver": "67e3Robajph3KSAq3VDuYL21xifkCmD5y28DPwMecu7S",
175
211
  "overflow_treasury_receiver": "67e3Robajph3KSAq3VDuYL21xifkCmD5y28DPwMecu7S",
176
- "overflow_threshold_decimal": 100000
212
+ "overflow_threshold_decimal": 100000,
213
+ "min_funding_wallet_balance_usd": 5,
214
+ "allowed_receivers": []
177
215
  },
178
216
  "custodialAlchemyWebhooks": [
179
217
  {
@@ -185,6 +223,20 @@
185
223
  "source": "wallet"
186
224
  }
187
225
  ],
226
+ "quicknodeNotificationConfig": [
227
+ {
228
+ "name": "escrow-sol-prod-bu",
229
+ "network": "solana-mainnet",
230
+ "template": "solanaWalletFilter",
231
+ "source": "contract",
232
+ "chain_id": 101
233
+ },
234
+ {
235
+ "name": "qn-custodial-webhook-sol-prod-bu",
236
+ "network": "solana-mainnet",
237
+ "template": "solanaWalletFilter"
238
+ }
239
+ ],
188
240
  "contracts": [
189
241
  {
190
242
  "type": "Escrow",
@@ -253,7 +305,11 @@
253
305
  "funding_wallet": "0xd81C736189d255379a9510a4E11A27d559Cc5695",
254
306
  "treasury_receiver": "0xE75526AaD30364d198b8553C716Aa9DDc2f8BD26",
255
307
  "overflow_treasury_receiver": "0xE75526AaD30364d198b8553C716Aa9DDc2f8BD26",
256
- "overflow_threshold_decimal": 100000
308
+ "overflow_threshold_decimal": 100000,
309
+ "min_funding_wallet_balance_usd": 5,
310
+ "allowed_receivers": [
311
+ "0xE75526AaD30364d198b8553C716Aa9DDc2f8BD26"
312
+ ]
257
313
  },
258
314
  "custodialAlchemyWebhooks": [
259
315
  {
@@ -265,6 +321,20 @@
265
321
  "source": "wallet"
266
322
  }
267
323
  ],
324
+ "quicknodeNotificationConfig": [
325
+ {
326
+ "name": "escrow-pol-prod-bu",
327
+ "network": "polygon-mainnet",
328
+ "template": "evmWalletFilter",
329
+ "source": "contract",
330
+ "chain_id": 137
331
+ },
332
+ {
333
+ "name": "qn-custodial-webhook-pol-prod-bu",
334
+ "network": "polygon-mainnet",
335
+ "template": "evmWalletFilter"
336
+ }
337
+ ],
268
338
  "contracts": [
269
339
  {
270
340
  "type": "Escrow",
@@ -333,7 +403,11 @@
333
403
  "funding_wallet": "0xd81C736189d255379a9510a4E11A27d559Cc5695",
334
404
  "treasury_receiver": "0xD7205fD63Fa5def834DD3556c149FF7911478391",
335
405
  "overflow_treasury_receiver": "0xD7205fD63Fa5def834DD3556c149FF7911478391",
336
- "overflow_threshold_decimal": 100000
406
+ "overflow_threshold_decimal": 100000,
407
+ "min_funding_wallet_balance_usd": 5,
408
+ "allowed_receivers": [
409
+ "0xD7205fD63Fa5def834DD3556c149FF7911478391"
410
+ ]
337
411
  },
338
412
  "custodialAlchemyWebhooks": [
339
413
  {
@@ -345,6 +419,20 @@
345
419
  "source": "wallet"
346
420
  }
347
421
  ],
422
+ "quicknodeNotificationConfig": [
423
+ {
424
+ "name": "escrow-mon-prod-bu",
425
+ "network": "monad-mainnet",
426
+ "template": "evmWalletFilter",
427
+ "source": "contract",
428
+ "chain_id": 143
429
+ },
430
+ {
431
+ "name": "qn-custodial-webhook-mon-prod-bu",
432
+ "network": "monad-mainnet",
433
+ "template": "evmWalletFilter"
434
+ }
435
+ ],
348
436
  "contracts": [
349
437
  {
350
438
  "type": "Escrow",
@@ -402,7 +490,11 @@
402
490
  "funding_wallet": "0xd81C736189d255379a9510a4E11A27d559Cc5695",
403
491
  "treasury_receiver": "0xedb9e987Da3806205D2f1e246Eb8c538A872783E",
404
492
  "overflow_treasury_receiver": "0xedb9e987Da3806205D2f1e246Eb8c538A872783E",
405
- "overflow_threshold_decimal": 100000
493
+ "overflow_threshold_decimal": 100000,
494
+ "min_funding_wallet_balance_usd": 5,
495
+ "allowed_receivers": [
496
+ "0xedb9e987Da3806205D2f1e246Eb8c538A872783E"
497
+ ]
406
498
  },
407
499
  "custodialAlchemyWebhooks": [
408
500
  {
@@ -414,6 +506,20 @@
414
506
  "source": "wallet"
415
507
  }
416
508
  ],
509
+ "quicknodeNotificationConfig": [
510
+ {
511
+ "name": "escrow-avax-prod-bu",
512
+ "network": "avalanche-mainnet",
513
+ "template": "evmWalletFilter",
514
+ "source": "contract",
515
+ "chain_id": 43114
516
+ },
517
+ {
518
+ "name": "qn-custodial-webhook-avax-prod-bu",
519
+ "network": "avalanche-mainnet",
520
+ "template": "evmWalletFilter"
521
+ }
522
+ ],
417
523
  "contracts": [
418
524
  {
419
525
  "type": "Escrow",
@@ -483,7 +589,9 @@
483
589
  "funding_wallet": "TTxo5LeNkq5g9sywaGdXjttKRvoum8xSGp",
484
590
  "treasury_receiver": "TTxo5LeNkq5g9sywaGdXjttKRvoum8xSGp",
485
591
  "overflow_treasury_receiver": "TTxo5LeNkq5g9sywaGdXjttKRvoum8xSGp",
486
- "overflow_threshold_decimal": 100000
592
+ "overflow_threshold_decimal": 100000,
593
+ "min_funding_wallet_balance_usd": 5,
594
+ "allowed_receivers": []
487
595
  },
488
596
  "rpcMetadata": {
489
597
  "rpcBaseUrl": "https://rpc.ankr.com/premium-http/tron",