From dec4b5917053174203f184449f6fce71d9c3d74a Mon Sep 17 00:00:00 2001 From: "g. nicholas d'andrea" Date: Sun, 4 Jun 2023 16:03:53 -0400 Subject: [PATCH] Add warning for UDVTS when range doesn't support --- packages/abi-to-sol/src/solidity.ts | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/abi-to-sol/src/solidity.ts b/packages/abi-to-sol/src/solidity.ts index 3095f84..0ebd7cf 100644 --- a/packages/abi-to-sol/src/solidity.ts +++ b/packages/abi-to-sol/src/solidity.ts @@ -463,18 +463,23 @@ class SolidityGenerator implements Visitor { kind: Kind, context: Pick = {} ): string { - if ( - this.versionsFeatures["user-defined-value-types"].supported() && - Kind.isUserDefinedValueType(kind) - ) { - if ( + if (Kind.isUserDefinedValueType(kind)) { + const result = ( kind.identifier.container && kind.identifier.container.name !== context.interfaceName - ) { - return `${kind.identifier.container.name}.${kind.identifier.name}`; + ) + ? `${kind.identifier.container.name}.${kind.identifier.name}` + : kind.identifier.name; + + if (!this.versionsFeatures["user-defined-value-types"].supported()) { + return [ + `/* warning: missing UDVT support in source Solidity version; `, + `parameter is \`${result}\`. */ `, + kind.type + ].join(""); } - return kind.identifier.name + return result; } if (Kind.isElementary(kind)) {