@ercworldio/blockchain-shared 1.0.0-dev.4
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/README.md +1 -0
- package/build/chains/ChainDefinition.d.ts +2 -0
- package/build/chains/ChainDefinition.d.ts.map +1 -0
- package/build/chains/ChainDefinition.js +84 -0
- package/build/chains/Provider.d.ts +20 -0
- package/build/chains/Provider.d.ts.map +1 -0
- package/build/chains/Provider.js +85 -0
- package/build/chains/RPC.d.ts +34 -0
- package/build/chains/RPC.d.ts.map +1 -0
- package/build/chains/RPC.js +147 -0
- package/build/chains/chain_to_ticker.json +28 -0
- package/build/chains/chains.json +513 -0
- package/build/chains/chains_stg-bu.json +513 -0
- package/build/chains/chains_v2.json +494 -0
- package/build/chains/escrow-contracts/10143.json +8 -0
- package/build/chains/escrow-contracts/97.json +8 -0
- package/build/chains/event_listener_config_escrows.json +699 -0
- package/build/chains/networks_dev.json +715 -0
- package/build/chains/networks_prod-bu.json +542 -0
- package/build/chains/networks_prod.json +541 -0
- package/build/chains/networks_stg-bu.json +568 -0
- package/build/chains/networks_stg-dz.json +451 -0
- package/build/chains/networks_stg.json +541 -0
- package/build/chains/networks_stg_drizzle.json +130 -0
- package/build/chains/rpcs.d.ts +30 -0
- package/build/chains/rpcs.d.ts.map +1 -0
- package/build/chains/rpcs.js +138 -0
- package/build/constants.d.ts +34 -0
- package/build/constants.d.ts.map +1 -0
- package/build/constants.js +40 -0
- package/build/contracts/Escrow.d.ts +162 -0
- package/build/contracts/Escrow.d.ts.map +1 -0
- package/build/contracts/Escrow.js +359 -0
- package/build/contracts/EscrowErrors.d.ts +75 -0
- package/build/contracts/EscrowErrors.d.ts.map +1 -0
- package/build/contracts/EscrowErrors.js +47 -0
- package/build/contracts/artifacts/ERC20Mock.json +344 -0
- package/build/contracts/artifacts/Erc20.json +344 -0
- package/build/contracts/artifacts/ErrorAbi.json +1847 -0
- package/build/contracts/artifacts/Escrow.json +1545 -0
- package/build/contracts/contract-events/AccessControlEvents.d.ts +51 -0
- package/build/contracts/contract-events/AccessControlEvents.d.ts.map +1 -0
- package/build/contracts/contract-events/AccessControlEvents.js +83 -0
- package/build/contracts/contract-events/CoverageInfo.d.ts +16 -0
- package/build/contracts/contract-events/CoverageInfo.d.ts.map +1 -0
- package/build/contracts/contract-events/CoverageInfo.js +135 -0
- package/build/contracts/contract-events/Erc20Events.d.ts +23 -0
- package/build/contracts/contract-events/Erc20Events.d.ts.map +1 -0
- package/build/contracts/contract-events/Erc20Events.js +52 -0
- package/build/contracts/contract-events/EscrowEvents.d.ts +64 -0
- package/build/contracts/contract-events/EscrowEvents.d.ts.map +1 -0
- package/build/contracts/contract-events/EscrowEvents.js +142 -0
- package/build/contracts/contract-events/types/AccessControlEvents.d.ts +9 -0
- package/build/contracts/contract-events/types/AccessControlEvents.d.ts.map +1 -0
- package/build/contracts/contract-events/types/AccessControlEvents.js +2 -0
- package/build/contracts/contract-events/types/events.d.ts +24 -0
- package/build/contracts/contract-events/types/events.d.ts.map +1 -0
- package/build/contracts/contract-events/types/events.js +2 -0
- package/build/contracts/deployment/avalanche/contracts.json +37 -0
- package/build/contracts/deployment/bitlayer/contracts.json +50 -0
- package/build/contracts/deployment/bsc/contracts.json +62 -0
- package/build/contracts/deployment/config.d.ts +4 -0
- package/build/contracts/deployment/config.d.ts.map +1 -0
- package/build/contracts/deployment/config.js +19 -0
- package/build/contracts/deployment/fantom/contracts.json +61 -0
- package/build/contracts/deployment/mumbai/contracts.json +43 -0
- package/build/contracts/deployment/polygon/contracts.json +43 -0
- package/build/contracts/deployment/sepolia/contracts.json +62 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/access/AccessControl.d.ts +160 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/access/AccessControl.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/access/AccessControl.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/access/IAccessControl.d.ts +148 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/access/IAccessControl.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/access/IAccessControl.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/access/Ownable.d.ts +55 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/access/Ownable.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/access/Ownable.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/access/index.d.ts +4 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/access/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/access/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/index.d.ts +9 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.d.ts +79 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.d.ts +21 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.d.ts +21 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.d.ts +21 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.d.ts +4 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +4 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/interfaces/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.d.ts +142 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.d.ts +130 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.d.ts +142 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/index.d.ts +5 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/ERC20/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/index.d.ts +3 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/token/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/ShortStrings.d.ts +21 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/ShortStrings.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/ShortStrings.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/Strings.d.ts +21 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/Strings.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/Strings.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/cryptography/EIP712.d.ts +79 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/cryptography/EIP712.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/cryptography/EIP712.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/cryptography/index.d.ts +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/cryptography/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/cryptography/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/index.d.ts +9 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/introspection/ERC165.d.ts +30 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/introspection/ERC165.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/introspection/ERC165.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/introspection/IERC165.d.ts +30 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/introspection/IERC165.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/introspection/IERC165.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/introspection/index.d.ts +3 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/introspection/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/introspection/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.d.ts +21 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/math/index.d.ts +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/math/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts/utils/math/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts-upgradeable/index.d.ts +3 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts-upgradeable/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts-upgradeable/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.d.ts +3 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.d.ts +37 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.d.ts +2 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.js +2 -0
- package/build/contracts/typechain-types/@openzeppelin/index.d.ts +5 -0
- package/build/contracts/typechain-types/@openzeppelin/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/@openzeppelin/index.js +2 -0
- package/build/contracts/typechain-types/common.d.ts +51 -0
- package/build/contracts/typechain-types/common.d.ts.map +1 -0
- package/build/contracts/typechain-types/common.js +2 -0
- package/build/contracts/typechain-types/contracts/escrow/Escrow.d.ts +856 -0
- package/build/contracts/typechain-types/contracts/escrow/Escrow.d.ts.map +1 -0
- package/build/contracts/typechain-types/contracts/escrow/Escrow.js +2 -0
- package/build/contracts/typechain-types/contracts/escrow/EscrowAccessControl.d.ts +218 -0
- package/build/contracts/typechain-types/contracts/escrow/EscrowAccessControl.d.ts.map +1 -0
- package/build/contracts/typechain-types/contracts/escrow/EscrowAccessControl.js +2 -0
- package/build/contracts/typechain-types/contracts/escrow/EscrowErrors.d.ts +21 -0
- package/build/contracts/typechain-types/contracts/escrow/EscrowErrors.d.ts.map +1 -0
- package/build/contracts/typechain-types/contracts/escrow/EscrowErrors.js +2 -0
- package/build/contracts/typechain-types/contracts/escrow/EscrowSignature.d.ts +120 -0
- package/build/contracts/typechain-types/contracts/escrow/EscrowSignature.d.ts.map +1 -0
- package/build/contracts/typechain-types/contracts/escrow/EscrowSignature.js +2 -0
- package/build/contracts/typechain-types/contracts/escrow/TokensWhitelist.d.ts +82 -0
- package/build/contracts/typechain-types/contracts/escrow/TokensWhitelist.d.ts.map +1 -0
- package/build/contracts/typechain-types/contracts/escrow/TokensWhitelist.js +2 -0
- package/build/contracts/typechain-types/contracts/escrow/index.d.ts +6 -0
- package/build/contracts/typechain-types/contracts/escrow/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/contracts/escrow/index.js +2 -0
- package/build/contracts/typechain-types/contracts/index.d.ts +5 -0
- package/build/contracts/typechain-types/contracts/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/contracts/index.js +2 -0
- package/build/contracts/typechain-types/contracts/mock/erc20/ERC20Mock.d.ts +146 -0
- package/build/contracts/typechain-types/contracts/mock/erc20/ERC20Mock.d.ts.map +1 -0
- package/build/contracts/typechain-types/contracts/mock/erc20/ERC20Mock.js +2 -0
- package/build/contracts/typechain-types/contracts/mock/erc20/index.d.ts +2 -0
- package/build/contracts/typechain-types/contracts/mock/erc20/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/contracts/mock/erc20/index.js +2 -0
- package/build/contracts/typechain-types/contracts/mock/index.d.ts +3 -0
- package/build/contracts/typechain-types/contracts/mock/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/contracts/mock/index.js +2 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.d.ts +182 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.js +244 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.d.ts +158 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.js +212 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.d.ts +65 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.js +93 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/access/index.d.ts +4 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/access/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/access/index.js +12 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/index.d.ts +5 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/index.js +43 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.d.ts +47 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.js +68 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.d.ts +84 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.js +121 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.d.ts +72 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.js +105 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.d.ts +84 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.js +122 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.d.ts +4 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.js +12 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +3 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/interfaces/index.js +42 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.d.ts +242 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.js +327 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.d.ts +148 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.js +202 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.d.ts +178 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.js +241 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +2 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.js +8 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.d.ts +4 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.js +44 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/index.d.ts +2 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/token/index.js +40 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +35 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.js +55 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +43 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.js +65 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/EIP712__factory.d.ts +59 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/EIP712__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/EIP712__factory.js +84 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.d.ts +2 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.js +8 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/index.d.ts +6 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/index.js +46 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.d.ts +22 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.js +38 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.d.ts +22 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.js +38 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/introspection/index.d.ts +3 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/introspection/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/introspection/index.js +10 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts +63 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.js +93 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/math/index.d.ts +2 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/math/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts/utils/math/index.js +8 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.d.ts +2 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.js +40 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.d.ts +2 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.js +40 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.d.ts +26 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.js +42 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.d.ts +2 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.js +8 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/index.d.ts +3 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/@openzeppelin/index.js +41 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.d.ts +415 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.js +547 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.d.ts +151 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.js +205 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowSignature__factory.d.ts +151 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowSignature__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowSignature__factory.js +205 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.d.ts +1217 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.js +1582 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/TokensWhitelist__factory.d.ts +99 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/TokensWhitelist__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/TokensWhitelist__factory.js +139 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/index.d.ts +6 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/contracts/escrow/index.js +16 -0
- package/build/contracts/typechain-types/factories/contracts/index.d.ts +3 -0
- package/build/contracts/typechain-types/factories/contracts/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/contracts/index.js +41 -0
- package/build/contracts/typechain-types/factories/contracts/mock/erc20/ERC20Mock__factory.d.ts +283 -0
- package/build/contracts/typechain-types/factories/contracts/mock/erc20/ERC20Mock__factory.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/contracts/mock/erc20/ERC20Mock__factory.js +381 -0
- package/build/contracts/typechain-types/factories/contracts/mock/erc20/index.d.ts +2 -0
- package/build/contracts/typechain-types/factories/contracts/mock/erc20/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/contracts/mock/erc20/index.js +8 -0
- package/build/contracts/typechain-types/factories/contracts/mock/index.d.ts +2 -0
- package/build/contracts/typechain-types/factories/contracts/mock/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/contracts/mock/index.js +40 -0
- package/build/contracts/typechain-types/factories/index.d.ts +3 -0
- package/build/contracts/typechain-types/factories/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/factories/index.js +41 -0
- package/build/contracts/typechain-types/index.d.ts +52 -0
- package/build/contracts/typechain-types/index.d.ts.map +1 -0
- package/build/contracts/typechain-types/index.js +83 -0
- package/build/contracts/types/escrow.d.ts +42 -0
- package/build/contracts/types/escrow.d.ts.map +1 -0
- package/build/contracts/types/escrow.js +20 -0
- package/build/entities/Checkpoint.d.ts +11 -0
- package/build/entities/Checkpoint.d.ts.map +1 -0
- package/build/entities/Checkpoint.js +52 -0
- package/build/entities/ClaimHistory.d.ts +17 -0
- package/build/entities/ClaimHistory.d.ts.map +1 -0
- package/build/entities/ClaimHistory.js +73 -0
- package/build/entities/ClaimJob.d.ts +27 -0
- package/build/entities/ClaimJob.d.ts.map +1 -0
- package/build/entities/ClaimJob.js +113 -0
- package/build/entities/CryptoConfirmationLocks.d.ts +14 -0
- package/build/entities/CryptoConfirmationLocks.d.ts.map +1 -0
- package/build/entities/CryptoConfirmationLocks.js +65 -0
- package/build/entities/DepositAddress.d.ts +12 -0
- package/build/entities/DepositAddress.d.ts.map +1 -0
- package/build/entities/DepositAddress.js +56 -0
- package/build/entities/DepositWalletBalance.d.ts +16 -0
- package/build/entities/DepositWalletBalance.d.ts.map +1 -0
- package/build/entities/DepositWalletBalance.js +72 -0
- package/build/entities/SweepHistory.d.ts +16 -0
- package/build/entities/SweepHistory.d.ts.map +1 -0
- package/build/entities/SweepHistory.js +72 -0
- package/build/entities/SweepJob.d.ts +26 -0
- package/build/entities/SweepJob.d.ts.map +1 -0
- package/build/entities/SweepJob.js +116 -0
- package/build/entities/WalletIndex.d.ts +8 -0
- package/build/entities/WalletIndex.d.ts.map +1 -0
- package/build/entities/WalletIndex.js +40 -0
- package/build/errors/AdminErrors.d.ts +25 -0
- package/build/errors/AdminErrors.d.ts.map +1 -0
- package/build/errors/AdminErrors.js +45 -0
- package/build/errors/AlchemyErrors.d.ts +34 -0
- package/build/errors/AlchemyErrors.d.ts.map +1 -0
- package/build/errors/AlchemyErrors.js +79 -0
- package/build/errors/BalanceErrors.d.ts +23 -0
- package/build/errors/BalanceErrors.d.ts.map +1 -0
- package/build/errors/BalanceErrors.js +45 -0
- package/build/errors/DatabaseErrors.d.ts +25 -0
- package/build/errors/DatabaseErrors.d.ts.map +1 -0
- package/build/errors/DatabaseErrors.js +49 -0
- package/build/errors/TransactionsErrors.d.ts +37 -0
- package/build/errors/TransactionsErrors.d.ts.map +1 -0
- package/build/errors/TransactionsErrors.js +95 -0
- package/build/errors/VoltageErrors.d.ts +29 -0
- package/build/errors/VoltageErrors.d.ts.map +1 -0
- package/build/errors/VoltageErrors.js +69 -0
- package/build/errors/WalletErrors.d.ts +26 -0
- package/build/errors/WalletErrors.d.ts.map +1 -0
- package/build/errors/WalletErrors.js +55 -0
- package/build/errors/errors.d.ts +74 -0
- package/build/errors/errors.d.ts.map +1 -0
- package/build/errors/errors.js +117 -0
- package/build/errors/index.d.ts +81 -0
- package/build/errors/index.d.ts.map +1 -0
- package/build/errors/index.js +78 -0
- package/build/index.d.ts +95 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +208 -0
- package/build/interfaces/config.d.ts +75 -0
- package/build/interfaces/config.d.ts.map +1 -0
- package/build/interfaces/config.js +2 -0
- package/build/interfaces/database.d.ts +29 -0
- package/build/interfaces/database.d.ts.map +1 -0
- package/build/interfaces/database.js +2 -0
- package/build/interfaces.d.ts +311 -0
- package/build/interfaces.d.ts.map +1 -0
- package/build/interfaces.js +12 -0
- package/build/services/AccountingService.d.ts +34 -0
- package/build/services/AccountingService.d.ts.map +1 -0
- package/build/services/AccountingService.js +239 -0
- package/build/services/AlchemyService.d.ts +47 -0
- package/build/services/AlchemyService.d.ts.map +1 -0
- package/build/services/AlchemyService.js +239 -0
- package/build/services/AlchemyWebhookSignature.d.ts +16 -0
- package/build/services/AlchemyWebhookSignature.d.ts.map +1 -0
- package/build/services/AlchemyWebhookSignature.js +119 -0
- package/build/services/AlchemyWebhooks.d.ts +87 -0
- package/build/services/AlchemyWebhooks.d.ts.map +1 -0
- package/build/services/AlchemyWebhooks.js +406 -0
- package/build/services/AsyncTTLCache.d.ts +12 -0
- package/build/services/AsyncTTLCache.d.ts.map +1 -0
- package/build/services/AsyncTTLCache.js +67 -0
- package/build/services/AzureEventHubHandler.d.ts +32 -0
- package/build/services/AzureEventHubHandler.d.ts.map +1 -0
- package/build/services/AzureEventHubHandler.js +139 -0
- package/build/services/BalanceService.d.ts +39 -0
- package/build/services/BalanceService.d.ts.map +1 -0
- package/build/services/BalanceService.js +482 -0
- package/build/services/ChainManager.d.ts +86 -0
- package/build/services/ChainManager.d.ts.map +1 -0
- package/build/services/ChainManager.js +440 -0
- package/build/services/ClaimHistoryService.d.ts +40 -0
- package/build/services/ClaimHistoryService.d.ts.map +1 -0
- package/build/services/ClaimHistoryService.js +121 -0
- package/build/services/ClaimJobService.d.ts +45 -0
- package/build/services/ClaimJobService.d.ts.map +1 -0
- package/build/services/ClaimJobService.js +398 -0
- package/build/services/CryptoConfirmationLocksService.d.ts +13 -0
- package/build/services/CryptoConfirmationLocksService.d.ts.map +1 -0
- package/build/services/CryptoConfirmationLocksService.js +46 -0
- package/build/services/CryptoKeysManager.d.ts +16 -0
- package/build/services/CryptoKeysManager.d.ts.map +1 -0
- package/build/services/CryptoKeysManager.js +136 -0
- package/build/services/DepositAddressService.d.ts +41 -0
- package/build/services/DepositAddressService.d.ts.map +1 -0
- package/build/services/DepositAddressService.js +264 -0
- package/build/services/ElasticSearch.d.ts +19 -0
- package/build/services/ElasticSearch.d.ts.map +1 -0
- package/build/services/ElasticSearch.js +104 -0
- package/build/services/EventsHandler.d.ts +11 -0
- package/build/services/EventsHandler.d.ts.map +1 -0
- package/build/services/EventsHandler.js +39 -0
- package/build/services/EventsService.d.ts +44 -0
- package/build/services/EventsService.d.ts.map +1 -0
- package/build/services/EventsService.js +234 -0
- package/build/services/InvoiceQueue.d.ts +56 -0
- package/build/services/InvoiceQueue.d.ts.map +1 -0
- package/build/services/InvoiceQueue.js +297 -0
- package/build/services/KeyVaultService.d.ts +14 -0
- package/build/services/KeyVaultService.d.ts.map +1 -0
- package/build/services/KeyVaultService.js +92 -0
- package/build/services/PriceCache.d.ts +19 -0
- package/build/services/PriceCache.d.ts.map +1 -0
- package/build/services/PriceCache.js +125 -0
- package/build/services/ProviderManager.d.ts +41 -0
- package/build/services/ProviderManager.d.ts.map +1 -0
- package/build/services/ProviderManager.js +106 -0
- package/build/services/QuicknodeWebhookSignature.d.ts +14 -0
- package/build/services/QuicknodeWebhookSignature.d.ts.map +1 -0
- package/build/services/QuicknodeWebhookSignature.js +119 -0
- package/build/services/Redis.d.ts +41 -0
- package/build/services/Redis.d.ts.map +1 -0
- package/build/services/Redis.js +317 -0
- package/build/services/RedisListQueue.d.ts +15 -0
- package/build/services/RedisListQueue.d.ts.map +1 -0
- package/build/services/RedisListQueue.js +81 -0
- package/build/services/RedisPubSub.d.ts +41 -0
- package/build/services/RedisPubSub.d.ts.map +1 -0
- package/build/services/RedisPubSub.js +254 -0
- package/build/services/RedisQueue.d.ts +18 -0
- package/build/services/RedisQueue.d.ts.map +1 -0
- package/build/services/RedisQueue.js +82 -0
- package/build/services/StorageService.d.ts +12 -0
- package/build/services/StorageService.d.ts.map +1 -0
- package/build/services/StorageService.js +92 -0
- package/build/services/SweepHistoryService.d.ts +15 -0
- package/build/services/SweepHistoryService.d.ts.map +1 -0
- package/build/services/SweepHistoryService.js +52 -0
- package/build/services/SweepJobService.d.ts +52 -0
- package/build/services/SweepJobService.d.ts.map +1 -0
- package/build/services/SweepJobService.js +716 -0
- package/build/services/TimerManager.d.ts +44 -0
- package/build/services/TimerManager.d.ts.map +1 -0
- package/build/services/TimerManager.js +231 -0
- package/build/services/WalletIndexService.d.ts +11 -0
- package/build/services/WalletIndexService.d.ts.map +1 -0
- package/build/services/WalletIndexService.js +73 -0
- package/build/services/WalletManager.d.ts +42 -0
- package/build/services/WalletManager.d.ts.map +1 -0
- package/build/services/WalletManager.js +359 -0
- package/build/services/WithdrawalManager.d.ts +51 -0
- package/build/services/WithdrawalManager.d.ts.map +1 -0
- package/build/services/WithdrawalManager.js +368 -0
- package/build/services/Worker.d.ts +25 -0
- package/build/services/Worker.d.ts.map +1 -0
- package/build/services/Worker.js +115 -0
- package/build/services/solana/escrow/SolanaEscrowAdmin.d.ts +102 -0
- package/build/services/solana/escrow/SolanaEscrowAdmin.d.ts.map +1 -0
- package/build/services/solana/escrow/SolanaEscrowAdmin.js +209 -0
- package/build/services/solana/escrow/SolanaEscrowInteraction.d.ts +50 -0
- package/build/services/solana/escrow/SolanaEscrowInteraction.d.ts.map +1 -0
- package/build/services/solana/escrow/SolanaEscrowInteraction.js +235 -0
- package/build/services/solana/escrow/idl/escrow.json +2941 -0
- package/build/services/solana/escrow/index.d.ts +5 -0
- package/build/services/solana/escrow/index.d.ts.map +1 -0
- package/build/services/solana/escrow/index.js +20 -0
- package/build/services/solana/escrow/services/Errors.d.ts +19 -0
- package/build/services/solana/escrow/services/Errors.d.ts.map +1 -0
- package/build/services/solana/escrow/services/Errors.js +29 -0
- package/build/services/solana/escrow/services/EscrowAdminUtility.d.ts +121 -0
- package/build/services/solana/escrow/services/EscrowAdminUtility.d.ts.map +1 -0
- package/build/services/solana/escrow/services/EscrowAdminUtility.js +663 -0
- package/build/services/solana/escrow/services/EscrowService.d.ts +15 -0
- package/build/services/solana/escrow/services/EscrowService.d.ts.map +1 -0
- package/build/services/solana/escrow/services/EscrowService.js +155 -0
- package/build/services/solana/escrow/services/EscrowUtility.d.ts +58 -0
- package/build/services/solana/escrow/services/EscrowUtility.d.ts.map +1 -0
- package/build/services/solana/escrow/services/EscrowUtility.js +318 -0
- package/build/services/solana/escrow/services/TokenAccountService.d.ts +10 -0
- package/build/services/solana/escrow/services/TokenAccountService.d.ts.map +1 -0
- package/build/services/solana/escrow/services/TokenAccountService.js +145 -0
- package/build/services/solana/escrow/services/TransactionsService.d.ts +12 -0
- package/build/services/solana/escrow/services/TransactionsService.d.ts.map +1 -0
- package/build/services/solana/escrow/services/TransactionsService.js +44 -0
- package/build/services/solana/escrow/services/index.d.ts +7 -0
- package/build/services/solana/escrow/services/index.d.ts.map +1 -0
- package/build/services/solana/escrow/services/index.js +22 -0
- package/build/services/solana/escrow/types/custom.d.ts +14 -0
- package/build/services/solana/escrow/types/custom.d.ts.map +1 -0
- package/build/services/solana/escrow/types/custom.js +2 -0
- package/build/services/solana/escrow/types/escrow.d.ts +2948 -0
- package/build/services/solana/escrow/types/escrow.d.ts.map +1 -0
- package/build/services/solana/escrow/types/escrow.js +2 -0
- package/build/services/solana/escrow/types/index.d.ts +3 -0
- package/build/services/solana/escrow/types/index.d.ts.map +1 -0
- package/build/services/solana/escrow/types/index.js +18 -0
- package/build/services/solana/escrow/types/types.d.ts +19 -0
- package/build/services/solana/escrow/types/types.d.ts.map +1 -0
- package/build/services/solana/escrow/types/types.js +2 -0
- package/build/services/solana/index.d.ts +2 -0
- package/build/services/solana/index.d.ts.map +1 -0
- package/build/services/solana/index.js +17 -0
- package/build/services/tron/index.d.ts +5 -0
- package/build/services/tron/index.d.ts.map +1 -0
- package/build/services/tron/index.js +21 -0
- package/build/services/tron/services/BitQueryQueue.d.ts +13 -0
- package/build/services/tron/services/BitQueryQueue.d.ts.map +1 -0
- package/build/services/tron/services/BitQueryQueue.js +22 -0
- package/build/services/tron/services/BitQuerySubscription.d.ts +5 -0
- package/build/services/tron/services/BitQuerySubscription.d.ts.map +1 -0
- package/build/services/tron/services/BitQuerySubscription.js +7 -0
- package/build/services/tron/services/Escrow.d.ts +1 -0
- package/build/services/tron/services/Escrow.d.ts.map +1 -0
- package/build/services/tron/services/Escrow.js +1 -0
- package/build/services/tron/services/Transactions.d.ts +33 -0
- package/build/services/tron/services/Transactions.d.ts.map +1 -0
- package/build/services/tron/services/Transactions.js +164 -0
- package/build/services/tron/services/TronCustodialWallet.d.ts +17 -0
- package/build/services/tron/services/TronCustodialWallet.d.ts.map +1 -0
- package/build/services/tron/services/TronCustodialWallet.js +46 -0
- package/build/services/tron/services/TronFundingWallet.d.ts +30 -0
- package/build/services/tron/services/TronFundingWallet.d.ts.map +1 -0
- package/build/services/tron/services/TronFundingWallet.js +57 -0
- package/build/services/tron/services/TronHelper.d.ts +11 -0
- package/build/services/tron/services/TronHelper.d.ts.map +1 -0
- package/build/services/tron/services/TronHelper.js +29 -0
- package/build/services/tron/services/TronHotWallet.d.ts +29 -0
- package/build/services/tron/services/TronHotWallet.d.ts.map +1 -0
- package/build/services/tron/services/TronHotWallet.js +168 -0
- package/build/services/tron/services/TronSigner.d.ts +12 -0
- package/build/services/tron/services/TronSigner.d.ts.map +1 -0
- package/build/services/tron/services/TronSigner.js +51 -0
- package/build/services/tron/services/TronWallet.d.ts +32 -0
- package/build/services/tron/services/TronWallet.d.ts.map +1 -0
- package/build/services/tron/services/TronWallet.js +110 -0
- package/build/services/tron/types/bitquery.d.ts +26 -0
- package/build/services/tron/types/bitquery.d.ts.map +1 -0
- package/build/services/tron/types/bitquery.js +3 -0
- package/build/services/tron/types/index.d.ts +3 -0
- package/build/services/tron/types/index.d.ts.map +1 -0
- package/build/services/tron/types/index.js +18 -0
- package/build/services/tron/types/transactions.d.ts +36 -0
- package/build/services/tron/types/transactions.d.ts.map +1 -0
- package/build/services/tron/types/transactions.js +3 -0
- package/build/services/tron/types/tron_helper.d.ts +25 -0
- package/build/services/tron/types/tron_helper.d.ts.map +1 -0
- package/build/services/tron/types/tron_helper.js +3 -0
- package/build/services/types/RedisPubSub.d.ts +11 -0
- package/build/services/types/RedisPubSub.d.ts.map +1 -0
- package/build/services/types/RedisPubSub.js +15 -0
- package/build/services/types/accounting_service.d.ts +7 -0
- package/build/services/types/accounting_service.d.ts.map +1 -0
- package/build/services/types/accounting_service.js +2 -0
- package/build/services/types/alchemy.d.ts +243 -0
- package/build/services/types/alchemy.d.ts.map +1 -0
- package/build/services/types/alchemy.js +3 -0
- package/build/services/types/azure_event_hub_handler.d.ts +18 -0
- package/build/services/types/azure_event_hub_handler.d.ts.map +1 -0
- package/build/services/types/azure_event_hub_handler.js +20 -0
- package/build/services/types/balance_service.d.ts +10 -0
- package/build/services/types/balance_service.d.ts.map +1 -0
- package/build/services/types/balance_service.js +2 -0
- package/build/services/types/chain_manager.d.ts +49 -0
- package/build/services/types/chain_manager.d.ts.map +1 -0
- package/build/services/types/chain_manager.js +2 -0
- package/build/services/types/claim.d.ts +42 -0
- package/build/services/types/claim.d.ts.map +1 -0
- package/build/services/types/claim.js +2 -0
- package/build/services/types/claim_job_service.d.ts +54 -0
- package/build/services/types/claim_job_service.d.ts.map +1 -0
- package/build/services/types/claim_job_service.js +2 -0
- package/build/services/types/crypto_confirmation_locks_service.d.ts +6 -0
- package/build/services/types/crypto_confirmation_locks_service.d.ts.map +1 -0
- package/build/services/types/crypto_confirmation_locks_service.js +2 -0
- package/build/services/types/events_service.d.ts +57 -0
- package/build/services/types/events_service.d.ts.map +1 -0
- package/build/services/types/events_service.js +2 -0
- package/build/services/types/index.d.ts +16 -0
- package/build/services/types/index.d.ts.map +1 -0
- package/build/services/types/index.js +31 -0
- package/build/services/types/lightning.d.ts +129 -0
- package/build/services/types/lightning.d.ts.map +1 -0
- package/build/services/types/lightning.js +2 -0
- package/build/services/types/quicknode.d.ts +7 -0
- package/build/services/types/quicknode.d.ts.map +1 -0
- package/build/services/types/quicknode.js +2 -0
- package/build/services/types/sweep_job_service.d.ts +9 -0
- package/build/services/types/sweep_job_service.d.ts.map +1 -0
- package/build/services/types/sweep_job_service.js +3 -0
- package/build/services/types/timer_manager.d.ts +6 -0
- package/build/services/types/timer_manager.d.ts.map +1 -0
- package/build/services/types/timer_manager.js +2 -0
- package/build/services/types/wallet_manager.d.ts +36 -0
- package/build/services/types/wallet_manager.d.ts.map +1 -0
- package/build/services/types/wallet_manager.js +2 -0
- package/build/services/types/withdrawal.d.ts +48 -0
- package/build/services/types/withdrawal.d.ts.map +1 -0
- package/build/services/types/withdrawal.js +50 -0
- package/build/services/types/withdrawal_manager.d.ts +14 -0
- package/build/services/types/withdrawal_manager.d.ts.map +1 -0
- package/build/services/types/withdrawal_manager.js +2 -0
- package/build/services/utils/alchemy.d.ts +6 -0
- package/build/services/utils/alchemy.d.ts.map +1 -0
- package/build/services/utils/alchemy.js +155 -0
- package/build/services/utils/graphql.d.ts +2 -0
- package/build/services/utils/graphql.d.ts.map +1 -0
- package/build/services/utils/graphql.js +46 -0
- package/build/utils/AsyncRateLimiter.d.ts +23 -0
- package/build/utils/AsyncRateLimiter.d.ts.map +1 -0
- package/build/utils/AsyncRateLimiter.js +84 -0
- package/build/utils/AsyncTTLCache.d.ts +12 -0
- package/build/utils/AsyncTTLCache.d.ts.map +1 -0
- package/build/utils/AsyncTTLCache.js +69 -0
- package/build/utils/Logger.d.ts +67 -0
- package/build/utils/Logger.d.ts.map +1 -0
- package/build/utils/Logger.js +171 -0
- package/build/utils/MemoryMonitor.d.ts +12 -0
- package/build/utils/MemoryMonitor.d.ts.map +1 -0
- package/build/utils/MemoryMonitor.js +59 -0
- package/build/utils/Parsing.d.ts +13 -0
- package/build/utils/Parsing.d.ts.map +1 -0
- package/build/utils/Parsing.js +84 -0
- package/build/utils/RpcLimiter.d.ts +10 -0
- package/build/utils/RpcLimiter.d.ts.map +1 -0
- package/build/utils/RpcLimiter.js +28 -0
- package/build/utils/Utility.d.ts +23 -0
- package/build/utils/Utility.d.ts.map +1 -0
- package/build/utils/Utility.js +211 -0
- package/build/utils/Wallets.d.ts +4 -0
- package/build/utils/Wallets.d.ts.map +1 -0
- package/build/utils/Wallets.js +68 -0
- package/build/utils/custodial.d.ts +32 -0
- package/build/utils/custodial.d.ts.map +1 -0
- package/build/utils/custodial.js +291 -0
- package/build/utils/solana.d.ts +150 -0
- package/build/utils/solana.d.ts.map +1 -0
- package/build/utils/solana.js +658 -0
- package/package.json +107 -0
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const ethers_1 = require("ethers");
|
|
16
|
+
const Utility_1 = require("../utils/Utility");
|
|
17
|
+
const AzureEventHubHandler_1 = __importDefault(require("./AzureEventHubHandler"));
|
|
18
|
+
const EventsHandler_1 = __importDefault(require("./EventsHandler"));
|
|
19
|
+
const Wallets_1 = require("../utils/Wallets");
|
|
20
|
+
const event_hubs_1 = require("@azure/event-hubs");
|
|
21
|
+
const Logger_1 = require("../utils/Logger");
|
|
22
|
+
class EventsService {
|
|
23
|
+
constructor(config) {
|
|
24
|
+
/**
|
|
25
|
+
* Sends a single event to the event hub
|
|
26
|
+
* @param event
|
|
27
|
+
* @param eventHubNameOverride
|
|
28
|
+
* @param contractNameOverride
|
|
29
|
+
* @returns Promise resolving to a `boolean` status
|
|
30
|
+
*/
|
|
31
|
+
this.serviceSendEventSingle = (event, eventHubNameOverride) => __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
let finalEventObject = Object.assign({}, event);
|
|
33
|
+
try {
|
|
34
|
+
if (!EventsHandler_1.default.azureHandler) {
|
|
35
|
+
this.logger.info(`Azure handler does not exist. Recreating...`);
|
|
36
|
+
//Initialize Azure Event Hub handler for producing events to Azure service
|
|
37
|
+
EventsHandler_1.default.azureHandler = new AzureEventHubHandler_1.default(this.config);
|
|
38
|
+
}
|
|
39
|
+
const isSent = yield EventsHandler_1.default.azureHandler.sendEvent(finalEventObject);
|
|
40
|
+
if (!isSent) {
|
|
41
|
+
this.logger.info(`EventsHandler: Event not produced to Azure hub.`);
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.logger.info(`Successfully produced event to Azure Hub. ${finalEventObject.txHash ? `${finalEventObject.txHash}` : ""}`);
|
|
46
|
+
yield (0, Utility_1.sleep)(100);
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
this.logger.error(`EventsHandler: Error sending event to azure hub for event ${event.eventName} `, { data: { error, event } });
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* Sends a batch of events to the event hub sequentially
|
|
57
|
+
* @param logs
|
|
58
|
+
* @param eventHubNameOverride
|
|
59
|
+
* @param contractNameOverride
|
|
60
|
+
* @returns Promise resolving to a `boolean` status
|
|
61
|
+
*/
|
|
62
|
+
this.serviceSendAllEventsSequentially = (logs, eventHubNameOverride) => __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
try {
|
|
64
|
+
let failed = [];
|
|
65
|
+
for (let log of logs) {
|
|
66
|
+
let event = Object.assign({ eventName: log.eventName }, log);
|
|
67
|
+
yield this.serviceSendEventSingle(event, eventHubNameOverride);
|
|
68
|
+
yield new Promise(res => setImmediate(res));
|
|
69
|
+
// if (!isSent) failed.push(log);
|
|
70
|
+
}
|
|
71
|
+
return failed.length === 0;
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
this.logger.error(`EventsService: Error sending all events.`, { data: { error, logs } });
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
this.produce_events_pre_transaction = (candidates, status) => __awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
const events = candidates.map(c => {
|
|
80
|
+
const amount_decimals = ethers_1.ethers.formatUnits(c.amount, c.decimals);
|
|
81
|
+
return {
|
|
82
|
+
eventName: "Withdrawal",
|
|
83
|
+
blockchain: c.blockchain,
|
|
84
|
+
chainId: parseInt(c.chain_id),
|
|
85
|
+
confirmed: false,
|
|
86
|
+
status: status,
|
|
87
|
+
requestId: Number(c.request_id),
|
|
88
|
+
paymentType: c.payment_type,
|
|
89
|
+
caller: c.user_id.toString(),
|
|
90
|
+
payer: null,
|
|
91
|
+
// userId: c.user_id.toString(),
|
|
92
|
+
userId: Number(c.user_id),
|
|
93
|
+
receiver: c.receiver,
|
|
94
|
+
tokenAddress: (0, Wallets_1.normalizeAddress)(c.token, c.blockchain),
|
|
95
|
+
amount: parseFloat(amount_decimals),
|
|
96
|
+
txFeeNative: 0, // TODO: add estimate here
|
|
97
|
+
txFeeUsd: 0, // TODO: add estimate here
|
|
98
|
+
// Additional properties
|
|
99
|
+
parentContract: c.token,
|
|
100
|
+
batchSize: null,
|
|
101
|
+
timestamp: Math.floor(new Date().getTime() / 1000),
|
|
102
|
+
blockNumber: 0,
|
|
103
|
+
txHash: null,
|
|
104
|
+
gasUsed: 0,
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
yield this.serviceSendAllEventsSequentially(events);
|
|
108
|
+
});
|
|
109
|
+
this.produce_events_post_transaction = (candidates, status, confirmed) => __awaiter(this, void 0, void 0, function* () {
|
|
110
|
+
const events = candidates.map(c => {
|
|
111
|
+
const amount_decimals = ethers_1.ethers.formatUnits(c.amount, c.decimals);
|
|
112
|
+
return {
|
|
113
|
+
eventName: "Withdrawal",
|
|
114
|
+
blockchain: c.blockchain,
|
|
115
|
+
chainId: parseInt(c.chain_id),
|
|
116
|
+
// confirmed: c.blockchain === "solana" ? true : false, // Force confirm event for solana since there is no contract producing events yet
|
|
117
|
+
confirmed,
|
|
118
|
+
status: status,
|
|
119
|
+
requestId: Number(c.request_id),
|
|
120
|
+
paymentType: c.payment_type,
|
|
121
|
+
caller: c.user_id.toString(),
|
|
122
|
+
payer: (0, Wallets_1.normalizeAddress)(c.from, c.blockchain),
|
|
123
|
+
userId: Number(c.user_id),
|
|
124
|
+
receiver: (0, Wallets_1.normalizeAddress)(c.receiver, c.blockchain),
|
|
125
|
+
tokenAddress: (0, Wallets_1.normalizeAddress)(c.token, c.blockchain),
|
|
126
|
+
amount: parseFloat(amount_decimals),
|
|
127
|
+
txFeeNative: c.actual_tx_fee_native_decimals,
|
|
128
|
+
txFeeUsd: c.actual_tx_fee_usd_decimals,
|
|
129
|
+
// Additional properties
|
|
130
|
+
parentContract: c.token,
|
|
131
|
+
batchSize: c.batch_size,
|
|
132
|
+
timestamp: Math.floor(new Date().getTime() / 1000),
|
|
133
|
+
blockNumber: c.block_number,
|
|
134
|
+
txHash: c.tx_hash,
|
|
135
|
+
gasUsed: c.gas_used,
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
// setImmediate(() => serviceSendAllEventsSequentially(events))
|
|
139
|
+
yield this.serviceSendAllEventsSequentially(events);
|
|
140
|
+
});
|
|
141
|
+
//refactored
|
|
142
|
+
this.serviceHandleIncompleteEvents = (logs) => __awaiter(this, void 0, void 0, function* () {
|
|
143
|
+
for (let log of logs) {
|
|
144
|
+
this.logger.info(`EventsService: Cacheing failed event to elastic search...`);
|
|
145
|
+
let event = Object.assign({ eventName: log.eventName }, log);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
this.consumeEventHub = (eventHubName, chainId, eventName, startDate, endDate) => __awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
try {
|
|
150
|
+
const connectionString = this.config.config.azureConnectionStringNotifications;
|
|
151
|
+
const consumerGroup = "$Default";
|
|
152
|
+
const outputFileName = "eventHubData.json";
|
|
153
|
+
const consumerClient = new event_hubs_1.EventHubConsumerClient(consumerGroup, connectionString, eventHubName);
|
|
154
|
+
const allEvents = [];
|
|
155
|
+
let lastEventTime = Date.now();
|
|
156
|
+
const noEventTimeout = 5000; // max wait 5 seconds without new events
|
|
157
|
+
const subscription = consumerClient.subscribe({
|
|
158
|
+
processEvents: (events, context) => __awaiter(this, void 0, void 0, function* () {
|
|
159
|
+
if (events.length === 0) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
lastEventTime = Date.now();
|
|
163
|
+
const data = events.map(event => {
|
|
164
|
+
return JSON.stringify(event.body);
|
|
165
|
+
}).join("\n");
|
|
166
|
+
const parsedData = JSON.parse(data);
|
|
167
|
+
if (data && parsedData.confirmed && parsedData.chainId === parseInt(chainId) && parsedData.eventName === eventName) {
|
|
168
|
+
// Append received events to a file
|
|
169
|
+
// await fsPromises.appendFile(outputFileName, data + "\n");
|
|
170
|
+
allEvents.push(parsedData);
|
|
171
|
+
}
|
|
172
|
+
// Update the checkpoint.
|
|
173
|
+
yield context.updateCheckpoint(events[events.length - 1]);
|
|
174
|
+
}),
|
|
175
|
+
processError: (error, context) => __awaiter(this, void 0, void 0, function* () {
|
|
176
|
+
this.logger.error(`Error on partition "${context.partitionId}": ${error}`);
|
|
177
|
+
})
|
|
178
|
+
}, {
|
|
179
|
+
// Set the startPosition to a past timestamp to read past events
|
|
180
|
+
startPosition: {
|
|
181
|
+
enqueuedOn: startDate
|
|
182
|
+
},
|
|
183
|
+
});
|
|
184
|
+
// Keep checking for new events until the timeout is reached
|
|
185
|
+
while (Date.now() - lastEventTime < noEventTimeout) {
|
|
186
|
+
yield new Promise(resolve => setTimeout(resolve, 100));
|
|
187
|
+
}
|
|
188
|
+
yield subscription.close();
|
|
189
|
+
yield consumerClient.close();
|
|
190
|
+
// Return deduplicated array of event objects
|
|
191
|
+
return this.filterEventsByUniqueTxHash(allEvents);
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
this.logger.error(`ConsumeEvents: Error consuming events`, { data: { error, eventHubName, chainId } });
|
|
195
|
+
throw error;
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
this.consumePastEvents = (eventHubName, chainId, eventName, startTimeOffsetInDays, endTimeOffsetInDays) => __awaiter(this, void 0, void 0, function* () {
|
|
199
|
+
try {
|
|
200
|
+
// const { eventHubName, chainId, eventName, startTimeOffsetInDays, endTimeOffsetInDays } = req.query;
|
|
201
|
+
if (!eventHubName)
|
|
202
|
+
throw new Error("Missing `eventHubName` property.");
|
|
203
|
+
if (!startTimeOffsetInDays)
|
|
204
|
+
throw new Error("Missing `startTimeOffsetInDays` property.");
|
|
205
|
+
const startTimeDate = (0, Utility_1.convertOffsetInDaysToDate)(parseInt(startTimeOffsetInDays));
|
|
206
|
+
let endTimeDate;
|
|
207
|
+
if (endTimeOffsetInDays) {
|
|
208
|
+
endTimeDate = (0, Utility_1.convertOffsetInDaysToDate)(parseInt(endTimeOffsetInDays));
|
|
209
|
+
}
|
|
210
|
+
const events = yield this.consumeEventHub(eventHubName, chainId, eventName, startTimeDate, endTimeDate ? endTimeDate : undefined);
|
|
211
|
+
return { status: true, message: "Consumed events.", events };
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
this.logger.error(`EventhubController: Error consuming events.`, { data: { error, eventHubName, chainId, eventName } });
|
|
215
|
+
return { status: false, message: "Error consuming events.", error: error.message };
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
this.config = config;
|
|
219
|
+
this.logger = (0, Logger_1.createLogger)(`EventsService`, this.config.pipelineConfig.azureAppName);
|
|
220
|
+
}
|
|
221
|
+
filterEventsByUniqueTxHash(events) {
|
|
222
|
+
const set = new Set();
|
|
223
|
+
let uniqueHashes = [];
|
|
224
|
+
for (const event of events) {
|
|
225
|
+
if (set.has(event.txHash)) {
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
228
|
+
set.add(event.txHash);
|
|
229
|
+
uniqueHashes.push(event);
|
|
230
|
+
}
|
|
231
|
+
return uniqueHashes;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
exports.default = EventsService;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { IConfig } from "../interfaces/config";
|
|
2
|
+
import RedisQueue from "./RedisQueue";
|
|
3
|
+
import { PaymentIdRequest, PaymentRequest, UserId } from "./types/lightning";
|
|
4
|
+
declare class InvoiceQueue {
|
|
5
|
+
static instance: InvoiceQueue;
|
|
6
|
+
queue: RedisQueue;
|
|
7
|
+
pendingQueue: RedisQueue;
|
|
8
|
+
staleQueue: RedisQueue;
|
|
9
|
+
readonly PAYMENT_ID_TTL_S: number;
|
|
10
|
+
readonly PAYMENT_ID_REFRESH_MIN_TTL_S: number;
|
|
11
|
+
readonly PAYMENT_ID_TO_USER_KEY = "paymentIdToUser";
|
|
12
|
+
readonly USER_TO_PAYMENT_ID_KEY = "userToPaymentId";
|
|
13
|
+
readonly USER_TO_PAYMENT_REQUEST_KEY = "userToPaymentRequest";
|
|
14
|
+
readonly USER_TO_HASH_KEY = "userToHash";
|
|
15
|
+
readonly HASH_TO_USER_KEY = "hashToUser";
|
|
16
|
+
readonly USER_TO_INITIAL_INVOICE = "userToInvoice";
|
|
17
|
+
private readonly MAX_QUEUE_SIZE;
|
|
18
|
+
private redis;
|
|
19
|
+
default_invoice_expiry: number;
|
|
20
|
+
private errors;
|
|
21
|
+
private logger;
|
|
22
|
+
constructor(config: IConfig, MAX_QUEUE_SIZE?: number, TICK_INTERVAL_MS?: number, STALE_INVOICE_TIME_S?: number, PAYMENT_ID_TTL_S?: number, PAYMENT_ID_REFRESH_MIN_TTL_S?: number);
|
|
23
|
+
static getInstance(config: IConfig, MAX_QUEUE_SIZE?: number, TICK_INTERVAL?: number, STALE_INVOICE_TIME?: number): InvoiceQueue;
|
|
24
|
+
shutdownGracefully: () => Promise<void>;
|
|
25
|
+
getInitialInvoice: (userId: UserId) => Promise<string | null>;
|
|
26
|
+
setInitialInvoice: (userId: UserId, invoice: string, expires_at_timestamp: number) => Promise<string | import("@redis/client/dist/lib/RESP/types").ReplyUnion[] | null>;
|
|
27
|
+
private _removeInitialInvoice;
|
|
28
|
+
getPaymentRequest: (userId: UserId) => Promise<PaymentRequest>;
|
|
29
|
+
clearInvoiceRecords: (userId: UserId) => Promise<void>;
|
|
30
|
+
addPaymentIdToMap: (paymentId: string, userId: number, amount_in_btc_decimal: number) => Promise<PaymentIdRequest>;
|
|
31
|
+
addPaymentRequest: (userId: UserId, paymentRequest: PaymentRequest) => Promise<void>;
|
|
32
|
+
addHashToMap: (r_hash: string, userId: number) => Promise<void>;
|
|
33
|
+
_removePaymentRequest: (userId: UserId) => Promise<void>;
|
|
34
|
+
_removeHash: (userId: number) => Promise<void>;
|
|
35
|
+
private _removeHashFromMap;
|
|
36
|
+
private _removePaymentIdFromMap;
|
|
37
|
+
findUserByPaymentHash: (r_hash: string) => Promise<number | null>;
|
|
38
|
+
findUserByPaymentId: (payment_id: string) => Promise<number | null>;
|
|
39
|
+
findPaymentIdByUser: (userId: number) => Promise<PaymentIdRequest | null>;
|
|
40
|
+
getAllPaymentIdsByPrefix(prefix: string): Promise<{
|
|
41
|
+
key: string;
|
|
42
|
+
value: any;
|
|
43
|
+
}[]>;
|
|
44
|
+
getInvoicesInMap: () => Promise<{
|
|
45
|
+
key: string;
|
|
46
|
+
value: any;
|
|
47
|
+
}[]>;
|
|
48
|
+
createPaymentIdRequest: (userId: number, amount_in_btc_decimal: number) => Promise<PaymentIdRequest>;
|
|
49
|
+
pushInvoiceToQueue: (r_hash: string, payment_id: string) => Promise<boolean>;
|
|
50
|
+
private addInvoiceToQueue;
|
|
51
|
+
removeInvoiceFromQueue: (r_hash: string) => Promise<boolean>;
|
|
52
|
+
removeInvoiceFromPendingQueue: (r_hash: string) => Promise<boolean>;
|
|
53
|
+
private tickPendingQueue;
|
|
54
|
+
}
|
|
55
|
+
export default InvoiceQueue;
|
|
56
|
+
//# sourceMappingURL=InvoiceQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvoiceQueue.d.ts","sourceRoot":"","sources":["../../src/services/InvoiceQueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI/C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG7E,cAAM,YAAY;IACd,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IAC9B,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,4BAA4B,EAAE,MAAM,CAAC;IACrD,SAAgB,sBAAsB,qBAAqB;IAC3D,SAAgB,sBAAsB,qBAAqB;IAC3D,SAAgB,2BAA2B,0BAA0B;IACrE,SAAgB,gBAAgB,gBAAgB;IAChD,SAAgB,gBAAgB,gBAAgB;IAChD,SAAgB,uBAAuB,mBAAmB;IAE1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,KAAK,CAAQ;IACd,sBAAsB,EAAE,MAAM,CAAC;IAEtC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,OAAO,EAAE,cAAc,SAAK,EAAE,gBAAgB,SAAO,EAAE,oBAAoB,SAAU,EAAE,gBAAgB,SAAU,EAAE,4BAA4B,SAAS;IAc5K,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,SAAK,EAAE,aAAa,SAAO,EAAE,kBAAkB,SAAU;IAUpG,kBAAkB,sBAQxB;IAGM,iBAAiB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxE;IAEM,iBAAiB,GAAU,QAAQ,MAAM,EAAE,SAAS,MAAM,EAAE,sBAAsB,MAAM,uFAG9F;IAED,OAAO,CAAC,qBAAqB,CAG5B;IAGM,iBAAiB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,cAAc,CAAC,CAGzE;IAGM,mBAAmB,GAAU,QAAQ,MAAM,mBAKjD;IAGM,iBAAiB,GAAU,WAAW,MAAM,EAAE,QAAQ,MAAM,EAAE,uBAAuB,MAAM,+BAejG;IAIM,iBAAiB,GAAU,QAAQ,MAAM,EAAE,gBAAgB,cAAc,mBAU/E;IAGM,YAAY,GAAU,QAAQ,MAAM,EAAE,QAAQ,MAAM,mBAY1D;IAEM,qBAAqB,GAAU,QAAQ,MAAM,mBAGnD;IAGM,WAAW,GAAU,QAAQ,MAAM,mBAEzC;IAGD,OAAO,CAAC,kBAAkB,CAazB;IAGD,OAAO,CAAC,uBAAuB,CAc9B;IACM,qBAAqB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAM5E;IAEM,mBAAmB,GAAU,YAAY,MAAM,4BAWrD;IAEM,mBAAmB,GAAU,QAAQ,MAAM,sCAGjD;IAEY,wBAAwB,CAAC,MAAM,EAAE,MAAM;aAEpB,MAAM;eAAS,GAAG;;IAuB3C,gBAAgB;aAvBS,MAAM;eAAS,GAAG;SA0BjD;IAEM,sBAAsB,GAAU,QAAQ,MAAM,EAAE,uBAAuB,MAAM,+BAOnF;IAIM,kBAAkB,GAAU,QAAQ,MAAM,EAAE,YAAY,MAAM,sBA6BpE;IAKD,OAAO,CAAC,iBAAiB,CA8BxB;IAGM,sBAAsB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC,CAKvE;IAGM,6BAA6B,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC,CAgB9E;IAID,OAAO,CAAC,gBAAgB,CAqBvB;CAEJ;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const VoltageErrors_1 = __importDefault(require("../errors/VoltageErrors"));
|
|
16
|
+
const Logger_1 = require("../utils/Logger");
|
|
17
|
+
const Utility_1 = require("../utils/Utility");
|
|
18
|
+
const Redis_1 = __importDefault(require("./Redis"));
|
|
19
|
+
const RedisQueue_1 = __importDefault(require("./RedisQueue"));
|
|
20
|
+
class InvoiceQueue {
|
|
21
|
+
constructor(config, MAX_QUEUE_SIZE = 10, TICK_INTERVAL_MS = 1000, STALE_INVOICE_TIME_S = 16 * 60, PAYMENT_ID_TTL_S = 15 * 60, PAYMENT_ID_REFRESH_MIN_TTL_S = 3 * 60) {
|
|
22
|
+
this.PAYMENT_ID_TO_USER_KEY = "paymentIdToUser";
|
|
23
|
+
this.USER_TO_PAYMENT_ID_KEY = "userToPaymentId";
|
|
24
|
+
this.USER_TO_PAYMENT_REQUEST_KEY = "userToPaymentRequest";
|
|
25
|
+
this.USER_TO_HASH_KEY = "userToHash";
|
|
26
|
+
this.HASH_TO_USER_KEY = "hashToUser";
|
|
27
|
+
this.USER_TO_INITIAL_INVOICE = "userToInvoice";
|
|
28
|
+
// Called in case of SIGTERM or SIGINT
|
|
29
|
+
// Backs up the invoices in the queue to db
|
|
30
|
+
this.shutdownGracefully = () => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
this.logger.warn(`App shutting down gracefully. ${yield this.queue.length()} items in queue`);
|
|
32
|
+
// TODO: Backup queue to db
|
|
33
|
+
// Potentially back up the response form the websocket
|
|
34
|
+
// Stop listener
|
|
35
|
+
// await this.invoiceStream.stop_listener();
|
|
36
|
+
});
|
|
37
|
+
this.getInitialInvoice = (userId) => __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
const userToInitialInvoice = `${this.USER_TO_INITIAL_INVOICE}-${userId.toString()}`;
|
|
39
|
+
return this.redis.get(userToInitialInvoice);
|
|
40
|
+
});
|
|
41
|
+
this.setInitialInvoice = (userId, invoice, expires_at_timestamp) => __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
const userToInitialInvoice = `${this.USER_TO_INITIAL_INVOICE}-${userId.toString()}`;
|
|
43
|
+
return this.redis.set(userToInitialInvoice, invoice, { expires_at: expires_at_timestamp, ttl: this.PAYMENT_ID_TTL_S });
|
|
44
|
+
});
|
|
45
|
+
this._removeInitialInvoice = (userId) => __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const userToInitialInvoice = `${this.USER_TO_INITIAL_INVOICE}-${userId.toString()}`;
|
|
47
|
+
return this.redis.delete(userToInitialInvoice);
|
|
48
|
+
});
|
|
49
|
+
this.getPaymentRequest = (userId) => __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
const userToPaymentKey = `${this.USER_TO_PAYMENT_REQUEST_KEY}-${userId.toString()}`;
|
|
51
|
+
return yield this.redis.get_object(userToPaymentKey);
|
|
52
|
+
});
|
|
53
|
+
// Clear all records related to a user's lnurl request (payment id, payment request, timers..)
|
|
54
|
+
this.clearInvoiceRecords = (userId) => __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
yield this._removePaymentIdFromMap(userId);
|
|
56
|
+
yield this._removeHashFromMap(userId);
|
|
57
|
+
yield this._removePaymentRequest(userId);
|
|
58
|
+
yield this._removeInitialInvoice(userId);
|
|
59
|
+
});
|
|
60
|
+
// Add association for payment id <=> user id
|
|
61
|
+
this.addPaymentIdToMap = (paymentId, userId, amount_in_btc_decimal) => __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
// Calculate expiry time
|
|
63
|
+
const { created_at, expires_at, expires_at_timestamp_s: expires_at_s, duration_s: duration } = (0, Utility_1.get_expiry_time)(this.PAYMENT_ID_TTL_S);
|
|
64
|
+
const newEntry = { paymentId, amount_in_btc_decimal, createdAt: created_at, expiresAt: expires_at, duration_s: duration };
|
|
65
|
+
yield this.redis.set(`${this.PAYMENT_ID_TO_USER_KEY}-${paymentId}`, userId.toString(), { expires_at: expires_at_s, ttl: duration });
|
|
66
|
+
yield this.redis.set_object(`${this.USER_TO_PAYMENT_ID_KEY}-${userId.toString()}`, newEntry, { expires_at: expires_at_s, ttl: duration });
|
|
67
|
+
return newEntry;
|
|
68
|
+
});
|
|
69
|
+
// maps payment request to a user id
|
|
70
|
+
// Deletes mapping of payment id and payment request after expiry
|
|
71
|
+
this.addPaymentRequest = (userId, paymentRequest) => __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
const userToPaymentRequestKey = `${this.USER_TO_PAYMENT_REQUEST_KEY}-${userId.toString()}`;
|
|
73
|
+
// Calculate expiry time
|
|
74
|
+
const { expires_at_timestamp_s: expires_at_s, duration_s: duration } = (0, Utility_1.get_expiry_time)(this.PAYMENT_ID_TTL_S);
|
|
75
|
+
yield this.redis.set_object(userToPaymentRequestKey, paymentRequest, { expires_at: expires_at_s, ttl: duration });
|
|
76
|
+
});
|
|
77
|
+
// Associate invoice hash to user id
|
|
78
|
+
this.addHashToMap = (r_hash, userId) => __awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
const hashToUserKey = `${this.HASH_TO_USER_KEY}-${r_hash}`;
|
|
80
|
+
const userToHashKey = `${this.USER_TO_HASH_KEY}-${userId.toString()}`;
|
|
81
|
+
const { expires_at_timestamp_s: expires_at_s, duration_s: duration } = (0, Utility_1.get_expiry_time)(this.default_invoice_expiry);
|
|
82
|
+
yield this.redis.set(hashToUserKey, userId.toString(), { expires_at: expires_at_s, ttl: duration });
|
|
83
|
+
yield this.redis.set(userToHashKey, r_hash, { expires_at: expires_at_s, ttl: duration });
|
|
84
|
+
this.logger.info(`Scheduling timer. Clear user ${userId} payment id in ${this.default_invoice_expiry * 1000}s`);
|
|
85
|
+
});
|
|
86
|
+
this._removePaymentRequest = (userId) => __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
const userToPaymentKey = `${this.USER_TO_PAYMENT_REQUEST_KEY}-${userId.toString()}`;
|
|
88
|
+
yield this.redis.delete(userToPaymentKey);
|
|
89
|
+
});
|
|
90
|
+
// Remove all associations for a user
|
|
91
|
+
this._removeHash = (userId) => __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
yield this._removeHashFromMap(userId);
|
|
93
|
+
});
|
|
94
|
+
// Removes associations for invoice hash <=> user id
|
|
95
|
+
this._removeHashFromMap = (userId) => __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
const key = `${this.USER_TO_HASH_KEY}-${userId.toString()}`;
|
|
97
|
+
const r_hash = yield this.redis.get(key);
|
|
98
|
+
if (r_hash) {
|
|
99
|
+
const userKey = `${this.USER_TO_HASH_KEY}-${userId.toString()}`;
|
|
100
|
+
const hashKey = `${this.HASH_TO_USER_KEY}-${r_hash}`;
|
|
101
|
+
const user = yield this.redis.get(userKey);
|
|
102
|
+
yield this.redis.delete(userKey);
|
|
103
|
+
yield this.redis.delete(hashKey);
|
|
104
|
+
this.logger.info(`Invoice ${r_hash} is settled for user id ${userId} `);
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
return false;
|
|
108
|
+
});
|
|
109
|
+
// Delete associations for payment id <=> user id
|
|
110
|
+
this._removePaymentIdFromMap = (userId) => __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
const payment = yield this.findPaymentIdByUser(userId);
|
|
112
|
+
if (payment) {
|
|
113
|
+
const user_id = yield this.findUserByPaymentId(payment === null || payment === void 0 ? void 0 : payment.paymentId);
|
|
114
|
+
if (user_id !== null) {
|
|
115
|
+
const paymentIdKey = `${this.PAYMENT_ID_TO_USER_KEY}-${payment.paymentId}`;
|
|
116
|
+
const userIdKey = `${this.USER_TO_PAYMENT_ID_KEY}-${user_id.toString()}`;
|
|
117
|
+
yield this.redis.delete(paymentIdKey);
|
|
118
|
+
yield this.redis.delete_object(userIdKey);
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return false;
|
|
123
|
+
});
|
|
124
|
+
this.findUserByPaymentHash = (r_hash) => __awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
const key = `${this.HASH_TO_USER_KEY}-${r_hash}`;
|
|
126
|
+
const userId = yield this.redis.get(key);
|
|
127
|
+
if (!userId)
|
|
128
|
+
return null;
|
|
129
|
+
return parseInt(userId);
|
|
130
|
+
});
|
|
131
|
+
// Get user id for a given payment Id
|
|
132
|
+
this.findUserByPaymentId = (payment_id) => __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
const key = `${this.PAYMENT_ID_TO_USER_KEY}-${payment_id}`;
|
|
134
|
+
this.logger.info(`getting paymnet id for user. with key ${key} payment id: ${payment_id} `);
|
|
135
|
+
const user_id = yield this.redis.get(key);
|
|
136
|
+
if (!user_id) {
|
|
137
|
+
this.logger.info(`User id not found for payment id ${payment_id}`);
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
this.logger.info(`Found user id ${user_id} associated with payment id ${payment_id}`);
|
|
141
|
+
return parseInt(user_id);
|
|
142
|
+
});
|
|
143
|
+
this.findPaymentIdByUser = (userId) => __awaiter(this, void 0, void 0, function* () {
|
|
144
|
+
const key = `${this.USER_TO_PAYMENT_ID_KEY}-${userId.toString()}`;
|
|
145
|
+
return yield this.redis.get_object(key);
|
|
146
|
+
});
|
|
147
|
+
// Get all invoices - admin
|
|
148
|
+
this.getInvoicesInMap = () => __awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
return yield this.getAllPaymentIdsByPrefix(this.USER_TO_HASH_KEY);
|
|
150
|
+
});
|
|
151
|
+
this.createPaymentIdRequest = (userId, amount_in_btc_decimal) => __awaiter(this, void 0, void 0, function* () {
|
|
152
|
+
// Generate a unique payment ID
|
|
153
|
+
const _paymentId = crypto.randomUUID();
|
|
154
|
+
// Bidirectional map for payment id to user id relationship
|
|
155
|
+
let new_payment = yield this.addPaymentIdToMap(_paymentId, userId, amount_in_btc_decimal);
|
|
156
|
+
return new_payment;
|
|
157
|
+
});
|
|
158
|
+
// Entrypoint for subscribing to invoices
|
|
159
|
+
this.pushInvoiceToQueue = (r_hash, payment_id) => __awaiter(this, void 0, void 0, function* () {
|
|
160
|
+
try {
|
|
161
|
+
if (!r_hash) {
|
|
162
|
+
throw new Error(this.errors.RequireParameter("r_hash"));
|
|
163
|
+
}
|
|
164
|
+
const userId = yield this.findUserByPaymentId(payment_id);
|
|
165
|
+
if (userId === undefined || userId === null) {
|
|
166
|
+
throw new Error(this.errors.PaymentIdNotFound(payment_id));
|
|
167
|
+
}
|
|
168
|
+
this.logger.info(`InvoiceQueue: Subscribing to invoice ${r_hash}`);
|
|
169
|
+
// Add invoice to queue
|
|
170
|
+
// TODO: Remove this because its not needed
|
|
171
|
+
const isAdded = yield this.addInvoiceToQueue(r_hash, userId);
|
|
172
|
+
this.logger.info(`InvoiceQueue: isAdded: ${isAdded}`);
|
|
173
|
+
if (!isAdded) {
|
|
174
|
+
this.logger.info(`invoice not added to queue`);
|
|
175
|
+
}
|
|
176
|
+
// Bidirectional map for r_hash to user id relationship
|
|
177
|
+
yield this.addHashToMap(r_hash, userId);
|
|
178
|
+
// Ensure the stream is open
|
|
179
|
+
// this.initialize_stream();
|
|
180
|
+
return isAdded;
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
this.logger.error(`InvoiceQueue: Error listening for invoice ${r_hash}`, { data: { error, r_hash, payment_id } });
|
|
184
|
+
// TODO handle invoice error, reject payment request
|
|
185
|
+
throw error;
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
// Add invoice to main queue or pending queue
|
|
189
|
+
// TODO: Add mapping or set to enhance search performance
|
|
190
|
+
this.addInvoiceToQueue = (r_hash, userId) => __awaiter(this, void 0, void 0, function* () {
|
|
191
|
+
this.logger.info(`Adding invoice to queue. r_hash ${r_hash}`);
|
|
192
|
+
// Check if invoice is already in main queue
|
|
193
|
+
const existingInvoice = yield this.queue.find((invoice) => invoice.r_hash === r_hash);
|
|
194
|
+
if (existingInvoice) {
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
// Check if invoice is already in pending queue
|
|
198
|
+
const existingPendingInvoice = yield this.pendingQueue.find((invoice) => invoice.r_hash === r_hash);
|
|
199
|
+
if (existingPendingInvoice) {
|
|
200
|
+
return true;
|
|
201
|
+
}
|
|
202
|
+
// this.invoices.set(userId, r_hash);
|
|
203
|
+
// Queue is full, add to pending queue
|
|
204
|
+
if ((yield this.queue.length()) >= this.MAX_QUEUE_SIZE) {
|
|
205
|
+
yield this.pendingQueue.push({ userId, r_hash, isFulfilled: false, timestamp: Math.floor(Date.now() / 1000) });
|
|
206
|
+
this.logger.info(`InvoiceQueue: Queue is full, adding invoice ${r_hash} to pending queue. Queue size: ${yield this.queue.length()} : Pending queue: ${yield this.pendingQueue.length()}`);
|
|
207
|
+
// TODO: We can track the index in a map
|
|
208
|
+
return true;
|
|
209
|
+
}
|
|
210
|
+
// Add invoice to main queue for immediate processing
|
|
211
|
+
yield this.queue.push({ userId, r_hash, isFulfilled: false, timestamp: Math.floor(Date.now() / 1000) });
|
|
212
|
+
this.logger.info(`InvoiceQueue: Added invoice ${r_hash} to main queue. Queue size: ${yield this.queue.length()} : Pending queue: ${yield this.pendingQueue.length()}`);
|
|
213
|
+
return true;
|
|
214
|
+
});
|
|
215
|
+
// Remove invoice from main queue
|
|
216
|
+
this.removeInvoiceFromQueue = (r_hash) => __awaiter(this, void 0, void 0, function* () {
|
|
217
|
+
let new_queue = yield this.queue.filter((invoice) => invoice.r_hash !== r_hash);
|
|
218
|
+
yield this.queue.set(new_queue);
|
|
219
|
+
this.logger.info(`InvoiceQueue: Removed invoice ${r_hash} from main queue. Queue size: ${yield this.queue.length()} : Pending queue: ${yield this.pendingQueue.length()}`);
|
|
220
|
+
return true;
|
|
221
|
+
});
|
|
222
|
+
// Remove invoice from pending queue
|
|
223
|
+
this.removeInvoiceFromPendingQueue = (r_hash) => __awaiter(this, void 0, void 0, function* () {
|
|
224
|
+
// No pending invoices
|
|
225
|
+
if ((yield this.pendingQueue.length()) === 0) {
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
// Doesnt exist in pending queue
|
|
229
|
+
if ((yield this.pendingQueue.filter((invoice) => invoice.r_hash === r_hash)).length === 0) {
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
// Remove invoice from pending queue
|
|
233
|
+
const new_queue = yield this.pendingQueue.filter((invoice) => invoice.r_hash !== r_hash);
|
|
234
|
+
yield this.pendingQueue.set(new_queue);
|
|
235
|
+
this.logger.info(`InvoiceQueue: Removed invoice ${r_hash} from pending queue. Queue size: ${yield this.pendingQueue.length()}`);
|
|
236
|
+
return true;
|
|
237
|
+
});
|
|
238
|
+
// Moves invoice from pending queue to main queue if there is space
|
|
239
|
+
this.tickPendingQueue = () => __awaiter(this, void 0, void 0, function* () {
|
|
240
|
+
const main_queue_length = yield this.queue.length();
|
|
241
|
+
// No pending invoices
|
|
242
|
+
if ((yield this.pendingQueue.length()) === 0 && main_queue_length == 0) {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
// If main queue has space, move invoice from pending queue to main queue
|
|
246
|
+
if (main_queue_length < this.MAX_QUEUE_SIZE) {
|
|
247
|
+
// Get first invoice in pending queue
|
|
248
|
+
const invoice = yield this.pendingQueue.shift();
|
|
249
|
+
if (!invoice) {
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
// Move invoice to main queue
|
|
253
|
+
this.addInvoiceToQueue(invoice.r_hash, invoice.userId);
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
this.queue = new RedisQueue_1.default(config, "invoice-main-queue");
|
|
258
|
+
this.pendingQueue = new RedisQueue_1.default(config, "invoice-pending-queue");
|
|
259
|
+
this.staleQueue = new RedisQueue_1.default(config, "invoice-stale-queue");
|
|
260
|
+
// this.voltage = Voltage.getInstance();
|
|
261
|
+
this.MAX_QUEUE_SIZE = MAX_QUEUE_SIZE;
|
|
262
|
+
this.PAYMENT_ID_TTL_S = config.serverConfig.lnUrlDefaultExpiryInSeconds;
|
|
263
|
+
this.PAYMENT_ID_REFRESH_MIN_TTL_S = config.serverConfig.lnUrlDefaultMinDurationRefreshInSeconds;
|
|
264
|
+
this.errors = new VoltageErrors_1.default();
|
|
265
|
+
this.redis = Redis_1.default.getInstance(config);
|
|
266
|
+
this.default_invoice_expiry = config.serverConfig.lnUrlDefaultExpiryInSeconds;
|
|
267
|
+
this.logger = (0, Logger_1.createLogger)(`InvoiceQueue`, config.pipelineConfig.azureAppName);
|
|
268
|
+
}
|
|
269
|
+
static getInstance(config, MAX_QUEUE_SIZE = 10, TICK_INTERVAL = 3000, STALE_INVOICE_TIME = 16 * 60) {
|
|
270
|
+
if (!InvoiceQueue.instance) {
|
|
271
|
+
InvoiceQueue.instance = new InvoiceQueue(config, MAX_QUEUE_SIZE, TICK_INTERVAL, STALE_INVOICE_TIME);
|
|
272
|
+
}
|
|
273
|
+
return InvoiceQueue.instance;
|
|
274
|
+
}
|
|
275
|
+
getAllPaymentIdsByPrefix(prefix) {
|
|
276
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
277
|
+
const pattern = `${prefix}-*`;
|
|
278
|
+
const results = [];
|
|
279
|
+
let cursor = "";
|
|
280
|
+
do {
|
|
281
|
+
// Scan for keys matching pattern
|
|
282
|
+
const scanResult = yield this.redis.client.scan(cursor, {
|
|
283
|
+
MATCH: pattern,
|
|
284
|
+
COUNT: 100
|
|
285
|
+
});
|
|
286
|
+
cursor = scanResult.cursor;
|
|
287
|
+
// Get values for found keys
|
|
288
|
+
for (const key of scanResult.keys) {
|
|
289
|
+
const value = yield this.redis.get_object(key);
|
|
290
|
+
results.push({ key, value });
|
|
291
|
+
}
|
|
292
|
+
} while (cursor !== "");
|
|
293
|
+
return results;
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
exports.default = InvoiceQueue;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SecretClient } from '@azure/keyvault-secrets';
|
|
2
|
+
declare class KeyVaultHandler {
|
|
3
|
+
vaultName: string;
|
|
4
|
+
url: string;
|
|
5
|
+
client: SecretClient | null;
|
|
6
|
+
defaultVaultName: string;
|
|
7
|
+
constructor(projectName: string, environment: string, env_suffix?: string);
|
|
8
|
+
initializeKeyVaultService: () => SecretClient;
|
|
9
|
+
store: (keyName: string, pkey: string) => Promise<boolean>;
|
|
10
|
+
delete: (keyName: string) => Promise<boolean>;
|
|
11
|
+
getSecretValue(secretName: string): Promise<string | null>;
|
|
12
|
+
}
|
|
13
|
+
export default KeyVaultHandler;
|
|
14
|
+
//# sourceMappingURL=KeyVaultService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyVaultService.d.ts","sourceRoot":"","sources":["../../src/services/KeyVaultService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,cAAM,eAAe;IACV,SAAS,EAAE,MAAM,CAAM;IACvB,GAAG,EAAE,MAAM,CAAM;IACjB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAQ;IACnC,gBAAgB,EAAE,MAAM,CAAC;gBAGpB,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAE,MAAW;IAmC7E,yBAAyB,qBAWxB;IAED,KAAK,GAAU,SAAS,MAAM,EAAE,MAAM,MAAM,sBAO3C;IAED,MAAM,GAAU,SAAS,MAAM,sBAI9B;IAEK,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAkBnE;AAED,eAAe,eAAe,CAAC"}
|