@socket.tech/dl-common 1.0.16 → 1.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/constants/confirmations.d.ts +5 -0
  2. package/dist/constants/confirmations.js +17 -0
  3. package/dist/constants/enums.d.ts +44 -0
  4. package/dist/constants/enums.js +52 -0
  5. package/dist/constants/index.d.ts +3 -0
  6. package/dist/constants/index.js +19 -0
  7. package/dist/constants/types.d.ts +136 -0
  8. package/dist/constants/types.js +53 -0
  9. package/dist/constants/waitTime.d.ts +8 -0
  10. package/dist/constants/waitTime.js +45 -0
  11. package/dist/dl-common/constants/index.d.ts +1 -0
  12. package/dist/dl-common/constants/index.js +1 -0
  13. package/dist/dl-common/constants/index.js.map +1 -1
  14. package/dist/dl-common/constants/relay-types.d.ts +78 -0
  15. package/dist/dl-common/constants/relay-types.js +24 -0
  16. package/dist/dl-common/constants/relay-types.js.map +1 -0
  17. package/dist/dl-common/constants/types.d.ts +0 -6
  18. package/dist/dl-common/constants/types.js +1 -8
  19. package/dist/dl-common/constants/types.js.map +1 -1
  20. package/dist/dl-common/utils/index.d.ts +1 -0
  21. package/dist/dl-common/utils/index.js +1 -0
  22. package/dist/dl-common/utils/index.js.map +1 -1
  23. package/dist/dl-common/utils/relaySigner.d.ts +6 -2
  24. package/dist/dl-common/utils/relaySigner.js +23 -5
  25. package/dist/dl-common/utils/relaySigner.js.map +1 -1
  26. package/dist/dl-common/utils/relayUtils.d.ts +2 -0
  27. package/dist/dl-common/utils/relayUtils.js +21 -0
  28. package/dist/dl-common/utils/relayUtils.js.map +1 -0
  29. package/dist/dl-common/utils/signer/adapter.js.map +1 -1
  30. package/dist/dl-common/utils/signer/kms-ethers-signer.js.map +1 -1
  31. package/dist/dl-common/utils/signer/kms-signer.js +1 -1
  32. package/dist/dl-common/utils/signer/socketSigner.js +1 -1
  33. package/dist/dl-common/utils/signer/socketSigner.js.map +1 -1
  34. package/dist/index.d.ts +4 -0
  35. package/dist/index.js +36 -0
  36. package/dist/models/attestSignature.d.ts +35 -0
  37. package/dist/models/attestSignature.js +53 -0
  38. package/dist/models/attestation.d.ts +70 -0
  39. package/dist/models/attestation.js +86 -0
  40. package/dist/models/index.d.ts +7 -0
  41. package/dist/models/index.js +23 -0
  42. package/dist/models/lastBlock.d.ts +28 -0
  43. package/dist/models/lastBlock.js +27 -0
  44. package/dist/models/message.d.ts +171 -0
  45. package/dist/models/message.js +193 -0
  46. package/dist/models/packet.d.ts +240 -0
  47. package/dist/models/packet.js +249 -0
  48. package/dist/models/proposal.d.ts +127 -0
  49. package/dist/models/proposal.js +141 -0
  50. package/dist/models/switchboard.d.ts +69 -0
  51. package/dist/models/switchboard.js +92 -0
  52. package/dist/models/transaction.d.ts +0 -0
  53. package/dist/models/transaction.js +280 -0
  54. package/dist/services/cacheService.d.ts +14 -0
  55. package/dist/services/cacheService.js +77 -0
  56. package/dist/services/eventBridgeService.d.ts +8 -0
  57. package/dist/services/eventBridgeService.js +40 -0
  58. package/dist/services/index.d.ts +3 -0
  59. package/dist/services/index.js +20 -0
  60. package/dist/services/queueService.d.ts +10 -0
  61. package/dist/services/queueService.js +62 -0
  62. package/dist/src/constants/gasEstimation.d.ts +8 -0
  63. package/dist/src/constants/gasEstimation.js +61 -0
  64. package/dist/src/constants/relayer.d.ts +0 -3
  65. package/dist/src/constants/relayer.js +4 -9
  66. package/dist/src/constants/relayer.js.map +1 -1
  67. package/dist/src/constants/types.d.ts +3 -3
  68. package/dist/src/handlers/statusHandler.js +1 -1
  69. package/dist/src/handlers/statusHandler.js.map +1 -1
  70. package/dist/src/relayers/common.js +3 -3
  71. package/dist/src/relayers/common.js.map +1 -1
  72. package/dist/src/relayers/propose/main.js +4 -8
  73. package/dist/src/relayers/propose/main.js.map +1 -1
  74. package/dist/src/relayers/proposeRelayer.d.ts +7 -0
  75. package/dist/src/relayers/proposeRelayer.js +587 -0
  76. package/dist/src/relayers/sealRelayer.js +4 -6
  77. package/dist/src/relayers/sealRelayer.js.map +1 -1
  78. package/dist/src/services/batcherService.d.ts +9 -0
  79. package/dist/src/services/batcherService.js +197 -0
  80. package/dist/src/services/executeService.d.ts +16 -0
  81. package/dist/src/services/executeService.js +209 -0
  82. package/dist/src/statusTrackers/message.js +6 -5
  83. package/dist/src/statusTrackers/message.js.map +1 -1
  84. package/dist/src/statusTrackers/packet.d.ts +2 -2
  85. package/dist/src/statusTrackers/packet.js +6 -5
  86. package/dist/src/statusTrackers/packet.js.map +1 -1
  87. package/dist/utils/address.d.ts +2 -0
  88. package/dist/utils/address.js +8 -0
  89. package/dist/utils/axios.d.ts +2 -0
  90. package/dist/utils/axios.js +54 -0
  91. package/dist/utils/dataStructHelper.d.ts +2 -0
  92. package/dist/utils/dataStructHelper.js +10 -0
  93. package/dist/utils/discord.d.ts +2 -0
  94. package/dist/utils/discord.js +43 -0
  95. package/dist/utils/ethersAwsKmsSigner.d.ts +2 -0
  96. package/dist/utils/ethersAwsKmsSigner.js +26 -0
  97. package/dist/utils/eventGetter.d.ts +4 -0
  98. package/dist/utils/eventGetter.js +50 -0
  99. package/dist/utils/extraUtils.d.ts +32 -0
  100. package/dist/utils/extraUtils.js +103 -0
  101. package/dist/utils/idUtils.d.ts +14 -0
  102. package/dist/utils/idUtils.js +50 -0
  103. package/dist/utils/index.d.ts +13 -0
  104. package/dist/utils/index.js +29 -0
  105. package/dist/utils/relaySigner.d.ts +21 -0
  106. package/dist/utils/relaySigner.js +68 -0
  107. package/dist/utils/s3Service.d.ts +11 -0
  108. package/dist/utils/s3Service.js +70 -0
  109. package/dist/utils/secretManagerService.d.ts +2 -0
  110. package/dist/utils/secretManagerService.js +33 -0
  111. package/dist/utils/signer/adapter.d.ts +18 -0
  112. package/dist/utils/signer/adapter.js +71 -0
  113. package/dist/utils/signer/address.d.ts +9 -0
  114. package/dist/utils/signer/address.js +42 -0
  115. package/dist/utils/signer/asn1-parser.d.ts +10 -0
  116. package/dist/utils/signer/asn1-parser.js +79 -0
  117. package/dist/utils/signer/crypto.d.ts +5 -0
  118. package/dist/utils/signer/crypto.js +33 -0
  119. package/dist/utils/signer/index.d.ts +5 -0
  120. package/dist/utils/signer/index.js +21 -0
  121. package/dist/utils/signer/kms-ethers-signer.d.ts +19 -0
  122. package/dist/utils/signer/kms-ethers-signer.js +32 -0
  123. package/dist/utils/signer/kms-signer.d.ts +13 -0
  124. package/dist/utils/signer/kms-signer.js +46 -0
  125. package/dist/utils/signer/signature.d.ts +16 -0
  126. package/dist/utils/signer/signature.js +65 -0
  127. package/dist/utils/signer/signer.d.ts +6 -0
  128. package/dist/utils/signer/signer.js +2 -0
  129. package/dist/utils/signer/socketSigner.d.ts +39 -0
  130. package/dist/utils/signer/socketSigner.js +153 -0
  131. package/dist/utils/time.d.ts +2 -0
  132. package/dist/utils/time.js +7 -0
  133. package/package.json +4 -4
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addPacketHooks = exports.PacketModel = exports.Packet = exports.TripReason = exports.AttestRelayStatus = exports.ProposeRelayStatus = exports.PacketTripRelayStatus = exports.SealRelayStatus = void 0;
4
+ const dl_core_1 = require("@socket.tech/dl-core");
5
+ const sequelize_1 = require("sequelize");
6
+ const utils_1 = require("../utils");
7
+ var SealRelayStatus;
8
+ (function (SealRelayStatus) {
9
+ SealRelayStatus["SEALED"] = "SEALED";
10
+ SealRelayStatus["SEALING"] = "SEALING";
11
+ SealRelayStatus["NO"] = "NO";
12
+ SealRelayStatus["SEAL_FAILED"] = "SEAL_FAILED";
13
+ })(SealRelayStatus || (exports.SealRelayStatus = SealRelayStatus = {}));
14
+ var PacketTripRelayStatus;
15
+ (function (PacketTripRelayStatus) {
16
+ PacketTripRelayStatus["IS_TRIPPING"] = "IS_TRIPPING";
17
+ PacketTripRelayStatus["NO"] = "NO";
18
+ PacketTripRelayStatus["TRIPPING_FAILED"] = "TRIPPING_FAILED";
19
+ PacketTripRelayStatus["TRIPPED"] = "TRIPPED";
20
+ })(PacketTripRelayStatus || (exports.PacketTripRelayStatus = PacketTripRelayStatus = {}));
21
+ var ProposeRelayStatus;
22
+ (function (ProposeRelayStatus) {
23
+ ProposeRelayStatus["PROPOSED"] = "PROPOSED";
24
+ ProposeRelayStatus["PROPOSING"] = "PROPOSING";
25
+ ProposeRelayStatus["CONFIRMING"] = "CONFIRMING";
26
+ ProposeRelayStatus["NO"] = "NO";
27
+ ProposeRelayStatus["PROPOSE_FAILED"] = "PROPOSE_FAILED";
28
+ ProposeRelayStatus["CONFIRM_FAILED"] = "CONFIRM_FAILED";
29
+ })(ProposeRelayStatus || (exports.ProposeRelayStatus = ProposeRelayStatus = {}));
30
+ var AttestRelayStatus;
31
+ (function (AttestRelayStatus) {
32
+ AttestRelayStatus["ATTESTED"] = "ATTESTED";
33
+ AttestRelayStatus["ATTESTING"] = "ATTESTING";
34
+ AttestRelayStatus["NO"] = "NO";
35
+ AttestRelayStatus["ATTEST_FAILED"] = "ATTEST_FAILED";
36
+ })(AttestRelayStatus || (exports.AttestRelayStatus = AttestRelayStatus = {}));
37
+ var TripReason;
38
+ (function (TripReason) {
39
+ TripReason["SWITCHBOARD_MISMATCHED"] = "SWITCHBOARD_MISMATCHED";
40
+ TripReason["ROOT_MISMATCHED"] = "ROOT_MISMATCHED";
41
+ TripReason["NO"] = "NO";
42
+ })(TripReason || (exports.TripReason = TripReason = {}));
43
+ class Packet extends sequelize_1.Model {
44
+ }
45
+ exports.Packet = Packet;
46
+ exports.PacketModel = {
47
+ id: {
48
+ type: sequelize_1.DataTypes.INTEGER,
49
+ autoIncrement: true,
50
+ },
51
+ srcChainSlug: {
52
+ type: sequelize_1.DataTypes.BIGINT,
53
+ },
54
+ dstChainSlug: {
55
+ type: sequelize_1.DataTypes.BIGINT,
56
+ },
57
+ srcCapacitor: {
58
+ type: sequelize_1.DataTypes.STRING,
59
+ },
60
+ dstSwitchboard: {
61
+ type: sequelize_1.DataTypes.STRING,
62
+ },
63
+ switchboardId: {
64
+ type: sequelize_1.DataTypes.STRING,
65
+ },
66
+ integrationType: {
67
+ type: sequelize_1.DataTypes.ENUM,
68
+ values: [...Object.values(dl_core_1.IntegrationTypes)],
69
+ defaultValue: dl_core_1.IntegrationTypes.unknown,
70
+ },
71
+ packetId: {
72
+ type: sequelize_1.DataTypes.STRING,
73
+ primaryKey: true,
74
+ },
75
+ capacitorPacketCount: {
76
+ type: sequelize_1.DataTypes.STRING,
77
+ },
78
+ root: {
79
+ type: sequelize_1.DataTypes.STRING,
80
+ },
81
+ rootSealed: {
82
+ type: sequelize_1.DataTypes.STRING,
83
+ },
84
+ isFilled: {
85
+ type: sequelize_1.DataTypes.BOOLEAN,
86
+ },
87
+ isSealed: {
88
+ type: sequelize_1.DataTypes.BOOLEAN,
89
+ defaultValue: false,
90
+ },
91
+ isProposed: {
92
+ type: sequelize_1.DataTypes.BOOLEAN,
93
+ defaultValue: false,
94
+ },
95
+ isAttested: {
96
+ type: sequelize_1.DataTypes.BOOLEAN,
97
+ defaultValue: false,
98
+ },
99
+ isVerified: {
100
+ type: sequelize_1.DataTypes.BOOLEAN,
101
+ defaultValue: false,
102
+ },
103
+ isFullyExecuted: {
104
+ type: sequelize_1.DataTypes.BOOLEAN,
105
+ defaultValue: false,
106
+ },
107
+ sealer: {
108
+ type: sequelize_1.DataTypes.STRING,
109
+ },
110
+ sealRelayStatus: {
111
+ type: sequelize_1.DataTypes.ENUM,
112
+ values: [...Object.values(SealRelayStatus)],
113
+ defaultValue: SealRelayStatus.NO,
114
+ },
115
+ sealTxId: {
116
+ type: sequelize_1.DataTypes.STRING,
117
+ defaultValue: "",
118
+ },
119
+ sealTxHash: {
120
+ type: sequelize_1.DataTypes.STRING,
121
+ defaultValue: "",
122
+ },
123
+ outboundTxHash: {
124
+ type: sequelize_1.DataTypes.STRING,
125
+ defaultValue: "",
126
+ },
127
+ outboundTime: {
128
+ type: sequelize_1.DataTypes.INTEGER,
129
+ },
130
+ proposeTime: {
131
+ type: sequelize_1.DataTypes.INTEGER,
132
+ },
133
+ attestTime: {
134
+ type: sequelize_1.DataTypes.INTEGER,
135
+ },
136
+ sealTime: {
137
+ type: sequelize_1.DataTypes.INTEGER,
138
+ },
139
+ sealIndexTime: {
140
+ type: sequelize_1.DataTypes.INTEGER,
141
+ },
142
+ sealSignature: {
143
+ type: sequelize_1.DataTypes.STRING,
144
+ },
145
+ packetTripRelayStatus: {
146
+ type: sequelize_1.DataTypes.ENUM,
147
+ values: [...Object.values(PacketTripRelayStatus)],
148
+ defaultValue: PacketTripRelayStatus.NO,
149
+ },
150
+ packetTripTxId: {
151
+ type: sequelize_1.DataTypes.STRING,
152
+ defaultValue: "",
153
+ },
154
+ packetTripTxHash: {
155
+ type: sequelize_1.DataTypes.STRING,
156
+ defaultValue: "",
157
+ },
158
+ packetTripErrorMessage: {
159
+ type: sequelize_1.DataTypes.STRING,
160
+ defaultValue: "",
161
+ },
162
+ packetTripTime: {
163
+ type: sequelize_1.DataTypes.INTEGER,
164
+ },
165
+ isPacketTripped: {
166
+ type: sequelize_1.DataTypes.BOOLEAN,
167
+ defaultValue: false,
168
+ },
169
+ proposeTxId: {
170
+ type: sequelize_1.DataTypes.STRING,
171
+ defaultValue: "",
172
+ },
173
+ proposeTxHash: {
174
+ type: sequelize_1.DataTypes.STRING,
175
+ defaultValue: "",
176
+ },
177
+ proposeRelayStatus: {
178
+ type: sequelize_1.DataTypes.ENUM,
179
+ values: [...Object.values(ProposeRelayStatus)],
180
+ defaultValue: ProposeRelayStatus.NO,
181
+ },
182
+ selectedProposalCount: {
183
+ type: sequelize_1.DataTypes.INTEGER,
184
+ },
185
+ executionWaitTime: {
186
+ type: sequelize_1.DataTypes.INTEGER,
187
+ },
188
+ attestTxId: {
189
+ type: sequelize_1.DataTypes.STRING,
190
+ defaultValue: "",
191
+ },
192
+ attestTxHash: {
193
+ type: sequelize_1.DataTypes.STRING,
194
+ defaultValue: "",
195
+ },
196
+ tripReason: {
197
+ type: sequelize_1.DataTypes.ENUM,
198
+ values: [...Object.values(TripReason)],
199
+ defaultValue: TripReason.NO,
200
+ },
201
+ // packetTripTxHash: {
202
+ // type: DataTypes.STRING,
203
+ // defaultValue: "",
204
+ // },
205
+ attestRelayStatus: {
206
+ type: sequelize_1.DataTypes.ENUM,
207
+ values: [...Object.values(AttestRelayStatus)],
208
+ defaultValue: AttestRelayStatus.NO,
209
+ },
210
+ };
211
+ function processStrings(packet) {
212
+ if (packet.packetId)
213
+ packet.packetId = (0, utils_1.toLowerCase)(packet.packetId);
214
+ if (packet.root)
215
+ packet.root = (0, utils_1.toLowerCase)(packet.root);
216
+ if (packet.rootSealed)
217
+ packet.rootSealed = (0, utils_1.toLowerCase)(packet.rootSealed);
218
+ if (packet.sealer)
219
+ packet.sealer = (0, utils_1.toLowerCase)(packet.sealer);
220
+ if (packet.outboundTxHash) {
221
+ packet.outboundTxHash = (0, utils_1.toLowerCase)(packet.outboundTxHash);
222
+ }
223
+ if (packet.sealTxHash)
224
+ packet.sealTxHash = (0, utils_1.toLowerCase)(packet.sealTxHash);
225
+ if (packet.sealSignature) {
226
+ packet.sealSignature = (0, utils_1.toLowerCase)(packet.sealSignature);
227
+ }
228
+ if (packet.dstSwitchboard) {
229
+ packet.dstSwitchboard = (0, utils_1.toLowerCase)(packet.dstSwitchboard);
230
+ }
231
+ if (packet.switchboardId) {
232
+ packet.switchboardId = (0, utils_1.toLowerCase)(packet.switchboardId);
233
+ }
234
+ if (packet.packetTripTxHash) {
235
+ packet.packetTripTxHash = (0, utils_1.toLowerCase)(packet.packetTripTxHash);
236
+ }
237
+ return packet;
238
+ }
239
+ const addPacketHooks = () => {
240
+ Packet.beforeBulkCreate((packet, options) => {
241
+ for (let index = 0; index < packet.length; index++) {
242
+ packet[index] = processStrings(packet[index]);
243
+ }
244
+ });
245
+ Packet.beforeSave((packet, options) => {
246
+ packet = processStrings(packet);
247
+ });
248
+ };
249
+ exports.addPacketHooks = addPacketHooks;
@@ -0,0 +1,127 @@
1
+ import { DataTypes, Model } from "sequelize";
2
+ export declare enum TripStatus {
3
+ TRIP_REQUIRED = "TRIP_REQUIRED",
4
+ TRIP_INITIATED = "TRIP_INITIATED",
5
+ TRIP_SUCCESSFUL = "TRIP_SUCCESSFUL",
6
+ TRIP_FAILED = "TRIP_FAILED",
7
+ NO = "NO"
8
+ }
9
+ export declare enum RootMatchState {
10
+ ROOTS_MATCHED = "ROOTS_MATCHED",
11
+ ROOTS_MISMATCHED = "ROOTS_MISMATCHED",
12
+ NO = "NO"
13
+ }
14
+ export declare enum MatchState {
15
+ MATCHED = "MATCHED",
16
+ MISMATCHED = "MISMATCHED",
17
+ NO = "NO"
18
+ }
19
+ export declare enum ProposalTripRelayStatus {
20
+ IS_TRIPPING = "IS_TRIPPING",
21
+ NO = "NO",
22
+ TRIPPING_FAILED = "TRIPPING_FAILED",
23
+ TRIPPED = "TRIPPED"
24
+ }
25
+ export declare class Proposal extends Model {
26
+ id: number;
27
+ srcChainSlug: number;
28
+ dstChainSlug: number;
29
+ packetId: string;
30
+ root: string;
31
+ proposalCount: number;
32
+ switchboard: string;
33
+ proposer: string;
34
+ proposeTxHash: string;
35
+ proposeTime: number;
36
+ rootMatchState: RootMatchState;
37
+ switchboardMatchState: MatchState;
38
+ tripTime: number;
39
+ tripTxHash: string;
40
+ tripTxId: string;
41
+ tripErrorMessage: string;
42
+ tripRelayStatus: ProposalTripRelayStatus;
43
+ isTripped: boolean;
44
+ totalAttestations: number;
45
+ isTripRequired: boolean;
46
+ }
47
+ export declare const ProposalModel: {
48
+ id: {
49
+ type: DataTypes.IntegerDataTypeConstructor;
50
+ autoIncrement: boolean;
51
+ primaryKey: boolean;
52
+ };
53
+ srcChainSlug: {
54
+ type: DataTypes.BigIntDataTypeConstructor;
55
+ };
56
+ dstChainSlug: {
57
+ type: DataTypes.BigIntDataTypeConstructor;
58
+ };
59
+ packetId: {
60
+ type: DataTypes.StringDataTypeConstructor;
61
+ unique: string;
62
+ };
63
+ proposalCount: {
64
+ type: DataTypes.IntegerDataTypeConstructor;
65
+ unique: string;
66
+ };
67
+ root: {
68
+ type: DataTypes.StringDataTypeConstructor;
69
+ };
70
+ switchboard: {
71
+ type: DataTypes.StringDataTypeConstructor;
72
+ unique: string;
73
+ };
74
+ proposer: {
75
+ type: DataTypes.StringDataTypeConstructor;
76
+ };
77
+ proposeTxHash: {
78
+ type: DataTypes.StringDataTypeConstructor;
79
+ defaultValue: string;
80
+ };
81
+ proposeTime: {
82
+ type: DataTypes.IntegerDataTypeConstructor;
83
+ };
84
+ tripTxId: {
85
+ type: DataTypes.StringDataTypeConstructor;
86
+ defaultValue: string;
87
+ };
88
+ tripTxHash: {
89
+ type: DataTypes.StringDataTypeConstructor;
90
+ defaultValue: string;
91
+ };
92
+ tripTime: {
93
+ type: DataTypes.IntegerDataTypeConstructor;
94
+ };
95
+ tripErrorMessage: {
96
+ type: DataTypes.StringDataTypeConstructor;
97
+ defaultValue: string;
98
+ };
99
+ isTripped: {
100
+ type: DataTypes.AbstractDataTypeConstructor;
101
+ defaultValue: boolean;
102
+ };
103
+ tripRelayStatus: {
104
+ type: DataTypes.EnumDataTypeConstructor;
105
+ values: ProposalTripRelayStatus[];
106
+ defaultValue: ProposalTripRelayStatus;
107
+ };
108
+ totalAttestations: {
109
+ type: DataTypes.IntegerDataTypeConstructor;
110
+ defaultValue: number;
111
+ };
112
+ rootMatchState: {
113
+ type: DataTypes.EnumDataTypeConstructor;
114
+ values: RootMatchState[];
115
+ defaultValue: RootMatchState;
116
+ };
117
+ switchboardMatchState: {
118
+ type: DataTypes.EnumDataTypeConstructor;
119
+ values: MatchState[];
120
+ defaultValue: MatchState;
121
+ };
122
+ isTripRequired: {
123
+ type: DataTypes.AbstractDataTypeConstructor;
124
+ defaultValue: boolean;
125
+ };
126
+ };
127
+ export declare const addProposalHooks: () => void;
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addProposalHooks = exports.ProposalModel = exports.Proposal = exports.ProposalTripRelayStatus = exports.MatchState = exports.RootMatchState = exports.TripStatus = void 0;
4
+ const sequelize_1 = require("sequelize");
5
+ const utils_1 = require("../utils");
6
+ var TripStatus;
7
+ (function (TripStatus) {
8
+ TripStatus["TRIP_REQUIRED"] = "TRIP_REQUIRED";
9
+ TripStatus["TRIP_INITIATED"] = "TRIP_INITIATED";
10
+ TripStatus["TRIP_SUCCESSFUL"] = "TRIP_SUCCESSFUL";
11
+ TripStatus["TRIP_FAILED"] = "TRIP_FAILED";
12
+ TripStatus["NO"] = "NO";
13
+ })(TripStatus || (exports.TripStatus = TripStatus = {}));
14
+ var RootMatchState;
15
+ (function (RootMatchState) {
16
+ RootMatchState["ROOTS_MATCHED"] = "ROOTS_MATCHED";
17
+ RootMatchState["ROOTS_MISMATCHED"] = "ROOTS_MISMATCHED";
18
+ RootMatchState["NO"] = "NO";
19
+ })(RootMatchState || (exports.RootMatchState = RootMatchState = {}));
20
+ var MatchState;
21
+ (function (MatchState) {
22
+ MatchState["MATCHED"] = "MATCHED";
23
+ MatchState["MISMATCHED"] = "MISMATCHED";
24
+ MatchState["NO"] = "NO";
25
+ })(MatchState || (exports.MatchState = MatchState = {}));
26
+ var ProposalTripRelayStatus;
27
+ (function (ProposalTripRelayStatus) {
28
+ ProposalTripRelayStatus["IS_TRIPPING"] = "IS_TRIPPING";
29
+ ProposalTripRelayStatus["NO"] = "NO";
30
+ ProposalTripRelayStatus["TRIPPING_FAILED"] = "TRIPPING_FAILED";
31
+ ProposalTripRelayStatus["TRIPPED"] = "TRIPPED";
32
+ })(ProposalTripRelayStatus || (exports.ProposalTripRelayStatus = ProposalTripRelayStatus = {}));
33
+ class Proposal extends sequelize_1.Model {
34
+ }
35
+ exports.Proposal = Proposal;
36
+ exports.ProposalModel = {
37
+ id: {
38
+ type: sequelize_1.DataTypes.INTEGER,
39
+ autoIncrement: true,
40
+ primaryKey: true,
41
+ },
42
+ srcChainSlug: {
43
+ type: sequelize_1.DataTypes.BIGINT,
44
+ },
45
+ dstChainSlug: {
46
+ type: sequelize_1.DataTypes.BIGINT,
47
+ },
48
+ packetId: {
49
+ type: sequelize_1.DataTypes.STRING,
50
+ unique: "uniqueProposalPointer",
51
+ },
52
+ proposalCount: {
53
+ type: sequelize_1.DataTypes.INTEGER,
54
+ unique: "uniqueProposalPointer",
55
+ },
56
+ root: {
57
+ type: sequelize_1.DataTypes.STRING,
58
+ },
59
+ switchboard: {
60
+ type: sequelize_1.DataTypes.STRING,
61
+ unique: "uniqueProposalPointer",
62
+ },
63
+ proposer: {
64
+ type: sequelize_1.DataTypes.STRING,
65
+ },
66
+ proposeTxHash: {
67
+ type: sequelize_1.DataTypes.STRING,
68
+ defaultValue: "",
69
+ },
70
+ proposeTime: {
71
+ type: sequelize_1.DataTypes.INTEGER,
72
+ },
73
+ tripTxId: {
74
+ type: sequelize_1.DataTypes.STRING,
75
+ defaultValue: "",
76
+ },
77
+ tripTxHash: {
78
+ type: sequelize_1.DataTypes.STRING,
79
+ defaultValue: "",
80
+ },
81
+ tripTime: {
82
+ type: sequelize_1.DataTypes.INTEGER,
83
+ },
84
+ tripErrorMessage: {
85
+ type: sequelize_1.DataTypes.STRING,
86
+ defaultValue: "",
87
+ },
88
+ isTripped: {
89
+ type: sequelize_1.DataTypes.BOOLEAN,
90
+ defaultValue: false,
91
+ },
92
+ tripRelayStatus: {
93
+ type: sequelize_1.DataTypes.ENUM,
94
+ values: [...Object.values(ProposalTripRelayStatus)],
95
+ defaultValue: ProposalTripRelayStatus.NO,
96
+ },
97
+ totalAttestations: {
98
+ type: sequelize_1.DataTypes.INTEGER,
99
+ defaultValue: 0,
100
+ },
101
+ rootMatchState: {
102
+ type: sequelize_1.DataTypes.ENUM,
103
+ values: [...Object.values(RootMatchState)],
104
+ defaultValue: RootMatchState.NO,
105
+ },
106
+ switchboardMatchState: {
107
+ type: sequelize_1.DataTypes.ENUM,
108
+ values: [...Object.values(MatchState)],
109
+ defaultValue: MatchState.NO,
110
+ },
111
+ isTripRequired: {
112
+ type: sequelize_1.DataTypes.BOOLEAN,
113
+ defaultValue: false,
114
+ },
115
+ };
116
+ function processStrings(proposal) {
117
+ if (proposal.packetId)
118
+ proposal.packetId = (0, utils_1.toLowerCase)(proposal.packetId);
119
+ if (proposal.root)
120
+ proposal.root = (0, utils_1.toLowerCase)(proposal.root);
121
+ if (proposal.switchboard)
122
+ proposal.switchboard = (0, utils_1.toLowerCase)(proposal.switchboard);
123
+ if (proposal.proposer)
124
+ proposal.proposer = (0, utils_1.toLowerCase)(proposal.proposer);
125
+ if (proposal.proposeTxHash)
126
+ proposal.proposeTxHash = (0, utils_1.toLowerCase)(proposal.proposeTxHash);
127
+ if (proposal.tripTxHash)
128
+ proposal.tripTxHash = (0, utils_1.toLowerCase)(proposal.tripTxHash);
129
+ return proposal;
130
+ }
131
+ const addProposalHooks = () => {
132
+ Proposal.beforeBulkCreate((proposal, options) => {
133
+ for (let index = 0; index < proposal.length; index++) {
134
+ proposal[index] = processStrings(proposal[index]);
135
+ }
136
+ });
137
+ Proposal.beforeSave((proposal, options) => {
138
+ proposal = processStrings(proposal);
139
+ });
140
+ };
141
+ exports.addProposalHooks = addProposalHooks;
@@ -0,0 +1,69 @@
1
+ import { IntegrationTypes } from "@socket.tech/dl-core";
2
+ import { DataTypes, Model } from "sequelize";
3
+ export declare enum CapacitorType {
4
+ singleCapacitor = "1",
5
+ hashChainCapacitor = "2"
6
+ }
7
+ export declare class Switchboard extends Model {
8
+ id: number;
9
+ switchboardId: string;
10
+ srcChainSlug: number;
11
+ dstChainSlug: number;
12
+ maxPacketLength: number;
13
+ srcSwitchboard: string;
14
+ dstSwitchboard: string;
15
+ srcCapacitor: string;
16
+ srcDecapacitor: string;
17
+ capacitorType: CapacitorType;
18
+ isEnabled: boolean;
19
+ integrationType: IntegrationTypes;
20
+ }
21
+ export declare const SwitchboardModel: {
22
+ id: {
23
+ type: DataTypes.IntegerDataTypeConstructor;
24
+ autoIncrement: boolean;
25
+ primaryKey: boolean;
26
+ };
27
+ switchboardId: {
28
+ type: DataTypes.StringDataTypeConstructor;
29
+ };
30
+ srcChainSlug: {
31
+ type: DataTypes.BigIntDataTypeConstructor;
32
+ unique: string;
33
+ };
34
+ dstChainSlug: {
35
+ type: DataTypes.BigIntDataTypeConstructor;
36
+ unique: string;
37
+ };
38
+ maxPacketLength: {
39
+ type: DataTypes.IntegerDataTypeConstructor;
40
+ };
41
+ srcSwitchboard: {
42
+ type: DataTypes.StringDataTypeConstructor;
43
+ unique: string;
44
+ };
45
+ dstSwitchboard: {
46
+ type: DataTypes.StringDataTypeConstructor;
47
+ };
48
+ srcCapacitor: {
49
+ type: DataTypes.StringDataTypeConstructor;
50
+ };
51
+ srcDecapacitor: {
52
+ type: DataTypes.StringDataTypeConstructor;
53
+ };
54
+ capacitorType: {
55
+ type: DataTypes.EnumDataTypeConstructor;
56
+ values: CapacitorType[];
57
+ defaultValue: CapacitorType;
58
+ };
59
+ isEnabled: {
60
+ type: DataTypes.AbstractDataTypeConstructor;
61
+ defaultValue: boolean;
62
+ };
63
+ integrationType: {
64
+ type: DataTypes.EnumDataTypeConstructor;
65
+ values: IntegrationTypes[];
66
+ defaultValue: IntegrationTypes;
67
+ };
68
+ };
69
+ export declare const addSwitchboardHooks: () => Promise<void>;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addSwitchboardHooks = exports.SwitchboardModel = exports.Switchboard = exports.CapacitorType = void 0;
4
+ const dl_core_1 = require("@socket.tech/dl-core");
5
+ const sequelize_1 = require("sequelize");
6
+ const __1 = require("..");
7
+ var CapacitorType;
8
+ (function (CapacitorType) {
9
+ CapacitorType["singleCapacitor"] = "1";
10
+ CapacitorType["hashChainCapacitor"] = "2";
11
+ })(CapacitorType || (exports.CapacitorType = CapacitorType = {}));
12
+ class Switchboard extends sequelize_1.Model {
13
+ }
14
+ exports.Switchboard = Switchboard;
15
+ exports.SwitchboardModel = {
16
+ id: {
17
+ type: sequelize_1.DataTypes.INTEGER,
18
+ autoIncrement: true,
19
+ primaryKey: true,
20
+ },
21
+ switchboardId: {
22
+ type: sequelize_1.DataTypes.STRING,
23
+ },
24
+ srcChainSlug: {
25
+ type: sequelize_1.DataTypes.BIGINT,
26
+ unique: "uniqueSwitchboardPointer",
27
+ },
28
+ dstChainSlug: {
29
+ type: sequelize_1.DataTypes.BIGINT,
30
+ unique: "uniqueSwitchboardPointer",
31
+ },
32
+ maxPacketLength: {
33
+ type: sequelize_1.DataTypes.INTEGER,
34
+ },
35
+ srcSwitchboard: {
36
+ type: sequelize_1.DataTypes.STRING,
37
+ unique: "uniqueSwitchboardPointer",
38
+ },
39
+ dstSwitchboard: {
40
+ type: sequelize_1.DataTypes.STRING,
41
+ },
42
+ srcCapacitor: {
43
+ type: sequelize_1.DataTypes.STRING,
44
+ },
45
+ srcDecapacitor: {
46
+ type: sequelize_1.DataTypes.STRING,
47
+ },
48
+ capacitorType: {
49
+ type: sequelize_1.DataTypes.ENUM,
50
+ values: [...Object.values(CapacitorType)],
51
+ defaultValue: CapacitorType.singleCapacitor,
52
+ },
53
+ isEnabled: {
54
+ type: sequelize_1.DataTypes.BOOLEAN,
55
+ defaultValue: false,
56
+ },
57
+ integrationType: {
58
+ type: sequelize_1.DataTypes.ENUM,
59
+ values: [...Object.values(dl_core_1.IntegrationTypes)],
60
+ defaultValue: dl_core_1.IntegrationTypes.unknown,
61
+ },
62
+ };
63
+ const addSwitchboardHooks = async () => {
64
+ Switchboard.beforeBulkCreate((switchboards, options) => {
65
+ for (let index = 0; index < switchboards.length; index++) {
66
+ switchboards[index] = processStrings(switchboards[index]);
67
+ switchboards[index] = createSwitchboardId(switchboards[index]);
68
+ }
69
+ });
70
+ Switchboard.beforeSave((switchboard, options) => {
71
+ switchboard = processStrings(switchboard);
72
+ });
73
+ };
74
+ exports.addSwitchboardHooks = addSwitchboardHooks;
75
+ function processStrings(switchboard) {
76
+ if (switchboard.srcSwitchboard)
77
+ switchboard.srcSwitchboard = (0, __1.toLowerCase)(switchboard.srcSwitchboard);
78
+ if (switchboard.dstSwitchboard)
79
+ switchboard.dstSwitchboard = (0, __1.toLowerCase)(switchboard.dstSwitchboard);
80
+ if (switchboard.srcCapacitor)
81
+ switchboard.srcCapacitor = (0, __1.toLowerCase)(switchboard.srcCapacitor);
82
+ if (switchboard.srcDecapacitor)
83
+ switchboard.srcDecapacitor = (0, __1.toLowerCase)(switchboard.srcDecapacitor);
84
+ return switchboard;
85
+ }
86
+ function createSwitchboardId(switchboard) {
87
+ if (switchboard.srcSwitchboard &&
88
+ switchboard.srcChainSlug &&
89
+ switchboard.dstChainSlug)
90
+ switchboard.switchboardId = `${switchboard.srcChainSlug}-${switchboard.dstChainSlug}-${switchboard.srcSwitchboard.toLowerCase()}`;
91
+ return switchboard;
92
+ }
File without changes