@socket.tech/dl-common 1.0.3-test.8 → 1.0.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/dist/constants/confirmations.d.ts +5 -0
- package/dist/constants/confirmations.js +17 -0
- package/dist/constants/enums.d.ts +9 -2
- package/dist/constants/enums.js +9 -1
- package/dist/constants/types.d.ts +14 -5
- package/dist/constants/types.js +9 -1
- package/dist/constants/waitTime.d.ts +1 -0
- package/dist/constants/waitTime.js +7 -13
- package/dist/dl-common/constants/confirmations.d.ts +5 -0
- package/dist/dl-common/constants/confirmations.js +17 -0
- package/dist/dl-common/constants/enums.d.ts +44 -0
- package/dist/{types/codes.js → dl-common/constants/enums.js} +25 -1
- package/dist/dl-common/constants/index.d.ts +3 -0
- package/dist/{types → dl-common/constants}/index.js +2 -1
- package/dist/{types → dl-common/constants}/types.d.ts +49 -9
- package/dist/{types → dl-common/constants}/types.js +17 -13
- package/dist/dl-common/constants/waitTime.d.ts +8 -0
- package/dist/dl-common/constants/waitTime.js +49 -0
- package/dist/dl-common/index.d.ts +4 -0
- package/dist/dl-common/index.js +20 -0
- package/dist/dl-common/models/attestSignature.d.ts +35 -0
- package/dist/dl-common/models/attestSignature.js +53 -0
- package/dist/{models/attestations.d.ts → dl-common/models/attestation.d.ts} +3 -2
- package/dist/{models/attestations.js → dl-common/models/attestation.js} +30 -3
- package/dist/dl-common/models/index.d.ts +7 -0
- package/dist/dl-common/models/index.js +23 -0
- package/dist/dl-common/models/lastBlock.d.ts +28 -0
- package/dist/dl-common/models/lastBlock.js +27 -0
- package/dist/dl-common/models/message.d.ts +166 -0
- package/dist/dl-common/models/message.js +183 -0
- package/dist/dl-common/models/packet.d.ts +241 -0
- package/dist/dl-common/models/packet.js +250 -0
- package/dist/dl-common/models/proposal.d.ts +127 -0
- package/dist/dl-common/models/proposal.js +141 -0
- package/dist/dl-common/models/switchboard.d.ts +69 -0
- package/dist/dl-common/models/switchboard.js +92 -0
- package/dist/dl-common/models/transaction.d.ts +0 -0
- package/dist/dl-common/models/transaction.js +280 -0
- package/dist/dl-common/services/cacheService.d.ts +14 -0
- package/dist/dl-common/services/cacheService.js +77 -0
- package/dist/dl-common/services/eventBridgeService.d.ts +8 -0
- package/dist/dl-common/services/eventBridgeService.js +40 -0
- package/dist/dl-common/services/index.d.ts +3 -0
- package/dist/dl-common/services/index.js +20 -0
- package/dist/dl-common/services/queueService.d.ts +10 -0
- package/dist/dl-common/services/queueService.js +62 -0
- package/dist/dl-common/utils/address.d.ts +2 -0
- package/dist/dl-common/utils/address.js +8 -0
- package/dist/dl-common/utils/axios.d.ts +2 -0
- package/dist/dl-common/utils/axios.js +54 -0
- package/dist/dl-common/utils/dataStructHelper.d.ts +2 -0
- package/dist/dl-common/utils/dataStructHelper.js +10 -0
- package/dist/dl-common/utils/discord.d.ts +2 -0
- package/dist/dl-common/utils/discord.js +35 -0
- package/dist/dl-common/utils/ethersAwsKmsSigner.d.ts +2 -0
- package/dist/dl-common/utils/ethersAwsKmsSigner.js +26 -0
- package/dist/dl-common/utils/eventGetter.d.ts +4 -0
- package/dist/dl-common/utils/eventGetter.js +50 -0
- package/dist/dl-common/utils/extraUtils.d.ts +32 -0
- package/dist/dl-common/utils/extraUtils.js +103 -0
- package/dist/dl-common/utils/idUtils.d.ts +14 -0
- package/dist/dl-common/utils/idUtils.js +50 -0
- package/dist/dl-common/utils/index.d.ts +13 -0
- package/dist/dl-common/utils/index.js +29 -0
- package/dist/dl-common/utils/relaySigner.d.ts +21 -0
- package/dist/dl-common/utils/relaySigner.js +68 -0
- package/dist/dl-common/utils/s3Service.d.ts +5 -0
- package/dist/dl-common/utils/s3Service.js +45 -0
- package/dist/dl-common/utils/secretManagerService.d.ts +2 -0
- package/dist/dl-common/utils/secretManagerService.js +33 -0
- package/dist/dl-common/utils/signer/adapter.d.ts +18 -0
- package/dist/dl-common/utils/signer/adapter.js +71 -0
- package/dist/dl-common/utils/signer/address.d.ts +10 -0
- package/dist/dl-common/utils/signer/address.js +42 -0
- package/dist/dl-common/utils/signer/asn1-parser.d.ts +11 -0
- package/dist/dl-common/utils/signer/asn1-parser.js +80 -0
- package/dist/dl-common/utils/signer/crypto.d.ts +6 -0
- package/dist/dl-common/utils/signer/crypto.js +34 -0
- package/dist/dl-common/utils/signer/index.d.ts +4 -0
- package/dist/dl-common/utils/signer/index.js +20 -0
- package/dist/dl-common/utils/signer/kms-ethers-signer.d.ts +19 -0
- package/dist/dl-common/utils/signer/kms-ethers-signer.js +32 -0
- package/dist/dl-common/utils/signer/kms-signer.d.ts +14 -0
- package/dist/dl-common/utils/signer/kms-signer.js +46 -0
- package/dist/dl-common/utils/signer/signature.d.ts +17 -0
- package/dist/dl-common/utils/signer/signature.js +65 -0
- package/dist/dl-common/utils/signer/signer.d.ts +7 -0
- package/dist/dl-common/utils/signer/signer.js +2 -0
- package/dist/dl-common/utils/time.d.ts +2 -0
- package/dist/dl-common/utils/time.js +7 -0
- package/dist/index.js +30 -14
- package/dist/models/attestation.d.ts +2 -2
- package/dist/models/attestation.js +2 -2
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.js +1 -0
- package/dist/models/lastBlock.d.ts +28 -0
- package/dist/models/lastBlock.js +27 -0
- package/dist/models/message.d.ts +2 -2
- package/dist/models/message.js +2 -2
- package/dist/models/packet.d.ts +10 -2
- package/dist/models/packet.js +11 -2
- package/dist/models/proposal.d.ts +2 -2
- package/dist/models/proposal.js +2 -2
- package/dist/models/switchboard.d.ts +10 -2
- package/dist/models/switchboard.js +22 -5
- package/dist/models/transaction.d.ts +0 -0
- package/dist/models/transaction.js +280 -0
- package/dist/services/eventBridgeService.d.ts +8 -0
- package/dist/services/eventBridgeService.js +40 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.js +1 -0
- package/dist/services/queueService.d.ts +2 -2
- package/dist/services/queueService.js +22 -14
- package/dist/src/constants/batcherModes.d.ts +7 -0
- package/dist/src/constants/batcherModes.js +56 -0
- package/dist/src/constants/config.d.ts +39 -0
- package/dist/src/constants/config.js +77 -0
- package/dist/src/constants/enums.d.ts +21 -0
- package/dist/src/constants/enums.js +27 -0
- package/dist/src/constants/gasEstimation.d.ts +8 -0
- package/dist/src/constants/gasEstimation.js +61 -0
- package/dist/src/constants/index.d.ts +11 -0
- package/dist/src/constants/index.js +28 -0
- package/dist/src/constants/limits.d.ts +21 -0
- package/dist/src/constants/limits.js +91 -0
- package/dist/src/constants/prometheus.config.d.ts +43 -0
- package/dist/src/constants/prometheus.config.js +316 -0
- package/dist/src/constants/relayer.d.ts +6 -0
- package/dist/src/constants/relayer.js +15 -0
- package/dist/src/constants/s3Config.d.ts +13 -0
- package/dist/src/constants/s3Config.js +61 -0
- package/dist/src/constants/stageConfig.d.ts +7 -0
- package/dist/src/constants/stageConfig.js +24 -0
- package/dist/src/constants/types.d.ts +45 -0
- package/dist/src/constants/types.js +2 -0
- package/dist/src/constants/watchers.d.ts +15 -0
- package/dist/src/constants/watchers.js +137 -0
- package/dist/src/controllers/index.d.ts +0 -0
- package/dist/src/controllers/index.js +3 -0
- package/dist/src/db/associations.d.ts +1 -0
- package/dist/src/db/associations.js +46 -0
- package/dist/src/db/connection.d.ts +4 -0
- package/dist/src/db/connection.js +73 -0
- package/dist/src/db/index.d.ts +2 -0
- package/dist/src/db/index.js +18 -0
- package/dist/src/db/init.d.ts +2 -0
- package/dist/src/db/init.js +27 -0
- package/dist/src/handlers/common.d.ts +2 -0
- package/dist/src/handlers/common.js +59 -0
- package/dist/src/handlers/cronHandler.d.ts +10 -0
- package/dist/src/handlers/cronHandler.js +268 -0
- package/dist/src/handlers/executeHandler.d.ts +3 -0
- package/dist/src/handlers/executeHandler.js +66 -0
- package/dist/src/handlers/handler.d.ts +2 -0
- package/dist/src/handlers/handler.js +29 -0
- package/dist/src/handlers/proposeHandler.d.ts +3 -0
- package/dist/src/handlers/proposeHandler.js +69 -0
- package/dist/src/handlers/routes.d.ts +2 -0
- package/dist/src/handlers/routes.js +26 -0
- package/dist/src/handlers/sealHandler.d.ts +4 -0
- package/dist/src/handlers/sealHandler.js +245 -0
- package/dist/src/handlers/statusHandler.d.ts +5 -0
- package/dist/src/handlers/statusHandler.js +116 -0
- package/dist/src/handlers/taskHandler.d.ts +2 -0
- package/dist/src/handlers/taskHandler.js +110 -0
- package/dist/src/handlers/testHandler.d.ts +4 -0
- package/dist/src/handlers/testHandler.js +99 -0
- package/dist/src/main.d.ts +0 -0
- package/dist/src/main.js +12 -0
- package/dist/src/relayers/common.d.ts +7 -0
- package/dist/src/relayers/common.js +55 -0
- package/dist/src/relayers/index.d.ts +2 -0
- package/dist/src/relayers/index.js +19 -0
- package/dist/src/relayers/proposeRelayer.d.ts +7 -0
- package/dist/src/relayers/proposeRelayer.js +587 -0
- package/dist/src/relayers/sealRelayer.d.ts +8 -0
- package/dist/src/relayers/sealRelayer.js +276 -0
- package/dist/src/services/attestService.d.ts +45 -0
- package/dist/src/services/attestService.js +269 -0
- package/dist/src/services/batcherService.d.ts +9 -0
- package/dist/src/services/batcherService.js +197 -0
- package/dist/src/services/executeService.d.ts +16 -0
- package/dist/src/services/executeService.js +209 -0
- package/dist/src/services/gasEstimationService.d.ts +3 -0
- package/dist/src/services/gasEstimationService.js +12 -0
- package/dist/src/services/index.d.ts +4 -0
- package/dist/src/services/index.js +23 -0
- package/dist/src/services/indexSealService.d.ts +15 -0
- package/dist/src/services/indexSealService.js +120 -0
- package/dist/src/services/proposalCheckService.d.ts +9 -0
- package/dist/src/services/proposalCheckService.js +119 -0
- package/dist/src/services/sealService.d.ts +27 -0
- package/dist/src/services/sealService.js +190 -0
- package/dist/src/statusTrackers/failedMessage.d.ts +8 -0
- package/dist/src/statusTrackers/failedMessage.js +72 -0
- package/dist/src/statusTrackers/failedPacket.d.ts +13 -0
- package/dist/src/statusTrackers/failedPacket.js +110 -0
- package/dist/src/statusTrackers/index.d.ts +3 -0
- package/dist/src/statusTrackers/index.js +26 -0
- package/dist/src/statusTrackers/message.d.ts +4 -0
- package/dist/src/statusTrackers/message.js +257 -0
- package/dist/src/statusTrackers/packet.d.ts +33 -0
- package/dist/src/statusTrackers/packet.js +477 -0
- package/dist/src/utils/chain-utils.d.ts +5 -0
- package/dist/src/utils/chain-utils.js +42 -0
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/index.js +18 -0
- package/dist/src/utils/logger.d.ts +9 -0
- package/dist/src/utils/logger.js +9 -0
- package/dist/utils/ethersAwsKmsSigner.d.ts +2 -2
- package/dist/utils/ethersAwsKmsSigner.js +6 -3
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/relaySigner.d.ts +2 -4
- package/dist/utils/relaySigner.js +7 -10
- package/dist/utils/s3Service.d.ts +5 -0
- package/dist/utils/s3Service.js +45 -0
- package/dist/utils/signer/adapter.d.ts +18 -0
- package/dist/utils/signer/adapter.js +71 -0
- package/dist/utils/signer/address.d.ts +10 -0
- package/dist/utils/signer/address.js +42 -0
- package/dist/utils/signer/asn1-parser.d.ts +11 -0
- package/dist/utils/signer/asn1-parser.js +80 -0
- package/dist/utils/signer/crypto.d.ts +6 -0
- package/dist/utils/signer/crypto.js +34 -0
- package/dist/utils/signer/index.d.ts +4 -0
- package/dist/utils/signer/index.js +20 -0
- package/dist/utils/signer/kms-ethers-signer.d.ts +19 -0
- package/dist/utils/signer/kms-ethers-signer.js +32 -0
- package/dist/utils/signer/kms-signer.d.ts +14 -0
- package/dist/utils/signer/kms-signer.js +46 -0
- package/dist/utils/signer/signature.d.ts +17 -0
- package/dist/utils/signer/signature.js +65 -0
- package/dist/utils/signer/signer.d.ts +7 -0
- package/dist/utils/signer/signer.js +2 -0
- package/dist/utils/time.d.ts +1 -0
- package/dist/utils/time.js +3 -1
- package/package.json +51 -16
- package/dist/types/codes.d.ts +0 -22
- package/dist/types/index.d.ts +0 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@socket.tech/dl-common",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"description": "common utilities for socket data layer.",
|
|
@@ -18,67 +18,102 @@
|
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"scripts": {
|
|
20
20
|
"start": "serverless offline start --reloadHandler -s dev",
|
|
21
|
-
"start:dev": "serverless offline start
|
|
22
|
-
"deploy": "npx sls deploy -s dev --verbose",
|
|
23
|
-
"deploy:prod": "export AWS_PROFILE=
|
|
21
|
+
"start:dev": "serverless offline start -s dev",
|
|
22
|
+
"deploy": "npm run lint && npx sls deploy -s dev --verbose",
|
|
23
|
+
"deploy:prod": "tsc && npm run lint && export AWS_PROFILE=llprod && npx sls deploy -s prod --verbose",
|
|
24
24
|
"deploy:surge": "npx sls deploy -s surge --verbose",
|
|
25
25
|
"build": "tsc --project lib.tsconfig.json",
|
|
26
26
|
"build:clean": "rm -rf tsconfig.build.tsbuildinfo && rm -rf ./dist",
|
|
27
|
-
"eslint:check": "npx eslint src --ext ts
|
|
27
|
+
"eslint:check": "npx eslint src/ --ext .ts,.js",
|
|
28
28
|
"eslint:fix": "npx eslint src --ext ts,js --fix",
|
|
29
29
|
"lint": "npm run prettier:fix",
|
|
30
|
-
"prettier:fix": "npx prettier src dl-common --write ./**/*.{ts,js,json,yml,md}",
|
|
30
|
+
"prettier:fix": "npx prettier src dl-common __tests__ --write ./**/*.{ts,js,json,yml,md}",
|
|
31
31
|
"format": "prettier \"./**\" --write --ignore-unknown",
|
|
32
32
|
"format:check": "prettier \"./**\" --ignore-unknown --check",
|
|
33
33
|
"prepare": "husky install",
|
|
34
|
-
"publishp": "yarn lint && yarn build"
|
|
34
|
+
"publishp": "yarn lint && yarn build",
|
|
35
|
+
"eslint:cachefix": "eslint --fix",
|
|
36
|
+
"testc": "jest --testPathIgnorePatterns '.db.test.ts$' --coverage",
|
|
37
|
+
"testdb": "jest --testMatch **/*.db.test.ts --runInBand",
|
|
38
|
+
"testdbc": "jest --testMatch **/*.db.test.ts --runInBand --coverage",
|
|
39
|
+
"test": "jest --testPathIgnorePatterns '.db.test.ts$'"
|
|
40
|
+
},
|
|
41
|
+
"lint-staged": {
|
|
42
|
+
"*.{ts,js}": "eslint --cache --fix",
|
|
43
|
+
"*.{ts,js,css,md}": "prettier --write",
|
|
44
|
+
"*.js": "eslint --cache --fix",
|
|
45
|
+
"*.{js,css,md}": "prettier --write"
|
|
35
46
|
},
|
|
36
47
|
"dependencies": {
|
|
48
|
+
"@aws-sdk/client-eventbridge": "^3.449.0",
|
|
49
|
+
"@aws-sdk/client-kms": "^3.454.0",
|
|
50
|
+
"@aws-sdk/client-s3": "^3.600.0",
|
|
37
51
|
"@aws-sdk/client-secrets-manager": "^3.433.0",
|
|
38
52
|
"@aws-sdk/client-sqs": "^3.421.0",
|
|
39
|
-
"@aws-sdk/smithy-client": "^3.329.0",
|
|
40
53
|
"@ethersproject/providers": "^5.7.2",
|
|
41
|
-
"@
|
|
54
|
+
"@smithy/smithy-client": "^3.1.4",
|
|
55
|
+
"@socket.tech/dl-core": "^2.7.0",
|
|
42
56
|
"@socket.tech/ll-common": "^0.0.19",
|
|
43
57
|
"async-redis": "^2.0.0",
|
|
58
|
+
"aws-kms-ethers-signer": "^0.1.3",
|
|
59
|
+
"bn.js": "^5.2.1",
|
|
44
60
|
"ethers": "^5.7.1",
|
|
45
|
-
"
|
|
61
|
+
"keccak": "^3.0.4",
|
|
62
|
+
"lodash": "^4.17.21",
|
|
46
63
|
"pg": "^8.8.0",
|
|
47
64
|
"pg-hstore": "^2.3.4",
|
|
48
65
|
"prom-client": "^14.2.0",
|
|
66
|
+
"secp256k1": "^5.0.0",
|
|
49
67
|
"sequelize": "^6.21.6"
|
|
50
68
|
},
|
|
51
69
|
"devDependencies": {
|
|
70
|
+
"@babel/core": "^7.23.3",
|
|
71
|
+
"@babel/preset-env": "^7.23.3",
|
|
72
|
+
"@babel/preset-typescript": "^7.23.3",
|
|
52
73
|
"@commitlint/cli": "^16.2.3",
|
|
53
74
|
"@commitlint/config-conventional": "^16.2.1",
|
|
75
|
+
"@eslint/eslintrc": "^3.0.2",
|
|
76
|
+
"@eslint/js": "^9.0.0",
|
|
77
|
+
"@jest/globals": "^29.7.0",
|
|
54
78
|
"@types/aws-lambda": "^8.10.108",
|
|
79
|
+
"@types/bn.js": "^5.1.5",
|
|
55
80
|
"@types/express": "^4.17.14",
|
|
81
|
+
"@types/jest": "^29.5.8",
|
|
82
|
+
"@types/keccak": "^3.0.4",
|
|
56
83
|
"@types/node": "^17.0.23",
|
|
84
|
+
"@types/secp256k1": "^4.0.6",
|
|
57
85
|
"@typescript-eslint/eslint-plugin": "^6.4.0",
|
|
58
86
|
"@typescript-eslint/parser": "^5.17.0",
|
|
59
87
|
"aws-lambda": "^1.0.7",
|
|
88
|
+
"babel-jest": "^29.7.0",
|
|
89
|
+
"csv-parse": "^5.5.2",
|
|
60
90
|
"esbuild": "^0.19.3",
|
|
61
91
|
"eslint": "^8.0.1",
|
|
62
|
-
"eslint-config-prettier": "
|
|
63
|
-
"eslint-config-standard-with-typescript": "^
|
|
92
|
+
"eslint-config-prettier": "^9.1.0",
|
|
93
|
+
"eslint-config-standard-with-typescript": "^43.0.1",
|
|
64
94
|
"eslint-plugin-import": "^2.25.2",
|
|
65
|
-
"eslint-plugin-jsdoc": "
|
|
95
|
+
"eslint-plugin-jsdoc": "^48.2.3",
|
|
66
96
|
"eslint-plugin-n": "^15.0.0 || ^16.0.0 ",
|
|
67
97
|
"eslint-plugin-node": "^11.1.0",
|
|
68
98
|
"eslint-plugin-promise": "^6.0.0",
|
|
69
99
|
"eslint-plugin-tsdoc": "^0.2.14",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
100
|
+
"globals": "^15.0.0",
|
|
101
|
+
"husky": "^8.0.0",
|
|
102
|
+
"jest": "^29.7.0",
|
|
103
|
+
"lint-staged": "^15.2.2",
|
|
72
104
|
"nodemon": "^2.0.15",
|
|
73
105
|
"prettier": "2.7.1",
|
|
74
106
|
"serverless": "3.22.0",
|
|
75
107
|
"serverless-domain-manager": "^7.1.2",
|
|
76
108
|
"serverless-dotenv-plugin": "4.0.0",
|
|
77
109
|
"serverless-esbuild": "^1.48.0",
|
|
110
|
+
"serverless-export-env": "arabold/serverless-export-env",
|
|
78
111
|
"serverless-lumigo": "1.14.1",
|
|
79
112
|
"serverless-offline": "12.0.4",
|
|
80
113
|
"serverless-plugin-aws-alerts": "^1.7.5",
|
|
114
|
+
"ts-jest": "^29.1.1",
|
|
81
115
|
"ts-node": "^10.7.0",
|
|
82
|
-
"typescript": "*"
|
|
116
|
+
"typescript": "*",
|
|
117
|
+
"typescript-eslint": "^7.6.0"
|
|
83
118
|
}
|
|
84
119
|
}
|
package/dist/types/codes.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export declare enum MessageStatuses {
|
|
2
|
-
RECEIVED = "RECEIVED",
|
|
3
|
-
SEALED = "SEALED",
|
|
4
|
-
PROPOSED = "PROPOSED",
|
|
5
|
-
CONFIRMED = "CONFIRMED",
|
|
6
|
-
EXECUTION_SUCCESS = "EXECUTION_SUCCESS",
|
|
7
|
-
EXECUTION_FAILURE = "EXECUTION_FAILURE"
|
|
8
|
-
}
|
|
9
|
-
export declare enum MessageStatusStep {
|
|
10
|
-
RECEIVED = 0,
|
|
11
|
-
SEALED = 1,
|
|
12
|
-
PROPOSED = 2,
|
|
13
|
-
CONFIRMED = 3,
|
|
14
|
-
EXECUTION_SUCCESS = 4,
|
|
15
|
-
EXECUTION_FAILURE = 5
|
|
16
|
-
}
|
|
17
|
-
export declare enum StatusCodes {
|
|
18
|
-
SUCCESS = "SUCCESS",
|
|
19
|
-
NOT_FOUND = "NOT_FOUND",
|
|
20
|
-
BAD_REQUEST = "BAD_REQUEST",
|
|
21
|
-
INTERNAL_SERVER_ERROR = "INTERNAL_SERVER_ERROR"
|
|
22
|
-
}
|
package/dist/types/index.d.ts
DELETED