Skip to content

Commit

Permalink
fix(cmd-api-server): build occasionally broken - protoc-gen-ts #1563
Browse files Browse the repository at this point in the history
Upgrading protoc-gen-ts from 0.4.0 to 0.6.0 instantly fixed the issue
while I had it in a reproduced state (e.g. my build was broken on main)

This is not necessarily evidence that the fix is legit, but it's most likely
a step in the right direction and there's also the possibility that this
is the actual fix. It would take too much time to properly debug if
it really is the fix, so I'll just give it the benefit of the doubt
for now and assume that it is.

Also had to upgrade the @types/google-protobuf package to a newer
version because it didn't have the deserializeBinary() method defined
on the custom made Map type that ships with the PB compiler and this
was causing the generated Typescript code to not compile.

Fixes #1563

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
  • Loading branch information
petermetz committed Nov 28, 2021
1 parent 6130bea commit c2ecba5
Show file tree
Hide file tree
Showing 20 changed files with 983 additions and 13 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"npm-run-all": "4.1.5",
"npm-watch": "0.11.0",
"prettier": "2.1.2",
"protoc-gen-ts": "0.4.0",
"protoc-gen-ts": "0.6.0",
"run-time-error": "1.4.0",
"secp256k1": "4.0.2",
"shebang-loader": "0.0.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/cactus-cmd-api-server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
"@types/express": "4.17.13",
"@types/express-http-proxy": "1.6.2",
"@types/express-jwt": "6.0.2",
"@types/google-protobuf": "3.15.3",
"@types/google-protobuf": "3.15.5",
"@types/jsonwebtoken": "8.5.4",
"@types/multer": "1.4.7",
"@types/node-forge": "0.10.2",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ export namespace google.protobuf {
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], []);
if (!Array.isArray(data) && typeof data == "object") { }
}
static fromObject(data: {}) {
const message = new Empty({});
return message;
}
toObject() {
const data: {} = {};
return data;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,23 @@ export namespace org.hyperledger.cactus.cmd_api_server {
set memoryUsage(value: dependency_1.org.hyperledger.cactus.cmd_api_server.MemoryUsagePB) {
pb_1.Message.setWrapperField(this, 335792418, value);
}
static fromObject(data: {
success?: boolean;
createdAt?: string;
memoryUsage?: ReturnType<typeof dependency_1.org.hyperledger.cactus.cmd_api_server.MemoryUsagePB.prototype.toObject>;
}) {
const message = new HealthCheckResponsePB({});
if (data.success != null) {
message.success = data.success;
}
if (data.createdAt != null) {
message.createdAt = data.createdAt;
}
if (data.memoryUsage != null) {
message.memoryUsage = dependency_1.org.hyperledger.cactus.cmd_api_server.MemoryUsagePB.fromObject(data.memoryUsage);
}
return message;
}
toObject() {
const data: {
success?: boolean;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,31 @@ export namespace org.hyperledger.cactus.cmd_api_server {
set arrayBuffers(value: number) {
pb_1.Message.setField(this, 116952168, value);
}
static fromObject(data: {
rss?: number;
heapTotal?: number;
heapUsed?: number;
external?: number;
arrayBuffers?: number;
}) {
const message = new MemoryUsagePB({});
if (data.rss != null) {
message.rss = data.rss;
}
if (data.heapTotal != null) {
message.heapTotal = data.heapTotal;
}
if (data.heapUsed != null) {
message.heapUsed = data.heapUsed;
}
if (data.external != null) {
message.external = data.external;
}
if (data.arrayBuffers != null) {
message.arrayBuffers = data.arrayBuffers;
}
return message;
}
toObject() {
const data: {
rss?: number;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,15 @@ export namespace org.hyperledger.cactus.cmd_api_server {
set data(value: string) {
pb_1.Message.setField(this, 1, value);
}
static fromObject(data: {
data?: string;
}) {
const message = new GetPrometheusMetricsV1Response({});
if (data.data != null) {
message.data = data.data;
}
return message;
}
toObject() {
const data: {
data?: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,19 @@ export namespace common.access_control {
set rules(value: Rule[]) {
pb_1.Message.setRepeatedWrapperField(this, 2, value);
}
static fromObject(data: {
securityDomain?: string;
rules?: ReturnType<typeof Rule.prototype.toObject>[];
}) {
const message = new AccessControlPolicy({});
if (data.securityDomain != null) {
message.securityDomain = data.securityDomain;
}
if (data.rules != null) {
message.rules = data.rules.map(item => Rule.fromObject(item));
}
return message;
}
toObject() {
const data: {
securityDomain?: string;
Expand Down Expand Up @@ -131,6 +144,27 @@ export namespace common.access_control {
set read(value: boolean) {
pb_1.Message.setField(this, 4, value);
}
static fromObject(data: {
principal?: string;
principalType?: string;
resource?: string;
read?: boolean;
}) {
const message = new Rule({});
if (data.principal != null) {
message.principal = data.principal;
}
if (data.principalType != null) {
message.principalType = data.principalType;
}
if (data.resource != null) {
message.resource = data.resource;
}
if (data.read != null) {
message.read = data.read;
}
return message;
}
toObject() {
const data: {
principal?: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,23 @@ export namespace common.ack {
set message(value: string) {
pb_1.Message.setField(this, 4, value);
}
static fromObject(data: {
status?: Ack.STATUS;
request_id?: string;
message?: string;
}) {
const message = new Ack({});
if (data.status != null) {
message.status = data.status;
}
if (data.request_id != null) {
message.request_id = data.request_id;
}
if (data.message != null) {
message.message = data.message;
}
return message;
}
toObject() {
const data: {
status?: Ack.STATUS;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,19 @@ export namespace common.asset_locks {
set lockInfo(value: Uint8Array) {
pb_1.Message.setField(this, 2, value);
}
static fromObject(data: {
lockMechanism?: LockMechanism;
lockInfo?: Uint8Array;
}) {
const message = new AssetLock({});
if (data.lockMechanism != null) {
message.lockMechanism = data.lockMechanism;
}
if (data.lockInfo != null) {
message.lockInfo = data.lockInfo;
}
return message;
}
toObject() {
const data: {
lockMechanism?: LockMechanism;
Expand Down Expand Up @@ -114,6 +127,19 @@ export namespace common.asset_locks {
set claimInfo(value: Uint8Array) {
pb_1.Message.setField(this, 2, value);
}
static fromObject(data: {
lockMechanism?: LockMechanism;
claimInfo?: Uint8Array;
}) {
const message = new AssetClaim({});
if (data.lockMechanism != null) {
message.lockMechanism = data.lockMechanism;
}
if (data.claimInfo != null) {
message.claimInfo = data.claimInfo;
}
return message;
}
toObject() {
const data: {
lockMechanism?: LockMechanism;
Expand Down Expand Up @@ -200,6 +226,23 @@ export namespace common.asset_locks {
set timeSpec(value: AssetLockHTLC.TimeSpec) {
pb_1.Message.setField(this, 3, value);
}
static fromObject(data: {
hashBase64?: Uint8Array;
expiryTimeSecs?: number;
timeSpec?: AssetLockHTLC.TimeSpec;
}) {
const message = new AssetLockHTLC({});
if (data.hashBase64 != null) {
message.hashBase64 = data.hashBase64;
}
if (data.expiryTimeSecs != null) {
message.expiryTimeSecs = data.expiryTimeSecs;
}
if (data.timeSpec != null) {
message.timeSpec = data.timeSpec;
}
return message;
}
toObject() {
const data: {
hashBase64?: Uint8Array;
Expand Down Expand Up @@ -281,6 +324,15 @@ export namespace common.asset_locks {
set hashPreimageBase64(value: Uint8Array) {
pb_1.Message.setField(this, 1, value);
}
static fromObject(data: {
hashPreimageBase64?: Uint8Array;
}) {
const message = new AssetClaimHTLC({});
if (data.hashPreimageBase64 != null) {
message.hashPreimageBase64 = data.hashPreimageBase64;
}
return message;
}
toObject() {
const data: {
hashPreimageBase64?: Uint8Array;
Expand Down Expand Up @@ -368,6 +420,27 @@ export namespace common.asset_locks {
set recipient(value: string) {
pb_1.Message.setField(this, 4, value);
}
static fromObject(data: {
type?: string;
id?: string;
locker?: string;
recipient?: string;
}) {
const message = new AssetExchangeAgreement({});
if (data.type != null) {
message.type = data.type;
}
if (data.id != null) {
message.id = data.id;
}
if (data.locker != null) {
message.locker = data.locker;
}
if (data.recipient != null) {
message.recipient = data.recipient;
}
return message;
}
toObject() {
const data: {
type?: string;
Expand Down Expand Up @@ -482,6 +555,27 @@ export namespace common.asset_locks {
set recipient(value: string) {
pb_1.Message.setField(this, 4, value);
}
static fromObject(data: {
type?: string;
numUnits?: number;
locker?: string;
recipient?: string;
}) {
const message = new FungibleAssetExchangeAgreement({});
if (data.type != null) {
message.type = data.type;
}
if (data.numUnits != null) {
message.numUnits = data.numUnits;
}
if (data.locker != null) {
message.locker = data.locker;
}
if (data.recipient != null) {
message.recipient = data.recipient;
}
return message;
}
toObject() {
const data: {
type?: string;
Expand Down Expand Up @@ -596,6 +690,27 @@ export namespace common.asset_locks {
set claim(value: AssetClaimHTLC) {
pb_1.Message.setWrapperField(this, 4, value);
}
static fromObject(data: {
contractId?: string;
agreement?: ReturnType<typeof AssetExchangeAgreement.prototype.toObject>;
lock?: ReturnType<typeof AssetLockHTLC.prototype.toObject>;
claim?: ReturnType<typeof AssetClaimHTLC.prototype.toObject>;
}) {
const message = new AssetContractHTLC({});
if (data.contractId != null) {
message.contractId = data.contractId;
}
if (data.agreement != null) {
message.agreement = AssetExchangeAgreement.fromObject(data.agreement);
}
if (data.lock != null) {
message.lock = AssetLockHTLC.fromObject(data.lock);
}
if (data.claim != null) {
message.claim = AssetClaimHTLC.fromObject(data.claim);
}
return message;
}
toObject() {
const data: {
contractId?: string;
Expand Down Expand Up @@ -710,6 +825,27 @@ export namespace common.asset_locks {
set claim(value: AssetClaimHTLC) {
pb_1.Message.setWrapperField(this, 4, value);
}
static fromObject(data: {
contractId?: string;
agreement?: ReturnType<typeof FungibleAssetExchangeAgreement.prototype.toObject>;
lock?: ReturnType<typeof AssetLockHTLC.prototype.toObject>;
claim?: ReturnType<typeof AssetClaimHTLC.prototype.toObject>;
}) {
const message = new FungibleAssetContractHTLC({});
if (data.contractId != null) {
message.contractId = data.contractId;
}
if (data.agreement != null) {
message.agreement = FungibleAssetExchangeAgreement.fromObject(data.agreement);
}
if (data.lock != null) {
message.lock = AssetLockHTLC.fromObject(data.lock);
}
if (data.claim != null) {
message.claim = AssetClaimHTLC.fromObject(data.claim);
}
return message;
}
toObject() {
const data: {
contractId?: string;
Expand Down
Loading

0 comments on commit c2ecba5

Please sign in to comment.