Skip to content

Commit

Permalink
Merge pull request #87 from osmosis-labs/fix-build
Browse files Browse the repository at this point in the history
upgrade telescope and Fix build
  • Loading branch information
Zetazzz authored Mar 7, 2024
2 parents de47ccf + 3b9266f commit 960d5c5
Show file tree
Hide file tree
Showing 91 changed files with 221 additions and 218 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
**/node_modules
coverage
packages/**/build
packages/**/main
packages/**/main
.vscode
10 changes: 6 additions & 4 deletions packages/osmo-query/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"author": "Dan Lynch <[email protected]>",
"homepage": "https://github.com/osmosis-labs/osmojs/tree/master/packages/osmojs#readme",
"license": "SEE LICENSE IN LICENSE",
"main": "dist/index.js",
"main": "dist/cjs/index.js",
"module": "dist/index.js",
"typings": "dist/index.d.ts",
"directories": {
"lib": "src",
Expand All @@ -16,10 +17,11 @@
"!CHANGELOG.md"
],
"scripts": {
"build:cjs": "yarn tsc -p tsconfig.json --outDir dist --module commonjs || true",
"build:cjs": "yarn tsc -p tsconfig.json --outDir dist/cjs --module commonjs --declaration false || true",
"build:mjs": "yarn tsc -p tsconfig.json --outDir dist --module es2022 || true",
"clean:dist": "rimraf dist",
"clean": "npm run clean:dist",
"build": "npm run clean && npm run build:cjs",
"build": "npm run clean && npm run build:mjs && npm run build:cjs",
"codegen": "cross-env NODE_ENV=development babel-node scripts/codegen.js",
"prepare": "npm run build",
"lint": "eslint .",
Expand Down Expand Up @@ -71,7 +73,7 @@
"@confio/relayer": "0.11.2",
"@cosmjs/cosmwasm-stargate": "0.32.2",
"@cosmjs/crypto": "0.32.2",
"@cosmology/telescope": "1.4.6",
"@cosmology/telescope": "1.4.12",
"@protobufs/confio": "^0.0.6",
"@protobufs/cosmos": "^0.1.0",
"@protobufs/cosmos_proto": "^0.0.10",
Expand Down
2 changes: 1 addition & 1 deletion packages/osmo-query/src/codegen/binary.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* This file and any referenced files were automatically generated by @cosmology/[email protected].6
* This file and any referenced files were automatically generated by @cosmology/[email protected].12
* DO NOT MODIFY BY HAND. Instead, download the latest proto files for your chain
* and run the transpile command or yarn proto command to regenerate this bundle.
*/
Expand Down
12 changes: 6 additions & 6 deletions packages/osmo-query/src/codegen/confio/proofs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1128,10 +1128,10 @@ export const LeafOp = {
},
toAmino(message: LeafOp): LeafOpAmino {
const obj: any = {};
obj.hash = hashOpToJSON(message.hash);
obj.prehash_key = hashOpToJSON(message.prehashKey);
obj.prehash_value = hashOpToJSON(message.prehashValue);
obj.length = lengthOpToJSON(message.length);
obj.hash = message.hash;
obj.prehash_key = message.prehashKey;
obj.prehash_value = message.prehashValue;
obj.length = message.length;
obj.prefix = message.prefix ? base64FromBytes(message.prefix) : undefined;
return obj;
},
Expand Down Expand Up @@ -1217,7 +1217,7 @@ export const InnerOp = {
},
toAmino(message: InnerOp): InnerOpAmino {
const obj: any = {};
obj.hash = hashOpToJSON(message.hash);
obj.hash = message.hash;
obj.prefix = message.prefix ? base64FromBytes(message.prefix) : undefined;
obj.suffix = message.suffix ? base64FromBytes(message.suffix) : undefined;
return obj;
Expand Down Expand Up @@ -1452,7 +1452,7 @@ export const InnerSpec = {
obj.min_prefix_length = message.minPrefixLength;
obj.max_prefix_length = message.maxPrefixLength;
obj.empty_child = message.emptyChild ? base64FromBytes(message.emptyChild) : undefined;
obj.hash = hashOpToJSON(message.hash);
obj.hash = message.hash;
return obj;
},
fromAminoMsg(object: InnerSpecAminoMsg): InnerSpec {
Expand Down
4 changes: 2 additions & 2 deletions packages/osmo-query/src/codegen/cosmos/auth/v1beta1/query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -708,7 +708,7 @@ export const QueryAccountsResponse = {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.accounts.push((Any(reader) as Any));
message.accounts.push((Any.decode(reader, reader.uint32()) as Any));
break;
case 2:
message.pagination = PageResponse.decode(reader, reader.uint32());
Expand Down Expand Up @@ -1106,7 +1106,7 @@ export const QueryModuleAccountsResponse = {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.accounts.push((Any(reader) as Any));
message.accounts.push((Any.decode(reader, reader.uint32()) as Any));
break;
default:
reader.skipType(tag & 7);
Expand Down
2 changes: 1 addition & 1 deletion packages/osmo-query/src/codegen/cosmos/authz/v1beta1/tx.ts
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ export const MsgExec = {
message.grantee = reader.string();
break;
case 2:
message.msgs.push((Any(reader) as Any));
message.msgs.push((Any.decode(reader, reader.uint32()) as Any));
break;
default:
reader.skipType(tag & 7);
Expand Down
6 changes: 3 additions & 3 deletions packages/osmo-query/src/codegen/cosmos/gov/v1beta1/gov.ts
Original file line number Diff line number Diff line change
Expand Up @@ -595,7 +595,7 @@ export const WeightedVoteOption = {
},
toAmino(message: WeightedVoteOption): WeightedVoteOptionAmino {
const obj: any = {};
obj.option = voteOptionToJSON(message.option);
obj.option = message.option;
obj.weight = message.weight;
return obj;
},
Expand Down Expand Up @@ -930,7 +930,7 @@ export const Proposal = {
const obj: any = {};
obj.proposal_id = message.proposalId ? message.proposalId.toString() : undefined;
obj.content = message.content ? Cosmos_govv1beta1Content_ToAmino((message.content as Any)) : undefined;
obj.status = proposalStatusToJSON(message.status);
obj.status = message.status;
obj.final_tally_result = message.finalTallyResult ? TallyResult.toAmino(message.finalTallyResult) : TallyResult.fromPartial({});
obj.submit_time = message.submitTime ? Timestamp.toAmino(toTimestamp(message.submitTime)) : new Date();
obj.deposit_end_time = message.depositEndTime ? Timestamp.toAmino(toTimestamp(message.depositEndTime)) : new Date();
Expand Down Expand Up @@ -1147,7 +1147,7 @@ export const Vote = {
const obj: any = {};
obj.proposal_id = message.proposalId ? message.proposalId.toString() : "0";
obj.voter = message.voter;
obj.option = voteOptionToJSON(message.option);
obj.option = message.option;
if (message.options) {
obj.options = message.options.map(e => e ? WeightedVoteOption.toAmino(e) : undefined);
} else {
Expand Down
4 changes: 2 additions & 2 deletions packages/osmo-query/src/codegen/cosmos/gov/v1beta1/query.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ProposalStatus, Proposal, ProposalAmino, ProposalSDKType, Vote, VoteAmino, VoteSDKType, VotingParams, VotingParamsAmino, VotingParamsSDKType, DepositParams, DepositParamsAmino, DepositParamsSDKType, TallyParams, TallyParamsAmino, TallyParamsSDKType, Deposit, DepositAmino, DepositSDKType, TallyResult, TallyResultAmino, TallyResultSDKType, proposalStatusFromJSON, proposalStatusToJSON } from "./gov";
import { ProposalStatus, Proposal, ProposalAmino, ProposalSDKType, Vote, VoteAmino, VoteSDKType, VotingParams, VotingParamsAmino, VotingParamsSDKType, DepositParams, DepositParamsAmino, DepositParamsSDKType, TallyParams, TallyParamsAmino, TallyParamsSDKType, Deposit, DepositAmino, DepositSDKType, TallyResult, TallyResultAmino, TallyResultSDKType, proposalStatusFromJSON } from "./gov";
import { PageRequest, PageRequestAmino, PageRequestSDKType, PageResponse, PageResponseAmino, PageResponseSDKType } from "../../base/query/v1beta1/pagination";
import { BinaryReader, BinaryWriter } from "../../../binary";
/** QueryProposalRequest is the request type for the Query/Proposal RPC method. */
Expand Down Expand Up @@ -641,7 +641,7 @@ export const QueryProposalsRequest = {
},
toAmino(message: QueryProposalsRequest): QueryProposalsRequestAmino {
const obj: any = {};
obj.proposal_status = proposalStatusToJSON(message.proposalStatus);
obj.proposal_status = message.proposalStatus;
obj.voter = message.voter;
obj.depositor = message.depositor;
obj.pagination = message.pagination ? PageRequest.toAmino(message.pagination) : undefined;
Expand Down
4 changes: 2 additions & 2 deletions packages/osmo-query/src/codegen/cosmos/gov/v1beta1/tx.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Any, AnyProtoMsg, AnyAmino, AnySDKType } from "../../../google/protobuf/any";
import { Coin, CoinAmino, CoinSDKType } from "../../base/v1beta1/coin";
import { VoteOption, WeightedVoteOption, WeightedVoteOptionAmino, WeightedVoteOptionSDKType, TextProposal, TextProposalProtoMsg, TextProposalSDKType, voteOptionFromJSON, voteOptionToJSON } from "./gov";
import { VoteOption, WeightedVoteOption, WeightedVoteOptionAmino, WeightedVoteOptionSDKType, TextProposal, TextProposalProtoMsg, TextProposalSDKType, voteOptionFromJSON } from "./gov";
import { CommunityPoolSpendProposal, CommunityPoolSpendProposalProtoMsg, CommunityPoolSpendProposalSDKType, CommunityPoolSpendProposalWithDeposit, CommunityPoolSpendProposalWithDepositProtoMsg, CommunityPoolSpendProposalWithDepositSDKType } from "../../distribution/v1beta1/distribution";
import { SoftwareUpgradeProposal, SoftwareUpgradeProposalProtoMsg, SoftwareUpgradeProposalSDKType, CancelSoftwareUpgradeProposal, CancelSoftwareUpgradeProposalProtoMsg, CancelSoftwareUpgradeProposalSDKType } from "../../upgrade/v1beta1/upgrade";
import { ClientUpdateProposal, ClientUpdateProposalProtoMsg, ClientUpdateProposalSDKType, UpgradeProposal, UpgradeProposalProtoMsg, UpgradeProposalSDKType } from "../../../ibc/core/client/v1/client";
Expand Down Expand Up @@ -471,7 +471,7 @@ export const MsgVote = {
const obj: any = {};
obj.proposal_id = message.proposalId ? message.proposalId.toString() : undefined;
obj.voter = message.voter;
obj.option = voteOptionToJSON(message.option);
obj.option = message.option;
return obj;
},
fromAminoMsg(object: MsgVoteAminoMsg): MsgVote {
Expand Down
12 changes: 6 additions & 6 deletions packages/osmo-query/src/codegen/cosmos/ics23/v1/proofs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1183,10 +1183,10 @@ export const LeafOp = {
},
toAmino(message: LeafOp): LeafOpAmino {
const obj: any = {};
obj.hash = hashOpToJSON(message.hash);
obj.prehash_key = hashOpToJSON(message.prehashKey);
obj.prehash_value = hashOpToJSON(message.prehashValue);
obj.length = lengthOpToJSON(message.length);
obj.hash = message.hash;
obj.prehash_key = message.prehashKey;
obj.prehash_value = message.prehashValue;
obj.length = message.length;
obj.prefix = message.prefix ? base64FromBytes(message.prefix) : undefined;
return obj;
},
Expand Down Expand Up @@ -1278,7 +1278,7 @@ export const InnerOp = {
},
toAmino(message: InnerOp): InnerOpAmino {
const obj: any = {};
obj.hash = hashOpToJSON(message.hash);
obj.hash = message.hash;
obj.prefix = message.prefix ? base64FromBytes(message.prefix) : undefined;
obj.suffix = message.suffix ? base64FromBytes(message.suffix) : undefined;
return obj;
Expand Down Expand Up @@ -1537,7 +1537,7 @@ export const InnerSpec = {
obj.min_prefix_length = message.minPrefixLength;
obj.max_prefix_length = message.maxPrefixLength;
obj.empty_child = message.emptyChild ? base64FromBytes(message.emptyChild) : undefined;
obj.hash = hashOpToJSON(message.hash);
obj.hash = message.hash;
return obj;
},
fromAminoMsg(object: InnerSpecAminoMsg): InnerSpec {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ export const StakeAuthorization = {
obj.max_tokens = message.maxTokens ? Coin.toAmino(message.maxTokens) : undefined;
obj.allow_list = message.allowList ? StakeAuthorization_Validators.toAmino(message.allowList) : undefined;
obj.deny_list = message.denyList ? StakeAuthorization_Validators.toAmino(message.denyList) : undefined;
obj.authorization_type = authorizationTypeToJSON(message.authorizationType);
obj.authorization_type = message.authorizationType;
return obj;
},
fromAminoMsg(object: StakeAuthorizationAminoMsg): StakeAuthorization {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1499,7 +1499,7 @@ export const Validator = {
obj.operator_address = message.operatorAddress;
obj.consensus_pubkey = message.consensusPubkey ? decodePubkey(message.consensusPubkey) : undefined;
obj.jailed = message.jailed;
obj.status = bondStatusToJSON(message.status);
obj.status = message.status;
obj.tokens = message.tokens;
obj.delegator_shares = message.delegatorShares;
obj.description = message.description ? Description.toAmino(message.description) : Description.fromPartial({});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -561,7 +561,7 @@ export const SignatureDescriptor_Data_Single = {
},
toAmino(message: SignatureDescriptor_Data_Single): SignatureDescriptor_Data_SingleAmino {
const obj: any = {};
obj.mode = signModeToJSON(message.mode);
obj.mode = message.mode;
obj.signature = message.signature ? base64FromBytes(message.signature) : undefined;
return obj;
},
Expand Down
4 changes: 2 additions & 2 deletions packages/osmo-query/src/codegen/cosmos/tx/v1beta1/service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -903,7 +903,7 @@ export const GetTxsEventRequest = {
obj.events = [];
}
obj.pagination = message.pagination ? PageRequest.toAmino(message.pagination) : undefined;
obj.order_by = orderByToJSON(message.orderBy);
obj.order_by = message.orderBy;
obj.page = message.page ? message.page.toString() : undefined;
obj.limit = message.limit ? message.limit.toString() : undefined;
return obj;
Expand Down Expand Up @@ -1095,7 +1095,7 @@ export const BroadcastTxRequest = {
toAmino(message: BroadcastTxRequest): BroadcastTxRequestAmino {
const obj: any = {};
obj.tx_bytes = message.txBytes ? base64FromBytes(message.txBytes) : undefined;
obj.mode = broadcastModeToJSON(message.mode);
obj.mode = message.mode;
return obj;
},
fromAminoMsg(object: BroadcastTxRequestAminoMsg): BroadcastTxRequest {
Expand Down
6 changes: 3 additions & 3 deletions packages/osmo-query/src/codegen/cosmos/tx/v1beta1/tx.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Any, AnyAmino, AnySDKType } from "../../../google/protobuf/any";
import { SignMode, signModeFromJSON, signModeToJSON } from "../signing/v1beta1/signing";
import { SignMode, signModeFromJSON } from "../signing/v1beta1/signing";
import { CompactBitArray, CompactBitArrayAmino, CompactBitArraySDKType } from "../../crypto/multisig/v1beta1/multisig";
import { Coin, CoinAmino, CoinSDKType } from "../../base/v1beta1/coin";
import { BinaryReader, BinaryWriter } from "../../../binary";
Expand Down Expand Up @@ -1631,7 +1631,7 @@ export const ModeInfo_Single = {
},
toAmino(message: ModeInfo_Single): ModeInfo_SingleAmino {
const obj: any = {};
obj.mode = signModeToJSON(message.mode);
obj.mode = message.mode;
return obj;
},
fromAminoMsg(object: ModeInfo_SingleAminoMsg): ModeInfo_Single {
Expand Down Expand Up @@ -2008,7 +2008,7 @@ export const AuxSignerData = {
const obj: any = {};
obj.address = message.address;
obj.sign_doc = message.signDoc ? SignDocDirectAux.toAmino(message.signDoc) : undefined;
obj.mode = signModeToJSON(message.mode);
obj.mode = message.mode;
obj.sig = message.sig ? base64FromBytes(message.sig) : undefined;
return obj;
},
Expand Down
2 changes: 1 addition & 1 deletion packages/osmo-query/src/codegen/cosmos_proto/cosmos.ts
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ export const ScalarDescriptor = {
obj.name = message.name;
obj.description = message.description;
if (message.fieldType) {
obj.field_type = message.fieldType.map(e => scalarTypeToJSON(e));
obj.field_type = message.fieldType.map(e => e);
} else {
obj.field_type = [];
}
Expand Down
8 changes: 4 additions & 4 deletions packages/osmo-query/src/codegen/cosmwasm/wasm/v1/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -407,7 +407,7 @@ export const AccessTypeParam = {
},
toAmino(message: AccessTypeParam): AccessTypeParamAmino {
const obj: any = {};
obj.value = accessTypeToJSON(message.value);
obj.value = message.value;
return obj;
},
fromAminoMsg(object: AccessTypeParamAminoMsg): AccessTypeParam {
Expand Down Expand Up @@ -485,7 +485,7 @@ export const AccessConfig = {
},
toAmino(message: AccessConfig): AccessConfigAmino {
const obj: any = {};
obj.permission = accessTypeToJSON(message.permission);
obj.permission = message.permission;
if (message.addresses) {
obj.addresses = message.addresses.map(e => e);
} else {
Expand Down Expand Up @@ -571,7 +571,7 @@ export const Params = {
toAmino(message: Params): ParamsAmino {
const obj: any = {};
obj.code_upload_access = message.codeUploadAccess ? AccessConfig.toAmino(message.codeUploadAccess) : AccessConfig.fromPartial({});
obj.instantiate_default_permission = accessTypeToJSON(message.instantiateDefaultPermission);
obj.instantiate_default_permission = message.instantiateDefaultPermission;
return obj;
},
fromAminoMsg(object: ParamsAminoMsg): Params {
Expand Down Expand Up @@ -907,7 +907,7 @@ export const ContractCodeHistoryEntry = {
},
toAmino(message: ContractCodeHistoryEntry): ContractCodeHistoryEntryAmino {
const obj: any = {};
obj.operation = contractCodeHistoryOperationTypeToJSON(message.operation);
obj.operation = message.operation;
obj.code_id = message.codeId ? message.codeId.toString() : undefined;
obj.updated = message.updated ? AbsoluteTxPosition.toAmino(message.updated) : undefined;
obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined;
Expand Down
2 changes: 1 addition & 1 deletion packages/osmo-query/src/codegen/extern.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* This file and any referenced files were automatically generated by @cosmology/[email protected].6
* This file and any referenced files were automatically generated by @cosmology/[email protected].12
* DO NOT MODIFY BY HAND. Instead, download the latest proto files for your chain
* and run the transpile command or yarn proto command to regenerate this bundle.
*/
Expand Down
4 changes: 2 additions & 2 deletions packages/osmo-query/src/codegen/google/protobuf/any.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ import { BinaryReader, BinaryWriter } from "../../binary";
* }
*/
export interface Any {
$typeUrl?: "/google.protobuf.Any";
$typeUrl?: "/google.protobuf.Any" | string;
/**
* A URL/resource name that uniquely identifies the type of the serialized
* protocol buffer message. This string must contain at least
Expand Down Expand Up @@ -320,7 +320,7 @@ export interface AnyAminoMsg {
* }
*/
export interface AnySDKType {
$typeUrl?: "/google.protobuf.Any";
$typeUrl?: "/google.protobuf.Any" | string;
type_url: string;
value: Uint8Array;
}
Expand Down
12 changes: 6 additions & 6 deletions packages/osmo-query/src/codegen/google/protobuf/descriptor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3047,8 +3047,8 @@ export const FieldDescriptorProto = {
const obj: any = {};
obj.name = message.name;
obj.number = message.number;
obj.label = fieldDescriptorProto_LabelToJSON(message.label);
obj.type = fieldDescriptorProto_TypeToJSON(message.type);
obj.label = message.label;
obj.type = message.type;
obj.type_name = message.typeName;
obj.extendee = message.extendee;
obj.default_value = message.defaultValue;
Expand Down Expand Up @@ -3906,7 +3906,7 @@ export const FileOptions = {
obj.java_multiple_files = message.javaMultipleFiles;
obj.java_generate_equals_and_hash = message.javaGenerateEqualsAndHash;
obj.java_string_check_utf8 = message.javaStringCheckUtf8;
obj.optimize_for = fileOptions_OptimizeModeToJSON(message.optimizeFor);
obj.optimize_for = message.optimizeFor;
obj.go_package = message.goPackage;
obj.cc_generic_services = message.ccGenericServices;
obj.java_generic_services = message.javaGenericServices;
Expand Down Expand Up @@ -4165,9 +4165,9 @@ export const FieldOptions = {
},
toAmino(message: FieldOptions): FieldOptionsAmino {
const obj: any = {};
obj.ctype = fieldOptions_CTypeToJSON(message.ctype);
obj.ctype = message.ctype;
obj.packed = message.packed;
obj.jstype = fieldOptions_JSTypeToJSON(message.jstype);
obj.jstype = message.jstype;
obj.lazy = message.lazy;
obj.deprecated = message.deprecated;
obj.weak = message.weak;
Expand Down Expand Up @@ -4567,7 +4567,7 @@ export const MethodOptions = {
toAmino(message: MethodOptions): MethodOptionsAmino {
const obj: any = {};
obj.deprecated = message.deprecated;
obj.idempotency_level = methodOptions_IdempotencyLevelToJSON(message.idempotencyLevel);
obj.idempotency_level = message.idempotencyLevel;
if (message.uninterpretedOption) {
obj.uninterpreted_option = message.uninterpretedOption.map(e => e ? UninterpretedOption.toAmino(e) : undefined);
} else {
Expand Down
2 changes: 1 addition & 1 deletion packages/osmo-query/src/codegen/helpers.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* This file and any referenced files were automatically generated by @cosmology/[email protected].6
* This file and any referenced files were automatically generated by @cosmology/[email protected].12
* DO NOT MODIFY BY HAND. Instead, download the latest proto files for your chain
* and run the transpile command or yarn proto command to regenerate this bundle.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ export const InterchainAccountPacketData = {
},
toAmino(message: InterchainAccountPacketData): InterchainAccountPacketDataAmino {
const obj: any = {};
obj.type = typeToJSON(message.type);
obj.type = message.type;
obj.data = message.data ? base64FromBytes(message.data) : undefined;
obj.memo = message.memo;
return obj;
Expand Down
Loading

0 comments on commit 960d5c5

Please sign in to comment.