tact-lang / tact

Tact compiler main repository
https://tact-lang.org
MIT License
275 stars 56 forks source link

Missing compiler error on incorrect `Address` value #354

Closed byakuren-hijiri closed 1 month ago

byakuren-hijiri commented 1 month ago
import "@stdlib/deploy";

contract SampleTactContract with Deployable {
    init() {
    }
    get fun test_address(): Address {
        let a1: Address = address("FQCD39VS5jcptHL8vMjEXrzGaRcCVYto7HUn4bpAOg8xqB2N");
        return a1;
    }
}

Got:

💼 Compiling project sample...
   > SampleTactContract: tact compiler
Tact compilation failed
Error: Invalid checksum: FQCD39VS5jcptHL8vMjEXrzGaRcCVYto7HUn4bpAOg8xqB2N
    at parseFriendlyAddress (node_modules/@ton/core/dist/address/Address.js:34:15)
    at Address.parseFriendly (node_modules/@ton/core/dist/address/Address.js:127:21)
    at Address.parse (node_modules/@ton/core/dist/address/Address.js:102:25)
    at Object.generate (dist/abi/global.js:95:48)
    at writeExpression (dist/generator/writers/writeExpression.js:481:57)
    at writeCastedExpression (dist/generator/writers/writeFunction.js:19:77)
    at writeStatement (dist/generator/writers/writeFunction.js:85:99)
    at dist/generator/writers/writeFunction.js:410:17
    at WriterContext.body (dist/generator/Writer.js:186:9)
    at dist/generator/writers/writeFunction.js:398:13
💥 Compilation failed. Skipping packaging

Expected: a readable compiler error.